ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:131.17KB ,
资源ID:1934429      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1934429.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最优化优化工具箱.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最优化优化工具箱.docx

1、最优化优化工具箱MATLAB优化工具箱1、线性规划1.1一般线性规划(linprog)1.1.1 数学模型其中,和为向量,和为矩阵.1.1.2 相关语法x=linprog(f,A,b)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,

2、exitflag,output,lambda=linprog()1.1.3 实例分析例1、求解如下线性规划模型代码: f=-2;-3;-1;A=1 2 2;1 4 7;b=4;9;lb=0;0;0;x,fval=linprog(f,A,b,lb)Optimization terminated.x = 4.0000 0.0000 0.0000fval = -8.0000即原问题的最优解为,最优值为8.例2、求解如下线性规划模型 代码: f=5;0;21;A=-1 1 -6;-1 -1 -2;b=-2;-1;lb=0;0;0;x,fval=linprog(f,A,b,lb)Optimization

3、 terminated.x = 0.5000 0.0000 0.2500fval =7.7500即原问题的最优解为,最大值为-7.75.1.2 0-1线性规划(bintprog)1.2.1 数学模型其中,和为向量,和为矩阵.1.2.2 相关语法x=bintprog(f,A,b)x=bintprog(f,A,b,Aeq,beq)x=bintprog(f,A,b,Aeq,beq,lb,ub)x=bintprog(f,A,b,Aeq,beq,lb,ub,x0)x=bintprog(f,A,b,Aeq,beq,lb,ub,x0,options)x,fval=bintprog()x,fval,exitf

4、lag=bintprog()x,fval,exitflag,output=bintprog()1.2.3 实例分析代码:f=-193;-191;-187;-186;-180;-185;A=0 0 0 0 -1 -1;0 -1 0 0 -1 0;1 1 0 0 0 0;0 1 0 0 0 1;0 0 0 1 0 1; b=-1;-1;1;1;1;Aeq=1 1 1 1 1 1;beq=3;x=bintprog(f,A,b,Aeq,beq)Optimization terminated.x = 1 0 1 0 1 0即原问题的最优解为,z=560.1.3 整数线性规划(intprog)1.3.1

5、数学模型其中,和为向量,和为矩阵.1.3.2 相关语法function x,fval,status = intprog(f,A,B,I,Aeq,Beq,lb,ub,e)%整数规划求解函数 intprog()% 其中 f为目标函数向量% A和B为不等式约束 Aeq与Beq为等式约束% I为整数约束% lb与ub分别为变量下界与上界% x为最优解,fval为最优值%例子:% maximize 20 x1 + 10 x2 % S.T.% 5 x1 + 4 x2 =24% 2 x1 + 5 x2 =0 % x1, x2是整数% f=-20, -10;% A= 5 4; 2 5;% B=24; 13;%

6、 lb=0 0;% ub=inf inf;% I=1,2;% e=0.000001;% x v s= IP(f,A,B,I,lb,ub,e)% x = 4 1 v = -90.0000 s = 1 % 控制输入参数if nargin 9, e = 0.00001; if nargin 8, ub = ; if nargin 7, lb = ; if nargin 6, Beq = ; if nargin 5, Aeq = ; if nargin 4, I = 1:length(f);end, end, end, end, end, end %求解整数规划对应的线性规划,判断是否有解option

7、s = optimset(display,off);x0,fval0,exitflag = linprog(f,A,B,Aeq,Beq,lb,ub,options);if exitflag 0 disp(没有合适整数解); x = x0; fval = fval0;status = exitflag; return;else%采用分支定界法求解 bound = inf; x,fval,status=branchbound(f,A,B,I,x0,fval0,bound,Aeq,Beq,lb,ub,e);endfuntion newx,newfval,status,newboundbranchbo

8、und(f,A,B,I,x,fval,bound,Aeq,Beq,lb,ub,e)% 分支定界法求解整数规划%f,A,B,Aeq,Beq,lb,ub与线性规划相同%I为整数限制变量的向量%x为初始解,fval为初始值options=optimiset(display,off);x0,fval0,status0=linprog(f,A,B,Aeq,Beq,lb,ub,options);%递归中的最终退出条件%无解或者解比现在有上界大则返回原解if status0=bound newx=x; newfval=fval;newbound=bound;status=status0; return;en

9、d%是否为整数解,如果是整数解则返回原解intindex=find(abs(x0(I)-round(x0(I)e);if isempty(intindex) newx(I)=round(x0(I); newfval=fval0;newbound=fval0;status=1;return;end%当有非整可行解时,则进行分支求解%此时必定会有整数解或空解%找到第一个不满足整数要求的变量n=I(intindex(1);addA=zeros(1,length(f);addA(n)=1;%构造第一个分支x0&bound0&bound2boundstatus=status2;newx=x2; newf

10、val=fval2; newbound=bound2;end1.3.3 实例分析例1、求解下列运输问题. 代码:f=2;9;10;7;1;3;4;2;8;4;2;5;Aeq=1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1;beq=9;5;7;3;8;4;6;I=1:length(f);lb=zeros(12,1

11、);x,fval=intprog(f,I,Aeq,beq,lb)Optimization terminated.x= 3 0 0 6 0 5 0 0 0 3 4 0fval= 83.0000即原问题的最优值为83.2、非线性规划2.1 无约束非线性规划2.1.1 单变量优化(fminbnd)2.1.1.1 数学模型其中,和为标量,为函数,返回标量.2.1.1.2 相关语法x=fminbnd(fun,x1,x2)x=fminbnd(fun,x1,x2,options)x=fminbnd(fun,x1,x2,options,P1,P2,)x,fval=fminbnd()x,fval,exitfla

12、g=fminbnd()x,fval,exitflag,output=fminbnd()2.1.1.3 实例分析例1、在区间0,1上求函数的最小值.代码:%先定义函数f(x)的M文件f1114.m function f=f1114(x) f=x5+x3-7*x+1;%主程序%调用fminbnd函数x,fval=fminbnd(f1114,0,1)x = 0.9595fval = -4.0199即原问题在x=0.9595处取得最小值-4.0199.2.1.1.4 常见算法(1) 二分法程序以及实例程序:function y=erfen(fun,a,b,esp)if nargin4 esp=1e-4;endif feval(fun,a)*feval(fun,b)esp if feval(fun,a)*feval(fun,c)0 b=c; c=(a+b)/2; elseif feval(fun,c)*feval(fun,b)0 a=c; c=(a+b)/2; else y=c; es

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1