 
        
        ЭМММ лаба 1
.pdfМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Государственное образовательное учреждение высшего профессионального образования «Кузбасский государственный технический университет»
Кафедра вычислительной техники и информационных технологий
ГРАФИЧЕСКОЕ РЕШЕНИЕ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
Методические указания и задания для практических занятий
и самостоятельной работы студентов экономических специальностей по дисциплинам «Исследование операций в экономике» и «Экономико-математические методы и модели»
Составители М. А. Тынкевич Г. Н. Речко Е. В. Буйная
Утверждены на заседании кафедры Протокол № 3 от29.09.2010 Рекомендованы к печати учебно-методической комиссией по специальности 080801 Протокол № 2 от 29.09.2010
Электронная копия находится в библиотеке ГУ КузГТУ
КЕМЕРОВО 2010
1
Как известно, общая задача линейного программирования состоит в поиске значений переменных, удовлетворяющих некоторым линейным ограничениям и обеспечивающих наибольшее (наименьшее) значение заданной линейной функции. Например, требование:
максимизировать
L(x1, x2, x3) = 2x1 + x2 + 4x3
при условиях
x1 +2x2 + 3x3 ≤ 12, x1 ≥ 0, x2 ≥ 0, x3 ≥ 0
означает пожелание не только отыскать значения неких величин x1, x2 и x3, удовлетворяющих вышеприведенным четырем условиям, но и среди них найти такие, что функция L(x1, x2, x3) принимает самое большое значение.
В роли неизвестных величин могут выступать, например, объемы выпуска продукции (обуви, приборов ночного видения или микроскопов), распределение денежных средств на ликвидацию ветхого жилья и строительство медицинских учреждений, тираж поэм М. Ю. Лермонтова и «заговоров от сглаза»; ограничения связаны с расходом материалов, наличием льгот на отдельные виды изданий, рыночной конъюнктурой или личными предпочтениями, а целевая функция L(Х) может определять прибыль от произведенной продукции или объем неосвоенных средств.
Количество неизвестных величин, фигурирующих в постановке задачи, называют ее размерностью. Набор их значений, удовлетворяющих условиям задачи, называют планом (примером может служить программа производства – набор значений показателей, удовлетворяющий ограничениям по сырьевым, социальным и прочим факторам).
Может обнаружиться, что задача неразрешима – не существует ни одного плана (ограничения противоречат друг другу). Может быть единственный план или много (множество) планов, среди которых надо найти наилучший (оптимальный), дающий максимум прибыли
2
(морального удовлетворения, степени очистки воды) или минимум затрат (жалоб населения, отходов при деревообработке и др.).
Размерность реальных задач, как правило, велика (от десятков до нескольких сотен). Здесь мы намерены на примере двумерных задач дать читателю наглядное, графическое представление о существе решаемых линейных программ (полагая, что всякий человек способен рисовать на плоском листе бумаги и воспринимать конструкции окружающего нас трехмерного пространства). Наличие такого представления может помочь и при обобщении выводов на задачи бóльшей размерности.
Естественно, что для решения задачи желательно сначала получить представление о множестве планов (допустимых решениях) и лишь затем из этого множества выбрать наилучший (с точки зрения поставленной цели).
Обратимся к знаниям, полученным еще в школьные годы. Из-
| вестно, что уравнение α X + β Y = γ на плоскости | (X,Y) изображает | ||
| прямую линию (2x + 3y = 7, | y = 0 или x – 2y = 0) | и для ее построе- | |
| ния достаточно | взять пару | подходящих точек. | Неравенства же | 
| α X + β Y ≤ γ или | α X + β Y ≥ γ определяют полуплоскости, ограни- | ||
ченные прямой α X + β Y = γ.
Поскольку система ограничений двумерной задачи линейного программирования определяет множество точек плоскости, лежащих или на прямых линиях, или в полуплоскостях, ограниченных такими линиями, то множество планов может быть представлено точкой, частью прямой линии, фигурой, напоминающей выпуклый многоугольник, но никак не эллипсом, полумесяцем или другим криволинейным
| объектом. | 
 | 
 | 
| Так, | если ограничения | задачи описываются условиями | 
| 2x + 3y ≤ 7, | y ≥ 0, x – 2y ≥ 0, | первоначально строим соответствую- | 
щие прямые линии (прямую 2x + 3y = 7 по точкам пересечения с координатными осями; прямая y = 0 совпадает с осью 0x; прямая x – 2y = 0 проходит через начало координат и, например, точку с ко-
 
| 
 | 
 | 
 | 
 | 3 | |
| ординатами x = 2, y = 1). | 
 | ||||
