MATLAB优化工具箱线性规划.ppt_第1页
MATLAB优化工具箱线性规划.ppt_第2页
MATLAB优化工具箱线性规划.ppt_第3页
MATLAB优化工具箱线性规划.ppt_第4页
MATLAB优化工具箱线性规划.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

例子:某农场种植两种作物A、B,需要甲、乙两种化肥。种植每亩作物A和作物B分别需用的化肥数,可得利润及农场现有化肥数量如下表所示:,问在现有条件下,如何安排种植,才能使利润最大?,2,例题建模,典型的优化问题 三大要素: 目标:种植A,B两种作物获得最大利润 决策:安排种植A,B两种作物各所少亩 约束:肥料限制;种植土地面积限制 建立模型 max 6x1+4x2 s.t. 2x1+5x2 100 4x1+2x2 120,3,Matlab优化工具箱,线性规划:linprog 非线性规划:fminbnd,fminsearch,fmincon,求解下列形式的线性规划模型:,Matlab求解线性规划模型 函数linprog,linprog 语法: x = linprog(f,A,b,Aeq,beq) x = linprog(f,A,b,Aeq,beq,lb,ub) x = linprog(f,A,b,Aeq,beq,lb,ub,x0) x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) x,fval = linprog(.) x,fval,exitflag = linprog(.) x,fval,exitflag,output = linprog(.) x,fval,exitflag,output,lambda = linprog(.),6,linprog输入参数说明: f, A, b, Aeq, beq lb,ub 边界设置 说明: 如果x(i)无边界,则 lb(i) = -inf, ub(i) = inf,7,输出参数说明: x 决策变量取值 fval 目标函数最优值 exitflag 0 成功找到最优解 0 达到最大迭代次数也没有找到最优解 0 该线性规划问题不可行或者linprog计算失败,linprog,8,例题的求解程序,模型: max 6x1+4x2 s.t. 2x1+5x2 100 4x1+2x2 120 Matlab求解程序: A=2 5;4 2; b=100 120; f=-6 4; optx ,funvalue,exitflag=linprog(f,A,b,0 0,inf,inf),9,程序运行结果,输出: Optimization terminated successfully. optx = 25.0000 10.0000 funvalue = -190.0000 exitflag = 1,10,解释得出实际问题的解,当分别种植A、B两种作物为25亩、10亩时,预计共获得利润190(百元)。,fmincon函数求解形如下面的有约束非线性规划模型,一般形式:,Matlab求解有约束非线性最小化 1.约束中可以有等式约束 2.可以含线性、非线性约束均可,输入参数语法:,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,options) x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2, .) x,fval,exitflag,output,lambda=fmincon(fun,x0,.),输入参数的几点说明,模型中如果没有A,b,Aeq,beq,lb,ub的限制,则以空矩阵 作为 参数传入; nonlcon:如果包含非线性等式或不等式约束,则将这些函数,编写为一个Matlab函数, nonlcon就是定义这些函数的程序文件名; 不等式约束 c(x)=0 等式约束 ceq(x)=0. 如果nonlcon=mycon ; 则myfun.m定义如下 function c,ceq = mycon(x) c = . % 计算非线性不等式约束在点x处的函数值 ceq = . %计算机非线性等式约束在点x处的函数值,14,fmincon示例,求解步骤: (1)编写目标函数文件(这里文件名用myobjfun2.m) (2)编写约束条件函数文件(mymodelcons.m) (3)编写调用fmincon主程序(mymain2.m),15,fmincon示例程序,function r=myobjfun1(x) %目标函数值计算,并返回 r=2*x(1)2+3*x(2)2+4*x(3)2;,文件myobjfun2.m,function C,CEQ=mymodelcons(x) C(1)=x(1)2+x(2)2-2*x(3)-900;%=0 CEQ(1)=x(1)+x(2)+x(3)-1000;%=0,文件mymodelcons.m,16,fun=myobjfun2;%目标函数文件名字符串 x0=0 0 1000;%初始点,注意满足等式约束 %基本约束条件初始化 A=;b=;Aeq=;beq=; lb=0 0 0;ub=inf,inf,inf; nonlcon=mymodelcons;%约束条件文件名 %调用fmincon求解 x,fval,exitflag= fmincon(fun,x0,A,b,Aeq,beq,. lb,ub,nonlcon),文件myobjfun2.m,17,学习小结,最优化问题建模的关键是先要确定三要素,再转化为数学表达式(数学模型)。 学习中既要初步掌握最优化问题的建模步骤,也要善于运用Matlab的优化工具箱求解优化模型。 有些模型可以采用多个Matlab函数求解,可以比较结果,加深认识。,18,思考题,一幢楼房的后面是一个很大的花园。在花园中紧靠着楼房建有一个温室,温室高10英尺

温馨提示

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

评论

0/150

提交评论