
- •1. Общие положения
- •2. Порядок выполнения работ
- •3. Порядок оформления и сдачи практических работ
- •4. Краткая теоретическая часть и задания для практических работ
- •Практическая работа №1. Модель межотраслевого баланса (моб)
- •Практическая работа №2. Оптимизация плана выпуска продукции методом линейного программирования
- •Практическая работа №3. Оптимизация размещения складов с использованием транспортной задачи лп
- •Практическая работа №4. Задача о назначениях
- •Практическая работа № 5. Решение задач теории игр сведением к двойственной задаче лп.
- •Практическая работа №6. Исследование спроса на основе модели игры с природой
- •Практическая работа №7. Распределение кредитов банка методом динамического программирования
- •Практическая работа №8. Формирование оптимального портфеля акций с ипользованием принципа парето
- •5. Рекомендуемая литература
- •Приложение 1
- •Практическая работа №
Практическая работа №7. Распределение кредитов банка методом динамического программирования
Динамическое программирование - один из разделов математического моделирования и управления, в котором процесс принятия решений может быть разбит на этапы. Поясним процесс управления следующей схемой:
Рис. 1
Имеется система, которую за n шагов, нужно перевести из исходного состояния S0 через несколько промежуточных состояний в конечное Sn. Каждому состоянию кроме последнего, сопоставляется набор шаговых управлений, под действием каждого из которых система может перейти в следующее состояние. Например, в начале каждого квартала нужно принять решение об обеспечении предприятия сырьем, о замене устаревшего оборудования, о финансировании и т.д.
На к – том шаге имеется набор допустимых управлений. Выбранное шаговое управление хк оценивается частным критерием gk, т.е. вычисляется значение gk (хк), называемое выигрышем на к-том шаге.
Требуется найти такой набор шаговых управлений (назовем его оптимальным), который обращает в максимум суммарный критерий
G = g1 + g2 +…..gn.
При том не обязательно чтобы процесс или система были динамическими (изменялись во времени), важно, чтобы они могли быть представлены в виде многошагового (многостадийного) процесса. Основные требования к системе: критерий оптимальности должен быть аддитивным (мультипликативным), текущее состояние не зависит от ее предыстории, т. е. состояние системы на n – ом шаге зависит только от ее состояния на (n-1) –шаге и не зависит от предыдущих шагов. Совсем не обязательно, что для нахождения оптимального набора шаговых управлений нужно находить сумму максимумов частных критериев. Наоборот, принцип оптимальности Беллмана утверждает, что шаговое управление на каждом шаге выбирается так, чтобы максимизировать не только этот шаг, но и последующие. Тем самым, шаговое управление следует выбирать дальновидно, с учетом его последствий.
Основное рекуррентное соотношение динамического программирования записывается следующим образом
Zi (S(i-1)) = max {g i (xi) + Z i+1 (S(i-1) - xi)}, (7.1)
хi
где
Zi – суммарное значение критерия системы на i – том шаге;
S(i-1) – состояние системы на (i -1) – шаге;
g i (x i) – текущее значение критерия на i – том шаге;
xi – набор управлений на i – том шаге;
Формат представления данных и результатов решения задачи приведены в прил. 5
Коммерческому банку нужно (методом динамического программирования) распределить 100 у.е. в виде кредитов между четырьмя фирмами. В таблице 5 указаны значения прироста выпуска продукции на предприятиях в зависимости от выделенных средств х:
Табл. 2
предприятие |
g 1 (x) |
g 2 (x) |
g 3 (x) |
g 4 (x) |
x |
||||
0 |
0 |
0 |
0 |
0 |
20 |
10 |
26 |
15 |
15 |
40 |
30+ 0,02V |
32 |
30 |
10 |
60 |
49 |
50 |
45 |
22 |
80 |
51 |
48 |
57 |
36 |
100 |
55+V |
49+V |
58+V |
39+V |
Расчеты вести в табличной форме.