Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы оптимизации. Учебно-методический комплекс.pdf
Скачиваний:
1
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
[
]
B
A
B
B
ABx
DBx
B
⋅=⋅
B
x
B
x
DBABx
⋅
⋅
x
B
x
x
ABx
B
⋅
B
x
x
A
Определение 5. Решением задачи линейного программирования называется ее план, минимизирующий (или максимизирующий) линейную форму.
Введем понятие базисного решения. Из матрицы расширенной
задачи
= ,...,,
p
векторов-столбцов, которые обозначим как матрицу
обозначим матрицу из оставшихся столбцов. Тогда
nmD×
AAAA
21
выберем m линейно независимых
mn
+
, а через
mmB×
[]
p
, и
DBA
,=
ограничения расширенной задачи линейного программирования можно записать в виде:
AxDxBxA
=⋅+⋅=⋅ . (3)
p
Очевидно, что столбцы матрицы
пространства. Поэтому вектор
DB
и любой столбец матрицы D
0
0
образуют базис m-мерного
можно представить в виде линейной комбинации столбцов матрицы
.
1−
Умножим (3) на
и найдем отсюда
Придавая решения
различные значения, будем получать различные
D
.
BB
:
1
слева
⋅+⋅⋅
−⋅=
0
−− 1
−−−
111
, (4)
D
D
0
. (5)
Если положить
Решение (6) называют базисным решением системы из с
неизвестными.
nm +
0=
=
, то
−
1
. (6)
0
D
m уравнений
Если полученное решение содержит только положительные
компоненты, то оно называется базисным допустимым.
Особенность допустимых базисных решений состоит в том, что
они являются крайними точками допустимого множества расширенной задачи.
Если среди компонент
нет нулевых, то базисное допустимое
решение называется невырожденным. Определение 6. План называть опорным, если векторы условий
задачи линейного программирования будем
с положительными
i
коэффициентами линейно независимы.
То есть опорный план – это базисное допустимое решение
расширенной системы, угловая точка многогранника решений.
D
1
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
11
x
D
x
x
x
(
)
D
x
x
x
x
α
∀
(
)
(
Определение 7. Опорное решение называется невырожденным, если оно содержит
Невырожденный опорный план образуется пересечением
m положительных компонент (по числу ограничений).
n
гиперплоскостей из образующих допустимую область. В случае вырожденности в угловой точке многогранника решений пересекается более
Теорема 1:
(основная теорема линейного программирования):
1) Линейная форма
n гиперплоскостей.
Τ
cz ⋅=
достигает своего минимума в угловой
точке многогранника решений.
2) Если она принимает минимальное решение более чем в одной
угловой точке, то она достигает того же самого значения в любой точке, являющейся выпуклой комбинацией этих угловых точек.
Доказательство
: Доказательство теоремы основано на
следующей лемме.
Лемма:
Если D - замкнутое, ограниченное, выпуклое множество,
имеющее конечное число крайних (угловых) точек, то любая точка
∈
может быть представлена в виде выпуклой комбинации
крайних точек
0
1)Пусть
.
D
- некоторая внутренняя точка. Многогранник ограниченный замкнутый, имеет конечное число угловых точек. множество.
является оптимальной точкой, то есть
0
()
xzxz ≤
,
∈∀
. Предположим, что точка
Тогда на основании леммы точку
точки многогранника
Так как функция
i
, т.е.
p
0
∑
i
линейна, то
xz
0
()
⋅α=
xx
i
=
1
p
∑
=
1
i
i
,
⋅α=
i
- допустимое
D
Предположим, что точка
0
не является угловой.
0
можно выразить через угловые
p
=α
0≥
,
i
i
)
xzxz
. (*)
∑
ii1
=
1
.
0
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
12
x
(
)
x
z
{
}
(
)
x
(
)
()(
)
(
)
()()(
)
∀
α
[
x
x
Выберем среди точек
i
ту, в которой линейная форма
xz
k
принимает наименьшее значение. Пусть это будет точка Обозначим минимальное значение функции в угловой точке через
∗
k
==
≤≤
1ppi
21
)(,),(),(min)(
xzxzxzxzz K
.
∗
:
Подставим данное значение функции в линейную форму (*) вместо
i
xz
и получим:
Так как
0
- оптимальная точка, то получили противоречие:
(!). Следовательно,
(
0
0
p
)
∑∑
==
11
i
k
xzxz =
0
,
p
i
k
xx =
- угловая точка.
∗∗∗
=α⋅=⋅α≥
zzzxz
ii
.
0
zxz ≥
.
*
2) Предположим, что линейная форма
xz принимает минимальное
значение более чем в одной угловой точке, например, в угловых
точках
21
q
xxx ,...,,
21
...
q
∗
==== zxzxzxz
. Тогда если x является
выпуклой комбинацией этих точек, то есть
то
()
q
⋅α=
xx
i
∑
i
=
1
a
⎛ ⎜
⎜ ⎝
=
i
⎞
i
⎟
⋅α=
i
⎟ ⎠
∑∑
i
q
i
,
∑
ii1
=
a
i
=
11
=α
1
и
∗∗
.
=α⋅=
zzxzxz
i
0≥
,
i
То есть, если минимальное значение достигается более чем в одной угловой точке, то того же самого значения линейная форма достигает в любой точке, являющейся выпуклой комбинацией этих угловых точек
Теорема 2:
AA ,...,
,
1
m
Если известно, что системы векторов условий
)( nm ≤
линейно независима и такова, что
,
=⋅++⋅
01
Τ
]
является угловой точкой
где все
1
, то точка
0>
x
j
... AAxAx
= 0,...,0,,...,
1 m
xxx
m
m
многогранника решений.
Теорема 3:
Если вектор
является угловой точкой
многогранника решений, то векторы условий, соответствующие положительным компонентам вектора
, являются линейно
независимыми.
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
13
x
(
)
(
)
=
=
Следствия: 1) Угловая точка многогранника решений имеет не
более
m положительных компонент вектора
.
3) Каждой угловой точке многогранника решений соответствует
линейно независимых векторов из данной системы:
1
.
AA ,...,
n
Вопросы
1.Линейное программирование.
2. Постановка задачи.
3.Свойства.
4.Графический метод

