Линейное программирование. Графический метод решения

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

Общей задачей линейного программирования называют задачу

Линейное программирование. Графический метод решения - student2.ru (1)

при следующих ограничениях:

Линейное программирование. Графический метод решения - student2.ru ; (2)
Линейное программирование. Графический метод решения - student2.ru ; (3)
Линейное программирование. Графический метод решения - student2.ru ; (4)
Линейное программирование. Графический метод решения - student2.ru ; (5)
Линейное программирование. Графический метод решения - student2.ru , (6)

где Линейное программирование. Графический метод решения - student2.ru , Линейное программирование. Графический метод решения - student2.ru , Линейное программирование. Графический метод решения - student2.ru – заданные действительные числа.

Функцию (1) называют целевой, а условия (2)–(6) – ограничениями задачи.

Набор чисел Линейное программирование. Графический метод решения - student2.ru , удовлетворяющих ограничениям задачи линейного программирования (ЗЛП), называется ее планом. План Линейное программирование. Графический метод решения - student2.ru , при котором целевая функция достигает максимума (минимума), называется оптимальным.

Один из методов решения ЗЛП с двумя переменными – графический.

Алгоритм графического метода приведен в примере.

Пример 1. Решить графическим методом следующую задачу линейного программирования:

Линейное программирование. Графический метод решения - student2.ru

Линейное программирование. Графический метод решения - student2.ru

Решение

Задачу решаем в нижеуказанном порядке:

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

Решением линейного неравенства с двумя неизвестными 9x1 +
+ 4x2 Линейное программирование. Графический метод решения - student2.ru 18 является бесконечное множество пар значений этих неизвестных, удовлетворяющих данному неравенству. В системе координат x1Ox2 неравенство определяет полуплоскость с граничной прямой 9x1 + 4x2 = 18. Чтобы найти эту полуплоскость, нужно сначала построить граничную прямую со следующими значениями:

x1 x2
4,5

Затем необходимо взять какую-нибудь точку, не лежащую на данной прямой, например (0; 0). Если координаты этой точки удовлетворяют данному неравенству, то искомой будет полуплоскость, в которой находится взятая точка. В противном случае берется полуплоскость, которой взятая точка не принадлежит.

Итак, 9 × 0 + 4 × 0 < 18. Берем полуплоскость, в которой не лежит точка (0; 0) (рис. 1).

Линейное программирование. Графический метод решения - student2.ru

рис. 1

В системе координат х1Ох2 неравенство –2х1 + х2 £ 2 определяет полуплоскость с граничной прямой –2х1 + х2 = 2.

Строим прямую со следующими значениями:

x1 x2
–1

При подстановке точки с координатами (0; 0) неравенство –2 × 0 + 0 £ 2 является верным.

Следовательно, берем полуплоскость с точкой (0; 0).

Неравенство x1 £ 4 определяет полуплоскость граничной прямой x1 = 4.

Чтобы определить искомую полуплоскость, возьмем точку (0; 0) и подставим ее координаты в неравенство 0 £ 4, которое является верным.

Следовательно, берем полуплоскость с точкой (0; 0).

Точки, удовлетворяющие ограничениям х1 ³ 0 и х2 ³ 0, находятся в координатной четверти I.

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

Таким образом, областью допустимых решений будет многоугольник ABCD (рис. 2).

Линейное программирование. Графический метод решения - student2.ru Линейное программирование. Графический метод решения - student2.ru

рис. 2

2. Строим вектор Линейное программирование. Графический метод решения - student2.ru . Его координаты – коэффициенты целевой функции Линейное программирование. Графический метод решения - student2.ru (2; –3). Так как вектор Линейное программирование. Графический метод решения - student2.ru находим лишь для выяснения направления, то для большей наглядности можно построить вектор Линейное программирование. Графический метод решения - student2.ru .

3. Строим прямую z = 0, т. е. 2х1 – 3х2 = 0, которая проходит перпендикулярно вектору Линейное программирование. Графический метод решения - student2.ru , со следующими значениями:

х1 х2

Параллельным перемещением прямой z = 0 вдоль вектора Линейное программирование. Графический метод решения - student2.ru находим точку D, в которой функция z достигает наибольшего значения, и точку C, в которой функция z достигает наименьшего значения.

4. Координаты точки D находим по графику D (4; 0).

Координаты точки С можно найти, решив систему уравнений

Линейное программирование. Графический метод решения - student2.ru

Итак, С (4; 10).

5. Находим zmax и zmin:

zmax = z(4; 0) = 2 × 4 – 3 × 0 = 8,

zmin = z(4; 10) = 2 × 4 – 3 × 10 = –22.

Ответ: zmax(4; 0) = 8; zmin(4; 10) = –22.

В зависимости от характера области допустимых решений и взаимного расположения области и вектора Линейное программирование. Графический метод решения - student2.ru могут встретиться нижеуказанные случаи.

