1 / 24

第六章 非线性规划

第六章 非线性规划. 学习内容: 1 、非线性规划的基本理论。 2 、用数学软件求解非线性规划。 3 、建模案例:飞行管理问题。. 一、非线性规划问题的数学模型 一般形式 : Min f(X) s.t. h j (X)=0, j=1,2,…,l g i (X) ≧0 , i=1,2,…,m 其中: 决策向量(变量): X=(x 1 , x 2 ,…, x n ) 目标函数: f(X) 约束函数: g i (X) 和 h j (X), i=1,2,…,m; j=1,2,….,l

Download Presentation

第六章 非线性规划

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第六章 非线性规划 学习内容: 1、非线性规划的基本理论。 2、用数学软件求解非线性规划。 3、建模案例:飞行管理问题。

  2. 一、非线性规划问题的数学模型一般形式: Min f(X) s.t. hj(X)=0, j=1,2,…,l gi(X)≧0, i=1,2,…,m 其中: 决策向量(变量):X=(x1, x2,…, xn) 目标函数:f(X) 约束函数:gi(X) 和hj(X), i=1,2,…,m; j=1,2,….,l 可行集(或可行域):D={X: gi(X)≧0, hj(X)=0} 注: (1)当三个函数f(X), gi(X), hj(X)都是线性函数是,称上面的问 题是线性规划问题 (2)否则,称称上面的问题是非线性规划问题。

  3. (3)上面问题的向量形式是 Min f(X) s.t. g(X) =( g1(X), g2(X),…, gm(X))≧0 h(X) =( h1(X), h2(X),…, hl(X))=0.

  4. §6.1 非线性规划问题的解 一、      例子---供应与选址 某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:千米 )及水泥日用量d(吨)由下表给出。目前有两个临时料场位于A(5,1),B(2,7),日储量各有20吨。假设从料场到工地之间均有直线道路相连。 (1)试制定每天的供应计划,即从A,B两料场分别向各工地运送多少吨水泥,使总的吨千米数最小。 (2)为了进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的,日储量各为20吨,问应建在何处,节省的吨千米数有多大?

  5. 1 2 3 4 5 6 a 1.25 8.75 0.5 5.75 3 7.25 b 1.25 0.75 4.75 5 6.5 7.25 d 3 5 4 7 6 11 工地位置(a,b)及水泥日用量d 编写程序: x=[1.25 8.75 0.50 5.75 3.00 7.25 5 2]; y=[1.25 0.75 4.75 5.00 6.50 7.25 1 7]; plot(x,y,'*'); 得到图像

  6. (一)、建立模型 (ai,bi)-----工地的位置 di-------------水泥日用量,i=1,…,6; (xj,yj)------料场位置, ej--------------日储量为,j=1,2; Xij-------------从料场j向工地i的运送量。 目标函数为: 约束条件为:

  7. (二)使用临时料场的情形---- 用两个临时料场A(5,1),B(2,7). 求从料场j向工地i的运送量为Xij,在各工地用量必须满足和各料场运送量不超过日储量的条件下,使总的吨千米数最小,这是线性规划问题. 线性规划模型为: 其中, i=1,2,…,6,j=1,2,为常数。

  8. (三)改建两个新料场的情形 ----同时确定料场的位置(xj,yj)和运送量Xij 在同样条件下使总吨千米数最小。这是非线性规划问题。非线性规划模型为:

  9. 一、基本概念 定义1:(局部极值)设X*∈D, 若存在一个领域N(X*,ε), 当X∈N(X*,ε)时,有f(X*)≦f(X),则称X*是f(X)的局部极小值点。 定义2:(全部极值)设X*∈D, 若当X∈D时,有f(X*)≦f(X),则称X*是f(X)的全部极小值点。

  10. 线性规划问题: (1)最优解的算法采用单纯形算法; (2)最优解总在可行域的顶点(或边界)取得; (3)可以断定局部最优解必是全局最优解。 非线性规划问题: (1)目前没有适合于各种问题的一般算法; (2)常见方法是:约束问题化为无约束问题,非线性规划问题化为线性规划问题。

  11. 常见的几种规划问题的一般形式: 1.无约束问题: Min f(X) 2.只有等号的非线性问题 Min f(X) s.t. hj(X)=0, j=1,2,…,l 3.只有不等号的非线性问题 Min f(X) s.t. gi(X)≧0, i=1,2,…,m 4.一般的非线性问题 Min f(X) s.t. gi(X)≧0, i=1,2,…,m hj(X)=0, j=1,2,…,l

  12. 一、无约束规划问题的数学原理 1.无约束问题: Min f(X) 用求驻点与Hissian矩阵: 设Z=f(X)在点X*附件有一阶与二阶连续的偏导数,则 (1)必要条件:若f(X)在点X*有极值,则X*是f(X)的驻点,即▽f(X*)=0. (2)充分条件:设X*是f(X)的驻点,若f(X)在X*点Hissian矩阵▽2f(X*) i)是正定的,则驻点X*是极大点。 ii)是负定的,则驻点X*是极小点。 iii)是不定的,则驻点X*不是极值点。 iv) 是半定的,则驻点X*是是否为极值点要视高阶导数的性质决定。

  13. 2. 只有等号的非线性问题---采用Lagrange定理 Min f(X) s.t. hj(X)=0, j=1,2,…,l 定理1(一阶必要条件):设f, hj在可行点X*的某个领域N(X*,ε)可微,向量组▽hj(X)线性无关,f(X)在点X*有极值,则存在实数λ=(λ1, λ2,…, λl),使得 ▽f(X*)-λT▽h(X*)=0. λT▽h(X*)=0. 其中L(X,λ)=f(X*)-λTh(X*)称为Lagrange函数,λ称为Lagrange乘子向量。

  14. 定理2(二阶必要条件)设X*是局部最优解,相应的函数二阶可微,若存在一个实数向量λ=(λ1, λ2,…, λl),使得▽L(X,λ)=▽f(X*)-λT▽h(X*)=0,且L(X,λ)的Hissian矩阵H(X*,λ)正定,则X*是局部最优解。

  15. 3. 只有不等号的非线性问题 Min f(X) s.t. gi(X)≧0, i=1,2,…,m 定理3:(Kuhn-Tucher必要条件) 设f, gi在可行点X*的某个领域N(X*,ε)可微,向量组▽gi(X)线性无关,在点X*有极值,则存在非负实数向量μ=(μ1, μ2,…, μm)( μi≧0),使得 ▽f(X*)-μT▽g(X*)=0. μT▽g(X*)=0. 定理4:(K-T充分条件)设X*是局部最优解,相应的函数可微且为凸函数,又点X*是全局最优解。

  16. 例2:要设计一个容量为V的长方形武器水箱,试问水箱的长、宽、高各等于多少时,其表面积最小?例2:要设计一个容量为V的长方形武器水箱,试问水箱的长、宽、高各等于多少时,其表面积最小? 例3:求解最优化问题: min (x1-1)2+x2 s.t. g1(x)=-x1-x2+2≧0, g2(x)= x2≧0.

  17. §6.3 用Matlab优化工具箱解非线性规划 一、二次规划的解法 标准型为: Min Z= XTHX/2+cTX s.t. AX<=b, Aeq.X=Beq, VLB≤X≤VUB 用MATLAB软件求解,其输入格式如下: x=quadprog(H,C,A,b);  x=quadprog(H,C,A,b,Aeq,beq);  x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB);  x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0); x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0,options) [x,fval]=quaprog(...); [x,fval,exitflag]=quaprog(...); [x,fval,exitflag,output]=quaprog(...);

  18. 例4: min f(x1,x2)=-2x1-6x2+x12-2x1x2+2x22 s.t. x1+x2≤2 -x1+2x2≤2 x1≥0, x2≥0 1.写成标准形式,即矩阵的形式 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) 3、运算结果为: x =0.6667 1.3333 z = -8.2222

  19. 一、一般非线性规划 标准型为: 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)均为非线性函数组成的向量, 其它变量的含义与线性规划、二次规划中相同.

  20. 用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): function [G,Ceq]=nonlcon(X) G=... Ceq=...

  21. 建立主程序.非线性规划求解的函数是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) (6)[x,fval]= fmincon(...) (7)[x,fval,exitflag]= fmincon(...) (8)[x,fval,exitflag,output]=fmincon(...)

  22. [x,fval,exitflag,output] =(‘fun’,X0,A,b,Aeq,beq,VLB,VUB,’nonlcon’) 其中: x---输出极值点 fun----M文件 x0---迭代的初值 vlb,vub,变量上下限 nonlcon---约束函数的非等式M文件。 Options----参数说明 fmincon函数可能会给出局部最优解,这与初值X0的选取有关。

  23. 例6:

More Related