2 - utemov

advertisement
1
Практическое занятие № 3
Тема: Геометрическая интерпретация задач линейного программирования
Рассматриваемые вопросы:
 Знакомство с геометрической интерпретацией задач ЛП в стандартной
форме;
 Решение задач ЛП в стандартной форме при n=2 геометрическим
способом;
 Геометрическая интерпретация задач ЛП в канонической форме при
n - m=2 и её геометрическое решение.
1. Геометрическая интерпретация ЗЛП в стандартной форме
Область доступных решений ЗЛП в стандартной форме образуется
перечислением m множеств. Каждое из них определяется соответствующим
неравенством
ai1x1+…+ ainxn  bi ,
i= 1, m
(1)
и представляет собой полупространство, лежащее по одну сторону от
гиперплоскости
ai1x1+…+ ainxn = bi ,
i= 1, m
(2)
Пересечение указанных полупространств является многогранником, который и
будет областью допустимых решений задачи и обозначается как X.
Линии уровня минимизируемой функции
z = с1x1+…+cnxn = const
(3)
образуют семейство параллельных плоскостей. Вектор нормали к этим
плоскостям
c = {c1, c2, …, cn}T
определяет направления возрастания нулевой функции z, а противоположный
вектор –с определяет направление убывания функции z.
x1
x*
n
mi
=
)
X
x*
( c,
=
)
x
(c ,
-c
t
ns
o
c
x)=
(c,
x
ma
=
)
c
x*
(c,
x*
(c,
=
x)
x2
Рис1. Геометрическая интерпретация ЗЛП в стандартной форме
2
Выберем из семейства (3) любую плоскость, пересекающую многогранник
допустимых решений X, и будем смещать ее в направлении с, если решается
задача максимизации целевой функции z, и в направлении -с , если решается
задача минимизации. Будем смещать эту плоскость до такого предельного
положения, когда многогранник X окажется весь по одну сторону от неё и
хотя бы одна их точек X все еще будет принадлежать нашей плоскости. Эти
точки, или точка, лежащие на плоскости и будут решением задачи
минимизации целевой функции z, и x* решением, соответственно, задачи
максимизации функции z (рис. 1).
Заметим, что множество точек, удовлетворяющих неравенству (1), т.е.
множество допустимых решений X, может быть пустым, ограниченным и
неограниченным. В первом случае задача не имеет решения.
x2
x1*
Рис.2 Пример пустой области допустимых решений (X)
Во втором случае ЗЛП заведомо разрешима и имеет либо единственное
решение (рис.1), совпадающее с одной из вершин допустимого многогранника
X, либо бесконечное множество решений (рис.3) – ребро или грань
многогранника, параллельные плоскостям семейства (3).
Решения x*
x2
A
c
E
X
D
B
C
x1
Рис.3 Пример ЗЛП, имеющий бесконечное
многогранника допустимых решений ABCDE)
множество
решений
(ребро
АВ
Если допустимое множество решений ЗЛП неограниченно, ответ на
вопрос о существовании ее решения для задачи максимизации зависит от того,
ограничена сверху на этом множестве целевая функция z или нет. Если
ограничена, задача разрешима, причем возможны те же ситуации, что и во
втором из рассмотренных выше случаев. Если нет – решение отсутствует
(рис.4). Для задачи минимизации, в случае неограниченного множества
допустимых решений X, ответ на вопрос о существовании решения ЗЛП
3
x2
c
x1*
Рис.4 Пример ЗЛП, имеющей неограниченное множество допустимых решений.
зависит от того, ограничена снизу на множестве X целевая функция z или
нет. Возникающие ситуации те же что и у задач максимизации.
2. Геометрическое решение ЗЛП в стандартной форме.
Если задача линейного программирования в стандартной форме содержит
всего лишь две переменные x1 и x2 (т.е. n=2), то ее можно решить
следующим способом, основанным на ее геометрической интерпретации.
Каждое неравенство системы ограничений и условие неотрицательности
представляют собой полуплоскость. Пересечение полуплоскостей образует
выпуклое многоугольное множество (многогранник допустимых решений).
Целевая функция графически изображается множеством параллельных
прямых, называемых линиями уровня, каждой из которых соответствует
конкретное значение z.
Для решения задачи линия уровня сдвигается в пределах области
допустимых решений (многогранника допустимых решений) в направлении
 z
z 
 до самой крайней точки области
вектора-градиента grad z=f(x) =  ,

x

x
2 
 1
для задачи
максимизации , и
в направлении антиградиента

z
z
,
 x1 x 2
- grad z=  



для задачи минимизации. Координаты этой
точки и определяют решение ЗЛП (оптимальный план задачи).
Пример 1 Решить геометрическим способом ЗЛП:
Z = 6x1+2x2  max
4x1+5x2  61
(a)
-3x1+4x2  24
(б)
5x1-3x2  30
(в)
x1 0, x2 0
4
Решение
Построим область допустимых решений ЗЛП, представляющую собой
множество точек, удовлетворяющих ограничениям задачи. Область
допустимых решений – ограниченный многоугольник, выделенный внешней
x2
14
(б)
12
z max=
(a)
10
64
8
(в)
X
6
4
2
,2)
c=(6
2
4
6
8
10
12
14
16
18
x1
Z=0
Рис.5 Пример геометрического решения ЗЛП в стандартной форме при n=2.
штриховкой.
Вектор-градиент целевой функции grad z=c={6,2} определяет
направление ее возрастания. Из рисунка видно, что целевая функция z
принимает максимальное значение в точке пересечения прямых, задаваемых
неравенствами (а) и (б):
4x1+5x2 = 61
5x1-3x2 = 30
Решив эту системы уравнений, получим x1*=9, x2*=5. Максимальное
значение функции zmax=64.
Пример 2 Решить геометрическим способом ЗЛП:
Z = 8x1+10x2  max
x1+2x2  220
(a)
2x1+x2  260
(б)
4x1+5x2  640
(в)
x1 0, x2 0
5
Решение
Построим область допустимых решений задачи.
x2
260
(б)
128
110
M1
X
M2
M3
(a)
M4
Z=
0
130
160
220
x1
(в)
Рис.6 Пример геометрического решения ЗЛП.
Эта область предоставляет собой выпуклый многоугольник ОМ1М2М3М4.
Определим координаты вершин многоугольника, как точки пересечения
соответствующих прямых. Координаты вершины М1 из решения системы
x1+2x2=220
x1=0
Решив эту систему, получим М1={0;110}. Координаты вершины М2={60;80}
получим из системы
x1+2x2=220
4x1+5x2=640
Координаты вершины М3={110;40} получим из системы
2x1+x2=260
4x1+5x2=640
Координаты вершины М4={130;0} получим из системы
2x1+x2=260
x2=0
Из геометрической интерпретации ЗЛП видно, что, если задача имеет
решение, то оно достигается в одной из вершин многоугольника
допустимых решений. Поэтому для того, чтобы найти решение достаточно
перебрать все вершины многоугольника допустимых решений. Вычислим
значения целевой функции во всех вершинах этого многоугольника:
6
z0 = f(M0) = 0,
z1 = f(M1) = 1100,
z2 = f(M2) = 1280,
z3 = f(M3) = 1280,
z4 = f(M4) = 1040.
Отсюда видно, что целевая функция z достигает максимального значения в
двух вершинах М2 и М3 , т.е. в своем крайнем положении линия уровня
z = 8x1+10x2=const=1280 содержит вершины М2, М3 и, следовательно, все
ребро (М2 , М3). Таким образом, решений бесконечно много – все точки
ребра (М2 , М3). При этом максимальное значение целевой функции z равно
1280.
Пример 3 Решить геометрическим способом ЗЛП
z=x1+x2  max
x1+x2  -1 (a)
x1  0, x2  0
Решение
x2
-1
x1
Построим область допустимых
решений задачи. Из рис.7 видно,
что нет точек одновременно
удовлетворяющих
всем
ограничениям,
т.е.
область
допустимых
решений
пуста.
Таким образом задача не имеет
решения.
-1
(а)
Рис.7 Пример области допустимых решений ЗЛП.
Пример 3 Решить геометрическим способом ЗЛП
z=x1+x2  max
x1-x2  1
(a)
x1  0, x2  0
Решение
Построим область допустимых решений задачи. Из рис.8 видно, что эта
область неограниченная. Целевая функция z на этой области допустимых
решений не ограничена сверху, так при сдвиге вправо целевая функция
возрастает, а сдвигать вправо модно до бесконечности. Следовательно, не
7
0
Z=
существует точки, в которой функция z достигает максимума, т.е. задача не
имеет решения.
Неограниченность области допустимых
x2
решений
в
сочетании
с
неограниченностью целевой функции и
приводит к тому, что задача не имеет
X
решения. Неограниченность только
(a)
области допустимых решений не
является
препятствием
для
существования решения. Так задача
z=x1+x2  min
1
2
x1
x1-x2  1
x1  0, x2  0
Рис.8 Пример области допустимых решений ЗЛП
имеет ту
же область
2
Z=
1
Z=
допустимых решений, что и в примере 4 (рис.8). Однако целевая функция z
задачи минимизации на той же области уже является ограниченной снизу
(z0 для любых допустимых решений) и имеет минимум равный z=0 в точке
x1*=0, x2*=0.
3. Геометрическая интерпретация ЗЛП в канонической форме.
Геометрическую интерпретацию ЗЛП в канонической форме рассмотрим
в частном случае, когда число переменных n на два больше, чем число
независимых уравнений m, которым они должны удовлетворять: n-m=2.
Тогда две из n переменных, скажем x1 и x2, можно выбрать в качестве
свободных, а остальные m сделать базисными и выразить из через
свободные. Предположим, что это сделано. Получим m=n-2 уравнений вида:
x3 = 31x1 + 32x2 + 3
x4 = 41x1 + 42x2 + 4
(4)

xn = n1x1 + n2x2 + n
Дадим ЗЛП геометрическую интерпретацию. Переменные x1 , x2 ,…, xn
должны удовлетворять условию неотрицательности, т.е.:
x3 = 31x1 + 32x2 + 3  0
x4 = 41x1 + 42x2 + 4  0
(5)

xn = n1x1 + n2x2 + n  0
x1 0, x2 0
8
x
n -1 =
0
Построим область допустимых решений, удовлетворяющих указанным
выше условиям.
Без штриховки обозначена “допустимая
x2
сторона”,
где
соответствующая
0
x 3=
переменная больше нуля.
x
n =0
Если ОДР не пуста, то возникает
вопрос о нахождении из числа
x1 =0
ОДР
допустимых оптимального решения, т.е.
x4=0
такого, которое обращает, например, в
максимум целевую линейную функцию
z= c1x1 + c2x2+ …+ cnxn
(6)
x2=0
x1
Рис.9 Область допустимых решений (ОДР)
Чтобы решить поставленную задачу, выразим целевую функцию через
свободные переменные x1 и x2. Для этого подставим выражения для
переменных x3, x4, …, xn из (4) в целевую функцию (6) и после приведения
подобных членов получим
z = 0 + 1x1 + 2x2
(7)
где 0 – свободный член, которого в первоначальном виде y функции z не
было, но при переходе к переменным x1, x2 он мог появиться. Теперь,
используя геометрическую интерпретацию ОДР и целевую функцию (7),
выраженную через две переменные (x1, x2), мы можем геометрически найти
решение задачи (x1*, x2*). Зная значение свободных переменных x1*, x2*
можно найти, подставляя их в (4), и значения базисных переменных и
значение целевой функции.
Пример
Используя геометрическую интерпретацию
канонической форме:
z = -16x1 – x2 + x3 + 5x4 + 5x5  max
при ограничениях
2x1 + x2 + x3 = 110
-2x1 + 3x2 + x4 = 6
2x1 + 4x2 – x5 = 8
x1, x2, x3, x4, x5  0
решить
ЗЛП
в
Решение
Количество переменных n=5, а количество уравнений m=3, т.е. n-m=2.
Воспользуемся изложенным выше способом решения ЗЛП. Из ограничений
видно, что в качестве свободных переменных можно взять x1 и x2. Тогда
базисные переменные x3, x4, x5 выражаются через свободные следующим
образом:
9
x3 = 10 – 2x1 – x2
x4 = 6 + 2x1 – 3x2
x5 = 2x1 + 4x2 – 8
Учитывая условия неотрицательности переменных x1, …, x5, получим
систему неравенств, определяющую ОДР задачи
2x1 + x2  10
-2x1 + 3x2  6
2x1 + 4x2  8
x1  0, x2  0
Выразим целевую функцию через свободные переменные x1 и x2 :
z =-16x1-x2+x3+5x4+5x5=-16x1-x2+(10–2x1–x2)+5(6+ 2x1 – 3x2)+5(2x1 + 4x2 – 8)
Итак, мы получили следующую ЗЛП в стандартной форме:
z = 2x1 + x2  max
2x1 + x2  10
(а)
-2x1 + 3x2  6
(б)
2x1 + 4x2  8
(в)
x1  0, x2  0
Найдем решение этой задачи используя ее геометрическую интерпретацию:
x2
10
9
8
7
(б)
6
X*
5
4
Z=
18
3
(в)
2
(a)
1
Z=
0
1
2
3
4
5
6
7
8
9
10
x1
Рис.10 Геометрическое решение ЗЛП
Этим решением является x1*=3, x2*=4, доставляющие максимум целевой
функции z*=18. Подставляя значения x1*, x2* в выражения для базисных
переменных x3, x4, x5 найдем x3*= 0, x4*= 0 и x5*= 14. Итак, решением
исходной ЗЛП является x1=3, x2=4, x3=0, x4=0, x5=14 и при этом целевая
функция достигает своего максимума z=18.
10
Упражнения
Задачи решить геометрическим методом.
Download