第11讲 整数规划方法

合集下载

整数规划算法

整数规划算法
只要求出(LP3)和(LP4)的最优解即可。

先求(LP3),如图所示。 此时D 在点取得最优解。
x2
A 3 B C

(18/11,40/11)
D ⑶
即 x1=12/5≈2.4, x2 =3,
Z(3)=-87/5≈-17.4<Z≈-19.8
但x1=12/5不是整数,可继 续分枝。即 3≤x1≤2。
(三)、整数规划与线性规划的关系
从数学模型上看整数规划似乎是线 性规划的一种特殊形式,求解只需在线 性规划的基础上,通过舍入取整,寻求 满足整数要求的解即可。但实际上两者 却有很大的不同,通过舍入得到的解 (整数)也不一定就是最优解,有时甚 至不能保证所得倒的解是整数可行解。 举例说明。
例:设整数规划问题如下
用 图 解法求出最优解 x1=3/2, x2 = 10/3 且有Z = 29/6
x2
3


(3/2,10/3)
现求整数解(最优解): 如用“舍入取整法”可得 到4个点即(1,3) (2, 3)(1,4)(2,4)。显然, 它们都不可能是整数规划 的最优解。
3
x1
按整数规划约束条件,其可行解肯定在线性规划问题 的可行域内且为整数点。故整数规划问题的可行解集 是一个有限集,如图所示。
各分枝的目标函数值中,若有小于Z 者,则剪掉此 枝,表明此子问题已经探清,不必再分枝了;否则继续 分枝。
如此反复进行,直到得到Z=Z*=Z 为止,即得最优解 X* 。
(二)、例题 例一:用分枝定界法求解整数规划问题(用图解法计算) min Z x1 5 x2 x1 x2 2 5 x 6 x 30 记为(IP) 1 2 x 4 1 x1 , x2 0且全为整数 解:首先去掉整数约束,变成一般线性规划问题 min Z x1 5 x2 x1 x2 2 5 x 6 x 30 记为(LP) 1 2 x 4 1 x1 , x2 0

整数规划

整数规划
划的最优解为z* ,则
z z* z
转下一步
步骤
步骤3:分支与定界
①分支 在线性规划问题的最优解中任选一个不 满足整数约束的变量 x j b(j 非整数),附加两个 整数不等式约束条件:x j [bj ]和 x j [bj ] 1 到线 性问题中构成两个新的子问题,仍不考虑整数 约束条件,求解两个子问题的解
基本步骤
步骤1:对效益矩阵C进行变换,使每行每列都 出现0元素。
①在效益矩阵中每一行减去该行的最小元素; ②在①基础上得到的矩阵中每一列减去该列最小
的元素。所得矩阵为D
基本步骤
步骤2:将D矩阵中的0元素置为1,非零元素置为 0,记此矩阵为E.
步骤3:确定独立1元素组 ①在矩阵E中,选择1元素最少的行,比较改行中
(j 1,2,...,m).
求解方法
➢ 过滤隐枚举法 从可能的组合取值中利用过 滤条件排除一些不是最优解的情况,考察一 部分的组合就可以得到最优解。
➢ 指派问题的匈牙利方法 ➢ 蒙特卡洛法
匈牙利方法
基本思想:通过初等变换修改效益矩阵的 行或列,使得在每一行或列中至少有一个 零元素,直到在不同行不同列中至少有一 个零元素为止,从而得到与这些零元素相 对应的一个方案,这个方案就是最优方案。
求解方法(二)
➢ 割平面法
基本思想:同样地去掉整数约束条件变为线 性规划问题,引入线性约束条件使可行域缩 小,切割的是问题的非整数解的一部分,不 切掉任何整数解。直到目标函数达到最优解 的整数解成为可行域的顶点。
例子1
求解下述整数规划
Max z 40x1 90x2
9x1 7x2 56 7x1 20x2 70
步骤
步骤1:将整数规划问题去掉所有整数约束变为 线性规划问题,求解出此问题,则有

整数规划解法-优质课件

整数规划解法-优质课件

