数学建模python matlab_数学建模python matlab 编程(指派问题)

本文介绍了如何使用Python的`scipy.optimize.linear_sum_assignment`和MATLAB解决指派问题。通过示例展示了如何构建成本矩阵,并用不同编程语言找出最优解,以达到最低费用的课程分配。还提供了多种MATLAB代码实现方式,包括全排列求解和线性规划方法。
摘要由CSDN通过智能技术生成

指派授课问题

现有A、B、C、D四门课程,需由甲、乙、丙、丁四人讲授,并且规定:

每人只讲且必须讲1门课;每门课必须且只需1人讲。

四人分别讲每门课的费用示于表中:

费用

A

B

C

D

2

10

9

7

15

4

14

8

13

14

16

11

4

15

13

9

带包python代码:

from scipy.optimize importlinear_sum_assignmentimportnumpy as np#cost =np.array([[4,1,3],[2,0,5],[3,2,2]])

cost =np.array([

[2,10,9,7],

[15,4,14,8],

[13,14,16,11],

[4,15,13,9]])

row_ind,col_ind=linear_sum_assignment(cost)print(row_ind)#开销矩阵对应的行索引

print(col_ind)#对应行索引的最优指派的列索引

print(cost[row_ind,col_ind])#提取每个行索引的最优指派列索引所在的元素,形成数组

print(cost[row_ind,col_ind].sum())#数组求和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值