| 
 | |||||
| Выполнив столь «сложные» | 
 | ||||
| построения, выясняем, ка- | 
 | ||||
| кая же полуплоскость при- | 
 | ||||
| емлема | для соответствую- | 
 | |||
| щего неравенства, для чего | 
 | ||||
| достаточно | взять | любую | 
 | ||
| точку плоскости, не лежа- | 
 | ||||
| щую на прямой линии, и | 
 | ||||
| проверить | выполнение ог- | 
 | |||
| раничения. Например, для | 
 | ||||
| проверки первого | ограни- | 
 | |||
| Рис. 1 | |||||
| чения | (соответствующая | ||||
| 
 | |||||
| прямая | не | проходит через начало координат) можно взять точку | |||
| (x = 0, | y = 0) и убедиться, что 2 0 + 3 0 < 7. Следовательно, эта точка | ||||
со всеми ее «соседями» до прямой линии (полуплоскость, её содержащая) соответствует неравенству 2x + 3y ≤ 7. На рис. 1 приемлемые полуплоскости выделены стрелками и общая их часть (множество точек, удовлетворяющих всем трем условиям; множество планов) пред-
| Рис. 2 | Рис. 3 | 
 
4
ставлена выделенным здесь треугольником.
Возьмем систему ограничений вида -2 ≤ x + 2y ≤ 2, x + y ≥ 0. Построив соответствующие три прямых и выяснив подходящие полуплоскости, обнаруживаем, что множество планов – неограниченный многоугольник (треугольник, одну из вершин которого «отправили в бесконечность»), приведенный на рис. 2.
Если взять систему ограничений вида x + 2y ≥ 3, 2x + y ≤ 2, x − y ≥ 0, то легко убедиться (рис. 3), что ни одной точки, которая удовлетворяла бы всем трем условиям, найти не удастся – ограничения противоречивы (множество планов пусто).
Возьмем систему ограничений, в которой наряду с неравенствами присутствуют равенства, например, 2≤ x + y ≤ 3, x − y = 0. Эта система требует, чтобы приемлемые решения (точки, планы) принадлежали полуплоскостям x + y ≥ 2, x + y ≤ 3 и лежали на прямой линии x − y = 0. Соответственно, здесь множество планов определяется отрезком АВ (координаты точек А и В можно найти из решения
| 
 | систем | { x + y = 2, x − | ||||
| 
 | ||||||
| 
 | y = 0} и {x + y = 3, x − y | |||||
| 
 | = 0} | (рис. 4). | 
 | 
 | 
 | |
| 
 | 
 | Какие | же | выводы | ||
| 
 | можно сделать из приве- | |||||
| 
 | денных примеров? | 
 | 
 | |||
| 
 | 
 | Множество | планов | |||
| 
 | двумерной | задачи | линей- | |||
| 
 | ного | программирования | ||||
| 
 | представляет | собой | вы- | |||
| 
 | пуклый | многоугольник | ||||
| 
 | (ограниченный | или | неог- | |||
| Рис. 4 | ||||||
| 
 | раниченный), отрезок пря- | |||||
мой линии (ограниченный или неограниченный), точку или отсутствовать по причине противоречивости ограничений (никаких криволинейных или невыпуклых фигур).
 
5
Теперь, вспомнив о нашей цели, зададимся вопросом: какой же из найденного множества планов является оптимальным (обеспечивает наибольшее (наименьшее) значение нашей целевой функции)?
Нарисуем схематично не только множество планов в плоскости (x, y), но и целевую функцию z = L(x, y), изображаемую плоскостью трехмерного пространства, где значение z характеризует удаление этой плоскости от плоскости (x, y). Очевидно, что наибольшее и наименьшее удаление от множества планов имеет место в некоторых его вершинах,
но никак не в его внутренних точках (рис. 5).
Если подобное изображение не убеждает вас в этом (или вы забыли, что уравнение плоскости в трехмерном пространстве можно представить линейным уравнением α x + β y + γz = c), привлечем на помощь понятие о градиенте функции − векторе, составленном из ее частных производных, который показывает направление наибольшего возрастания функции в окрестности точки. Для нелинейных функ-
ций градиент меняется от точки к точке. Так, если f(x, y) = x2 + xy, то grad f(x) = {2x + y, x} в различных точках меняет свою ориентацию. В случае же линейной функции, составляющие ее градиента совпадают с ее коэффициентами, например grad{L(x, y) = 2x + 5y} = {2, 5}, и градиент остается неизменным во всех точках (в частности, во всех точках множества планов).
На рис. 6 мы изобразили множество планов задачи (многоугольник ABCDE) и показали стрелками направление градиента. Выбирая любую внутреннюю точку множества планов, мы видим, что в ее окрестности можно найти другую точку (смещением по градиенту в прямом или обратном направлении) c бóльшим (меньшим) значением
 
6
| Рис. 6 | Рис. 7 | 
L(x ,y). Очевидно, что в данном случае максимум достигается в точке D, а минимум − в точке Е. Разумеется, если градиент перпендикулярен некоторой грани множества (отрезку прямой), то экстремум достигается во всех точках этого отрезка (в частности, и на его концах).
Напрашивается вывод, что при поиске точек экстремума (максимума или минимума) линейной функции (оптимальных планов)
достаточно рассматривать лишь вершины множества планов, но не внутренние его точки. Более того, в двумерном случае при достаточно аккуратных построениях с соблюдением масштаба можно не перебирать все вершины (количество их конечно, но может быть сравнительно большим), а сразу видеть экстремальную.
Обратите внимание на рис. 7, где множество планов является неограниченным. Построив градиент целевой функции, легко видеть, что максимум достигается в вершине L, тогда как по минимуму функция не ограничена (минимум L(x, y) → −∞). Этот пример сви-
детельствует, что в случае неограниченного множества планов может обнаружиться неограниченность L(x, y) по максимуму, мини-
муму или по обоим критериям.
Итак, графическое решение двухмерной линейной программы может привести к следующим исходам:
♦обнаруживается оптимальный план (может быть, и не один);
♦обнаруживается отсутствие оптимального плана (ограниче-
ния задачи противоречивы или целевая функция не ограничена за
 
7
счет неограниченности множества планов).
Если у вас остались какие-то сомнения, обратитесь к приведенным ниже примерам (здесь мы вместо принятых в школьной математике обозначений х и у используем символику х1 и х2; надеемся, что эта замена не приведет вас в смущение).
Пример 1. Решим задачу максимизации
L(x) = 2x1 + 3x2
| при ограничениях | –x1 | + 2x2 | ≤ 6 | (1) | 
| 
 | 9x1 + 4x2 ≤ 56 | (2) | ||
| 
 | 3x1 | + 5x2 | ≥ 4 | (3) | 
| 
 | x1 | ≥ 0 | ≥ 0 | (4) | 
| 
 | 
 | x2 | (5) | |
Решение. Находим множество допустимых решений (планов) задачи, т.е. множество точек (x1, x2), удовлетворяющих заданной системе ограничений (1)−(5), для чего строим полуплоскости, соответствующие ограничениям задачи, и определяем их общую область.
Берем первое из условий и строим прямую линию –x1 + 2x2 = 6. Для этого находим любые две ее точки, например, точки пересечения с координатными осями: при x1 = 0 x2 = 3 и при x2 = 0 x1 = –6, то
| есть точки (0, 3) и (–6, 0). | Чтобы выделить соответствующую полу- | 
| 
 | плоскость относительно построен- | 
| 
 | ной прямой, подставляем коорди- | 
| 
 | наты какой-либо другой точки (на- | 
| 
 | пример, начало координат) в ле- | 
| 
 | вую часть неравенства (1). Так при | 
| 
 | подстановке значений x1 = 0 и x2 | 
| 
 | = 0 видим, что проверяемое усло- | 
| 
 | вие выполняется (0 ≤ 6). Следова- | 
| 
 | тельно, область допустимых реше- | 
| 
 | ний рассматриваемого неравенства | 
| Рис. 8 | –x1 + 2x2 ≤ 6 – та полуплоскость, | 
| которая включает начало коорди- | 
8
нат. Отображение второго ограничения абсолютно идентично.
Что касается полуплоскости третьего ограничения, то она располагается по отношению к граничной прямой по другую сторону, нежели начало координат.
Четвертое и пятое ограничения (x1 ≥ 0, x2 ≥ 0) соответствуют полуплоскостям, лежащим справа от оси ординат и над осью абсцисс
(первому квадранту плоскости).
В итоге получаем общую область для всех пяти полуплоскостей (множество планов) – выпуклый пятиугольник (рис. 8).
Теперь воспользуемся градиентом функции L(x) = 2x1 + 3x2. Здесь grad L(x) = (2, 3). Строим этот вектор на рисунке в отсчете от начала координат (или от любой точки плоскости, или от любой точки множества планов). Если точка экстремума не очевидна, возьмите «нить», перпендикулярную градиенту, и перемещайте над множеством планов в направлении градиента функции.
Обратите внимание на то, что во всех точках «нити» значение целевой функции одинаково (подобные «линии уровня» вы видите, например, на физических картах мира при изображении гор и глубин).
Нетрудно видеть, что точка последнего касания «нити» с множеством планов будет искомой точкой максимума функции L(x) (точка первого касания – точкой минимума). В нашем примере точкой максимума функции L(x) является точка С. Остается найти её координаты.
Поскольку она получается пересечением первой и второй прямых, то достаточно решить систему двух уравнений с двумя неизвестными
–x1 + 2x2 = 6 9x1 + 4x2 = 56.
Человек, знакомый с определителями и правилом Крамера, решает ее в виде:
 
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 9 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 
 | 
 | 
 | 
 | 6 | 2 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | −1 | 6 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||||||
| x = | 
 | 
 | 
 | 56 | 4 | 
 | = 6 4−2 56 = | −88 | = 4; x | 2 | = | 
 | 
 | 9 | 56 | 
 | 
 | = | −1 56 −6 9 | 
 | = | 
 | −110 | = 5 | . | ||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | ||||||||||||||||||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | −1 4−2 9 | −22 | ||||||||||||||||||
| 
 | 
 | 
 | − | 
 | 
 | 
 | − | 
 | 
 | 
 | −1 2 | 
 | 
 | 
 | |||||||||||||||||||
| 1 | 
 | 
 | 
 | 1 | 2 | 
 | − | − | 2 | 
 | 9 | 22 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||
| 
 | 
 | 
 | 
 | 
 | 1 4 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||
| 
 | 
 | 
 | 9 | 4 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 9 | 4 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||
| 
 | Если читатель не считается с затратами труда, он может решать | ||||||||||||||||||||||||||||||||
| методом подстановок или любым другим приемом. | 
 | 
 | 
 | 
 | 
 | ||||||||||||||||||||||||||||
| 
 | Итог труда: максимум целевой функции достигается в точке (4, | ||||||||||||||||||||||||||||||||
| 5) и равен | 
 | 
 | 2x1 + 3x2 = | 2 4 + 3 5 = | 23. | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||||||||
| 
 | Пример 2. Найдем экстремальные значения функции | 
 | 
 | 
 | 
 | 
 | |||||||||||||||||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | L(x) = 3x1 – x2 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||
| при ограничениях | 
 | 
 | 
 | 
 | 
 | 2x1 – 3x2 ≥ –6 | 
 | 
 | 
 | (1) | |||||||||||||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | x1 – 2x2 | ≤ 4 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | (2) | |||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 3x1 + 4x2 | ≥ 5 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | (3) | |||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | x1 | ≥ 0 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | (4) | ||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | Решение. Присутствующие | |||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | здесь | ограничения в | 
 | принципе | |||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ничем не отличаются от ограни- | ||||||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | чений предыдущего примера, но | ||||||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | в итоге | построения | получается | ||||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | множество планов в виде выпук- | ||||||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | лого | неограниченного | 
 | много- | |||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | угольника (рис. 9). Если постро- | ||||||||||||||||
| Рис. 9 | ить grad L(x) = (3, –1) и перпен- | |
| дикулярные ему «нити» (линии | ||
| 
 | 
уровня), легко видеть, что по максимуму L(x) не ограничена (L(Х)→ +∞), а минимум достигается в точке (0, 2) и равен L(0, 2) =– 2.
| Пример 3. Найдем экстремальные значения функции | 
 | ||
| 
 | L(x) = x1 – x2 | 
 | 
 | 
| при ограничениях | –x1 + 2x2 | ≤ 5 | (1) | 
| 
 | x1 + x2 | = 0 | (2) | 
| 
 | x2 | ≥ 0 | (3) | 
Решение. Строим область допустимых решений задачи (рис. 10). Поскольку второе ограничение представляет собой уравнение прямой