Тема. Симплекс метод

Или метод последовательного улучшения плана. Метод
предназначен для решения общей задачи линейного программирования.
Пусть имеем следующую задачу:
2211
xcxcxcxQ
nn
, (1)
min...
→⋅++⋅+⋅=
с системой ограничений следующего вида:
m
⎧
...
bxaxaxa
=⋅++⋅+⋅
nn
1,122,111,1
⎪
. (2)
⎨ ⎪
⎩
...
,22,11,
Разрешим эту систему относительно переменных
⎧
'
1,11
...
++
'
,11
......................................................
bxaxaxa
=⋅++⋅+⋅
mnnmmm
xx ,...,
1
'
bxaxax
+⋅++⋅=
1
nnmm
⎪
. (3)
....................................................
''
bxaxax
+⋅++⋅=
mnnmmmmm
xx ,...,
, образуют базис.
1
m
Векторы условий, соответствующие
Переменные
⎨ ⎪
⎩
1
'
1,
xx ,...,
назовем базисными переменными. Остальные
m
...
++
,1
переменные задачи – небазисные.
Целевую функцию можно выразить через небазисные
переменные:
'
1
'
21
2
++++
'
'
→+⋅+⋅+⋅=
cxcxcxcxQ
0
nnmmmm
.
min...
Если приравнять небазисные переменные нулю –
=
21
++ nmm
0;...,0,0
xxx
,
то соответствующие базисные переменные примут значения
'
11
;...;;
22
''
.
bxbxbx ===
mm
:
m
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
14
(
)
=−+
x
{
−
−
(
)
[
Вектор x с такими компонентами представляет собой угловую точку многогранника решений (допустимую) при условии, что
'
0
≥
b
i
(опорный план). Теперь необходимо перейти к другой угловой точке с меньшим значением целевой функции. Для этого следует выбрать некоторую небазисную переменную и некоторую базисную так, чтобы после того, как мы “поменяем их местами”, значение целевой функции уменьшилось. Такой направленный перебор в конце концов приведет нас к решению задачи.
Замечание:
В процессе поиска допустимого плана может быть
выявлена противоречивость системы ограничений.
Алгоритм симплекс метода
Формализованный алгоритм симплекс метода состоит из двух основных этапов: 1) построение опорного плана; 2) построение оптимального плана.
Проиллюстрируем алгоритм на рассмотренном ранее примере:
min
→−= xxxQ
54
12
xxx
xxx
xxx
0≥
В случае базисных переменных
⎫
541
⎪
.
=+−
22
⎬
542
⎪
=++
33
543
⎭
.
}
,, xxx
начальная симплексная
321
таблица для данного примера будет выглядеть следующим образом:
x
=
1
x
=
2
x
=
3
=
xQ
x
4
1 -2 1
-2 1 2 3 1 3
-1 1 0
x
5
1
Она уже соответствует опорному плану
1
= 00321
x
Τ
]
(столбец
свободных членов). Построение оптимального плана. Для того чтобы опорный план был оптимален, при минимизации целевой функции необходимо, чтобы коэффициенты в строке целевой функции были неположи-
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
15
(
)
l
r
⋅−=⋅
−
тельными (в случае максимизации – неотрицательными). Т.е. при поиске минимума мы должны освободиться от положительных коэффициентов в строке
.
xQ
Выбор разрешающего элемента. Если при поиске минимума в строке целевой функции есть коэффициенты больше нуля, то выбираем столбец с положительным коэффициентом в строке целевой функции в качестве разрешающего. Пусть это столбец с номером
.
Для выбора разрешающей строки (разрешающего элемента) среди положительных коэффициентов разрешающего столбца выбираем тот (строку), для которого отношение коэффициента в столбце свободных членов к коэффициенту в разрешающем столбце минимально:
⎧
b
r
a
rl
a
– разрешающий (направляющий) элемент, строка
rl
b
i
a
⎨
a
⎩
il
⎫
.
≥= 0min
⎬
il
⎭
–
разрешающая.
Для перехода к следующей симплексной таблице (следующему опорному плану с меньшим значением целевой функции) делается шаг модифицированного жорданова исключения с разрешающим
a
элементом
.
rl
Если в разрешающем столбце нет положительных коэффициентов, то целевая функция неограничена снизу (при максимизации – неограничена сверху).
Шаг модифицированного жорданова исключения над
симплексной таблицей.
1. На месте разрешающего элемента ставится 1 и делится на
разрешающий элемент.
2. Остальные элементы разрешающего столбца меняют знак на
противоположный и делятся на разрешающий элемент.
3. Остальные
элементы разрешающей строки делятся на
разрешающий элемент.
4. Все остальные элементы симплексной таблицы вычисляются по
следующей формуле:
⋅
a
=
ij
a
rl
aaaa
ilrjrlij
a
ij
aa
ilrj
.
a
rl
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
16
(
)
(
)
(
)
(
)
(
=⋅++⋅
x
x x
1
2
3
xQ
x−
4
1 -2
-2 3 1
-1 1
1
x−
5
1 Разрешающий элемент, 1
который соответствует замене
2 3 0
x−
x
1
x
5
x
3
xQ
4
-3 2
-2 1
5 -1 1 -1
x−
2
1 Разрешающий элемент, 5 2
который соответствует замене
базисной переменной
x
3
на
1
-2
x−
x
1
x
5
x
4
xQ
3
3/5 7/5 2/5 3/5 1/5 -1/5
-1/5 -4/5
x−
2
1 28/5 12/5
1/5
-11/5
Все коэффициенты в строке
целевой функции
отрицательны, т.е. мы нашли
оптимальное решение.
Построение опорного плана. Пусть необходимо решить задачу:
)
→⋅++⋅+⋅=
2211
⎧
...........
⎪ ⎪ ⎪
⎪ ⎨
⎪
..........
...
⎪
xcxcxcxQ
nn
bxaxa
nn
................................................
bxaxa
,11,
=⋅++⋅
bxaxa
≤⋅++⋅
mnnmm
.................................................
maxmin...
1,111,1
mnnmm
.
+++
1,111,1
⎪ ⎪
⎩
........
,11,
bxaxa
≤⋅++⋅
+++
pmnnpmpm
Введем дополнительные переменные, чтобы преобразовать ограничения-неравенства к равенствам. В ограничениях-равенствах дополнительные переменные должны быть нулевыми. Тогда система ограничений принимает вид:
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
17
⋅−−
⋅
2
−
−
(
)
−
−
⎧
−=
⎪ ⎪ ⎪
⎪ ⎨
⎪ ⎪
...............0
...
xaxab
nn
,111,11
.........................................................
............0
xaxab
⋅−−⋅−=
nnmmm
,11,
++++
,111,111
,
xaxabx
⋅−−⋅−=
nnmmmn
.........................................................
⎪ ⎪
⎩
....
xaxabx
⋅−−⋅−=
++++
nnpmpmpmpn
,11,
где
x
0≥
+in
.
pi ,1=∀
В качестве базисных переменных будем брать систему дополнительно введенных переменных. Тогда симплексная таблица для преобразованной задачи будет иметь следующий вид:
x−
a
2,1
….
….
x
S
Sa,1
.…
….
x
b
1
1
n
na,1
0
x−
1
a
1,1
…. …. .… …. .… .… .… .…
0
x
a
1,m
a
1+m
1,1+m
a
2,m
a
….
….
2,1+m
Sma,
….
….
sma,1+
b
nma,
nma,1+
m
b
1+m
…. …. …. …. …. …. …. …
a
pmx+
xQ
+
c−
1
+
c−
2
a
1,pm
….
2,pm
….
a
c
….
Spm
,+
….
S
a
npm
,+
c
n
0
pmb+
Правила выбора разрешающего элемента при поиске опорного
плана.
1. При условии отсутствия “0-строк” (ограничений-равенств) и
“свободных” переменных (т.е. переменных, на которые не наложено требование неотрицательности).
• Если в столбце свободных членов симплексной таблицы нет
отрицательных элементов, то опорный план найден.
• Есть отрицательные элементы в столбце свободных членов
0<
например
a
, и этим самым определяем разрешающий столбец l. Если не
il
b
найдем отрицательный
. В такой строке ищем отрицательный коэффициент
i
a
, то система ограничений несовместна
il
(противоречива).
• В качестве разрешающей выбираем строку, которой
⎫
i
il
>= 0min
, где r
⎬ ⎭
соответствует минимальное отношение:
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
⎧
b
b
r
a
rl
b
i
⎨
i
a
a
il
⎩
,
18
=
- номер разрешающей строки. Таким образом,
a
- разрешающий
rl
элемент.
• После того, как разрешающий элемент найден, делаем шаг
модифицированного жорданова исключения с направляющим элементом
a
и переходим к следующей симплексной таблице.
rl
2. В случае присутствия ограничений-равенств и “свободных” переменных поступают следующим образом.
• Выбирают разрешающий элемент в “0-строке” и делают шаг
модифицированного жорданова исключения, после чего вычеркивают этот разрешающий столбец. Данную последовательность действий продолжают до тех пор, пока в симплексной таблице остается хотя бы одна
“0-строка” (при этом
таблица сокращается).
• Если же присутствуют и свободные переменные, то необходимо
данные переменные сделать базисными. И после того, как свободная переменная станет базисной, в процессе определения разрешающего элемента при поиске опорного и оптимального планов данная строка не учитывается (но преобразуется).

