Методика преподавания курса "Матричные игры"
таком случае удобнее рассмотреть линию уровня вида f=a. При монотонном увеличении числа a от -? до +? прямые f=a смещаются по вектору нормали Вектор нормали имеет координаты (С1;С2), где C1 и C2 коэффициенты при неизвестных в целевой функции f=C1?X1+C2?X2+C0.. Если при таком перемещении линии уровня существует некоторая точка X - первая общая точка области допустимых решений (многогранник ABCDE) и линии уровня, то f(X)- минимум f на множестве ABCDE. Если X- последняя точка пересечения линии уровня и множества ABCDE то f(X)- максимум на множестве допустимых решений. Если при а>-? прямая f=a пересекает множество допустимых решений, то min(f)= -?. Если это происходит при а>+?, то max(f)=+ ?.

В нашем примере прямая f=a пересевает область ABCDE в точке С(4;1). Поскольку это последняя точка пересечения, max(f)=f(C)=f(4;1)=19.

2 этап.

Задача:

Решить графически систему неравенств. Найти угловые решения.

x1+ 2x2 <=10

2x1+x2 <=10

x1+3x2>=3

5x1-x2 >=-5

x1+6x2>=6

x1>= 0, x2>=0

> restart;

>

>

>

>

>

>

>

>

>

>

>

>

>

> with(plots);

> with(plottools);

>

> S1:=solve( {f1x[1, 1] = X6[1, 1], f2x[1, 1] = X6[1, 2]}, [x, y]);

>

>

>

>

>

>

>

>

>

Ответ: Все точки Si где i=1..10 для которых x и y положительна.

Область, ограниченная данными точками: (54/11,2/11) (5/7,60/7) (0,5) (10/3, 10/3)

3 этап. Каждому ученику даётся один из 20 вариантов, в котором ученику предлагается самостоятельно решить неравенство графическим методом, а остальные примеры в качестве домашнего задания.

Занятие №4 Графическое решение задачи линейного программирования

Тип урока: урок изучения нового материала.

Вид урока: Лекция + урок решения задач.

Продолжительность: 2 часа.

Цели: 1) Изучить графическое решение задачи линейного программирования.

2) Научить пользоваться программой Maple при решении задачи линейного программирования.

2) Развить восприятие, мышление.

План занятия: 1 этап: изучение нового материала.

2 этап: Отработка нового материала в математическом пакете Maple.

3 этап: проверка изученного материала и домашнее задание.

Ход занятия.

Графический метод довольно прост и нагляден для решения задач линейного программирования с двумя переменными. Он основан на геометрическом представлении допустимых решений и ЦФ задачи.

Каждое из неравенств задачи линейного программирования (1.2) определяет на координатной плоскости некоторую полуплоскость (рис.2.1), а система неравенств в целом - пересечение соответствующих плоскостей. Множество точек пересечения данных полуплоскостей называется областью допустимых решений (ОДР). ОДР всегда представляет собой выпуклую фигуру, т.е. обладающую следующим свойством: если две точки А и В принадлежат этой фигуре, то и весь отрезок АВ принадлежит ей. ОДР графически может быть представлена выпуклым многоугольником, неограниченной выпуклой многоугольной областью, отрезком, лучом, одной точкой. В случае несовместности системы ограничений задачи (1.2) ОДР является пустым множеством.

Все вышесказанное относится и к случаю, когда система ограничений (1.2) включает равенства, поскольку любое равенство

можно представить в виде системы двух неравенств (см. рис.2.1)

ЦФ при фиксированном значении определяет на плоскости прямую линию . Изменяя значения L, мы получим семейство параллельных прямых, называемых линиями уровня.

Это связано с тем, что изменение значения L повлечет изменение лишь длины отрезка, отсекаемого линией уровня на оси (начальная ордината), а угловой коэффициент прямой останется постоянным (см.рис.2.1). Поэтому для решения будет достаточно построить одну из линий уровня, произвольно выбрав значение L.

Вектор с координатами из коэффициентов ЦФ при и перпендикулярен к каждой из линий уровня (см. рис.2.1). Направление вектора совпадает с направлением возрастания ЦФ, что является важным моментом для решения задач. Направление убывания ЦФ противоположно направлению вектора .

Суть графического метода заключается в следующем. По направлению (против направления) вектора в ОДР производится поиск оптимальной точки . Оптимальной считается точка, через которую проходит линия уровня , соответствующая наибольшему (наименьшему) значению функции . Оптимальное решение всегда находится на границе ОДР, например, в последней вершине многоугольника ОДР, через которую пройдет целевая прямая, или на всей его стороне.

При поиске оптимального решения задач линейного программирования возможны следующие ситуации: существует единственное решение задачи; существует бесконечное множество решений (альтернативный оптиум); ЦФ не ограничена; область допустимых решений - единственная точка; задача не имеет решений.

Рисунок 2.1 Геометрическая интерпретация ограничений и ЦФ задачи.

