物流运筹学 课件 第5章 整数规划_第1页
物流运筹学 课件 第5章 整数规划_第2页
物流运筹学 课件 第5章 整数规划_第3页
物流运筹学 课件 第5章 整数规划_第4页
物流运筹学 课件 第5章 整数规划_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Chapter5整数规划

(IntegerProgramming)整数规划的特点及应用分支定界法分支定界法枚举法分配问题与匈牙利法本章主要内容:引例例5.1某公司拟用集装箱托运甲、乙两种货物,这两种货物每件的体积、重量、可获利润以及托运所受限制如下表所示。货物每件体积/立方英尺每件重量/百千克每件利润/百元甲19542乙273403托运限制1365140甲种货物至多托运4件,问两种货物各托运多少件,可使获得利润最大?解设x1、x2分别为甲、乙两种货物托运的件数,建立模型例5.2某企业在A1地已有一个工厂,其产品的生产能力为30千箱,为了扩大生产,打算在A2,A3,A4,A5地中再选择几个地方建厂,已知在A2地建厂的固定成本为175千元,在A3地建厂的固定成本为300千元,在A4地建厂的固定成本为375千元,在A5地建厂的固定成本为500千元,另外,在A1的产量,A2,A3,A4,A5建成厂的产量,那时销地的销量以及产地到销地的单位运价(每千箱运费)如下表所示。问应该在哪几个地方建厂,在满足销量的前提下,使得其总的固定成本和总的运输费用之和最小?B1B2B3产量A184330A252310A343420A497530A5104240销量302020解:(1)设xij为从Ai运往Bj的运输量(单位:千箱)1,当厂址Ai被选中时

0,当厂址Ai没有被选中时yi=此外还必须满足非负约束及yi=0,1(i=2,…,5)整数规划的特点及应用例5.3指派问题或分配问题。人事部门欲安排四人到四个不同岗位工作,每个岗位一个人。经考核四人在不同岗位的成绩(百分制)如表所示,如何安排他们的工作使总成绩最好。

工作人员ABCD甲85927390乙95877895丙82837990丁86908088整数规划的特点及应用设数学模型如下:要求每人做一项工作,约束条件为:整数规划的特点及应用每项工作只能安排一人,约束条件为:变量约束:整数规划的特点及应用整数规划(简称:IP) 要求一部分或全部决策变量取整数值的规划问题称为整数规划。不考虑整数条件,由余下的目标函数和约束条件构成的规划问题称为该整数规划问题的松弛问题。若该松弛问题是一个线性规划,则称该整数规划为整数线性规划。整数线性规划数学模型的一般形式:整数规划问题的松弛问题xj部分或全部取整数整数规划(简称:IP) 要求一部分或全部决策变量取整数值的规划问题称为整数规划。不考虑整数条件,由余下的目标函数和约束条件构成的规划问题称为该整数规划问题的松弛问题。若该松弛问题是一个线性规划,则称该整数规划为整数线性规划。整数规划的特点及应用整数线性规划问题的种类:

纯整数线性规划:指全部决策变量都必须取整数值的整数线性规划。混合整数线性规划:决策变量中有一部分必须取整数值,另一部分可以不取整数值的整数线性规划。

0-1型整数线性规划:决策变量只能取值0或1的整数线性规划。整数规划的特点及应用整数规划问题解的特征:

整数规划问题的可行解集合是它松弛问题可行解集合的一个子集。整数规划问题的可行解一定是它的松弛问题的可行解(反之不一定),但其最优解的目标函数值不会优于后者最优解的目标函数值。整数规划的特点及应用例5.3设整数规划问题如下首先不考虑整数约束,得到线性规划问题(一般称为松弛问题)。整数规划的特点及应用用图解法求出最优解为:x1=3/2,x2=10/3,且有Z=29/6

现求整数解(最优解):如用舍入取整法可得到4个点即(1,3),(2,3),(1,4),(2,4)。显然,它们都不可能是整数规划的最优解。x1x2⑴⑵33(3/2,10/3)

按整数规划约束条件,其可行解肯定在线性规划问题的可行域内且为整数点。故整数规划问题的可行解集是一个有限集,如右图所示。其中(2,2),(3,1)点的目标函数值最大,即为Z=4。整数规划的特点及应用整数规划问题的求解方法:

