工程优化设计-线性及二次规划
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xp=bq/aq= min{bjp/ajp, ajp>0, jB}; 最先到零:xj=bjp-xpajp=0 写成一维搜索格式是: Xk+1=Xk+xpdk, dk=(-a’, 0,…,0,1,0,…,0)T.
x=[B-1b-B-1NxN, xN]=[B-1b, 0]+[-B-1NxN, xN] =Xk + [-B-1NxN, xN] =Xk+xpdk xN=[0 … 0 xp 0 … 0]T =xp[0…0 1 0…0]T=xpep dk=[-B-1Nep, 0 … 1 …0 ]
单纯形方法用逐步消去法替代Bk求逆.
为什么叫单纯形算法? 标准形式: min f(x)=cTx=c1x1+c2x2+…+cnxn s.t. Ax= a1x1+a2x2+…+anxn=b x0, xRn, ARmn 标准形式中的约束定义的可行域是“n维空间中n-m维单纯形”, 即为n维空间中m维线性流形与第一象限的交。
2.1 基本解
令 xN=0, xT= [B-1b xT= [B-1b
0] 为基本解.
2.2 基本可行解
0]0 为基本可行解.
2.3 基本解个数 随着B的构成列不同, 可得不同的基本解, 从n列中 选取m列的选择方案有Cnm=n!/[m!(n-m)!]个. 除去|B|=0的情况, 基本解个数最多是Cnm.
xq 0 a 0
xB-q 0 0 I
xN-p cN-p mT N’
xp
-f
右端项
cp 1 np
1 0 0
c b2 b’
xq xB-q
xB+ NxN = b
线性规划与二次规划
表中数据项意义: 0*xB + cNTxN – f = c 基变 量 -f
xq 0 a -anp
xB-q 0 0 I
xN-p cN-p mT N’-npmT
表中数据项意义: 0*xB + cNTxN – f = c 基变 量 -f
xq 0 1/a1 0
xB-q 0 0 I
xN-p cN-p nT/a1 N’
xp
-f
右端项
cp 1 np
1 0 0
c b1/a1(>0) b’
xq xB-q
xB+ NxN = b
线性规划与二次规划
表中数据项意义: 0*xB + cNTxN – f = c 基变 量 -f
线性规划与二次规划
一.线性规划 线性规划问题是一类优化问题,其约束函数和目标函数均为线性. (1)基本理论
1.线性规划的标准形式
一般形式: min f(x)=cTx=c1x1+c2x2+…+cnxn s.t. h(x)=Hx= h1x1+h2x2+…+hnxn=0 g(x)=Gx =g1x1+g2x2+…+gnxn 0 xRn, hi Rp, gi Rq
(7/3,20/3)
(13/5,28/5)
(1,4)
线性规划与二次规划
3. 解的几何意义 3.1 可行域是超多面体. 3.2 等高线是超平面. f=-5 3.3 最优解在顶点处.
3.4 顶点个数有限.
3.5 顶点是基本可行解.
f=0
f=6
线性规划与二次规划
4. 单纯形法
(1)算法基本思想
因为最优解在顶点上,基本可行解为顶点,所以,优化搜索 可以沿着可行域的边界,从一个顶点到另一个顶点的方式 进行,每一步使目标函数值减小.由于顶点个数有限,在有限 步内可达到最优解.
工程优化设计
黄正东
二0一二年九月
内容提要
• • • • • • • • • • 工程优化问题建模 优化数学理论 一维搜索方法 无约束问题直接搜索方法 无约束问题间接接搜索方法 约束问题直接搜索方法 线性规划与二次规划问题求解 约束问题间接搜索方法 启发式算法 优化软件系统
线性规划与二次规划
线性规划 线性规划问题是一类优化问题,其约束函数和目标函数均为线性.
线性规划与二次规划
3. 解的几何意义
(7/3,20/3)
min s.t.
3x1-2x2 -x1+x23 -2x1+x2 2 4x1+x2 16 x10, x20 f=-5
(13/5,28/5)
(1,4)
min s.t.
3x1-2x2 -x1+x2 +x3 =3 -2x1+x2+x4=2 4x1+x2 +x5 =16 xi0, i=1,2,…,5
xB 0 I
xN cNT-cBTB-1N B-1N
xB+ B-1NxN = B-1b
-f
右端项
1
0
-cBTB-1b
B-1b(>0)
xB
线性规划与二次规划
表中数据项意义: 0*xB + cNTxN – f = c 基变量 -f
xB 0 I
xN cN N
xB+ NxN = b
-f
右端项
1
0
c
b(>0)
线性规划与二次规划
标准形式: min f(x)=cTx=c1x1+c2x2+…+cnxn s.t. Ax= a1x1+a2x2+…+anxn=b x0, xRn, ARmn
2.基本可行解
Ax=0, A=[B N]=[ B N ], BRmm N不一定是方阵
方阵,|B|0 Ax=BxB+NxN=b,
xB=B-1(b- NxN)=B-1b- B-1NxN
I ] xN+ [B-1b 0]
xT=[xB xN]=[B-1b- B-1NxN, xN]=[- B-1N
线性规划与二次规划
xT=[xB xN]=[- B-1N I ] xN+ [B-1b 0]
因此, xN自由变化, x=f(xN) 为所有可行解的显式表达.
无界最优解; 否则,出基变量是满足下式的q: -xkq/dkq= min{-xkj/dkj, dkj<0, jBk}.
5.交换Bk中Aq和Nk中Ap,得新Bk+1和Nk+1, k=k+1, 转步骤2.
线性规划与二次规划
算法分析 1.算法简单明了,有限步结束. 2.初始值需要是基本可行解. 3.在Step 2计算cNk=cNk-NkTBk-1cBk时,需要求Bk的逆.
这样, 如果cNT-cBTB-1N0, 因为xN0使f(x)增加, 于是, 当前x是最优解.
1.2 基本可行解更新 设 f(x) =cBTB-1b+(cNT-cBTB-1N)xN=c0 +c xN
f(x) = c0+cTxN, c=[c1,c2,…,cp,…,cN]T
取cp<0, 使f(x)下降.
xB
线性规划与二次规划
表中数据项意义: 0*xB + cNTxN – f = c 基变 量 -f
xq 0 1 0
xB-q 0 0 I
xN-p cN-p nT N’
xp
-f
右端项
cp (<0) a1(>0) np
1 0 0
c b1(>0) b’ (>0)
xq xB-q
xB+ NxN = b
线性规划与二次规划
一般形式:
min f(x)=cTx=c1x1+c2x2+…+cnxn
s.t.
h(x)=Hx= h1x1+h2x2+…+hnxn=0
g(x)=Gx =g1x1+g2x2+…+gnxn 0 xRn, hi Rp, gi Rq
线性规划-举例
线性规划-举例
Ti 张力
l 可删去
线性规划-举例
Wi, wi 是已知量。
Xk=[B-1b, 0]
dk
Xk+1=Xk+xpdk
如果dk分量全非负, 有无界最优解; 否则,最优解受 Xk+xpdk>=0 约束.
1.2 基本可行解更新
1 1 1 x1 d k x1 x p d k x1 x p d k k k k 2 2 2 2 xk d k xk x p d k2 xk x p d k2 3 3 xk d k3 xk x p d k3 0 4 4 4 4 xk d k xk x p d k4 xk x p d k4 xk 1 xp 0 0 0 0 0 1 xp xp 0 0 0 0 0 0 0 0
xp
-f
右端项
cp 1 0
1 0 0
c b2 b’-b2np
xq xB-q
xB+ NxN = b
线性规划与二次规划
表中数据项意义:
cN-pTxN-p + cpxp– f = c xp = b2-axq-mTxN-p
cN-pTxN-p + cp(b2-axq-mTxN-p)– f = c -cpaxq+[cN-pT-cpmT]xN-p – f = c-cpb2
x=[B-1b 0] + [-B-1N, I]TxN
所以, xN变化后, xB=B-1b - B-1NxN 设xN=[0 … 0 xp 0 … 0]T=xpep, 则 xB=B-1b-B-1NxN= b’ – xpa’, b’=B-1b, a’=B-1Nep ajp<0时, xp不受限制
由xB= b’-xpa’0, 得出xp的搜索步长:
2.计算cNk=cNk-NkTBk-1cBk.
3.最优性检验:计算cpk=min{cjk | jNk}, 如果cpk0, 则x(k)为最优 解,停止.否则,选xkp为入基变量.
-1N e = (d 1 , d 2 , d 3 ,..., d | Bk | ,0,0,...,1,0,0,..., 0) 4.确定出基本变量:dk=Bk k p k k k k 1 2 3 x(k)=Bk-1b= ( xk , xk , xk ,...) , 若对所有jBk,dkj0, 则问题有
随xp增加, x3k+1 最先变为零
xk+1=[ * * 0 *, 0 * 0 0 ]
出基本变量 入基本变量
xp
Xk=[* * * *, 0 0 0 0]
dk
Xk+1=[ * * 0 *, 0 * 0 0 ]
Xk+1=Xk+xpdk
线性规划与二次规划
(2)算法流程 1.给定一个初始基本可行解x(1)=[B1-1b, 0],记k=1.
1 1 1 0 0 3 2 1 0 1 0 x 2 4 1 0 0 1 16
1 1 1 2 1 0 4 1 0 0 1 0 0 3 0 x 2 16 1
xB-q 0 0 I
xN-p cN-p-cpmT mT N”ຫໍສະໝຸດ xp-f右端项
基变 量 -f
xq 0 a a”
xB-q 0 0 I
xN-p cN-p mT N”
xp
-f
右端项
cp 1 0
1 0 0
c b2 b”
xq xB-q
xB+ NxN = b
线性规划与二次规划
表中数据项意义:
-cpaxq+[cN-pT-cpmT]xN-p – f = c-cpb2 基变 量 -f
xq -cpa a a”
1.1 最优性检查
xT=[xB xN]=[B-1b- B-1NxN, xN]
f(x) =cTx=cBTxB+cNTxN= cBT[B-1b-B-1NxN]+cNTxN =cBTB-1b+(cNT-B-1N)xN
线性规划与二次规划
1.1 最优性检查 f(x) =cBTB-1b+(cNT-cBTB-1N)xN
f=0
f=6
1 1 1 0 0 3 2 1 0 1 0 x 2 (x1=0, x2=0) 4 1 0 0 1 16
基本解,但非可行
1 1 1 0 0 3 (x1=0, x2=16) 2 1 0 1 0 x 2 4 1 0 0 1 16 1 1 1 0 0 3 2 1 0 1 0 x 2 4 1 0 0 1 16
x3 x3
x2
x2
所以,前述算法是在n维空 间中n-m维单纯形顶点上搜 索。
x1
x1
n=3; m=1
n=3; m=2
线性规划与二次规划
(3)单纯形法的表计算形式 表中数据项意义: f(x)=cTx=cBTxB+ cNTxN = cBTB-1b + (cNT-cBTB-1N)xN 0*xB + (cNT-cBTB-1N)xN – f = -cBTB-1b 基变量 -f