数学建模第6讲 非线性规划

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

数学建模
返回 2
非现性规划的基本概念
定义 如果目标函数或约束条件中至少有一个是非线性函数, 则最优化问题就叫做非线性规划问题.
一般形式:
min f X
s.t.gi h j
X X
=
0 0
i = 1,2,..., m; j = 1,2,...,l.
(1)
其中 X = x1, x2,L, xn T Rn,f , gi , hj 是定义在 Rn 上的实值函

s.t.
2.输入命令:
H=[1 -1; -1 2];

1

1
1
2



x1 x2





2 2




0 0





x1 x2


c=[-2 ;-6];A=[1 1; -1 2];b=[2;2];
Aeq=[];beq=[]; VLB=[0;0];VUB=[];
r 为障碍因子.
这样问题(1)就转化为求一系列极值问题:
min I X , r 得 X(k r).
k
k
0
202X0/1D/23
数学建模
9
内点法的迭代步骤
(1) 给定允许误差 0,取r1 0,0 1;
(2) 求出约束集合 D 的一个内点 X 0 D0,令k = 1;
令k=k+1返回(2),否则,停止迭代.得最优解 X * X k .
计算时也可将收敛性判别准则 gi X k 改为 M m min0, gi X 2 0 . i =1 罚函数法的缺点:每个近似最优解Xk往往不是容许解,而 只能近似满足约束,在实际问题中这种结果可能不能使用;在
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.[x20,20f/1v/23al,exitflag,outp数u学t建]模=quaprog(…);
2. 若约束条件中有非线性约束:G(X) 0 或Ceq(X)=0,
则建立M文件nonlcon.m定义函数G(X)与Ceq(X):
function [G,Ceq]=nonlcon(X)
G=…
Ceq=…
2020/1/23
数学建模
16
3. 建立主程序.求解非线性规划的函数是fmincon,命令的基本 格式如下:
(3)
X R n
其中T(X,M)称为罚函数,M称为罚因子,带M的项称为罚项,
这里的罚函数只对不满足约束条件的点实行惩罚:当X D 时,满足
各 gi X 0,hi X = 0 ,故罚项为0,不受惩罚.当X D 时,必
有约束条件 gi X 0或hi X 0 ,故罚项大于0,要受惩罚.
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);
性约束条件.因为线性近似通常只在展开点附近近似程度较
高,故需要对变量的取值范围加以限制,所增加的约束条件是:
xj

x
k j


k j
j = 1,L, n
求解该线性规划问题,得到最优解X k1 ;
(4) 检验 X k1对原约束是否可行.若 X k1对原约束可行,则转
步骤(5);否则,缩小步长限制,令

k j
=


k j
j = 1,L, n,返
回步骤(3),重解当前的线性规划问题;
5)
判断精度:若

k j

j =1,L,n,则点 X k1为近似最优解;
否则,令

k 1 j
=

k j
j =1,L,n,k=k+1,返回步骤(2). 返回
2020/1/23
数学建模
13
标准型为:
(5)x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’,opti
ons)
输出极值点 M文件 迭代的初值 变量上下限 参数说明
(6) [x,fval]= fmincon(…) (7) [x,fval,exitflag]= fmincon(…) (8)[x,fval,exitflag,output]= fmincon(…)
2020/1/23
数学建模
17
注意:
[1] fmincon函数提供了大型优化算法和中型优化算法.默认 时: 若在fun函数中提供了梯度(options参数的GradObj设置 为’on’),并且只有上下界存在或只有等式约束,fmincon 函数将选择大型算法.当既有等式约束又有梯度约束时,使用中 型算法.
每得到一个近似解,都从这点出发,重复以上步骤.
这样,通过求解一系列线性规划问题,产生一个 由线性规划最优解组成的序列,经验表明,这样的序 列往往收敛于非线性规划问题的解.
2020/1/23
数学建模
11
近似规划法的算法步骤如下:
{ } (1) 给定初始可行点 X 1 =
x11, x12 ,L, x1n
(3)

X
k 1

D0为初始点,求解min X D 0
I

X
,
rk
,其中
X

D0的
最优解设为 X k = X rk D0;
(4)
检验是否满足

r
m
ln
i=1
gi
Xk



rk
m
i=1gi
1
X



