Гришова П., МП-40
Проработайте файл ДемоРеш_01_01.doc с частью решения (для игрока В) задачи №1 из задания_01.
Демонстрация решения 1-й игры из задания 1 сведением ее к задаче линейного программирования.
>> A=[0 2 -3 0;-2 0 0 3;3 0 0 -4;0 -3 4 0]
A =
0 2 -3 0
-2 0 0 3
3 0 0 -4
0 -3 4 0
Ранее мы установили, что эта игра без седловой точки, т.к. точная нижняя цена игры равна -2, а точная верхняя цена игры равна 2. Следовательно, можно искать решение игры в оптимальных смешанных стратегиях.
Сначала преобразуем платежную матрицу игры, чтобы среди ее элементов не было отрицательных.
>> A=A+4
A =
4 6 1 4
2 4 4 7
7 4 4 0
4 1 8 4
Выпишем необходимые и достаточные условия (4) теоремы 1:
что представляет собой
произведение матрицы А на вектор q,
т.к. v > 0, то можно обе
части неравенства поделить на v
и произвести замену
.
Игрок В стремится к
минимальному проигрышу, т.е. к v
min
или
.
Коэффициентами в целевой функции f будут четыре единицы. Однако поскольку linprog ищет минимум целевой функции, первым аргументом следует взять –f. Далее условие неотрицательности надо учесть дополнением матрицы А снизу диагональной матрицей с четырьмя минус единицами на главной диагонали, а столбец правой части четырьмя нулями.
>> f=ones(1,4); b=ones(4,1);
>> [y,fmin]=linprog(-f,[A;-diag(ones(4,1))],[b;zeros(4,1)])
Optimization terminated.
y =
-0.0000
0.1441
0.1059
-0.0000
fmin =
-0.2500
Интересующий нас максимум получится как v=-1/fmin. Почему нужен знак минус?
Из-за работы ф-ии linprog : она находит минимум, а нам нужно найти максимум, следовательно мах=-мin.
>> v=-1/fmin
v =
4.0000
>> q=v*y
q =
-0.0000
0.5764
0.4236
-0.0000
Мы получили закон распределения для выбора оптимальных смешанных стратегий игрока В.
Цена игры = 4.
A=[0 2 -3 0;-2 0 0 3;3 0 0 -4;0 -3 4 0];
f=ones(1,4);b=ones(4,1);
A=A'+4;
[y,fmax]=linprog(f,-[A;diag(ones(4,1))],-[b;zeros(4,1)])
v=1/fmax
q=v*y
Optimization terminated.
y =
0.0000
0.1468
0.1032
0.0000
fmax =
0.2500
v =
4.0000
q =
0.0000
0.5874
0.4126
0.0000
Решите задачу №2 из задания_02. Оформите решение в виде отчета, выполните статистическое моделирование этой игры с проверкой утверждений теорем лекции 3 и также включите в отчет.
Конкурирующие фирмы А и В производят однородный сезонный товар, пользующийся спросом в течение n единиц времени. Доход от продажи товара в единицу времени составляет С ден. ед. Фирма В, будучи более состоятельной, в ходе конкурентной борьбы стремится вытеснить фирму А с рынка сбыта, способствуя своими действиями минимизации ее дохода, не считаясь при этом с временными потерями части своего дохода в надежде наверстать упущенное в будущем. Действующее законодательство не позволяет использовать для этого заведомое занижение цены на товар (прибегать к демпинговым ценам). Единственным допустимым способом достижения своей цели для фирмы В (как и для фирмы А в целях защиты своих интересов на рынке сбыта) остается повышение качества товара и надлежащий выбор момента времени поставки его на рынок сбыта. Уровень спроса на товар зависит от его качества, и в данный момент реализуется тот товар, качество которого выше. Повышение же качества требует дополнительных затрат времени на совершенствование технологии его изготовления и переналадку оборудования. Поэтому будем предполагать, что качество товара тем выше, чем позже он поступает на рынок.
|
B1 |
B2 |
B3 |
B4 |
B5 |
A1 |
250 |
100 |
200 |
300 |
400 |
A2 |
400 |
200 |
100 |
200 |
300 |
A3 |
300 |
300 |
150 |
100 |
200 |
A4 |
200 |
200 |
200 |
100 |
100 |
A5 |
100 |
100 |
100 |
100 |
50 |
Фирма В стремится к максимальному доходу, т.е. к или v min.
Задача ЛП для игрока В принимает вид:
A = [ 250 100 200 300 400;
400 200 100 200 300;
300 300 150 100 200;
200 200 200 100 100;
100 100 100 100 50];
f=ones(1,5);b=ones(5,1);
D=zeros(5,5);
[y,fmin]=linprog(-f,[A;D-diag(ones(5,1))],[b;zeros(5,1)])
v=-1/fmin
q=v*y
Optimization terminated.
y =
0
0.0015
0.0031
0.0008
0
fmin =
-0.0054
v =
185.7143
q =
0
0.2857
0.5714
0.1429
0
Во 2й лаб.раб. рассмотрели случай p*=[3/7 0 2/7 2/7 0] и q*=[0 2/7 4/7 1/7 0], при этом доход фирмы после 100 сезонов составил: 180,5. Заметим, что найденное q->q*
A=A-500;
[y,fmax]=linprog(f,[A;D-diag(ones(5,1))],-[b;zeros(5,1)])
v=1/fmax;
p=v*y
Optimization terminated.
y =
0.0000
0.0009
0.0018
0.0005
0.0000
fmax =
0.0032
p =
0.0000
0.2857
0.5714
0.1429
0.0000
А найденное p->p* (p*=[3/7 0 2/7 2/7 0]).
Т.к. получили решения для обоих игроков значит утверждение о решении двойственных задач верно.
Проверим утверждение о том что если {p*,q*,v} решение системы с платежной матрицей А, то {p*,q*,b*v+c} решение системы с платежной матрицей B*A+C. Для этого в последней задаче добавим строку A=10*A+100 тогда результаты будут другими
Игрок В.
Optimization terminated.
y =
1.0e-003 *
0.0000
0.1460
0.2920
0.0730
-0.0000
fmin =
-5.1095e-004
v =
-1.9571e+003
p =
-0.0000
-0.2857
-0.5714
-0.1429
0.0000
Сравниваем с решением предыдущего:
>> v1 = - 185.7143*10 - 100
v1 =
-1.9571e+003
Игрок А.
y =
1.0e-003 *
0.2190
0.0000
0.1460
0.1460
0
fmax = 5.1095e-004
v = 1.9571e+003
q =
0.4286
0.0000
0.2857
0.2857
0
Видим, что опять цена игры для обоих игроков одинакова и равна 1957 что соответствует 10*185.7+100, что опять же хорошо согласуется с теорией изложенной на лекции