- •1. Введение 4
- •1.1. Основные методологические принципы
- •1.2. Основные определения
- •1.3. Этапы моделирования
- •5. Модели с обратной связью, динамическое проектирование.
- •2. О принципах принятия решений
- •2.1. Принятие решений в условиях неопределенности критерия.
- •Самостоятельная работа №1.
- •2.2. Принятие решения в условиях неопределенности состояния окружающей среды
- •Самостоятельная работа №2
- •3. Задачи выпуклого векторного программирования1.
- •3.1. Некоторые сведения выпуклого анализа
- •3.2. Понятие оптимальности по Слейтеру и Парето
- •3.3. Возможные (допустимые) и подходящие направления.
- •3.4. Задача выпуклого векторного программирования с ограничениями типа неравенства. Поиск подходящих направлений.
- •Самостоятельная работа №3.
- •3.4. Теорема Куна–Таккера для задачи выпуклого векторного программирования
- •Самостоятельная работа № 4.
- •4. Некоторые задачи теория игр
- •4.1. Анализ матричных антагонистических игр двух игроков .
- •Самостоятельная работа № 5.
- •4.2. Анализ матричных игр двух игроков с нулевой суммой в смешанных стратегиях.
- •Самостоятельная работа №6
- •4.3. Биматричные неантагонистические игры.
- •Самостоятельная работа № 7.
- •4.4. Взаимосвязь равновесий по Нешу и Парето в играх.
- •Самостоятельная работа № 8.
- •4.5. Динамические игры с полной информацией
- •Самостоятельная работа № 9
- •5. Задачи дискретного программирования.
- •5.1. Методы отсечения для решения задач целочисленного линейного программирования.
- •Самостоятельная работа № 10.
- •5.2. Комбинаторные методы решения задач целочисленного линейного программирования.
- •5.3. Алгоритм Ленд–Дойг.
- •Самостоятельная работа № 11.
- •5.4. Метод ветвей и границ для решения задачи о коммивояжере.
- •Самостоятельная работа № 12.
- •6.Транспортные задачи линейного программирования
- •6.1. Транспортная задача в сетевой постановке
- •Самостоятельная работа 13.
- •6.2. Транспортная задача в матричной постановке.
- •Самостоятельная работа 14.
- •7. Динамическое программирование и потоки в сетях
- •7.1. Задача оптимизации многошаговых процессов, задача о ранце.
- •Самостоятельная работа 15.
- •7.2 .Задача отыскания кратчайшего расстояния в сети между парами вершин
- •Самостоятельная работа 16.
- •7.2. Задача о максимальном потоке в сети.
- •Самостоятельная работа 17.
- •Литература.
7. Динамическое программирование и потоки в сетях
Динамическое програмиирование возникло и сформировалось в пятидесятых годах прошлого столетия благодаря работам Беллмана и его сотрудников. Первые задачи, которые привели к появлению вычислительного метода динамического программирования, являлись динамическими задачами управления запасами. Сущность вычислительного метода динамического программирования рассмотрена в представленных в данной главе лабораторных работах.
7.1. Задача оптимизации многошаговых процессов, задача о ранце.
Задача оптимизации многошаговых процессов имеет вид
|
|
(7.1) |
|
при ограничениях |
|
|
x0=0X0={0}, |
(7.2) |
|
xi=f i(xi–1, ui), i=1,2,3,...,n, |
(7.3) |
|
xiXi , i= 1,2,3,...,n, |
(7.4) |
|
uiUi , i=1,2,3,...,n, |
(7.5) |
|
где Xi, Ui , i=1,2,3,...,n, – конечные множества. | |
Обозначим через Wi(xi) максимум в следующей задаче:
|
|
|
|
при ограничениях |
|
|
xiXi, |
|
|
xk=f k(xk–1, uk), k=i+1,2,3,...,n, |
|
|
xkXk , k=i+1,2,3,...,n, |
|
|
ukUk , k=i+1,2,3,...,n, |
|
|
где Xk, Uk , k=i+1,2,3,...,n, – конечные множества. | |
Справедливо следующее функциональное соотношение Беллмана:

