Файл: Методы оптимизации лабораторный практикум.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.01.2024

Просмотров: 130

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.







2
*
*
2
*
*
,
0,
,
0
d L X
d L X




для всех ненулевых значений


1 2
,
,
,
T
n
n
dX
dx таких, что выполняются соотношения (5.7), то точка
*
X
является точкой локального минимума (максимума) в задаче (5.1). Замечания 2. Отметим, что достаточные и необходимые условия экстремума второго порядка проверяются в условно-стационарных точках, которые удовлетворяют системе (5.2)-(5.3) при
*
0 0


или системе, так как для практики, безусловно, представляет интерес случай, когда в функции Лагранжа присутствует целевая функция, экстремум которой ищется.
Алгоритм решения задачи (5.1):
1. Составить обобщенную функцию Лагранжа


 
 
0 0
1
,
,
m
j
j
j
L X
f X
g
X
 






2. Записать необходимые условия условного экстремума первого порядка (5.2)–(5.3):


*
*
*
0
,
,
0,
1, ;
i
L X
i
n
x
 




 
*
0
j
g
X

,
1,
j
k

3. Решить систему (5.2)-(5.3) для случаев а)
*
0 0


; б)
*
0 1


. В результате найти условно-стационарные точки
*
X
, выделив из них регулярные точки.
4. Для выделенных в предыдущем пункте точек проверить достаточные условия экстремума a) записать выражение для второго дифференциала по X классической функции Лагранжа в точке


*
*
,
X

:




2
*
*
2
*
*
1 1
,
,
,
n
n
i
j
i
j
i
j
L X
d L X
dx dx
x x






 б) записать систему (5.7) в точке
*
X
:
 
 
*
*
1 0
n
j
j
i
i
i
g
X
dg
X
dx
x






,
1, виз предыдущей системы выразить любые k дифференциалов
i
dx через остальные (nk) дифференциалов (будем называть их независимыми) и подставить в


2
*
*
,
d L X

, г) если


2
*
*
,
d L X

> 0 при ненулевых
dX
, тов точке
*
X
– условный локальный минимум. Если


2
*
*
,
d L X

< 0 при ненулевых
dX
, тов точке
*
X
– условный локальный максимум. Если достаточные условия экстремума не выполняются, следует проверить выполнение необходимых условий второго порядка, следуя аналогичной процедуре. Если они выполняются, то требуется дополнительное исследование, а если они не выполняются, тов точке нет условного экстремума.
5. Вычислить значение целевой функции в точках условного экстремума.
Замечания 3. Иногда удается проверить условие линейной независимости градиентов ограничений на множестве M . Если оно выполняется, тона шаге 1 следует записать классическую функцию Лагранжа, на шаге 2 можно сразу записать систему (4)-(5), а на шаге 3 отсутствует случай
*
0 Пример. Исследовать на условный экстремум функцию двух переменных при наличии одного ограничения
2 2
2 2
( , ) : (
2)
(
1)
,
( , )
1.
f x y
x
y
extr
g x Решение задачи в пакете Maple Зададим нашу функцию и ограничения
> restart; f:=(x-2)^2+(y-1)^2; Изобразим на плоскости xOy линии уровня функции
( , )
f x y
и множество


( , ) : ( , )
0
Q
x y
g x y


:
>with(plots):
>g1:=implicitplot(g(x,y)=0, x=-1..1, y=-1..1, scaling=constrained):
>g2:=contourplot(f(x,y), x=-1.5..1.5, y=-1.5..1.5, scaling= con-
strained, filled=false,coloring=[red, green], contours=30):
>display(g1,g2); Рис. 5.1
Опция scaling=constrained означает, что масштабы по осями на графике будут выбраны одинаковыми. Этот фрагмент программы выдает рисунок, приведенный на рис. Полученный график позволяет локализовать точки минимума и максимума, которые являются точками касания окружности ( , ) 0
g x y

и линий уровня функции Найдем экстремальные точки нашей функции аналитически. Зададим функцию Лагранжа Найдем частные производные функции Лагранжа и приравняем их к нулю






, ,
0,
, ,
0,
, ,
0.
L x y
x
L x y
y
L x y






