Вырожденность в задачах линейного программирования

Рассматривая симплекс
-метод, мы предполагали, что задача
линейного программирования является невырожденной, т.е. каждый опорный план содержит ровно
m положительных компонент, где m –
число ограничений в задаче. В вырожденном опорном плане число положительных компонент оказывается меньше числа ограничений: некоторые базисные переменные, соответствующие данному опорному плану, принимают нулевые значения. Используя геометрическую интерпретацию для простейшего случая, когда
(число небазисных переменных равно 2), легко отличить
2=− mn
вырожденную задачу от невырожденной. В вырожденной задаче в одной вершине многогранника условий пересекается более двух прямых, описываемых уравнениями вида
x
. Это значит, что
i
0
одна или несколько сторон многоугольника условий стягиваются в точку.
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
19
=
ε
∈
Аналогично при пересекается более 3-х плоскостей
в вырожденной задаче в одной вершине
3=− mn
0
x
.
i
В предположении о невырожденности задачи находилось только
⎫
i
il
, по которому определялся индекс
>=θ
0min
⎬ ⎭
одно значение
⎧
b
b
i
⎨
i
a
a
il
⎩
выводимого из базиса вектора условий (выводимой из числа
⎫
i
il
0min
>
может
⎬ ⎭
базисных переменной). В вырожденной задаче
⎧
b
b
i
⎨
i
a
a
il
⎩
достигаться на нескольких индексах сразу (для нескольких строк). В этом случае в находимом опорном плане несколько базисных переменных будут нулевыми.
Если задача линейного программирования оказывается вырожденной, то при плохом выборе вектора условий, выводимого из базиса, может возникнуть бесконечное движение по базисам одного и того же опорного плана. Так называемое,
явление зацикливания. Хотя в практических задачах линейного программирования зацикливание явление крайне редкое, возможность его не исключена.
Один из приемов борьбы с вырожденностью состоит в преобразовании задачи путем “незначительного” изменения вектора правых частей системы ограничений на величины
, таким образом,
i
чтобы задача стала невырожденной, и, в то же время, чтобы это изменение не повлияло реально на оптимальный план задачи.
Чаще реализуемые алгоритмы включают в себя некоторые простые правила, снижающие вероятность возникновения зацикливания или его преодоления.
Пусть переменную
множество индексов
⎧
b
b
i
i
0
⎨
i
a
il
⎩
>=θ
a
il
E
⎫
. Множество индексов
0min
⎬ ⎭
выполняется данное условие обозначим через одного элемента, то из базиса исключается вектор условий
x
(переменная
Если множество
делается небазисной).
i
E
состоит более чем из одного элемента, то составляется
0
E
, которое состоит из
1
необходимо сделать базисной. Рассмотрим
x
j
, состоящее из тех i, для которых достигается
0
, для которых
i
E
. Если
0
Ei
, на которых достигается
0
E
состоит из
0
A
i
Ф КазНПУ 703-12-11. Учебно-методический комплекс дисциплины для обучающегося. Издание третье.
20