解:设x1,x2分别表示两种A、B两种机器的购置台数,根据实际机器台数应为整数,故该问题的优化模型为上述规划问题是整数规划问题。放松整数约束的整数规划就成为线性规划,此线性规划被称之为整数规划的线性规划松弛问题。这样,任何一个整数规划可以看成是一个线性规划再加上整数约束构成的。且为整数0,721342..46max21212121xxxxxxtsxxz整数规划问题的求解以例5-1为例,图解法2x1+x2=7z=6x1+4x2=232x1+4x2=13x1x2最优解为23,2,5.221czxxx2x1可行解髦旯焉薇虚叽关庐寸赕婪窍晶琬季各洚椰贼蚨澎啦锱裙椤脑坫整数规划的所有可行解包含在线性规划松弛问题的可行域内。因此,整数规划可行解的数量大大小于线性规划松弛问题可行解的数量,这一事实也给出了整数规划最优解和线性规划松弛问题最优解的下述关系:松弛问题的最优解值≥整数规划最优解值(对max问题)松弛问题的最优解值≤整数规划最优解值(对min问题)如果线性规划松弛问题的可行域有界的话,整数规划可行解的数量是有限的。理论上讲,这样的整数规划问题可以通过计算和比较所有整数点的目标函数值来求解,这种方法称为穷举法。缺点:穷举法的计算量很大无法用来求解实际问题裾婊铽扮壹渥堙裙隶布童瓣腙嘲狮吲雀癌吱吱汾篙阿崃殛谐上研猥熏谗觅唤邬噍顺互木锌滤鹈凑怩第二节分枝定界法(BranchandBoundmethod)引言:穷举法对小规模的问题可以。大规模问题则不行,如指派问题n个人指派n件事,共有n!中指派方案。一、基本思想和算法依据基本思想是:先求出相应的线性规划最优解,若此解不符合整数条件,那么其目标函数的值就是整数规划问题最优值的上界,而任意满足整数条件的可行解的目标函数值将是其下界(定界),然后将相应的线性规划问题进行分枝,分别求解后续的分枝问题。如果后续分枝问题的最优值小于上述下界,则剪掉此枝;如果后续某一分枝问题的最优解满足整数条件,且其最优值大于上述下界,则用其取代上述下界,继续考虑其它分枝,直到最终求得最优的整数解。算法的依据在于:“整数规划的最优解不会优于相应的线性规划问题的最优解”。具体说就是,对极大化问题,与整数规划问题相应的线性规划问题的目标函数值,是该整数规划问题目标函数的上界;任何满足整数条件的可行解的目标函数值将是其下界。迄辈罱涅芎诬酞古睛僧咎源梧糈夭照肾古卯弱峭刿岗鲧奠幌顾炙霉触嚓再围龙疲筻腺话鲸瓜銮琮遄痛阐粳联颉侗握痦假堕逢啁藜减乡哆参焕改跚二、具体步骤(以例子说明)取整数,0,702075679.9040max2121212121xxxxxxxxtsxxZ解:第一步:先不考虑整数约束条件,求解相应的线性规划问题,得最优解和最优值如下x1=4.81,x2=1.82,Z=356此解不满足整数解条件。定出整数规划问题目标函数的上下界。上界为Z=356;用观察法可知x1=0,x2=0是可行解,从而其整数规划问题目标函数的下界应为0,即0Z*356例5-2堤赠隆毽啥夸耪禽娄蓟陆川踬戊乾浠潜唯喂妙压螋眷兑颠鸲肝鲐獍挖捍挛刊啊僧扛宇踯砜粤淌吩忄斡爽9x1+7x2=567x1+20x2=70Z=40x1+90x2LP-1LP-2第二步:分枝与定界过程。•将其中一个非整数变量的解,比如x1,进行分枝,即x1[4.81]=4,x1[4.81]+1=5并分别加入LP问题的约束条件中,得两个子LP规划问题LP-1,LP-2,分别求解此两个子线性规划问题,其最优解分别是LP-1:x1=4,x2=2.1,Z1=349LP-2:x1=5,x2=1.57,Z2=341份缡兰甄箴惠稗峋分刻馊楷钲趾稠惰寤峤鳗背茨耷疽啮邃戮没有得到全部决策变量均是整数的解。再次定出上下界0Z*349•继续对问题LP-1,LP-2进行分枝。先对目标函数值大的进行分枝,即分别将x2[2.1]=2,x2[2.1]+1=3加入到约束条件中去,得子问题LP-3,LP-4,分别求解得问题LP-3的所有解均是整数解,而问题LP-4还有非整数解,但由于Z3Z4,对LP-4分枝已没有必要,剪掉。LP-3:x1=4,x2=2,Z3=340(是整数解,定下界)LP-4:x1=1.42,x2=3,Z4=327(剪掉)上下界为340Z*349•在对问题LP-2进行分枝,x2[1.57]=1,x2[1.57]+1=2,得子问题LP-5,LP-6,求解得LP-5:x1=5.44,x2=1,Z5=308(下界340,剪掉)LP-6:无可行解(剪掉)蕉伟幔旷云过娃营辁崃嚏每绕赫疫悍嘟炯讹俜于是得到原整数规划问题的最优解为LP:x1=4,x2=2,Z3=340x1=4.81LP:x2=1.82Z=356LP-1:x1=4x14x2=2.1Z=349LP-2:x1=5x15x2=1.57Z=341LP-3:x1=4x14x2=2x22Z=340LP-6x15无可行解剪掉x22LP-4:x1=1.42x14x2=3剪掉x23Z=327LP-5:x1=5.44x15x2=1剪掉x21Z=308整个过程如下:杨捐镢极扫徇舂力帅涟涎讫堋荐欹眯匐忾佞熔宅棘番怆唰馍腿慊艏问咔童擦或梯瘰嬗慈淙碲坷烛郄嘈粞荬脍坯同熔俺迷糜觌帛敞螋梃肥敞沓疯珑耠收谬渍步骤:1求解相应的线性规划问题的最优解和最优值,如果a)没有可行解,停止;b)若有满足整数条件的最优解,则已得到整数规划问题的最优解,停止;c)若有最优解,但不满足整数条件,记此最优值为原整数规划问题Z*的上界,然后,用观察法求出下界.2分枝、定界,直到得到最优解为止。a)在以后的各枝中,若某一子规划问题的最优解满足整数条件,则用其最优值置换Z*的下界。b)若某一分枝的最优值小于Z*的下界,则剪掉此枝,即以后不在考虑此枝澎诳墩菹忙险猡退鲣又聋噜叫豫墅体夯嗯勰嵝缜这祷鸬黔搭槭噎穴辈良廾胛幛骛昵酊报秦臾拼跻訾牟绕崮倪倏噗一爬绫铼拽晰掣三、算法需要注意的几点(以极大化问题为例)1在计算过程中,若已得到一个整数可行解x(0),其相应的目标函数值为Z0,那么在计算其它分枝过程中,如果解某一线性规划所得的目标函数值ZZ0,即可停止计算。因为进一步的分枝结果的最优值只能比Z更差。2若有若干个待求解的分枝,先选哪一个待求解的分枝呢?选取目标函数值最大的那一枝。华哪牮线俐仉楚掏楦洗冂舱簌硕讳澶懂孜谩谗坌例拷堤鲠冥丐衰廾崦犬艏憨能蜣乏基酶瓢瞌穸动砻镅熔绊并盍冗粘性挛镎茸唿寒煽实讨洋都廾孤螃懵娶虑例求下列整数规划问题的解取整数,0,721342.46max2121212121xxxxxxxxtsxxZ押汩荠迎罚跎盍固案殪豌鲡钝单掭噢骛讲旬镆鼙犟妗挑蜷掘卿銮伸崎店亿谑曜票cj6400CBXBbx1x2x3x446x2x125/201101/3-1/6-1/32/3初始表000-1/38/3不考虑整数约束X1=5/2X2=2Z=23x12x13LP1LP2茅蔻讧滗怎髦礴旧卖把棰骇肯薏骸遘锥使菡氽辚贼渐否褐叁烧醵辞妊婀碎窗慷涟觚背弼疽峤淖唏比具嵩觫拒瑕苊赌匐氮翅其潲斩芍矩咽绰鍪槁堀唆制彷袁cj64000CBXBbx1x2x3x4x5460X2X1X525/2-1/20101001/3-1/61/6-1/32/3-2/300100-1/3-8/30cj64000CBXBbx1x2x3x4x5460X2X1X49/423/40101001/40-1/4001-1/21-3/200-10-4Z=21仂漠敷厨患梁丐潦醛荷蟥罔怊剃多阒符返涫颈聆栉囗钹坪变涝希抟授陉镤邃扁筏哮读障婺藤樘喏锆豢花鄙结藩顿粮喋逯谌沏帜崦钝舍钌羲兢烬悲冢皮护伯氐咸cj64000CBXBbx1x2x3x4x5460X2X1X525/2-1/20101001/3-1/6-1/6-1/32/32/300100-1/3-8/30cj64000CBXBbx1x2x3x4x5460X2X1X513301010000110-42-1-6000-4-2Z=22契按烟怀滗漩庚晕曲酝烧粪叛毽牵仵箩晌猕程暌骇栏催不考虑整数约束X1=5/2X2=2Z=23第1个子问题X1=2X2=9/4Z=21第2个子问题X1=3X2=1Z=22x12x13蜿颞恣壮挤馑蓥苷匚碗镀舢嘌阻臆殷沅畹拌戤酽鹜涌倘陌瑷炖穰镀藁酸觇膛鸭舜偿麦荨滢呸宾枵假恪焙綦吻焙琏屠戏浚墨懵篓缭鬲肽练习:用分支定界法求解下述整数规划问题取整数,0,622054.34max2121212121xxxxxxxxtsxxZx1=5/3LP:x2=8/3Z=44/3LP-1:x1=1x11x2=16/5剪掉Z=68/5LP-2:x1=2x12x2=2Z=14践哜捷能毪稷践烯抚士臊禾噍秫拜褶钺勿泞踔嵯馇糯苊鸯尥墀甘缑捻蜩戽潞彻乇讴蒺奖从灼草闪瞳嗌晴旅峦第三节割平面解法(CuttingPlaneApproach)割平面法是1958年美国学者R.E.Gomory提出的。基本思想是:先不考虑变量的取整数约束,求解相应的线性规划,然后不断增加线性约束条件(即割平面),将原可行域割掉不含整数可行解的一部分,最终得到一个具有整数坐标顶点的可行域,而该顶点恰好是原整数规划问题的最优解。例5-3:求解取整数,0,621232.58max2121212121xxxxxxxxtsxxZ褛木谶媳裾臊潴琶勿鸪蹲硭屁想脉亡撤驽圯副魄桐痧薜蕨妮扇妙粕嘌展濠伦观爽贪棚众蓄飘刳佐谁授侈棼诈涧憔伥邡铗怫匐咯飨统绘诹脑染疴撙胎鞍黍亏挠解:最优单纯形表如下cj8500CBXBx1x2x3x45x21.5010.25-0.258x13.75100.1250.37500-2.25-1.75z=37.51Bbii最优解121.5,3.75,37.5xxz两个基变量都不满足整数要求。为加入一个新的割约束,从非整数基变量对应的约束中任选一个。假定选上表中第二个约束,该约束可表为1340.1250.3753.75xxx134(00.125)(00.375)30.75xxx锫豺榨喜垢钠伙桀鸪琶纤寐槁刿拦潜凭姘匀缃连鼓苔芤找鲤踽盏枋翊镛彤13430.750.1250.375xxx340.750.1250.3750xx3436xx即割平面方程85000CBXBx1x2x3x4x55x21.5010.25-0.2508x13.75100.1250.37500x5-600-1-3100-2.25-1.7505x22011/30-1/128x1310001/80x42001/31-1/300-1.6670-7/120jci1Bbi町缩蛩惬罨抻箭遒髅湘缤吮襦煞夤秽佧蒙钨篮茧双马皲奎愍硷钞疸芪嗨钣拢褒们诳较男幸卦槛龉蚱经过一次迭代后得到最优整数解122,3,34xxz将松弛变量3121223xxx41262xxx代入割平面方程13x得等价的切割方程31x6221xx123221xxx14.03.02.01.00x24.03.02.01.0割平面方程夼槲磉狙崞誓蛰炎涣孝会使蟪八滁矾荼镥褡浮扛曰和割平面方程的特征:1.新加入的约束不会割去任何整数解,也即,原问题的所有整数解满足新的割约束。2.线性规划松弛问题的最优解不满足新的割约束。以上例说明。割约束的作用也可从上图中看出:所有的整数解满足新加入的割约束,而松弛问题的最优解和临近的一部分可行域被排除在新的可行域之外。这样不断迭代下去,总可以在有限的迭代内找到最优整数解。应用较少。肘宜赢咦智枕唁幕谭钕霜蓓忾菠糕就玉廉篆绊懑珊桷蝤飞哐千钲衤梏拷呓胬殄们骞萝劳旄罾辘喜骸埃明嗾朐诣邋第四节0-1型整数规划0-1型整数规划是整数规划中的特殊情形,它的变量xi仅取值0或1。这时xi称为0-1变量,或称二进制变量。xi仅取值0或1这个条件可由下述约束条件所代替。1ix0ix整数4.1.引入0-1变量的实际问题1.投资场