
- •Линейное программирование
- •Часть I
- •1. Общая задача линейного программирования
- •1.1. Задачи математического и линейного программирования
- •1.2. Математические модели простейших экономических задач
- •2. Каноническая форма
- •2.1. Определение и формы записи
- •2.2. Приведение общей задачи линейного
- •3. Графический метод решения задач
- •3.1. Общие понятия, примеры
- •4. Свойства решений задач линейного
- •4.1. Отрезок в . Понятие выпуклого множества. Гиперплоскость и полупространство, их выпуклость
- •4.3. Теорема о достижении линейной функцией
- •4.4. Опорное решение задачи линейного программирования,
- •5. Симплексный метод решения задач
- •5.1. Нахождение начального опорного плана и переход к новому опорному решению
- •5.2. Метод искусственного базиса
- •Литература
4.4. Опорное решение задачи линейного программирования,
его взаимосвязь с угловыми точками.
Рассмотрим каноническую задачу ЛП в векторной записи (см.(2.1.2)):
,
,
(4.4.1)
.
Определение
4.4.1.Опорным решением задачи ЛПназывается такое допустимое решение,
для которого соответствующие положительным
координатам
векторы
,
,…,
в (4.4.1) линейно независимы.
Число
отличных от нуля координат опорного
решения не может быть больше ранга
системы векторов условия (т.е. числа
линейно независимых уравнений системы
ограничений). В дальнейшем будем считать,
что система ограничений состоит из
линейно независимых уравнений, т.е.
.
Если число отличных от нуля координат
опорного решения равно
,
то оно (решение) называется невырожденным,
в противном случае (меньше
вырожденным.
Определение 4.4.2.Базисом опорного решения называется базис системы векторов условия задачи (4.4.1), в состав которого входят векторы, соответствующие отличным от нуля координатам опорного решения.
Приведём без доказательства две теоремы о взаимосвязи опорных решений и угловых точек множества допустимых решений.
Теорема 4.4.1.Любое опорное решение является угловой точкой области допустимых решений.
Теорема 4.4.2.Любая угловая точка области допустимых решений является опорным решением.
Доказательства теорем 4.4.1 и 4.4.2 проводятся методом от противного (см. [3], с.537-539).
5. Симплексный метод решения задач
линейного программирования
Симплексный метод – это метод целенаправленного перебора опорных решений задачи ЛП. Он позволяет за конечное число шагов либо найти оптимальное решение, либо установить, что его не существует. Основное содержание метода состоит в следующем:
1. Указать способ нахождения начального опорного плана.
2. Указать способ перехода от одного опорного плана к другому, на котором значение целевой функции ближе к оптимальному.
3. Задать критерии, которые позволяют своевременно прекратить проверку решений на оптимальность или сделать заключение об отсутствии оптимального решения.
5.1. Нахождение начального опорного плана и переход к новому опорному решению
Предположим,
что необходимо найти минимум целевой
функции
при следующей системе ограничений:
(5.1.1)
Запишем систему (5.1.1) в векторной форме:
(5.1.2)
,
,…,
,
,...,
.
Векторы
,
,..,
образуют базис в
.
Поэтому в соотношении (5.1.2) за базисные
переменные принимаем
,
,…,
,
а остальные переменные
(будем
называть их свободными) приравниваем
нулю. Учитывая, что
,
получаем, что опорное решение задачи
(5.1.1) имеет вид
Рассмотрим, как, исходя из начального опорного решения, можно построить другое опорное решение, которое будет более близким к оптимальному, т.е. на котором значение целевой функции будет меньше. Систему ограничений (5.1.1) перепишем в виде:
(5.1.3)
Выражая
значения
,
,…,
через свободные неизвестные, целевую
функцию
получим в виде:
.
(5.1.4)
Итак,
первоначальный опорный план
,
а соответствующее значение
.
Возможны следующие ситуации:
1)
все
,
,
…,
.
Тогда минимум
достигается при
,
т.е. план
является оптимальным и
;
2)
среди чисел
,
,
…,
имеются положительные. Пусть
,
где
одно из чисел
,
,..;,
.
Тогда полагаем все
,
,
…,
равными нулю, кроме
.
Из (5.1.3) следует, что
(5.1.5)
и
.
Здесь, в свою очередь, могут представиться два случая:
а)
все числа
,
,
…,
,
тогда для любого
все значения
,
,…,
.
В этом случае
не достигается, так как при
функция
;
б)
среди чисел
,
,
…,
имеются положительные. Пусть, например,
.
Так как все компоненты плана должны
быть положительны, то
нельзя увеличивать более, чем
( иначе
станет отрицательным ).
Поэтому
найдём
называется разрешающим элементом.
Положим
,…,
,
,
,…,
.
Найдём значения остальных неизвестных:
Получено
новое опорное решение:
.
Значение целевой функции при этом уменьшается:
.
Идея
симплекс-метода заключается в том, что
на каждом этапе один из векторов
выводится из базиса, а вместо него
вводится другой –
.
При этом удобно, чтобы он стал бы
единичным. Поэтому в системе ограничений
-е
уравнение, содержащее разрешающий
элемент
,
делим на
.
Исключаем
из всех остальных уравнений, т.е.
осуществляем преобразование Жордана-Гаусса.
Итак, алгоритм симплекс-метода состоит в следующем:
1.
Приводим систему к виду, содержащему
единичных векторов, и определяем
первоначальный опорный план.
2.
Выражаем
через свободные переменные в виде:
.
Если
при этом все коэффициенты
,
,..,
не являются положительными, то найденный
первоначальный план являетсяоптимальным.
3.
Пусть среди чисел
,
,..,
имеются положительные. Берём любой из
них, например,
,
и просматриваем весь соответствующий
столбец
.
Он называется разрешающим столбцом.
Если все числа этого столбца отрицательны,
то
Задача решения не имеет.
4.
Если в этом столбце есть положительные
числа, то находим разрешающий
элемент – это элемент, для которого
отношениеминимально. Пусть это элемент
.
5.
Выводим переменную
из числа свободных и меняем её с базисной
переменной
.
6.
Эту процедуру выполняем до тех пор, пока
все коэффициенты
при свободных неизвестных станут
неположительными, (это признак
оптимальности
плана) либо неположительными станут
все элементы в разрешающем столбце (
т.е.
).
Замечание. На практике этот алгоритм реализуется с помощью симплекс-таблиц (см. пример 5.1.).
Пример 5.1. Строительное управление ведёт капитальный ремонт жилых домов. Перегородки внутри этих домов могут быть изготовлены гипсобетонными или каркасными ( с обшивкой листами сухой штукатурки ). Ресурсы на месяц заданы в таблице:
Потребности
на
площади перегородок
Гипсобетон Пиломатериалы Сухая штукатурка Трудоресурсы |
Каркасные |
Гипсобетонные |
―
|
―
|
Рассчитать
общее количество
как каркасных, так и гипсобетонных
перегородок, которые следует возвести
в текущем месяце, чтобы их площадь была
наибольшей, если строительное управление
имеет в наличии гипсобетона –
,
пиломатериалов –
,
сухой штукатурки –
,
трудоресурсов –
.
Решение.
Составим математическую модель задачи.
Пусть требуется возвести
каркасных и
гипсобетонных перегородок. Из условия
на это уйдёт: гипсобетона
,
пиломатериалов
,
сухой штукатурки
,
трудоресурсов
.
Учитывая лимиты материалов и трудоресурсов,
составляем систему ограничений –
неравенств:
Для
решения задачи симплекс-методом вводим
дополнительные переменные:
Полагаем
.
Принимаем
,
в качестве свободных переменных,
,
,
,
в
качестве базисных. Начальный опорный
план имеет вид:
,
.
Составляем симплекс-таблицу (в сокращённой
форме), соответствующую начальному
опорному плану. Обратим внимание, что
коэффициенты при свободных переменных
пишутся с противоположным знаком.
|
Выбираем
какой-либо положительный элемент в
последней строке симплекс-таблицы (
среди коэффициентов при
|
столбца:
,
,
.
Элемент ведущего столбца, для которого отношение минимально ( в нашем случае 0,25) объявляем ведущим. Строка, в которой находится элемент, также называется ведущей и помечается стрелкой слева.
Теперь запишем правила перехода к новой симплекс-таблице, соответствующие приведённому выше алгоритму симплекс-метода:
1. Базисная переменная, находящаяся в ведущей строке, и свободная переменная, находящаяся в ведущем столбце, меняются местами.
2. Ведущий элемент заменяется величиной, ему обратной.
3. Все элементы ведущей строки (включая свободный член), кроме ведущего элемента, заменяются их отношениями к ведущему элементу.
4. Все элементы ведущего столбца (кроме ведущего элемента) заменяются взятыми с обратными знаками их отношениями к ведущему элементу.
5. Остальные элементы заменяются по «правилу 4 элементов»: любой такой элемент умножается на ведущий и из произведения вычитается произведение двух других элементов, составляющих с первыми вершины прямоугольника, после чего результат делится на ведущий элемент.
Проводя вычисление по этим правилам, получаем следующую симплекс-таблицу:
|
Значение
-1200 ещё не является минимальным для
функции
|
Аналогично составляем следующую симплекс-таблицу:
|
И
значение -2200 не является минимальным
для
| ||||||||||||||||||||||||
|
Пересчитывая
последнюю строку, сразу убеждаемся,
что значение -2400 является минимальным
для функции |
,
.
Замечание. При построении симплекс-таблиц можно рассуждать иначе. Пусть решаем ЗЛП в виде
,
В этом случае общая схема симплекс-методапретерпевает некоторые изменения. А именно:
1) Пусть дан базис некоторого опорного решения и соответствующая ему симплекс-таблица.В верхней строке этой таблицы (заголовки столбцов) располагаются свободные переменные, в крайнем левом столбце – базисные переменные; крайний правый столбец – это столбец свободных членов, а самая нижняя строка является строкой целевой функции и называется вектором относительных оценок. Остальное содержимое таблицы - столбцы матрицы ограничений, отвечающие соответствующим столбцам свободных переменных. Координаты вектора относительных оценок (1,2,…n) находят по правилу: для нахождения коэффициентаkвектор из коэффициентов при базисных переменных в целевой функции скалярно умножить на k-й столбец симплекс-таблицы и вычесть из найденного числа коэффициент целевой функции при соответствующем свободном переменномxk.
2) Если все относительные оценки (нижняя строка этой таблицы) неотрицательны, то построено оптимальное опорное решение.
3) Если существует отрицательная оценка и соответствующий ей столбец (разрешающий) состоит из неположительных элементов, то имеет место неразрешимость целевой функции Z(X), то естьmaxZ(X)+.
4) Иначе, выбрать ведущий элемент (задаёт ведущую строку) и сделать с ним шаг жордановых исключений, перейдя к новой симплекс-таблице, которую проанализировать как в пункте 2).