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

Если задача линейного программирования имеет две переменные x1 и x2, то ее можно решить графически.

Решение задачи происходит в два этапа.

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

Этап 1. Построение допустимого множества.

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

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

Если правая часть не равна нулю, то в качестве пробной точки удобнее всего выбрать начало координат (0,0).

Алгоритм

Шаг 1: Выделение первого координатного угла.

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

Шаг 3: i-е неравенство записывается как уравнение

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

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

Шаг 6: Через точку Графический метод решения задачи линейного программирования - student2.ru и Графический метод решения задачи линейного программирования - student2.ru проводится прямая.

Шаг 7: В левую часть неравенства подставляется точка с координатами Графический метод решения задачи линейного программирования - student2.ru . Если неравенство выполнено, то выбирается полуплоскость содержащая начало координат, в противном случае противоположная полуплоскость.

Шаг 8: Если Графический метод решения задачи линейного программирования - student2.ru , то Графический метод решения задачи линейного программирования - student2.ru , переходим к шагу 3, иначе шаг 9.

Шаг 9: Допустимое множество получено. Если оно непустое ( Графический метод решения задачи линейного программирования - student2.ru ), то выписывается ответ: Задача несовместна, иначе переход к этапу 2.

Этап 2: Поиск оптимальной точки

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

Известно, что движение в направлении градиента увеличивает значение функции.

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

Алгоритм

Шаг 1: Строится вектор градиент Графический метод решения задачи линейного программирования - student2.ru .

Шаг 2: Кладется линейка перпендикулярно вектору – градиенту.

Шаг 3: Линейка сдвигается параллельно самой себе по направлению вектора градиента, пока хотя бы одна точка соответствующей прямой принадлежит допустимому множеству.

Шаг 4: Если при любом положении линейки перпендикулярно вектору градиенту имеются точки допустимого множества, то выписывается ответ: Задача неразрешима из-за неограниченности целевой функции переход к шагу 10. Иначе шаг 5.

Шаг 5: Находится последняя точка допустимого множества, лежащая на соответствующей линии уровня.

Шаг 6: Если эта точка неединственная, то выбирается точка, которая является пересечением двух прямых, ограничивающих допустимое множество.

Шаг 7: Выписывается система двух уравнений с двумя неизвестными.

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

Шаг 9: Находится оптимальное значение целевой функции Графический метод решения задачи линейного программирования - student2.ru .

Шаг 10. Конец.

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

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

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

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

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

Решение. Строим допустимое множество в соответствии с первым этапом алгоритма. В результате получаем ограниченную многогранную область.

Рис. 1.4.1

В таблице 1.4.1 заданы точки, по которым строятся прямые (1.4.1)-(1.4.3).

Таблица 1.4.1

  (1.4.1) (1.4.2) (1.4.3)
Графический метод решения задачи линейного программирования - student2.ru -9
Графический метод решения задачи линейного программирования - student2.ru -10

В качестве пробной кочки выбираем начало координат (0, 0).

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

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

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

На этапе 2 находим Графический метод решения задачи линейного программирования - student2.ru .

Сдвигаясь по линии уровня в направлении вектора-градиента, получаем оптимальную точку А, находим ее координаты. Так как она является точкой пересечения прямых (1.4.1) и (1.4.3), то решаем систему уравнений

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

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

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

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

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

Пример 1.4.2. Решить графически следующую задачу:

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

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

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

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

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

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

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

Рис. 1.4.2.

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

Пример 1.4.3. Решить задачу

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

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

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

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

Решение. Допустимое множество в данной задаче имеет вид

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

Рис. 1.4.3.

Из рисунка видно, что допустимое множество неограниченно, однако оптимальное решение существует, им является луч, выходящий из точки Графический метод решения задачи линейного программирования - student2.ru . Линии уровня целевой функции параллельны прямой Графический метод решения задачи линейного программирования - student2.ru , соответствующей пер­вому ограничению. Перемещая линии уровня в направлении вектора-градиента, получаем, что линия уровня с максимально возможным значением целевой функции совпадает с прямой Графический метод решения задачи линейного программирования - student2.ru . Таким обра­зом, целевая функция достигает своего максимального значения Графический метод решения задачи линейного программирования - student2.ru во всех точках луча, выходящего из точки Графический метод решения задачи линейного программирования - student2.ru . Задача имеет бесчис­ленное множество решений. Для того чтобы выписать решение в общем ви­де, возьмем на луче еще одну точку Графический метод решения задачи линейного программирования - student2.ru . Уравнение луча записывает­ся следующим образом: Графический метод решения задачи линейного программирования - student2.ru . Таким образом, любое решение данной задачи записывается в виде Графический метод решения задачи линейного программирования - student2.ru .

Пример 1.4.4. Решить графически задачу

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

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

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

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

Решение. Допустимое множество данной задачи пусто. Это видно из следующего рисунка.

Рис. 1.4.4.

Поэтому данная задача несовместна.

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