- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最优指令控制问题
最优指令控制问题
摘要
在计算机指令控制过程中,控制的指令条数越少,控制指令的总长度越小,计算机的运行效率就越高。所以建立相关的数学模型来实现最优计算机指令控制,分析所用算法的复杂度,具有现实意义。
对问题1,用最少的指令控制全部的部件,对此问题,我们建立整数规划里面的0-1规划模型,用lingo软件求解,求得要控制所有部件,所用最少指令数为13条,具体最优指令与控制部件见表一。
对问题2,给出了每条指令的长度,要使所用指令的总长度最小,对此问题我们依然建立整数规划里面的0-1规划模型,用lingo软件求解,最终求得结果见表二。
对问题3,我们用分支定界法求解问题1问题2的整数规划模型,把原整数规划问题通过分支迭代求出最优解。
对问题4,
关键字:指令控制 整数规划 分支定界法
一:问题重述
在计算机控制过程中,一条计算机指令往往可以控制几个计算机部件,反过来,一个部件也一般由几条指令控制。一个基本的问题是:在指令集合里寻找最少的指令,使得所有的部件得到控制;另一个问题是,当给定每条指令的长度时,在指令集合里寻求总长度最小的若干指令,使得他们可以控制全部部件。
1.建立使得所有部件得到控制的最小指令集合。
2.建立使得所有部件得到控制的总长度最小的指令集合。
3.设计模型的求解算法,用表1 中所列的数据给出求解结果。
4.分析设计算法的复杂性和计算所得到的结果。
二:问题分析
针对问题1,我们的目标是用最少的指令条数控制所有部件,建立整数规划的0-1规划模型。用决策变量决定是否使用第i条指令,用指令控制的部件必须包括所有的部件来进行约束,再用相应的算法求即可。
针对问题2,我们把目标换成所用指令的总长度最短,各指令长度都是已知的,建立0-1规划模型现在问题的关键依然是是否使用第i条指令,我们用决策变量决定。用全部部件必须得到所用指令的控制来约束。用相关算法求解即可。
针对问题3,我们采用分支定界法,在求相应的线性规划模型的同时,逐步加入对各变量的整数要求的限制,从而将原整数规划问题通过分支迭代求出最优解。
三:符号说明
:决策变量(二进制变量),决定是否使用第i条指令,表示使用,表示不使用。
:第i条指令与第j个部件的关系,如果第i条指令控制第j个部件,则为1,否则为0
:第i条指令的长度。
:所用指令的最少条数。
:所用指令的最短总长度。
四:模型假设
1.一条指令可以控制几个部件,一个部件也可以由几条指令控制。
2.假设每条指令在运行过程中不发生逻辑错误,且每个部件均工作正常
5.1 对问题1建立模型
决策变量=1表示使用第i条指令,0表示不适用第i条指令 ,我们的目标是使用的指令条数最小,即:
表示第j个部件是否得到第i条指令的控制,由于每个部件至少有一条指令来控制则: ,至此我们建立模型I如下:
目标函数:
约束条件:
5.2 对问题2建立模型
在已知每条指令长度的条件下,为了使所用指令总长度最小,即,约束条件同问题1的一样:每个部件都至少得到一条指令的控制:
对问题2建立模型II如下:
目标函数:
约束条件:
5.3 对问题3建立模型
分支定界法的步骤如下:
1.求整数规划的松弛问题最优解。
2.若松弛问题的最优解满足整数要求,得到整数规划的最优解,否则转下一步。
3.任意选一个非整数解的变量 ,在松弛问题中加上约束及组成两个新的松弛问题,称为分支。新的松弛问题具有如下特征:当原问题是求最大值时,目标值是分支问题的上界;当原问题是求最小值时,目标值是分支问题的下界。
4.检查所有分支的解及目标函数值,若某分支的解是整数并且目标函
数大于(max)等于其他分支的目标值,则将其他分支剪去不再计算,
若还存在非整数解并且目标函数大于(max)整数解的目标函数值,
需要继续分支,再捡查,直到得到最优解。
5.31分支定界法对问题1求解
建立松弛问题的线性规划模型:
目标函数 ::
约束条件:
z的最优解为(),目标函数值为z。
不是0-1变量,不符合题目要求,那么我们从开始,本应在松弛变量问题中加约束组成两个新的松弛问题(两个分支),鉴于本模型是整数规划里的0-1规划模型,为了切合题意,我们改加约束条件,组成两个新的分支。问题1目标函数是求最小值,我们将作为分支问题的上界。进行分支得到:
目标函数 :: :
约束条件:
的最优解为(),目标函数值为
的最优解为(),目标函数值为,
在满足原0-1规划模型的要求后,我们对选取边值较小的子问题对继续分支,把的最优解作为分支问题的上界,再加约束条件。分支得到:
目标函数:: :
约束条
文档评论(0)