您好,欢迎访问三七文档
5.40—1型整数规划模型1.0—1型整数规划模型概述整数规划指的是决策变量为非负整数值的一类线性规划,在实际问题的应用中,整数规划模型对应着大量的生产计划或活动安排等决策问题,整数规划的解法主要有分枝定界解法及割平面解法(这里不作介绍,感兴趣的读者可参考相关书籍)。在整数规划问题中,0—1型整数规划则是其中较为特殊的一类情况,它要求决策变量的取值仅为0或1,在实际问题的讨论中,0—1型整数规划模型也对应着大量的最优决策的活动与安排讨论,我们将列举一些模型范例,以说明这个事实。0—1型整数规划的的数学模型为:目标函数nnxcxcxczMinMax2211)(约束条件为:1|0),(),(),(22112222212111212111nmnmnmmnnnnxxxbxaxaxabxaxaxabxaxaxa,,,21这里,0|1表示0或1。2.0—1型整数规划模型的解法0—1型整数规划模型的解法一般为穷举法或隐枚举法,穷举法指的是对决策变量nxxx,,,21的每一个0或1值,均比较其目标函数值的大小,以从中求出最优解。这种方法一般适用于决策变量个数n较小的情况,当n较大时,由于n个0、1的可能组合数为n2,故此时即便用计算机进行穷举来求最优解,也几乎是不可能的。隐枚举法是增加了过滤条件的一类穷举法,该法虽能减少运算次数,但有的问题并不使用。此时,就只能用穷举法了。3.应用实例例1工程上马的决策问题1)问题的提出某部门三年内有四项工程可以考虑上马,每项工程的期望收益和年度费用(千元)如下表所示:假定每一项已选定的工程要在三年内完成,是确定应该上马哪些工程,方能使该部门可能的期望收益最大。工程费用期望收益第1年第2年第3年15182023447103928610402030可用资金1822242)模型分析与变量的假设这是工程上马的决策问题,对任一给定的工程而言,它只有两种可能,要么上马,要么不上马,这两种情况分别对应二进制数中的1、0,大凡这样的实际背景所对应的工程问题,大都可考虑用0—1型整数规划模型建立其相应的模型。设),4,3,2,1(,1,0jjjxj项工程不上马第项工程可上马第因每一年的投资不超过所能提供的可用资金数25千元,故该0—1型整数规划问题的约束条件为:4,3,2,1,1|02410210822697188345432143214321jxxxxxxxxxxxxxi由于期望收益尽可能大,故目标函数为:432130204020axxxxxzm3)模型的建立与求解至此,我们得到该问题的0—1型整数规划模型为:432130204020axxxxxzm约束条件为:4,3,2,1,1|0(3)24102108(2)22697(1)188345432143214321jxxxxxxxxxxxxxi下面用隐枚举法求其最优解。易知,该0—1型整数规划模型有一可行解(0,0,0,1),它对应的目标函数值为:30z。自然,该模型的最优解所对应的目标函数值应不小于30,于是,我们增加一过滤条件为:30302040204321xxxx(4)在此过滤条件(过滤条件可不唯一)下,用隐枚举法求0—1型整数规划模型的最优解的步骤为:(1)先判断第一枚举点所对应的目标函数值是否满足过滤条件,若不满足,则转下一步;若满足,再判断该枚举点是否满足各约束条件,若有一个约束条件不满足,则转下一步,若均满足,则将该枚举点所对应的目标函数值z1(本例中,z130)作为新的目标值,并修改过滤条件为:1432130204020zxxxx,再转下一步;(2)再判断第二枚举点所对应的目标函数值是否满足新的过滤条件,若不满足,则转下一步;若满足,接着判断该枚举点是否满足各约束条件,若有一个约束条件不满足,则转下一步,若均满足,则将该枚举点所对应的目标函数值z2(z2z1)作为新的目标值,并修改过滤条件为:2432130204020zxxxx,再转下一步;(3)重复步骤(2),直至所有的枚举点均比较结束为止。由隐枚举法的求解步骤,我们可给出该问题的求解过程如下表所示,并得到最优解为:)1,1,1,0(),,,(4321xxxx,相应的目标值为90(千元)。故应上马的工程为2号、3号、4号工程。枚举点当前目标值满足约束条件(含过滤条件)?新目标值(4)(1)(2)(3)(0,0,0,0)(0,0,0,1)(0,0,1,0)(0,0,1,1)(0,1,0,0)(0,1,0,1)(0,1,1,0)(0,1,1,1)3030303050507070×30√√√√30×30√√√√50×50√√√√70×70√√√√90×90×90×90×90×90√√√×90×90(1,0,0,0)(1,0,0,1)(1,0,1,0)(1,0,1,1)(1,1,0,0)(1,1,0,1)(1,1,1,0)(1,1,1,1)9090909090909090√×90注:在该表中,√表示满足相应条件,×表示不满足相应条件。例2工序的流程安排问题1)问题的提出一条装配线由一系列工作站组成,被装配或制造的产品在装配线上流动的过程中,每站都要完成一道或几道工序,假定一共有六道工序,这些工序按先后次序在各工作站上完成,关于这些工序有如下的数据:工序所需时间(分)前驱工序13无25无322461,3582634另外工艺流程特别要求,在任一给定的工作站上,不管完成哪些工序,可用的总时间不能超过10分钟,如何将这些工序分配给各工作站,以使所需的工作站数为最少?2)模型分析与变量的假设下面,我们先讨论工序与工作站的关系,并试图建立起该问题的0—1型整数规划模型。对任一工序而言,它要么属于工作站j,要么不属于工作站j,故决策变量可定义为:行运上j不在工作站若工序0行运上在工作站若工序1ijixij这种定义,使我们能根据最优解中ijx的值来很快确定工序i与工作站j之间的隶属关系。又因工序1,2,3所需的工作时间不超过10分钟,故工序1,2,3的工作可以在一个工作站上完成,此时,工序4,5,6只能分别在各自的工作站上工作,该可行解对应的工作站数为4个。也就是说,对最优解而言,该装配线上所需的工作站个数不会多于4个。因此,我们再定义变量如下:jjwj作站工要需不中解优若在最0站作工要需中解优若在最1至此,我们得到所需的目标函数为:4321max再考虑该模型的约束条件:(1)每道工序均隶属于一个工作站,且每一工序都必须完成,故有以下六个约束:6)5,4,3,2,,1(14321ixxxxiiii(2)在任一工作站上完成隶属工序所用的时间不能超过10分钟,故有以下四个约束:4)3,2,1,(j10386253654321jjjjjjxxxxxx(3)最后,我们再考虑各道工序所受的先后次序约束的条件,各工序间的优先关系见右图:先考察工序2与工序3的关系,因工序2在工序3之前12运行,故若工序3隶属于工作站4,则工序2无论属于那个工作站均可;若工序3隶属于工作站3,则工序2可属于工作站31或2或3;此时,变量3)2,,1(2jxj应满足的约束条件为:33232221xxxx;4同理,若工序3隶属于工作站2或1,则变量3)2,,1(2jxj应65满足的约束条件为:322221xxx3121xx同理,根据其它工序的优先关系,可仿此法给出其相应的约束条件,由上图知,六个工序之间有五个优先关系,故这类约束条件共有15个。另外,在最优解中,若有一个工作站4)3,2,1,(pwp不用(即pw=0),则隶属于该工作站的全部6)5,4,3,2,1,(ixip必须为0,于是,有以下四个约束条件:4)3,2,1,(6654321iwxxxxxxjjjjjjj3)模型的建立与求解至此,我们得到了该问题的0—1型整数规划模型,它共包含28个变量,29个约束条件,这样的模型用枚举法求解,人工计算是很难胜任的,这时,只能求助于计算机求解了。我们给出该问题的模型如下,求解的过程望感兴趣的读者自己完成之。该问题的目标函数为:4321max约束条件为:6)5,4,3,2,,1(14321ixxxxiiii4)3,2,1,(j10386253654321jjjjjjxxxxxx33232221xxxx;322221xxx;3121xx53232221xxxx;522221xxx;5121xx;43131211xxxx;421211xxx;4111xx;43333231xxxx;423231xxx;4131xx;63434241xxxx;624241xxx;6141xx;4)3,2,1,(6654321iwxxxxxxjjjjjjj
本文标题:0-1整数规划
链接地址:https://www.777doc.com/doc-5787636 .html