С.Л. Семенов

Список литературы

ВЫЧИСЛИТЕЛЬНАЯ СХЕМА

Оптимальное решение задачи методом динамического программирования находится на основе функционального уравнения (1). Чтобы определить его, необходимо:

1) записать функциональное уравнение для последнего состояния процесса (ему соответствует ):

 

2) найти из дискретного набора его значений при некоторых фиксированных и из соответствующих допустимых областей (так как , то . В результате после первого шага известно решение Un и соответствующее значение функции ;

3) уменьшить значение l на единицу и записать соответствующее функциональное уравнение. При оно имеет вид

(2)

4) найти условно-оптимальное решение на основе выражения (2);

5) проверить, чему равно значение l. Если , расчет условно-оптимальных решений закончен, при этом найдено оптимальное решение задачи для первого состояния процесса. Если , перейти к выполнению п. 3;

6) вычислить оптимальное решение задачи для каждого последующего шага процесса, двигаясь от конца расчетов к началу.

Пример.Требуется перевезти груз из города А в город В. Сеть дорог, связывающих эти города, изображена на рис. 1. Стоимость перевозки груза из города s () в город j () проставлена над соответствующими дугами сети. Необходимо найти маршрут, связывающий города А и В, для которого суммарные затраты на перевозку груза были бы наименьшими.

Рис. 1

Решение. На рис. 1 вершинам сети поставлены в соответствие города, а дугам — транспортные магистрали. Разобьем все множество вершин (городов) на подмножества. В первое подмножество включим исходную вершину 1, во второе — вершины, в которые входят дуги, выходящие из вершины 1, в третье — вершины, в которые входят дуги, выходящие из вершин второго подмножества. Таким образом, продолжая разбиение, получаем пять подмножеств: {1}, {2, 3, 4}, {5, 6, 7}, {8, 9}, {10}.Очевидно, что любой маршрут из города 1 в город 10 содержит ровно четыре дуги, каждая из которых связывает вершины, принадлежащие соответствующим подмножествам. Следовательно, процесс решения задачи (нахождения оптимального маршрута) разбивается на четыре этапа. На первом этапе принимается решение, через какой город, принадлежащий второму подмножеству, везти груз из города 1. На втором этапе необходимо определить, через какой город третьего подмножества везти груз из некоторого города, принадлежащего второму подмножеству, и т. д.

Перенумеруем этапы от конечной вершины сети к начальной (см. рис- 1) и введем обозначения: n — номер шага (n = 1,2,3,4); — минимальные затраты на перевозку груза от города s до конечного города, если до конечного города осталось п шагов; номер города, через который нужно ехать из города s, чтобы достичь ; — стоимость перевозки груза из города s в город j. Здесь все обозначения несут важную смысловую нагрузку: f означает целевую функцию, s — состояние системы (номер города), индекс п несет динамическую информацию о том, что из города s до конечного города осталось п шагов.

Предположим, что груз доставлен в город 10, следовательно, число оставшихся шагов равно нулю (n = 0) и , так как из города 10груз везти не надо.

Рассмотрим последний шаг (п = 1) и вычислим для него значение функции. Очевидно, что в город 10груз может быть доставлен или из города 8, или из города 9. Вычислим затраты на перевозку для этих двух состояний:

Чтобы произвести расчет для п = 2, выдвинем гипотезы о месте нахождения груза: 1-я гипотеза — груз находится в городе 5; 2-я гипотеза — груз находится в городе 6; 3-я гипотеза — груз находится в городе 7.

Из города 5 в город 10можно провезти груз или через город 8, или через город 9. Поэтому оптимальный маршрут из города 5 найдется из выражения

Здесь s = 5 и , т.е. условно-оптимальный маршрут проходит через город 9.

Аналогично находим значения функции для s = 6 и s = 7:

Все вычисления удобно выполнять в таблицах. Расчеты первого () и второго () этапов помещены в табл. 1 и 2 соответственно.

Таблица 1 Таблица 2

Цифры в столбцах таблиц, находящиеся слева от двойной вертикальной черты, представляют собой сумму стоимости доставки груза из города s в город j и стоимости доставки груза из города j в город В. В каждой строке выбирается наименьшая из этих сумм. Этим определяются условно-оптимальные затраты на доставку груза из города s в конечный город. Затраты (значение функции) обозначены и записаны в первом столбце справа от вертикальной черты, а город, через который проходит условно-оптимальный маршрут, обозначен .

Рекуррентное соотношение для п = 3 имеет вид

Отметим, что для подсчета условно-оптимальных значений используется значение , полученное на предыдущем шаге, из табл. 2.

Вычисления для третьего шага () приведены в табл. 3. Здесь две клетки заштрихованы, поскольку из городов 2 и 3 нельзя попасть в город 7.

Таблица 3

Таблица 4

Вычисления для четвертого шага () приведены в табл. 4, из которой видно, что минимальные затраты на перевозку груза и оптимальный маршрут проходит через второй город, так как, . Далее из табл. 3 при s = 2 следует, что оптимальный маршрут проходит через город 6, так как . Продолжая рассмотрение таблиц, для п=2 определяем, что оптимальный маршрут проходит через город 9(). Наконец, из города 9груз доставляется в конечный город 10(место назначения). Таким образом, двигаясь от последней таблицы к первой, мы определили оптимальный маршрут
m = (1 —2 — 6 — 9 — 10), затраты на перевозку груза по которому составляют .

1 Сборник задач и упражнений по высшей математике: Математическое программирование: Учеб. пособие/А. В. Кузнецов, Сакович В.А, Н.И. Холод и др.; Под общ. ред. А. В. Кузнецова. — Мн.: Выш. шк., 1995. — 382 с.: ил.

2 Высшая математика: Мат. программир.: Учеб. / А.В. Кузнецов, В.А. Сакович, Н.И. Холод; Под общ. ред. А.В.Кузнецова. – Мн.: Выш. шк., 1994. – 286 с.: ил.

3 Вентцель Е.С. Исследование операций. М., «Советское радио», 1972, 552 с.

4 Экономико-математические методы и модели: Учеб. пособие /Н. И. Холод, А. В. Кузнецов, Я. Н. Жихар и др.; Под общ. ред. А.В Кузнецова. 2-е изд. – Мн.: БГЭУ, 2000. – 412 с.

5 Исследование операций. Зайченко Ю.П. Издательское объединение «Вища школа», 1975, 320 с.

6 Костевич Л.С. Математическое программирование: Информ. технологии оптимальных решений: Учеб. пособие /Л.С. Костевич. – Мн.: Новое знание, 2003. – 424 с.: ил.

7 Кудрявцев Е.М. Исследование операций в задачах, алгоритмах программах. – М.: Радио и связь, 1984. – 184 с., ил.

8 Волков И.К., Загоруйко Е.А. Исследование операций: Учеб. для вузов. 2-е изд. /Под ред. В.С. Зарубина, А.П.Крищенко. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. – 436 с.

9 Мухачева Э.А., Рубинштейн Г.Ш. Математическое программирование. -2-е изд., перераб. и доп. – Новосибирск: Наука, 1987.

10 Математическое программирование. Карманов В. Г.-2-е изд., перераб.- М.: Наука. Главная редакция физико-математической литературы. 1980. . – 256 с.: ил.