整数规划-模型资料

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

j
1, 2,, n)
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));
9
3) 分枝:在问题(B)的最优解中任选一个不满足整
数约束的变量 x j b j ,附加两个整数不等式约束: x j [b j ] 和 x j [bj ] 1 到问题(B)中,构成两个新 的子问题 (B1 ) 和 (B2 ) ,求 (B1 ) 和 (B2 ) 的解。
定界:对每一子问题的求解结果,找出最优值
问题的目标函
数为总利润求
nm
z
rij xij
i1 j1
的最大值.
nm
max z
rij xij ,
i1 j 1
n
xij X j ( j 1, 2,L
, m),
s.t.
i 1 m
ajX
j
M,
j 1
xij
0且为整数(i
1, 2,L
, n),
X j 0且为整数( j 1, 2,L , m).
相排斥(不交叉)的整型约束,就得两个子问题. 继续求解定界,重复下去,直到得到最优解为 止.
7
2. 分枝定界法的一般步骤
1)将原整数规划问题(A)去掉所有的整数约束变为线 性规划问题(B),用线性规划的方法求解问题(B):
• 问题(B)无可行解,则(A)也无可行解,停止;
问题(B)有最优解 X * ,并是(A)的可行解,则此
3
在这个问题中,所求解均是整数,初看起来, 似乎只要把已得到的带有分数或小数的解经过“ 舍入化整”就可以了,实际上这常常是不行的, 因为化整后不见得是可行解,或虽是可行解但不 一定是最优解。这种求最优整数解的问题就是整 数规划。
整数规划中如果所有的变量都限制为(非负) 整数,称为纯整数规划;如果仅一部分变量限制 为整数,称为混合整数规划;整数规划一种特殊 的情形是0-1规划,它的变量取值仅限于0和1。
@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)););
END
12
例:一个简单的整数规划模型
max z x1 x2
2x1 x2 6 4x1 5x2 20
5
二.整数规划的求解方法
1. 分枝定界法的基本思想(举例说明)
n
max(min)z c j x j j 1
(A)
n
aij x j (, )bi (i 1,2,, m)
j1
x
j
0, x j为整数(
j
1,2,, n)
n
max(min)z cj xj j 1
(B)
n
aij x j
11
3. 整数规划的lingo解法
MODEL: sets: row/1..m/:b; arrange/1..n/:c,x; link(row,arrange):a; endsets
n
min z c j x j j 1
n
aij x j bi (i 1, 2,, m)
j1
x
j
0,
x j为整数(
x1, x2 0且x1, x2取整数
13
其lingo语句如下:
MODEL: sets: row/1..2/:b; arrange/1..2/:c,x; link(row,arrange):a; endsets data: b=6,20;c=1,1;a=2,1,4,5; enddata [OBJ]max=@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));); END
整数规划方法
一.整数规划的一般模型 二.整数规划的求解方法 三.0-1整数规划 四.整数规划案例分析
1
一.整数规划的一般模型
1. 问题的提出:固定资源分配问题 设某企业有 n 个生产车间需要 m 种资源,对于第 i 个
生产车间分别利用第 j 种资源 xij 进行生产,单位资源可 以获得利润为 rij (i 1, 2,L , n; j 1, 2,L , m) .若第 j 种资
(, )bi (i 1, 2,, m)
j1
x
j
0(
j
1, 2,, n)
将原问题(A)中整数约束去掉变为问题(B), 求出(B)的最优解.
分枝定界法.ppt
6Hale Waihona Puke Baidu
如果不是原问题(A)的可行解,则通过附加线性不 等式约束(整数),将问题(B)分枝变为若干子问题
(Bi )(i 1,2, , I ) ,即对每一个非整变量附加两个互
4
2. 整数规划模型的一般形式
n
max(min)z c j x j j 1
(A)
n
aij x j
(, )bi (i 1,2,, m)
j1
x
j
0,
x j为整数(
j
1,2,, n)
•问题是如何求解整数规划问题呢? •能否设想先略去决策变量整数约束,即变为线性 规划问题求解,再对其最优解进行取整处理呢? •实际上,可借鉴这种思想来解决整数规划问题.
解就是(A)的最优解,计算结束;
问题(B)有最优解 X * ,但不是(A)的可行解,转下一步。
8
2)将 X * 代入目标函数,其值记为 z ,并用观察
法找出(A)的一个可行解(整数解,不妨可取
x j 0( j 1,2, , n) ),求得目标函数值(下界 值),记为 z ,则(A)的最优值记为 z * ,即有 z z * z ,转下一步;
源的单位价格为 a j ( j 1, 2,L , m) ,该企业现有资金 M 元.
试问该企业应购买多少第 j 种资源(总量为 X j ),又 如何分配给所属的 n 个生产车间,使得总利润最大?
2
解 设决策变量为 xij (i 1, 2,L , n; j 1, 2,L , m) 表示分
配给第 i 个生产车间的第 j 种资源的资源量,均为非负整 数,第 j 种资源的需求总量 X j ( j 1, 2,L , m) 也都为整数.
最小者为新的上界 z ,从所有符合整数约束条 件的分枝中找出目标函数值最大的为新下界 z
10
4)比较与剪枝:各分枝问题的最优值同 z 比较,如果其值 小于 z ,则这个分枝可以剪掉,以后不再考虑。
如果其值大于 z ,且又不是(A)的可行解,则继续分 枝 , 返 回 ( 3 ), 直 到 最 后 得 到 最 优 解 使 z* z , 即 x*j ( j 1,2,,n) 为最优解。
相关文档
最新文档