1 2 0 0
0 2 0 3
1 2 4 0 2 0 3 0
1 2 0 0 0 2 0 3 0 2 4 0 2 2 3 1
19
若矩阵A的元素可分成“0”与非“0”两 部分,则覆盖“0”元素的最少直线数等 于位于不同行、不同列的“0”元素的最 大个数。
交甲、乙、丙、丁四个人去完成。因各人专长不同,他们 完成翻译不同文字所需的时间(h)如表所示。问:如何分 配任务使效率最高(所需总时间最短)?
从人的 角度看
工作
人甲

丙丁
译成英文
2
10
9
7
从任务 角度看
译成日文
15
4
14 8
译成德文
13
14
16 11
译成俄文
4
15 13 9
12Βιβλιοθήκη 指派问题的一般模型 假设: [aij]表示指派问题的效率矩阵 xij表示决策变量,决策变量的取值:
选X1分枝
问题(2) (1) X1 4
问题(3) (1) X1 5
将[4,5]之间的非整数部分舍去
7
问题2 解为 X1 =4 Z=349.0
X2 =2.1
问题3
解为 X1 =5
Z=341.39
X2 =1.571
选(2)继续分枝
问题(4)
(2)
X2 2
问题(5)
(2)
X2 3
8
(1) 4.809 355.890 1.817
i+1
Xji*
X*
(B) (C)
Xj i+1
(B) (D)
Xj i
5
例: max Z=40X1 + 90X2 9X1+7X2 56 7X1+20X2 70

整数规划的求解方法有哪些

整数规划的求解方法有哪些

整数规划的求解方法有哪些在线性规划问题中,有些最优解可能是分数或小数,但对于某些具体问题,常要求某些变量的解必须是整数。

例如,当变量代表的是机器的台数,工作的人数或装货的车数等。

为了满足整数的要求,初看起来似乎只要把已得的非整数解舍入化整就可以了。

实际上化整后的数不见得是可行解和最优解,所以应该有特殊的方法来求解整数规划。

在整数规划中,如果所有变量都限制为整数,则称为纯整数规划;如果仅一部分变量限制为整数,则称为混合整数规划。

整数规划的一种特殊情形是01规划,它的变数仅限于0或1。

不同于线性规划问题,整数和01规划问题至今尚未找到一般的多项式解法。

组合最优化通常都可表述为整数规划问题。

两者都是在有限个可供选择的方案中,寻找满足一定约束的最好方案。

有许多典型的问题反映整数规划的广泛背景。

例如,背袋(或装载)问题、固定费用问题、和睦探险队问题(组合学的对集问题)、有效探险队问题(组合学的覆盖问题)、旅行推销员问题, 车辆路径问题等。

因此整数规划的应用范围也是极其广泛的。

它不仅在工业和工程设计和科学研究方面有许多应用,而且在计算机设计、系统可靠性、编码和经济分析等方面也有新的应用。

整数规划是从1958年由R.E.戈莫里提出割平面法之后形成独立分支的,30多年来发展出很多方法解决各种问题。

解整数规划最典型的做法是逐步生成一个相关的问题,称它是原问题的衍生问题。

对每个衍生问题又伴随一个比它更易于求解的松弛问题(衍生问题称为松弛问题的源问题)。

通过松弛问题的解来确定它的源问题的归宿,即源问题应被舍弃,还是再生成一个或多个它本身的衍生问题来替代它。

随即,再选择一个尚未被舍弃的或替代的原问题的衍生问题,重复以上步骤直至不再剩有未解决的衍生问题为止。

目前比较成功又流行的方法是分支定界法和割平面法,它们都是在上述框架下形成的。

0-1规划在整数规划中占有重要地位,一方面因为许多实际问题,例如指派问题、选地问题、送货问题都可归结为此类规划,另一方面任何有界变量的整数规划都与0-1规划等价,用0-1规划方法还可以把多种非线性规划问题表示成整数规划问题,所以不少人致力于这个方向的研究。

整数规划方法

整数规划方法

