- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MATLABGUI最优指派问题综合计算平台的设计
基于MATLAB GUI最优指派问题综合计算平台设计
摘要:针对手工计算五类最优指派问题难的问题,设计和实现求解此类问题的便捷工具。本文介绍了标准形式指派问题数学模型的建立过程,并对求解此模型的匈牙利算法做了说明。通过分析五类最优指派问题的求解过程,并基于匈牙利算的理论,提出了此工具的总体设计方案,把此方案利用MATLAB强大的矩阵运算功能,及友好的人机交互界面GUI逐步加以实现,推出了最优指派问题的综合计算平台。把此平台用于求解最优指派问题,不仅得到了满意的结果,而且提高了解决此类问题的效率。
关键词 最优指派问题 匈牙利算法 MATLAB GUI
1.引言
现实生活中,匈牙利算法在炮兵火力单位分配、多车型车辆调度、二次分配等最优指派问题中有许多重要的应用。最优指派问题包括标准和费标准形式,其中非标准形式又分为四类:最大化指派问题、人数和任务数不等的指派问题、一个人可以完成几项任务的指派问题、某项任务一定不能由某人来完成的指派问题。在用匈牙利算法求解最优指派问题时,根据不同的问题,要对其系数矩阵行进一系列不同的复杂变换。若用手工计算很繁琐、费时、效率低。因此,为了给用户提供求解此类问题的便捷工具,确保及时、正确地得到问题的最佳指派方案,具有着重要的意义。本文对求解五类最优指派问题的过程进行了分析比较,并基于匈牙利算法的理论,借助MATLAB软件,设计实现了最优指派问题的综合计算平台,并给出了平台使用的范围。在借助此平台求解最优指派问题问题时,即使用户不懂该工具的实现原理,也可以方便的使用应用程序,不需要了解该平台怎样执行,只需要了解该平台的使用方法,通过人机界面交互操作就可以得出问题的最优解。
2.问题分析
2.1标准形式最优指派问题及匈牙利算法
在解决最优指派问题时,如果遇到的问题是标准形式,即人数和事数相等,每人只能完成一项,不同的事由不同的人做的指派问题,对于求解此问题,可建立如下数学模型
表示第个人完成第项任务的费用,所组成的矩阵为,为最优指派问题的系数矩阵。上式给出了求解标准形式最优指派问题的数学模型,那么如何求解此模型呢!最容易想到的是穷举法,例如,当遇到问题的维数为5时,需要列出5!12时,需要列出12!1:变换系数矩阵。使系数矩阵中每行及每列至少有一个零元素,同时不出现负元素。转2;
2:在变换后的系数矩阵中确定独立的零元素。作覆盖所有零元素的最少直线,若直线条数等于,则已得出最优解。若直线的条数小于,则转3;
3:继续变换系数矩阵。使未被直线覆盖的元素中出现零元素,同时消除负元素。转2。
利用此算法既可求出标准形式最优指派问题的最优解。
2.2对比五类最优指派问题
在现实生活中,标准形式的最优指派问题是很少见的,而非标准形式却是常见的。在求解非标准形式问题的过程中,要将其系数矩阵转化成标准形式,然后用匈牙利算法求解。下面给出求解最优指派问题的流程图,如图1:
图1
对图1进行分析:在求解最优指派问题时,如果问题是标准形式的,直接用匈牙
利算求出最优解,如果问题是非标准形式的,要根据不同的问题,将其系数矩阵转化为不同的标准形式,然后用匈牙利算法求解;可见在求解最优指派问题的过程中,都用到了匈牙利算法,而且匈牙利算法处理的对象都是矩阵。为了给用户提供解决最优指派问题的便捷工具,通过人机界面交互操作就可以求出问题的最优解,并将结果可视化。无疑MATLAB 强大的矩阵运算功能,及友好的人机交互界面GUI是最佳的。
3.总体方案设计
通过问题分析可知,利用MATLAB 强大的矩阵运算功能及友好的人机交互界面GUI,来设计解决最优指派问题的工具,此工具要把求解标准和非标准形式指派问题的功能集合于一身。在借助此工具求解问题时,要尽量减少人工的干预,并将所得到结果可视化,因此该工具是一种解决最优指派问题的综合计算平台。设计应遵循简单性、一致性、习常性原则。总的设计方案如下:
1:在M文件中用MATLAB语言实现匈牙利算法,并能正确运行;
2:分析界面要实现的主要功能,明确设计任务;
3:在稿纸上给出界面草图,从使用者的角度来审视草图;
4:按照构思的草图,上机制作(静态)界面,并进行检查;
5:编写界面动态功能的程序,对功能进行逐项检查。
在求解标准和非标准形式最优指派问题的过程中,都要调用匈牙利算法子函数,匈牙利算的MATLAB语言实现又占有很大的篇幅,因此把匈牙利算的MATLAB语言实现放在了总体设计方案的第一步,此算法的实现对后面的界面设计打下了基础,也为界面的实现提供了前提条件。
4.平台的具体实现
在总体设计方案中给出了最优指派问题综合计算平台实现的5个步骤,即给出了平台实现的框架,但并不能用这些步骤来
文档评论(0)