非线性规划求解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
把其符合原始条件的最优解作为(3)的解的近似. 每得到一个近似解,都从这点出发,重复以上步骤. 这样,通过求解一系列线性规划问题,产生一个 由线性规划最优解组成的序列,经验表明,这样的序 列往往收敛于非线性规划问题的解.
近似规划法的算法步骤如下:
1 1 1 , x2 ,L, x1 (1) 给定初始可行点 X 1 = {x1 n },步长限制 j j = 1,L, n ,
k k T i
T
X X
k
k
g X X X 0 Hale Waihona Puke Baiduh X X X = 0
k T k j
i = 1, j = 1,
,m ,l ;
k
(3)在上述近似线性规划问题的基础上增加一组限制步长的线 性约束条件.因为线性近似通常只在展开点附近近似程度较
(6) [x,fval]= fmincon(…) (7) [x,fval,exitflag]= fmincon(…) (8)[x,fval,exitflag,output]= fmincon(…)
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(…);
例1
min f(x1,x2)=-2x1-6x2+x12-2x1x2+2x22 s.t. x1+x2≤2 -x1+2x2≤2 x1≥0, x2≥0
T
1.写成标准形式: min z = ( x , x ) 1 -1 x1 2 1 2 1 2 x2 6
m k
m
返回(3) .
近似规划法
近似规划法的基本思想:将问题(3)中的目标函数 f X
和约束条件 gi X 0 (i = 1,...,m); hj X = 0 (j = 1, , l )
近似为线性函数,并对变量的取值范围加以限制,从
而得到一个近似线性规划问题,再用单纯形法求解之,
s.t.
1 1
x1 x2
2.输入命令:
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)

