山西建站公司,phicomm怎么做网站,网站的转化率,wordpress主题sky问题描述#xff1a; 在生活中经常遇到这样的问题#xff0c;某单位需完成n项任务#xff0c;恰好有n个人可承担这些任务。由于每人的专长不同#xff0c;各人完成任务不同(或所费时间)#xff0c;效率也不同。于是产生应指派哪个人去完成哪项任务#xff0c;使完成n项任… 问题描述 在生活中经常遇到这样的问题某单位需完成n项任务恰好有n个人可承担这些任务。由于每人的专长不同各人完成任务不同(或所费时间)效率也不同。于是产生应指派哪个人去完成哪项任务使完成n项任务的总效率最高(或所需总时间最小)。这类问题称为指派问题或分派问题。 指派问题也是0-1规划线性规划用到的是官网scipy.optimize库函数。 示例 cost matrix [ [1 4 3], [2 0 5], [3 2 2]] python 解决方案中用到的是scipy.optimize.linear_sum_assignment(cost_matrix) 代码实现 from scipy.optimize import linear_sum_assignmentcost np.array([[4,1,3],[2,0,5],[3,2,2]])
row_ind,col_indlinear_sum_assignment(cost)
print(row_ind)#开销矩阵对应的行索引
print(col_ind)#对应行索引的最优指派的列索引
print(cost[row_ind,col_ind])#提取每个行索引的最优指派列索引所在的元素形成数组
print(cost[row_ind,col_ind].sum())#数组求和 输出[0 1 2][1 0 2] [1 2 2] 5 转载于:https://www.cnblogs.com/ylHe/p/9287384.html