建模教程-线性规划

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

B-1 b 0 B-1 b
定义3:基本可行解——基B,基本解X= 若B-1 b0,称基B为可行基。 最优解、最优基 ※ 基本解中最多有m个非零分量。 ※ 基本解的数目不超过Cn =
m
0
n!
m!(n-m)!
个。
maxZ=CX
当LP的数学模型为矩阵型
两个重要公式: XB =B-1 b-B-1 NXN
单纯形法原理
max Z Cj Xj
j 1 n
n ,2, , m) aij X j bi (i 1 j1 X 0( j 1 ,2, , n) j
n aij Xj (i 1 ,2, ,m ) i Xi b jm 1 m n m Z Cb (Cj C i i ia ij )Xj i 1 jm 1 i 1
a21 … a2m a2m+1 … a2n
………… P1 … Pm …………… Pm+1 … Pn am1 … amm amm+1 … amn
B
N
(m< n) r(A)=m , 至少有一个m阶子式不为0
定义1:基(基阵) ——A中一个子矩阵B是可逆 矩阵,则称方阵B为LP问题的一个基。 A= (P1 … Pm Pm+1 … Pn )=(B N)
am1X1+ am2X2+…+ amnXn (=, )bm
Xj 0(j=1,…,n)
11
隐含的假设
• 比例性:决策变量变化引起目标的改变 量与决策变量改变量成正比 • 可加性:每个决策变量对目标和约束的 影响独立于其它变量 • 连续性:每个决策变量取连续值 • 确定性:线性规划中的参数aij , bi 确定值
• 有一定的人力、财力、资源条件下,如 何合理安排使用,效益最高 • 某项任务确定后,如何安排人、财、物, 使之最省
线性规划的数学模型
• 某家具厂木器车间生产木门与木窗两种 产品。加工木门收入为56元/扇、加工 木窗收入为30元/扇。生产一扇木门需 要木工4小时、油漆工2小时;生产一扇 木窗需要木工3小时、油漆工1小时。该 车间每日可用木工总工时为120小时, 油漆工总工时为50小时。问该车间应如 何安排生产才能使每日收入最大。
静态最优化问题
2019/2/26
线性规划模型与求解
线性规划
Linear Programming
• 运筹学中应用最广泛的方法之一
• 运筹学的最基本的方法之一,网络规划, 整数规划,目标规划和多目标规划都是 以线性规划为基础的 • 解决稀缺资源最优分配的有效方法,使 付出的费用最小或获得的收益最大
研究对象
AX=b
X0
时,
Z=CB B-1 b+(CN -CB B-1 N)XN 当XN =0时,
X=
B-1 b
0 Z= CB B-1 b
当LP的数学模型为一般型时
max Z Cj Xj
j 1 n
n ,2, , m) aij X j bi (i 1 j1 X 0( j 1 ,2, , n) j
T
线性规划的图解法
max s.t. z=x1+3x2 x1+ x2≤6 -x1+2x2≤8 x1 ≥0, x2≥0
x2
最优解
6 4
可行域
-8 0
目标函数等值线
6
x1
LP问题的特性
2维
n维
可行域 线段组成的凸多边形 超平面组成的凸多面体 目标函数 等值线为直线 等值线是超平面 最优解 凸多边形的某个顶点 凸多面体的某个顶点
线性规划模型特点
• 决策变量:向量(x1… xn)T 决策人要考 虑和控制的因素,一般非负 • 约束条件:线性等式或不等式 • 目标函数:Z=ƒ(x1 … xn) 线性式,求Z极 大或极小
一般式
max(min)Z=C1X1+ C2X2+…+CnXn a11X1+ a12X2+…+ a1nXn (=, )b1 a21X1+ a22X2+…+ a2nXn (=, )b2 … … …
定理1:对解X(1) ,若检验数σj ( j=m+1,…,n)全 部 0,则X(1)为最优解。
定理2:对X(1),若有某个非基变量Xm+k→σm+k>0
且相应的Pm+k =(a1m+k ,… ,amm+k )T 0,则原问题 无有限最优解。
线性规划的求解软件
• • • • • • LINDO LINGO (www.lindo.com) Excel Matlab Mathematica SAS CPLEX
Max z=56x1+30x2 Min f=120w1+50w2 s.t 4x1+3x2120 s.t. 4w1+2w256 2x1+ x2 50 3w1+ w230 x1,x20 w1,w20 • 上面两个线性规划模型称为一对对偶的 线性规划模型。 • 任一线性规划问题都有一对偶问题。
, c i为
线性规来自百度文库模型
线性规划模型的结构 目标函数 :max,min 约束条件:≥,=,≤ 变量符号::≥0, unr, ≤0
线性规划的标准形式 目标函数:min 约束条件 := 变量符号 :≥0
max(min) z CTX s.t. AX (, )b X ()0, unr
min s. t. zC X AX b X 0
m
i

n
j m 1
C X
i ij
n
i
C (b
i 1 m

j m 1
a
X j)
m
j m 1
C X
i
n
i
Cb
i 1
i i

j m 1

n
( C j C i a ij ) X
i 1
j
当Xj =0 (j=m+1,…,n)时,
T X (b b , 0 , 0 ) 1 m m Z Cibi i 1
此时,B=(P1 P2 …Pm ) 对应的基本可行解为
(1) T X (b b , 0 , 0 ) 1 m (1) m Z Cibi i 1
n j Xj Z Z0 j m1 n X b a X (i 1 ij j ,2,, m) i i j m1
凸集及其顶点
定义1:
凸集——D是n维欧氏空间的一个集合
X(1), X(2)∈D,若任一个满足
X= X(1)+(1-) X(2)
有X∈D
(0 1 )
定义2
凸组合
X(1) , X(2) , … ,X(k) 是n维欧氏空间中的k 个点,若有一组数 µ 1 , µ 2 , … , µ k 满足
LinGo
• 输入模型 LinDo模式 LinGo模式 • 求解 点击求解按钮 • 结果
即可
LinGo 输 入 模 式
model: MAX=3*x1+5*x2+4*x3; 2*x1+3*x2<=1500; 2*x2+4*x3<=800; 3*x1+2*x2+5*x3<=2000; end
注意与LinDo的区别
设该车间每日安排生产木门x1扇、木窗x2扇。 Model: Max z=56x1+30x2 s.t 4x1+3x2120 2x1+ x2 50 x1,x20 解得: X*=(15, 20)T, z*=1440
假若另有一个个体经营者,手中有一批 木器家具生产订单。他想利用该木器车 间的木工与油漆工来加工完成他的订单。 他就要事先考虑付给该车间每个工时的 价格。他可以构造一个数学模型来研究 如何定价才能既使木器车间觉得有利可 图从而愿意为他加工这批订单、又使自 己所付的工时费用总数最少。
• 设w1,w2分别为付给木工和油漆工每个工时 的价格。则该个体经营者的目标函数为每日 所付工时总费用最小。 Min f=120w1+50w2 • 该个体经营者所付的价格不能太低,至少不 能低于该车间生产木门、木窗时所得到的收 入,否则该车间觉得无利可图就不会替他加 工这批订单。因此,需满足 4w1+2w256 3w1+ w230 w1,w20 • 解得:W*=(2,24),f*=1440
………………………
0 0…1 amm+1 …amn
B=(P1 P2 …Pm )=I
X a X b i 1 , ,m ) i ij j i(
j m 1 n
X b a X i 1 , 2 , ,m ) i i ij j(
j m 1
n
Z
m
C X
i 1 i i i
注意事项
• 变量以字母开头,下标写在后面,系数与 变量之间加空格 • 不等号为:<= ( <),>=( >) , =, <=与 < 等同 • 变量非负约束可省略 • 结束时以end标示
结 果
LP OPTIMUM FOUND AT STEP 3 OBJECTIVE FUNCTION VALUE 1) 2675.000 VARIABLE VALUE REDUCED COST X1 375.000000 0.000000 X2 250.000000 0.000000 X3 75.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 1.050000 3) 0.000000 0.625000 4) 0.000000 0.300000
0 µ i 1 (i=1,… ,k)
µ i =1
i=1
k
(1) + … + µ X(k) 有点 x= µ X 1 k
则称点X为 X(1) , X(2) , … ,X(k) 的凸组合。
定义3
顶点
凸集D, 点 XD,若找不到两个
不同的点X(1) , X(2) D 使得
X= X(1) +(1- ) X(2) (0< <1)
LinDo
• 输入模型 • 求解 点击求解按钮 • 结果
即可
输入模型
!注释内容,可用中文 !目标函数:最大-max,最小-min,大小写不分 max 3 x1+5 x2+4 x3 !约束,以subject to开始 subject to 2 x1+3 x2<=1500 2 x2+4 x3<=800 3 x1+2 x2 +5 x3<=2000 end