Так, на рис. 3 функция достигает минимума в точке A, а максимума – в любой точке отрезка DE; на рис. 4 максимум достигается в точке A, а минимума функция не имеет Линейное программирование. Графический метод решения - student2.ru ; на рис. 5 функция не имеет ни максимума Линейное программирование. Графический метод решения - student2.ru , ни минимума Линейное программирование. Графический метод решения - student2.ru .

Линейное программирование. Графический метод решения - student2.ru

Рис. 3

Линейное программирование. Графический метод решения - student2.ru

Рис. 4

Линейное программирование. Графический метод решения - student2.ru

Рис. 5

Вопросы для самоконтроля

1. Общая постановка задачи линейного программирования и формы ее записи. Особенности канонической формы записи этой задачи.

2. Определение невырожденного, вырожденного, опорного и оптимального планов.

3. Переход от задачи минимизации к задаче максимизации и наоборот.

4. Геометрическая интерпретация задачи линейного программирования.

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

6. Случаи, в которых выполняются следующие условия:

· оптимальный план единственный;

· оптимальных планов бесконечное множество;

· целевая функция не ограничена;

· задача не имеет решения;

· целевая функция достигает одновременно и максимального, и минимального значений.

Геометрическая интерпретация.

2. Симплексный метод в решении задач
линейного программирования

Среди универсальных методов решения задач линейного программирования наиболее распространен симплексный метод (метод последовательного улучшения плана).

2.1. Построение начального опорного плана

Рассмотрим три случая построения начального опорного плана.

Первый случай. Пусть ЗЛП представлена системой ограничений в каноническом виде

Линейное программирование. Графический метод решения - student2.ru

Говорят, что ограничение ЗЛП имеет предпочтительный вид, если при неотрицательности правой части (bi ³ 0) левая часть ограничения содержит переменную с коэффициентом, равным единице, а остальные ограничения – с коэффициентом, равным нулю.

Если каждоеограничение-равенство ЗЛП в каноническом виде содержит переменную, входящую в левую часть с коэффициентом, равным нулю (при неотрицательности правых частей), то говорят, что система ограничений представлена в предпочтительном виде. В этом случае начальный опорный план строится весьма просто (базисный с неотрицательными координатами). Предпочтительные переменные выбираются в качестве базисных, а все остальные – свободные. Свободные переменные приравниваются к нулю, а базисные переменные (БП) – к свободным членам.

Второй случай. Пусть система ограничений имеет вид

Линейное программирование. Графический метод решения - student2.ru .

Сведем задачу к каноническому виду. Для этого добавим к левым частям неравенств дополнительные переменные Линейное программирование. Графический метод решения - student2.ru . Получим систему, эквивалентную исходной:

Линейное программирование. Графический метод решения - student2.ru ,

которая имеет предпочтительный вид. Следовательно, начальный опорный план примет следующий вид:

Линейное программирование. Графический метод решения - student2.ru

В целевую функцию дополнительные переменные вводятся с коэффициентами, равными нулю: Линейное программирование. Графический метод решения - student2.ru .

Третий случай. Пусть система ограничений имеет вид

Линейное программирование. Графический метод решения - student2.ru .

Перейдем к каноническому виду путем введения дополнительных переменных Линейное программирование. Графический метод решения - student2.ru , которые вычитаем из левых частей неравенств системы. Получим систему

Линейное программирование. Графический метод решения - student2.ru .

Теперь система ограничений не имеет предпочтительного вида, так как дополнительные переменные xn+i входят в левую часть (при bi ³ 0) с коэффициентами, равными –1. В этом случае вводится так называемый искусственный базис путем перехода к М-задаче. Ее рассмотрим в пункте 2.9.

Симплексные таблицы

Приведя модель ЗЛП к предпочтительному виду, ее заносят в так называемую симплексную таблицу (табл. 1).

Таблица 1

БП сБ А0 x1 xj xn xn+1 xn+2 xn+i xn+m
c1 cj cn cn+1 cn+2 cn+i cn+m
xn+1 cn+1 bn+1 a11 a1j a1n
xn+2 cn+2 bn+2 a21 a2j a2n
xn+i cn+i bn+i ai1 aij ain
xn+m cn+m bn+m am1 amj amn
zj – cj D0 D1 Dj Dn

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

Применяются следующие обозначения:

· x1, …, xj, …, xn – свободные переменные;

· xn+1, xn+2, …, xn+i, …, xn+m – базисные (предпочтительные) переменные;

· c1, …, cj, …, cn – коэффициенты целевой функции при свободных переменных;

· сБ = (cn+1; cn+2; …; cn+i; …; cn+m) – вектор коэффициентов целевой функции при базисных переменных;

· A0 = (bn+1; bn+2; …; bn+i; …; bn+m)Т – вектор-столбец свободных членов системы ограничений;

· Aj = (a1j; a2j; …; aij; …; amj)T – вектор-столбец коэффициентов при переменных хj;