Методика решения задач ЛП графическим методом

I. В ограничениях задачи (1.2) заменить знаки неравенств знаками точных равенств и построить соответствующие прямые.

II. Найти и заштриховать полуплоскости, разрешенные каждым из ограничений-неравенств задачи (1.2). Для этого нужно подставить в конкретное неравенство координаты какой-либо точки [например, (0;0)], и проверить истинность полученного неравенства.

Если неравенство истинное,

то надо заштриховать полуплоскость, содержащую данную точку;

иначе (неравенство ложное) надо заштриховать полуплоскость, не содержащую данную точку.

Поскольку и должны быть неотрицательными, то их допустимые значения всегда будут находиться выше оси и правее оси , т.е. в I-м квадранте.

Ограничения-равенства разрешают только те точки, которые лежат на соответствующей прямой. Поэтому необходимо выделить на графике такие прямые.

III. Определить ОДР как часть плоскости, принадлежащую одновременно всем разрешенным областям, и выделить ее. При отсутствии ОДР задача не имеет решений.

IV. Если ОДР - не пустое множество, то нужно построить целевую прямую, т.е. любую из линий уровня (где L - произвольное число, например, кратное и , т.е. удобное для проведения расчетов). Способ построения аналогичен построению прямых ограничений.

V. Построить вектор , который начинается в точке (0;0) и заканчивается в точке . Если целевая прямая и вектор построены верно, то они будут перпендикулярны.

VI. При поиске максимума ЦФ необходимо передвигать целевую прямую в направлении вектора , при поиске минимума ЦФ - против направления вектора . Последняя по ходу движения вершина ОДР будет точкой максимума или минимума ЦФ. Если такой точки (точек) не существует, то можно сделать вывод о неограниченности ЦФ на множестве планов сверху (при поиске максимума) или снизу (при поиске минимум).

VII. Определить координаты точки max (min) ЦФ и вычислить значение ЦФ . Для вычисления координат оптимальной точки необходимо решить систему уравнений прямых, на пересечении которых находится .

Решить задачу линейного программирования

1.f(x)=2x1+x2 ->extr

x1+ x2 <=3

x1+3x2 <=5

5x1-x2 <=5

x1+x2 >=0

x1>= 0, x2>=0

> plots[inequal]({a+b<=3,a+3*b<=5,5*a-b<=5,a+b>=0,a>=0,b>=0}, a=-2..5, b=-2..5, optionsfeasible=(color=red),

optionsopen=(color=blue, thickness=2),

optionsclosed=(color=green, thickness=3),

optionsexcluded=(color=yellow));

> with(simplex):

> C:={ x+y <=3, x+3*y <=5, 5*x-y <=5,x+y >=0};

> dp:=setup({ x+y <=3, x+3*y <=5, 5*x-y <=5,x+y >=0});

> n:=basis(dp);

Ш display(C,[x, y]);

> f :=2*x+y:

> L:=cterm(C);

> feasible(C, NONNEGATIVE , 'NewC', 'Transform');

Ш X:=dual(f,C,p);

Ш R:=maximize(f,C ,NONNEGATIVE );

Ш f_max:=subs(R,f);

Ш R1:=minimize(f,C ,NONNEGATIVE );

f_min:=subs(R1,f);

ОТВЕТ: При x1=5/4 x2=5/4 f_max=15/4; При x1=0 x2=0 f_min=0;

Урок № 5.Решение матричных игр, используя методы линейного программирования и симплекс метод

Тип урока: урок контроль + урок изучения нового материала. Вид урока: Лекция.

Продолжительность: 2 часа.

Цели:1)Проверить и закрепить знания по прошедшему материалу на прошлых уроках.

2) Изучить новый метод решения матричных игр.

3) развить память, математическое мышление и внимание.

1 этап: проверить домашнее задание в виде самостоятельной работы.

2 этап: дать краткое описание метода зигзага

3 этап: закрепить новый материал и дать домашнее задание.

Ход занятия.

Методы линейного программирования - численные методы решения оптимизационных задач, cводящихся к формальным моделям линейного программирования.

Как известно, любая задача линейного программирования может быть приведена к канонической модели минимизации линейной целевой функции с линейными ограничениями типа равенств. Поскольку число переменных в задаче линейного программирования больше числа ограничений (n > m), то можно получить решение, приравняв нулю (n - m) переменных, называемых свободными. Оставшиеся m переменных, называемых базисными, можно легко определить из системы ограничений-равенств обычными методами линейной алгебры. Если решение существует, то оно называется базисным. Если базисное решение допустимо, то оно называется базисным допустимым. Геометрически, базисные допустимые решения соответствуют вершинам (крайним точкам) выпуклого многогранника, который ограничивает множество допустимых решений. Если задача линейного программирования имеет оптимальные решения, то по крайней мере одно из них является базисным.

