动态规划解生产存储问题

某工厂调查了解市场情况,估计在今后四个月内,市场对其产品的需求量如下表所示。

时期(月)

需要量(产品单位)

1

2

2

3

3

2

4

4

已知:对每个月来讲,生产一批产品的固定成本费为3 (千元),若不生产,则为零。每生产单位产品的成本费为1(千元)。同时,在任何一个月内,生产能力所允许的最大生产批量为不超过6个单位。又知每单位产品的库存费用为每月0.5(千元),同时要求在第一个月开始之初, 及在第四个月末,均无产品库存。问:在满足上述条件下,该厂应如何安排各个时期的生产与库存,使所花的总成本费用最低?

 

设第k月的需求量为Nk(k=1,2,3,4)

 

状态变量Xk:第k月初的库存量,X1=X5=00XkNk+…+N4

决策变量Uk:第k月的生产量,max{0Nk-Xk}Ukmin{6Nk+…+N4 - Xk}

状态转移方程:Xk+1 = Uk + Xk – Nk

k月的成本Vk = 0.5*(Xk - Nk)                 Uk=0

                 3 + Uk + 0.5*(Uk + Xk - Nk)      Uk0

 

Fk(Xk)是由第k月初的库存量Xk开始到第4月份结束这段时间的最优成本

Fk(Xk) = min{Vk + Fk+1(Xk+1)}        1k4

= min{ 3 + Uk + 0.5*(Uk + Xk - Nk) + Fk+1(Uk+ Xk - Nk) }  Uk0

 min{ 0.5*(Xk - Nk) + Fk+1(Xk - Nk) }                  Uk=0

F5(X5)=0

四个月内的最优成本为F1(X1)=F1(0)

 

详细计算步骤如下:

 

1k=4

0X44max{04 - X4}U4min{64-X4}

 

X4

U4

X5

V4

F5(X5)

V4 + F5(X5)

0

4

0

7

0

7=F4(0)

1

3

0

6

0

6=F4(1)

2

2

0

5

0

5=F4(2)

3

1

0

4

0

4=F4(3)

4

0

0

0

0

0=F4(4)

即对于状态X4的每个取值,都有唯一确定的决策变量U4使得F4(X4)最优

 

 

2k=3

0X36max{02 - X3}U3min{66-X3}

 

X3

U3

X4

V3

F4(X4)

V3 + F4(X4)

0

2

0

5

7

12

3

1

6.5

6

12.5

4

2

8

5

13

5

3

9.5

4

13.5

6

4

11

0

11=F3(0)

1

1

0

4

7

11

2

1

5.5

6

11.5

3

2

7

5

12

4

3

8.5

4

12.5

5

4

10

0

10=F3(1)

2

0

0

0

7

7=F3(2)

1

1

4.5

6

10.5

2

2

6

5

11

3

3

7.5

4

11.5

4

4

9

0

9

3

0

1

0.5

6

6.5=F3(3)

1

2

5

5

10

2

3

6.5

4

10.5

3

4

8

0

8

4

0

2

1

5

6=F3(4)

1

3

5.5

4

9.5

2

4

7

0

7

5

0

3

1.5

4

5.5=F3(5)

1

4

6

0

6

6

0

4

3

0

2=F3(6)

 

3k=2

0X29max{03 - X2}U2min{69-X2}

 

X2

U2

X3

V2

F3(X3)

V2 + F3(X3)

0

3

0

6

11

17

4

1

7.5

10

17.5

5

2

9

7

16=F2(0)

6

3

10.5

6.5

17

1

2

0

5

11

16

3

1

6.5

10

16.5

4

2

8

7

15=F2(1)

5

3

9.5

6.5

16

6

4

11

6

17

2

1

0

4

11

15

2

1

5.5

10

15.5

3

2

7

7

14=F2(2)

4

3

8.5

6.5

15

5

4

10

6

16

6

5

11.5

5.5

17

3

0

0

0

11

11=F2(3)

1

1

4.5

10

14.5

2

2

6

7

13

3

3

7.5

6.5

14

4

4

9

6

15

5

5

10.5

5.5

16

6

6

12

2

14

4

0

1

0.5

10

10.5=F2(4)

1

2

5

7

13

2

3

6.5

6.5

13

3

4

8

6

14

4

5

9.5

5.5

15

5

6

11

2

13

5

0

2

1

7

8=F2(5)

1

3

5.5

6.5

12

2

4

7

6

13

3

5

8.5

5.5

14

4

6

10

2

12

6

0

3

1.5

6.5

8=F2(6)

1

4

6

6

12

2

5

7.5

5.5

13

3

6

9

2

11

7

0

4

2

6

8=F2(7)

1

5

6.5

5.5

12

2

6

8

2

10

8

0

5

2.5

5.5

8=F2(8)

1

6

7

2

9

9

0

6

3

2

5=F2(9)

 

4k=1

X1=0max{02}U1min{611}

 

X1

U1

X2

V1

F2(X2)

V1 + F2(X2)

0

2

0

5

16

21

3

1

6.5

15

21.5

4

2

8

14

22

5

3

9.5

11

20.5=F1(0)

6

4

11

10.5

21.5

 

由以上计算可得,4个月的总最优成本为F1(0) = 20.5(千元)

k=1回溯,可得最优结果中各阶段的状态变量Xk和决策变量Uk如下表:

 

月份k

产量Uk

月初库存量Xk

需求量Nk

每月成本Vk

1

5

0

2

9.5

2

0

3

3

0

3

6

0

2

11

4

0

4

4

0

 

 

你可能感兴趣的:(算法/程序设计/POJ)