19486-数学建模-第2讲整数规划
整数规划和动态规划-数学建模
(1.13), (1.14)
max z = ∑ (0.487xi1 + 0.520 xi2 + 0.613 xi3 + 0.720 xi 4 + 0.487 xi 5 + 0.520 xi 6 + 0.640 xi 7 )
i =1
2
于是成为一个有 13 个不等式约束 14 个自然条件的整数线性规划模型,目标是函数 的最大化. (3)问题求解 1) 此模型可用分枝定界法,割平面法求最优解,但用部分枚举法比较便当. 部分枚举法————隐枚举法(Implicit Enumeration) 2) 用 Lingo 软件求解 max=0.487*x11+0.520*x12+0.613*x13+0.720*x14+0.487*x15+0.520*x16+0.640*x17+ 0.487*x21+0.520*x22+0.613*x23+0.720*x24+0.487*x25+0.520*x26+0.640*x27; x11+x21<=8; x12+x22<=7; x13+x23<=9; x14+x24<=6; x15+x25<=6; x16+x26<=4; x17+x27<=8; 2*x11+3*x12+x13+0.5*x14+4*x15+2*x16+x17<=40;
西安理工大学理学院
王秋萍
x13 + x23 ≤ 9 x14 + x24 ≤ 6 x15 + x25 ≤ 6 x16 + x26 ≤ 4 x17 + x27 ≤ 8
数学建模(整数规划)
整数规划模型实际问题中x x x x f z Max Min Tn "),(),()(1==或的优化模型mi x g t s i ",2,1,0)(..=≤x ~决策变量f (x )~目标函数g i (x )≤0~约束条件多元函数决策变量个数n 和数线性规划条件极值约束条件个数m 较大最优解在可行域学规非线性规划解的边界上取得划整数规划Programming+Integer所有变量都取整数,称为纯整数规划;有一部分取整数,称为混合整数规划;限制取0,1称为0‐1型整数规划。
型整数规划+整数线性规划max(min) nz c x =1j jj n=∑1s.t. (,) 1,2,,ij j i j a x b i m=≤=≥=∑"12 ,,,0 ()n x x x ≥"且为整数或部分为整数+例:假设有m 种不同的物品要装入航天飞机,它们的重量和体积分别为价值为w j 和v j ,价值为c j ,航天飞机的载重量和体积限制分别为W 和V ,如何装载使价值最大化?m1⎧1max j jj c y =∑ 1 0j j y =⎨被装载 s.t. mj j v y V≤∑0j ⎩没被装载1j m=1j j j w y W=≤∑ 0 or 1 1,2,,j y j m=="(Chicago)大学的Linus Schrage教授于1980年美国芝加哥(Chi)Li S h前后开发, 后来成立LINDO系统公司(LINDO Systems Inc.),网址:I)网址htt//li dLINDO: Interactive and Discrete Optimizer (V6.1) Linear(V61) LINGO: Linear Interactive General Optimizer (V8.0) LINDO——解决线性规划LP—Linear Programming,整数规划IP—Integer Programming问题。
整数规划的数学模型及解的特点-推荐下载
变量 xi 称为 0—1 变量,或称为二进制变量。 0—1 型整数规划中 0—1 变量作为逻辑变量(logical variable),常被用来表 示系统是否处于某一特定状态,或者决策时是否取某个方案。
1 如果决策i为是或有 xi 0 如果决策i为否或无
一、0—1 型整数规划的典型应用问题 例 1:背包问题:一个登山队员,他需要携带的物品有:食品、氧气、冰镐、 绳索、帐篷、照相器材、通信器材等。每种物品的重量和重要性系数如表所示。 设登山队员可携带的最大重量为 25kg,试选择该队员所应携带的物品。
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术艺料0不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试2下卷2,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并22工且22作尽22下可22都能22可地护以缩1关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编试要5写、卷求重电保技要气护术设设装交备备置底4高调、动。中试电作管资高气,线料中课并敷3试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
数学规划模型——整数规划问题
数学规划模型——整数规划问题title: 数学规划模型——整数规划问题date: 2020-02-27 00:37:35categories: 数学建模tags: [MATLAB, 数学规划模型]整数规划整数规划:线性整数规划 - Matlab可进⾏求解(线性的意思在线性规划的基础上 , 加⼊决策变量取整数的条件)⾮线性整数规划→⽆特定算法, 只能⽤近似算法 , 如蒙特卡罗模拟、智能算法 ( 后续会讲到)特例: 特殊的整数规划 , Matlab中也只能求解线性01规划, 对于⾮线性 0-1规划也只能近似求解 。
(数模⽐赛中常出现)Matlab整数规划求解线性整数规划求解[x ,fval] = linprog [ c, A, b, Aeq, beq, lb, ub, X0] -> 线性规划的函数[x ,fval] = intlinprog [ c, intconA, b, Aeq, beq, lb, ub]→ 线性整数规划的求解注 :intlinpng 不能指定初始值 ;加⼊了 inton 参数可以指定哪些决策变量是整数。
例如决策变量有三个 : x1,x2,x3 ; 若x1和x3,是整数 , 则 intcon= [1 , 3] 。
线性 0-1规划求解仍然使⽤intlinprog 函数 , 只不过在 lb和ub上作⽂章 。
例如决策变量有三个 : x1,x2,x3 ; 若x1和x3是0-1变量,x2不限制, 则 intcon= [1 , 3] ,lb=[0 -inf 0]',ub=[1,+inf,1]。
⼩例题%% 线性整数规划问题%% 例1c=[-20,-10]';intcon=[1,2]; % x1和x2限定为整数A=[5,4;2,5];b=[24;13];lb=zeros(2,1);[x,fval]=intlinprog(c,intcon,A,b,[],[],lb)fval = -fval%% 例2c=[18,23,5]';intcon=3; % x3限定为整数A=[107,500,0;72,121,65;-107,-500,0;-72,-121,-65];b=[50000;2250;-500;-2000];lb=zeros(3,1);[x,fval]=intlinprog(c,intcon,A,b,[],[],lb)%% 例3c=[-3;-2;-1]; intcon=3; % x3限定为整数A=ones(1,3); b=7;Aeq=[4 2 1]; beq=12;lb=zeros(3,1); ub=[+inf;+inf;1]; %x(3)为0-1变量[x,fval]=intlinprog(c,intcon,A,b,Aeq,beq,lb,ub)整数规划的典型例题背包问题%% 背包问题(货车运送货物的问题)c = -[540 200 180 350 60 150 280 450 320 120]; % ⽬标函数的系数矩阵(最⼤化问题记得加负号)intcon=[1:10]; % 整数变量的位置(⼀共10个决策变量,均为0-1整数变量)A = [6 3 4 5 1 2 3 5 4 2]; b = 30; % 线性不等式约束的系数矩阵和常数项向量(物品的重量不能超过30)Aeq = []; beq =[]; % 不存在线性等式约束lb = zeros(10,1); % 约束变量的范围下限ub = ones(10,1); % 约束变量的范围上限%最后调⽤intlinprog()函数[x,fval]=intlinprog(c,intcon,A,b,Aeq,beq,lb,ub)fval = -fval指派问题%% 指派问题(选择队员去进⾏游泳接⼒⽐赛)clear;clcc = [66.8 75.6 87 58.6 57.2 66 66.4 53 78 67.8 84.6 59.4 70 74.2 69.6 57.2 67.4 71 83.8 62.4]'; % ⽬标函数的系数矩阵(先列后⾏的写法)intcon = [1:20]; % 整数变量的位置(⼀共20个决策变量,均为0-1整数变量)% 线性不等式约束的系数矩阵和常数项向量(每个⼈只能⼊选四种泳姿之⼀,⼀共五个约束)A = [1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1];% A = zeros(5,20);% for i = 1:5% A(i, (4*i-3): 4*i) = 1;% endb = [1;1;1;1;1];% 线性等式约束的系数矩阵和常数项向量(每种泳姿有且仅有⼀⼈参加,⼀共四个约束)Aeq = [1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0;0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0;0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0;0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1];% Aeq = [eye(4),eye(4),eye(4),eye(4),eye(4)]; % 或者写成 repmat(eye(4),1,5)% Aeq=zeros(4,20);% for i = 1:4% for j =1:20% if mod(j,4)==i% Aeq(i,j)=1;% end% if i==4% if mod(j,4)==0% Aeq(i,j)=1;% end% end% end% endbeq = [1;1;1;1];lb = zeros(20,1); % 约束变量的范围下限ub = ones(20,1); % 约束变量的范围上限%最后调⽤intlinprog()函数[x,fval] = intlinprog(c,intcon,A,b,Aeq,beq,lb,ub)% reshape(x,4,5)'% 0 0 0 1 甲⾃由泳% 1 0 0 0 ⼄蝶泳% 0 1 0 0 丙仰泳% 0 0 1 0 丁蛙泳% 0 0 0 0 戊不参加钢管切割问题%% 钢管切割问题%% (1)枚举法找出同⼀个原材料上所有的切割⽅法for i = 0: 2 % 2.9m长的圆钢的数量for j = 0: 3 % 2.1m长的圆钢的数量for k = 0:6 % 1m长的圆钢的数量if 2.9*i+2.1*j+1*k >= 6 & 2.9*i+2.1*j+1*k <= 6.9disp([i, j, k])endendendend%% (2) 线性整数规划问题的求解c = ones(7,1); % ⽬标函数的系数矩阵intcon=[1:7]; % 整数变量的位置(⼀共7个决策变量,均为整数变量)A = -[1 2 0 0 0 0 1;0 0 3 2 1 0 1;4 1 0 2 4 6 1]; % 线性不等式约束的系数矩阵b = -[100 100 100]'; % 线性不等式约束的常数项向量lb = zeros(7,1); % 约束变量的范围下限[x,fval]=intlinprog(c,intcon,A,b,[],[],lb)。
整数规划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 整 数
整数规划(数据模型与决策)
0-1型整数线性规划:决策变量只能取值0或1的整数线性 规划。
整数规划的特点及应用
Page 4
例:指派问题或分配问题。人事部门欲安排四人到四个不同岗 位工作,每个岗位一个人。经考核四人在不同岗位的成绩 (百分制)如表所示,如何安排他们的工作使总成绩最好。
工作
人员 甲 乙 丙 丁
A 85 95 82 86
1 x ij 0
指派第 i个 人 做 第 j件 事 ( i , j 1,2,..., n) 不指派第 i个 人 做 第 j件 事
分配问题与匈牙利法
指派问题的数学模型为:
Page 8
min Z
c
i 1 j 1
n
n
ij
x ij
n x ij 1 ( i 1.2. .n) j 1 n x ij 1 ( j 1.2. .n) i 1 x ij 取0或1(i , j 1.2. .n)
Page 19
0 13 7 0 6 0 6 9 0 5 3 2 0 1 0 0
0 Ø 6 0 ◎ Ø 0
13 7 ◎ 0 ◎ 0 6 9 5 3 2 1 ◎ 0 Ø 0
独立0元素的个数为4 , 指派问题的最优指 派方案即为甲负责D工作,乙负责B工作, 丙负责A工作,丁负责C工作。这样安排 能使总的工作时间最少,为4+4+9+11 =28。
2)试指派(找独立0元素)
Page 22
2 2 4 4 0
0 4 2 4 5 0 3 0 1 0 1 3 0 3 5 1 2 3 0 5
2 2 4 4 ◎ 0
◎ 0
5 1 0 Ø 2
4 2 4 0 3 ◎ 0 Ø ◎ 0 1 3 3 5 1 3 Ø 0 5
第二章整数规划03
例1解:设甲、乙两种货物的托运箱数为x1、x2,则规划模 型的表达式如下:
LP问题 max z 2000 x1 1000 x2 IP问题
max z 2000 x1 1000 x2
5 x1 4 x2 24 st 2 x1 5 x2 13 x , x 0; 且为整数 1 2
2.3 0-1整数规划
各类决策问题中常遇到:是否执行某些问题或活动;在 什么时间或地点执行决策等问题。回答这类“是与否” 或“有与无” 的问题可借助整数规划中的0-1变量。 0-1变量的一般表示方式
1,如果决策 j为:是 xj 0, 如果决策 j为:否
2014/3/27
《运筹学》Ⅱ史慧萍
2014/3/27
《运筹学》Ⅱ史慧萍
10
m ax(或m in) z c j x j
j 1
n
n aij x j (或 , 或 )bi , i 1,2, , m j 1 st x j 0, j 1,2, , n x1 , x 2 ,, x n中部分或全部取整数
将两个约束条件加到IP问题中: x1≤[4.8]=4, x1≥[4.8]+1=5,得到两个子问题: IP1问题 IP1′问题
max z 2000 x1 1000 x2 5 x1 4 x2 24 2 x1 5 x2 13 st x1 5 x1 , x2 0; 且为整数 max z 2000 x1 1000 x2 5 x1 4 x2 24 2 x1 5 x2 13 st x1 4 x1 , x2 0; 且为整数
j 1 n
(2 - 1) (2 - 1a) (2 - 1b) (2 - 1c)
数学建模-整数规划
整数规划
Integer Programming
数信学院 任俊峰
2012-4-15
数学建模之整数规划
整数规划模型(IP)
如果一个数学规划的某些决策变量或全部决策 变量要求必须取整数,则称这样的问题为整数规 划问题,其模型称为整数规划模型。 如果整数规划的目标函数和约束条件都是线性 的,则称此问题为整数线性规划问题.
松弛问题最优解满足整数要求,则该最优解为整数 规划最优解;
数学建模之整数规划
整数线性规划的求解方法
从数学模型上看整数规划似乎是线性规划的 一种特殊形式,求解只需在线性规划的基础上,通 过舍入取整,寻求满足整数要求的解即可。 但实际上两者却有很大的不同,通过舍入得到
的解(整数)也不一定就是最优解,有时甚至不能
1 xj 0
选中第j个项目投资 不 选中第j个项目投资
max Z 160 x 1 210 x 2 60 x 3 80 x 4 180 x 5 210 x 1 300 x 2 150 x 3 130 x 4 260 x 5 600 x x2 x3 1 1 x3 x4 1 x x 1 5 x1 , x 2 , x 3 , x 4 , x 5 0 或 1
1 2
14 x1 9 x 2 51 6 x1 3 x 2 1 x1 , x 2 0
数学建模之整数规划
用图解法求出最优解 x1=3/2, x2 = 10/3 且有 z = 29/6 现求整数解(最优解): 如用“舍入取整法”可得到4 个点即(1,3) (2,3) (1,4) (2,4)。显然,它们都不可能 是整数规划的最优解。
数学建模之整数规划
例5 固定费用问题
2-整数规划
域R(图3-2),割掉三角形域
ACD,那么具有整数坐标的C点
(1,1)就是域 R’的一个极点,
如在域R’上求解①~④,而得
到的最优解又恰巧在C点,就得
到原问题的整数解,所以解法
的关键就是怎样构造一个这样
的“割平面”CD,这个结果可
能不是唯一的,也可能不是一
步求到的整,下面仍就数本例说明。 规
划
10
第二节 割 平 面 法
然后再增加一个新的线性约束(称为割平面),使相 应线性规划问题的可行域切割掉一部分,并使切割掉 的部分只包含非整数可行解,没有切割掉任何整数可 行解。
这个方法指出怎样找到适当的割平面,使切割后最终
得题到的的最可 优整行 解域 。,其整数数坐标的极点规恰好是整数划规划问
8
第二节 割 平 面 法
一、割平面法求解示例(1/6)
n
约束条件 aij x j (, )bi (i 1,2, , m)
j 1
整 xj≥0的整数 (j=数1,2,…,n规)
划
6
二、混合整数规划
如果上述模型中仅一部分变量限制为非负整数,则称 为混合整数规划,此时整数规划模型中对变量的附加 约束为
xj≥0(j=1,2,…,n) Xk为整数 (k=1,2,…,k, k<n) 三、0-1型整数规划
例3-1 求解
maxZ=x1+x2 ①
-x1+x2≤1
②
3x1+x2≤4
③
x1,x2≥0
④
x1,x2为整数
⑤
如不考虑条件⑤,求得相应线性规划的最优解为(A点):
x1=3/4, x2=7/4, maxZ=10/4不符合整数条件
整
整数规划的建模ppt课件
4、整数规划特点 整数规划标准形式(实际为整数线性规划) AX=b,X≥0,CTX=min,xj为整数(j=1,…,n) (1) (1.原线性规划有最优解,当自变量限制为整数后, 其整 数规划解出现下述情况;
①原线性规划最优解全是整数,则整数规划最优解与线性 规划最优解一致。
②整数规划无可行解。
③有可行解(当然就存在最优解),但最优解值变差。 原线性规划为:
x21+ x22+ x23+ x24= 1 (乙只能干一项工作) x31+ x32+ x33+ x34= 1 (丙只能干一项工作) x41+ x42+ x43+ x44= 1 (丁只能干一项工作) x11+ x21+ x31+ x41= 1 ( A工作只能一人干) x12+ x22+ x32+ x42= 1 ( B工作只能一人干) x13+ x23+ x33+ x43= 1 ( C工作只能一人干) x14+ x24+ x34+ x44= 1 ( D工作只能一人干)
②
x1 + x2 3
③
4x2+x3 6
④
x1 , x2 , x3为0或1
解:观察得解(x1 , x2 , x3 )=(1 ,0 ,0)
过滤条件:3x1 - 2x2+5x3 3
将(x1 x2 x3 ) (x2 x1 x3 )
Z0 =3
解(x2 x1 x3 ) 目标值 Z0 ① ② ③ ④ 当前最好值
例 求解0-1整数规划
M a3xx1z7x2x3
2x12x2 x3 0 ①
5x1x123xx2260x3 0
最优化方法第二章整数规划
将这两个约束条件分别加入问题( IP ) ,形成两个子问题 ( IP1)和( IP2 ) ,再解这两个子问题的松弛问题( LP1)和( LP2) 。
16
(1)先不考虑整数约束,解(IP)的松弛问题(LP): (2)定界: (3)分枝: (4)修改上、下界:按照以下两点规则进行。 ①在各分枝问题中,找出目标函数值最小者作为新的下 界; ②从已符合整数条件的分枝中,找出目标函数值最小者 作为新的上界。 (5)比较与剪枝 : 各分枝的目标函数值中,若有大于 z 者,则剪掉此枝,表 明此子问题已经探清,不必再分枝了;否则继续分枝。
现在只要求出(LP1)和(LP2)的最优解即可。
20
⑵
先求(LP1),如图所示。 x2 此时B 在点取得最优解。 A B C
⑴
x1 1, x2 3, z (1) 16
找到整数解,问题已探明, 此枝停止计算。 同理求(LP2) ,如图所示。
3
⑶
1 1 3 x1
在C 点取得最优解。
即 x1 2, x2 10 / 3,
bn
设: xij 表示从工厂运往销地的运量(i=1.2…m、 j=1.2…n), 1 在Ai 建厂 又设 Yi= (i=1.2…m) 0 不在Ai 建厂 模型:
m inZ cij xij f i yi
i 1 m
n x ij a i yi ( i 1.2 m ) j 1 m x ij b j (j 1.2n ) i 1 x ij 0, yi 0 或 1 (i 1.2m、j 1.2n )
零件 方 个数 式 零件
B1
Bn
零 件 毛坯数
m i nZ x j
j 1
数学建模 司守奎02第2章 整数规划
7/40
基础部数学教研室
数学 建模
3. 整数规划特点 (2) 整数规划最优解不能按照实数最优解简单取 整而获得。
8/40
基础部数学教研室
数学 建模
4. 求解方法分类
(1)分枝定界法—可求纯或混合整数线性规划。
(2)割平面法—可求纯或混合整数线性规划。
(3)隐枚举法—求解“0-1”整数规划。 i)过滤隐枚举法; ii)分枝隐枚举法。
作,若分配第 i 人去干第 j 项工作,需花费 cij 单位时间,问 应如何分配工作才能使工人花费的总时间最少?
21/40
基础部数学教研室
数学 建模
引入 0 - 1变量 ì ï 1, 第i人干第j项工作 ï , i ,j = 1,L , n. xij = í ï ï î 0, 第i人不干第j项工作 上述指派问题的数学模型为
min z = ( k1 y1 + c1 x1 ) + ( k2 y2 + c2 x2 ) + (k3 y3 + c3 x3 ) ,
可表为下述 3 个线性约束条件
y j e #x j
y j M , j = 1,2,3 ,
(2.4)
其中 e 是一个充分小的正常数, M 是个充分大的正常数。
19/40
基础部数学教研室
27/40
基础部数学教研室
数学 建模
例 2.6 已知非线性整数规划为
2 2 2 2 2 max z = x1 + x2 + 3 x3 + 4 x4 + 2 x5 - 8 x1 - 2 x2 - 3 x3 - x4 - 2 x5 ,
ì 0 #xi 99, ( i = 1,L ,5), ï ï ï ï x1 + x2 + x3 + x4 + x5 ? 400, ï ï s.t. ï í x1 + 2 x2 + 2 x3 + x4 + 6 x5 ? 800, ï ï 2 x + x + 6 x ? 200, ï 1 2 3 ï ï ï ï î x3 + x4 + 5 x5 ? 200.
数学建模整数规划PPT学习教案
已知三工厂每月的经营费用 di (与 产量无关)分别为 100、90、120 .问如 何选址使每月经营和运输费用最低 .
x11 x21 x31 40
x12 x22 x32 60
x13 x23 x33 45
y1 y2 y3 2
Solution:
1、 先检查最大上界(极大化问题)的活问题
优点:检 查子问 题较其 他规则 为少;
缺点:计算机储存量较大 .
2、 先检查最新产生的最大上界的活问题 优点:计算机储存量较少 ;
缺点:需要更多的分支运算 .
选择的不 同,提 供了发 挥的余 地
第13页/共30页
第五章去掉整数约整束数为3<规x 划<4 之间无整数解P Example4
0123456789
x1第14页/共30页
P6 (x2≥5)
x1=0、x2=5 Z6=40
*
§2 整 数 规 划 的解 法 Example 5 (投资方案的最优选择)
投资 年度
项目
A1 A2 A3
投资 额度
1 042 5
某公司欲对三个项目进行投资, 根据预算 四年内 的投资 额、三 个项目 每年所需投资额以及所创利润如表. 问应对哪 几个项 目进行 投资, 可获利 最大?
整数规划
物品 重量 aj
1
3
2
4
3
3
4
3
5
15
6
13
7
16
价值 cj 12 12 9 15 90 26 112
Solution: 这是一个 0-1 规划问题.
1 x j 0
如果带第 j 件物品 否则 j = 1~7
数学建模整数规划
整数规划前面介绍的线性规划问题中,只要求决策变量非负,也就是说决策变量可以取小数,然而在许多经济管理的实际问题中,决策变量只有取非负的整数才有实际意义。
如果一个线性规划问题要求全部的决策变量都取整数,那么这样的线性规划问题称为全整数规划或纯整数规划问题。
如果只要求一部分决策变量取整数,那么这样的线性规划问题称为混合整数规划问题。
如果决策变量只能取0或者1,那么就称为0-1规划问题 整数规划在实际中的应用: 1. 指派问题:某公司人事部门欲安排四个人去做四项不同的工作,每个人只能完成一项工作,一项工作只能由一个人完成。
每个人完成各项工作所消耗的时间(单位:分钟)如下表所示,(2) 如果把(1)中的消耗时间数据看成创造效益的数据,那么应该如何指派,可以使得总的效益最大?(3) 如果在(1)中再增加一项工作E ,甲 、乙、丙、丁四人完成工作E 的时间分别为17,20,15,16分钟,那么应该指派这四个人干哪四项工作,可使得这四个总的消耗时间为最少?解:(1) 引入0-1变量ij x ,并令⎩⎨⎧=项工作时个人不做第当第项工作时个人去做第当第j i j i x ij 01,于是这个分派问题的数学模型为:⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎨⎧====+++=+++=+++=+++=+++=+++=+++=++++++++++++++++++=4,3,2,1,4,3,2,1101111111119242017181516262027241828201920min 443424144333231342322212413121114443424134333231242322211413121144434241343332312423222114131211j i x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x xx x x x x x x x x x x x x x x Z ij ,或 用管理运筹学2.0软件求解结果如下:**********************最优解如下*************************目标函数最优值为 : 71变量 最优解 ------- --------x1 0 x2 1 x3 0 x4 0 x5 1 x6 0 x7 0 x8 0 x9 0 x10 0 x11 1 x12 0 x13 0 x14 0 x15 0 x16 1 约束 松弛/剩余 ------- ---------1 02 03 04 05 06 07 08 0 这就说明112=x ,121=x ,133=x ,144=x所以应该让甲去做B 工作,让乙去做A 工作,让丙去做C 工作,让丁去做D 工作,这时总的消耗时间为71分钟。
第二章 整数规划
0-1规划问题的应用实例
表2.1.2
运费 销地 单价 产地 A1 A2 A3 A4 A5 销量(千箱) B1 8 5 4 9 10 30 B2 4 2 3 7 4 20 B3 3 3 4 5 2 20 产量(千箱) 30 10 20 30 40
解:1)设xij为从Ai运往Bj的运输量(单位:千箱) 1, 当Ai厂址被选中时; yi= 0, 当Ai厂址没有被选中时。
y=0或1(M--非常大的正数)
(2)变量x只能取0,3,5或7中的一个 x=3y1+5y2+7y3 y1+y2+y3≤1 y1, y2, y3=0或1 (3)若x1≤2,则x2≥1,否则x2≤4
0-1规划问题的应用实例
x1≤2+(1-y)· M x2≥1-(1-y)· M x1≥2.000001-y· M x2≤4 +y· M
教学说明
非标准的指派问题标准化,掌握指派问题的匈牙利解法。 3.对整数规划的各种解法作一般了解。 【重点】 1.0-1规划模型在工商管理中最常见的应用实例; 2.指派问题的数学模型及其匈牙利解法; 【难点】 1.用0-1变量表示一般线性约束条件; 2. 割平面法中切割方程的确定(尤其是混合整数规划); 3.分枝定界法中目标上界和下界的确定; 4.隐枚举法中活问题的判别。 5.匈牙利解法中画线、打勾、调整的技巧及多重解的判别
0-1规划问题的应用实例
目标函数:m in z=175y2+300y3+375y4+500y5+8x11+4x12+ 3x13+5x21+2x22+3x23+4x32+9x41+7x42+5x43 +10x51+4x52+2x53
(数学建模教材)2第二章整数规划
第二章 整数规划§1 概论1.1 定义 规划中的变量(部分或全部)限制为整数时,称为整数规划。
若在线性规划模型中,变量限制为整数,则称为整数线性规划。
目前所流行的求解整数规划的方法,往往只适 用于整数线性规划。
目前还没有一种方法能有效地求解一切整数规划。
1.2 整数规划的分类如不加特殊说明,一般指整数线性规划。
对于整数线性规划模型大致可分为两类: 1o 变量全限制为整数时,称纯(完全)整数规划。
2o 变量部分限制为整数的,称混合整数规划。
1.2 整数规划特点 (i ) 原线性规划有最优解,当自变量限制为整数后,其整数规划解出现下述情况: ①原线性规划最优解全是整数,则整数规划最优解与线性规划最优解一致。
②整数规划无可行解。
例 1 原线性规划为min z = x 1 + x 22x 1 + 4x 2 = 5, x 1 ≥ 0, x 2 ≥ 05 5 其最优实数解为: x 1 = 0, x 2 = , min z = 。
4 4③有可行解(当然就存在最优解),但最优解值变差。
例 2 原线性规划为min z = x 1 + x 22x 1 + 4x 2 = 6, x 1 ≥ 0, x 2 ≥ 03 3 其最优实数解为: x 1 = 0, x 2 = , min z = 。
2 2若限制整数得: x 1 = 1, x 2 = 1, min z = 2 。
(ii ) 整数规划最优解不能按照实数最优解简单取整而获得。
1.3 求解方法分类:(i )分枝定界法—可求纯或混合整数线性规划。
(ii )割平面法—可求纯或混合整数线性规划。
(iii )隐枚举法—求解“0-1”整数规划: ①过滤隐枚举法; ②分枝隐枚举法。
(iv )匈牙利法—解决指派问题(“0-1”规划特殊情形)。
(v )蒙特卡洛法—求解各种类型规划。
下面将简要介绍常用的几种求解整数规划的方法。
§2 分枝定界法对有约束条件的最优化问题(其可行解为有限数)的所有可行解空间恰当地进行系 统搜索,这就是分枝与定界内容。
数学建模案例之整数规划
max s .t . max s .t .
z = 5 x1 + 8 x2 x1 + x2 ≤ 6 5 x1 + 9 x2 ≤ 45 x1 ≤ 1, x2 ≥ 4 z = 5 x1 + 8 x2 x1 + x2 ≤ 6 5 x1 + 9 x2 ≤ 45 x1 ≤ 1, x2 ≤ 4 ( P5 ) ( P4 )
数学建模案例之整数规划
内容: 如何建立整数规划模型举例 整数规划模型的求解方法 要求: 掌握整数规划模型的建立方法 掌握利用数学软件求解整数规划问题的方法 理解分支定界法的思想和实施步骤 重点、难点: 重点: 整数规划模型的建立和软件求解 难点: 整数规划问题的理论求解方法__分支定界法
简介
最优化问题中的所有变量均为整数时,这类问题称 为整数规划问题 如果线性规划中的所有变量均为整数时,称这类问 题为整数线性规划问题 整数规划可分为整数线性规划和整数非线性规划, 以及混合整数规划等 混合整数规划指部分变量可以取非整数的整数规划 (混合整数线性规划问题还没有统一的解法)
ቤተ መጻሕፍቲ ባይዱ题1:钢管下料问题(续)
某钢管零售商从钢管厂进货,将钢管按照顾客的要 求切割后售出,从钢管厂进货时得到的原料都是19米。 (1)现有一顾客需要50根4米、20根6米和15根8 米的钢管。应如何下料最节省? (2)零售商如果采用的不同切割模式太多,将会 导致生产过程的复杂化,从而增加生产和管理成本,所 以该零售商规定采用的不同切割模式不能超过3种。此 外,该客户除需要(1)中的三种钢管外,还需要10根5 米的钢管。应如何下料最节省。
x2 + 2 x4 + x5 + 3 x6 ≥ 20
整数规划的数学模型及解的特点
整数规划的数学模型及解的特点整数规划IP (integer programming):在许多规划问题中,如果要求一部分或全部决策变量必须取整数。
例如,所求的解是机器的台数、人数、车辆船只数等,这样的规划问题称为整数规划,简记IP。
松弛问题(slack problem):不考虑整数条件,由余下的目标函数和约束条件构成的规划问题称为该整数规划问题的松弛问题。
若松弛问题是一个线性规化问题,则该整数规划为整数线性规划(integer linear programming)。
一、整数线性规划数学模型的一般形式整数线性规划问题可以分为以下几种类型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—1型整数规划中0—1变量作为逻辑变量(logical variable),常被用来表示系统是否处于某一特定状态,或者决策时是否取某个方案。
一、0—1型整数规划的典型应用问题例1:背包问题:一个登山队员,他需要携带的物品有:食品、氧气、冰镐、绳索、帐篷、照相器材、通信器材等。
每种物品的重量和重要性系数如表所示。
设登山队员可携带的最大重量为25kg,试选择该队员所应携带的物品。
序号1234567物品食品氧气冰镐绳索帐篷照相器材通信设备重量/Kg55261224重要性系数201518148410解:引入0—1变量xi, xi=1表示应携带物品i,,xi=0表示不应携带物品i上述问题就是一个标准的0-1整数规划问题,解得: X*=(1,1,1,1,0,1,1)’ Z*=81例2:集合覆盖和布点问题某市消防队布点问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
引 入x ij
1
0
第i个 人 完 成 第j项 任 务 否则
模型:
min
(
P
)
s.t
.
nn
f
cij
x ij
i1 j1
n
x ij
1,
j
1,, n 每项任务一人
i 1
n
x ij
1,
i
1,, n
每人一项任务
j 1
x 0或1 ij
数 据 集 中 在 下 列 系 数 矩阵 上 :
c 11
C
c 21
c 12
c 22
cn1
c n2
称为指派问题的系数矩阵
c 1n
c 2n
c nn
二、求解方法
1、直接利用Matlab的函数binprog。 整数规划问题的求解可以使用Lingo等专用软件。对于一般的整数 规划规划问题,无法直接利用Matlab的函数,必须利用Matlab编 程实现分枝定界解法和割平面解法。但对于指派问题等特殊的整
4 x2 x3 6
(iv) 由于对每个组合首先计算目标值以验证过 滤条件,故应优先计算目标值大的组合,这样可
x1 , x2 , x3 0或1 提前抬高过滤门槛,以减少计算量。
§3.4分派问题及解法
一 、 分 派 问 题 ( 指 派 问题 ) : n项 任 务 要 分 配 给n个 人 ( 每 人 一 项 )
记 加 圈 零 的 个 数 为m .
当m n时,停止,所加圈零对应的x 1,其余 ij x 0,即为最优解。 ij
当m n时,转step3.
step3. 确定覆盖全部零元素的最小直线数。
1 对无加圈零元素的行作记号,无妨记““;
2 对有“”行中,划去零“0”元素所在列, 记 “” ;
3 再 对 有 “” 列 中 , 加 圈 零 “(0)” 元 素 所 在 行 , 记 “” ;
(i) 先试探性求一个可行解,易看出(x1,x2,x3) =(1,0,0)满足约束条件,故为一个可行解,且z=3。
x1 2 x2 x3 2 (ii) 因为是求极大值问题,故求最优解时,凡是
x1 x1
4x2 x3 x2 3
4
目标值z<3的解不必检验是否满足约束条件即可删 除,因它肯定不是最优解,于是应增加一个约束 条件(目标值下界):(iii) 改进过滤条件。
去 完 成 , 各 人 对 完 成 不同 任 务 的 效 率 不 同 , 决 定 如 何 指 派 可 使 总 效率 最 高 。 Assignment problem
类似有:
n台 机 床 加 工n项 任 务 ; n条 航 线 有n艘 船 去 航 行 等 。
1.一 般 模 型 :
设c 0 : 第i个人完成第j项任务的效率 ij
8
8 9
第1,2,3,4行 分 别 加( 2), ( 2), ( 5), ( 2),
0 1 3 5
得
1
4 0
3 0 0
0 2 1
6
3 7
第4列 减3
(0) 1 3 2
得
1
4 0
3 (0) 3
0 (0)
2 1
(40)
显然 x x x x 1是一组最优解,
11
23
34
52
相应最小费用f 2 2 8 2 14
数规划问题,有时可以直接利用Matlab的函数binprog。
2、匈牙利算法 由于指派问题的特殊性,又存在着由匈牙利数学家 Konig提出的更为简便的解法—匈牙利算法。算法主要 依据以下事实:
若从矩阵C的一行(或一列)各元素中
加上同一个实数a得到矩阵B (bij )mn , 那么 以B为系数矩阵的分派问题与原问题有相同的解。
0 1 3 4
Ex.
2 0
0 5
6 9
0 至少有3个独立零元素 3 至少3条直线覆盖所有零
2 7 0 6
注 : 这 里 提 供 的 一 种 “对 偶 ” 关 系 找 最 多 的 独 立 零 个 数( 独 立 零 个
数 为n) 找 最 少 的 覆 盖 全 部 零 的直 线 数
( 覆 盖 零 的 直 线 数m) 有 mn
匈牙利法求解分派问题步骤:设求 min, 各元素 0 step1. 对矩阵的每一行(每一列)分别减去该行
(列)各元素的最小值,反复进行,至每行、 每列均有零元素;
step2. 试派,即找独立零元素:
1 对每行检查,若当前行中只有一个零元素, 则给它加圈,标为“(0)”,同时把该元素所在 列的其他零元素划去,标为“0”;
大?
1
先引入0-1Ai点没被选中i
1,27
7 bixi B
7
max z cixi i 1
i1 x1 x2 x3 2 s.t.x4 x5 1
x6 x7 1 xi 0或1
3.1.2 相互排斥的约束条件 有两个相互排斥的约束条件5x1+4x2≤24 或7x1+3x2 ≤45 。 为了统一在一个问题中,引入0-1变量y,则上述约束条件可改写 为: 5x1+4x2≤24+yM,7x1+3x2 ≤45+(1-y)M,y=0或1 其中M是充分大的数。 约束条件x1=0 或500 ≤x1 ≤800 可改写为500 y≤x1 ≤800y, y=0或1
§2整数规划的分枝定界法
对有约束条件的最优化问题(其可行解为有限数)的所有可解空 间恰当地进行系统搜索,这就是分枝与定界内容。通常,把全部 可行解空间反复地分割为越来越小的子集,称为分枝;并且对每 个子集内的解集计算一个目标下界(对于最小值问题),这称为 定界。在每次分枝后,凡是界限超出已知可行解集目标值的那些 子集不再进一步分枝,这样,许多子集可不予考虑,这称剪枝。 这就是分枝定界法的主要思路。 分枝定界法可用于解纯整数或混合的整数规划问题。由于这方法 灵活且便于用计算机求解,所以现在它已是解整数规划的重要方 法。目前已成功地应用于求解生产进度问题、旅行推销员问题、 工厂选址问题、背包问题及分配问题等。 设有最大化的整数规划问题A,与它相应的线性规划为问题B,从 解问题B开始,若其最优解不符合A的整数条件,那么B的最优目 标函数必是A的最优目标函数的上界;而A的任意可行解的目标函 数值将是它的最优目标函数的一个下界。
能取0值,设yi*=0,代入(1),就只有i=i*的约束条件起作 用,而别的式子都是多余的
3.2 0-1型整数规划解法之一(过滤隐枚举法)
解0-1型整数规划最容易想到的方法,和一般整数规划的情形一
样,就是穷举法,即检查变量取值为0或1的每一种组合,比较目
标函数值以求得最优解,这就需要检查变量取值的2n个组合。对
数学建模培训讲义
整数规划
2009年8月
§1 整数规划问题的提出 一、整数规划问题的特征:
规划中的变量(部分或全部)限制为整数,若在线 性规划模型中,变量限制为整数,则称为整数线性 规划。目前所流行的求解整数规划的方法,往往只 适用于整数线性规划。目前还没有一种方法能有效 地求解一切整数规划。 二、整数规划问题的求解方法分类: 1、(i)分枝定界法—可求纯或混合整数线性规划。 (ii)割平面法—可求纯或混合整数线性规划。 (iii)隐枚举法—求解“0-1”整数规划: ①过滤隐枚举法; ②分枝隐枚举法。 (iv)匈牙利法—解决指派问题(“0-1”规划特殊情 形)。 (v)蒙特卡洛法—求解各种类型规划。
例4 某公司拟在市东、西、南三区建立门市部。拟议中有7个
位置(点)Ai(i=1,2…7)可供选择。规定
在东区。由A1,A2,A3三个点中至多选两个;
在西区。由A4,A5两个点中至少选一个;
在南区,由A6,A7两个点中至少选一个。
如选用Ai点,设备投资估计为bi元,每年可获利润估计为ci元,
但投资总额不能超过B元。问应选择哪几个点可使年利润为最
(2)定界,以每个后继问题为一分枝标明求解的结 果,与其它问题的解的结果中,找出最优目标函数
值最大者作为新的上界 f ,从已符合整数条件的各
分支中,找出目标函数值为最大者作为新的下界 f
若无作用 f 不变。
第二步:比较与剪枝,各分枝的最优目标函数中若有 小于 f 者,则剪掉这枝,即以后不再考虑了。若大
注 : 可 行 解 特 征 : 各 行有 一 个 零 , 且 仅 有 一 个零
各 列 有 一 个 零 , 且 仅 有一 个 零
称 之 为 有n个 独 立 的 零 。
3.关于独立元素的定理(D.Konig 匈牙利)
系 数 矩 阵 中 独 立 零 元 素的 最 多 个 数 等 于
覆 盖 所 有 零 元 素 的 最 少直 线 数 。
于变量个数n较大,这几乎是不可能的。因此常设计一些方法,只
检查变量取值的组合的一部分,就能求到问题的最优解。这样的
方法称为隐枚举法(Implicit Enumeration),分枝定界法也是
一种隐枚举法。当然,对有些问题隐枚举法并不适用,所以有时
穷举法还是必要的。
例
Max
求解思路及改进措施:
z 3x1 2x2 5x3
分枝定界法就是将B的可行域分成子区域的方法。逐步减小上界 和增大下界,最终求到最优目标函数值 。
设线性整数规划问题:
max
f CT X
( A)
s.t. AX b
X 0
x
j为整数,j
1,2,, n
max
f CT X
(B)s.t. AX b 问题
X 0 标准LP
分枝定界法:(一般步骤) 1 求解( B), 可能得到以下情况之一: i)若( B)无可行解,则停(剪枝),说明( A)无可行解; ii)若(B)有最优解x,且符合A的整数条件,则停(剪枝),得到( A)的解。 iii)若(B)有最优解,但不符合A的整数条件,记为 f 为( A)最优值的的上界,转2 2用观察法找( A)的一个整数可行解, 一般可取x j 0, j 1,, n,试探,求得其目标函数值,记为 f, 以f 表示问题A的最优目标函数值,这时有 f f f