,若满
足,停止迭代,令 X * X k ;否则取rk1 = rk ,令k = k 1,
解一系列无约束问题中,计算量太大,特别是随着Mk的增大,
可能202导0/1/致23 错误.
数学建模
8
SUTM内点法(障碍函数法)
考虑问题:
min f X
s.t.
g X0 i
i = 1, 2,..., m
(1)
设集合D0 = {X | g X 0, i = 1, 2, , m} ,D0是 i
返回(3).
2020/1/23
数学建模
10
近似规划法
近似规划法的基本思想:将问题(3)中的目标函数 f X 和约束条件 gi X 0 (i =1,...,m); hj X = 0 (j =1, ,l)
近似为线性函数,并对变量的取值范围加以限制,从 而得到一个近似线性规划问题,再用单纯形法求解之, 把其符合原始条件的最优解作为(3)的解的近似.
局部极小值点(局部最优解).特别地,当X X* 时,若
f X * f X ,则称X*是f(X)在D上的严格局部极小值点(严格局部最
优解).
定义3 对于问题(1),设 X * D ,若对任意的 X D,都有f X* f X ,
则称X*是f(X)在D上的全局极小值点(全局最优解).特别地,当
实验目的 实验内容
1. 直观了解非线性规划的基本内容. 2. 掌握用数学软件求解优化问题.
1.非线性规划的基本理论. 2. 用数学软件求解非线性规划. 3. 钢管订购及运输优化模型. 4.实验作业.
2020/1/23
数学建模
1
2020/1/23
非线性规划
非线性规划的基本概念 *非线性规划的基本解法
罚函数法基本思想是通过构造罚函数把 约束问题转化为一系列无约束最优化问题, 进而用无约束最优化方法去求解.这类方法 称为序列无约束最小化方法.简称为SUMT 法.
其一为SUMT外点法,其二为SUMT内点
法. 2020/1/23
数学建模
6
SUTM外点法
对一般的非线性规划: min f X
s.t.
[x,z]=quadprog(H,c,A,b,Aeq,beq,VLB,VUB)
3.运算结果为: x 2020/1/23 =0.6667 1.数学3建3模33
MATLAB(youh1)
z = -8.222125
标准型为:
2.一般非线性规划
min F(X)
s.t. AX b
Aeq X = beq G(X) 0
gi hj

X X

=
0 0
i = 1,2,...,m; j = 1, 2,...,l.
(1)
m
l
可设:TX , M = f X M min0, gi X 2 M hj X 2 (2)
i=1
j =1
将问题(1)转化为无约束问题: minT X , M
(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) (4) x=fmincon(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’)
数,简记: f : Rn R1, gi : Rn R1, h j : Rn R1
其它情况: 求目标函数的最大值,或约束条件小于等于零 两种情况,都可通过取其相反数化为上述一般形式.
2020/1/23
数学建模
3
定义1 把满足问题(1)中条件的解 X ( Rn )称为可行解(或可行
点),所有可行点的集合称为可行集(或可行域).记为D.即
gi X gi X k gi X k T X X k 0 i = 1, , m
hj X hj X k hj X k T X X k = 0 j = 1, ,l ;
2020/1/23
数学建模
12
(3)在上述近似线性规划问题的基础上增加一组限制步长的线
Ceq(X)=0 VLB X VUB
其中X为n维变元向量,G(X)与Ceq(X)均为非线性函数组成
的向量,其他变量的含义与线性规划、二次规划中相同.用 MATLAB求解上述问题,基本步骤分三步:
1. 首先建立M文件fun.m,用来定义目标函数F(X):
function f=fun(X);
f=F(X);
2020/1/23
数学建模
7
SUTM外点法(罚函数法)的迭代步骤
1.任意给定初始点 X0,取M1>1,给定允许误差 0,令k=1;
2.求无约束极值问题 min
minT
X R n
X,M
=
T
(
X
k
,
X Rn
Mk )
T

X
,
M

的最优解,设Xk=X(Mk),即
3.若存在 i 1 i m ,使 gi X k ,则取Mk>M(Mk1 = M, = 10),
14
例1 min f(x1,x2)=-2x1-6x2+x12-2x1x2+2x22
s.t. x1+x2≤2
-x1+2x2≤2
x1≥0, x2≥0
1.写成标准形式:
1wk.baidu.com
min
z
=
(
x1,
x2
)

1
-1
2


x1 x2



2 6
T

x1 x2
可行域中所有严格内点的集合.
构造障碍函数
m
I X , r :I X , r= f X r lngi X 或
i =1
I ( X , r) =
f
(X ) r
m i =1
1
gi X
其中称r m lngi X 或
i =1
m
r
i =1
g
i
1
X
为障碍项,
{ } D = X | gi X 0, hj X = 0, X Rn
问题(1)可简记为 min f X . X D
定义2 对于问题(1),设 X * D ,若存在 0 ,使得对一切
X D ,且 X X * ,都有 f X * f X ,则称X*是f(X)在D上的
X X* 时,若 f X * f X ,则称X*是f(X)在D上的严格全局极小值
点(严格全局最优解).
2020/1/23
数学建模
返回 4
非线性规划的基本解法
1. 罚函数法
SUTM外点法 SUTM内点法(障碍罚函数法)
2. 近似规划法
2020/1/23
数学建模
返回 5
罚函数法
,步长限制
1 j

j
=
1,L,
n,
步长缩小系数 0,1,允许误差 >0,令 k=1;
(2) 在点 X k 处,将 f X ,gi X ,hj X 按泰勒级数展开并取
一阶近似,得到近似线性规划问题:
min f X f X k f X k T X X k
相关文档
最新文档