非线性规划问题数学建模_第1页
非线性规划问题数学建模_第2页
非线性规划问题数学建模_第3页
非线性规划问题数学建模_第4页
非线性规划问题数学建模_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、非线性规划问题 天津理工大学理学院天津理工大学理学院 赵瑞赵瑞 非线性规划非线性规划 1. 首先建立首先建立M文件文件fun.m,定义目标函数定义目标函数F(X): function f=fun(X); f=F(X); 一般非线性规划一般非线性规划 其中其中X为为n维变元向量,维变元向量,G(X)与与Ceq(X)均为非线性函数组均为非线性函数组 成的向量,其它变量的含义与线性规划、二次规划中相同成的向量,其它变量的含义与线性规划、二次规划中相同.用用 Matlab求解上述问题,基本步骤分三步:求解上述问题,基本步骤分三步: 3. 建立主程序建立主程序.非线性规划求解的函数是非线性规划求解的函数

2、是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

3、,fval,exitflag,output= fmincon(.) 输出极值点 M文件迭代的初值参数说明变量上下限 1先建立先建立M文件文件 fun4.m,定义目标函数定义目标函数: function f=fun4(x); f=exp(x(1) *(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1); ) 12424()( 221 2 2 2 1 1 xxxxxexf x x1+x2=0 s.t. 1.5+x1x2 - x1 - x2 0 -x1x2 10 0 例例 2再建立再建立M文件文件mycon.m定义非线性约束:定义非线性约束: function g,ceq=m

4、ycon(x) g=1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10; ceq=; 3主程序主程序youh3.m为为: x0=-1;1; A=;b=; Aeq=1 1;beq=0; vlb=;vub=; x,fval=fmincon(fun4,x0,A,b,Aeq,beq,vlb,vub,mycon) 3. 运算结果为运算结果为: x = -1.2247 1.2247 fval = 1.8951 例 100 , 50 07 025 . . 2min 21 2 2 2 12 2 2 2 11 21 xx xxXg xxXgts xxXf 1先建立先建立M-文件文件fun

5、.m定义目标函数定义目标函数: function f=fun(x); f=-2*x(1)-x(2); 2再建立再建立M文件文件mycon2.m定义非线性约束:定义非线性约束: function g,ceq=mycon2(x) g=x(1)2+x(2)2-25;x(1)2-x(2)2-7; ceq=; 3. 主程序主程序fxx.m为为: x0=3;2.5; VLB=0 0;VUB=5 10; x,fval =fmincon(fun,x0,VLB,VUB,mycon2) 4. 运算结果为运算结果为: x = 4.0000 3.0000 fval =-11.0000 作业:作业:1. 供应与选址供应

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

7、.25 b 1.25 0.75 4.75 5 6.5 7.25 d 3 5 4 7 6 11 无约束问题 Matlab函数中只有处理极小值的指令。函数中只有处理极小值的指令。 求的是局部极值求的是局部极值 1.一元函数极值一元函数极值 x,fval=fminbnd(fun,x1,x2) %x1、x2表示被研究区间的左右边界。表示被研究区间的左右边界。 %x返回极小值点,返回极小值点,fval返回该点的函数值。返回该点的函数值。 2.多元函数极值多元函数极值 x,fval=fminsearch(fun,x0) %求多元函数极值点指令,求多元函数极值点指令,x0为初始值为初始值 x,fval=fminunc(fun,x0) %拟牛顿法求多元函数极值点指令,拟牛顿法求多元函数极值点指令,x0为初始值为初始值 %fun均是用字符串表示函数均是用字符串表示函数 x,fval=fminbnd(sin(x),-pi,pi) %求求sinx在在-,的极小值点的极小值点 x = -1.5708 fval = -1.0000 x,fval=fminsearch( (x(1)-1)2+(x(2)-x(1)2)2,0,0) x = 1.0000 1.0000 fval = 2.6131e-010 x,fval=fminunc(x(1)2+x(2)2-x(1)*x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论