Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Численные методы решения задач оптимизации. Учебное пособие

.pdf
Скачиваний:
4
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
3.3. Графический метод решения ЗЛП
()
j
x
x
g
Рассмотрим ЗЛП с двумя переменными
max
axax b
  
11 1 12 2 1
axax b
 
21 1 22 2 2
 
axax b
  
11 22
nn m
11 2 2
,
,
.
,xxD :
12
(11)
,cx cx
0,
x
j
.
K
Ограничения, заданные в виде равенств и неравенств, определяют в
плоскости
равенство типа
1)
неравенство
2)
3) неравенство 0, 1, 2
неравенств
Ox следующие геометрические формы:
12
ax ax b – некоторую прямую;
12ii i
12
ax ax b – полуплоскость;
12ii i
12
i – полуплоскость, а совокупность
  
xx
1
2
i
0,
– первый квадрант на координатной плоскости.
0
Таким образом, ЗЛП (11) представляет собой задачу нахождения
максимума линейной формы, когда переменные x
, x2 принадлежат
1
пересечению m полуплоскостей или отрезков прямых.
Следовательно, в этом случае допустимая область является выпук лым многоугольником, вершины которого находятся в точках пересе чения прямых
ax ax b. Если вершина получается в результате
12ii i
12
пересечения трех и более прямых, то она называется вырожденной.
Для решения задачи (11) геометрическим методом (рис. 3) в случае
2
х переменных необходимо:
задать такую константу, чтобы линия уровня
1)
11 2 2
constcx cx
пересекала допустимую область;
построить векторградиент
2)
3)
перемещать линию уровня – перпендикулярную градиенту –
вдоль градиента до пересечения этой линии с крайней точкой допусти мого многоугольника; эта точка и будет решением задачи;
4)
точные координаты крайней точки вычислять как точки пере
сечения соответствующих прямых.
Примечание. Крайних точек может быть несколько или даже бесконечное множество (отрезок прямой). В этом случае любая из них является решением задачи.
rad ,fcc ;

12
31
Рис. 3. Нахождение точки максимума целевой функции:
а – решение единственно; б – бесконечное множество решений;
в – целевая функция не ограничена сверху на множестве допустимых
значений; г – система ограничений несовместна
Пример 5
Предприятие располагает тремя видами сырья и может выпускать одну и ту же продукцию двумя способами. За 1 час работы первым спо собом выпускается 20 единиц продукции, вторым – 30 единиц. Сырье при работе по первому способу расходуется в следующем количестве: первого вида – 10 единиц; второго – 20 единиц; третьего – 15 единиц. По второму способу первого вида – 20 единиц; второго – 10 единиц; третьего вида – 15 единиц. Запасы сырья составляют: первого вида –
100
единиц, второго – 100 единиц, третьего – 90 единиц.
32
Определить план производства, при котором будет выпущено
наибольшее количество продукции.
Представим все исходные данные в табличной форме (табл. 2).
Таблица 2
Расход сырья Способ
производства
первого вида второго вида третьего вида
первый 10 20 15
второй 20 10 15
Запасы сырья 100 100 90
Математическая постановка задачи имеет вид:
20 30 maxzx x,
12
10 20 100;
xx
 
 
15 15 90;
 

12
20 10 100;
xx

12
xx

12
0, 0.
xx

12
Решим задачу геометрически (рис. 4).
Рис. 4. Иллюстрация графического метода решения ЗЛП
33
1.
x
x
x
x
x
()
x
Построим прямые, соответствующие функциям ограничений, и
выделим допустимую область D.
2.
Изобразим вектор с
с = {20, 30}, и линию уровня
Перемещая эту линию параллельно самой себе в направлении гра
3.
= {2, 3}, параллельный вектору градиента
0
20 30 0
12
x.
диента, найдем пересечение с крайней точкой области D – точку (2,4).
Точные значения координат оптимальной точки можно получить, если найти точку пересечения прямых
10 20 100xx и
12
15 15 90xx,
12
т.е. решить систему:
10 20 100,
xx
 
15 15 90.

12
xx

12
Отсюда
2, 4
12
x. То есть для получения оптимального резуль
тата предприятие должно работать 2 часа по первому способу и 4 часа – по второму.
3.4. Симплексный метод решения ЗЛП
Симплексный метод является одним из универсальных методов решения ЗЛП. Симплексом в nмерном пространстве называют мно жество (n + 1)й точки. Геометрически симплекс представляет собой многогранник с (n + 1)й вершиной: на плоскости – это треугольник, в трехмерном пространстве – тетраэдр. Симплекс в R
точки
01
,,,
xx , для которых векторы
нейно независимы. При этом точки
n
01
1020 0
xx x x x ли
,,,
xx называют вершинами
n
симплекса.
Предположим, что ЗЛП приведена к канонической форме
n
fx c x

