- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非线性规划
撰写:刘伟 董小刚 林玎 制作:李慧玲 李刚健
吉林建工学院基础科学系
1
实验目的 实验内容
1、直观了解非线性规划的基本内容。 2、掌握用数学软件求解优化问题。
1、非线性规划的基本理论。 2、用数学软件求解非线性规划。 3、钢管订购及运输优化模型 4、实验作业。
2
非线性规划
非线性规划的基本概念 *非线性规划的基本解法
数,简记: f : En E1, gi : En E1, h j : En E1
其它情况: 求目标函数的最大值或约束条件为小于等于零 的情况,都可通过取其相反数化为上述一般形式.
4
定义1 把满足问题(1)中条件的解 X ( En )称为可行解(或可行
点),所有可行点的集合称为可行集(或可行域).记为D.即
2、 输入命令:
s.t.
1 1
21
x1 x2
0
x1 x2
H=[1 -1; -1 2]; c=[-2 ;-6];A=[1 1; -1 2];b=[2;2]; Aeq=[];beq=[]; VLB=[0;0];VUB=[]; [x,z]=quadprog(H,c,A,b,Aeq,beq,VLB,VUB)
T
X
,
M
T
(
X
k
,
M
k
)
;
3、若存在 i 1 i m ,使 gi X k ,则取Mk>M(Mk1 M, 10)
令k=k+1返回(2),否则,停止迭代.得最优解 X * X k .
m
计算时也可将收敛性判别准则 gi X k 改为 M min0, gi X 2 0 .
function [G,Ceq]=nonlcon(X)
G=...
Ceq=...
17
3. 建立主程序.非线性规划求解的函数是fmincon,命令的基本格 式如下:
(1) x=fmincon(‘fun’,X0,A,b) (2) x=fmincon(‘fun’,X0,A,b,Aeq,beq) (3) x=fmincon(‘fun’,X0,A,b, Aeq,beq,VLB,VUB)
的向量,其它变量的含义与线性规划、二次规划中相同.用
Matlab求解上述问题,基本步骤分三步: 1. 首先建立M文件fun.m,定义目标函数F(X):
function f=fun(X);
f=F(X);
2. 若约束条件中有非线性约束:G(X) 0 或Ceq(X)=0, 则建立M文件nonlcon.m定义函数G(X)与Ceq(X):
k j
j 1,, n,k=k+1,返回步骤(2).
返回
14
标准型为:
1、二次规划
Min Z=1 XTHX+cTX
2
s.t. AX<=b Aeq X beq
VLB≤X≤VUB
用MATLAB软件求解,其输入格式如下:
1. x=quadprog(H,C,A,b);
2. x=quadprog(H,C,A,b,Aeq,beq); 3. x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB); 4. x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0); 5. x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0,options); 6. [x,fval]=quaprog(...); 7. [x,fval,exitflag]=quaprog(...); 8. [x,fval,exitflag,output]=quaprog(...);
3、运算结果为:
MATLAB(youh1)
x =0.6667 1.3333 z = -8.2222
16
标准型为:
2、一般非线性规划
min F(X)
s.t AX<=b Aeq X beq G(X) 0
Ceq(X)=0 VLB X VUB
其中X为n维变元向量,G(X)与Ceq(X)均为非线性函数组成
(4) x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’) (5)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’,options)
输出极值点 M文件 迭代的初值 变量上下限 参数说明
(6) [x,fval]= fmincon(...) (7) [x,fval,exitflag]= fmincon(...) (8)[x,fval,exitflag,output]= fmincon(...)
(1)
设集合D0 X | gi X 0,i 1,2,, m ,D0是可行域中
所有严格内点的集合。
构造障碍函数
m
I X , r:I X , r f X r lngi X
i 1
或
I (X , r)
f
(X ) r
m i 1
1
giX
X X* 时,若f X * f X ,则称X*是f(X)在D上的严格全局极小值点
(严格全局最优解). 返回
5
非线性规划的基本解法
1、罚函数法
SUTM外点法 SUTM内点法(障碍罚函数法)
2、近似规划法
返回
6
罚函数法
罚函数法基本思想是通过构造罚函数把 约束问题转化为一系列无约束最优化问题, 进而用无约束最优化方法去求解.这类方法 称为序列无约束最小化方法.简称为SUMT 法.
m
其中称r lngi X
i 1
或
m
r
i 1
gi
1
X
为障碍项,r为障碍因子
这样问题(1)就转化为求一系列极 值问题:
min
X D0
I
X
,
rk
得
X (k rk)
10
内点法的迭代步骤
(1) 给定允许误差 0,取r1 0,0 1;
(2) 求出约束集合 D 的一个内点X 0 D0,令k 1;
返回
3
非现性规划的基本概念
定义 如果目标函数或约束条件中至少有一个是非线性函数 时的最优化问题就叫做非线性规划问题.
一般形式:
min f X
s.t.hgij
X X
0 0
i 1,2,...,m; j 1,2,...,l.
(1)
其中 X x1, x2,, xn T En,f , gi , hj 是定义在 En 上的实值函
必gi有X 0或hi X 0 的约束条件,故罚项>0,要受惩罚.
8
SUTM外点法(罚函数法)的迭代步骤
1、任意给定初始点X0,取M1>1,给定允许误差 0 ,令k=1;
2、求无约束极值问题XmiEnn T X , M 的最优解,设为Xk=X(Mk),即
min
X E n
i 1,, m
j 1,,l ;
13
(3)在上述近似线性规划问题的基础上增加一组限制步长的线
性约束条件.因为线性近似通常只在展开点附近近似程度较
高,故需要对变量的取值范围加以限制,所增加的约束条件是:
xj
x
k j
k j
j 1,, n
求解该线性规划问题,得到最优解X k1 ;
(3)
以
X
k 1
D0
为
初
始
点
,
求
解
min
X D 0
I
X
, rk
,
其
中
X D0的最优解,设为X k X rk D0 ;
(4)
检验是否满足
r
m
ln
i1
gi
Xk
或
rk
m1
i1gi X
,满
足,停止迭代, X * X k ;否则取rk1 rk ,令k k 1 ,
局部极小值点(局部最优解).特别地当 X X*时,若 f X * f X ,
则称X*是f(X)在D上的严格局部极小值点(严格局部最优解).
定义3 对于问题(1),设 X * D ,对任意的X D ,都有 f X * f X
则称X*是f(X)在D上的全局极小值点(全局最优解).特别地当
i1
j 1
将问题(1)转化为无约束问题: min TX , M
( 3)
X E n
其中T(X,M)称为罚函数,M称为罚因子,带M的项称为罚项,这
里的罚函数只对不满足约束条件的点实行惩罚:当X D 时,满
足各gi X 0,hi X 0 ,故罚项=0,不受惩罚.当X D 时,
D X | gi X 0,hj X 0,X En
问题(1)可简记为 min f X . X D
定义2 对于问题(1),设 X * D,若存在 0 ,使得对一切
X D,且 X X * ,都有 f X * f X ,则称X*是f(X)在D上的
n
,
步长缩小系数 0,1,允许误差 ,令 k=1;
(2) 在点X k 处,将 f X , gi X , hj X 按泰勒级数展开并
取一阶近似,得到近似线性规划问题:
min f X f X k f X k T X X k
gi X gi X k gi X k T X X k 0 hj X hj X k hj X k T X X k 0