整数规划.ppt

上传人:b****9 文档编号:239659 上传时间:2022-10-07 格式:PPT 页数:77 大小:1.27MB
下载 相关 举报
整数规划.ppt_第1页
第1页 / 共77页
整数规划.ppt_第2页
第2页 / 共77页
整数规划.ppt_第3页
第3页 / 共77页
整数规划.ppt_第4页
第4页 / 共77页
整数规划.ppt_第5页
第5页 / 共77页
点击查看更多>>
下载资源
资源描述

整数规划.ppt

《整数规划.ppt》由会员分享,可在线阅读,更多相关《整数规划.ppt(77页珍藏版)》请在冰豆网上搜索。

整数规划.ppt

第五章整数规划(IntegerProgramming),第一节整数规划的基本问题及其数学模型,一、问题的提出,实际工作中的某些规划问题要求部分变量或全部变量取整数值,我们称这样的问题为整数规划问题(IntegerProgramming,IP)。

不考虑整数要求,由其他约束条件和目标函数构成的规划问题称为该整数规划问题的松弛问题(SlackProblem)。

若松弛问题是一个线性规划问题,我们称该整数规划问题为整数线性规划(IntegerLinearProgrammingILP)。

【例5-1】某工地需要长度不同、直径相同的成套钢筋,每套钢筋由两根7米长和七根2米长的钢筋组成。

现有长15米的圆钢毛坯150根,应如何下料,使废料最少?

解:

本题中没有说明15米长的圆钢毛坯有哪些下料方式,故需要首先找出下料方式。

将15米长的圆钢毛坯切割为7米和2米两种长度的钢筋有三种方式,如表5-1所示。

设分别表示采用第1、2、3种下料方式所切割的圆钢毛坯数目。

则废料可表示为下列形式:

看约束条件。

首先,工地需要的是成套钢筋,故7米长和2米长的钢筋数之比应满足2:

7,用线性方程来表示,即:

整理得:

另外,圆钢毛坯总数为150根,故还应满足下面这个条件,即:

综合分析,问题的数学模型为:

【例5-2】现有资金总额为B,可供投资项目有n个,项目j所需投资额和预期收益分别为aj和cj(j1,2,n)。

同时,由于种种原因,有三个附加条件:

第一,若选择项目1,就必须同时选择项目2,反之则不一定;第二,项目3和项目4中至少选择一个;第三,项目5、项目6和项目7中恰好选择两个。

应当怎样选择投资项目,才能使总预期收益最大?

解:

每一个投资项目都有被选择和不被选择两种可能,为此令:

则问题可表示为:

【例5-3】工厂A1和A2生产某种物资,由于该种物资供不应求,故需要再建一家工厂,相应的建厂方案有A3和A4两个。

这种物资的需求地有B1、B2、B3、B4四个。

各工厂年生产能力、各地年需求量、各厂至各需求地的单位物资运费cij(j=1,2,3,4)见表5-2。

工厂A3或A4开工后,每年的生产费用估计分别为1200万元或1500万元。

现要决定应该建设工厂A3还是A4,才能使今后每年的总费用(即全部物资运费和新工厂生产费用之和)最少。

解:

这是一个物资运输问题,其特点是事先不能确定应该建A3和A4中的哪一个,因而不知道新厂投产后的实际生产费用。

为此,引入0-1变量:

设xij为由Ai运往Bj的物资数量(千吨),(i,j1,2,3,4)。

则问题的数学模型为:

二、整数规划模型的一般形式及解的特点,整数线性规划数学模型的一般形式为:

一般来说,整数线性规划可分为以下几种类型:

1.纯整数线性规划(PureIntegerLinearProgramming):

指全部决策变量都必须取整数值的整数线性规划,也称为全整数规划。

2.混合整数线性规划(MixedIntegerLinearProgramming):

指决策变量中一部分必须取整数值,而另一部分可以不取整数值的整数线性规划。

3.0-1整数线性规划(Zero-oneIntegerLinearProgramming):

指决策变量只能取0或1两个值的整数线性规划。

(三)整数规划与线性规划的关系,从数学模型上看整数规划似乎是线性规划的一种特殊形式,求解只需在线性规划的基础上,通过舍入取整,寻求满足整数要求的解即可。

但实际上两者却有很大的不同,通过舍入得到的解(整数)也不一定就是最优解,有时甚至不能保证所得倒的解是整数可行解。

举例说明。

例:

设整数规划问题如下,首先不考虑整数约束,得到线性规划问题(一般称为松弛问题)。

用解法求出最优解x13/2,x2=10/3且有Z=29/6,x1,x2,3,3,(3/2,10/3),现求整数解(最优解):

如用“舍入取整法”可得到4个点即(1,3)(2,3)(1,4)(2,4)。

显然,它们都不可能是整数规划的最优解。

按整数规划约束条件,其可行解肯定在线性规划问题的可行域内且为整数点。

故整数规划问题的可行解集是一个有限集,如图所示。

图,因此,可将集合内的整数点一一找出,其最大目标函数的值为最优解,此法为完全枚举法。

如上例:

其中(2,2)(3,1)点为最大值,Z=4。

.若(LP)没有可行解,则(ILP)也没有可行解,停止计算。

.若(LP)有最优解,并符合(ILP)的整数条件,则(LP)的最优解即为(IP)的最优解,停止计算。

.若(LP)有最优解,但不符合(ILP)的整数条件,可用相应方法求解。

整数规划与其松驰问题解的关系:

目前,常用的求解整数规划的方法有:

分支定界法和割平面法;对于特别的01规划问题采用隐枚举法和匈牙利法。

第二节割平面法,割平面法由高莫累(Gomory)于1958年提出。

其基本思想是放宽变量的整数约束,首先求对应的松弛问题最优解,当某个变量xi不满足整数约束时,寻找一个约束方程并添加到松弛问题中,其作用是割掉非整数部分,缩小原松弛问题的可行域,最后逼近整数问题的最优解。

一、割平面法的基本思想,考虑松弛问题为标准形线性规划问题的纯整数规划问题(ILP):

假设约束条件中aij(i1,2,m;j1,2,,n)和bi(i1,2,m)均为整数(若不为整数,可令等式两边同乘一个倍数化为整数)。

下面先通过一个例子来说明割平面法的基本思想。

【例5-5】,将该问题图示如下图:

从图(a)中可以看出,松弛问题的最优解为X*=(5/3,5/2)T,它不是一个整数解。

因此我们设法给原线性规划问题增加一个约束条件,从而把包括X*在内的一部分不含整数点的可行域从原可行域中分割出去。

再求增加了这个约束条件后的新的线性规划问题的最优解。

二、Gomory约束,假设用单纯形法求得的线性规划问题最优解不是整数解,其中必然有某个或某几个基变量不为整数。

记B为松弛问题的最优基,则问题的基最优解为:

不妨设第r个分量不为整数,根据最优单纯形表可得:

(5.1),将和分成整数部分和非负真分数之和,即:

代入上式得:

(5.2),(5.3),(5.4),移项,得:

(5.5),因为变量必须取整数,即上式左边必须是整数,从上式右边看,因为0fi1,所以不能为正,即:

割平面方程,(5.6),即:

(5.7),割平面的两个性质:

(1)割平面(5.7)式割去了(ILP)的松弛问题(LP)的基最优解。

(2)割平面(5.7)式未割去原问题(ILP)的任一(整数)可行解。

三、割平面法的算法步骤,步骤1:

将约束条件系数及右端项化为整数,用单纯形法求解整数规划问题(ILP)的松弛问题(LP)。

设得到最优基B,相应的基最优解为X*。

步骤2:

判别X*的所有分量是否全为整数?

如是,则X*即为(ILP)的最优解,算法终止;若否,则取X*中分数最大的分量,引入割平面(5.7)。

步骤3:

将式(5.7)引入松弛变量后加入原最终单纯形表,用对偶单纯形法继续求解。

转步骤2。

【例5-6】用割平面法求解例5-5。

首先,将整数约束去掉,将松弛问题化为标准形,并用单纯形法求解,结果见下表:

因基变量x15/3,x25/2,均为非整数,故该最优解不是整数规划的可行解。

若以变量x1所在的行为源行,得到相应的割平面为:

(5.8),对式(5.8)左端加入松弛变量,得到:

(5.9),将式(5.9)加入上表中,用对偶单纯形法继续求解如下表:

因基变量x15/3,x25/2,均为非整数,故该最优解不是整数规划的可行解。

若以分数部分最大的变量x1所在的行为源行,得到相应的割平面为:

由上表可知,增加约束条件后的线性规划问题最优解为X*=(2,2,0,1,0)T,因此,原整数规划问题的最优解为X*=(2,2)T,其最优值z*=4。

如果将式(5.8)中的变量用原问题的决策变量来表示,就得到:

整理后得到:

例:

用割平面法求解数规划问题,初始表,最终表,在松弛问题最优解中,x1,x2均为非整数解,由上表有:

将系数和常数都分解成整数和非负真分数之和:

以上式子只须考虑一个即可,解题经验表明,考虑式子右端最大真分数的式子,往往会较快地找到所需割平面约束条件。

以上两个式子右端真分数相等,可任选一个考虑。

现选第二个式子,并将真分数移到右边得:

引入松弛变量s1后得到下式,将此约束条件加到上表中,继续求解。

得到整数最优解,即为整数规划的最优解,而且此整数规划有两个最优解:

X=(0,4),z=4,或X=(2,2),z=4。

第三节分枝定界法,分枝定界法是在20世纪60年代初由LandDoing和Dakin等人提出的适合于解纯整数或混合正数规划问题。

分支定界法实际是一种隐枚举法或部分枚举法,它是在枚举法基础上的改进,在枚举过程中逐批把一部分可行解排斥在考察范围之外,从而大大减少了计算量。

分支定界法的关键是分支和定界。

一、分支定界法的基本思想,两个子问题的可行域的并集包含了原问题(ILP)的全部可行解,而包括原最优解在内的松弛问题的部分非整数解被剔除了。

然后分别求解两个子问题,根据需要,各子问题可以再产生自己的子问题。

这个过程就是分支。

在分支过程中,若某个子问题的最优解为整数解,其目标函数值就是整数规划问题的一个“界限”,可以此作为判断其他分支优劣的一个依据。

若某一子问题最优解(无论是否为整数解)的目标函数值小于或等于该界限,则可以将该子问题剔除而不予考虑了。

若有其他子问题的最优解为整数解,则将其目标函数值与原来的界限相比较,取更优的一个作为新的界限。

这个过程就是定界。

二、分支定界法的一般步骤,【例5-7】用分支定界法求解例5-5。

解:

首先求解(LP),得到的最优解为x15/3,x25/2,z25/6。

由于(LP)的最优解不是整数解,可任选一个变量进行分支。

若选x15/3进行分支,则分支出的约束条件为:

(5.10),和,(5.10),分别将上述两个约束条件加入(LP)中,因此原问题的松弛问题(LP)被划分为两个子问题:

先求解(LP1),最优解为x11,x25/2,最优值z7/2,仍不是整数解(见图5-2)。

再求解(LP2),最优解为x12,x22,z4(见图5-3)。

故取z4作为(ILP)最优值的一个下界。

由于(LP1)的最优值为7/24,故其子问题的目标函数值不会超过7/2,也不会超过4。

因此(LP1)是一个失去希望的问题,不必再对它进行分支。

若(LP1)的最优值大于4,需要对它进一步分支。

上述求解过程可用图5-4来说明:

分支定界法解整数规划的一般步骤可归结如下:

步骤1:

取(ILP)的目标函数值的初始下界。

用单纯形法求解整数规划问题(ILP)的松弛问题(LP)。

步骤2:

若问题(LP)不可行,则(ILP)也不可行,算法终止;若问题(LP)的最优解X*为(ILP)的可行解,则它就是(ILP)的最优解,算法终止。

若问题(LP)的最优解存在,但不满足(ILP)的整数要求,转步骤3。

步骤3:

任选X*中不满足整数要求的一个变量进行分支,即对问题(LP)分别增加约束条件和,形成两个子问题,并求解。

转步骤4。

步骤4:

考察所有子问题,有以下四种情况:

a.若某个子问题的最优解也是问题(ILP)的可行解,则将它的目标函数值与作比较,并取较优的一个作为新的界限。

如所有子问题都已考察完毕,则保留下来的及其对应的解即为问题(ILP)的最优解。

b.若某个子问题的最优解不是(ILP)的可行解,且其最优值不如,则将这一分支删掉。

c.若某个子问题不可行,则将这一分支删掉。

d.若某个子问题的最优解不是(ILP)的可行解,且其最优值优于,则该问题为待考察的问题。

如有多个问题待考察,优先对其中最优值最大的一个子问题进行考察,转步骤3。

解:

用图解法解对应的(LP)问题,如表所示,获得最优解。

【例】用分枝定界法求解整数规划问题,(3.25,2.5),x1=13/4x2=5/2Z(0)=59/414.75,选x2进行分枝,即增加两个约束,x22和x23,分枝出以下两个问题:

(3.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1