
- •Методы принятия оптимальных управленческих решений в экономике
- •Оглавление введение 6
- •1. Линейное программирование 9
- •2. Элементы теории игр 106
- •3. Контрольные задания 153
- •Заключение 198 Библиографический список 200 введение
- •1. Линейное программирование
- •1.1. Постановка задачи линейного программирования (злп)
- •Общая постановка задачи линейного программирования
- •Основная задача линейного программирования
- •Каноническая задача линейного программирования
- •1.2. Построение математических моделей экономических задач
- •Задачи планирования производства (задачи использования ресурсов)
- •Задачи о составлении рациона (или задачи о диете, о смесях)
- •Задачи о раскрое материалов (о минимизации отходов)
- •Задачи на использование мощностей оборудования
- •1.3. Графический метод решения злп
- •1.4. Решение злп симплексным методом
- •Опорное решение злп
- •Симплексный метод решения злп
- •Алгоритм симплекс-метода
- •Замечание об альтернативном плане
- •1.5. Метод искусственного базиса (метод больших штрафов)
- •1.6. Решение злп с помощью ms excel
- •1.7. Двойственность в линейном программировании Виды двойственных задач. Построение двойственных задач
- •Несимметричные двойственные задачи (стандартные формы)
- •Особенности составления несимметричных двойственных задач
- •Смешанные двойственные задачи
- •Теоремы двойственности. Нахождение двойственных оценок
- •Примеры составления двойственной задачи и нахождения двойственных оценок
- •Сформулируем экономико-математическую модель задачи.
- •Решим исходную задачу в ms Excel.
- •Отчет по результатам
- •Найдем оптимальный план двойственной задачи, используя теоремы двойственности.
- •Отчет по устойчивости
- •Выполним анализ на чувствительность полученного оптимального решения исходной задачи.
- •Найдем интервалы устойчивости для коэффициентов целевой функции и свободных членов системы ограничений.
- •Ответим на следующие вопросы, не прибегая к перерешиванию задачи:
- •1.8 Двойственный симплекс-метод
- •Алгоритм двойственного симплекс-метода
- •1.9 Транспортная задача линейного программирования
- •Методы составления первоначальных опорных планов
- •Проверка опорного плана на оптимальность. Метод потенциалов.
- •Переход к новому плану перевозок
- •2. Элементы теории игр
- •2.1. Основные понятия и классификация в теории игр
- •2.2. Решение матричных игр в чистых стратегиях Запись матричной игры в виде платёжной матрицы
- •Понятие о нижней и верхней цене игры. Решение игры в чистых стратегиях.
- •Уменьшение порядка платёжной матрицы
- •Пример решения матричной игры в чистых стратегиях
- •2.3. Смешанные стратегии в матричных играх Понятие о матричных играх со смешанным расширением
- •Решение игр размерности 2x2
- •Решение игр размерности 2 X n и m X 2
- •2.4. Решение матричных игр со смешанным расширением методами линейного программирования
- •2.5. Принятие решений в условиях неопределенности. Статистические игры. Понятие о статистических играх (играх с «природой»)
- •Критерии принятия решения
- •Пример решения статистической игры
- •Выручка от реализации капусты, тыс. Д.Е.
- •Определение экономического эффекта информации с использованием методов теории игр Основные факторы, определяющие величину эффекта прогноза состояний окружающей среды и значений выигрыша лпр
- •Задачи для самостоятельного решения.
- •3. Контрольные задания
- •Задача 1
- •Составьте математическую модель задачи и найдите
- •Решение, используя ms Excel.
- •Задача 2 Постройте математическую модель задачи и решите её симплексным методом.
- •Задача 3
- •Задача 5
- •Задача 6 Решите транспортную задачу.
- •Задача 7 Решите игру, предварительно проверив её на наличие седловой точки и по возможности максимально уменьшив размерность матрицы игры.
- •Задача 8 Запишите игровую модель задачи и найдите её решение в смешанных стратегиях.
- •Задача 9 Решите статистическую игру.
- •Задача 10 Решите задачу определения величины экономического эффекта информации.
- •Задание для курсовой работы на тему «Использование методов линейного программирования при выборе оптимального решения в розничной торговле»
- •Контрольные вопросы
- •Заключение
- •Библиографический список
1.8 Двойственный симплекс-метод
Ранее было рассмотрено (п. 1.3), как с помощью симплекс-метода можно получить решение задачи линейного программирования, предварительно приведя её к канонической форме (задача 1.18).
Двойственный
симплекс-метод можно применять при
решении задачи линейного программирования,
свободные члены системы уравнений
которой не обязаны быть неотрицательными
(как в задаче
1.18), (
),
т.е.
могут быть любыми числами.
, (1)
Применив к системе (1) метод Жордана – Гаусса, можно привести её к виду:
(2)
где
- базисные переменные, а
- свободные переменные и
- любого знака. Выразив базисные переменные
через свободные, получим общее решение
системы ограничений (2):
.
Однако это решение не является планом задачи (1), т.к. среди его компонент имеются отрицательные числа.
Определение 1.
Решение системы линейных уравнений (2) называется псевдопланом задачи (1), если
для
любого j
(j=l,n).
Теорема 1.9 (признак отсутствия оптимального плана)
Если
в псевдоплане
есть хотя бы одно отрицательное число
bi<0
такое, что все
≥
0 (
),
то задача (1) вообще не имеет планов.
Теорема 1.10
Если
в псевдоплане
имеются
отрицательные числа bi<0,
такие, что для любого из них существуют
числа
<0,
то можно перейти к новому псевдоплану,
при котором значение целевой функции
задачи (1) не уменьшится.
Сформулированные теоремы дают основание для построения алгоритма двойственного симплекс-метода.
Алгоритм двойственного симплекс-метода
Получение первоначального опорного плана задачи. Для этого систему ограничений исходной задачи требуется привести к системе неравенств смысла «≤». Для этого обе части неравенства смысла «≥» необходимо умножить на (-1). Затем от системы неравенств смысла «≤» перейти к системе уравнений, вводя неотрицательные дополнительные переменные, которые являются базисными переменными. Первый опорный план заносят в симплексную таблицу.
Проверка опорного плана на оптимальность. Если в полученном опорном плане не выполняется условие оптимальности (
), то следует решать задачу симплексным методом. При этом в столбце bi / aik отношения считают только в случае одноименных знаков bi и aik . В противном случае значения bi / aik не определяют.
Если в опорном плане условия оптимальности удовлетворяются и все значения базисных переменных – положительные числа, то получен оптимальный план. Наличие отрицательных значений в столбце bi свидетельствует о получении псевдоплана.
Если среди bi нет отрицательных, то получен оптимальный план задачи. В противном случае устанавливается неразрешимость задачи по теореме 1.9, либо осуществляется переход к новому псевдоплану.
Выбирают разрешающую строку с помощью определения наибольшего по абсолютной величине отрицательного числа столбца свободных членов.
Симплексную таблицу дополняют строкой , в которую заносят взятые по абсолютной величине результаты деления симплексных разностей на отрицательные коэффициенты разрешающей строки. Минимальные значения определяют разрешающий столбец и переменную, вводимую в базис. На пересечении разрешающей строки и разрешающего столбца находится разрешающий элемент.
Находят новый псевдоплан методом Жордана - Гаусса и повторяют все действия начиная с этапа 3.
Рассмотрим работу двойственного симплекс-метода на примере.
Пример 13. Известно, что содержание трех питательных веществ A, B и C в рационе должно быть не менее 60, 50 и 12 единиц соответственно. Указанные питательные вещества содержат три вида продуктов. Содержание единиц питательных веществ в одном килограмме каждого из видов продукта приведено в таблице 1.10.
Определить дневной рацион, обеспечивающий получение необходимого количества питательных веществ при минимальных денежных затратах.
Таблица 1.10
Питательные вещества |
Количество единиц питательных веществ в 1 кг продукта вида |
||
I |
II |
III |
|
A |
1 |
3 |
4 |
B |
2 |
4 |
2 |
C |
1 |
4 |
3 |
Цена 1 кг продукта |
9 |
12 |
10 |
Составим
экономико-математическую модель задачи.
Обозначим x1,
x2, x3
– объемы продуктов (кг) в рационе.
Необходимо определить вектор
обеспечивающий минимум целевой функции
:
и удовлетворяющий следующим условиям:
Решение.
Запишем исходную задачу линейного
программирования в форме основной
задачи: найти максимум функции
при условиях
Приведем систему ограничений к системе неравенств смысла «≤», умножив обе части неравенства на (-1).
Составим для последней задачи двойственную. Такой является задача, в результате решения которой требуется найти минимальное значение функции
Решим исходную задачу. Перейдем к системе уравнений, вводя дополнительные переменные:
Пусть
- базисные переменные,
а
-
свободные переменные. Полагая
,
получим первый опорный план
Занесем данный план в первую симплекс
таблицу 1.11.
План двойственной задачи можно найти по симплекс-таблице по следующей формуле:
где j – номер базисной переменной начального опорного решения.
Из
этой таблицы видим, что планом двойственной
задачи является
.
Таблица 1.11
i
|
Базис
|
С баз
|
-9 |
-12 |
-10 |
0 |
0 |
0 |
bi |
|
|
|
|
|
|
||||
1 |
|
0 |
-1 |
-3 |
-4 |
1 |
0 |
0 |
-60 |
2 |
|
0 |
-2 |
-4 |
-2 |
0 |
1 |
0 |
-50 |
3 |
|
0 |
-1 |
-4 |
-3 |
0 |
0 |
1 |
-12 |
4 |
|
9 |
12 |
10 |
0 |
0 |
0 |
0 |
|
5 |
j |
9 |
4 |
2,5 |
- |
- |
- |
|
Так
как среди оценок
нет
отрицательных, а bi<0
для i=1,2,3,
то план
в
симплексной таблице является псевдопланом.
В
соответствии с алгоритмом двойственного
симплекс-метода переходим к новой
симплекс-таблице. (В данном случае это
можно сделать,
так как в строках, соответствующих
отрицательным правым частям
имеются отрицательные
числа. Если бы они отсутствовали хотя
бы в одной из строк, то задача была бы
неразрешима.)
Вектор, исключаемый из базиса, определяется
наибольшим по
абсолютной величине отрицательным
числом, стоящим в столбце вектора
свободных членов. В данном случае это
число -60, т.к.
.
Следовательно, 1-я строка симплексной
таблицы является разрешающей, а переменную
следует вывести из базиса. Для определения
разрешающего столбца дополним симплексную
таблицу строкой
, в которую внесем величины j
=
,
где
<0
для свободных переменных: 1
=
=9,
2 =
=4,
3
=
=2,5.
По min j
=
,
где
<0
определяют переменную, которую необходимо
ввести в базис на следующем шаге.
Минимальное значение j
равно 2,5 и соответствует переменной
x3. Таким
образом, переменную x3
следует ввести в базис, а третий столбец
будет разрешающим. На пересечении
разрешающей строки и разрешающего
столбца находится разрешающий элемент,
равный -4.
Далее выполняем преобразования методом Жордана - Гаусса и заполняем симплексную таблицу 1.12.
Таблица 1.12
i
|
Базис
|
С баз
|
-9 |
-12 |
-10 |
0 |
0 |
0 |
bi |
|
|
|
|
|
|
||||
1 |
|
-10 |
0,25 |
0,75 |
1 |
-0,25 |
0 |
0 |
15 |
2 |
|
0 |
-1,5 |
-2,5 |
0 |
-0,5 |
1 |
0 |
-20 |
3 |
|
0 |
-0,25 |
-1,75 |
0 |
-0,75 |
0 |
1 |
33 |
4 |
|
6,5 |
4,5 |
0 |
2,5 |
0 |
0 |
-150 |
|
5 |
j |
13/3 |
1,8 |
- |
5 |
- |
- |
|
Получаем
план
,
который также является псевдопланом.
Из этой
таблицы видим, что планом двойственной
задачи является
.
От
плана
по вышеизложенному алгоритму переходим
к плану
,
представленному в таблице 1.13.
Таблица 1.13
i
|
Базис
|
С баз
|
-9 |
-12 |
-10 |
0 |
0 |
0 |
bi |
|
|
|
|
|
|
||||
1 |
|
-10 |
-0,7 |
0 |
1 |
-0,4 |
0,3 |
0 |
9 |
2 |
|
-12 |
0,6 |
1 |
0 |
0,2 |
-0,4 |
0 |
8 |
3 |
|
0 |
0,8 |
0 |
0 |
-0,4 |
-0,7 |
1 |
47 |
4 |
|
3,8 |
0 |
0 |
1,6 |
1,8 |
0 |
-186 |
Последний
опорный план
является
оптимальным, так как все симплекс-разности
неотрицательны и все значения базисных
переменных положительны.
Таким
образом
.
Оптимальным
планом
двойственной задачи является
.
Учитывая,
что исходная задача состояла в отыскании
минимального значения целевой функции,
сделаем переход
и запишем ответ задачи.
Ответ:
.
Пример 14. Найти максимальное значение функции
при
условиях
Решение.
Запишем исходную задачу линейного
программирования в форме основной
задачи: найти максимум функции
при
условиях
Умножим второе и третье уравнения системы ограничений последней задачи на -1, и переходим к следующей задаче: найти максимум функции
при условиях
Составим для последней задачи двойственную. Такой является задача, в результате решения которой требуется найти минимальное значение функции
(3)
Выбрав
в качестве базисных векторов, вектора
при переменных
,
составим симплексную
таблицу (табл. 1.10) для исходной задачи
(1).
Таблица 1.10
I
|
Базис
|
С баз
|
1 |
1 |
2 |
0 |
0 |
bi |
|
|
|
|
|
||||
1 |
|
2 |
1 |
1 |
1 |
0 |
0 |
8 |
2 |
|
0 |
-1 |
1 |
0 |
1 |
0 |
-4 |
3 |
|
0 |
-1 |
-2 |
0 |
0 |
1 |
-6 |
4 |
|
1 |
1 |
0 |
0 |
0 |
16 |
|
5 |
j |
1 |
1/2 |
- |
- |
- |
|
Из этой таблицы видим, что планом двойственной задачи (3) является У= (2; 0; 0;). При этом плане Z = 16.
Так как в столбце вектора свободных членов табл. 1.10 имеются два отрицательных числа (-4 и -6), а в 4-й строке отрицательных чисел нет, то в соответствии с алгоритмом двойственного симплекс-метода переходим к новой симплекс-таблице. (В данном случае это можно сделать, так как в строках, соответствующих отрицательным правым частям имеются отрицательные числа. Если бы они отсутствовали в одной из строк, то задача была бы неразрешима.) Вектор, исключаемый из базиса, определяется наибольшим по абсолютной величине отрицательным числом, стоящим в столбце вектора свободных членов. В данном случае это число -6. Следовательно, из базиса исключаем переменную . Чтобы определить, какую переменную необходимо ввести в базис, находим
min
j
=
,
где
<0.
В данном случае в базис вводим переменную . Переходим к новой симплекс-таблице (табл. 1.11).
Таблица 1.11
i
|
Базис
|
С баз
|
1 |
1 |
2 |
0 |
0 |
bi |
|
|
|
|
|
||||
1 |
|
2 |
1/2 |
0 |
1 |
0 |
1/2 |
5 |
2 |
|
0 |
-3/2 |
0 |
0 |
1 |
1/2 |
-7 |
3 |
|
1 |
1/2 |
1 |
0 |
0 |
-1/2 |
3 |
4 |
|
1/2 |
0 |
0 |
0 |
1/2 |
13 |
|
5 |
j |
1/3 |
- |
- |
- |
- |
|
Из этой таблицы видно, что получен новый план двойственной задачи У= (2; 0; 1/2). При этом плане значение ее линейной формы равно Z = 13. Таким образом, с помощью алгоритма двойственного симплекс-метода произведен упорядоченный переход от одного плана двойственной задачи к другому.
Так как в столбце вектора свободных членов табл. 1.11 стоит отрицательное число -7, то рассмотрим элементы 2-й строки. Среди этих чисел есть одно отрицательное -3/2. Если бы такое число отсутствовало, то исходная задача была бы неразрешима. Таким образом, в базис вводится новая переменная x1 вместо x4. В данном случае переходим к новой симплекс-таблице (табл. 1.12)
Таблица 1.12
i
|
Базис
|
С баз
|
1 |
1 |
2 |
0 |
0 |
bi |
|
|
|
|
|
||||
1 |
|
2 |
0 |
0 |
1 |
1/3 |
2/3 |
8/3 |
2 |
|
1 |
1 |
0 |
0 |
-2/3 |
-1/3 |
14/3 |
3 |
|
1 |
0 |
1 |
0 |
1/3 |
-1/3 |
2/3 |
4 |
|
0 |
0 |
0 |
1/3 |
2/3 |
32/3 |
Как видно из табл. 1.12, найдены оптимальные планы исходной и двойственной задач. Ими являются Х*= (14/3; 2/3; 8/3) и У*= (2; 1/3; 2/3). При этих планах значения линейных целевых функций исходной и двойственной задач равны: Fmax = Zmin = 32/3.
Пример
15. Найти максимальное
значение функции
при условиях
Решение. Умножая первое и третье уравнения системы ограничений задачи на -1, в результате приходим к задаче нахождения максимального значения функции при условиях
Взяв в качестве базисных переменных , составляем симплекс-таблицу (табл. 1.13).
Таблица 1.13
i
|
Базис
|
С баз
|
2 |
3 |
0 |
5 |
0 |
bi |
|
|
|
|
|
||||
1 |
|
0 |
2 |
-1 |
1 |
0 |
0 |
-12 |
2 |
|
5 |
1 |
2 |
0 |
1 |
0 |
10 |
3 |
|
0 |
-3 |
2 |
0 |
0 |
1 |
-18 |
4 |
|
30 |
7 |
0 |
0 |
0 |
50 |
|
5 |
j |
- |
7 |
- |
- |
- |
|
В 4-й строке табл. 1.13 нет отрицательных чисел. Следовательно, если бы в столбце вектора свободных членов не было отрицательных чисел, то в табл. 1.13 был бы записан оптимальный план. Поскольку в указанном столбце отрицательные числа имеются и такие же числа содержатся в соответствующих строках, переходим к новой симплекс-таблице (табл. 1.14). Для этого исключим из базиса переменную и введем в базис переменную . В результате получим псевдоплан X =(6; 0; -24; 4; 0).
Таблица 1.14
i
|
Базис
|
С баз
|
2 |
3 |
0 |
5 |
0 |
bi |
|
|
|
|
|
||||
1 |
|
0 |
0 |
1/3 |
1 |
0 |
2/3 |
-24 |
2 |
|
5 |
0 |
8/3 |
0 |
1 |
1/3 |
4 |
3 |
|
2 |
1 |
-2/3 |
0 |
0 |
-1/3 |
6 |
4 |
|
0 |
9 |
0 |
0 |
1 |
32 |
Так как в строке, соответствующей -24, нет отрицательных чисел, то исходная задача не имеет решения.