分支定界法和割平面法枚举法匈牙利法(指派问题)分支定界法1)求整数规划的松弛问题最优解; 若松弛问题的最优解满足整数要求,得到整数规划的最优解,否则转下一步;2)分支与定界: 任意选一个非整数解的变量xi,在松弛问题中加上约束:xi≤[xi]和xi≥[xi]+1组成两个新的松弛问题,称为分枝。新的松弛问题具有特征:当原问题是求最大值时,目标值是分枝问题的上界;当原问题是求最小值时,目标值是分枝问题的下界。 检查所有分枝的解及目标函数值,若某分枝的解是整数并且目标函数值大于(max)等于其它分枝的目标值,则将其它分枝剪去不再计算,若还存在非整数解并且目标值大于(max)整数解的目标值,需要继续分枝,再检查,直到得到最优解。分支定界法的解题步骤:分支定界法例

用分枝定界法求解解:先求对应的松弛问题(记为LP0)用图解法得到最优解X=(3.57,7.14),Z0=35.7,如下图所示。分支定界法1010松弛问题LP0的最优解X=(3.57,7.14),Z0=35.7x1x2oABC分支定界法10x2oABCLP1LP234LP1:X=(3,7.6),Z1=34.8①②LP2:X=(4,6.5),Z2=35.5分支定界法10x1x2oABCLP1LP2134LP21:X=(4.33,6),Z21=35.336分支定界法10x1x2oACLP1346LP211:X=(4,6),Z211=34LP212:X=(5,5),Z212=355LP212分支定界法上述分枝过程可用下图表示:LP0:X=(3.57,7.14),Z0=35.7LP1:X=(3,7.6)Z1=34.8LP2:X=(4,6.5)Z2=35.5x1≤3x1≥4LP21:X=(4.33,6)Z21=35.33x2≤6LP211:X=(4,6)Z211=34LP212:X=(5,5)Z212=35x1≤4x1≥5LP22无可行解x2≥7分支定界法例

用分枝定界法求解整数规划问题解:首先去掉整数约束,变成一般线性规划问题(原整数规划问题的松驰问题)LPIP分支定界法用图解法求松弛问题的最优解,如图所示。x1x2⑴⑵3(18/11,40/11)⑶21123x1=18/11,x2=40/11Z=-218/11≈(-19.8)即Z也是IP最小值的下限。对于x1=18/11≈1.64,取值x1≤1,x1≥2对于x2=40/11≈3.64,取值x2≤3,x2≥4先将(LP)划分为(LP1)和(LP2),取x1≤1,x1≥2分支定界法分支:分别求出(LP1)和(LP2)的最优解。分支定界法先求LP1,如图所示。此时在B点取得最优解。x1=1,x2=3,Z(1)=-16找到整数解,问题已探明,此枝停止计算。x1x2⑴⑵33(18/11,40/11)⑶11BAC同理求LP2,如图所示。在C

点取得最优解。即:x1=2,x2=10/3,Z(2)=-56/3≈-18.7∵Z(2)<Z(1)=-16∴原问题有比-16更小的最优解,但x2不是整数,故继续分支。分支定界法在IP2中分别再加入条件:x2≤3,x2≥4得下式两支:分别求出LP21和LP22的最优解分支定界法x1x2⑴⑵33(18/11,40/11)⑶11BACD先求LP21,如图所示。此时D在点取得最优解。即x1=12/5≈2.4,x2=3,Z(21)=-87/5≈-17.4<Z(1)=-16但x1=12/5不是整数,可继续分枝。即3≤x1≤2。求LP22,如图所示。无可行解,故不再分枝。分支定界法

在(LP21)的基础上继续分枝。加入条件3≤x1≤2有下式:分别求出(LP211)和(LP212)的最优解分支定界法x1x2⑴⑵33(18/11,40/11)⑶11BACDEF先求(LP211),如图所示。此时在E点取得最优解。即x1=2,x2=3,Z(211)=-17找到整数解,问题已探明,此枝停止计算。求(LP212),如图所示。此时F在点取得最优解。即x1=3,x2=2.5,Z(212)=-31/2≈-15.5>Z(211)

如对LP212继续分解,其最小值也不会低于-15.5,问题探明,剪枝。分支定界法原整数规划问题的最优解为:x1=2,x2=3,Z*=-17以上的求解过程可以用一个树形图表示如右:LP1x1=1,x2=3Z(1)

=-16LPx1=18/11,x2=40/11Z(0)

=-19.8LP2x1=2,x2=10/3Z(2)

=-18.5LP21x1=12/5,x2=3Z(21)

=-17.4LP22无可行解LP211x1=2,x2=3Z(211)

