Uploaded by margo_vah

Задача о дилижансе

advertisement
Министерство высшего и профессионального
образования РФ
Ухтинский Государственный
Технический Университет
Кафедра АИС
Расчетно-графическая работа № 2
«Динамическое программирование»
Выполнил: студент группы АИС-97 Григорьев
Дмитрий Вячеславович
Проверила: преподаватель кафедры АИС Бондаренко
Елена Анатольевна
Ухта, 1999 г.
Постановка задачи.
2
5
8
3
6
10
1
9
4
7
Задача о дилижансе. Требуется найти маршрут, страховые выплаты по
которому будут минимальными. Суммы страховок указанны в таблицах 1 и 2
(для вариантов а) и б) соответственно).
Табл.1
1
2
3
4
5
6
7
1
2
3
4
0
3
6
2
0
0
5
6
12
14
8
13
10
19
17
0
7
0
0
0
8
9
10
Пустые клетки в таблице означают отсутствие маршрутов.
8
9
12
10
9
10
14
8
0
10
9
0
13
0
Табл.2
1
1
2
3
4
0
4
8
5
0
2
0
3
5
6
15
18
10
16
14
21
20
0
4
7
0
5
0
6
0
7
8
9
15
14
11
13
15
10
0
8
11
0
9
10
14
0
10
Решение.
Вариант а).
Воспользовавшись методом динамического программирования получаем
рекуррентную функцию страховых затрат, значения которых указанны ниже:
j
Переход в
состояние 10
j1(s)
f1(s)
8
9+0
10
9
9
13+0
10
13
s
j
8
9
j2(s)
f2(s)
5
9+12
13+10
8
21
6
9+9
13+10
8
18
7
9+14
13+8
9
21
s
j
5
6
2
12+21
14+18
3
8+21
13+18
s
j3(s)
f3(s)
6
32
10+21
5
29
19+18
17+21
6
37
2
3
4
j4(s)
f4(s)
3+32
6+29
2+37
2,3
35
4
7
j
s
1
Получили оптимальное решение: всего «путешественнику» необходимо
затратить 35$ на страховку, при условии его поездки по одному из следующих
маршрутов: 1-2-6-8-10 или 1-3-5-8-10.
Вариант б).
j
Переход в
состояние 10
j1(s)
f1(s)
8
11+0
10
11
9
14+0
10
14
s
j
8
9
j2(s)
f2(s)
5
11+15
14+14
8
26
6
11+11
14+13
8
22
7
11+15
14+10
9
24
5
6
2
15+26
18+22
3
10+26
16+22
21+22
s
j
s
4
7
j3(s)
f3(s)
6
40
14+24
5
36
20+24
6
43
j
s
1
2
3
4
j4(s)
f4(s)
4+40
8+36
5+43
2,3
44
Получили оптимальное решение: всего «путешественнику» необходимо
затратить 44$ на страховку, при условии его поездки по одному из следующих
маршрутов: 1-2-6-8-10 или 1-3-5-8-10.
Download