>SysEqn:={diff(L,x)=0, diff(L,y)=0, Решаем данную систему с помощью команды solve:
> rez:=solve(SysEqn,{x,y,lambda}); В этой команде можно, вообще говоря, и не указывать набор переменных, относительно которых решается система. В ответе появится команда RootOf, которая, как мы уже знаем, означает, что корни не могут быть найдены в квадратурах. Для этого применяем команду Значит, одна из найденных точек минимума вторая максимум, достаточно просто подставить их в функцию
>F1:=subs(rez[1], f); F2:=subs(rez[2], В данном случае оказалось, что задачу нахождения экстремумов можно решить, не применяя условий второго порядка. Однако для полноты изложения покажем, как применить эти условия. Вначале
построим второй дифференциал функции Лагранжа. Можно действовать так. Построим второй дифференциал функции Лагранжа, как функцию 4 переменных , , ,
x y dx dy
: Находим связь между дифференциалами
,
dx dy
, которая выражается равенством
 
 
 
,
,
,
0
g x y
g x y
dg x y
dx
dy
x
y







:
>dg:=(diff(g, x))*dx+(diff(g, Из равенства
 
 
 
,
,
,
0
g x y
g x y
dg x y
dx
dy
x
y







выражаем dy через dx с помощью команды solve:
>dy:=solve(dg, Теперь возвращаем функцию DLL от трех переменных
, ,
x y dx (выражение для dy уже подставлено Для удобства можно привести подобные с помощью команды collect:

>collect(eq, Найдем значения второго дифференциала в найденных точках
>for i from 1 to 2 do assign(rez[i]); X[i]:=x; Y[i]:=y; Lamb-
da[i]:=lambda; print('DDL'=DDL): x:='x': y:='y': lambda:='lambda':
od;
Получаем, что при
0.894427191,
0.4472135955,
x
y


1.236067978


второй дифференциал положителен (те. этому значению соответствует минимум функции
( , )
f x y
), а при
0.894427191,
0.4472135955,
3.236067978
x
y

 
 
 
– отрицателен те. этому значению соответствует максимум функции ( , )
f x y
). Исходные данные для лабораторной работы Найти условный экстремум функции
2 2
1 2
2 2
1 2
,
(
)
ax
bx
extr
cx
d
ex
f





№ варианта
a
b
c
d
e
f
1
3
-3 2
-1
-6 1
2
0
-1
-1
-5 3
-7
3
3 9
-2 2
-2
-4
4
7 1
-8
-5 6
-8
5
5
-4 0
8 3
8
6
1
-6 7
9 7
4
7
6
-7 7
-7
-6 8
8
-7
-2 6
-8
-7
-9
9
-9
-1 5
-4
-3
-8
10
7 9
-6
-3 9
-4
ЛАБОРАТОРНАЯ РАБОТА
№6 ЗАДАЧА КОММИВОЯЖЕРА Цель работы овладеть навыками составления математической модели задачи коммивояжера и ее решения в MS Excel. Требуется
− выполнить математическую постановку задачи
− решить задачу в среде электронных таблиц MS Excel. Необходимые теоретические сведения Имеется n городов. Расстояния между любой парой городов i и j известны и составляют
ij
c
. Коммивояжер выезжает из какого-либо города и должен посетить все города, побывав в каждом только один рази вернуться в исходный город. Ставится задача определить такую последовательность объезда городов, или маршрут, при которой суммарная длина маршрута была бы минимальной. Исходная постановка задачи коммивояжера формулируется в форме задачи оптимизации на графах. С этой целью рассмотрим связный ориентированный граф


, ,
G
V E h

, в котором


1 2
,
,...,
n
V
v v
v

− конечное множество вершин,


1 2
, ,...,
m
E
e e
e

− конечное множество дуг, :
h E


− весовая функция дуг. Для математической постановки задачи удобно обозначить отдельные значения весовой функции дуг через
 
ij
k
c
h e

, где дуга соответствует упорядоченной паре вершин


,
i
j
v v
. Согласно содержательной постановке рассматриваемой задачи отдельные значения


,
ij
i
j
c
h v v

интерпретируются как длина участка
 
,
i исходного графа. Длина любого подмножества дуг
k
E
E

в графе G равна сумме весов дуг, входящих в это подмножество. Требуется определить такое подмножество дуг, которое образует в графе G замкнутый путь, проходит через каждую вершину ровно один рази обладает минимальной длиной. Отметим следующие особенности искомого маршрута в графе.
Во-первых, каждая из вершин исходного графа должна иметь в искомом маршруте ровно одну инцидентную ей дугу, которая является входящей для этой вершины, и ровно одну инцидентную ей дугу, которая является выходящей для этой вершины. В противном случае такие вершины окажутся изолированными или тупиковыми и, следовательно, путь не будет проходить через все вершины исходного графа.
Во-вторых, общее количество дуг в искомом пути должно быть в точности равно n, где n – общее количество вершин исходного графа. Действительно, если некоторый путь содержит меньше n дуг, то он не будет проходить через все вершины или является циклическим. Если искомый путь содержит больше n дуг, то он не будет удовлетворять условию прохождения каждой вершины ровно один раз.
В-третьих, что наиболее важно, искомый путь должен представлять собой единственный цикли не должен распадаться на отдельные циклы с количеством дуг меньше n. Введем в рассмотрение следующие булевы переменные
ij
x
, которые интерпретируются следующим образом. Переменная
= 1
ij
x
, если дуга


,
i
j
v v
входит в искомый маршрут минимальной длины, те. коммивояжер непосредственно переезжает из города i в городи, если дуга


,
i
j
v v
не входит в оптимальный маршрут, те. коммивояжер не переезжает из города i в город j
. Тогда в общем случае математическая постановка задачи коммивояжера может быть сформулирована следующим образом
1 1
min,
n
n
ij
ij
i
j
c x




(6.1) при ограничениях
1 1,
1, ,
n
ij
j
x
i
n




(6.2)
1 1,
1, ,
n
ij
i
x
j
n




(6.3)
1, ,
2, ,
,
i
j
ij
u
u
n x
n
i j
n i
j

 
 


(6.4)
 
0,1 , ,
1, ,
ij
x
i j
n


(6.5)
1
,
2, .
i
u
R
i
n


(6.6) В данной математической модели задачи коммивояжера используются также вспомогательные переменные
,
2,
i
u i
n

, которые могут принимать любые действительные значения. При этом ограничения
(6.2)-(6.3) обеспечивают выполнение первых двух указанных ранее условий – искомый путь должен проходить через каждую верну графа ровно один раз. Ограничения (6.4) обеспечивают выполнение третьего из указанных ранее условий – искомый путь не должен распадаться на отдельные циклы. Ограничения (6.5) обеспечивают выполнения условия переменные должны принимать булевы значения. Нетрудно показать, что общее количество ограничений (6.2)-(6.4) равно



2 2
1 2
2
n
n
n
n
n




 Следует заметить, что те коэффициенты целевой функции
ij
c , для которых весовая функция ребер h исходного графа не определена или равна 0, в математической постановке рассматриваемой задачи
(6.1)-(6.6) следует положить равными

, те. достаточно большому положительному значению. Классическая задача коммивояжера формулируется как несимметричная, те. для случая несимметричного исходного графа, при котором Если же
, ,
1,
ij
ji
c
c
i j
n


, то соответствующая задача коммивояжера называется симметричной. Нетрудно увидеть, что исходный граф симметричной задачи коммивояжера является неориентированным. Пример. Дана транспортная сеть, которая соединяет 6 населенных пунктов в некотором географическом районе (см. Данный район представлен в виде схемы, формально представляющей собой ориентированный связный граф, состоящий из 6 вершин, которые связаны между собой в прямом и обратном направлении. Длина участка автодороги между двумя соседними населенными пунктами, выраженная в км, равна значению весовой функции для каждой дуги. Это значение указано рядом с изображением соответствующей дуги в графе. Требуется найти такой полный замкнутый путь, начинающийся в вершине с номером 1 и заканчивающийся в вершине с номером 6, чтобы общая длина пути была минимальной. Рис Исходный граф задачи коммивояжера
Решение. Для решения задачи составим ее математическую модель. Введем обозначения
ij
x
, ,
1,6,
i j

,
2,6
i
u i

,
1, если дуга ( , ) входит в минимальный полный путь, если дуга ( , ) не входит в минимальный полный путь .
ij
i j
x
i j

 

2. Составим целевую функцию (для удобства вычислений установим значения весов равными некоторому достаточно большому положительному числу, например,
1000,
1,6
ii
c
i


)
:
6 6
11 12 13 14 15 16 1
1 21 22 23 24 25 26 31 32 33 34 35 36 41 42 43 44 45 46 51 52 5
1000 20 28 12 39 32 21 1000 15 9
17 27 30 25 1000 45 29 47 7
52 40 1000 15 1
60 46 11
ij
ij
i
j
Z
c x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x



































3 54 55 56 61 62 63 64 65 66 5
1000 34 11 45 14 21 30 1000
min .
x
x
x
x
x
x
x
x
x











(6.7)
3. Сформулируем ограничения рассматриваемой задачи. Ограничения вида (6.2):
11 12 13 14 15 16 21 22 23 24 25 26 31 32 33 34 35 36 41 42 43 44 45 46 51 52 53 54 55 56 61 62 63 64 65 66 1,
1,
1,
1,
1,
1.
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x














































(6.8)
3.2. Ограничения вида (6.3):
11 21 31 41 51 61 12 22 32 42 52 62 13 23 33 43 53 63 14 24 34 44 54 64 15 25 35 45 55 65 16 26 36 46 56 66 1,
1,
1,
1,
1,
1.
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x














































(6.9)
3.3. Ограничения вида (6.4):

2 3
23 2
4 24 2
6 26 3
2 32 3
4 34 3
6 36 6
2 62 6
3 63 6
5 65 6
5,
6 5,
6 5,
6 5,
6 5,
6 5,
6 5,
6 5,
6 5.
u
u
x
u
u
x
u
u
x
u
u
x
u
u
x
u
u
x
u
u
x
u
u
x
u
u
x

 


    




 


   



 




    


    

   



    

(6.10)
3.4. Ограничения вида (6.5), те. бинарность переменных
ij
x :
ij
x
− бинарные (двоичные,
1,6,
1,6.
i
j


(6.11)
3.5. Ограничения вида (6.6):
1 2
3 4
5 6
,
,
,
,
u u u u u
R

(6.12) Таким образом, целевая функция (6.7) и ограничения (6.8−6.12) образуют математическую модель задачи коммивояжера. Решение задачи в среде электронных таблиц MS Excel Идентифицируйте свою работу, переименовав Лист в Титульный лист и записав номер лабораторной работы, ее название, кто выполнили проверил. Наследующем листе (см. рис. 6.2.), с именем Задача коммивояжера, создайте таблицу для ввода условий задачи и введите исходные данные.
3.Матрицу переменных дополните столбцом справа и строкой снизу. В ячейку
1   2   3   4   5   6   7   8

E28 введите формулу целевой функции
=СУММПРОИЗВ(C3:H8;C11:H16). В ячейку I11 запишите формулу СУММ. Эту формулу скопируйте автозаполнением в остальные ячейки диапазона I12: I16 (см. рис.
Рис. 6.2 Рис. 6.3 В ячейку C17 запишите формулу СУММ. Эту формулу скопируйте автозаполнением в остальные ячейки диапазона D17: H17 (см. рис. 6.3).
7. В ячейки D22:H26 введите формулы, соответствующие ограничениям) (см. рис. 6.4).
8. На вкладке Данные выберите пункт Поиск решения.
9. В появившемся окне Параметры поиска решения нужно выполнить необходимые установки (см. рис. 6.5):
Рис. 6.4 Рис
− Введите абсолютный адрес целевой ячейки $E$28 в поле Оптимизировать целевую функцию или щѐлкните по кнопке
, затем по ячейке E28 и снова по кнопке
− Введите направление целевой функции, щѐлкнув левой кнопкой мыши по селекторному полю Минимум.

− В поле Изменяя ячейки переменных впишите абсолютный адрес диапазона ячеек $C$11:$H$16;$D$20:$H$20 или щѐлкните по кнопке
, выделите мышью диапазон ячеек C11:H16, поставьте точку запятой, затем выделите мышью диапазон ячеек D20:H20 и снова щѐлкните по кнопке
− В поле В соответствии с ограничениями введите ограничения с помощью кнопки Добавить. При этом вызывается диалоговое окно Добавление ограничения, показанное на рис. 6.6. Введите систему ограничений (6.8). В поле Ссылка на ячейки щѐлкните по кнопке
, затем выделите мышью диапазон ячеек
I11:I16 и снова щѐлкните по кнопке
, в следующем поле установите знак =, нажав
, затем в поле Ограничение введите 1 (см. рис.
6.6). Нажмите Добавить. Рис Аналогично введите систему ограничений (6.9). В поле Ссылка на ячейки щѐлкните по кнопке
, затем выделите мышью диапазон ячеек C17:H17 и снова щѐлкните по кнопке
, в следующем поле установите знак =, нажав
, затем в поле Ограничение введите 1 см. рис. Нажмите Добавить. Введите систему ограничений (6.10). В поле Ссылка на ячейки щѐлкните по кнопке
, затем выделите мышью диапазон ячеек
D22:H26 и снова щѐлкните по кнопке
, в следующем поле установите знак <=, нажав
, затем в поле Ограничение введите 5 (см. рис. Нажмите Добавить.
Рис Рис Теперь введите ограничение (6.11). В поле Ссылка на ячейки щѐлкните по кнопке
, затем выделите мышью диапазон ячеек Си снова щѐлкните по кнопке
, в следующем поле установите «бин», нажав
, поле Ограничение заполнится автоматически, появится «бинароное» (см. рис. 6.9). Нажмите «ОК». Рис
− Установите галочку Сделать переменные без ограничений неотрицательными.
− Выберете метод решения Поиск решения линейных задач симплекс-методом»

− Нажмите Найти решение. В появившемся окне Результаты поиска решения нажмите «ОК» Результат полученных вычислений представлен на рис. 6.10. Рис Выводы Результатом решения данной задачи коммивояжера является найденные оптимальные значения переменных
12 23 35 46 54 61 1,
1,
1,
1,
1,
1,
x
x
x
x
x
x






остальные переменные равны

0. Найденному оптимальному решению соответствует значение целевой функции Анализ найденного решения показывает, что замкнутый маршрут минимальной длины, проходящий через все вершины ориентированного графа, содержит следующие дуги (1,2), (2,4), (3,5), (5,4), (4,6),
(6,1). Тем самым найден оптимальный полный замкнутый маршрут, начинающийся и заканчивающийся в вершине с номером 1 и включающий себя последовательное посещение населѐнных пунктов изв, изв, изв, изв, изв, изв (см. рис. При этом общая длина этого пути будет минимальной и равна 81 км.
Рис.6.11: Полный замкнутый путь минимальной длины в исходном графе Исходные данные для лабораторной работы Дана матрица расстояний s
t
a
b
c
d
e
f
g
h
k
m
n
p
q
r
x
y
z
w





















Решить задачу коммивояжера.
Таблица 6.1 − Варианты заданий

1
2
3
4
5
6
7
8
9
10
a
9 8
5 2
1 7
7 8
5 6
b
4 9
5 6
8 7
1 9
7 11
c
2 1
4 9
5 5
8 11 12 9
d
9 3
4 3
3 1
1 9
18 16
e
5 5
4 3
1 8
9 12 6
9
f
7 7
3 2
5 7
2 6
5 5
g
2 4
8 2
9 4
5 14 2
12
h
1 8
3 4
5 2
9 5
12 9
k
4 6
2 8
8 9
8 8
7 9
m
3 7
4 6
7 7
8 2
8 6
n
7 4
6 1
8 8
6 9
14 12
p
3 2
1 7
9 2
9 11 5
3
q
1 4
2 5
5 5
2 10 8
8
r
6 7
7 7
8 6
7 6
10 9
s
7 1
5 7
6 9
2 8
4 7
t
1 4
6 2
1 1
7 9
4 8
x
4 1
5 9
5 6
6 3
2 3
y
4 3
9 2
4 2
3 5
4 8
z
7 5
3 7
9 4
4 2
2 7
w
6 5
4 1
4 3
1 6
8 1
ЛАБОРАТОРНАЯ РАБОТА
№7 ЗАДАЧА О МИНИМАЛЬНОМ ПУТИ В ГРАФЕ Цель работы овладеть навыками составления математической модели задачи о минимальном пути в графе и ее решения в MS Excel. Требуется
− выполнить математическую постановку задачи
− решить задачу в среде электронных таблиц MS Excel. Общая постановка задачи Дана транспортная сеть. Найти путь от начального узла к конечному, имеющий наименьшую общую продолжительность. Исходная постановка задачи формулируется в форме задачи оптимизации на графах.
Рассмотрим ориентированный граф


, ,
G
V E h

, в котором


1 2
,
,...,
n
V
v v
v

− конечное множество вершин,


1 2
, ,...,
m
E
e e
e

− конечное множество дуг, :
h E


− весовая функция дуг. Для математической постановки задачи удобно обозначить отдельные значения весовой функции дуг через
 
ij
k
c
h e

, где дуга соответствует упорядоченной паре вершин


,
i
j
v v
. Согласно содержательной постановке рассматриваемой задачи отдельные значения


,
ij
i
j
c
h v интерпретируются как длина участка
 
,
i j
, затраты или стоимость переезда из го города в j-ый город.
Длина любого маршрута в графе равна сумме весов дуг, входящих в этот маршрут. Дополнительно в графе фиксируются две вершины начальная вершина и конечная вершина
t
v
. В предположении, что исходный граф является связным, те. вершина
t
v
потенциально достижима из
s
v
, требуется определить маршрут минимальной длины изначальной вершины в конечную вершину Введем в рассмотрение следующие булевы переменные
ij
x
, которые интерпретируются следующим образом. Переменная
= 1
ij
x
, если дуга


,
i
j
v v
входит в искомый маршрут минимальной длины и
= 0
ij
x
, если дуга


,
i
j
v v
не входит в оптимальный маршрут.
Тогда в общем случае математическая постановка задачи о минимальном маршруте или пути в ориентированном графе может быть сформулирована следующим образом
1 1
min,
n
n
ij
ij
i
j
c x




(7.1) при ограничениях
1 1
1,
n
n
sj
is
j
i
x
x






(7.2)
1 1
1,
n
n
tj
it
j
i
x
x



 


(7.3)
1 1
0,
1, ,
,
,
n
n
ij
ji
j
j
x
x
i
n i
s i
t









(7.4)
 
0,1 , ,
1, .
ij
x
i j
n


(7.5) При этом первое ограничение (7.2) требует выполнения следующего условия – искомый путь должен начинаться в вершине Ограничение (7.3) требует выполнения следующего условия – искомый путь должен заканчиваться в вершине
t
v
. Третье ограничение
(7.4) гарантирует связность минимального пути, те. искомый путь должен проходить через промежуточные вершины графа. Общее количество ограничений (7.2)-(7.4) равно Наконец, последнее ограничение) требует, чтобы переменные принимали только булевы значения. Следует заметить, что те коэффициенты целевой функции
ij
c , для которых весовая функция ребер h исходного графа не определена или равна 0, в общей математической постановке рассматриваемой задачи (7.1)-(7.5) следует положить равными

, те. достаточно большому положительному значению. Если в постановке задачи о минимальном пути в графе (7.1)-
(7.5) в выражении целевой функции (7.1) операцию отыскания минимума заменить операцией отыскания максимума, то может быть получена математическая постановка соответствующей задачи о максимальном пути в ориентированном графе. Однако последний вариант задачи получил наибольшую известность в виде задачи о критическом пути в сети. Пример. Рассмотрим задачу нахождения минимального пути в транспортной сети, которая соединяет 8 населенных пунктов в некотором географическом районе (см. рис. Район представлен в виде схемы, формально представляющей собой ориентированный связный граф, состоящий из 8 вершин и 15 дуг. Длина автодороги между двумя
соседними населенными пунктами, выраженная в км, равна значению весовой функции для каждой дуги. Это значение указано рядом с изображением соответствующей дуги в графе. Требуется найти маршрут, соединяющий начальный пункт 1, которому соответствует вершина с конечным пунктом 8, которому соответствует вершина
8
t
v
v

, так чтобы общая длина пути была минимальной Рис Исходный ориентированный граф задачи Решение. Для решения задачи составим ее математическую модель. Введем обозначения. Переменными математической модели данной задачи о минимальной пути в ориентированном графе являются переменных
12 13 14 24 25 34 36 45 46 47
,
,
,
,
,
,
,
,
,
,
x
x
x
x
x
x
x
x
x
x
57 58 67 68 78
,
,
,
,
x
x
x
x
x
Каждая из этих переменных
ij
x
принимает значение
1, если дуга ( , )
i j входит в минимальный путь, ив противном случае. Запишем целевую функцию
8 8
12 13 14 24 25 34 36 1
1 45 46 47 57 58 67 68 78 7
11 18 6
14 4
13 7
5 10 2
15 3
12 9
min.
ij
ij
i
j
Z
c x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x





















(7.6)
3. Сформулируем ограничения рассматриваемой задачи. Ограничения вида (7.2):
12 13 14 1.
x
x
x



(7.7)
3.2. Ограничения вида (7.3):
58 68 78 1.
x
x
x



(7.8)
3.3. Ограничения вида (7.4):

12 24 25 13 34 36 14 24 34 45 46 47 25 45 57 58 36 46 67 68 47 57 67 78 0,
0,
0,
0,
0,
0.
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x


































(7.9)
3.4. Ограничения вида (7.5):
12 13 14 24 25 34 36 45 46 47
,
,
,
,
,
,
,
,
,
,
x
x
x
x
x
x
x
x
x
x
 
57 58 67 68 78
,
,
,
,
0,1
x
x
x
x
x

(7.10) Таким образом, целевая функция (7.6) и ограничения (7.7−7.10) образуют математическую модель задачи о минимальном пути. Решение задачи в среде электронных таблиц MS Excel Идентифицируйте свою работу, переименовав Лист в Титульный лист и записав номер лабораторной работы, ее название, кто выполнили проверил. Наследующем листе (см. рис, с именем Задача о минимальном пути в орграфе, создайте таблицу для ввода условий задачи и введите исходные данные. В ячейку E19 введите формулу целевой функции (см. рис
=СУММПРОИЗВ(C3:C17;D3:D17). В ячейку E3 введите левую часть ограничения (7.7) (см. рис
=D3+D4+D5. В ячейку E10 введите левую часть ограничения (7.8) (см. рис
=D14+D16+D17. В ячейки E4:E9 введите левую часть ограничения (7.9) (см. рис
=D3-D6-D7
=D4-D8-D9
=D5+D6+D8-D10-D11-D12
=D7+D10-D13-D14
=D9+D11-D15-D16
=D12+D13+D15-D17
7. На вкладке Данные выберите пункт Поиск решения.
8. В появившемся окне Параметры поиска решения нужно выполнить необходимые установки (см. рис. 7.3):
Рис. 7.2: Исходные данные для решения задачи о минимальном пути в графе
− Введите абсолютный адрес целевой ячейки $E$19 в поле Оптимизировать целевую функцию или щѐлкните по кнопке
, затем по ячейке E19 и снова по кнопке
− Введите направление целевой функции, щѐлкнув левой кнопкой мыши по селекторному полю Минимум.
− В поле Изменяя ячейки переменных впишите абсолютный адрес диапазона ячеек $D$3:$D$17 или щѐлкните по кнопке
, выделите мышью диапазон ячеек D3:D17 и снова щѐлкните по кнопке
− В поле В соответствии с ограничениями введите ограничения с помощью кнопки Добавить. При этом вызывается диалоговое окно Добавление ограничения, показанное на рис. 7.4. Введите ограничение (7.7). В поле Ссылка на ячейки щѐлкни- те по кнопке
, затем выделите мышью ячейку E3 и снова щѐлкните по кнопке
, в следующем поле установите знак =, нажав
, затем в поле Ограничение введите 1 (см. рис. 7.4). Нажмите Добавить.
Рис Рис Аналогично введите ограничение (7.8). В поле Ссылка на ячейки щѐлкните по кнопке
, затем выделите мышью ячейку E10 и снова щѐлкните по кнопке
, в следующем поле установите знак

=, нажав
, затем в поле Ограничение введите 1 (см. рис. Нажмите Добавить. Рис Введите систему ограничений (7.9). В поле Ссылка на ячейки щѐлкните по кнопке
, затем выделите мышью диапазон ячеек
E4:E9 и снова щѐлкните по кнопке
, в следующем поле установите знак =, нажав
, затем в поле Ограничение введите 0 (см. рис. Нажмите Добавить. Рис Теперь ведите ограничений (7.10). В поле Ссылка на ячейки щѐлкните по кнопке
, затем выделите мышью диапазон ячеек
D3÷D17 и снова щѐлкните по кнопке
, в следующем поле установите бин, нажав
, поле Ограничение заполнится автоматически, появится «бинароное» (см. рис. 7.7). Нажмите «ОК».
Рис
− Установите галочку Сделать переменные без ограничений неотрицательными.
− Выберете метод решения Поиск решения линейных задач симплекс-методом»
− Нажмите Найти решение. В появившемся окне Результаты поиска решения нажмите «ОК» Результат полученных вычислений представлен на рис. 7.8. Рис Выводы Анализ найденного решения показывает, что минимальный путь в исходном ориентированном графе, соединяющий
вершину 1 с вершиной 8, содержит следующие дуги (1,2), (2,4), (4,6),
(6,8). Тем самым найден оптимальный маршрут перемещения из исходного населенного пункта в конечный, который включает в себя последовательное перемещение между соседними населѐнными пунктами изв, изв, изв, изв (см. рис. При этом общая длина этого пути будет минимальной и равна 30 км. Рис Минимальный путь в исходном графе между вершинами и 8 Исходные данные для лабораторной работы Транспортному предприятию требуется перевезти груз из пункта в пункт 14. На рис. 7.10 показана сеть дороги стоимость перевозки единицы груза между отдельными пунктами. Определить маршрут доставки груза, которому соответствуют наименьшие затраты. Рис. 7.10
Таблица 7.1 − Значения коэффициентов условия задачи
№ 1
2 3
4 5
6 7
8 9
10 1
a
20 18 22 15 17 19 23 16 21 24 2
a
18 19 21 16 18 21 20 15 19 22 3
a
19 17 20 17 16 20 22 17 20 23 4
a
11 13 12 14 10 15 20 17 19 18 5
a
15 14 11 10 12 13 16 15 16 17 6
a
13 15 10 12 13 16 17 16 18 16 7
a
12 16 9
11 9
14 19 14 15 19 8
a
14 17 13 13 11 18 18 19 17 20 9
a
12 18 14 16 15 17 15 18 14 21 10
a
24 21 20 18 17 16 19 16 22 23 11
a
21 19 20 21 22 18 23 17 18 19 12
a
20 22 19 23 18 17 24 16 20 21 13
a
22 21 18 22 21 19 20 18 19 18 14
a
23 23 21 20 19 16 22 15 21 20 15
a
24 18 17 24 20 15 21 19 22 22 16
a
20 21 23 19 22 18 20 16 17 21 17
a
22 17 19 23 18 17 19 22 20 21 18
a
31 32 30 35 37 36 33 36 31 34 19
a
32 33 29 31 36 37 34 35 32 33 20
a
35 37 32 33 34 38 36 31 36 30 21
a
37 36 31 34 36 35 40 37 39 38 22
a
45 41 43 42 44 40 46 45 47 45 23
a
28 32 30 25 26 28 33 31 29 27 24
a
30 31 32 24 25 29 32 33 30 29
ЛАБОРАТОРНАЯ РАБОТА №8 МАТРИЧНЫЕ ИГРЫ Цель работы овладеть навыками решения матричных игр в математических пакетах Maple, Mathcad Prime ив. Требуется
− изучить теоретический материал выполнить математическую постановку задачи
− решить задачи в математических пакетах Maple, Mathcad
Prime ив среде электронных таблиц MS Excel. Необходимые теоретические сведения Описание матричной игры. Рассмотрим парную конечную игру с нулевой суммой. При нулевой сумме игры разница между абсолютными значениями выигрыша одного игрока и проигрыша другого полагается равной нулю. Пусть игрок A располагает m личными стратегиями, которые обозначим
1 2
,
,...,
m
A A
A
, а игрок B имеет n личных стратегий −
1 2
,
,...,
n
B B
B
. Причѐм выигрыш игрока A полагается равным проигрышу игрока B и наоборот. Такая игра имеет размерность
m×n. В результате выбора игроками пары стратегий из всех возможных для них стратегий, а именно
i
A
и
j
B
,
1,
i
m

, однозначно определяет исход игры, те. выигрыш
ij
a игрока и проигрыш игрока B . Если значения выигрышей известны для любой пары стратегий, то матрица, P составленная из этих выигрышей, называется
1   2   3   4   5   6   7   8

платѐжной матрицей или матрицей игры
11 12 1
21 22 2
1 Строки матрицы P соответствуют стратегиям первого игрока, а столбцы − стратегиям второго. Игру, определяемую матрицей P, имеющей строки столбцов, называют конечной игрой размерности. Игра, для которой можно составить матрицу игры, называется матричной.
Решение матричной игры в чистых стратегиях. Рассмотрим игру m×n с матрицей
 
,
1, ,
1,
ij
P
a
i
m Выбирая стратегию
i
A
, игрок А должен рассчитывать, что игрок В ответит на неѐ той стратегией
j
B
, при которой выигрыш игрока А будет наименьшим. Пусть
i

− наименьший выигрыш игрока А при выборе им стратегии для всех возможных стратегий игрока В, тогда
1,
min
,
i
ij
j
n
a



то есть наименьшее числовой строке платѐжной матрицы. Среди всех чисел
i

,
1,
i
m

выберем наибольшее j=1,n
1,
1,
max max Число

называется нижней ценой игры, или максиминным выигрышем (максимином). Это гарантированный выигрыш игрока А при любой стратегии игрока В. Стратегия, соответствующая максими- ну, называется максиминной стратегией. Игрок В заинтересован в том, чтобы уменьшить выигрыш игрока А, поэтому он выбирает стратегию
j
B
, учитывая при этом максимально возможный выигрыш для А. Пусть
j

− наибольший выигрыш игрока А при выборе им всех возможных стратегий, когда игрок В выбирает стратегию, тогда Одновременно является наибольшим проигрышем игрока В при выборе им стратегии
j
B
, поэтому среди всех чисел выбираем наименьшее, чтобы найти ту стратегию игрока В, при которой его проигрыш будет наименьшим. Это число обозначим

, и оно равно
1,
1,
1,
min min max
j
ij
j
n
j
n Число

называется верхней ценой игры, или минимаксным выигрышем (минимаксом. Это гарантированный проигрыш игрока В. Гарантированный в том смысле, что средний проигрыш игрока В при многократном повторении игры не будет больше этого значения. Также и выигрыш игрока Ане превысит верхней цены игры. Стратегия, соответствующая минимаксу, называется минимаксной стратегией. Принцип, диктующий игрокам выбор наиболее осторожных минимаксной и максиминной стратегий, называется принципом минимакса.
Этот принцип следует из того, что в антагонистической игре каждый игрок стремится достичь цели, противоположной цели его противника. Если верхняя и нижняя цены игры совпадают, то их общее значение называют чистой ценой игры, или ценой игры, при этом справедливо равенство
  
 
Минимаксные стратегии, соответствующие цене игры, являются оптимальными, а их совокупность – оптимальным решением, или решением игры. В этом случае оптимальной для игрока А является максиминная стратегия, а оптимальной стратегией для игрока В − ми- нимаксная. Говорят, что решение игры обладает устойчивостью, те. если один из игроков придерживается своей оптимальной стратегии, то для другого не может быть выгодным отклоняться от своей оптимальной стратегии Пара чистых стратегий и
j
B
даѐт оптимальное решение игры тогда и только тогда, когда соответствующий ей элемент является одновременно наибольшим в своем столбце и наименьшим в своей строке. Такая ситуация, если она существует, называется седловой точкой. Игра, для которой
 

, называется игрой с седловой точкой. Таким образом, решение игры в чистых стратегиях существует тогда и только тогда, когда платѐжная матрица имеет седловую точку. Однако наличие седловой точки в игре − это далеко не правило, скорее − исключение. Большинство матричных игр, не имеет седловой точки, а, следовательно, не имеет оптимальных чистых стратегий. Впрочем, есть разновидность игр, которые всегда имеют седловую точку и, значит, решаются в чистых стратегиях. Это − игры с полной информацией. Теорема 1. Каждая игра с полной информацией имеет седловую точку, а, следовательно, решается в чистых стратегиях, те. имеется пара оптимальных чистых стратегий, дающая устойчивый выигрыш, равный Решение матричной игры в смешанных стратегиях. Возникает вопрос как найти решение игры, платежная матрица которой не имеет седловой точки Применение максиминного принципа каждым из игроков обеспечивает игроку А выигрыш не менее

, игроку − проигрыш не больше

. Учитывая что
 

, естественно для игрока А желание увеличить выигрыша для игрока В − уменьшить проигрыш. Поиск такого решения приводит к необходимости применять
смешанные стратегии чередовать чистые стратегии с какими-то частотами. Случайная величина, значениями которой являются чистые стратегии игрока, называется его смешанной стратегией. Таким образом, задание смешанной стратегии игрока состоит в указании тех вероятностей, с которыми выбираются его чистые стратегии. Будем обозначать смешанные стратегии игроков Аи В соответственно, где
i
p
− вероятность применения игроком А чистой стратегии
i
A
,
1 1
m
i
i
p



;
j
q − вероятность применения игроком В чистой стратегии
j
B ,
1 Итак, если матричная игра не имеет седловой точки, то игрок должен использовать оптимальную смешанную стратегию, которая обеспечит максимальный выигрыш

. Естественно возникает вопрос какими соображениями нужно руководствоваться при выборе смешанных стратегий Оказывается принцип максимина сохраняет свое значение ив этом случае. Основная теорема матричных игр (Теорема Неймана). Любая матричная игра имеет, по крайней мере, одно оптимальное решение, в общем случаев смешанных стратегиях и соответствующую цену

. Из теоремы следует, что любая матричная игра имеет цену Цена игры

− средний выигрыш, приходящийся на одну партию, всегда удовлетворяет условию
  
 
, те. лежит между нижней

и верхней

ценами игры. Оптимальное решение игры в смешанных стратегиях, также как и решение в чистых стратегиях, обладает тем свойством, что каждый из игроков не заинтересован в отходе от своей оптимальной смешанной стратегии, если его противник применяет свою оптимальную смешанную стратегию, так как это ему невыгодно. Эта пара стратегий образует в игре положение равновесия один игрок хочет обратить выигрыш в максимум, другой − в минимум, каждый тянет в свою сторону и, при оптимальном поведение обоих, устанавливается равновесие и устойчивый выигрыш Те из чистых стратегий игроков Аи В, которые входят в их оптимальные смешанные стратегии с вероятностями, неравными нулю, называются активными стратегиями.
Существует теорема об активных стратегиях, применение которой позволяет упрощать решение некоторых матричных игр. Теорема об активных стратегиях. Если один из участников матричной игры, придерживается своей оптимальной смешанной стратегии, то это обеспечивает ему максимальный средний выигрыш, равный цене игры

, независимо оттого, какие действия предпринимает другой игрок, если только он не выходит за пределы своих активных стратегий (те. пользуется любой из них в чистом виде или смешивает их в любых пропорциях. Эта теорема имеет большое практическое значение – она дает конкретные модели нахождения оптимальных стратегий при отсутствие седловой точки. Решение игры 2×2. Рассмотрим игру 2×2 с матрицей
11 12 21 22 2 2
a
a
P
a
a



 



без седловой точки. Решением игры являются смешанные стратегии игроков
*
1 2
(
,
)
A
S
p p

и
*
1 2
( ,
)
B
S
q q

. Очевидно, что
1 2
1 2
1, Использование игроком А своей оптимальной стратегии гарантирует ему получение среднего выигрыша не меньшего, чем цена игры. При этом, если игрок В использует свою оптимальную стратегию, то средний выигрыш игрока будет равен

, если игрок Вне использует свою оптимальную стратегию, то средний выигрыш игрока А будет больше Для решения матричных игр 2×2 можно использовать анали-
тическийи геометрическийметоды. Аналитический метод решения игры 2×2. Чтобы найти оптимальную смешанную стратегию игрока Аи соответствующую цену игры

, необходимо решить систему уравнений
11 1
21 2
12 1
22 2
1 2
,
,
1.
a p
a p
v
a p
a p
v
p
p











(8.1) Первое уравнение определяет математическое ожидание выигрыша игрока А при использовании им стратегии
*
1 2
(
,
)
A
S
p p

против стратегии
1
B
; второе уравнение определяет математическое ожидание выигрыша игрока А при использовании им стратегии
*
1 2
(
,
)
A
S
p против стратегии
2
B
; третье уравнение – свойство компонентов смешанной стратегии игрока.
Приравнивая выражения для

из уравнений системы и учитывая, что
1 2
1,
p
p


получим
22 21 1
11 22 12 21 11 12 2
11 22 12 21 11 22 12 21 11 22 12 21
,
,
a
a
p
a
a
a
a
a
a
p
a
a
a
a
a a
a a
v
a
a
a
a















(8.2) Аналогично для игрока В. Чтобы найти оптимальную смешанную стратегию игрока В
*
1 2
( ,
)
B
S
q q

и соответствующую цену игры

, решаем систему уравнений
11 1 12 2
21 1 22 2
1 2
,
,
1.
a q
a q
v
a q
a q
v
q
q











(8.3) Получим
22 12 1
11 22 12 21 11 21 2
11 22 12 21
,
a
a
q
a
a
a
a
a
a
q
a
a
a
a










(8.4) Цена игры

общая для обоих игроков. Решение игры
2

n. Игра задана матрицей
11 12 1
21 22 2
2
n
n
n
a
a
a
P
a
a
a



 Для каждой из п стратегий игрока Встроит- ся соответствующий ей отрезок на плоскости. Находится нижняя граница выигрыша, получаемого игроком Аи определяется точка на нижней границе, соответствующая наибольшему выигрышу. Выделяются две активные стратегии игрока В, отрезки которых проходят через данную точку. Далее рассматриваются только эти две стратегии игрока В. Игра сводится к игре с матрицей 2 Решение игры m


2. Рассмотрим игру m

2 с матрицей
11 12 21 22 1
2 2
m
m
m
a
a
a
a
P
a
a
















Решение игры может быть получено аналогично предыдущему случаю. Для каждой из т стратегий игрока А строится
соответствующий ей отрезок на плоскости. Находится верхняя граница проигрыша, получаемого игроком В, и определяется точка на нижней границе, соответствующая наименьшему проигрышу. Выделяются две активные стратегии игрока А, отрезки которых проходят через данную точку. Далее рассматриваются только эти две стратегии игрока А. Игра сводится к игре с матрицей 2 Решение игр m×n сведением к задаче линейного программирования. Пусть имеется матричная игра m×n без седловой точки с матрицей выигрышей
 
ij
a
. Допустим, что все выигрыши
ij
a положительны (этого всегда можно добиться, прибавляя ко всем элементам матрицы достаточно большое число Сот этого цена игры увеличится на C, а оптимальные решения
*
A
S
и
*
B
S
не изменятся. Если все
ij
a
положительны, то и цена игры

при оптимальной стратегии тоже положительна, т.к.
  
 В соответствии с основной теоремой матричных игр, если платежная матрица не имеет седловой точки, то имеется пара оптимальных смешанных стратегий


*
1 2
,
,...,
A
m
S
p p
p

,


*
1 2
,
,...,
B
n
S
q q
q

, применение которой обеспечивает игрокам получение цены игры Найдем вначале
*
A
S
. Для этого предположим, что игрок В отказался от своей оптимальной смешанной стратегии
*
B
S
и применяет только чистые стратегии. В каждом из этих случаев выигрыш игрока А будет не меньше, чем

:
11 1
21 2
1 12 1
22 2
2 1
1 2
2
,
,
m
m
m
m
n
n
mn
m
a p
a p
a p
v
a p
a p
a
p
v
a p
a p
a p
v

 




 






 


(8.5) Разделив левую и правую часть каждого из неравенств (8.5) на положительную величину

и введя обозначения
1 2
1 запишем неравенства (8.5) в следующем виде
11 1 21 2 1
12 1 22 2
2 1
1 2
2 1,
1,
1,
m
m
m
m
n
n
mn
m
a x
a x
a x
a x
a x
a x
a x
a x
a x

 




 






 


(8.7) где
1 2
,
,...,
m
x x
x
− неотрицательные переменные.
В силу того, что
1 2
1
m
p
p
p

 

, переменные
1 2
,
,...,
m
x удовлетворяют условию
1 2
1
m
x
x
x
v

 

(8.8) Учитывая, что игрок А стремится максимизировать

, получаем следующую задачу линейного программирования найти неотрицательные значения переменных
1 2
,
,...,
m
x x
x
такие, чтобы они удовлетворяли линейным ограничениям − неравенствами обращали в минимум линейную функцию этих переменных
1 2
1
min
m
Z
x
x
x
v
 
 
 
(8 . 9 ) Из решения задачи линейного программирования находим цену игры

и оптимальную стратегию
*
A
S
по формулам 1
m
i
i
v
x



,
(8.10)
1
i
i
i
n
i
i
x
p
x v
x


 

,
1,
i
m

(8.11) Аналогично находим оптимальную стратегию
*
B
S
игрока В. Предположим, что игрок А отказался от своей оптимальной стратегии
*
A
S и применяет только чистые стратегии. Тогда проигрыш игрока В в каждом из этих случаев будет не больше, чем

:
11 1 12 2
1 21 1 22 2
2 1 1 2
2
,
,
n
n
n
n
m
m
mn
n
a q
a q
a q
v
a q
a q
a q
v
a q
a q
a q
v

 




 






 


(8.12) Разделив левую и правую части каждого их неравенств (8.12) на положительную величину

и введя обозначения
1 2
1 2
,
,...,
n
n
q
q
q
y
y
y
v
v
v



,
(8.13) запишем неравенство (8.12) в следующем виде
11 1 12 2
1 21 1 22 2
2 1 1 2
2 1,
1,
1.
n
n
n
n
m
m
mn
n
a y
a y
a y
a y
a y
a y
a y
a y
a y

 




 






 


(8.14)
где
1 2
,
,...,
n
y y
y
− неотрицательные переменные. В силу того, что
1 2
1
n
q
q
q

 

, переменные
1 2
,
,...,
n
y удовлетворяют условию
v
y
y
y
n
1 2
1




(8 . 1 5 ) Учитывая, что игрок В стремится минимизировать положительную цену

(свой проигрыш, получаем задачу линейного программирования найти неотрицательные значения переменных
1 2
,
,...,
n
y такие, чтобы они удовлетворяли линейным ограничениями обращали в максимум линейную функцию этих переменных
1 2
max
n
L
y
y
y


 

(8 . 1 6 ) Эта задача является двойственной по отношению к задаче, представленной условиями (8.9) и (8.7). Оптимальная стратегия
*
B
S игрока В определяется из решения двойственной задачи линейного программирования по формулам
1
j
j
j
n
j
j
y
q
y
v
y





,
1,
j
n

(8.17) Таким образом, оптимальные стратегии и матричной игры с платежной матрицей
 
ij
a
могут быть найдены путем решения пары двойственных задач линейного программирования Прямая (исходная) задача Двойственная задача
1
min,
m
i
i
Z
x







m
i
i
ij
x
a
1 1
,
1,
j
n

;
0

i
x
,
m
i
,
1

1
max,
n
j
j
L
y







n
j
j
ij
y
a
1 1
,
m
i
,
1

;
0
j
y

, При этом
1 1
1 1
1 1
m
n
i
j
i
j
v
Z
L
x
y








,
(8.18)
,
1, ;
,
1,
i
i
j
j
p
x v i
m q
y v j
n




Пример 1. Предприятие может выпускать три вида продукции А, Б и В, получая при этом прибыль, зависящую от спроса. Спрос в свою очередь может принимать одно из четырех состояний (I, II, III,
IV). В следующей матрице элементы
ij
a характеризуют прибыль, которую получит предприятие при выпуске й продукции им состоянии спроса. Определить оптимальные пропорции выпускаемой продукции, считая состояние спроса полностью неопределенным, гарантируя при этом среднюю величину прибыли при любом состоянии спроса.
I
II
III
IV А
8 3
6 2 Б
4 5
6 5 В
1 7
4 7 Решение Игра не имеет седловой точки. Оптимальное решение следует искать в области смешанных стратегий. Пусть пропорции выпускаемой продукции
1 2
3
,
,
p p p ,
1 2
3 1
p
p
p



. Введем переменные
,
1,3
i
i
p
x
i



,

‒ гарантированная прибыль. Для определения оптимальных пропорций выпускаемой продукции составляем следующую задачу линейного программирования
1 2
3 1
2 3
1 2
3 1
2 3
1 2
3 1
2 3
1 2
3 1
( ,
,
)
min,
8 4
1,
3 5
7 1,
6 6
4 1,
2 5
7 1,
0,
0,
0.
L x x x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x

 

 
  


  
  
  
  
  
  Решение данной задачи симплекс методом процесс трудоемкий, поэтому покажем, как данную задачу можно решить, используя математические пакеты. Решение задачи в пакете Maple
1. Подключаем пакет
1   2   3   4   5   6   7   8

simplex:
>
with(simplex):
2. Задаем целевую функцию
>
Z:=x[1]+x[2]+x[3];

3. Задаем систему ограничений
>
C:=[8*x[1]+4*x[2]+x[3]>=1,3*x[1]+5*x[2]+7*x[3]>=1,
6*x[1]+6*x[2]+4*x[3]>=1, 2*x[1]+5*x[2]+7*x[3]>= 1];
4. Находим оптимальное решение и минимальное значение функции
X:=minimize(Z,C,NONNEGATIVE); evalf(X,5);
z[min]:=subs(X,z);
5. Вычисляем цену игры по формуле min
1
z


:
> Вычисляем пропорции выпускаемой продукции по формулам
,
1,3
i
i
p
x
i

 

:
>
p[1]:=v*subs(X,x[1]);
>
p[2]:=v*subs(X,x[2]);
>
p[3]:=v*subs(X,x[3]); Решение задачи в пакете Mathcad Prime Для решения задачи в пакете Mathcad Prime необходимо Задать исходные данные. На вкладке Математика выбрать Блок решения. В области Начальные приближения присвоить переменным, те. вектору X начальные (любые, например, единичные) значения и задать целевую функцию.
C
[
:=
,
,
,

1


8 x
1 4 x
2
x
3

1


3 x
1 5 x
2 7 x
3

1


6 x
1 6 x
2 4 x
3

1


2 x
1 5 x
2 7 x
3
]
:=
X
{
}
,
,

x
1 1
32

x
3 0

x
2 3
16
{
}
,
,

x
1
.031250

x
3 0.

x
2
.18750
:=
z
min
7 32
:=
p
1

1 7
.1428562500
:=
p
2

6 7
.8571375000
:=
p
3

0 0
В области Ограничения ввести все необходимые ограничения. В области «Решатель» найти оптимальное решение с помощью функции minimize, минимальное значение функции, цену игры и пропорции выпускаемой продукции. Решение задачи в среде электронных таблиц MS Excel Идентифицируйте свою работу, переименовав Лист в Титульный лист и записав номер лабораторной работы, ее название, кто выполнили проверил. Наследующем листе (см. рис, с именем Матричные игры, создайте таблицу для ввода условий задачи и введите исходные
данные.
Рис. 8.1 В ячейку B8 введите формулу целевой функции СУММ. В ячейку B9 запишите формулу, для вычисления цены игры
=1/B8. В ячейку G4 запишите формулу, для вычисления пропорции выпускаемой продукции
=$B$9*F4. Эту формулу скопируйте автозаполнением в остальные ячейки диапазона G5: G6.
6. В ячейку B7 запишите формулу
=СУММПРОИЗВ($F$4:$F$6;B4:B6). Эту формулу скопируйте автозаполнением в остальные ячейки диапазона С E7.
7. На вкладке Данные выберете пункт Поиск решения.
8. В появившемся окне Параметры поиска решения нужно выполнить необходимые установки (см. рис. 8.2).
− Введите абсолютный адрес целевой ячейки $B$8 в поле Оптимизировать целевую функцию или щѐлкните по кнопке
, затем по ячейке B8 и снова по кнопке
− Введите направление целевой функции, щѐлкнув левой кнопкой мыши по селекторному полю Минимум.
− В поле Изменяя ячейки переменных впишите абсолютный адрес диапазона ячеек $F$4:$F$6 или щѐлкните по кнопке
, выделите мышью диапазон ячеек F4:F6 и снова щѐлкните по кнопке
− В поле В соответствии с ограничениями введите ограничения с помощью кнопки Добавить. При этом вызывается диалоговое окно Добавление ограничения, показанное на рис. 8.3. В поле Ссылка на ячейки щѐлкните по кнопке
, затем выделите мышью диапазон ячеек B7:E7 и снова щѐлкните по кнопке
,

в следующем поле установите знак >=, нажав
, затем в поле Ограничение введите 1 (см. рис. Нажмите «ОК».
− Установите галочку Сделать переменные без ограничений неотрицательными.
− Выберете метод решения Поиск решения линейных задач симплекс-методом»
− Нажмите Найти решение. В появившемся окне Результаты поиска решения нажмите «ОК». Рис
Рис Результат полученных вычислений представлен на рис. 8.4. Рис. 8.4 Выводы Анализ полученного решения показывает, что оптимальные пропорции выпускаемой продукции следующие
0.143,0.857,0 . Пример 2. Найти (графически) решение и цену игры
2 1 5 3 1 3 4 Решение Необходимо определить оптимальные стратегии
1 2
(
,
)
A
S
p p

и
1 2
3 4
( ,
,
,
)
B
S
q q q q

. Пусть
1 2
,
1
p
x p
x

 
частоты применения первым игроком (с горизонтальными стратегиями, соответственно, первой и второй стратегий. Тогда его выигрыш, в зависимости от чистых стратегий, применяемых вторым игроком, соответственно составляет
 
 
 
 
2 1(1
),
3(1
),
5 4(1
),
3 0.5(1
).
y x
x
x
y x
x
x
y x
x
x
y x
x
x



 







Решение задачи в пакете Maple Проведем геометрические построения
>
with(plots): inequal({x>=0, x<=1, y<=2*x+(1-x), y<=x+3*(1-x),
y<=5*x+4*(1-x), y<=3*x+0.5*(1-x)}, Рис. 8.5 Ординаты точек ломаной, разделяющей черную и серую области минимальный выигрыш первого игрока, в зависимости от применяемой им стратегии. Минимальный выигрыш максимален для точки пересечения первой и второй прямых.
2. Для первого игрока решаем систему уравнений
1 2
1 2
1 2
2 1
,
1 3
,
1.
p
p
v
p
p
v
p
p











>
rez:=solve({v=2*p[1]+p[2],
v=p[1]+3*p[2],
p[1]+p[2]=1},
{v,p[1],p[2]}); evalf(rez);
3. Для второго игрока решаем систему уравнений
1 2
1 2
1 2
2 1
,
1 3
,
1.
q
q
v
q
q
v
q
q











>
rez:=solve({v=2*q[1]+q[2], v=q[1]+3*q[2], q[1]+q[2]=1, q[3]=0,
q[4]=0}, {v,q[1],q[2],q[3],q[4]}); evalf(rez);
Решение задачи в пакете Mathcad Prime
Пример 3. Найти (графически) решение и цену игры
7 1 5 4 1 5 3
2 2 Решение Необходимо определить оптимальные стратегии
1 2
3 4
5
(
,
,
,
,
)
A
S
p p p p p

и
1 2
( ,
)
B
S
q q

. Пусть
1 2
,
1
q
x q
x

 
частоты применения вторым игроком (с вертикальными стратегиями, соответственно, первой и второй стратегий. Тогда его выигрыш, в зависимости от чистых стратегий, применяемых первым игроком, соответственно составляет
 
 
 
 
 
 
 
7 1 (1
),
5 4(1
),
5(1
),
3 2 (1
),
2 1(1
).
y x
x
x
y x
x
x
y x
x
x
y x
x
x
y x
x
x

 




 


 Решение задачи в пакете Maple Проведем геометрические построения
>with(plots): inequal({x>=0, y>=7*x+(1-x), y>=5*x+4*(1-x),
y>=x+5*(1-x), y>=3*x-2*(1-x), y>=2*x+(1-x), x<=1}, x=0..1, Рис Ищем минимальную точку на максимальной ломаной. Минимакс равен ординате точки пересечения второй и третьей прямых.
2. Для первого игрока решаем систему уравнений