割平面法是R.E.Gomory于1958年提出的一种方法,它主要 用于求解纯ILP。 割平面法是用增加新的约束来切割可行域,增加的新约束 称为割平面方程或切割方程。其基本思路为: 若其松弛问题的最优解X*不满足整数约束,则从X*的 非整分量中选取一个,用以构造一个线性约束条件,将其 加入原松弛问题中,形成一个新的线性规划,然后求解之 。若新的最优解满足整数要求,则它就是整数规划的最优 解;否则重复上述步骤,直到获得整数最优解为止。
用割平面法求整数规划问题最优解的步骤: 1. 求整数规划问题所对应的线性规划问题的最优 解。如果是整数解,则停止计算,否则,进行下一步。 2. 由最终单纯形表得到:
xi aik xk bi
k
xi 是基变量
将a ik,bi 都分解为整数部分 和非负真分数之和, N f 即:
aik N ik f ik bi N i f i 0 f ik 1 0 fi 1
为最终获得整数最优解,每次增加的线性约束条件应当两 个基本性质: (1)已获得的不符合整数要求的LP最优解不满足该线性 约束条件,从而不可能在以后的解中出现; (2)凡整数可行解均满足该线性约束条件,因而整数最优 解始终被保留在每次剩余的线性规划可行域中。
例1 用割平面法求解整数规划问题
max z x1 x 2 x1 x 2 1 3 x x 4 1 2 s.t. x1 , x 2 0 x1 , x 2是整数
继续求解定界,重复下去,直到得到最优解为 止。
7
二、整数规划求解方法
2. 分枝定界法一般步骤
1)将原整数规划问题(A)去掉所有的整数约束变为线 性规划问题(B) ,用线性规划的方法求解问题(B):

(完整word版)整数规划的数学模型及解的特点

(完整word版)整数规划的数学模型及解的特点

整数规划的数学模型及解的特点整数规划IP (integer programming ):在许多规划问题中,如果要求一部分或全部决策变量必须取整数。

例如,所求的解是机器的台数、人数、车辆船只数等,这样的规划问题称为整数规划,简记IP 。

松弛问题(slack problem):不考虑整数条件,由余下的目标函数和约束条件构成的规划问题称为该整数规划问题的松弛问题。

若松弛问题是一个线性规化问题,则该整数规划为整数线性规划(integer linear programming)。

