1 / 5
文档名称:

非线性规划.doc

格式:doc   大小:91KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

非线性规划.doc

上传人:xxq93485240 2019/6/16 文件大小:91 KB

下载得到文件列表

非线性规划.doc

文档介绍

文档介绍:2非线性规划问题非线性规划的一般(标准)形式:minf(x)()式中变量需满足:.()其中,x为n维欧式空间中的向量,称为决策向量,f(x)为目标函数,,称为约束条件.,,f(x),决策变量、目标函数、,非线性规划是指非线性约束优化,但只要目标函数是非线性的,也可以讨论无约束优化问题[1].,Ax=b改写成x=Hx+g,H为矩阵g向量而定义向量序列;,为迭代序列而向量总是由方向和长度确定,即向量总可以写成(k=1,2,…..)其中为一个向量,为一个实数,称为步长,即可由及唯一确定[2].(x)具有一阶连续偏导数,它存在极小点X*。X(k)表示极小点的第k次近似,为了求其第k+1次近似X(k+1),在X(k)点沿方向P(k)作射线我们不妨设P(k)的模一定。当P(k)与▽f(X(k))同向,即取P(k)为梯度方向时,θ=0,cosθ=1,▽f(X(k))TP(k)最大;当P(k)与▽f(X(k))反向时,θ=1,cosθ=0,▽f(X(k))TP(k)<0,且其值最小,,负梯度方向是函数值下降最快的方向(通常指在X(k)的某一小范围内),沿这一方向搜索,有可能较快地达到极小点,,在选定了搜索方向之后,还要确定步长。选取步长的一种方法是通过试算,即先取λ为某一常数,检验下式是否满足:若满足,就可以取这个λ值进行迭代;若不满足,就减小λ使满足上式,由于采用负梯度方法,总是存在的[3].3用Matlab解决非线性规划问题在Matlab优化工具箱中,fmincon函数是用SQP算法来解决一般的约束非线性规划的函数,它的命令格式为:x=fmincon(‘fun’,x0,A,b)x=fmincon(‘fun’,x0,A,b,Aeq,beq)x=fmincon(‘fun’,x0,A,b,Aeq,beq,lb,ub)x=fmincon(‘fun’,x0,A,b,Aeq,beq,lb,ub,nonlcon)x=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON)(0,0),需铺设管道分别向城市a(400km,400km),b(400km,600km),c(600km,400km)输送天然气(城市之间也可铺设管道),且知这三个城市的天然气日需量分别为5万,4万,10万立方米,铺设日输天然气能力为1万立方米的管道1km的总费用为5万元(假定总费用与管道的输送能力成正比),试设计管道铺设方案使费用最省[4].到个坐标点的横向距离为x,纵向距离为y有已知条件知:目标函数:约束条件:MATLAB软件编写程序如下:functionhhX0=[500500];formatshortg[X,FVAL,EXITFLAG]=fminsearch(***@myfun,X0)%testfminsymsxyA=5;B=4;C=10;f0=(A+B+C)*sqrt(x^2+y^2);fa=A*sqrt((x-400)^2+(y-400)^2);fb=B*sqrt((x-400)^2+(y-600)^