python任务分配问题_【python3】任务分配问题

该博客介绍了一个使用Python3解决N个人分配N项任务的优化问题,目标是使支付的报酬总额最小。通过矩阵运算和粒子群优化算法(PSO)实现,提供程序源码并展示了运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验四:矩阵算法

一、实验目的

问题描述:N个人分配N项任务,一个人只能分配一项任务,一项任务只能分配给一个人,将一项任务分配给一个人是需要支付报酬,如何分配任务,保证支付的报酬总数最小。假设N=5,每个人工作和报酬之间的关系如下表所示,求解该问题的最优解

表1.1 任务分配

work1work2work3work4work5

person19075 75 80 60

person23585 556548

person31259590105100

person4451109510598

person57664578890

二、实验要求

(1)做好实验预习

(2)独立完成实验

(3)撰写实验报告

三、实验题目

本实验由于要求较少,只是寻求最优解,因此采用简单的方法。

四、实验环境

本文的编程环境为Ubantu16.04。

本文的编程语言为Python3.7。

五、实验分析与设计思路

本实验采用的是矩阵的方式进行计算,但是其中包含了列表的计算方法,矩阵的相乘。

主要采用的程序:

np.array([])生成一个想要的数组 包括列向量,和行向量。

b=numpy.array([b]).T 行向量转成列向量。

a.dot(b) 向量的乘法。

a*b只是对应相乘不是矩阵的乘法。

a[[1,2],:]=a[[2,1],:] 矩阵的一二两行对调。

左乘单位行向量再乘以已知矩阵再乘以变换矩阵再乘以单位列向量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值