




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6.3 软件求解,Matlab求解有约束规划函数,1.fmincon函数求解形如下面的有约束非线性规划模型,一般形式:,Matlab求解有约束非线性最小化 求解非线性规划问题的Matlab函数fmincon 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,
2、A,b,Aeq,beq,lb,ub,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,输出参数语法:
3、,x,fval = fmincon(.) x,fval,exitflag = fmincon(.) 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函数,
4、需要提供哪些参数,第一步:编写一个M文件返回目标函数f在点x处的值函数程序,function f = myfun(x) f = -x(1) * x(2) * x(3);,函数myfun.m,第二步:为了调用MATLAB函数,必须将模型中的约束转化为如下形式(=)。,这里: A=-1 -2 -2; 1 2 2 ; b=0 72;,这是2个线性约束,形如,第三步:提供一个搜索起点,然后调用相应函数,程序如下:,% 给一个初始搜索点 x0 = 10; 10; 10; x,fval = fmincon(myfun,x0,A,b),主程序(整体):,A=-1 -2 -2; 1 2 2 ; b=0 72;
5、 % 给一个初始搜索点 x0 = 10; 10; 10; x,fval = fmincon(myfun,x0,A,b),最后得到如下结果:,x = 24.0000 12.0000 12.0000 fval = -3.4560e+03,2.非负条件下线性最小二乘 lsqnonneg,适合如下模型:,注意:约束只有非负约束,语法:,x =lsqnonneg(c,d) x =lsqnonneg(c,d,x0) x =lsqnonneg(c,d,x0,options),3.有约束线性最小二乘lsqlin,适合如下模型:,注意:约束有线性等式、不等式约束,语法:,x = lsqlin(C,d,A,b)
6、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,options) x,resnorm = lsqlin(.) x,resnorm,residual = lsqlin(.) x,resnorm,residual,exitflag = lsqlin(.) x,resnorm,residual,exitflag,output = lsqlin(.) x,resnorm,residu
7、al,exitflag,output,lambda = lsqlin(.),4.非线性最小二乘lsqnonlin,适合模型:,语法:,x = lsqnonlin(fun,x0) x = lsqnonlin(fun,x0,lb,ub) x = lsqnonlin(fun,x0,lb,ub,options) x = lsqnonlin(fun,x0,options,P1,P2, . ) x,resnorm = lsqnonlin(.) x,resnorm,residual = lsqnonlin(.) x,resnorm,residual,exitflag = lsqnonlin(.) x,res
8、norm,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)2 residual 等于C*x-d,返回参数说明,第一步:编写M文件myfun.m计算向量F,function F = myfun(x) k = 1:10; F = 2 + 2*k-exp(k*x(1)-exp(k*x(2);,第二步:调用优化函数lsqnonlin,% 给定搜索起点 x0 = 0.3 0.4 ; % 调用求解函数 x,resnorm = lsqno
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 预防消防火灾课件
- 跑步培训分享:从入门到进阶的科学跑步指南
- 项目管理课件教学
- 高风险诊疗技术操作授权及审批管理制度培训
- 希沃教学一体机赋能数字化教学培训大纲
- 保安门卫礼仪培训
- 2025年饮料及冷饮服务合作协议书
- 城镇污水管网建设工程申请报告(模板范文)
- 乡村振兴战略工作实施方案
- 2025年建筑钢材:螺纹钢项目合作计划书
- 急诊科护理带教老师竞聘
- 2025公安辅警招聘知识考试题库及参考答案
- 高校分类评价机制构建和学科评价体系研究
- 2025年吉林省中考历史试卷真题及答案详解(精校打印版)
- 药品电子监管码管理sop
- 2018年上海高考历史试题及答案
- 医疗器械直调管理制度
- 中储粮内控管理地图手册
- 银行不良贷款责任认定及问责管理工作实施细则
- 科技工作管理办法
- 离婚一方财产转移
评论
0/150
提交评论