
- •И.Л. Корнилова, н.Н. Парамонова решение управленческих задач средствами параметрического линейного программирования
- •Введение
- •3.1.1 Графический способ решения
- •3.1.2 Симплекс-метод решения задачи
- •3.2 Задача параметрического линейного программирования с параметром в правых частях ограничений
- •3.2.1 Графический способ решения
- •3.2.2 Алгоритм двойственного симплекс-метода
- •3.2.3 Решение задачи симплекс-методом
- •3.3 Порядок выполнения работы
- •4 Оформление результатов работы
- •5 Контрольные вопросы
- •Литература
- •Приложение а (обязательное) Использование надстройки «Подбор параметра» в Microsoft Excel
- •Приложение б (обязательное) Примеры расчетов в Microsoft Excel
- •Содержание
- •Лабораторная работа. Решение управленческих задач средствами параметрического линейного программирования 4
- •Решение управленческих задач средствами параметрического линейного программирования
- •198013, Санкт-Петербург, Московский пр., 26
3.1.1 Графический способ решения
Рассмотрим вначале графический способ решения для задачи с двумя переменными:
(3)
Поскольку ограничения задачи никак не зависят от параметра, ОДП на графике изменяться не будет. Но в коэффициенты целевой функции входит параметр, следовательно, с изменением параметра будут изменяться координаты вектора градиента. Если в качестве начала вектора мы будет брать точку (0;0), то он будет как бы «вращаться» вокруг начала координат. При этом точка оптимума будет переходить из одной вершины области допустимых планов в другую. Решение задачи получают, рассмотрев все возможные точки оптимума при различных положениях градиента.
Например, решим следующую задачу:
mах (2L + 1)х1 + (5 - L)х2
-
х1
+ 2х2
6
9х1 + 4х2 56
3х1 + 5х2
4
L]-; +[
Для L=0 построим графическое решение задачи (рисунок 1)* [1, 3, 4, 8]. На этом графике рядом с каждой из трех прямых, которые соответствуют ограничениям, в кружке указан номер ограничения. Стрелки рядом с кружками показывают, какую полуплоскость определяет данное ограничение. Пересечение всех трех полуплоскостей – ОДП задачи – здесь треугольник ABC (на графике обведен). При этом вектор градиент будет иметь координаты (1;5) (на графике – стрелка из начала координат в точку (1;5)).
Рассмотрим, как пройдет градиент при L -. Для этого подставим в выражение для целевой функции некоторое очень большое по модулю отрицательное число. При этом координаты градиента будут пропорциональны числам -2 и 1, так как слагаемые, не содержащие параметр, будут бесконечно малы по сравнению с этим числом, и их можно не принимать во внимание. Чтобы показать на графике направление возрастания функции, проведем отрезок из начала координат в точку (-2;1). Рядом с ним поставим знак «-».
Аналогичные рассуждения проведем для L +. В этом случае направление градиента можно определить вектором с координатами (2;-1). Рядом с ним на графике стоит знак «+». Отметим, что направление градиента при L +. противоположно его направлению при L - (это всегда так).
П
ри
изменении L от -
до +
градиент обойдет полукруг. Так как мы
знаем, как пройдет градиент при L=0,
мы можем показать на графике направление
его движения при возрастании L
с помощью круговой стрелки. Если
изобразить такую стрелку от -
к +
через 0, становится видно, что градиент
в этой задаче «поворачивается» по
часовой стрелке.
Рисунок 1 – Графическая иллюстрация решения задачи
Н
а
графике (рисунок 2) видно, что при L
-
оптимальный план на максимум находится
в точке С (пунктирной линией показано
крайнее положение линии уровня целевой
функции). Это точка пересечения первого
и третьего ограничений, ее координаты
находятся совместным решением следующих
уравнений:
-
х1
+ 2х2 = 6 х1 = -2
3х1 + 5х2 = 4 х2 = 2
Итак, С = (-2;2)*. Значение оптимума определяется подстановкой этих координат в целевую функцию: (2L + 1)*(-2) + (5 -L)*2 = 8 – 6L.
Р
исунок
2 – Решение задачи при L
- ∞
Рассмотрим увеличение L. При каких значениях L точка C останется точкой оптимума? При некотором значении L градиент пройдет перпендикулярно первому ограничению (рисунок 3, пунктиром показаны различные линии уровня), и тогда решением задачи станет весь отрезок АС (крайнее положение линии уровня совпадет с прямой, которая соответствует первому ограничению).
Рисунок 3 – Решение задачи при L=-2,33
Как только L
станет больше этого значения, точка С
перестанет быть оптимальным планом, и
точка оптимума перейдет в точку А -
пересечение первого и второго ограничений.
Как найти это граничное значение L?
Если градиент перпендикулярен первому
ограничению, следовательно, линия уровня
целевой функции этому ограничению
параллельна. Две прямые параллельны
друг другу, если их коэффициенты
пропорциональны. Поскольку уравнения
этих прямых имеют вид соответственно
-х1 + 2х2 = 6 и (2L
+ 1)х1 + (5 - L)х2
= const, составим пропорцию
*,
отсюда L=-2,33. Следовательно,
найденный результат останется решением
задачи при изменении L от
- до
-2,33.
Координаты точки А находят из системы уравнений, соответствующих первому и второму ограничениям; А = (4;5). Чтобы найти оптимум, подставим эту точку в целевую функцию и получим 29 + 3L.
Точка А останется
точкой оптимума до тех пор, пока градиент
не пройдет перпендикулярно второму
ограничению. При таком положении
градиента оптимальными планами станут
все точки отрезка АВ. Соответствующее
значение L=2,41 находят
аналогично (из пропорции
).
При значениях L, больших
этого числа, точка оптимума будет
находиться в точке В, координаты которой
находят из системы уравнений,
соответствующих второму и третьему
ограничениям: В = (8;-4,), оптимум равен 20L
– 12.
Итак, решение задачи можно представить в виде таблицы 1.
Таблица 1 – Результат решения задачи
Промежуток изменения L |
Оптимальный план (Х*) |
Оптимум (z*) |
] -; -2,33] |
(-2; 2) |
8 – 6L |
[-2,33; 2,41] |
(4; 5) |
29 + 3L |
[2,41; +[ |
(8; -4) |
20L - 12 |
В построенной таблице можно найти ответ задачи для любого значения параметра. Например, пусть L=0,5. Так как 0,5 [-2,33; 2,41], следует воспользоваться второй строкой таблицы 1: Х* = (4; 5), z* = 29 + 3*0,5 = 30,5
Следует обратить внимание, что граничные значения L включаются в оба промежутка, так как при этих значениях решением задачи будет отрезок, и обе его вершины являются оптимальными планами. Значения целевой функции на этих планах равны, и при подстановке граничных значений L в соответствующие выражения для оптимума результаты должны совпадать, что легко проверить.
Например, возьмем L=2,41. Тогда ответ задачи содержится и во второй, и в третьей строке таблицы 1. Оба плана – и (4; 5), и (8; -4) – являются оптимальными. Более того, при таком значении параметра у задачи будет бесконечное множество оптимальных планов, и все они будут находиться на отрезке АВ*. Чтобы вычислить оптимум, можно воспользоваться любой из формул 29 + 3L либо 20L – 12. Результаты вычислений будут одинаковыми: 29 + 3*2,41 = 20*2,41 – 12 36,2 (незначительная разница объясняется погрешностью округлений).
Пользуясь средствами Excel, можно проверить на диаграмме, что линии уровня целевой функции, соответствующие оптимуму задачи при граничных значениях L, проходят по соответствующим границам ОДП.
Р
ешим
таким же образом задачу о кондитерской
фабрике из раздела 3.1. На графике (рисунок
4) ОДП задачи представляет собой
четырехугольник АВСО.
Рисунок 4 – Графическое решение задачи о кондитерской фабрике
Стрелками из начала координат показаны различные направления градиента. Направление градиента в начальный момент времени отмечено подписью «L=0». Сам градиент не изображен, так как в выбранном масштабе отрезок, соединяющий точку (0; 0) с точкой (108; 140), будет слишком мал, и графиком будет неудобно пользоваться. Но поскольку длина этого отрезка нас не интересует, а важно только направление, можно умножить оба коэффициента, например, на 4, и в качестве конца отрезка взять точку (432; 560). При L + координаты градиента пропорциональны числам 40 и 20 (на графике начало координат соединено с точкой (1000; 500), т.е. оба числа умножены на 25). Чтобы более наглядно представить направление «поворота» градиента при увеличении параметра, для L - укажем направление градиента, противоположное только что рассмотренному. Круговая стрелка показывает, что и в этой задаче градиент будет «двигаться» по часовой стрелке*.
В начальный момент времени (при L=0) точкой максимума будет точка В, которую можно найти совместным решением уравнений, соответствующих первому и третьему ограничениям: В = (266,7; 1173,3). Следовательно, в ближайшее время оптимальную выручку фабрики следует вычислять по формуле (108 + 40L)*266,7+ (140 + 20L)*1173,3 = 193065,6 + 34134L. Если при вычислениях в электронной таблице использовать координаты точки B, найденные с помощью «Подбора параметра» (не округляя), то формулу для оптимума можно записать более точно: 193066,7 + 34133,3L.
Со
временем найденный план перестанет
быть оптимальным. Найдем то значение
параметра, при котором у задачи будет
бесконечное множество оптимальных
планов – отрезок ВС. Для этого решим
пропорцию
.
В числителе этой формулы стоят коэффициенты
ограничения по сахару, а в знаменателе
– коэффициенты целевой функции (в самом
деле, градиент будет перпендикулярен
прямой, которая соответствует ограничению
по сахару, именно в такой момент времени
L). Отсюда L=14,5.
При L>14,5 оптимальным планом станет точка С, координаты которой находят из системы уравнений:
0 ,8х1 + 0,5х2=800
х2 = 0
Отсюда С = (1000; 0), z* = 108 000 + 40 000L.
Результат решения задачи можно представить в виде таблицы 2.
Таблица 2 – Результат решения задачи о кондитерской фабрике
Время, месяцы (L) |
Производство карамели |
Выручка, тыс. руб. (z*) |
|
«Снежинка», т (х1*) |
«Яблочная», т (х2*) |
||
[0; 14,5] |
266,7 |
1173,3 |
193066,7 + 34133,3L |
[14,5; +[ |
1000 |
0 |
108 000 + 40 000L |
Для проверки правильности вычислений можно подставить в обе формулы для оптимума значение и убедиться, что 193066,7 + 34133,3*14,5 = 108 000 + 40 000*14,5 688 000.
Итак, если существующая тенденция сохранится, то для получения наибольшей выручки фабрика должна каждый раз выпускать 266,7 т карамели «Снежинка», и 1173,3 т карамели «Яблочная» в течение 14 месяцев, причем ее выручка составит 193066,7 + 34133,3L тыс.руб. Например, если прошло три месяца, то максимальная выручка, которую можно получить, вычисляется по формуле 193066,7 + 34133,3*3 = 295466,7 (тыс. руб.). Если прошло более 14,5 месяцев, то фабрика должна полностью перейти на выпуск карамели «Снежинка» и выпускать 1000 т этой карамели в месяц («Яблочная» не производится совсем). При этом выручка составит 108 + 40L млн. руб. Например, по прошествии 15 месяцев она составит 108 + 40*15 = 708 (млн. руб.).