MATLAB优化工具箱线性规划

MATLAB优化工具箱线性规划

ID:38567787

大小:323.32 KB

页数:19页

时间:2019-06-15

MATLAB优化工具箱线性规划_第1页
MATLAB优化工具箱线性规划_第2页
MATLAB优化工具箱线性规划_第3页
MATLAB优化工具箱线性规划_第4页
MATLAB优化工具箱线性规划_第5页
资源描述:

《MATLAB优化工具箱线性规划》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、例子:某农场种植两种作物A、B,需要甲、乙两种化肥。种植每亩作物A和作物B分别需用的化肥数,可得利润及农场现有化肥数量如下表所示:问在现有条件下,如何安排种植,才能使利润最大?例题建模典型的优化问题三大要素:目标:种植A,B两种作物获得最大利润决策:安排种植A,B两种作物各所少亩约束:肥料限制;种植土地面积限制建立模型max6x1+4x2s.t.2x1+5x2≤1004x1+2x2≤1202Matlab优化工具箱线性规划:linprog非线性规划:fminbnd,fminsearch,fmincon3求解下列形式的线性规划模型:Matlab求解线性规划模型 函数

2、linproglinprog语法: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(...)linprog

3、输入参数说明:f,A,b,Aeq,beqlb,ub边界设置说明:如果x(i)无边界,则lb(i)=-inf,ub(i)=inf6输出参数说明:x决策变量取值fval目标函数最优值exitflag>0成功找到最优解0达到最大迭代次数也没有找到最优解<0该线性规划问题不可行或者linprog计算失败linprog7例题的求解程序模型:max6x1+4x2s.t.2x1+5x2≤1004x1+2x2≤120Matlab求解程序:A=[25;42];b=[100120];f=-[64];[optx,funvalue,exitflag]=linprog(f,A,b,[],

4、[],[00],[inf,inf])8程序运行结果输出:Optimizationterminatedsuccessfully.optx=25.000010.0000funvalue=-190.0000exitflag=19解释得出实际问题的解当分别种植A、B两种作物为25亩、10亩时,预计共获得利润190(百元)。10fmincon函数求解形如下面的有约束非线性规划模型一般形式:Matlab求解有约束非线性最小化1.约束中可以有等式约束2.可以含线性、非线性约束均可输入参数语法:x=fmincon(fun,x0,A,b)x=fmincon(fun,x0,A,b,

5、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的限

6、制,则以空矩阵[]作为参数传入;nonlcon:如果包含非线性等式或不等式约束,则将这些函数编写为一个Matlab函数,nonlcon就是定义这些函数的程序文件名;不等式约束c(x)<=0等式约束ceq(x)=0.如果nonlcon=‘mycon’;则myfun.m定义如下function[c,ceq]=mycon(x)c=...%计算非线性不等式约束在点x处的函数值ceq=...%计算机非线性等式约束在点x处的函数值fmincon示例求解步骤:(1)编写目标函数文件(这里文件名用myobjfun2.m)(2)编写约束条件函数文件(mymodelcons.m)(

7、3)编写调用fmincon主程序(mymain2.m)14fmincon示例程序functionr=myobjfun1(x)%目标函数值计算,并返回r=2*x(1)^2+3*x(2)^2+4*x(3)^2;文件myobjfun2.mfunction[C,CEQ]=mymodelcons(x)C(1)=x(1)^2+x(2)^2-2*x(3)-900;%<=0CEQ(1)=x(1)+x(2)+x(3)-1000;%=0文件mymodelcons.m15fun='myobjfun2';%目标函数文件名字符串x0=[001000];%初始点,注意满足等式约束%基本约束

8、条件初始化A=[];b=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。