北航计算机研究生课程算法设计与分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3,Φ) 16
23
(6,{2}) (6,2)
(2,Φ) 22
12
即 k=时,对于每一种状态 X5,都有唯一决策 U5。
57=F5(6,{5}) 54=F5(6,{4}) 39=F5(6,{3}) 34=F5(6,{2})
(3)k=4 时,F4(i,S4) = min(D[i,j] + F5(j,S5) )
49=F4(3,{2,6})
(3,{4,5}) (3,4)
(4,{5}) 5
53
58
(3,5)
(5,{4}) 10
44
54=F4(3,{4,5})
(3,{4,6}) (3,4)
(4,{6}) 5
72
77
(3,6)
(6,{4}) 15
54
69=F4(3,{4,6})
(3,{5,6}) (3,5)
(5,{6}) 10
(6,Φ) 15
56
71=F5(3,{6})
(3,{5}) (3,5)
(5,Φ) 10
45
55=F5(3,{5})
(3,{4}) (3,4)
(4,Φ) 5
34
39=F5(3,{4})
(3,{2}) (3,2)
(2,Φ) 19
12
31=F5(3,{2})
(4,{6}) (4,6)
(6,Φ) 16
56
72=F5(4,{6})
11 10 7
6 11 10 7
6
11 10 7
6
2 10 7
11
9 =F3(3) 10
8 6=F3(4)
7 =F3(5) 6 2=F3(6)
V2 + F3(X3) 17
16=F2(0) 17 16
15=F2(1) 16 17 15
14=F2(2) 15 16 17 11=F2(3)
13 14 15 16 14 =F2(4) 13 13
(4,{5}) (4,5)
(5,Φ) 8
45
53=F5(4,{5})
(4,{3}) (4,3)
(3,Φ) 4
23
27=F5(4,{3})
(4,{2}) (4,2)
(2,Φ) 32
12
44=F5(4,{2})
(5,{6}) (5,6)
(6,Φ) 18
56
74=F5(5,{6})
(5,{4}) (5,4)
5
3
1
4
2
8
5
3
6
4
11
1
1
0
4
2
1
3
2
7
4
3
5
4
10
2
0
0
0
F4(X4) 7 6 5 4 0 7 6 5 4 0 7
V3 + F4(X4) 12
13
11=F3(0) 11
12
10=F3(1) 7=F3(2)
1
1
2
2
6
3
3
4
4
9
3
0
1
1
2
5
2
3
3
4
8
4
0
2
1
1
3
2
4
7
5
0
3
1
4
6
6
0
4
3
(3)k=2 时
(4,{5}) 30
53
83
(2,5)
(5,{4}) 25
44
69=F4(2,{4,5})
(2,{5,6}) (2,5)
(5,{6}) 25
74
99
(2,6)
(6,{5}) 21
57
78=F4(2,{5,6})
(2,{3,5}) (2,3)
(3,{5}) 18
55
73
(2,5)
(5,{3}) 25
34
2
11
6
8=F2(7)
12
2
10
8=F2(8)
2
9
2
5=F2(9)
F2(X2) 16 15 14 11
V1 + F2(X2) 21
22 =F1(0)
由以上计算可得,4 个月的总最优成本为 F1(0) = (千元) 从 k=1 回溯,可得最优结果中各阶段的状态变量 Xk 和决策变量 Uk 如下表:
月份 k
39
55=F4(4,{3,6})
74
82
57
73=F4(4,{5,6})
41
68
31
42=F4(5,{2,3})
64
91
44
54=F4(5,{2,4})
77
104
34
52=F4(5,{2,6})
39
50
27
37=F4(5,{3,4})
71
82
39
57=F4(5,{3,6})
72
82
54
72=F4(5,{4,6})
(4,Φ) 10
34
44=F5(5,{4})
(5,{3}) (5,3)
(3,Φ) 11
23
34=F5(5,{3})
(5,{2}) (5,2)
(2,Φ) 27
12
39=F5(5,{2})
(6,{5}) (6,5)
(5,Φ) 12
45
(6,{4}) (6,4)
(4,Φ) 20
34
(6,{3}) (6,3)
0≤X2≤9,max{0,3 - X2}≤U2≤min{6,9-X2}
X2
U2
X3
V2
0
3
0Fra Baidu bibliotek
6
4
1
5
2
9
6
3
1
2
0
5
3
1
4
2
8
5
3
6
4
11
2
1
0
4
2
1
3
2
7
4
3
5
4
10
6
5
3
0
0
0
1
1
2
2
6
3
3
4
4
9
5
5
6
6
12
4
0
1
1
2
5
2
3
6 5 4 0 6 5 4 0 5 4 0 4 0 0
F3(X3) 11 10 7
59=F4(2,{3,5})
(2,{3,6}) (2,3)
(3,{6}) 18
71
89
(2,6)
(6,{3}) 21
39
60=F4(2,{3,6})
(2,{4,6}) (2,4)
(4,{6}) 30
72
102
(2,6)
(6,{4}) 21
54
75=F4(2,{4,6})
(3,{2,4}) (3,2)
41
63
31
47=F4(6,{2,3})
64
86
44
64=F4(6,{2,4})
70
92
39
51=F4(6,{2,5})
39
55
27
47=F4(6,{3,4})
55
71
34
46=F4(6,{3,5})
53
73
44
56=F4(6,{4,5})
(4)k=3 时,F3(i,S3) = min{D[i,j] + F4(j,S4)} i=2,3,4,5,6
74
84
(3,6)
(6,{5}) 15
57
72=F4(3,{5,6})
(4,{2,3}) (4,2)
(2,{3}) 32
41
73
(4,3)
(3,{2}) 4
31
34=F4(4,{2,3})
(4,{2,5}) (4,2)
(2,{5}) 32
70
102
(4,5)
(5,{2}) 8
39
47=F4(4,{2,5})
产量 Uk
月初库存量 Xk 需求量 Nk
每月成本 Vk
1
5
0
2
2
0
3
3
0
3
6
0
2
11
4
0
4
4
0
二、 解:
1、变量设定
阶段 k:已遍历过 k 个结点,k=1,2…6,7。 K=1 表示刚从 V1 出发,k=7 表示已回到起点 V1
状态变量 Xk=(i,Sk):已遍历 k 个结点,当前位于 i 结点,还未遍历的结点集
一、 解:
设第 k 月的需求量为 Nk(k=1,2,3,4)
状态变量 Xk:第 k 月初的库存量,X1=X5=0,0≤Xk≤Nk+…+N4
决策变量 Uk:第 k 月的生产量,max{0,Nk-Xk}≤Uk≤min{6,Nk+…+N4 - Xk}
状态转移方程:Xk+1 = Uk + Xk – Nk
第 k 月的成本 Vk = *(Xk - Nk)
问 Sk 中的结点一次且仅一次,最后返回起点 V1 的最短距
离。
则 Fk(i,Sk) = min{ D[i,j] + Fk+1(j,Sk-{j}) }
1≤k≤6
F7(X7) = F7(1,Φ) = 0
2、分析:
(1)k=6 时,F6(i,Φ) = min{D[i,1] + F7(X7)} = D[i,1] i=2,3,4,5,6
(2,{4}) 19
64
83
(3,4)
(4,{2}) 5
44
49=F4(3,{2,4})
(3,{2,5}) (3,2)
(2,{5}) 19
70
89
(3,5)
(5,{2}) 10
39
49=F4(3,{2,5})
(3,{2,6}) (3,2)
(2,{6}) 19
77
96
(3,6)
(6,{2}) 15
34
X6=(i,Φ) U6=(i,j) X7=(1,Φ) V6=D[i,j] F7(1,Φ)
(2,Φ) (2,1)
(1,Φ) 12
0
(3,Φ) (3,1)
(1,Φ) 23
0
(4,Φ) (4,1)
(1,Φ) 34
0
(5,Φ) (5,1)
(1,Φ) 45
0
(6,Φ) (6,1)
(1,Φ) 56
0
即 k=6 时,对于每一种状态 X6,都有唯一的决策 U6。
3
4
8
4
5
5
6
11
5
0
2
1
1
3
2
4
7
3
5
4
6
10
6
0
3
1
4
6
2
5
3
6
9
7
0
4
2
1
5
2
6
8
8
0
5
1
6
7
9
0
6
3
(4)k=1 时
X1=0,max{0,2}≤U1≤min{6,11}
X1
U1
X2
V1
0
2
0
5
3
1
4
2
8
5
3
6
4
11
6
14
15
2
13
7
8=F2(5)
12
6
13
14
2
12
8=F2(6)
6
12
13
(6,{3}) 16 (5,{6}) 8 (6,{5}) 16 (2,{3}) 27 (3,{2}) 11 (2,{4}) 27 (4,{2}) 10 (2,{6}) 27 (6,{2}) 18 (3,{4}) 11 (4,{3}) 10 (3,{6}) 11 (6,{3}) 18 (4,{6}) 10 (6,{4}) 18 (2,{3}) 22 (3,{2}) 16 (2,{4}) 22 (4,{2}) 20 (2,{5}) 22 (5,{2}) 12 (3,{4}) 16 (4,{3}) 20 (3,{5}) 16 (5,{3}) 12 (4,{5}) 20 (5,{4}) 12
i=2,3,4,5,6
X4=(i,S4) U4=(i,j) X5=(j,S5) V4=D[i,j] F5(j,S5) V4 + F5(j,S5)
(2,{3,4}) (2,3)
(3,{4}) 18
39
57=F4(2,{3,4})
(2,4)
(4,{3}) 30
27
57=F4(2,{3,4})
(2,{4,5}) (2,4)
(4,{2,6}) (4,2)
(2,{6}) 32
77
109
(4,6)
(6,{2}) 16
34
50=F4(4,{2,6})
(4,{3,5}) (4,3)
(3,{5}) 4
55
59
(4,5)
(5,{3}) 8
34
42=F4(4,{3,5})
(4,{3,6}) (4,3)
(3,{6}) 4
71
75
(4,{5,6}) (5,{2,3}) (5,{2,4}) (5,{2,6}) (5,{3,4}) (5,{3,6}) (5,{4,6}) (6,{2,3}) (6,{2,4}) (6,{2,5}) (6,{3,4}) (6,{3,5}) (6,{4,5})
Uk=0
3 + Uk + *(Uk + Xk - Nk)
Uk≠0
设 Fk(Xk)是由第 k 月初的库存量 Xk 开始到第 4 月份结束这段时间的最优成本
则 Fk(Xk) = min{Vk + Fk+1(X k+1)}
1≤k≤4
= min{ 3 + Uk + *(Uk + Xk - Nk) + Fk+1(Uk + Xk - Nk) } Uk≠0
V6 + F7(X7) 12=F6(2,Φ) 23=F6(3,Φ) 34=F6(4,Φ) 45=F6(5,Φ) 56=F6(6,Φ)
(2)k=5 时,F5(i,S5) = min{D[i,j] + F6(j,Φ)}
i=2,3,4,5,6
X5=(i,S5) U5=(i,j) X6=(j, Φ) V5=D[i,j] F6(j,Φ) V5 + F6(X6)
(2,{6}} (2,6)
(6,Φ) 21
56
77=F5(2,{6})
(2,{5}} (2,5)
(5,Φ) 25
45
70=F5(2,{5})
(2,{4}} (2,4)
(4,Φ) 30
34
64=F5(2,{4})
(2,{3}} (2,3)
(3,Φ) 18
23
41=F5(2,{3})
(3,{6}) (3,6)
(4,6) (4,5) (4,6) (5,2) (5,3) (5,2) (5,4) (5,2) (5,6) (5,3) (5,4) (5,3) (5,6) (5,4) (5,6) (6,2) (6,3) (6,2) (6,4) (6,2) (6,5) (6,3) (6,4) (6,3) (6,5) (6,4) (6,5)
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)最优
(2)k=3 时
0≤X3≤6,max{0,2 - X3}≤U3≤min{6,6-X3}
X3
U3
X4
V3
0
2
0
合为 Sk。则 X1=(1,{2,3,4,5,6}),X6=(i,Φ),X7=(1,
Φ)
决策变量 Uk=(i,j):已遍历 k 个结点,当前位于 i 结点,下一个结点选择 j。
状态转移方程:Xk+1 = T(Xk,Uk) = (j,Sk-{j})
第 k 阶段的指标函数 Vk = D[i,j]。
最优指标函数 Fk(Xk) = Fk(i,Sk):已遍历 k 个结点,当前从 i 结点出发,访
min{ *(Xk - Nk) + Fk+1(Xk - Nk) }
Uk=0
F5(X5)=0
四个月内的最优成本为 F1(X1)=F1(0)
详细计算步骤如下:
(1)k=4 时
0≤X4≤4,max{0,4 - X4}≤U4≤min{6,4-X4}
X4
U4
X5
V4
F5(X5)
V4 + F5(X5)
0
4
0
7
0