=-17LP212x1=3,x2=5/2Z(212)

=-15.5x1≤1x1≥2x2≤3x2≥4x1≤2x1≥3####例求解如下整数规划:首先求解其松弛规划:最优解为X=(3.25,2.5)’,z=14.75因为x1=3.25,所以将其分为x1<=3和x1>=4两个分支因为x2=8/3,所以将其分为x2<=2和x2>=3两个分支因为ZD<ZC,所以不再分支因为ZE<ZC,所以ZC是最优解所以X*=(4,1),Z*=14解纯整数规划的割平面法注意:对于任一有理数

,将其分为两部分,可表示为:式中:

为不超过

的最大整数,

是一非负真分数。例如:

由于在切割方程中

前面为负号,而

常常为正,故在把它加入松弛问题的最终单纯形表进行求解时,大多采用对偶单纯形法。

需要指出的是,由于条件(5-2e)仅是得出整数解的必要条件,不能保证一次切割即可达到整数解,往往需要多次迭代。此外,若松弛问题的某一最优解有多个分数分量,则对每一分数分量均可导出一切割方程。

这时,我们往往优先使用其中较“强”的一个,以切去可行域较大的部分。

为简单起见,常可直接选用具有较大分数部分的变量所对应的切割方程为割平面。

例广州某食品公司计划在市区的东、西、南、北四区建立销售门市部,目前有10个位置可供选择,考虑到各地区居民的消费水平及居民居住密集程度,规定:在东区由三个点中最多选择两个;在西区由两个点中至少选择一个;在南区由两个点中至少选择一个;在北区由三个点中至少选择两个。投资总额不能超过720万元,问应该选择哪几个销售点,可使年利润为最大?

s.t.在东区由三个点中最多选择两个在西区由两个点中至少选择一个在南区由两个点中至少选择一个在北区由三个点中至少选择两个例有三种资源被用于生产三种产品,资源量、产品单件可变费用及售价、资源单耗量及组织三种产品生产的固定费用见下表。要求制定一个生产计划,使总收益最大。0-1型整数规划问题的解法枚举法:列出变量取值为0或1的可能的组合(若有n个变量则有2n个组合),再逐一验证它们是否满足约束条件,然后对满足约束条件的可行解计算目标函数值,其中目标函数值最优的就是最优解方法的改进:通过设置过滤条件有效地减少验证组合为可行解的次数。(x1,x2,x3)zABCD过滤条件(0,0,0)(0,0,1)05YYYYYYYY(0,1,0)-2YYYY(0,1,1)3YNYY(1,0,0)3YYYY(1,0,1)8YYYY(1,1,0)1YNYY(1,1,1)6YNYYz≥0z≥5z≥8(x1,x2,x3)zABCD过滤条件(0,0,0)(0,0,1)(0,1,0)(0,1,1)(1,0,0)(1,0,1)(1,1,0)(1,1,1)05-233816YYYYYYYYYYYYz≥0z≥5z≥8分配问题与匈牙利法指派问题的数学模型的标准形式:

设n个人被分配去做n件工作,规定每个人只做一件工作,每件工作只有一个人去做。已知第i个人去做第j件工作的效率(时间或费用)为Cij(i=1.2…n;j=1.2…n)并假设Cij≥0。问应如何分配才能使总效率(时间或费用)最高?设决策变量分配问题与匈牙利法指派问题的数学模型为:分配问题与匈牙利法克尼格定理

:

如果从分配问题效率矩阵[aij]的每一行元素中分别减去(或加上)一个常数ui,从每一列中分别减去(或加上)一个常数vj,得到一个新的效率矩阵[bij],则以[bij]为效率矩阵的分配问题与以[aij]为效率矩阵的分配问题具有相同的最优解。分配问题与匈牙利法指派问题的求解步骤:1)变换指派问题的系数矩阵(cij)为(bij),使在(bij)的各行各列中都出现0元素,即从(cij)的每行元素都减去该行的最小元素;再从所得新系数矩阵的每列元素中减去该列的最小元素。2)进行试指派,以寻求最优解。在(bij)中找尽可能多的独立0元素,若能找出n个独立0元素,就以这n个独立0元素对应解矩阵(xij)中的元素为1,其余为0,这就得到最优解。分配问题与匈牙利法找独立0元素,常用的步骤为:

从只有一个0元素的行开始,给该行中的0元素加圈,记作◎。然后划去◎所在列的其它0元素,记作Ø

