- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB优问题
数学建模暑期培训班 Matlab 初步 建模时需要注意的几个基本问题 MATLAB优化工具箱能求解的优化模型 命令和最优解 x=fminunc(@f, x0) shili0701.m 初始点的选择 实例1 产销量安排 忽略成本及价格中的 a12, a21 问题简化为 作为原问题的初始点 飞机坐标(978.31,723.98), 误差平方和0.6685 ( 4) 实例2 飞机精确定位模型 无约束非线性最小二乘模型 角度需要进行预处理, 如利用atan2函数, 值域(-pi, pi) shili0702.m [x,fval,exitflag,output,lambda] = linprog(c,A1,b1,A2,b2,v1,v2,x0,opt) MATLAB 求解 LP 输入: x0~初始解(缺省时一般为0) opt ~ MATLAB控制参数 中间所缺参数项补[] 输出: lambda ~ Lagrange乘子,维数等于约束个数,非零分量对应于起作用约束 lambda.ineqlin: 对应 A1x≤b1 lambda. eqlin : 对应 A2x = b2 lambda. lower : 对应 v1≤ x lambda. upper : 对应 x ≤ v2 Exam0802.m MATLAB 求解 LP opt ~ MATLAB控制参数: 三种算法选择 缺省时采用大规模算法(是一种内点算法); 当opt中“LargeScale”参数设置为“off”时,采用中规模算法,该模式下缺省的算法是二次规划的算法(一种有效集方法); 当opt中“LargeScale”参数设置为“off”,并且“Simplex”参数设置为“on”时,采用单纯形算法。 只有有效集方法可以由用户提供初始解x0,其他两个算法则不需要(即使提供了也会被MATLAB忽略)。 Exam0801.m [x,fval,exitflag,output,lambda] = linprog(c,A1,b1,A2,b2,v1,v2,x0,opt) c=[12 8 22 16 -1.5 -1.5]; A1=[4 3 0 0 4 3;2 1 0 0 3 2;1 0 0 0 1 0]; b1=[600 240 100]; A2=[0 0 1 0 -0.8 0;0 0 0 1 0 -0.75]; b2=[0 0]; v1=[0 0 0 0 0 0]; [x,z0,ef,out,lag]=linprog(-c,A1,b1,A2,b2,v1) lag.ineqlin, lag.eqlin 实例1: 奶制品生产销售计划 x=(0,168,19.2,0,24,0) ; z = -z0 =1730.4; lag.ineqlin =(1.58;3.26; 0.00) ; … 15元可增加1桶牛奶,应否投资? 实例1: 奶制品生产销售计划 x=(0,168,19.2,0,24,0) ; z = -z0 =1730.4 lag.ineqlin =(1.58;3.26; 0.00) ; … 601 z1=1731.98 dz=z1-z = 1731.98-1730.4=1.58 dz=lag.ineqlin(1) dz*12=1.58*12= 18.9615 应该投资! “影子价格” 实例1: 奶制品生产销售计划 聘用临时工人增加劳动时间,工资最多每小时几元? x=(0,168,19.2,0,24,0) ; z = -z0 =1730.4 lag.ineqlin =(1.58;3.26; 0.00) ; … lag.ineqlin(2)=3.26, 所以1小时劳动时间的影子价格应为3.26/2=1.63, 即单位劳动时间增加的利润是1.63(元) B1,B2的获利经常有10%的波动,对计划有无影响? 实例1: 奶制品生产销售计划 x=(0,168,19.2,0,24,0) ; z = -z0 =1730.4 lag.ineqlin =(1.58;3.26; 0.00) ; 若每公斤B1的获利下降10%,应将目标函数中x3的系数改为19.8,重新计算发现最优解和最优值均发生了变化 若B2的获利向上波动10%,原计划也不再是最优的 MATLAB没有给出这种敏感性分析的结果(LINDO/LINGO可以) MATLAB求解QP [x,fval,exitflag,output,lambda] = quadprog(H,c,A1,b1,A2,b2,v1,v2,x0,options) * * 滨州学院数学与信息科学系 王 磊 keli21cn@163.c
文档评论(0)