Для того, чтобы решение ((xi) i=0,1,2,...,n, (ui)i=1,2,3,...,n), удовлетворяющее ограничениям (7.1) – (7.5) было оптимальным, необходимо и достаточно, чтобы
![]()
Таким образом, получаем следующий алгоритм решения оптимизации многошаговых процессов.
Алгоритм.
Первый этап.
1. Для всехxXn положить Wn(x)=0;
2. Последовательно дляi=n–1, n–2, n–3,…,0 выполнить:
для всех xXi положить:

Второй этап.
1. Положить x0:=0;
2. Последовательно для i=1, 2,3,…,n положить :

Полученное в результате работы алгоритма решение ((xi) i=0,1,2,...,n, (ui)i=1,2,3,...,n) будет оптимальным для задачи (7.1) – (7.5). Оптимальное значение функционала будет равноW0(0).
Задача о ранце имеет вид
|
|
(7.6) |
|
при ограничениях |
|
|
|
(7.7) |
где ui–целые числа i =1,2,3,...,n. Числаaiтакже будем рассматривать целыми, i=1,2,3,...,n.
Введем переменные x0=0,
.
Из задачи (7.6) – (7.7) получим
эквивалентную задачу
|
|
(7.8) |
|
при ограничениях |
|
|
x0=0, |
(7.9) |
|
xi=f(xi–1, ui)=xi–1+ai ui, i=1,2,3,..., n, |
(7.10) |
|
xiXi={0,1,2,...,b}, i=1,2,3,..., n, |
(7.11) |
|
uiUi={0,1,2,...,b}, i=1,2,3,..., n. |
(7.12) |
Задача (7.8) – (7.12) имеет такой же вид, как и задача (7.1) – (7.5), поэтому для ее решения можно применить алгоритм, описанный выше. Легко показать, что для задачи о ранце
|
|
|
|
при ограничениях |
|
|
|
|
Соотношение Беллмана примет вид

где [a] – целая часть числаa.
Пример. Решить задачу:
|
u1 |
+2u2 |
|
max |
|
2u1 |
+u2 |
|
3 |
|
u1, u2 – целые. | |||
В этой задаче n=2,b=3, поэтому таблица с результатами вычислений будет иметь вид:
|
|
i | |||||
|
0 |
1 |
2 | ||||
|
W0 |
u1 |
W1 |
u2 |
W2 | ||
|
x |
0 |
6 |
0 |
6 |
3 |
0 |
|
1 |
|
|
4 |
2 |
0 | |
|
2 |
|
|
2 |
1 |
0 | |
|
3 |
|
|
0 |
0 |
0 | |
Приведем пояснения к заполнению этой таблицы в соответствии с выполнением алгоритма.
Первый этап.
Заполнение столбца W2понятно, оно соответствует выполнению пункта 1 первого этапа алгоритма. Покажем, как заполнялась клетка (x,i)=(0,1). Ее заполнение соответствует вычислению

для x=0, i=0,

или
![]()
В соответствии с этим,
Так какW2(x)0
(см. таблицу), то
![]()
Аналогично получены все остальные элементы этого столбца.
Покажем вычисления для клетки (0,0). Для нее

При u=0
,
При u=1
,
Таким образом, W0(0)=6,u1(0)=0.
Остальные клетки столбца 0 не заполняем, так как X0={0}.
Второй этап.
1. x0=0. (в следующей таблице клетка (0,0) выделена )
2. u1=u1(x0)= u1(0)=0,x1=x0+2 u1=0 (клетка (0,1) выделена )
3. u2=u2(x1)= u2(0)=3,x2=x1+1 u2=3 (клетка (3,2) выделена )
|
|
i | |||||
|
0 |
1 |
2 | ||||
|
W0 |
u1 |
W1 |
u2 |
W2 | ||
|
x |
0 |
6 |
0 |
6 |
3 |
0 |
|
1 |
|
|
4 |
2 |
0 | |
|
2 |
|
|
2 |
1 |
0 | |
|
3 |
|
|
0 |
0 |
0 | |
Ответ.Максимальное значение функционала в задаче равно 6,u1=0,u2=3.