一、整数线性规划数学模型的一般形式∑==nj jj x c Z 1min)max(或中部分或全部取整数n j nj i jij x x x mj ni x b xa ts ,...,,...2,1,...,2,10),(.211==≥=≥≤∑=整数线性规划问题可以分为以下几种类型1、纯整数线性规划(pure integer linear programming ):指全部决策变量都必须取整数值的整数线性规划。

有时,也称为全整数规划.2、混合整数线性规划(mixed integer liner programming):指决策变量中有一部分必须取整数值,另一部分可以不取整数值的整数线性规划。

3、0—1型整数线性规划(zero —one integer liner programming ):指决策变量只能取值0或1的整数线性规划。

1 解整数规划问题0—1型整数规划0-1型整数规划是整数规划中的特殊情形,它的变量仅可取值0或1,这时的变量xi 称为0-1变量,或称为二进制变量.⎪⎪⎪⎩⎪⎪⎪⎨⎧≥≤+≥+≤-+=且为整数0,5210453233max 2121212121x x x x x x x x x x z0—1型整数规划中0—1变量作为逻辑变量(logical variable ),常被用来表示系统是否处于某一特定状态,或者决策时是否取某个方案。

求解整数规划的方法

求解整数规划的方法整数规划是一种最优化问题,其解决方案限制了决策变量必须取整数值。

整数规划的应用非常广泛,涉及到许多实际问题,如制造业生产调度、物流优化、资源分配等。

在本文中,我们将介绍几种常用的整数规划方法。

一、分支定界法分支定界法是一种常用的整数规划求解方法,它通过不断将解空间分割为子问题并求解这些子问题,最终找到整数规划的最优解。

具体步骤如下:1. 初始时,将整数规划问题转化为一个线性规划问题,并求解线性规划问题的松弛解。

2. 如果松弛解满足整数约束条件,则找到一个整数解,更新当前最优解。

3. 如果松弛解不满足整数约束条件,则选择一个变量将其分割为两个子问题,并分别求解这两个子问题。

4. 对每个子问题,递归地应用上述步骤,直到找到一个整数解或者确定当前子问题的上界小于当前最优解。

5. 最终,得到整数规划的最优解。

分支定界法的优点是能够保证找到最优解,但其缺点是计算复杂度较高,特别是在问题规模较大时,会导致计算时间过长。

二、整数规划的近似算法当整数规划问题规模较大时,找到精确解的计算复杂度可能变得非常高,此时可以考虑使用近似算法来求解。

近似算法的思想是通过放松整数约束条件,将整数规划问题转化为一个线性规划问题,并对线性规划问题进行求解。

然后,根据线性规划问题的解,对整数规划问题进行修正,得到整数规划问题的一个近似解。

三、割平面法割平面法是一种常用的整数规划求解方法,它通过添加一系列线性不等式(割平面)来逐步减小可行解空间,最终找到整数规划的最优解。

具体步骤如下:1. 初始时,将整数规划问题转化为一个线性规划问题,并求解线性规划问题的松弛解。

2. 如果松弛解满足整数约束条件,则找到一个整数解,更新当前最优解。

3. 如果松弛解不满足整数约束条件,则根据当前松弛解所对应的目标函数值,添加一系列线性不等式(割平面)来限制可行解空间。

4. 对添加了割平面约束的线性规划问题,继续求解,并更新最优解。

5. 重复以上步骤,直到找到一个整数解或者确定当前问题的上界小于当前最优解。

整数规划演示教案资料.


§3.整数规划的解法二
割平面法:
n
考虑纯整数规划问题: maxz c j x j j 1
n
aij x j
bi
i 1, 2,
,m
s.t.
j
1
xj 0
j 1, 2, , n
x j取整数
j 1, 2, , n
设其中aij(i=1,2,…,m;j=1,2,…,n)和bi(i=1,2,…,m)皆为整数
本章中,我们讨论的主要对象是整数线性规划,
下面的讨论中将省略线性二字
整数规划(3)
例1.某厂拟用集装箱托运甲乙两种货物,每箱的体
积、重量、 可获利及托运限制如下表:
货物
体积
重量
利润
(每箱立方米) (每箱百斤) (每箱百元)

5
2
20

4
5
10
托运限制 24
13
问:两种货物各托运多少箱,可使获利最大?
对问题(2)进行分解,得问题(5)和问题(6):
分支定界解法(7)
问题5
max z 40x1 90x2........(1)
9x1 7x2 56.............(2)
s.t.
7 x1 x1
20x2 0, x2
70...........(3) 0,..............(4)
70...........(3) 0,..............(4)
x1
5..........................(7)
x2 2.........................(11)
问题(5)有 x1=5.44, x2=1 , z5=308

整数规划ppt课件


可行解的凸组合不一定满足整数要求,因而不一定
仍为可行解)。
2021精选ppt
第13页
产生问题:利用对松弛问题的最优解中不符合整
数要求的分量简单地取整,是否能得出整数规划
问题的最优解呢?
2021精选ppt
第14页
3. 对松弛问题的最优解中不符合整数要求的分量简 单地取整,所得到的问题解:
不一定是整数线性规划问题的最优解。
θi
CB XB
b
x1 x2
x3
x4
x5
x6
6 x2 88/23 0 1 4/23 -3/23 0 0
5 x1 72/23 1 0 -3/23 8/23 0 0
-M x6 4 1 0 0 0 -1 1
c j– z j
2021精选ppt
第43页
将 x1 的系数列向量变为单位向量,并计算检验数
cj
5
CB XB
第8页
整数线性规划
松弛问题
n
max( 或 min) z c j x j j1
n
a ij x j ( 或 , )b i , i 1 ,..., m
j1 x j 0 , j 1 ,..., n
x
1
,...,
x n中部分或全部取整数
n
max( 或 min) z c j x j j1
甚至也不一定是整数线性规划问题的可行解。
2021精选ppt
第15页
例:
mz a 2 xx 0 1 1x 0 2
5 x 1 4 x 2 24
2 x
x
1
1
,
x2
5x
2
0
13
x 1 , x 2 整 数

