Наиболее простым и наглядным методом линейного программирования (ЛП) является графический метод. Он применяется для решения задач ЛП с двумя переменными. Рассмотрим задачу ЛП в стандартной форме:
max f (xl, х2,..., хn) = ∑cj∙xj,
∑aij∙xj ≤ bj, i = 1, 2,..., m,
xj ≥ 0, j = 1, 2,..., n.
Положим n = 2 и будем рассматривать задачу на плоскости. Пусть система неравенств совместна (имеет хотя бы одно решение). Каждое неравенство этой системы геометрически определяет полуплоскость с граничной прямой ail∙x1 + аi2∙x2 = bi, i = 1, 2,..., m. Условия неотрицательности определяют полуплоскости с граничными прямыми x1 = 0, x2 = 0 соответственно. Система совместна, поэтому полуплоскости, как выпуклые множества, пересекаясь, образуют общую часть, которая является выпуклым множеством и представляет собой совокупность точек, где координаты каждой точки являются решением данной системы. Совокупность этих точек называют многоугольником решений. Он может быть точкой, отрезком, лучом, ограниченным и неограниченным многоугольником.
|
|
Таким образом, геометрически ЗЛП представляет собой отыскание такой точки многоугольника решений, координаты которой доставляют линейной функции цели максимальное (минимальное) значение, причем допустимыми решениями являются все точки многоугольника решений.
Линейное уравнение описывает множество точек, лежащих на одной прямой. Линейное неравенство описывает некоторую область на плоскости. Определим, какую часть плоскости описывает неравенство 2х1 + 3x2 ≤ 12.
Во-первых, построим прямую 2х1 + 3x2 = 12. Она проходит через точки (6; 0) и (0; 4). Для того чтобы определить, какая полуплоскость удовлетворяет неравенству необходимо выбрать любую точку на графике, не принадлежащую прямой, и подставить ее координаты в неравенство. Если неравенство будет выполняться, то данная точка является допустимым решением, и полуплоскость, содержащая точку, удовлетворяет неравенству. Для подстановки в неравенство удобно использовать точку начала координат. Подставим x1 = x2 = 0 в неравенство 2х1 + 3x2 ≤ 12. Получим 2∙0+ 3∙0 ≤ 12. Данное утверждение является верным, следовательно, неравенству 2х1 + 3x2 ≤ 12 соответствует нижняя полуплоскость, содержащая точку (0; 0). Это отражено на графике, изображенном на рис. 1.
Аналогично графически можно изобразить все ограничения задачи ЛП.
Решением каждого неравенства системы ограничений ЗЛП является полуплоскость, содержащая граничную прямую и расположенная по одну сторону от нее. Пересечение полуплоскостей, каждая из которых определяется соответствующим неравенством системы, называется областью допустимых решений, или областью определения. Необходимо помнить, что область допустимых решений удовлетворяет условиям неотрицательности (xj ≥ 0, j = 1, 2,..., n). Координаты любой точки, принадлежащей области определения, являются допустимым решением задачи.
|
|
Рис. 1. Неравенству 2х1 + 3х2 ≤ 12 соответствует нижняя полуплоскость.
Для нахождения экстремального значения целевой функции при графическом решении задач ЛП используют вектор-градиент, координаты которого являются частными производными целевой функции, т.е. .
Этот вектор показывает направление наискорейшего изменения целевой функции. Прямая с1х1 + с2х2 = f (хо), перпендикулярная вектору-градиенту, является линией уровня целевой функции. В любой точке линии уровня целевая функция принимает одно и то же значение. Приравняем целевую функцию постоянной величине «a». Меняя значение «a», получим семейство параллельных прямых, каждая из которых является линией уровня целевой функции.
Важное свойство линии уровня линейной функции состоит в том, что при параллельном смещении линии в одну сторону уровень только возрастает, а при смещении в другую сторону – только убывает.
С геометрической точки зрения в задаче линейного программирования ищется такая угловая точка или набор точек из допустимого множества решений, на котором достигается самая верхняя (нижняя) линия уровня, расположенная дальше (ближе) остальных в направлении наискорейшего роста.
Графический метод решения ЗЛП состоит из следующих этапов.
1. Строится многоугольная область допустимых решений (ОДР) ЗЛП.
2. Строится вектор-градиент целевой функции (ЦФ) в какой-нибудь точке x0, принадлежащей ОДР: .
3. Линия уровня с1х1 + с2х2 = a (a - постоянная величина) прямая, перпендикулярная вектору-градиенту , - передвигается в направлении этого вектора в случае максимизации f (х1, x2) до тех пор, пока не покинет пределов ОДР. Предельная точка (или точки) области при этом движении и является точкой максимума f (x1, x2).
4. Для нахождения координат точки максимума достаточно решить два уравнения прямых, получаемых из соответствующих ограничений и дающих в пересечении точку максимума. Значение f (x1, x2), найденное в получаемой точке, является максимальным.
При минимизации (максимизации) функции f (x1, x2) линия уровня перемещается в направлении, противоположном вектору градиенту. Если прямая, соответствующая линии уровня, при своем движении не покидает ОДР, то минимум (максимум) функции f (x1, x2) не существует.
Если линия уровня параллельна какому-либо функциональному ограничению задачи, то оптимальное значение ЦФ будет достигаться в любой точке этого ограничения, лежащей между, двумя оптимальными угловыми точками, и, соответственно, любая из этих точек является оптимальным решением ЗЛП. Возможные ситуации графического решения задач ЛП представлены в табл. 2.
Таблица 2. Возможные ситуации графического решения задач ЛП
№ | Вид ОДР | Вид оптимального решения |
Ограниченная | Единственное решение | |
Бесконечное множество решений | ||
Неограниченная | ЦФ не ограничена снизу | |
ЦФ не ограничена сверху | ||
Единственное решение | ||
Бесконечное множество решений | ||
Отрезок | Единственное решение | |
Бесконечное множество решений |
Рассмотрим графическое решение задач линейного программирования на следующем примере.
Планирование выпуска продукции пошивочного предприятия (задача о костюмах).
Намечается выпуск двух видов костюмов - мужских и женских. На женский костюм требуется 1м шерсти, 2м лавсана и 1чел./день трудозатрат. На мужской костюм - 3,5м шерсти, 0,5м лавсана и 1чел./день трудозатрат. Всего имеется 350м шерсти, 240м лавсана и 150чел./дней трудозатрат. Требуется определить, сколько костюмов каждого вида необходимо сшить, чтобы обеспечить максимальную прибыль. Прибыль от реализации женского костюма составляет 10 денежных единиц, а от мужского - 20 денежных единиц. При этом следует иметь в виду, что необходимо сшить не менее 60 мужских костюмов.
|
|