ii
i
1
max,
D
i
n
образуют любые
,,,
n
axax ax b
   
11 1 12 2 1 1
 
axa x axb
   
11 22
mm mnnm
 
0, 1,..., .
xjn

j
... ,
nn
... ,
(12)
Идея симплексметода заключается в следующем итерационном алгоритме. Вычислив в (n + 1) вершинах симплекса значения целевой функции, выберем наихудшую из них – ту, в которой значение
34
функции наименьшее. Заменив эту вершину новой по определенному
()
()
f
()
f
()
f
правилу, получим новый симплекс, с которым повторяем такую же процедуру. В результате получим последовательность симплексов, стягивающихся к точке максимума целевой функции.
Для этого сначала находим какоелибо допустимое (неотрица
тельное) базисное решение. Считаем, что уравнения системы ограни чений (12) линейно независимы, т.е. ранг этой системы rmn. Произвольные переменные
новные), остальные
nm
,,,
xx x принимаем за базисные (ос
12
m
переменных – за свободные (небазисные).
Приравняв к нулю все свободные переменные, решим полученную систему уравнений. Если некоторые значения найденных базисных переменных окажутся отрицательными, то нужно выбрать другие базисные переменные, то есть перейти к новому базису. После того, как найдено допустимое базисное решение, проверяем, не достигнут ли максимум целевой функции
x . Если нет, то ищем новое допустимое
базисное решение, при котором значение функции
x возрастает.
Затем процедура повторяется.
3.4.1. Алгоритм симплекс-метода
Алгоритм
симплексметода состоит в последовательном переборе
базисных решений, определяющих крайние точки многогранника решений. Переход от одного базисного решения к другому (от одной крайней точки к другой) осуществляется таким образом, чтобы зна чение
1.
x возрастало от итерации к итерации.
Находим ранг r системы (12). Предположим, что rn . Запишем
систему ограничений и целевую функцию в виде:
k
xxirknr
   
ki i ij j
j
1
fx
;1,,; ;
   
0
j
k
1
,
jj
где
,,,
 – некоторые константы, полученные в результате
ij i j
0
преобразований функций ограничений и целевой функции.
Составляем исходную симплекстаблицу (табл. 3), состоящую из
2.
(1m  ) строк (m – количество уравнений ограничений плюс одна
строка для целевой функции) и (1n  ) столбцов (n – количество сво бодных переменных плюс один столбец для правых частей ограни чений).
35
Базис
s
j
x
x
x
1
…
x
…
x
Таблица 3
…
x
m
1m
1
11
…
1s
…
1j
…
1m
x
ml
l
l1
…
ls
…
lj
…
lm
mi
i
i1
…
is
…
ij
…
im
x
n
f
r
1
0
r1
… …
s
rs
… …
j
rj
… …
m
rm
3. Выбираем генеральный элемент ij в соответствии с правилами:
выбираем положительный коэффициент целевой функции (лю
–
бой положительный элемент в последней строке симплекстаблицы, кроме свободного члена γ
), например элемент jго столбца j. Если
0
положительных элементов нет, то записанное в симплекстаблице базисное решение будет оптимальным;
из столбца j выбираем строки l, для которых 0
–
 , и находим
lj
l
;
lj
l
если
(
lj
отношения
выбираем из этих отношений наименьшее, например
–
наименьшее отношение достигается при нескольких значениях l, то можно взять любое).
Элемент
Переходим от табл. 3 к табл. 4.
4.
– генеральный.
lj
Преобразуем столбец j путем деления всех коэффициентов в этом столбце, кроме генерального элемента, на значение генерального элемента со знаком « – ».
Преобразуем строку i путем деления всех коэффициентов в этой строке, кроме генерального элемента, на значение генерального эле мента со знаком « + ».
1
.
Запишем значение в ячейку генерального
ij
Обозначим

элемента.
36
Таблица 4
s
x
j
x
x
j
j
s
j
j
x
j
j
j
j
x
x
j
j
j
j
j
j
s
j
j
)
x

11i
1mx
x
1

11 1 1i
ml

lil

1lill

n
i

i1

r
f
rir

0 i

11rir
 
11i
… …

…

…
…

…
11
ls is l
rs is r
is

is
 
is
… …–
…
…
… …

–
–
–гj
… …

11mim
1j
…
lj
rj

…
…