Приведенные соображения означают, что при поиске оптимального решения задачи линейного программирования достаточно ограничиться перебором базисных допустимых решений. Число базисных решений равно числу сочетаний из n переменных по m:

С = m n! / n m! * (n - m)!

и может быть достаточно велико для их перечисления прямым перебором за реальное время. То, что не все базисные решения являются допустимыми, существо проблемы не меняет, так как чтобы оценить допустимость базисного решения, его необходимо получить.

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

Практика показала, что для большинства прикладных задач линейного программирования симплекс-метод позволяет отыскать оптимальное решение за относительно небольшое число шагов по сравнению с общим числом крайних точек допустимого многогранника. В тоже время известно, что для некоторых задач линейного программирования со специально подобранной формой допустимой области, применение симплекс-метода приводит к полному перебору крайних точек. Этот факт в известной мере стимулировал поиск новых эффективных методов решения задачи линейного программирования, построенных на иных, нежели симплекс-метод, идеях, позволяющих решать любую задачу линейного программирования за конечное число шагов, cущественно меньшее числа крайних точек.

Cреди полиномиальных методов линейного программирования, инвариантных к конфигурации области допустимых значений, наиболее распростаненным является метод Л.Г. Хачияна. Однако, хотя этот метод и имеет полиномиальную оценку сложности в зависимости от размерности задачи, тем не менее он оказывается неконкурентноспособным по сравнению с симплекс-методом. Причина этого в том, что зависимость числа итераций симплекс-метода от размерности задачи выражается полиномом 3-го порядка для большинства практических задач, в то время как в методе Хачияна, эта зависимость всегда имеет порядок, не ниже четвертого. Указанный факт имеет решающее значение для практики, где сложные для симплекс-метода прикладные задачи встречаются крайне редко.

Cледует также отметить, что для важных в практическом смысле прикладных задач линейного программирования разработаны специальные методы, учитывающие конкретный характер ограничений задачи. B частности, для однородной транспортной задачи применяются специальные алгоритмы выбора начального базиса, наиболее известными из которых являются метод северо-западного угла и приближенный метод Фогеля, а сама алгоритмическая реализация симплекс-метода приближена к специфике задачи. Для решения задачи линейного назначении (задачи выбора) вместо симплекс-метода обычно применяется либо венгерский алгоритм, основанный на интерпретации задачи в терминах теории графов как задачи поиска максимального по весу совершенного паросочетания в двудольном графе, либо метод Мака.

2 этап.

Решить матричную игру размера 3х3

f(x)=x1+x2+x3

3x2+2x3 <=1

2x1+x3 <=1

3x1 <=1

x1>= 0, x2>=0, x3>=0

> with(simplex):

> C:={ 0*x+3*y+2*z <=1, 2*x+0*y+1*z <=1, 3*x+0*y+0*z <=1};

Ш display(C,[x, y,z]);

> f :=x+y+z:

> feasible(C, NONNEGATIVE , 'NewC', 'Transform');

> S:=dual(f,C,p);

Ш R:=maximize(f,C ,NONNEGATIVE );

Ш f_max:=subs(R,f);

Ш R1:=minimize(S ,NONNEGATIVE);

> G:=p1+p2+p3;

> f_min:=subs(R1,G);

Найдём цену игры

> V:=1/f_max;

Найдём оптимальную стратегию первого игрока > X:=V*R1;

Найдём оптимальную стратегию второго игрока

> Y:=V*R;

ОТВЕТ: При X=(3/7, 3/7,1/7) V=9/7; При Y=(3/7,1/7,3/7) V=9/7;

3 этап.

Каждому ученику даётся один из 20 вариантов, в котором ученику предлагается самостоятельно решить матричную игру 2x2, а остальные примеры в качестве домашнего задания.

Заключение

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

В своей работе я представил основные факты «Теории игр», определения и основные методы решения матричных игр. Я попытался как можно легче и точно дать представление этого раздела математики и экономики.

Для написания свой курсовой работы я пользовался очень хорошей и интересной литературой, которую непременно порекомендую своим ученикам.

Для написания теоретического материала я воспользовался такими книга как «Основные теории игр. Бескоалиционные игры», автор Вороьев Н.Н; «Теория игр», авторы Петросян Л.А., Зенкевич Н.А., Семина Е.А; «Теория игр для экономистов», авторы Печерский С.Л. и Беляев А.А.

Для написания практического материала и интересные задачи я воспользовался несколькими задачниками практикумами по линейной и высшей алгебре, и книгой Матвеева В.А. «Конечные бескоалиционные игры и равновесия».

Апробация проводилась в Вольном институте среди студентов второго курса. Данный спец-курс был проведён Матвеевым Владимиром Александровичем для студентов вольного института на 3 курсе в группах юристов и экономистов, я был ассистентом. Курс был успешно усвоен, и студенты без особого труда освоили теорию Матричных игр и математический пакет Maple.

Страницы: 1, 2



Реклама
В соцсетях
рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать рефераты скачать