k
令k=k+1返回(2),否则,停止迭代.得最优解 X * X k . 计算时也可将收敛性判别准则
gi X
改为 M min0, gi X 2 0 .
m i =1
罚函数法的缺点:每个近似最优解Xk往往不是容许解,而
只能近似满足约束,在实际问题中这种结果可能不能使用;在 解一系列无约束问题中,计算量太大,特别是随着Mk的增大, 可能导致错误.
2. 若约束条件中有非线性约束:G(X) 0 或Ceq(X)=0, 则建立M文件nonlcon.m定义函数G(X)与Ceq(X): function [G,Ceq]=nonlcon(X) G=… Ceq=…
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) (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文件 迭代的初值 变量上下限 参数说明
i =1 i =1
m
m
1 g i X
其中称 r lng i X 或 r
i =1 i =1
m
m
1 为障碍项, r为障碍因子. g i X
这样问题(1)就转化为求一系列极值问题: min I X , r
X D
0
k

得 X(r ).
k
k
内点法的迭代步骤
(1) 给定允许误差 0 ,取r1
数学建模与数学实验
非线性规划
实验目的
1. 直观了解非线性规划的基本内容.
2. 掌握用数学软件求解优化问题.
实验内容
1.非线性规划的基本理论.
2. 用数学软件求解非线性规划. 3. 钢管订购及运输优化模型. 4.实验作业.
非线性规划
非线性规划的基本概念
*非线性规划的基本解法
返回
非现性规划的基本概念 定义 如果目标函数或约束条件中至少有一个是非线性函数, 则最优化问题就叫做非线性规划问题.
SUTM外点法 对一般的非线性规划: min f X
gi X 0 s.t. h j X = 0
可设:T X , M = f X M
m
i = 1,2,...,m; j = 1, 2,..., l.
l
(1)
2 2 min 0 , g X M h X i j i =1 j =1




非线性规划的基本解法
SUTM外点法
1. 罚函数法 SUTM内点法(障碍罚函数法)
2. 近似规划法 返回
罚函数法 罚函数法基本思想是通过构造罚函数把 约束问题转化为一系列无约束最优化问题,
进而用无约束最优化方法去求解.这类方法
称为序列无约束最小化方法.简称为SUMT
法.
其一为SUMT外点法,其二为SUMT内点 法.
数,简记: f : Rn R1, g i : Rn R1, h j : Rn R1 其它情况: 求目标函数的最大值,或约束条件小于等于零 两种情况,都可通过取其相反数化为上述一般形式.
定义1 把满足问题(1)中条件的解 X ( Rn ) 称为可行解(或可行 点),所有可行点的集合称为可行集(或可行域).记为D.即 D = X | g i X 0, h j X = 0, X Rn 问题(1)可简记为 min f X .
步长缩小系数 0,1,允许误差 >0,令 k=1;
(2) 在点 X k 处,将 f X , g i X , h j X 按泰勒级数展开并取 一阶近似,得到近似线性规划问题:
min f X f X k f X k
gi X gi X hj X hj X
SUTM外点法(罚函数法)的迭代步骤 1.任意给定初始点 X0,取M1>1,给定允许误差 0,令k=1;
k=X(M ),即 T X , M 2.求无约束极值问题 min 的最优解,设 X k n
k
X R
min T X , M = T (X , Mk ); n
X R
k 3.若存在 i 1 i m ,使 gi X ,则取Mk>M(M k 1 = M , = 10),
0,0 1;
(2) 求出约束集合 D 的一个内点 X 0 D 0 ,令 k
X D
= 1;
(3) 以 X k 1 D 0 为初始点, 求解 min I X , rk , 其中 X D 0的
0
最优解设为 X k = X rk D 0 ;
1 (4) 检验是否满足 r ln g i X 或 rk ,若满 i =1 i =1g X i * k 足,停止迭代,令 X X ;否则取 rk 1 = rk ,令 k = k 1,
步骤(5);否则,缩小步长限制,令
回步骤(3),重解当前的线性规划问题;
5) 判断精度: 若 j = 1,L, n, 则点 X
k j
k 1
为近似最优解;
1 k = 否则,令 k j j j = 1,L, n ,k=k+1,返回步骤(2). 返回
1.二次规划
标准型为: min Z= 1 XTHX+cTX
{
}
X D
对于问题(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上的严格局部极小值点(严格局部最 优解). 定义3 对于问题(1),设 X * D ,若对任意的 X D,都有 f X* f X , 则称X*是f(X)在D上的全局极小值点(全局最优解).特别地,当 X X * 时,若 f X * f X ,则称X*是f(X)在D上的严格全局极小值 点(严格全局最优解). 返回 定义2
一般形式:
gi X 0 i = 1,2,..., m; s.t. h j X = 0 j = 1,2,..., l. (1) T n f , g ,h 其中 X = x1, x2 ,L, xn R, i j 是定义在 Rn 上的实值函
m in f X
2.一般非线性规划
Aeq X = beq
VLB X VUB
G(X) 0
其中X为n维变元向量,G(X)与Ceq(X)均为非线性函数组成 的向量,其他变量的含义与线性规划、二次规划中相同.用 MATLAB求解上述问题,基本步骤分三步: 1. 首先建立M文件fun.m,用来定义目标函数F(X): function f=fun(X); f=F(X);
SUTM内点法(障碍函数法)
min f X 考虑问题: (1) s.t. gi X 0 i = 1, 2,..., m 设集合D = { X | g X 0, i = 1, 2, , m} ,D 是
0 0 i
可行域中所有严格内点的集合.
构造障碍函数
I X , r : I X , r = f X r lng i X 或 I ( X , r ) = f ( X ) r
x 2 1 1 x 2 2 2 0 x 1 0 x 2
3.运算结果为: x =0.6667
MATLAB(youh1)
1.3333
z = -8.2222
标准型为: min F(X) s.t. AX b Ceq(X)=0
k x j xk j j
高, 故需要对变量的取值范围加以限制, 所增加的约束条件是:
j = 1,L , n
k 1 X 求解该线性规划问题,得到最优解

(4)
检验 X k 1对原约束是否可行.若 X k 1 对原约束可行,则转
k k = j j j = 1,L, n ,返
(2)
将问题()转化为无约束问题: 1 min T X,M n
X R
(3)
其中T(X,M)称为罚函数,M称为罚因子,带M的项称为罚项, 这里的罚函数只对不满足约束条件的点实行惩罚:当 X D 时,满足 各 gi X 0, hi X = 0 ,故罚项为0,不受惩罚.当 X D 时,必 有约束条件 gi X 0或hi X 0 ,故罚项大于0,要受惩罚.
相关文档
最新文档