【运筹学】匈牙利法 ( 匈牙利法步骤 | 第二步 : 试指派操作示例 )
文章目录
- 一、指派问题求解步骤
- 二、第二步 : 试指派操作示例
一、指派问题求解步骤
指派问题求解步骤 :
1 . 使行列出现 000 元素 : 指派问题系数矩阵 (cij)(c_{ij})(cij) 变换为 (bij)(b_{ij})(bij) 系数矩阵 , 在 (bij)(b_{ij})(bij) 矩阵中 每行 每列 都出现 000 元素 ;
每行都出现 000 元素 : (cij)(c_{ij})(cij) 系数矩阵中 , 每行都 减去该行最小元素 ;
每列都出现 000 元素 : 在上述变换的基础上 , 每列元素中 减去该列最小元素 ;
注意必须先变行 , 然后再变列 , 行列不能同时进行改变 ; 否则矩阵中会出现负数 , 该矩阵中 不能出现负数 ;
2 . 试指派 : 进行尝试指派 , 寻求最优解 ;
在 (bij)(b_{ij})(bij) 系数矩阵 中找到尽可能多的 独立 000 元素 , 如果能找到 nnn 个独立 000 元素 , 以这 nnn 个独立 000 元素对应解矩阵 (xij)(x_{ij})(xij) 中的元素为 111 , 其余元素为 000 , 这样就得到最优解 ;
二、第二步 : 试指派操作示例
在 【运筹学】匈牙利法 ( 匈牙利法步骤 | 第一步 : 使行列出现 0 元素示例 ) 博客示例基础上 , 已经得到了行列都有 000 元素的系数矩阵 :
(bij)=[4540010420433710](b_{ij}) = \begin{bmatrix} & 4 & 5 & 4 & 0 & \\\\ & 0 & 1 & 0 & 4 & \\\\ & 2 & 0 & 4 & 3 & \\\\ & 3 & 7 & 1 & 0 & \\ \end{bmatrix}(bij)=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡4023510740410430⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤
下面进行试指派操作 , 试指派就是找独立 000 元素 , 独立 000 元素就是位于不同行不同列的 000 元素 ;
第 111 行只有 111 个 000 , 选第 444 个 ; 每行每列只能选择 111 个 , 第 444 行第 444 列的 000 元素就不能再用了 ;
第 333 行只有 111 个 000 , 选第 222 个 ;
第 222 行有 222 个 000 , 都可以选择 , 这里选择第 111 个 ;
最终试指派结果 :
上面只找到了 333 个独立的 000 元素 , 应该找出 444 个独立 000 元素 ;
调整上述系数矩阵 (bij)(b_{ij})(bij) , 每行每列同时增加或减去一个数 , 且不能出现负数 ;
第 444 行都减去 111 , 得到如下矩阵 :
(bij)=[454001042043260−1](b_{ij}) = \begin{bmatrix} & 4 & 5 & 4 & 0 & \\\\ & 0 & 1 & 0 & 4 & \\\\ & 2 & 0 & 4 & 3 & \\\\ & 2 & 6 & 0 & -1 & \\ \end{bmatrix}(bij)=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡402251064040043−1⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤
第 444 行第 444 列出现了 −1-1−1 , 这里在将第 444 列都加上 111 , 得到如下矩阵 :
(bij)=[4541010520442600](b_{ij}) = \begin{bmatrix} & 4 & 5 & 4 & 1 & \\\\ & 0 & 1 & 0 & 5 & \\\\ & 2 & 0 & 4 & 4 & \\\\ & 2 & 6 & 0 & 0 & \\ \end{bmatrix}(bij)=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡4022510640401540⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤
第一行此时没有独立的 000 了 , 第一行再减去 111 , 得到如下矩阵 :
(bij)=[3430010520442600](b_{ij}) = \begin{bmatrix} & 3 & 4 & 3 & 0 & \\\\ & 0 & 1 & 0 & 5 & \\\\ & 2 & 0 & 4 & 4 & \\\\ & 2 & 6 & 0 & 0 & \\ \end{bmatrix}(bij)=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡3022410630400540⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤
再次进行试指派 , 找到了如下独立 000 元素 ;
在上述没有找到 444 个独立 000 元素后 , 由于在第 444 行没有找到 000 元素 , 开始从第 444 行进行调整 ,
调整时将非 000 的最小值转为 000 , 这样本行就多出一个 000 , 以及负数 , 负数有需要再对应列加上一个值 , 保持矩阵中所有的值都是非负的 ;
【运筹学】匈牙利法 ( 匈牙利法步骤 | 第二步 : 试指派操作示例 )相关推荐
- 【运筹学】匈牙利法 ( 匈牙利法示例 2 | 第一步 : 变换系数矩阵 | 第二步 : 试指派 | 行列打√ | 直线覆盖 | 第二轮试指派 )
文章目录 一.使用匈牙利法求解下面的指派问题 二.第一步 : 变换系数矩阵 ( 每行每列都出现 0 元素 ) 三.第二步 : 试指派 ( 找独立 0 元素 ) 四.第二步 : 试指派 ( 打 √ ) ...
- 【运筹学】匈牙利法 ( 匈牙利法步骤 | 试指派调整矩阵原理分析 | 打 √ | 直线覆盖 )
文章目录 一.指派问题求解步骤 二.打 √ 三.直线覆盖 一.指派问题求解步骤 指派问题求解步骤 : 1 . 使行列出现 000 元素 : 指派问题系数矩阵 (cij)(c_{ij})(cij) 变 ...
- 【运筹学】指派问题、匈牙利法总结 ( 指派问题 | 克尼格定理 | 匈牙利法 | 行列出现 0 元素 | 试指派 | 打 √ | 直线覆盖 ) ★★★
文章目录 一.克尼格定理 二.匈牙利法引入 三.指派问题求解步骤 四.匈牙利法示例 1 1.第一步 : 使行列出现 000 元素示例 2.第二步 : 试指派操作示例 ( 方法一 :克尼格定理 ) 3. ...
- 【运筹学】匈牙利法 ( 匈牙利法步骤 | 第一步 : 使行列出现 0 元素示例 )
文章目录 一.指派问题求解步骤 二.第一步 : 使行列出现 000 元素示例 一.指派问题求解步骤 指派问题求解步骤 : 1 . 使行列出现 000 元素 : 指派问题系数矩阵 (cij)(c_{ij ...
- SAP 操作,弹出报错 - 已根据规则拒绝服务器触发的操作,是否要查看上个通讯步骤中触发的操作列表 -
SAP 操作,弹出报错 - 已根据规则拒绝服务器触发的操作,是否要查看上个通讯步骤中触发的操作列表 - 收到用户报错说,他执行MIR7做预制发票的时候,SAP弹出如下框框: 登陆SAP,左键单击如下图 ...
- 用友nc操作手册_铁军人物汤轩宇, 入职两年,她用努力和汗水编制出单户试算操作手册...
她在财务部一个默默无闻的工作岗位辛勤工作,大家不了解她的工作内容,当然也未知个中的艰辛,但她的岗位对于公司来说非常重要,所以她不敢有丝毫的怠慢,无论工作有多么艰难都要加班加点完成,她就是汤轩宇,201 ...
- 编写一个脚本,对至少三个以上记事本窗口做相同操作,对任意一个窗口进行手动操作,其余窗口由脚本执行相同步骤的键鼠操作,记得是键盘操作+鼠标操作。
编写一个脚本,对至少三个以上记事本窗口做相同操作,对任意一个窗口进行手动操作,其余窗口由脚本执行相同步骤的键鼠操作,记得是键盘操作+鼠标操作. 按键等级认证5级 分享 答题思路: 对最上层记事本操作 ...
- 开直通车需要经历哪些步骤,具体怎么操作
直通车相信所有的淘宝卖家都是比较熟悉的一个引流工具.总的来说直通车是为搜索和首页流量服务的工具.利用直通车配合好店铺的整体运营推广计划,可以做到提升商品权重,轻松获取更多流量的目的. 前期:测试 中期 ...
- 【IOC 控制反转】Android 视图依赖注入 ( 视图依赖注入步骤 | 视图依赖注入代码示例 )
文章目录 总结 一.Android 视图依赖注入步骤 二.Android 布局依赖注入示例 1.创建依赖注入库 2.声明注解 3.Activity 基类 4.依赖注入工具类 5.客户端 Activit ...
最新文章
- 最小生成树、拓扑排序、单源最短路径
- 终于看到了希望——基于美女的VGA系统构架
- 在Linux Debian 8下部署基于PHP的Web项目。
- python os.walk如何还原所有路径名_python使用os.listdir和os.walk获得文件的路径
- PC软件开发技术之三:C#操作SQLite数据库
- lua-获取当前时间
- 【Unity 自学之路】2 - 素材编辑
- 第三方调试助手的与S7-1200 PLC的通信
- 风变编程python基础语法-第0关-千寻的名字
- python图形化编程 在线教程_使用Python Editor进行在线图形化编程
- 股票行情查询易语言代码
- U盘里的文件怎么会不见了
- 计算广告(3)----搜索广告召回匹配
- L1正则化与稀疏性、L1正则化不可导问题
- 张一鸣怎样跳出“增长的痛苦”?
- 流氓软件卸不干净?这6款超强软件卸载神器专治各种流氓软件!
- 树莓派+温度传感器DS18B20
- Java程序员发展道路
- 解决H5视频(video)音频(audio)不兼容IE8的问题
- 简单常用日语汇总(转)