
- •Рецензенты:
- •Содержание
- •1. Программа курса Введение
- •Математические основы программирования
- •Общий вид задачи линейного программирования
- •Методы решения общей задачи линейного программирования
- •Двойственные задачи линейного программирования
- •Распределительные методы
- •Элементы нелинейного программирования
- •Элементы теории игр
- •Введение
- •Классификация задач математического программирования
- •2. Математическое программирование
- •2.1. Постановка задач линейного программирования
- •Алгоритм графического метода решения злп
- •2.3. Симплекс-метод решения задачи линейного программирования
- •Алгоритм симплекс-метода решения злп
- •Пример 2.3.1. Решить злп (2.2.1), (2.2.5) симплекс-методом.
- •Критерий оптимальности опорного плана:
- •Переход к следующей симплекс-таблице осуществляют по правилам:
- •2.4. Двойственная задача линейного программирования
- •2.5. Элементы теории матричных игр
- •Алгоритм принципа максимина (минимакса)
- •Решение. Эта матричная игра имеет размерность (3х4), т.Е. Игрок а имеет три стратегии, а игрок в – четыре. Запишем ее в нормальной форме.
- •Последовательность действий при решении игры
- •2.6. Транспортная задача. Метод потенциалов
- •Алгоритм метода потенциалов состоит из следующих этапов:
- •Критерий оптимальности плана перевозок
- •2.7. Задача о назначениях
- •Алгоритм метода Фогеля
- •Алгоритм венгерского метода решения задачи о назначениях
- •2.8. Дробно-линейное программирование
- •Правила решения задачи дробно-линейного программирования графическим методом
- •2.9. Целочисленное программирование
- •2.10. Параметрическое программирование
- •Алгоритм решения задачи параметрического программирования
- •3. Задания для самостоятельной работы
2.3. Симплекс-метод решения задачи линейного программирования
Графический метод решения ЗЛП целесообразно использовать только для задач с двумя переменными. В случае большего числа переменных используют универсальный метод решения ЗЛП – симплекс-метод.
В основе симплекс-метода лежит алгоритм симплексных преобразований системы линейных уравнений, дополненный правилом, которое обеспечивает переход к лучшему опорному плану.
Алгоритм симплекс-метода решения злп
-
Построение симплексной таблицы.
-
Определение начального опорного плана ЗЛП.
-
Проверка опорного плана на оптимальность с помощью оценок оптимальности. Если все оценки удовлетворяют условию оптимальности, то опорный план является оптимальным. Если хотя бы одна из оценок не удовлетворяет условию оптимальности, то переходят к новому опорному плану или устанавливают, что оптимального плана задача не имеет.
-
Переход к новому опорному плану задачи осуществляется путем определения генерального элемента и построением следующей симплексной таблицы.
-
Повторение действий, начиная с п.3.
Рассмотрим алгоритм симплекс-метода на примере.
Пример 2.3.1. Решить злп (2.2.1), (2.2.5) симплекс-методом.
Решение. Для решения ЗЛП необходимо, чтобы все свободные члены системы ограничений (2.2.1) были неотрицательными. Для этого первое неравенство системы умножим на (–1):
(2.3.1)
Замечание. Если нужно максимизировать целевую функцию, то удобнее перейти к нахождению минимума max z = – min(–z).
Перейдем к минимуму в нашей задаче:
min(–z) = – x1 – 4x2
Приведем задачу к канонической форме, вводя дополнительные переменные x3 , x4, x5 в систему ограничений (2.3.1).
Замечание. Если неравенство
имеет знак “”,
то дополнительную переменную вводят
со знаком “+”; если неравенство имеет
знак “
”,
то дополнительную переменную вводят
со знаком “– ”.
ЗЛП (2.3.1) в канонической форме имеет следующий вид:
min(–z) = – x1 – 4x2
Для получения единичной матрицы, составленной из векторов при базисных переменных, введем искусственные переменные в систему ограничений: если дополнительная переменная имеет знак минус, то в это уравнение вводят искусственную переменную со знаком плюс; если дополнительная переменная имеет знак плюс, то в это уравнение искусственную переменную вводить не нужно. Искусственные переменные одновременно вводятся в целевую функцию z с неизвестным положительным коэффициентом М.
(3.2.2)
min(–z) = – x1 – 4x2 + Мx6 + Мx7
В векторной форме система ограничений (3.2.2) имеет вид
р1x1 + р2x2 + р3x3 + р4x4 + р5x5 + р6x6 + р7x7 = р0,
где р1 =
,
р2 =
,
р3 =
,
р4 =
,
р5 =
,
р6 =
,
р7 =
,
р0 =
Переменные x1 и x2 являются основными, x3, x4, x5 – дополнительными, x6, x7 – искусственными. Векторы р6, р4, р7 образуют единичный базис, причем р6 – первый базисный вектор.
Заполним первую симплекс-таблицу. Исходная симплекс-таблица заполняется следующим образом. В первой строке записывают коэффициенты целевой функции. В столбец “Базис” записывают базисные векторы. В столбце “С” записывают коэффициенты целевой функции при базисных векторах. В столбцах “р0”, “р1”, “р2”, “р3”, “р4”, “р5”, “р6”, “р7” записывают компоненты соответствующих векторов.
Для заполнения клеток таблицы, которые находятся в двух последних строках нужно элементы столбца “С” умножить на соответствующие элементы рассчитываемого столбца и отнять число, стоящее в первой строке (за исключением столбца “р0”). Например, для заполнения клеток столбца “р2” умножим элементы столбца “С” на соответствующие элементы столбца “р2” и отнимем число – 4: М·5 + 0·1 + М·1 – (– 4) = 4 + 6М. В клетку на пересечении столбца “р2” и z-строки записывают 4, а в клетку на пересечении столбца “р2” и М-строки записывают 6.
Таблица 2.3.1
Первая симплексная таблица
Базис |
С |
р0 |
– 1 |
– 4 |
0 |
0 |
0 |
М |
М |
С.О. |
р1 |
р2 |
р3 |
р4 |
р5 |
Р6 |
р7 |
||||
р6 |
М |
5 |
1 |
5 |
–1 |
0 |
0 |
1 |
0 |
5/1 |
р4 |
0 |
6 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
6/1 |
р7 |
М |
7 |
7 |
1 |
0 |
0 |
–1 |
0 |
1 |
7/7 |
z-строка |
0 |
1 |
4 |
0 |
0 |
0 |
0 |
0 |
|
|
М-строка |
12 |
8 |
6 |
–1 |
0 |
–1 |
0 |
0 |
|
Последние две строки симплекс-таблицы называются индексными. В них, начиная со второго столбца “р1”, содержатся оценки оптимальности, с помощью которых проверяют оптимальность опорного плана, соответствующего данной таблице. Значение составляющих опорного плана расположено в столбце “р0”, причем небазисным переменным присваивают нулевые значения.
Первой симплекс-таблице 2.3.1 соответствует опорный план:
x1 = 0, x2 = 0, x3 = 0, х4 = 6, x5 = 0, x6 = 5, x7 = 7.
Критерий оптимальности проверяют по М-строке, а если она отсутствует, то по z-строке.