整数规划


i=1 j=1
整数规划的特点及应用
例1 现有资金总额为B。可供选择的投资项目有n个,项目 j所需投资额和预期收益分别为aj和cj(j=1,2,..,n),此 外由于种种原因,有三个附加条件: 若选择项目1,就必须同时选择项目2。反之不一定
7
项目3和4中至少选择一个;
项目5,6,7中恰好选择2个。 应该怎样选择投资项目,才能使总预期收益最大。
14
x2
3


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

4
4
c ij x ij + [1200y 1 + 1500y 2 ]
ì x 11 + x 21 + x 31 + x 41 = 350 ï ï ï ï x 12 + x 22 + x 32 + x 42 = 400 ï ï ï ï x 13 + x 23 + x 33 + x 43 = 300 ï ï ï x 14 + x 24 + x 34 + x 44 = 150 ï ï ï ï ï x 11 + x 12 + x 13 + x 14 = 400 s .t . í ï x 21 + x 22 + x 23 + x 24 = 600 ï ï ï x 31 + x 32 + x 33 + x 34 = 200y 1 ï ï ï ï x 41 + x 42 + x 43 + x 44 = 200y 2 ï ï ï x ij ? 0 (i , j 1, 2, 3, 4) ï ï ï ï y = 0,1 (i = 1, 2) ï ï î i
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十一章整数规划方法整数规划的一般模型;整数规划解的求解方法;整数规划的软件求解方法;0-1规划的模型与求解方法;整数规划的应用案例分析。

