赞
踩
动态规划是将一个问题划分为多个子步骤(或称之为阶段stage)。
其中有几个关键量:
首先划分阶段:这个问题的阶段划分比较简单,显然每个月就是一个阶段。k表示第k月。
其次设定状态变量xk:设xk为第k个月初的库存量。状态变量是用来描述做决策的时候系统的状态的。这里最能描述系统当前状态的一个指标就是库存量。它会随着决策而变化。
然后设定决策量uk:问题是如何安排每个月的生产与库存。所以我们能够控制的就是生产量。因此决策变量uk为每个月的生产量。
最后是状态转移方程。即xk与x k+1之间的递推关系。
下个月的库存是这个月库存减去这个月需求,再加上这个月的生产量。我们设这个月需求为Nk,Nk是已知条件,如表中所示。
x k + 1 = x k − N k + u k x_{k+1} = x_k - N_k + u_k xk+1=xk−Nk+uk
显然,状态变量xk和决策变量都受题目中的条件的制约。
第1个月初和第4月末都要没有库存。
即
x
1
=
0
x
5
=
0
x_1=0\\ x_5=0
x1=0x5=0
最大生产能力不超过6。显然也不会是负数。
0
≤
u
k
≤
6
0\le u_k \le 6
0≤uk≤6
必须要让这个月满足需求。也就是说,这个月初库存加本月生产量,必须要大于需求量。
x
k
+
u
k
≥
N
k
x_k + u_k \ge N_k
xk+uk≥Nk
我们想要把第三个式子解耦。因为它里面有两个未知量xk和uk。我们希望分别得到xk和uk的限制条件。于是结合条件1和条件2。
先确定xk的取值范围:
要保证x1=x5=0,必须同时考虑每月的需求量。
每个月初最少库存多少呢?0
每个月初最多库存多少呢?一个是每个月都按照最大生产能力来生产。当然要减去每月需求消耗。另外一个是未来总需求量,因为要保证最终库存为0。
0 ≤ x k ≤ m i n ( 6 ( k − 1 ) − Σ i = 1 k − 1 N i , Σ i = k 4 N i ) 0 \le x_k \le min ( 6(k-1) - \Sigma_{i=1}^{k-1}N_i, \Sigma_{i=k}^{4}N_i ) 0≤xk≤min(6(k−1)−Σi=1k−1Ni,Σi=k4Ni)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。