博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
指派问题(匈牙利算法)
阅读量:5318 次
发布时间:2019-06-14

本文共 658 字,大约阅读时间需要 2 分钟。

问题描述:

在生活中经常遇到这样的问题,某单位需完成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_assignment cost =np.array([[4,1,3],[2,0,5],[3,2,2]])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())#数组求和   输出: [0 1 2] [1 0 2]  [1 2 2]  5

转载于:https://www.cnblogs.com/ylHe/p/9287384.html

你可能感兴趣的文章
关于计数排序、桶排序与基数排序的小结
查看>>
【USACO 5.4.2】Character Recognition
查看>>
redis配置日志输出
查看>>
彻底搞懂 JS 中 this 机制
查看>>
C# 泛型编程之泛型类、泛型方法、泛型约束
查看>>
Linux IO实时监控iostat命令详解(转载)
查看>>
jQuery Colorbox弹窗插件使用教程小结、属性设置详解以及colorbox关闭
查看>>
spring boot 2.0 源码分析(三)
查看>>
多态的概念和作用//转载
查看>>
在Intellij IDEA或者PhpStorm下用X-debug调试PHP
查看>>
线性基
查看>>
C#中如何创建xml文件 增、删、改、查 xml节点信息
查看>>
MYSQL(三)
查看>>
点的双联通+二分图的判定(poj2942)
查看>>
commons-logging的使用
查看>>
.Net Memory Profiler入门
查看>>
汉子转拼音
查看>>
python-day71--django多表操作
查看>>
Linux 常用命令(Linux)
查看>>
Sublime Text 2中如何输入中文
查看>>