ГРАФИКА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
Область допустимых планов. Оптимальный план и оптимум
Рассмотрим вопрос о решении задач линейного программирования. Подчеркнем, что на стадии решения задачи ее экономический смысл отступает на второй план. Можно даже вовсе не знать, из какой конкретной экономической ситуации возникла та или иная математическая модель. Решение задачи - это чисто математическая процедура. Однако, чтобы, получив результаты решения, воспользоваться ими, нужно, конечно, вернуться к экономическому содержанию задачи, сопоставить полученные результаты с конкретными экономическими условиями.
Рассмотрим сначала метод решения относительно простых задач, задач с двумя переменными. Как мы знаем, всякую задачу линейного программирования можно привести к стандартной форме. Рассмотрим задачу с двумя переменными следующего вида
Планы такой задачи - это пары чисел (x1, x2). Им соответствуют точки координатной плоскости (Рис. 2.1 ).
Рис. 2 .1. Ограниченная область допустимых планов
Область допустимых планов
Рассмотрим систему ограничений. Возьмем одно из неравенств системы,
Множество решений неравенства, то есть множество пар (x1, x2), компоненты которых удовлетворяют неравенству, геометрически представляет собой полуплоскость. Для того чтобы определить граничную прямую этой полуплоскости, следует заменить знак неравенства знаком равенства:
Множество решений полученного уравнения представляет собой искомую прямую. Таким образом, графическое изображение решения неравенства, то есть изображение полуплоскости, следует начать с изображения граничной прямой.
Для того, чтобы построить прямую, достаточно знать две ее точки. Построенная прямая разделит плоскость на две части, то есть определит две полуплоскости. Для того чтобы определить полуплоскость, соответствующую нашему неравенству, следует взять какую-нибудь точку в любой из полуплоскостей и проверить, удовлетворяют ли ее координаты нашему неравенству.
Если неравенство окажется выполненным, то вся полуплоскость, в которой лежит эта точка, является множеством решений неравенства. Если неравенство не выполнено, то множеством решений является противоположная полуплоскость. Отметим, что и в том, и в другом случае граничная прямая относится к множеству решений неравенства, так как неравенство нестрогое и включает в себя равенство.
Каждое из неравенств системы ограничений определит свою полуплоскость. Последние неравенства, требующие неотрицательности значений переменных, определяют правую и верхнюю полуплоскости, граничными прямыми которых являются координатные оси.
Множеством решений системы неравенств в целом является пересечение всех полуплоскостей, соответствующих отдельным неравенствам системы. Это пересечение и определяет множество допустимых планов. Это множество часто называют также областью допустимых планов (сокращенно ОДП). Оно представляет собой выпуклую многоугольную область.
В типичной, наиболее часто встречающейся ситуации, множество допустимых планов представляет собой ограниченную выпуклую многоугольную область — выпуклый многоугольник, расположенный в первой координатной четверти. Но возможны и другие варианты.
Оптимальный план и оптимум
Как найти оптимальный план? Обратимся к целевой функции. Приравняем ее какой-нибудь константе d
.
Мы получили уравнение, определяющее некоторую прямую на координатной плоскости. Все точки этой прямой соответствуют одному и тому же значению целевой функции, равному d, одному и тому же уровню значений. Такая прямая называется линией уровня целевой функции.
При изменении величины d мы получим другую линию уровня, параллельную предыдущей. При увеличении d линия будет смещаться параллельно в одну сторону, при уменьшении - в другую.
Придавая величине d разные конкретные числовые значения, можно понять, какое направление смещения линии уровня соответствует увеличению значения целевой функции, а какое - уменьшению.
Однако, существует более простой способ. А именно, изобразим в координатной плоскости вектор, начало которого находится в начале координат, а конец которого упирается в точку с координатами (c1, c2), где c1 и c2 - коэффициенты при переменных в целевой функции. Это градиент целевой функции. Этот вектор-градиент перпендикулярен всем линиям уровня целевой функции, а его направление указывает направление роста значений функции.
На Рис. 2.1 изображен градиент, направленный внутрь первого координатного угла. Это означает, что коэффициенты c1 и c2 положительны. Разумеется, это не во всех задачах так, в разных задачах знаки этих коэффициентов могут быть различными. Начало градиента всегда располагается в начале координат, но направлен он может быть в любую сторону.
Для того чтобы найти оптимальный план, нужно взять одну из линий уровня, пересекающих область допустимых планов. Затем следует параллельно смещать эту линию в направлении градиента до ее . Крайним называется положение линии уровня, удовлетворяющее двум условиям: во-первых, в этом положении линия уровня еще пересекает область допустимых планов, во-вторых, при любом ее дальнейшем смещении она перестает пересекать эту область.
Точки области допустимых планов, лежащие на одной линии уровня, соответствуют одному и тому же допустимому значению целевой функции. Смещение линии уровня в направлении градиента соответствует росту значений целевой функции. Крайнее положение линии уровня соответствует максимальному допустимому значению целевой функции, то есть оптимуму. Все точки, находящиеся в пересечении области допустимых планов и линии уровня в ее крайнем положении, являются искомыми оптимальными планами.
На Рис. 2.1 множество оптимальных планов состоит из одной единственной точки - вершины многоугольника, обозначенной посредством X*max .
Заметим сразу, что если бы требовалось решать задачу на минимум той же самой целевой функции, то смещать линию уровня следовало бы в направлении уменьшения ее значений, то есть в направлении, противоположном градиенту (или, как иногда говорят, в направлении антиградиента). Линия уровня в новом крайнем положении прошла бы через точку X*min (Рис. 2.1 ).
Если изменить знаки коэффициентов целевой функции c1 и c2 на противоположные, то градиент развернется на 180о, то есть совпадет с антиградиентом первоначальной целевой функции. Если отыскивать минимум этой новой целевой функции с измененными знаками, то следует смещать линию уровня в направлении антиградиента по отношению к новому градиенту, то есть в направлении прежнего градиента. Мы убеждается еще раз, что решение задачи на минимум для целевой функции с измененными знаками соответствует задаче на максимум исходной целевой функции.