import numpy as np
import matplotlib.pyplot as plt
from prettytable import PrettyTable
'''
将仿真实验中出现的参数列举如下
'''
I0=1000 #初始库存水平为1000
tMax=45 #截止时间
Z0=5 #订货调整时间为5
Y0=6000 #期望库存为6000
'''
预测库存水平
'''
def forecast(t,level):
#设置t,i的数值(i=6000-5000*0.8^t)
for i in range(0, tMax+1):
t.append(i)
y=Y0-(Y0-I0)*(1-1/Z0)**t[i]
level.append(y)
def drawPopulationMap(t,level):
plt.xlim(0,tMax+10) #x轴的表示范围
plt.ylim(0,Y0+100) #y轴的表示范围
plt.plot(t,level)
plt.xlabel('time')
plt.ylabel('Inventory Level')
plt.title('simple inventory control problem')
plt.show()
def printTable(t, level):
x=PrettyTable(['时间','库存量'])
for i in range(len(t)):
x.add_row([t[i],level[i]])
print(x)
def main():
t=[]
level=[]
forecast(t, level)
drawPopulationMap(t,level)
printTable(t, level)
if __name__ =='__main__': #提供调用函数的入口
main()
本程序在VS2017下运行通过