Экономическое моделирование методами теории игр
Цель: ознакомиться с методами решения экономических задач в условиях конфликтных ситуаций используя математическую модель теории матричных игр на ЭВМ.
Рассмотрим методы принятия управленческих решений в условиях конфликта, когда в ситуации участвуют две стороны, интересы которых противоположны. Это могут быть, например, отношения продавца и покупателя, банка и заемщика, истца и ответчика. Для решения таких задач используют методы теории игр, для анализа которых удобно использовать ЭВМ.
Пусть в игре участвуют два игрока А и В. Игрок А имеет n чистых стратегий, а игрок В – m стратегий. А выигрывает у В сумму aij, если А выбрал вариант i (i=1,2,…,n), а В выбрал вариант j (j=1,2,…,m). Тогда платежная матрица игры имеет вид:
a11 a12 …a1m
A = [aij ] = a21 a22 …a2m
………..
an1 an2 …anm
Для нахождения вероятностей pi и qj оптимальных смешанных стратегий необходимо решать прямую и двойственную задачи линейного программирования (ЗЛП) вида:
а) прямая ЗЛП – минимизировать Z= x1+x2+…+xn
при ограничениях
a11x1+a21x2+…+an1xn ≥ 1,
a12x1+a22x2+…+an2xn ≥ 1, (5.1)
……………………. ……
a1mx1+a2mx2+…+anmxn≥ 1,
x1, x2,…,xn ≥ 0.
Обращаем внимание: строка ограничения формируется из столбца платежной матрицы!
Решая ее, находим оптимальное решение x1*, x2*,…,xn*, откуда, разделив на Z*=x1*+x2*+…+xn*, получаем оптимальную стратегию для игрока А (р1*, р2*,.., рn*), которая заключается в применении i-й чистой стратегии с частотой рi*= хi*/ Z*.
б) двойственная ЗЛП – максимизировать F=y1+y2+…+ym→max;
при ограничениях
a11y1+ a12y2+ …+ a1mym ≤1;
a21y1+ a22y2+ …+ a2mym ≤1; (5.2)
…………………………..
an1y1+ an2y2+ …+ anmym ≤1;
y1≥0; y2≥0; … ym ≥0.
Здесь строка ограничения формируется из строки платежной матрицы.
Решая данную ЗЛП, находим оптимальное решение у1*, у2*,…,уm*, откуда, разделив на F*=y1*+y2*+…+ym*, получаем оптимальную стратегию для игрока B (q1*, q2*,.., qm*), которая заключается в применении j-й чистой стратегии с частотой qj*= yj*/ F*.
Затем находим цену игры g =1/Z*=1/F*.
ПРИМЕР 5.1.Две конкурирующие коммерческие организации А и В выпускают продукцию одного вида. Каждая организация планирует проведение рекламной акции, причем маркетологи каждой компании предложили четыре сценария ее проведения A1, A2, A3, A4– для компании А и B1, B2, B3, B4– для компании В. Ожидаемая прибыль для кампании А при каждой ее стратегии Ai и ответе Bj представлена в платежной матрице:
Ai \ Bj | B1 | B2 | B3 | B4 |
A1 | ||||
A2 | ||||
A3 | ||||
A4 |
Необходимо найти оптимальные стратегии для обоих игроков А и В в предположении, что чем больше выигрыш одного игрока, тем он меньше для другого. Определить среднюю прибыль А.
Рассмотрим задачу со стороны игрока А. Для ее решения нужно составить соответствующую задачу линейного программирования, то есть необходимо найти минимум функции
x1 + x2 + x3 + x4 →min;
при ограничениях:
70x1 + 60x2 + 20x3 + 50x4≥1;
30x1 + 50x2 + 60x3 + 70x4 ≥1;
20x1 + 40x2 + 80x3 + 30x4 ≥1;
50x1 + 80x2 + 60x3 + 50x4 ≥1;
x1 ≥0; x2 ≥0; x3 ≥0; x4 ≥0.
Для решения данной ЗЛП на ЭВМ также используют надстройку EXCEL «Поиск решения».
Подготовим предварительно в электронной таблице данные.
Запускаем программу MS Excel, вводим в ячейку А1 открывшейся электронной таблицы подпись «Переменные», а в следующие ячейки В1-Е1 произвольные значения переменных x1, x2, x3, x4. Это вначале могут быть произвольные числа, например единицы. Далее, в ячейку А2 вводим подпись «Целевая», а в соседнюю ячейку В2 значение целевой функции (переключившись в английский режим набора текста): «=B1+С1+D1+Е1» или =SUMM(B1:E1), что означает формулу x1 + x2 + x3 + x4. В третьей строке вводятся левые части системы ограничений. Для этого переводим курсор в ячейку А3 и вводим в ней текст «Ограничения», а в ячейку В3 формулу «=70*В1+60*C1+20*D1+50*E1», которая соответствует левой части первого ограничения системы. Три остальных ограничения вводим в ячейки С3-В3, а именно,
в ячейку С3: «=30*В1+50*C1+60*D1+70*E1»,
в D3: «=20*В1+40*C1+80*D1+30*E1»,
в ячейку Е3: «=50*В1+80*C1+60*D1+50*E1».
После этого вызываем надстройку Сервис/Поиск решения, в поле «Установить целевую ячейку» даем ссылку на В2. Ниже, в области «Равной», поставить переключатель на минимальное значение. Ставим курсор в поле «Изменяя ячейки», и даем ссылки на переменные, обводя мышью ячейки В1-Е1.
Далее, переводим курсор в поле «Ограничения», и вводим ограничения. Для этого нажимаем на кнопку «Добавить» и в появившемся окне в поле «Ссылка на ячейку» даем ссылку на ячейки, содержащие левые части всех четырех ограничений, которые хранятся в ячейках В3:Е3 (то есть переводим курсор в поле «Ссылка на ячейку» и обводим мышью ячейки В3:Е3). В центральном поле выбираем знак неравенства – ограничения : «≥», в поле «Ограничение» вводим единицу. Нажимаем «ОК». Для ввода дополнительных ограничений x1≥0; x2≥0; x3≥0; x4≥0 нажимаем «Добавить», в поле «Ссылка на ячейку» ставим курсор и обводим ячейки В1-Е1, выводим в центральное поле «≥», ограничение «0», нажимаем «ОК». Результат на рис.5.1.
Рисунок 5.1 Окно «Поиск решения» прямой ЗЛП
Для запуска вычислений нажимаем кнопку «Выполнить». Появляется надпись, что решение найдено. Выбираем «Сохранить найденное решение» и нажимаем «ОК» – видим результат (рис.5.2): x1=0, x2 =0,015, x3 =0,05, x4 =0, что видно из ячеек В1-Е1.
Рисунок 5.2 Решение прямой ЗЛП примера 5.1
Вводим в А5 подпись «Цена игры», а в соседнюю В5 формулу (переключаясь на английский язык) «=1/(В1+С1+D1+Е1)» или =1/В2. Результат: 50. Это средняя вероятность выигрыша для игрока А. Находим вероятности чистых стратегий в смешанной стратегии р. Для этого вводим в А6 подпись «Р1=», а в соседнюю В6 формулу «=В5*В1», вводим в А7: «Р2=», а в В7 формулу «=В5*С1», в А8: «Р3=», а в В8: «=В5*D1», в А9: «Р4=», в В9: «=В5*Е1». Данные показатели и есть решение задачи (рис.5.3).
Рисунок 5.3 Решение примера 5.1 для игрока А
Рассмотрим теперь решение относительно игрока В.
ЗЛП для игрока В имеет вид:
y1+ y2+ y3+ y4→ max;
70y1+30y2+ 20y3+ 50y4≤1;
60y1+ 50y2+ 40y3+ 80y4≤1;
20y1+ 60y2+ 80y3+ 60y4≤ 1;
50y1+ 70y2+ 30y3+50y4≤1;
y1≥0; y2≥0; y3≥0; y4≥0.
Переходим на «Лист2» электронной таблицы, щелкнув на соответствующей закладке внизу таблицы. Вводим в ячейки открывшейся чистой электронной таблицы в ячейку А1 надпись «Переменные», а в следующие ячейки В1-Е1 произвольные значения переменных, например, цифры 1. В ячейку А2 вводим подпись «Целевая». Вводим в ячейку В2 значение целевой функции (переключившись в английский режим набора текста): «=B1+С1+D1+Е1», что означает формулу y1+ y2+ y3+ y4. В третьей строке вводятся левые части системы ограничений. Для этого переводим курсор в ячейку А3 и вводим в ней текст «Ограничения». Переключившись в английский режим клавиатуры, вводим в ячейку В3 формулу «=70*В1+30*C1+20*D1+50*E1», которая соответствует левой части первого ограничения системы.
Вводим в ячейку С3: «=60*В1+50*C1+40*D1+80*E1»,
в D3: «=20*В1+60*C1+80*D1+60*E1»,
в ячейку Е3: «=50*В1+70*C1+30*D1+50*E1».
После этого вызываем в меню «Cервис» надстройку «Поиск решений». В поле «Установить целевую ячейку» даем ссылку на В2. Ниже, в области «Равной», поставить переключатель на максимальное значение.
Ставим курсор в поле «Изменяя ячейки», и даем ссылки на переменные, обводя мышью ячейки В1-Е1. Далее, переводим курсор в поле «Ограничения», и вводим ограничения. Для этого, нажимаем на кнопку «Добавить» и далее в поле «Ссылка на ячейку» обводим ячейки В3:Е3, содержащие левые части всех четырех ограничений, в центральном поле выбираем знак неравенства – ограничения: «≤», в поле «Ограничение» вводим единицу. Нажимаем «ОК». Для ввода дополнительных ограничений y1≥0; y2≥0; y3≥0; y4≥0 нажимаем «Добавить», в поле «Ссылка на ячейку» ставим курсор и обводим ячейки В1-Е1, выводим в центральное поле «≥», ограничение «0», нажимаем «ОК». Результат на рис.5.4.
Рисунок 5.4 Окно «Поиск решения» обратной ЗЛП
Далее запускаем программу, нажимая «Выполнить». Результат решения обратной ЗЛП в ячейках В1-Е1. Вводим в А5 подпись «Цена игры», а в соседнюю В5 формулу (переключаясь на английский язык) «=1/(В1+С1+D1+Е1)». Находим вероятности чистых стратегий q в смешанной стратегии игрока В. Для этого вводим в А6 подпись «q1=», а в соседнюю В6 формулу «=В5*В1», вводим в А7: «q2=», а в В7 формулу «=В5*С1», в А8: «q3=», а в В8: «=В5*D1», в А9: «q4=», в В9: «=В5*Е1». Данные показатели и есть решение задачи для игрока В (рис.5.5).
Рисунок 5.5 Решение примера 5.1 для игрока В
ПРИМЕР 5.2.Построить прямую и двойственную задачи линейного программирования для решения матричной игры, заданной платежной матрицей:
A=
Прямая и двойственная задачи линейного программирования
имеют вид:
x1 + x2 + x3 + x4 + x5 →min;
5x1 + 3x2 + 4x3 + 6x4 + 7x5 ≥1;
6x1 + 8x2 + 2x3 + 3x4 + x5 ≥1;
3x1 +5x2 +7x3 +2x4 +8x5 ≥1;
9x1 +2x2 +6x3 + 5x4 +3x5 ≥1;
xi ≥0; i=1,2,3,4,5.
y1 + y2 + y3 + y4 →max;
5y1 + 6y2 + 3y3 + 9y4 ≤1;
3y1 + 8y2 + 5y3 + 2y4 ≤1;
4y1 + 2y2 + 7y3 +6y4 ≤1;
6y1 + 3y2 + 2y3 + 5y4 ≤1;
7y1 + y2 + 8y3 + 3y4 ≤1;
yj≥0; j=1,2,3,4.
Из решения игры можно найти цену игры
g =1/( x1 + x2 + x3 + x4 + x5) =1/( y1 + y2 + y3 + y4)
и вероятности состояний
pi = xi g, (i = 1,2,3,4,5); qj = yj g, ( j =1,2,3,4) .
Задание 5.1. Самостоятельно с использованием ЭВМ решить поставленные в примере 5.2 ЗЛП и найти оптимальные смешанные стратегии для игроков А и В.
Отчет должен содержать решения поставленных ЗЛП (значения переменных xi u yj , значения целевых функций), смешанные стратегии для обоих игроков и цену игры g.
Задание 5.2. Директор предприятия А заключает договор с конкурирующей фирмой В о реализации своей продукции на конкретной территории областного центра. Конкурирующие стороны выделили пять районов области. Каждая из них может развивать свое производство в этих пяти районах: A1, A2, A3, A4, A5 – для стороны А и B1, B2, B3, B4, B5 – для В. Вероятности успеха для стороны А приведены в платежной матрице:
Ai\Bj | B1 | B2 | B3 | B4 | B5 |
A1 | |||||
A2 | 30+а | ||||
A3 | 30+а | ||||
A4 | |||||
A5 | 30+а |
Определить оптимальные стратегии для каждой стороны.
Значение неизвестного параметра а взять равным номеру варианта.
Отчет должен содержать математическую модель ЗЛП, составленную для игрока А, ее решение, оптимальную смешанную стратегию для игрока А, цену игры g, выводы, в каких районах предприятие А должно реализовывать свою продукцию и в каких пропорциях, чтобы получить оптимальную прибыль вне зависимости от поведения конкурента В и чему равна эта прибыль.
Задание 5.3. Решить игру, описанную платежной матрицей для обоих игроков (матрица приведена для игрока А).
Аi\Вj | В1 | В2 | В3 | В4 | В5 |
А1 | a | ||||
А2 | a | ||||
А3 | |||||
А4 | a |
Значение неизвестного параметра а взять равным номеру варианта.
Отчет должен содержать математические модели ЗЛП, составленные для обоих игроков, полученные в результате решения на ЭВМ смешанные стратегии для обоих игроков и цену игры g.
Работа № 6
ИГРЫ С ПРИРОДОЙ
Цель: научиться методам принятия решений в условиях неопределенности и риска (такие математические модели называются Играми с природой) на ЭВМ с использованием критериев Лапласа, Вальда, Байеса, Сэвиджа и Гурвица.
Рассмотрим ситуацию, когда лицо принимающее решение (ЛПР) может выбрать одну из n возможных альтернатив, которые обозначим A1, A2,..., An, то есть выбирает наилучший вариант действий из имеющихся п возможных. Выигрыш для каждой альтернативы зависит от того, какой вариант развития ситуации произойдет. Пусть возможны m вариантов развития ситуации, которые обозначим S1, S2,..., Sm.
Существует несколько критериев, позволяющих выбрать оптимальное решение в модели игры с природой. Сначала рассмотрим случай, когда показатель привлекательности (выигрыш ЛПР) максимизируется – «чем больше, чем лучше». Рассмотрим на примере способы решения такой задачи.
ПРИМЕР 6.1.Директор финансовой компании проводит рискованную финансовую операцию. Страховая компания предлагает застраховать сделку и предлагает 4 варианта страховки: A1, A2, A3, A4. Компенсация ущерба для каждого варианта зависит от того, какой из возможных страховых случаев произошел. Выделяют 5 видов страховых случаев: S1, S2, S3, S4, S5.Компенсации (тыс. у.е.) для каждого вида страховки при каждом страховом случае составляют матрицу выигрышей вида:
Ai/Sj | S1 | S2 | S3 | S4 | S5 |
A1 | |||||
A2 | |||||
A3 | |||||
A4 |
Выбрать наилучшую альтернативу, используя критерии Лапласа, Вальда, Байеса (при вероятностях состояний исходов p1 = 0,3; p2 = 0,2; p3= 0,1; p4= 0,3; p5 = 0,1), Сэвиджа и Гурвица (при коэффициенте доверия α=0,4).
Вводим данные в электронную таблицу и готовим подписи в ячейках для дальнейшего расчета согласно рис. 6.1:
Рисунок 6.1 Решение примера 6.1
Вычисляем функции полезности для критерия Лапласа. Для этого ставим курсор в ячейку G2 и вводим формулу, усредняющую значения показателей привлекательности по первой альтернативе. Для этого вызываем мастер функций, нажимая на кнопку fx и выбираем в категории «Статистические» функцию «СРЗНАЧ», в качестве аргумента функции указываем ячейки B2:F2, обводя их курсором. Нажимаем ОК, видим результат 40,2. Автозаполняем ячейки G2-G5, перетаскивая нижний правый уголок ячейки G2. Видно, что наибольшая функция полезности 40,4 для альтернативы А3. Вводим в G6: «А3».
Для критерия Вальда вычисляем наименьшие показатели привлекательности для каждой альтернативы. Для этого вводим в Н2 функцию МИН с аргументами B2:F2: «=МИН(B2:F2)» (кавычки не вводить!). Автозаполняем на Н2-Н5. Выбираем альтернативу, где результат наибольший. Это значение 37 для альтернативы А2, вводим в Н6: «А2».
Для критерия Байеса функции полезности равны суммам выигрышей, умноженным на вероятности их исходов. Вводим в I2 формулу:
«=В2*0,3+C2*0,2+D2*0,1+E2*0,3+F2*0,1», автозаполняем на I2-I5. Выбираем альтернативу с наибольшей функцией полезности, то есть А4, вводим в I6: «А4».
Для критерия Сэвиджа необходимо построить матрицу рисков.
Для этого ставим курсор в ячейку В8 и вводим формулу «=МАКС(B$2:B$5)-B2», автозаполняем результат на ячейки В8-F11.
Далее находим максимальный риск для каждой альтернативы. Для этого ставим курсор в ячейку J2 и вводим «=МАКС(B8:F8)», автозаполняем результат на J2-J5. Выбираем альтернативу с минимальным риском, это А3. Вводим в J6: «А3».
Для критерия Гурвица нужно наибольшее значение каждой альтернативы умножить на α(по условию α= 0,4 ), наименьшее на (1- α) и результаты сложить. Вводим в К2 формулу:
=МАКС(B2:F2)*0,4+МИН(B2:F2)*0,6 и автозаполняем результат на К2-К5. Выбираем альтернативу с наибольшей функцией полезности. Это А3, вводим К6: «А3». Задача решена.
Рассмотрим теперь метод решения задачи в случае минимизации критерия – «чем меньше, тем лучше».
ПРИМЕР 6.2. Фермер, имея в аренде большие площади под посев кукурузы, заметил, что влажности почвы в сезон созревания кукурузы недостаточно, чтобы получить максимальный урожай. Эксперты советовали фермеру провести дренажные каналы в период конца весны – начала лета, что должно значительно повысить урожай. Были предложены 5 проектов дренажных каналов: A1, A2, A3, A4, A5, затраты на которые зависят от погодных условий в период весна – лето.
Возможны варианты: S1 – дождливая весна и дождливое лето; S2 – дождливая весна и сухое лето; S3 – сухая весна и дождливое лето; S4 – сухая весна и сухое лето. Матрица затрат имеет вид:
Ai/Sj | S1 | S2 | S3 | S4 |
A1 | ||||
A2 | ||||
A3 | ||||
A4 | ||||
A5 |
Выбрать наилучшую альтернативу, используя критерии Лапласа, Вальда, Байеса с p1 = 0,2; p2 = 0,3; p3 = 0,3; p4 = 0,2 , Сэвиджа и Гурвица при коэффициенте доверия α = 0,7 .
Вводим данные в электронную таблицу и готовим подписи в ячейках для дальнейшего расчета согласно рис. 6.2:
Рисунок 6.2 Решение примера 6.2
Вычисляем функции полезности для критерия Лапласа. Для этого ставим курсор в ячейку F2 и вводим формулу:
«=СРЗНАЧ(В2:Е2)», автозаполняем на F2-F6. Наилучшей в данном случае считается альтернатива с минимальной функцией полезности, это А2. Вводим в F7: «А2».
Для критерия Вальда вычисляем наибольшие показатели привлекательности для каждой альтернативы. Для этого вводим в G2 функцию «=МАКС(B2:E2)», автозаполняем на G2-G6. Выбираем альтернативу, где результат наименьший, вводим в G7: «А2».
Для критерия Байеса функция полезности вычисляется так же как и для предыдущего примера (но для 4-х состояний природы), в ячейку Н2 формулу «=B2*0,2+C2*0,3+D2*0,3+E2*0,2», автозаполняем на Н2-Н6. Выбираем альтернативу с наименьшей функцией полезности, это А1, вводим в Н7: «А1».
Для критерия Сэвиджа необходимо построить матрицу рисков. Для этого ставим курсор в ячейку В9 и вводим формулу «=B2-МИН(B$2:B$6)», автозаполняем результат на ячейки В9-Е13.
Далее находим максимальный риск для каждой альтернативы. Для этого ставим курсор в ячейку I2 и вводим «=МАКС(B9:E9)», автозаполняем результат на I2-I6. Выбираем альтернативу с минимальным риском, таких альтернатив две, это А1 и А4. Вводим в I7: «А1, А4».
Для критерия Гурвица нужно наименьшее значение каждой альтернативы умножить на α(по условию α= 0,7), наибольшее на (1– α) и результаты сложить. Вводим в J2 формулу:
= МИН(B2:E2)*0,7+МАКС(B2:E2)*0,3
и автозаполняем результат на J2-J6. Выбираем альтернативу с наименьшей функцией полезности. Это А1, вводим J7: «А1». Задача решена.
Задание 6.1. Директор торговой фирмы, продающей телевизоры, решил открыть представительство в областном центре. У него имеются альтернативы либо создавать собственный магазин в отдельном помещении, либо организовывать сотрудничество с местными торговыми центрами. Всего можно выделить 5 альтернатив решения: A1, A2, A3, A4, A5. Успех торговой фирмы зависит от того, как сложится ситуация на рынке предоставляемых услуг. Эксперты выделяют 4 возможных варианта развития ситуации S1, S2, S3, S4.
Прибыль фирмы для каждой альтернативы при каждой ситуации представлена матрицей выигрышей aij (млн. р./год).
Аi/Bj | S1 | S2 | S3 | S4 |
A1 | a | |||
A2 | ||||
A3 | a | |||
A4 | ||||
A5 |
Выбрать наилучшую альтернативу, используя критерии Лапласа, Вальда, Байеса с p1 = 0,4; p2 = 0,3; p3 = 0,1; p4 = 0,2 , Сэвиджа и Гурвица при коэффициенте доверия α = 0,6.
Значение неизвестного параметра а взять равным номеру варианта.
Задание 6.2. Нефтяная компания собирается построить в районе крайнего севера нефтяную вышку. Имеется 4 проекта A, B, C и D.
Затраты на строительство (млн. руб.) зависят от того, какие погодные условия будут в период строительства. Возможны 5 вариантов погоды S1, S2, S3, S4, S5. Выбрать оптимальный проект для строительства используя критерии Лапласа, Вальда, Байеса с p1 = 0,1; p2= 0,2; p3= 0,3; p4= 0,2; p5 = 0,2, Сэвиджа и Гурвица при α = 0,6. Матрица затрат имеет вид:
Аi/Sj | S1 | S2 | S3 | S4 | S5 |
A1 | а | ||||
A2 | |||||
A3 | a | ||||
A4 |
Значение неизвестного параметра а взять равным номеру варианта.
Работа № 7