;这表示该列所代表的任务已指派完,不必再考虑别人了。依次进行到最后一行。从只有一个0元素的列开始(画Ø的不计在内),给该列中的0元素加圈,记作◎;然后划去◎所在行的0元素,记作Ø

,表示此人已有任务,不再为其指派其他任务了。依次进行到最后一列。若仍有没有划圈的0元素,且同行(列)的0元素至少有两个,比较这行各0元素所在列中0元素的数目,选择0元素少这个0元素加圈(表示选择性多的要“礼让”选择性少的)。然后划掉同行同列的其它0元素。可反复进行,直到所有0元素都已圈出和划掉为止。分配问题与匈牙利法

若◎元素的数目m等于矩阵的阶数n(即:m=n),那么这指派问题的最优解已得到。若m<n,则转入下一步。3)用最少的直线通过所有0元素。其方法:

对没有◎的行打“√”;对已打“√”的行中所有含Ø元素的列打“√”;再对打有“√”的列中含◎元素的行打“√”;重复①、②直到得不出新的打√号的行、列为止;对没有打√号的行画横线,有打√号的列画纵线,这就得到覆盖所有0元素的最少直线数l。注:l应等于m,若不相等,说明试指派过程有误,回到第2步,另行试指派;若l=m<n,表示还不能确定最优指派方案,须再变换当前的系数矩阵,以找到n个独立的0元素,为此转第4步。分配问题与匈牙利法4)变换矩阵(bij)以增加0元素 在没有被直线通过的所有元素中找出最小值,没有被直线通过的所有元素减去这个最小元素;直线交点处的元素加上这个最小值。新系数矩阵的最优解和原问题仍相同。转回第2步。分配问题与匈牙利法例5.6有一份中文说明书,需译成英、日、德、俄四种文字,分别记作A、B、C、D。现有甲、乙、丙、丁四人,他们将中文说明书译成不同语种的说明书所需时间如下表所示,问如何分派任务,可使总时间最少?

任务人员ABCD甲67112乙4598丙31104丁5982分配问题与匈牙利法解:1)变换系数矩阵,增加0元素。-52)试指派(找独立0元素)◎◎◎ØØ

找到3个独立零元素但m=3<n=4分配问题与匈牙利法3)作最少的直线覆盖所有0元素

◎◎◎ØØ√√√独立零元素的个数m等于最少直线数l,即l=m=3<n=4;4)没有被直线通过的元素中选择最小值为1,变换系数矩阵,将没有被直线通过的所有元素减去这个最小元素;直线交点处的元素加上这个最小值。得到新的矩阵,重复2)步进行试指派分配问题与匈牙利法000000试指派◎◎◎ØØ◎得到4个独立零元素,所以最优解矩阵为:即完成4个任务的总时间最少为:2+4+1+8=15分配问题与匈牙利法例5.7已知五人分别完成五项工作耗费如下表,求最优分配方案。

任务人员ABCDE甲759811乙9127119丙85468丁73696戊467511分配问题与匈牙利法-1-2解:1)变换系数矩阵,增加0元素。分配问题与匈牙利法◎Ø◎◎◎ØØ2)试指派(找独立0元素)独立0元素的个数l=4<5,故画直线调整矩阵。分配问题与匈牙利法◎Ø◎◎◎ØØ√√√选择直线外的最小元素为1;直线外元素减1,直线交点元素加1,其他保持不变。分配问题与匈牙利法◎Ø◎Ø◎Ø◎Ø√√√√√√√l=m=4<n=5选择直线外最小元素为1,直线外元素减1,直线交点元素加1,其他保持不变,得到新的系数矩阵。分配问题与匈牙利法◎ØØ◎ØØ◎Ø◎Ø◎总费用为=5+7+6+6+4=28注:此问题有多个最优解分配问题与匈牙利法◎ØØ◎ØØ◎Ø◎Ø◎总费用为=7+9+4+3+5=28分配问题与匈牙利法◎ØØ◎ØØ◎Ø◎Ø◎总费用为=8+9+4+3+4=28分配问题与匈牙利法课堂练习:用匈牙利法求解下列指派问题。练习1:练习2:分配问题与匈牙利法4821答案:分配问题与匈牙利法非标准型的指派问题:匈牙利法的条件是:模型求最小值、效率cij≥0。当遇到各种非标准形式的指派问题时,处理方法是先将其转化为标准形式,然后用匈牙利法来求解。分配问题与匈牙利法1.最大化指派问题处理方法:设m为最大化指派问题系数矩阵C中最大元素。令矩阵B=(m-c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论