rm im r
…
k
lm im l

 
mim
im
Преобразуем коэффициенты в оставшихся ячейках таблицы по
правилу: из значения коэффициента соответствующей ячейки
rs
(с
номерами строки r и столбца s) вычитаем произведение коэффициента, находящегося в этой же строке r и в столбце j генерального элемента
(rj ), и коэффициента, находящегося в этой же строке i генерального
элемента и в столбце s (
5.
Повторяем пп. 3–4 до получения оптимального решения (при
).
ir
знак оптимальности решения – в п.3).
Замечание. Если в последней строке симплекстаблицы имеется положительный элемент, но в соответствующем столбце нет положительных чисел, это значит, что целевая функция не ограничена сверху (не имеет максимума).
Пример 6
Найти
max(64
xx
x
12
симплексметодом при условиях
xx
15 2 300;
 
 
 

12
xx
12 6 306;

12
xx
3 12 360;

12
xx
0, 0.

12
Решение.
Ограничения в виде неравенств заменим равенствами, введя пере менные
, и
xx
34 5
; получим систему уравнений вида
15 2 300;
xxx

123

12 6 306;
xx x
12 4

3 12 360.
xx x
12 5
37
Ранг матрицы
x
x
A
)
(
)
(
(
x
x
15 2 1 0 0
 
12 6 0 1 0
 
312001

3r
.
Число неизвестных 5n , число свободных неизвестных 2knr.
Выберем в качестве свободных неизвестных
15 2 1 0 0
             
 
AA AAB
12 , 6 , 0 , 1 , 0
12 34
             
312001
      
1
и
.
2
.
Векторы
,,
AA образуют базис. Тогда за опорное можно при
345
нять решение (0; 0; 300; 306; 360).
1. Запишем систему ограничений и целевую функцию в виде
xxx
300(15 2
 
312
;
xxx
306
 
412
xxx
360
 
512
64)min.fxx
Заполним симплекстаблицу (табл. 5).
2.
12 6
312);
12
;
x
4
3
300
306
15
20
12
66
x
1
–12/15
2
1/15
6
Таблица 5
2
2/15
4,4
x
5
360
300
0
3
6
12
–3/15
4
f
–120
–6/15
Найдем генеральный элемент. Из положительных коэффициентов целевой функции выберем 6.
Для всех положительных коэффициентов этого столбца отношения свободных членов к соответствующим коэффициентам.
38
1,6
3,2
x найдем
1
Получаем:
j
x
x
x
x
x


Наименьшее из этих отношений соответствует строке
300 306 360
12 3
  
15 12 3
11 21 31
20; 25,5; 120.
x ; следова
3
11
тельно, генеральный элемент 15
.
1, 1i
 (выделяем его),
ij

ij
15
Нижние числа в ячейках заполняем в соответствии с симплекс таблицей 4. Заполняем столбец и строку с генеральным элементом, затем – столбец свободных членов по формуле
:
lilj
111
306 300 12 66; 360 300 3 300; 0 300 6 120.
     
15 15 15
Остальные ячейки заполняем по формуле
:
1lillj
111
6 12 2 4,4; 12 3 2 11,6; 4 6 2 3,2.
  
15 15 15
,
Стрелки при переменных указывают на то, что неизвестных переходит в базисные, а
x – из базисных в свободные.
3
из свободных
1
Переходим от табл. 5 к табл. 6 по правилам работы с симплекс таблицами.
Таблица 6
1
4
5
20
66
300
126
–120
1/15
18
–0,8
15
–0,2
–0,4
x
3
1/11
–2/11
21/11
2/15
4,4
1,6
3,2
2
f
–168
2/11
Как видно из табл. 6, генеральным элементом является элемент 4,4. Неизвестная
x из свободных неизвестных переходит в базисные, а 4x –
2
из базисных в свободные. Строим табл. 7.
–1/33
5/22
–29/11
–8/11
39
x
x
x
x
x
x
x
x
x
f
1
18
1/11
12
3
–1/21
Таблица 7
x
4
–1/33
2/21
x
2
15
5
126
–168
27
66
–2/11
21/11
2/11
2/21
11/21
5/22
–1/42
–29/11
–29/21
–8/11
f
–180
–2/21
–10/21
Как видно из табл. 7, генеральным элементом является элемент
21/11.
ные, а
Неизвестная
x – из базисных в свободные.
5
из свободных неизвестных переходит в базис
3
Строим табл. 8. В ней все коэффициенты при неизвестных в последней строке отрицательны. Следовательно, базисное решение, отвечающее данному выбору свободных неизвестных
x и 4x , является
5
оптимальным.
Таблица 8
1
2
3
12 –1/21 2/21 27 2/21 –1/42 66 11/21 –29/21
5
4
f –180 –2/21 –10/21
Поскольку в базисном решении свободные неизвестные имеют нулевые значения
45
0xx, то значения базисных неизвестных и
целевой функции равны свободным членам.
Оптимальное решение (12; 27; 66; 0; 0).
Минимальное значение функции
180
.
max
min
180f  , а максимальное
Контрольные вопросы и задания
1. Сколько решений может иметь ЗЛП? Отчего это зависит? Мож
но ли определить эти решения графически?
2.
Что представляет собой линия уровня?
3.
Когда задача оптимизации имеет решение?
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]