数学建模实验答案_简单的优化模型资料.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学建模实验答案_简单的优化模型资料

PAGE  PAGE 18 实验03 简单的优化模型(2学时) (第3章 简单的优化模型) 1. 生猪的出售时机p63~65 目标函数(生猪出售纯利润,元): Q(t) = ( 8 – gt )( 80 + rt ) – 4t – 640 其中,t ≥ 0为第几天出售,g为每天价格降低值(常数,元/公斤),r为每天生猪体重增加值(常数,公斤)。 求t使Q(t)最大。 1.1(求解)模型求解p63 (1) 图解法 绘制目标函数 Q(t) = ( 8 – gt )( 80 + rt ) – 4t – 640 的图形(0 ≤ t ≤ 20)。其中, g=0.1, r=2。 从图形上可看出曲线Q(t)的最大值。 (2) 代数法 对目标函数 Q(t) = ( 8 – gt )( 80 + rt ) – 4t – 640 用MATLAB求t使Q(t)最大。其中,r, g是待定参数。(先对Q(t)进行符号函数求导,对导函数进行符号代数方程求解) 然后将代入g=0.1, r=2,计算最大值时的t和Q(t)。 要求: ① 编写程序绘制题(1)图形。 ② 编程求解题(2). ③对照教材p63相关内容。 相关的MATLAB函数见提示。 ★ 要求①的程序和运行结果: 程序: t=0:1:30; g=0.1;r=2; Q=(8-g.*t).*(80+r.*t)-4.*t-640; plot(t,Q)图形: ★ 要求②的程序和运行结果: 程序: syms g t r ; Q=(8-g.*t).*(80+r.*t)-4.*t-640; q=diff(Q,t); q=solve(q); g=0.1;r=2; tm=eval(q) Q=(8-g.*tm).*(80+r.*tm)-4.*tm-640运行结果:  1.2(编程)模型解的的敏感性分析p63~64 对1.1中(2)所求得的符号表达式t(r,g),分别对g和r进行敏感性分析。 (1) 取g=0.1,对t(r)在r=1.5:0.1:3上求r与t的关系数据,绘制r与t的关系图形(见教材p65)。 (2) 取r=2,对t(g)在g=0.06:0.01:0.15上求g与t的关系数据,绘制g与t的关系图形(见教材p65)。 要求:分别编写(1)和(2)的程序,调试运行。 ★ 给出(1)的程序及运行结果: 程序: syms g t r ; Q=(8-g.*t).*(80+r.*t)-4.*t-640; q=diff(Q,t); q=solve(q); g=0.1;r=1.5:0.1:3; t=eval(q); plot(r,t) [r;t]数值结果: 图形结果: ★ 给出(2)的程序及运行结果: 程序: syms g t r; Q=(8-g.*t).*(80+r.*t)-4.*t-640; q=diff(Q,t); q=solve(q); r=2;g=0.06:0.01:0.15; t=eval(q); plot(g,t) [g;t]数值结果: 图形结果: 2.(编程)冰山运输模型求解p77~81 按函数调用顺序。 (1) 每立方米水所需费用 u为船速,V0为冰山的初始体积。 (2) 冰山运抵目的地后可获得水的体积 为冰山抵达目的地所需天数。 (3) 第t天冰山球面半径融化速率: (4) 运送冰山费用 为冰山抵达目的地所需天数。 (5) 船的日租金 参照教材p81的表4,求不同V0,u下每立方米水的费用。 下面是不完整的MATLAB程序: function y=mainfun() clc; VV0=[10^7 5*10^6 10^6];%冰山的初始体积,3种 uu=[3 3.5 4 4.5 5];%船速,5种 y=zeros(length(VV0), length(uu));%初始化 for i=1:length(VV0) for j=1:length(uu) y(i,j)=Y(uu(j),VV0(i)); end end y=round(10000*y)/10000;%四舍五入取整。取小数点后4位数字 %以下函数的输入输出均为标量 function y=Y(u,V0) %(1) y=S(u,V0)/W(u,V0); function y=W(u,V0)%(2) 编写该程序 function y=r(t,u)%(3) if t=0t=1000/6/u y=1.56*10^(-3)*u*(1+0.4*u)*t; elseif t1000/6/u y=0.2*(1+0.4*u); else error(k不能小于0!);%显示出错信息并退出运行 end function y=S(u,V0)%(4) T=40

文档评论(0)

baobei + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档