Matlab求解有约束规划函数PPT课件_第1页
Matlab求解有约束规划函数PPT课件_第2页
Matlab求解有约束规划函数PPT课件_第3页
Matlab求解有约束规划函数PPT课件_第4页
Matlab求解有约束规划函数PPT课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、6.3软件求解,Matlab求解有约束规划函数,1.fmincon函数求解形如下面的有约束非线性规划模型,一般形式:,Matlab求解有约束非线性最小化求解非线性规划问题的Matlab函数fmincon1.约束中可以有等式约束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,

2、nonlcon,options)x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2,.),输入参数的几点说明,模型中如果没有A,b,Aeq,beq,lb,ub的限制,则以空矩阵作为参数传入;nonlcon:如果包含非线性等式或不等式约束,则将这些函数,编写为一个Matlab函数,nonlcon就是定义这些函数的程序文件名;不等式约束c(x)2%nonlcon如果四个输出参数GC=.%不等式约束的梯度GCeq=.%等式约束的梯度end,输出参数语法:,x,fval=fmincon(.)x,fval,exitflag=fmincon(.

3、)x,fval,exitflag,output=fmincon(.)x,fval,exitflag,output,lambda=fmincon(.)x,fval,exitflag,output,lambda,grad=fmincon(.)x,fval,exitflag,output,lambda,grad,hessian=fmincon(.)运用步骤:将自己的模型转化为上面的形式写出对应的参数调用函数,fmincon应用求解示例:,请问:1、结合fmincon函数,需要提供哪些参数,第一步:编写一个M文件返回目标函数f在点x处的值函数程序,functionf=myfun(x)f=-x(1)*x

4、(2)*x(3);,函数myfun.m,第二步:为了调用MATLAB函数,必须将模型中的约束转化为如下形式(=)。,这里:A=-1-2-2;122;b=072;,这是2个线性约束,形如,第三步:提供一个搜索起点,然后调用相应函数,程序如下:,%给一个初始搜索点x0=10;10;10;x,fval=fmincon(myfun,x0,A,b),主程序(整体):,A=-1-2-2;122;b=072;%给一个初始搜索点x0=10;10;10;x,fval=fmincon(myfun,x0,A,b),最后得到如下结果:,x=24.000012.000012.0000fval=-3.4560e+03,2

5、.非负条件下线性最小二乘lsqnonneg,适合如下模型:,注意:约束只有非负约束,语法:,x=lsqnonneg(c,d)x=lsqnonneg(c,d,x0)x=lsqnonneg(c,d,x0,options),3.有约束线性最小二乘lsqlin,适合如下模型:,注意:约束有线性等式、不等式约束,语法:,x=lsqlin(C,d,A,b)x=lsqlin(C,d,A,b,Aeq,beq)x=lsqlin(C,d,A,b,Aeq,beq,lb,ub)x=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0)x=lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,opt

6、ions)x,resnorm=lsqlin(.)x,resnorm,residual=lsqlin(.)x,resnorm,residual,exitflag=lsqlin(.)x,resnorm,residual,exitflag,output=lsqlin(.)x,resnorm,residual,exitflag,output,lambda=lsqlin(.),4.非线性最小二乘lsqnonlin,适合模型:,语法:,x=lsqnonlin(fun,x0)x=lsqnonlin(fun,x0,lb,ub)x=lsqnonlin(fun,x0,lb,ub,options)x=lsqnonl

7、in(fun,x0,options,P1,P2,.)x,resnorm=lsqnonlin(.)x,resnorm,residual=lsqnonlin(.)x,resnorm,residual,exitflag=lsqnonlin(.)x,resnorm,residual,exitflag,output=lsqnonlin(.)x,resnorm,residual,exitflag,output,lambda=lsqnonlin(.)x,resnorm,residual,exitflag,output,lambda,jacobian=lsqnonlin(.),例1:求解x,使得下式最小,resnorm等于norm(C*x-d)2residual等于C*x-d,返回参数说明,第一步:编写M文件myfun.m计算向量F,functionF=myfun(x)k=1:10;F=2+2*k-exp(k*x(1)-exp(k*x(2);,第二步:调用优化函数lsqnonlin,%给定搜索起点x0=0.30.4;%调用求解函数x,resnorm=l

温馨提示

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

评论

0/150

提交评论