一、整数规划的一般模型1. 问题的提出:固定资源分配问题设某企业有n 个生产车间需要m 种资源,对于第i 个生产车间分别利用第j 种资源ij x 进行生产,单位资源可以获得利润为ij r (1,2,,;1,2,,)i n j m == .若第j 种资源的单位价格为(1,2,,)j a j m = ,该企业现有资金M 元.试问该企业应购买多少第j 种资源(总量为j X ),又如何分配给所属的n 个生产车间,使得总利润最大?固定资源分配问题解 设决策变量为(1,2,,;1,2,,)ij x i n j m == 表示分配给第i 个生产车间的第j 种资源的资源量,均为非负整数,第j 种资源的需求总量(1,2,,)j X j m = 也都为整数. 问题的目标函数为总利润求11n mij iji j z r x ===∑∑的最大值. 1111max ,(1,2,,),,s.t.0(1,2,,),0(1,2,,).n mij ij i j nij j i m j j j ij j z r x x X j m a X M x i n X j m =====⎧==⎪⎪⎪≤⎨⎪≥=⎪≥=⎪⎩∑∑∑∑ 且为整数且为整数2. 整数规划模型的一般形式一、整数规划的一般模型(A) ⎪⎩⎪⎨⎧⋅⋅⋅=≥⋅⋅⋅=≥=≤=∑∑==),,2,1(,0),,2,1(),(max(min)11n j x x m i b x a x c z j j i nj j ij nj jj 为整数 •问题是如何求解整数规划问题呢?•能否设想先略去决策变量整数约束,即变为线性规划问题求解,再对其最优解进行取整处理呢?•实际上,可借鉴这种思想来解决整数规划问题.1 .整数规划求解的总基本思想•松弛问题(A)中的约束条件,使构成易于求解的新问题---松弛问题(B);•如果问题(B)的最优解是原问题(A)的可行解,则就是原问题(A)的最优解;•否则,在保证不改变松弛问题(B)的可行解的条件下,修正松弛问题(B)的可行域(增加新的约束),得到新问题(C),再求问题(C)的解.•重复这一过程直到修正问题的最优解在原问题(A)的可行域内为止,即得到了原问题的最优解。

1 .整数规划求解的总基本思想(A) ⎪⎩⎪⎨⎧⋅⋅⋅=≥⋅⋅⋅=≥=≤=∑∑==),,2,1(,0),,2,1(),(max(min)11n j x x m i b x a x c z j j i n j j ij n j jj 为整数 (B) 11max(min)(,)(1,2,,)0(1,2,,)nj j j nij j i j j z c x a x b i m x j n ===⎧≤=≥=⋅⋅⋅⎪⎨⎪≥=⋅⋅⋅⎩∑∑ !!注意:如果每个松弛问题的最优解不是原问题的可行解,则这个解对应的目标函数值z 一定是原问题最优值*z 的上界(最大化),即z z ≤*,或下界(最小化),即z z ≥*.(1)分枝定界法的思想2 .整数规划分枝定界法● 将原问题(A)中整数约束去掉变为问题(B),求出(B)的最优解.● 如果不是原问题(A)的可行解,则通过附加线性不等式约束(整数),将问题(B)分枝变为若干子问题),,2,1)((I i B i ⋅⋅⋅=,即对每一个非整变量附加两个互相排斥(不交叉)的整型约束,就得两个子问题. ●继续求解定界,重复下去,直到得到最优解为止。

2、整数规划的分枝定界法(2)分枝定界法一般步骤1)将原整数规划问题(A)去掉所有的整数约束变为线性规划问题(B),用线性规划的方法求解问题(B):•问题(B)无可行解,则(A)也无可行解,停止;X,并是(A)的可行解,则此●问题(B)有最优解*解就是(A)的最优解,计算结束;●问题(B)有最优解*X,但不是(A)的可行解,转下一步。

2)将*X 代入目标函数,其值记为z ,并用观察法找出(A )的一个可行解(整数解,不妨可取),,2,1(0n j x j ⋅⋅⋅==),求得目标函数值(下界值),记为z ,则(A )的最优值记为*z ,即有z z z ≤≤*,转下一步; (2)分枝定界法一般步骤3) 分枝:在问题(B)的最优解中任选一个不满足整数约束的变量j j b x =,附加两个整数不等式约束:][j j b x ≤和1][+≥j j b x 到问题(B)中,构成两个新的子问题)(1B 和)(2B ,求)(1B 和)(2B 的解。

定界:对每一子问题的求解结果,找出最优值最小者为新的上界z ,从所有符合整数约束条件的分枝中找出目标函数值最大的为新下界z(2)分枝定界法一般步骤(2)分枝定界法一般步骤4)比较与剪枝:各分枝问题的最优值同z 比较,如果其值小于z ,则这个分枝可以剪掉,以后不再考虑。

如果其值大于z ,且又不是(A )的可行解,则继续分枝,返回(3),直到最后得到最优解使z z =*,即),,2,1(*n j x j⋅⋅⋅=为最优解。

(1)割平面法的思想将原整数规划问题(A)去掉整数约束变为线性规划问题(B),引入线性约束条件(称为Gomory约束,几何术语割平面)使问题(B)的可行域逐步缩小.每次切割掉的是问题非整数解的一部分,不切掉任何整数解,直到最后使目标函数达到最优的整数解成为可行域的一个顶点时,即问题最优解。

利用线性规划的求解方法逐步缩小可行域,最后找到整数规划的最优解。

(2)割平面法的一般步骤设原问题中有n 个决策变量,m 个松弛变量,共m n +个变量,略去整数约束求解线性规划问题. 设),,2,1(m i x i ⋅⋅⋅=表示基变量,),,2,1(n j y j ⋅⋅⋅=表示非基变量.1)在最优解中任取一个具有分数值的基变量,不妨是)1(m i x i ≤≤,则有i n j j ij i b y a x =+∑=1,即∑=-=n j j ij i i y a b x 1 (a )2)将i b和ij a(为假分数)分为整数部分和非负的真分数,即),,2,1(,njfNafNbijijijiii⋅⋅⋅=+=+=,其中iN和ijN表示整数,而)10(<<iiff和)10(<≤ijijff表示真分数,代入(a)式,并将整数放在一边,分数放在一边,即∑∑==-=-+njjijijnjjijiyffNyNx11(b)3)要使ix和jy都有为整数,(b)式的左端必为整数,右端也是整数,而且由jijyf,0≥是非负整数,故此01≥∑=njjijy f,又因0>if是真分数,于是有11<≤-∑=injjijify ff,则必有1≤-∑=njjijiy ff(c)这就是所要求的切割方程(Gomory约束条件)。

