- •Линейное программирование
- •1. Задача об использовании ресурсов: для изготовления 2-х видов конфет используется 4 вида ресурсов. Требуется составить такой план выпуска конфет, чтобы прибыль от их реализации была максимальной
- •Транспортная задача
- •Метод наименьших затрат
- •Метод потенциалов
- •Nb: Если все оценки неотрицательны, то решение – оптимально.
- •Элементы теории игр
- •Платежная матрица. Верхняя и нижняя цена игры
- •Решение игр смешанных стратегий
Платежная матрица. Верхняя и нижняя цена игры
Пусть игрок А обладает стратегией А1, А2, …Аn, игрок В – В1, В2, … Вn. Матрица P = (aij) содержит aij – означающие выигрыш игрока А, если игрок А применит стратегию Аi, а игрок В – стратегию Вj.
Наименьший выигрыш игрока А при выборе им стратегии Аi обозначим как αi. αi = min ai.
|
В1 |
В2 |
В3 |
αi = 5 αi = 7 αi = 6 |
Из чисел α выберем макисмум: α = max {5,6,7} = 7 – нижняя цена игры или гарантированный выигрыш игрока А независимо от стратегии игрока В |
А1 |
5 |
6 |
8 |
||
А2 |
9 |
7 |
8 |
||
А3 |
7 |
6 |
6 |
Наибольший проигрыш игрока В при выборе им стратегии Вj обозначим как βj.
βj = min max ai. βj = min {9,8,7} = 7 – верхняя цена игры или гарантированный максимальный проигрыш игрока В
Игры, в которых α = β называют играми с седловой точкой, соответствующие этой точке стратегии являются оптимальными. В приведенном примере для игрока А – стратегия А2 (ai = 7), а для игрока В – стратегия В2.
Решение игр смешанных стратегий
Если α не равно β, игра не имеет решения в чистых стратегиях. Оптимальное решение можно получить чередуя случайным образом чистые стратегии.
Смешанной стратегией игрока А (Sa) называется вектор - применение чистой стратегии с вероятностями р1,р2… рm.
Смешанной стратегией игрока B (Sb) называется вектор - применение чистой стратегии с вероятностями q1,q2… qn
а11 а12 … а1n
P = а21 а22 … а2n
аm1 аm2 … аmn
Средний выигрыш игрока А (или средний проигрыш игрока В) при оптимальной стратегии – цене игры.
p1*a11 + p2*a21 + ... pm*am1 = v
p1*a12 + p2*a22 + ... pm*am2 = v
p1*a1n + p2*a2n + ... pm*amn = v
p1 + p2 + ... pm = 1
q1*a11 + q2*a21 + ... qm*am1 = v
q1*a12 + q2*a22 + ... qm*am2 = v
q1*a1n + q2*a2n + ... qm*amn = v
q1 + q2 + ... qm = 1
ПРИМЕР:
5 3
P = 2 4 ; α = max {3,2} = 3; β = min {5,4} = 4; β ≠ α
5*p1 + 2*p2 = v 5*p1 + 2*p2 – 3*p1 – 4*p2 = 0 2*p1 – 2*p2 = 0 p1 = p2 =1/2
3*p1 + 4*p2 = v p1 + p2 = 1 p1 + p2 = 1 v = 3*1/2 + 4*1/2 = 7/2 = 3 1/2
p1 + p2 = 1
Sa = (1/2 ; ½); 3 < 3 ½ < 4
5*q1 + 3*q2 = v 5*q1 + 3*q2 – 2*q1 – 4*q2 = 0 3*q1 – q2 = 0 4*q1=1$ q1 = 1/4
2*q1 + 4*q2 = v q1 + q2 = 1 q1 + q2 = 1 q2 = 1 – 1/4 = 3/4
p1 + p2 = 1 v = 2*1/4 + 4*3/4 = 3 1/2
Sa = (1/2 ; ½); 3 < 3 ½ < 4
ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Если модели ЛП применяются для решения крупномасштабных задач, то модели ДП применяются при решении задач меньшего масштаба: разработка правил управления запасами; распределение дефицитных ресурсов и инвестиций; календарное планирование и т.д.
В моделях ДП процесс решения можно разложить на шаги.
Пусть процесс разбивается на n шагов, при этом система переходит из начального состояния (S0) в конечное состояние (Sn):
х1 х2 xn-1 xn
S0 S1 … Sn-1 Sn xk, k = 1,n
Переход из очередного состояния в следующее осуществляется управлением xk. Показатель эффективности зависит от начального состояния и управления.
Z = f (So, x) – эта функция является суммой от функции эффективности на каждом шаге.
Zk = fk (Sk, xk); Z = Zk
Принцип оптимальности
Каково бы ни было состояние системы в результате n числа шагов на ближайшем шаге нужно выбирать управление так, чтобы оно в совокупности с оптимальным управлением на всех последующих шагах приводило к оптимальному варианту на всех оставшихся шагах, включая данный.
Уравнение Беллмана
Z* (Sk-1) = max {fk (Sk-1. [n) + Z*r+1 (Sn)}
Задача о рюкзаке: имеется рюкзак, который может вместить вес W; имеется набор из m предметов весом wi, стоимостью ci i=1,n. Цель – получить набор предметов, помещающихся в рюкзак, так чтоб их суммарная стоимость была максимальной. Задача решается по шагам.
Шаг 1. Заполнить рюкзак весом 0,1,2, … w. Функция f означает стоимость помещенных в рюкзак предметов весом S: f (S) + max {Ci + f (S – Wi)}
|
wi |
ci |
|
4 |
10 |
0 |
|
5 |
15 |
3 |
|
7 |
20 |
0 |
f (0) = f (1) = f (2) = f (3) |
||
f (4) = max |
10 + f (0) |
= 10 |
f (5) = max |
1 0 + f (0) 15 + f (1) |
= max {10,15} = 15 |
f (6) = max |
1 0 + f (2) 15 + f (1) |
= max {10,15} = 15 |
f (7) = max |
1 0 + f (3) 15 + f (2) 20 + f (0) |
= max {10,15,20} = 20 |
f (8) = max |
1 0 + f (4) 15 + f (3) 20 + f (1) |
= max {15,20,20} = 20 |
f (9) = max |
1 0 + f (5) 15 + f (4) 20 + f (2) |
= max {15,20,25} = 25 |
f (10) = max |
1 0 + f (6) 15 + f (5) 20 + f (3) |
= max {20,25,30} = 30 |
f (11) = max |
1 0 + f (7) 15 + f (6) 2 0 + f (4) |
= max {30,30,30} = 30 |
f (12) = max |
10 + f (8) 15 + f (7) 20 + f (5) |
= max {30,35,35} = 35 |
f (13) = max |
1 0 + f (9) 15 + f (8) 20 + f (6) |
= max {35,35,35} = 35 |
f (14) = max |
1 0 + f (10) 15 + f (9) 20 + f (7) |
= max {40,40,40} = 40 |
f (15) = max |
1 0 + f (11) 15 + f (10) 20 + f (8) |
= max {40,40,45} = 45 |
Оптимальное решение: взять 3 предмета 2-го вида общей стоимостью 45,
а предметы 1-го и 3-го видов вообще не брать