Динамическое программирование.
I. Динамическое программирование (ДП) -это метод многошаговой оптимизации.
Алгоритм реализации ДП содержит 7 этапов:
1. Описывается процесс и выбираются параметры системы, образующие фазовое пространство или пространство состояний. Определяются управляющие воздействия на систему. Выбирается способ декомпозиции процесса на шаги. Вводятся обозначения переменных, позволяющие формированить описание процесса.
2. Определяются функции эффекта (выигрыша) на i - шаге в зависимости от состояния системы в начале этого шага Si и используются управления Ui : Wi = Wi (Si, Ui).
3. Определяются функции, выражающие изменение состояния системы Si под влиянием управления Ui на i - шаге процесса: Si* = j(SiUi).
4. Составляется основные реккурентное соотношение (это равенство, описывающее значение функции в нескольких связанных определенным отношением предшествования точках считая известными значения можно вычислить значения функции в остальных точках) динамического программирования:
5. Определяется условно-оптимальный эффект (выигрыш) для последнего n-го шага рассматриваемого процесса Wn(Sn), а также соответствующее ему оптимальное управление Ui*.
6. Определяются условно-оптимальные эффекты (выигрыши) и соответствующие этим эффектам управления от предпоследнего (n-1) -го и до первого шагов процесса:
7. Определяется начальное состояние (если оно не задано), выбираются оптимальные эффекты и безусловные управления для 1-го, 2-го и так далее до n-го шага рассматриваемого процесса.
II. Пример:
1. Исходные данные задачи ДП:
1) распределение объема строительно-монтажных работ на объекте по кварталам планового года составляет
квартал | ||||
финансирование | 2 млн. | 5 млн. | 3 млн. | 1 млн. |
Перед началом планового периода на объекте имеется производственных мощностей для выполнения работ объемом 2 млн.
2) - затраты по переброске производственных мощностей с расматриваемого объекта на другие С1 = 70тыс,
- затраты по вводу новых производственных мощностей на объекте С2 = 100тыс.
- потери от простоя оборудования С3 = 80тыс.
- затраты при организации 3-ей смены С4 = 110тыс.
3). эффект (выйгрыш) состоит в минимизации затрат.
2. 1-й этап: описание системы и процесса её изменений (динамики):
- обозначение производственных мощностей, имеющихся в начале i-го квартала i=1, 2, 3, 4, исходя из того, что за единицу принимаются производственные мощности для выполнения работ в 1 млн; тогда требуемое количество производственных мощностей для выполнения заданного в i-м квартале объёма работ: m1 = 2, m2 = 5, m3 = 3, m4 = 1;
- состояние системы Si определяется величиной использованных производственных мощностей xi;
- управление Ui состоит в:
а) переброске производственных мощностей с данного объекта на другие или переброске производственных мощностей с других объектов на данный;
б) организации дополнительной 3-ей смены при нехватке мощностей;
- естественным временным шагом процесса управления системой (её динамики) является квартал планового года, то есть процесс управления состоит из 4-х шагов.
3. 2-й этап: определение функций эффекта (затрат) для i - го шага:
- при переброске мощностей функция затрат имеет вид
- общая функция эффектов (затрат) имеет вид Wi (xi) = fi(xi) + ji(xi)
4.3-й этап: определение функции изменения состояния системы (производственных мощностей) на i-м шаге:
- в конце i-го шага производственные мощности должны быть равны мощностям в начале (i + 1)-го шага,
- функция изменения состояния системы на i-м шаге примет вид Si = xi + xi+1.
5.4-й этап:запись основного реккурентного соотношения ДП в виде
6. 5-й этап: определение условно-оптимальных затрат на 4-м (последнем) шаге процесса:
- запись формулы
где:
х3, х4 - производственные мощности, используемые в 3-м и 4-м кварталах,
- делается предположение, что производственные мощности в 3-м квартале могут быть 0, 1, 2, 3, 4, 5млн,
- расчет условных минимальных затрат для каждого предположения при x4 = var в результате осуществления различных управлений а) и б):
х3 = 0, х4 = 0 | w4(x4) = 0 + 110 (1-0) = 110 тыс |
х3 = 0, х4 = 1 | w4(x4) = 100 (1-0) + 0 = 100 тыс |
х3 = 0, х4 = 2 | w4(x4) = 100 (2-0) + 80 (2-1) = 280 тыс |
Очевидно, что при росте х4 величина w4(x4) будет только рости, поэтому min w4(x4) = 100 тыс.
Повторение процедуры для х3 = 1, х3 = 2, х3 = 3, х3 = 4, х3 = 5
х3 = 1, х4 = 0 | w4(x4) = 70 (1+0) + 110 (1-0) = 180 тыс |
х3 = 1, х4 = 1 | w4(x4) = 0 + 0 = 0 |
х3 = 1, х4 = 2 | w4(x4) = 110 (2-1) + 80 (2-1) = 180 тыс |
х3 = 2, х4 = 0 | w4(x4) = 70 (2 - 0) + 110 (1-0) = 250 тыс |
х3 = 2, х4 = 1 | w4(x4) = 70 (2 – 1) + 0 = 70 тыс |
х3 = 2, х4 = 2 | w4(x4) = 0 + 80 (2-1) = 80 тыс |
х3 = 1, х4 = 0 | w4(x4) = 70 (3 - 0) + 110 (1-0) = 320 тыс |
х3 = 3, х4 = 1 | w4(x4) = 70 (3 – 1) + 0 = 140 тыс |
х3 = 3, х4 = 2 | w4(x4) = 70 (3 - 2) + 80 (2-1) = 150 тыс |
х3 = 4, х4 = 0 | w4(x4) = 70 (4 - 0) + 110 (1-0) = 390 тыс |
х3 = 4, х4 = 1 | w4(x4) = 70 (4 – 1) + 0 = 210 тыс |
х3 = 4, х4 = 2 | w4(x4) = 70 (4 - 2) + 80 (2-1) = 220 тыс |
х3 = 5, х4 = 0 | w4(x4) = 70 (5 - 0) + 110 (1-0) = 450 тыс |
х3 = 5, х4 = 1 | w4(x4) = 70 (5 – 1) + 0 = 280 тыс |
х3 = 5, х4 = 2 | w4(x4) = 70 (5 - 2) + 80 (2-1) = 290 тыс |
- выбор минимальных значений затрат в 4-м квартале и соответствующих им величин производственных мощностей (управлений).
Таблица 1
х3 | W4(х4) | х4 |
х4 – производственные мощности в 4-м квартале.
W4(х4) – условно-оптимальные затраты в 4-м квартале,
Оптимальное управление на 4-м шаге х4 = 1, при котором W4(х4) = 0.
7.6-й этап: определение условно-оптимальных затрат, а такде соответствующих им величин производственных мощностей (управлений) на 3-м, 2-м и 1-м шагах процесса:
- для 3-го шага рекуррентное соотношение имеет вид
где
Делается предположение, что производственные мощности во 2-м квартале могут быть 0, 1, 2, 3, 4, 5 млн. Значения W4(х4) берутся из табл. 1. Проводятся расчеты аналогичные п.5, результаты сводятся в табл. 2.
Таблица 2
х2 | W4(х4) | х3 | х4 |
х3 – производственные мощности в 3-м квартале,
W4(х4) – условно-оптимальные затраты в 3-м квартале.
Оптимальное управление на 3-м шаге х3 = 3, при котором W3(х3) = 140.
- для 2-го шага рекуррентное соотношение имеет вид
где
Делается предположение, что производственные мощности во 1-м квартале могут быть 0, 1, 2, 3, 4, 5 млн. Значения W3(х3) берутся из табл. 2. Проводятся расчеты аналогичные п.5, результаты сводятся в табл. 3.
Таблица 3
х1 | W2(х2) | х2 | х3 | х4 |
х2 – производственные мощности в 2-м квартале
W2(х2) – условно-оптимальные затраты в 2-м квартале
Оптимальное управление на 2-м шаге х2 = 5, при котором W2(х2) = 280
- для 1-го шага рекуррентное соотношение имеет вид
где:
Поскольку х0 = 2 задано по условиям задачи, то необходимо найти условно-оптимальные затраты только при х0 (значения W2(х2) из таб. 3.
х0 = 2, х1 = 0 | W1(x1) = 70 (2 - 0) + 110 (2-0) + 660 = 1020 тыс |
х0 = 2, х1 = 1 | W1(x1) = 70 (2 – 1) + 110 (2 – 1) + 560 = 740 тыс |
х0 = 2, х1 = 2 | W1(x1) = 0 + 0 + 460 = 460 тыс |
х0 = 2, х1 = 3 | W1(x1) = 100 (3 - 2) + 80 (3 - 2) + 360 = 540 тыс |
Следовательно, условно-оптимальные затраты на первом шаге процесса состовляют 460 тыс. при управлении х1 = 2.
8.7 -й этап: определение безусловно-оптимальных затрат на управления:
- для затрат в 1-м квартале оптимальным является управление х1 = 2, а так как х1 = х0, то затраты в 1-м квартале равны 0,
- для затрат во 2-м квартале оптимальным является управление х2 = 5, при котором составляют 280 тыс.
- для затрат в 3-м квартале оптимальным является управление х3 = 5, при котором составляют 140 тыс.
- для затрат в 4-м квартале оптимальным является управление х4 = 1, при котором составляют 0 .
- общая сумма затрат 420 тыс.
9.Общий вывод:
Таким образом, оптимальное распределение производственных мощностей на строящемся объекте соответствует следующему плану:
1) в 1-м квартале используются имеющиеся производственные мощности, рассчитанные на объем 2 млн;
2) во 2-м квартале прозводственные мощности увеличиваются на 3 условных единиц;
3) в 3-м квартале производственные мощности снижаются на 2 условные единицы;
4) в 4-м две условные единицы производственных мощностей перебрасываются на другие объекты;
5) затраты по управлению распределением производственных мощностей при этом плане минимальные и составляют 420 тыс.
Пример 3.