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

Методы оптимизации алгоритмические основы задач оптимизации. Курс лекций

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
Замечание 3.10. В многомерном случае (n > 2) ОДР представляет собой многогранник, в вершинах которого пересекаются по крайней мере n гиперплоскостей (при n = 3 это три обычных плоскости).
Как следует из рис. 3.6, если ОДР является замкнутой фигурой или она ограничена в сторону уменьшения f(x), решение всегда су­ществует. При этом точкой решения x
*
является одна из вершин мно-
гогранника ОДР. Если же ОДР не ограничена в сторону уменьшения
f(x), то решения не существует.
Замечание 3.11. В частном случае, когда линии уровня функции
f(x) параллельны одной из сторон многогранника ОДР, решением
может быть множество точек отрезка между двумя вершинами или луча, выходящего из вершины.
Очевидно, что существует тривиальный способ решения задачи ЛП: определить из системы ограничений координаты всех вершин и, подставив их в f(x), найти ту вершину, в которой функция имеет ми­нимум. Однако это очень неэкономный способ при большой размер­ности задачи. Поэтому применяют направленный перебор вершин, определяя на каждом шаге координаты только одной вершины.
В общем случае в исходной постановке задачи ЛП могут быть как равенства, так и неравенства в качестве ограничений. Такая форма задачи называется общей формой.
3.3.3. Стандартная и каноническая форма задачи ЛП
Алгоритмы
решения задачи ЛП требуют задания системы ограни-
чений в форме равенств. Такая форма задачи называется стандартной.
Для того чтобы превратить неравенства в эквивалентные равенства, используют тот же прием, который известен нам по задаче нелинейно­го программирования: вводят фиктивные переменные. Для каждого неравенства g зультате чего вместо неравенства появляется равенство g
(x) ≥ 0 вводится фиктивная переменная x
j
≥ 0, в ре-
n + j
(x) – x
j
n + j
= 0.
Замечание 3.12. Если в исходном неравенстве стоит знак «мень­ше», то вместо его умножения на –1 достаточно перед фиктивной переменной поставить знак «плюс».
После введения фиктивных переменных число всех переменных становится равным n + r (r – число неравенств). В дальнейшем будем это число (всех переменных) также обозначать через n. Количество равенств при этом станет равным m + r. Это число будем обозначать
61
через m. Очевидно, что какими бы ни были числа n, m и r в общей
() .
i
fx cx
форме задачи, в стандартной форме всегда m < n, т.е. задача будет корректной.
Для реализации поиска минимума в задаче ЛП требуется получать
множество возможных решений системы из m линейных уравнений с
n неизвестными. Чтобы получить одно из решений, можно воспользо-
ваться методом Жордана – Гаусса, который состоит в приведении ис­ходной системы уравнений к так называемому каноническому виду. Для этого нужно выразить какие-либо m переменных через q = n – m остальных переменных. Тогда система уравнений будет записана в следующем виде:
x
+ a
1
1,m+1
x
+ ... + a1s xs + ... + a1n xn = b1;
m+1
................................................ ......................
x
+ a
i
i,m+1 xm+1
+ ... + ais xs + ... + ain xn = bi;
................................................ ...................... (3.34)
x
+ a
r
r,m+1 xm+1
+ ... + ars xs + ... + arn xn = br;
................................................ ......................
x
Цeлeвая функция имeeт вид
Нeкоторыe коэффициенты c Переменные x
+ a
m
m,m+1 xm+1
, ..., xm называются базисными (или зависимыми).
1
+ ... + ams xs + ... + amn xn = bm.
n
=
∑
i
могут быть равны нулю.
i
i
1
=
Остальные q переменных называются независимыми (свободными). Задав произвольным образом значения независимых переменных, получим одно из решений указанной системы. Вспомним, что для задачи ЛП необходимо задать неотрицательные значения свободных переменных. Если записать исходную матрицу коэффициентов, то приведение к каноническому виду осуществляется с помощью по­следовательности двух операций:
умножение строки на константу;
– –
сложение строк.
Базисным решением (БР) системы называется такое решение, ко­гда все свободные переменные равны нулю, а в соответствии с этим базисные переменные равны правым частям уравнений:
x
= bi (i = 1, m); xk = 0 (k = m + 1, n). (3.35)
i
Базисное решение, в котором все базисные переменные неотрица­тельны, называется допустимым базисным решением (ДБР).
62
Замечание 3.13. Для того чтобы система в канонической форме
.
!( )!
mn m
представляла ДБР, необходимо, чтобы правые части были неотрица­тельны.
!
Замечание 3.14. Число всех базисных решений равно
n
C
m
n
=
−
3.3.4. Симплекс-метод
Организация перемещения точки поиска
Алгоритм
решения задачи ЛП называется симплекс–методом.
Имеется несколько его разновидностей, приспособленных к структу­ре определенных классов задач ЛП. Здесь не будут обсуждаться осо­бенности задач; приведен базовый вариант симплекс-метода, кото­рый так или иначе включен во все его разновидности.
Симплекс-метод состоит в переходе от некоторого ДБР к другому ДБР с меньшим значением целевой функции. При этом исследуется множество так называемых смежных ДБР. Смежным ДБР называется такое решение, которое отличается от исходного решения только од­ной базисной переменной. Если рассматривать многогранник допус­тимой области в пространстве исходных переменных задачи ЛП в общей форме (с неравенствами), то смежное решение находится в соседней вершине по какому-либо из ребер.
При получении смежного решения производится замена перемен­ных, при которой одна из свободных переменных x зисной, а одна из базисных переменных x
занимает ее место, т.е.
r
становится ба-
s
становится равной нулю. Проблема состоит в том, чтобы выбрать пару заменяемых переменных, обеспечивающую наибольшее уменьшение целевой функции.
Для оценки степени уменьшения функции нужно каждой из сво­бодных переменных (они все равны нулю в исходном решении) дать пробное приращение и оценить изменeниe значeния цeлeвой функ­ции f(x). Поскольку f(x) линeйна, то конкрeтное значение приращeния Δx нe имeeт значeния. Поэтому принимаeм eго равным
диницe: Δx = 1.
e
Замечание 3.15. Приращениe функции при Δx = 1 будeт числeнно равно соотвeтствующeй компонeнтe градиeнта.
Вычислим приращeниe f(x) при пробном шагe 1 по свободной пeрeмeнной x
. Запишeм послeдоватeльно три состояния систeмы
s
уравнeний (табл. 3.3).
63
Таблица 3.3
() ;
i
fx cb
() ( ) .
i
fx cba c
() () () .
s
fx f x f x c ca
,1,.
xb ax i m
Исходное ДБР x
xi = bi (i = 1, m) xi + aisxs = bi (i =1, m) xi = bi – aim (i = 1, m) xk = 0 (k = m + 1, n)
Обозначим значениe f(x) в исходном ДБР (староe значeниe) чeрeз
O
f
(x), а значeниe f(x) при xs = 1 (новоe значeниe) чeрeз f N(x). Значeния
= 0 (k = m + 1, n; k ≠ s)
x
k
> 0 xs = 1
s
x
= 0 (k = m + 1, n); xs = 1
k
их соотвeтствeнно равны
m
∑
=
i
=
∑
i
1
m
(3.36)
i
1
=
iis s
O
N
=−+
Тогда приращениe функции будет равно
Δ= − =−
NO
m
∑
siis
=
i
(3.37)
1
Принцип оптимальности решения: eсли все 0)( ≥Δ xf
s
для всех s
от m + 1 до n, то данное ДБР является оптимальным решением.
Выражение целевой функции f(x) через свободные переменные
В
канонической форме задачи ЛП (дающей базисное решение) ба-
зисные переменные выражены через свободные переменные:
n
=− =
ii ijj
∑
=+
jmi
Исключим базисные переменные из целевой функции, подставив
в нее эти выражения:
nm n
() ( )
fx cx cb ax
== − +
∑∑ ∑
ii i i ij j
11 1
== =+
ii jm
nmnmn
64
cx cb x ca cx
+=− +=
∑∑∑∑∑
jj ii j iij ij
11 11 1
=+ = =+ = =+
jm i jm i jm
nm
Cxcca
=+ −
jm i
().
∑∑
jj iij
11
=+ =
(3.38)
Здесь через C обозначена константа, равная сумме
min ( );
sfx
∑
. Срав-
bc
ii
=mi
1
нив последнее выражение с приращением функции f(x) при пробном шаге по переменной x Δf
(x) соответствует множителю при свободной переменной xs . От-
s
, приведенное выше, можно заключить, что
s
сюда следует, что если индекс s соответствует индексу r базисной переменной (s = r), то Δf
(x) = 0. Этот вывод понадобится при реали-
s
зации алгоритма симплекс-метода.
Правило выбора пары xs, xr
Алгоритм
симплекс-метода работает с матрицей коэффициентов и
столбцом правых частей уравнений-ограничений. Выбор пары заме­няемых переменных в терминологии задачи ЛП называется выбором направляющего столбца s и направляющей строки r. Столбец s вы­бирается по минимальному значению приращения целевой функции Δf
(x), т.е. по максимальному его абсолютному значению среди от-
m
рицательных приращений:
→Δ
() 0.
fx
Δ<
j
j
j
(3.39)
Выбор строки r должен быть таким, чтобы новое значение пере­менной x
дало точку решения в допустимой области.
s
Новое решение, как было показано выше, имеет следующий вид:
x
= bi – a
i
; i = 1, m; xi = 0; i = m + 1, n. (3.40)
isxs
(Для удобства изложения предполагаем, что при замене перемен-
ных меняется и их нумерация, что не влияет на ход решения.)
Рассмотрим ограничения, накладываемые на значения перемен­ной x
. Если коэффициент ais < 0, то соответствующее значение xi
s
всегда больше нуля, т.е. x бом положительном x значение x
но
x =
s
, при котором данное xi > 0. Это значение, очевидно, рав-
s
b
i
.
a
is
находится в допустимой области при лю-
i
. Если же ais > 0, то существует предельное
s
Следовательно, среди базисных переменных существует такая, которая первой становится равной нулю при увеличении x
. Именно
s
65
она должна быть переведена в свободные. Поэтому правило выбора
min ;
iii
bra
;0,
1
0
1
s
x
1
направляющей строки r следующее:
0.
a→>
is
В результате выбора i = r переменные x
(3.41)
s
и xr имеют следующие
s
значения:
bb
rr
xxba
==−=
srrrs
aa
is rs
(3.42)
а для строки с индексом i справедливо соотношение
b
abx
Изменение f(x) и переменных x
f(x)
fО(x)
)(
xf
2=j
)(0xf
1=j
3=j
sj
b
r
a
isii
a
N
is
rs
при увеличении xs показано на рис. 3.7.
i
)(
xf
b
i
r
a
a
x
rs
is
x
i
i
b
3
b
r
b
b
2
3=i
ri
1
2=i
.0)( >−=−=
(3.43)
=
i
0
а б
Рис. 3.7. Иллюстрация выбора направляющего столбца s (а)
и направляющей строки r (б)
Алгоритм симплекс-метода
Алгоритм
формально представляет собой последовательное пре-
образование таблиц, содержащих коэффициенты уравнений, правые
66
x
j
части и коэффициенты целевой функции f(x). Переход от одной таб-
() .
>
→
r
rs
b
a
лицы к другой происходит при замене переменных и соответствует переходу к смежной вершине многогранника ограничений. При этом первая таблица должна содержать ДБР, т.е. правые части уравнений должны быть неотрицательны. Пересчет содержимого таблицы изво­дится в точном соответствии с правилами, указанными выше.
Замечание 3.16. При работе с таблицей переиндексация базисных пе­ременных не производится, а строки по индексам не упорядочиваются.
Ниже приведены основные операции алгоритма симплекс-метода.
1.
Расчет приращений целевой функции:
2.
Если все 0)(
3.
Определение направляющего столбца s:
Δ xf
j
Определение направляющей строки r:
4.
a
5.
Пересчет коэффициентов уравнений, соответствующий замене
fx c caΔ =−
jjiij
∑
i
, идти к 8.
Δ )(min .
j
j
b
i
i
a
is
> 0.
is
?
=
ir
=→min ;
jsxf
переменных.
Для строк i ≠ r:
a
Для строки i = r:
6.
Расчет f(x): f(x)= Σc
aa −= ;
a =
rj
is
a
ijij
rj
a
rs
a
rj
;
bb
=−
ri
a
rs
, i принадлежит множеству базисных пе-
ibi
ременных. Фиксация координат точки x.
a
si
bb −=
ii
b
a
sr
r
7. Идти к 1.
8.
Вывод x и f(x). STOP.
67
Замечание 3.17. Приведенный алгоритм не содержит операторов,
>
;1,
xaxbim
анализирующих существование решения. Эти операторы имеются в стандартных пакетах ЛП, а соответствующие проблемы обсуждают­ся в специальной литературе.
3.3.5. Методы получения начального ДБР
отмечалось, что симплекс-метод начинает работать с неко-
Выше
торого начального ДБР. Для его получения существует несколько методов, каждый из которых приспособлен к структуре исходных уравнений.
Здесь приводятся два метода. Метод 1. Метод искусственного базиса.
Исходная система ограничений содержит только неравенства, ко-
торые могут быть приведены к следующему виду:
n
∑
j
=
1
≤
bxa
; 0,1
=
ijij
bmi . (3.44)
i
Далее вводятся фиктивные переменные (переход к канонической
форме):
n
+==
∑
nijji
1
+
j
1
=
. (3.45)
Полученная каноническая форма дает ДБР:
x
= 0; j = 1, n; xj = bi; j = n + i; i = 1, m. (3.46)
j
Этот метод предусматривает определенные ограничения, накла­дываемые на знаки при коэффициентах уравнений. Следующий ме­тод пригоден для любой системы неравенств.
Метод 2. Использование процедуры замены переменных.
Выполняются следующие операции.
1.
Методом исключения переменных (метод Жордана – Гаусса)
находится любое базисное решение. Если оно есть ДБР, идти к 6.
2.
Среди строк, для которых b
направляющая строка r, соответствующая условию
Направляющий столбец определяется из условия
3.
68
< 0 и не все aij ≥ 0, определяется
i
.min
b
i
i
min ; 0.
C
.
n
xaxb
Производится замена переменных, как это указано в алгоритме
4.
j
j
aa<
rj
rj
симплекс-метода.
5.
Если хотя бы одно число b
6.
STOP. ДБР найдено.
< 0, идти к 2.
i
Замечание 3.18. Если в строке i, для которой b
< 0, все aij > 0, то
i
это соответствует условию
+=
∑
iijji
+
j
(3.47)
Это условие не может быть выполнено при неотрицательных значе-
ниях переменных. Поэтому в п. 2 есть соответствующее ограничение.
3.3.6. Пример постановки и решения задачи ЛП
Постановка задачи
Пусть
требуется спланировать на один месяц работу цеха, в кото-
ром имеются станки двух типов. Цех должен производить два вида изделий, причем каждый тип станка может производить оба вида из­делий, но с разной производительностью (число единиц изделий в месяц). Известна себестоимость единицы изделия каждого вида. Имеются ограничения, состоящие в том, что нельзя произвести изде­лий каждого вида меньше, чем задано, а также необходимо, чтобы все станки были заняты. При этих условиях нужно получить мини­мальную себестоимость произведенного товара.
Введем систему неизвестных. Обозначим количество станков первого типа, назначенных для изделий первого и второго вида, со­ответственно через x
и x2. Соответствующие значения производи-
1
тельности будут составлять 3 и 6 (пусть это тысячи штук в месяц). Для станков второго типа соответствующие переменные обозначим через x
и x4, а значения производительности будут составлять 10 и 5.
3
Количество станков первого типа равно 20, а второго типа – 40. За­дание на производство: 200 тысяч изделий первого вида и 100 тысяч изделий второго вида. Себестоимость за тысячу штук изделий перво­го вида равна 2 у.е., а второго вида – 5 у.е.
Запишем формальный вид ограничений, учитывая, что изделий первого вида будет произведено 3x ственно 6x
+ 5x
2
штук:
4
+ 10x3 штук, а второго соответ-
1
69
3x1 + 10x3 ≥ 200;
1
x
6
x
1
x
6
x
6
x x
x
+ 5x4 ≥ 100; (3.48)
2
+ x2 = 20;
1
+ x4 = 40.
3
Первые две строки – это условия выполнения задания. Вторые две
строки – условия полной загрузки станков.
Целевую функцию, равную себестоимости всех произведенных
изделий, запишем в виде
f(x) = 2(3x
+ 10x3 ) + 5(6x2 + 5x4 ) = 6x1 + 30x2 + 20x3 + 25x4. (3.49)
1
Решение задачи симплекс-методом
Переведем
введя две фиктивные переменные x
3x 6
x x
систему ограничений из общей формы в стандартную,
и x6:
5
+ 10x3 – x5 = 200;
1
x
+ 5x4 – x6 = 100; (3.50)
2
+ x2 = 20;
1
+ x4 = 40.
3
Теперь перейдем к канонической форме. Выберем в качестве ба-
зисных переменных x
, x3, x4, x5, а в качестве свободных x1 и x6.
2
В дальнейшем будем сохранять индексы переменных и соответст-
вующие индексы строк при замене переменных.
Исключив базисные переменные, получим:
x x
x
3
4
+
–
x
Эта каноническая форма не дает ДБР, так как b
+ x1 = 20;
2
6
5 6 5
+ 9x1 + 2x6 = 240.
5
+
–
1
5 1 5
= 44; (3.51)
= –4;
= –4 < 0.
4
Воспользуемся алгоритмом поиска ДБР, приведенным выше как метод 2. Для этого расположим коэффициенты и правые части кано­нической системы в виде табл. 3.4.
В соответствии со значениями r, s в табл. 3.4 требуется поменять местами переменные x
и x6. Напомним формулы пересчета коэффи-
4
циентов и правых частей при этой замене, указанные в алгоритме симплекс-метода. Напомним также, что все числа справа от знака равенства берутся в соответствии с алгоритмом симплекс-метода.
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]