4)对(c)引入一个松弛变量iS,则(c)变为injjijifyfS-=-∑=1将其加入原问题中去,求解新的线性规划问题.5)应用单纯形法求解,直到最优解为整数解为止,否则继续构造Gomory约束条件。

3、整数规划的LINGO 解法二、整数规划的求解方法MODEL: sets: row/1..m/:b; arrange/1..n/:c,x; link(row,arrange):a; endsets data:b=b(1),b(2),…,b(m); c=c(1),c(2),…,c(n); a=a(1,1),a(1,2),…,a(1,n),... ... ... ...a(m,1),a(m,2),…,a(m,n);enddata[OBJ] min=@sum(arrange(j):c(j)*x(j));@for(row(i):@sum(arrange(j):a(i,j)*x(j))>=b(i);); @for(arrange(j):x(j)>=0;);@for(arrange(j):@GIN(x(j)););END11min (1,2,,)0,(1,2,,)n j j j n ij j i j j j z c x a x b i m x x j n ===⎧≥=⋅⋅⋅⎪⎨⎪≥=⋅⋅⋅⎩∑∑为整数1、0-1整数规划的模型三、0-1 整数规划0-1规划一般模型: ∑==nj j j x c z 1max(min)⎪⎩⎪⎨⎧⋅⋅⋅==⋅⋅⋅=≥=≤∑=),,2,1(,10),,2,1(),(1n j x m i b x a ji n j j ij 或 如果整数线性规划问题的所有决策变量i x 仅限于取0或1两个值,则称此问题为0-1线性规划,简称为0-1规划。

三、0-1 整数规划2、指派(或分配)问题在生产管理上,总希望把人员最佳分派,以发挥其最大工作效率,创造最大的价值。

例如:某部门有n项任务,正好需要n个人去完成,由于任务的性质和各人的专长不同,如果分配每个人仅能完成一项任务。

如何分派使完成n项任务的总效益为最高(效益量化),这是典型的分配问题。

现在不妨设有4个人,各有能力去完成4项科研任务中的任一项,由于4个人的能力和经验不同,所需完成各项任务的时间如右表:项目人员A B C D甲乙丙丁2109715414813141611415139问如何分配何人去完成何项目使完成4项任务所需总时间最少?建立模型:设ij x 表示第i 个人去完成第j 项任务,则⎩⎨⎧=项任务时个人不去完成第当第项任务时个人去完成第当第j i j i x ij ,0,1 每个人去完成一项任务的约束为 ⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++=+++111144434241343332312423222114131211x x x x x x x x x x x x x x x x 每一项任务必有一人完成的约束:⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++=+++111144342414433323134232221241312111x x x x x x x x x x x x x x x x目标函数:444342413433323124232221141312119118713161491514410413152min x x x x x x x x x x x x x x x x z +++++++++++++++=记系数矩阵为⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=9118713161491514410411152ij c 称其为效益(价值)矩阵.ij c 表示第i 个人去完成第j 项任务时有关的效益(时间、费用、价值等)。

则目标函数可表示为ij i j ij x c z ∑∑===4141min⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧======∑∑==)4,3,2,1,(1034,2,1,14,3,2,1,14141j i or x j x i x ij ij i ij j故模型为:ij i j ijx cz ∑∑===4141min设指派问题有相应的系数矩阵()nn ijc ⨯,其元素ijc 表示分配第i 个人去完成第j 项任务时的效益(0≥),或者说:以ij c 表示给定的第i 单位资源分配用于第j 项活动时的有关效益。

相关文档
最新文档