基向量
非基向量

X= (X1 … Xm Xm+1 … Xn )T=(XB XN)T
基变量 非基变量
XB
XN
AX=b的求解 A=(BN) X=(XB XN )T (BN) XB
XN
=b
BXB +NXN=b BXB =b-NXN XB = B-1 b - B-1N XN
定义2:基本解——对应于基B,X= 为AX=b的一个解。
• 目标函数中加等号
• 变量与系数之间用“*” • Model:-end可省略
LinGo 模 式
Model: Sets: !定义集合 Endsets Data: !定义数据 Enddata 调用函数与计算 end
集合部分
model: !开始 sets: !定义集合 ve/1..3/:c,x; co/1..3/:b; ma(co,ve):a; endsets !注:集表达式:名称/成员/:属性 名称(初始集):属性
两个重要公式形如:
n aij Xj (i 1 ,2, ,m ) i Xi b jm 1 m n m Z Cb (Cj C i i ia ij )Xj i 1 jm 1 i 1
1 0…0 a1m+1 …a1n 设A=
0 1…0 a2m+1 …a2n
则称X为 D的顶点。
LP问题的解的性质 定理1:LP问题的可行域一定是凸集(凸多面集) 定理2:LP有最优解,必定可以在可行域(凸 多面集)的顶点得到。
凸集
凸集
不是凸集
LP问题解的性质
maxZ=CX AX =b X0
Am×n 满秩
X = (x1… xn)T
a11 … a1m a1m+1 … a1n
定义数据
data:!定义数据 c=3 5 4; b=1500 800 2000; a=2 3 0 0 2 4 3 2 5; Enddata !注:数据的大小与集合定义中一致,分量中间 用空格或逗号分开,数据结束后用分号;
调用函数
max=@sum(ve(j):c(j)*x(j)); @for(co(i):@sum(ve(j):a(i,j)*x(j))<= b(i)); • 主要函数: @for(set(set_index_list)|condition:expression) @sum(set(set_index_list)|condition:expression) @min(max)(set(set_index_list)|condition:express ion)
相关文档
最新文档