Julia计算成本对实际订单批量偏离EOQ的弹性

弹性用其定义式:成本变化百分比对实际订单批量偏离百分比。

#弹性=成本变动百分比/实际订单批量变动百分比

#假设  (实际订单批量-理论订单批量)/理论订单批量 = p  则

using Plots


function y(p)  
    if p>=0
        ((1/(1+p)+1+p)/2-1)/p
    else
        -((1/(1+p)+1+p)/2-1)/p
    end
end

plot(y,-0.5:0.001:5)  #p不能取0,取0不会报错,但是画出来的图,就是一条曲线。细节都看不到了。

savefig("D:/Desktop/1.png")  #保存图片到桌面

p=[-0.08,0.08,-0.5,0.5]
print([y(i) for i in p])

#结果如下:
0.04347826086956441
0.037037037037035425
0.5
0.16666666666666652

 图片如下:

Julia计算成本对实际订单批量偏离EOQ的弹性_第1张图片

从图中可以看出,成本增加百分比慢于实际订单批量增加百分比,但是成本增加百分比要快于实际订单批量减少百分比。

也就是说如果理论订单批量462.91,可能增加到500,订单批量增加8%,成本增加3.7%。订单批量减少8%,成本增加4.35%。如果订单增加50%,成本增加16.7%;如果订单减少50%,成本增加50%。

#可以简化成:
using Plots


function y(p)  
   
    abs(((1/(1+p)+1+p)/2-1)/p)
    
end

plot(y,-0.5:0.001:5) 

savefig("D:/Desktop/1.png")  

p=[-0.08,0.08,-0.5,0.5]
print([y(i) for i in p])

#结果如下:
0.04347826086956441
0.037037037037035425
0.5
0.16666666666666652


#更简单的:
p=[-0.08,0.08,-0.5,0.5]
print(map(p->(abs((1/(1+p)+1+p)/2-1)/p),p))#匿名函数

 

你可能感兴趣的:(Julia高级篇)