变形的指派问题
时间:2019-03-19
本文章向大家介绍变形的指派问题,主要包括变形的指派问题使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
工作多于人数的指派问题
设人数m,工作数n,且n-m>0。
1. n/m=k为整数时,需要每人完成k项工作任务。
解:甲和乙每人分配2项工作,故一个人要当两个人用。在分配矩阵中可以把这两个人每行数据复制成两行,再利用经典指派问题算法进行计算。
为什么要利用经典算法?——理由是经典算法已经有成熟高效的计算方法和数学软件。
过程如下:
1. 每行减去该行最小数。
2. 每列减去该列最小数。
3. 试分配。
计算的最终结果即:
甲分配到工作A和B
乙分配到工作E
丙分配到工作D和C。
故最小成本(目标)为:Z=7+5+9+4+6=31
2. n/m=k不为整数时,需要每人完成[k]项或[k]+1工作任务。
由于每个人最多可能承担[k]+1项工作任务,分配矩阵每行复制成[k+1]行。
1. 构造初始矩阵。
2. 每个人限制最多做一项虚拟工作。
3. 每行减去最小数。
4. 每列减去最小数。
5. 试分配。
6. 匈牙利法。
最小未覆盖数为4
7. 调整费用矩阵,再次试分配。
最后,
甲分配到工作B
乙分配到工作A
丙分配到工作C和D
最小总费用为:Z=5+9+(4+6)=24
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 解决mysql导入新数据库大小写问题(Table 'zup.Domain_System' doesn't exist)
- 蓝桥杯vip试题 报时助手
- 蓝桥杯-基础练习 查找整数
- 蓝桥杯-基础练习 数列排序
- 无线网络-何为ISM频段?
- 蓝桥杯vip测试题系统试题-算法提高 矩阵转置
- 蓝桥杯vip测试题系统-数组求和(解题思路以及解题代码,手画思路图虽然丑丑的)
- 蓝桥杯vip测试题-找零钱(解题思路以及解题代码)
- 剑指Office-二进制中1的个数
- 剑指Office-旋转数组的最小数
- Mysql调优你不知道这几点,就太可惜了
- Mysql快速导入数百万条数据,亲测有效
- [面试题06]从未到头打印链表(LeetCode-剑指Offer)
- SpringBoot集成RabbitMQ-三种模式的实现
- Centos7-Docker卸载旧的更新到新版本