· D0 = cБ × А0 – значение целевой функции для начального опорного плана x0, т. е. D0 = z(x0);

· Dj = cБ × Аj – cj – оценки свободных переменных;

· Линейное программирование. Графический метод решения - student2.ru .

Последнюю строку (zj – cj) таблицы называют индексной строкой (строкой целевой функции или строкой оценок).

2.3. Признак оптимальности опорного плана

Теорема 1.Пусть исходная задача решается на максимум. Если для некоторого опорного плана все оценки Линейное программирование. Графический метод решения - student2.ru неотрицательны, то такой план оптимален.

Теорема 2. Если исходная задача решается на минимум и для некоторого опорного плана все оценки Линейное программирование. Графический метод решения - student2.ru неположительны, то такой план оптимален.

2.4. Переход к нехудшему опорному плану

Рассмотрим ЗЛП на максимум. Приведем ее к каноническому виду и занесем в симплексную таблицу.

Если все Dj ³ 0, то начальный опорный план x0 оптимален.

Если же существуют Dj < 0, то план неоптимален, при определенных условиях его можно улучшить.

С этой целью выбирают разрешающий элемент.

Выбор разрешающего столбца. Среди отрицательных оценок находят максимальную по абсолютной величине: Линейное программирование. Графический метод решения - student2.ru .

Вектор-столбец Линейное программирование. Графический метод решения - student2.ru , для которого Линейное программирование. Графический метод решения - student2.ru , называется разрешающим,а соответствующая переменная Линейное программирование. Графический метод решения - student2.ru – перспективной.

Замечание. Если задача решается на минимум, то разрешающий столбец выбирается из условия Линейное программирование. Графический метод решения - student2.ru .

Выбор разрешающей строки. Находят отношения Линейное программирование. Графический метод решения - student2.ru . Они называются симплексными.

Среди симплексных отношений определяют наименьшее, т. е.

Линейное программирование. Графический метод решения - student2.ru .

Если это условие выполняется при нескольких i, то в качестве i0 можно выбрать любое.

Оно и укажет строку, в которой содержится исключаемая из базиса переменная Линейное программирование. Графический метод решения - student2.ru Строка i0, соответствующая минимальному симплексному отношению, называется разрешающей.

Выбор разрешающего элемента. Элемент, стоящий на пересечении разрешающего столбца и разрешающей строки Линейное программирование. Графический метод решения - student2.ru будет разрешающим (или ключевым).

Переходим к новой таблице. Переменную Линейное программирование. Графический метод решения - student2.ru соответствующую разрешающему столбцу, следует ввести в базис вместо переменной Линейное программирование. Графический метод решения - student2.ru присутствующей в базисе, которая является неперспективной.

Замечание. Поскольку min z = –max (–z), задачу минимизации можно формально заменить задачей максимизации функции –z. Затем полученный максимум следует взять с противоположным знаком. Это и будет искомый минимум исходной ЗЛП.

2.5. Симплексные преобразования

Чтобы завершить шаг преобразований, ведущих к новому опорному плану, составляют таблицу по следующим правилам:

1. элементы строки i0 новой таблицы равны соответствующим элементам разрешающей строки старой таблицы, деленным на разрешающий элемент.

2. все элементы столбца j0 новой таблицы равны нулю, за исключением Линейное программирование. Графический метод решения - student2.ru .

3. чтобы получить все остальные элементы (включая элементы индексной строки) новой таблицы, нужно воспользоваться правилом прямоугольника (рис. 6).

Линейное программирование. Графический метод решения - student2.ru Линейное программирование. Графический метод решения - student2.ru

Рис. 6

Для этого в прежней таблице выделяют прямоугольник, вершинами которого служат нужные для вычисления элементы. Диагональ, содержащую разрешающий Линейное программирование. Графический метод решения - student2.ru и искомый (aij) элементы новой таблицы, называют главной, а другую – побочной. Чтобы получить элемент Линейное программирование. Графический метод решения - student2.ru новой симплексной таблицы, нужно из произведения угловых элементов главной диагонали вычесть произведение угловых элементов побочной диагонали и полученное число разделить на разрешающий элемент, выделенный рамкой:

Линейное программирование. Графический метод решения - student2.ru .

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

Контроль вычислений

Для контроля вычислений элементов индексной строки применяются формулы D0 = cБ × А0, Dj = сб × Аj – cj.

2.7. Альтернативный оптимум (признак бесконечности
множества оптимальных планов)

Теорема 3.Если в индексной строке последней симплексной таблицы, содержащей оптимальный план, имеется хотя бы одна нулевая оценка, соответствующая свободной переменной, то ЗЛП имеет бесконечное множество оптимальных планов.

Следствие. Если в индексной строке симплексной таблицы, содержащей оптимальный план, все оценки свободных переменных положительны, то найденный оптимальный план единственный.

Наши рекомендации