模型假设(1)式与(2.3.1)式的比较20p(0) - g t (1)式181614p(0) - g t + h t2 (2.3.1)式 p(元/公斤) 121086420 050100150200t(天)250300350400
图3
模型假设(1)式与(2.3.1)式的比较12p(0) - g t (1)式11.811.611.411.21110.810.610.4 0p(0) - g t + h t2 (2.3.1)式 p(元/公斤) 246810t(天)1214161820
图4
(2)在(1)式和(2.3.1)式组成的假设下,多赚的纯利润为
Q(t)??rp(0)?gw(0)?c?t??hw(0)?gr?t2?hrt3
保留h,代入其他具体数值,得
Q(t)?ht3??90h?0.08?t2?1.6t
令
Q?(t)?3ht2??180h?0.16?t?1.6?0
解得生猪出售时机为
t1?0.16??180h?0.16?6h2?19.2h?30(舍去负根)
多赚的纯利润为
Q1?ht13??90h?0.08?t12?1.6t1.
代入h=0.0002,得t1?13.829天,Q1?10.798元.
或者用MATLAB函数fminbnd计算,脚本如下: C=@(t)3.2*t; w=@(t)90+t;
p=@(t,h)12-0.08*t+h*t.^2;
Q=@(t,h)p(t,h).*w(t)-C(t)-90*12; Qh=@(t)-Q(t,0.0002); t1=fminbnd(Qh,0,30) Q1=Q(t1,0.0002)
为帮助理解,可用以下脚本绘制图5: figure(2) tp=0:250;
plot(tp,Q(tp,0.0002),'k') title('纯利润Q') xlabel('t(天)') ylabel('Q(元) ')
纯利润Q1000-100Q(元) -200-300-400-500-600050100t(天)150200250
图5
?tt(3)用以下MATLAB脚本计算灵敏度S(t,h)??hh和?QQS(Q,h)??hh,将结果列表.
结论:h的微小变化对t和Q的影响都很小 Qh=@(t)-Q(t,0.0002*1.01); [tn,Qn]=fminbnd(Qh,0,30); (tn-t1)/t1/0.01 (-Qn-Q1)/Q1/0.01
Qh=@(t)-Q(t,0.0002*1.05); [tn,Qn]=fminbnd(Qh,0,30); (tn-t1)/t1/0.05 (-Qn-Q1)/Q1/0.05
Qh=@(t)-Q(t,0.0002*1.1); [tn,Qn]=fminbnd(Qh,0,30); (tn-t1)/t1/0.1 (-Qn-Q1)/Q1/0.1
表3 数值计算最佳出售时机t对h的灵敏度
h??h ?hh(%) t??t ?tt(%) S(t,h)??tt ?hh0.000202 0.00021 0.00022 1 5 10 13.886 14.121 14.431
0.41459 2.1176 4.3536 0.41459 0.42352 0.43536 表4 数值计算多赚的纯利润Q对h的灵敏度
h??h ?hh(%) Q??Q ?QQ(%) S(Q,h)??QQ?hh 0.000202 0.00021 0.00022
1 5 10 10.838 11.001 11.214 0.36936 1.8802 3.8479 0.36936 0.37604 0.38479 (4)市场价格是经常波动的,如果价格下跌,往往会止跌回稳,模型假设(1)式以二次函数来刻画价格止跌回升的变化趋势,如果考虑的时间段长达数月,(1)式比(2.3.1)式更接近实际(见图3),但是本问题的最佳出售时机不超过20天,(1)式与(2.3.1)式在最佳出售时机附近非常近似(见图4),(1)式导致的模型解答可以由(2.3.1)式导致的解答加上灵敏度分析所代替. 所以采用更为简单的(2.3.1)式作为假设更好.
具体分析如下:
由12?(g??g)t?p(t,h),得
?g12?p(t,h)??1, ggt代入h=0.0002,t=13.82852279,g=0.08,得
?g??0.034571. g?t?g?S(t,g)由于,根据课本2.3节,代入S(t,g)??5.5,t=10,tg算得t??t?11.901,与t=13.829只相差两天.
用于以上分析计算的MATLAB脚本: dg_g=(12-p(ts,0.0002))/ts/0.08-1 10+dg_g*10*(-5.5)
解答二(用MATLAB的Symbolic Math Toolbox的MuPAD软件符号计算)
(1)运行以下MuPAD语句,绘得图6和图7:
plot(plot::Function2d(12-0.08*t+0.0002*t^2,t=0..400), plot::Function2d(12-0.08*t,t=0..150, LineStyle=Dashed));
plot(plot::Function2d(12-0.08*t+0.0002*t^2,t=0..20), plot::Function2d(12-0.08*t,t=0..20, LineStyle=Dashed),#O);
(1)式表明价格先降后升,在实际当中有一定道理. 而 (2.3.1)式假设价格匀速下降. 两个假设都满足p?(0)??g,在最佳出售时机附近误差微小.