![](/user_photo/1438_p9ksI.png)
Информационные системы менеджмента - Бажин И.И
..pdfГлава 6. Методы поиска оптимальных решений |
361 |
Начальное приближение зададим в виде Х(0> = [10,10]. Результаты расчетов на четырех итерациях по методу Коши представлены ниже в таблице.
к = 0 |
Выбор начальной точки |
Хо, si, s2, M |
Определение а(к) из условия ф(а) -> min
X<kt1> = X( k ) -a( k , Vf(X( k ) )
Stop
к= к+1
».Вычислить f(x)
Stop
Рис.6.16. Алгоритм метода наискорейшего спуска
Поиск вдоль прямой, в соответствии с формулой (6.2), обеспечивает более высокую надежность метода Коши по сравнению с простейшим градиентным методом. Однако скорость его сходимости при решении ряда практических за-
362 |
Часть 1. Новые принципы работы |
дач остается низкой. Это вполне объяснимо, поскольку изменения переменных непосредственно зависят от величины градиента, которая стремится к нулю в ок рестности точки минимума, и отсутствует механизм ускорения движения к точке минимума на последних итерациях.
№ |
|
|
1х(к+1)-х(к,1 |
|
V |
|
f(x |
|
) |
|
(к) |
итера |
X/ 4 |
<к) |
f(x(k)) |
T |
(k) |
|vf(x)| |
|||||
Х2 |
I x(k)l |
|
|
or ' |
|||||||
ции к |
|
|
|
|
|
|
|
|
|
|
|
0 |
10 |
10 |
- |
1700 |
(200;140) |
244,13 |
0,056 |
||||
1 |
-1,2 |
2,16 |
0,97 |
24,48 |
(-10,6;16,20) |
19,84 |
0,12 |
||||
2 |
0,067 |
0,144 |
0,96 |
0,178 |
(1,65;1,71) |
2,37 |
0,059 |
||||
3 |
-0,03 |
0,043 |
0,88 |
0,011 |
(-о,31;о,31) |
0,438 |
0,042 |
||||
4 |
-0,017 |
0,03 |
0,34 |
0,0048 |
(-0,15;0,23) |
0,274 |
- |
Одно из главных преимуществ метода Коши связано с его устойчивостью. Метод обладает важным свойством, которое заключается в том, что при доста точно малой длине шага итерации обеспечивает выполнение неравенства
,(k+i> |
(k)тV |
|
|
v |
) |
) |
|
f(x^ |
< Цх |
6.3.3. МЕТОД НЬЮТОНА
Описанный выше метод наискорейшего спуска (метод Коши) основывается на последовательной линейной аппроксимации целевой функции и требует вы числения значений функции и ее первых производных на каждой итерации. Для того чтобы построить более общую стратегию поиска, следует привлечь инфор мацию о вторых производных целевой функции. Такая стратегия применяется в методе Ньютона, использующем, кроме градиента функции, и матрицу ее вторых производных Н (матрицу Гессе, гессиан)
a2f(x), a2f(x)
dx-i2 |
3xidX2 |
Эх-|Эхп |
V'f(x) = H = d2f(x) |
, d2f(x) |
ЗхгЭХп |
3xi5x2 |
dx22 |
|
a2f(x) , a2f(x) |
|
|
Sxn dXi |
5x n dx 2 |
dxn 2 |
![](/html/1438/356/html_Vjrav3EvUX.fwaY/htmlconvd-4q0HOB363x1.jpg)
364 |
Часть 1. Новые принципы работы |
Рассмотрим пример расчета. В качестве оптимизируемой функции выберем приведенную ранее, при описании метода Коши
f(x) = 8х-|2 + 4xiX2 + 5х22 -> min
Компоненты градиента функции выглядят так
df/dx-, |
16хт + 4х2 |
Vf(x) = |
10х2 + 4х1 |
df/dx2 |
а матрица вторых производных
V2 f(x) = H = 16, 4
4, 16
Стартовая точка, как и ранее, Х<0) = [10,10] Вычислим первое приближение
Х(1) = (10;10)т- (1/144) 10-4 |
200 |
= (10; 10)т- (1/144) 1440 = (0; 0)т |
-416 |
140 |
1440 |
Как видим, результат достигнут уже на первом шаге итераций. Данные расчета приведены в таблице.
№ |
х. |
х2 |
1х к + 1 - х к 1 |
|
|
I V f(x) | |
V2f(x) |
|
итера |
| х м | |
f(x) |
VTf(x(k)) |
А |
||||
ции к |
|
|
|
|
|
|
|
|
0 |
10 |
10 |
- |
1700 |
(200;140) |
244,13 |
16, 4 |
144 |
|
|
|
|
|
|
|
4, 10 |
|
1 |
0 |
0 |
1 |
0 |
(0;0) |
0 |
- |
- |
6.4. МЕТОДЫ РЕШЕНИЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ
Ранее были рассмотрены необходимые и достаточные условия оптималь ности решений оптимизационных задач без ограничений. Однако реальные про ектные задачи связаны с оптимизацией при наличии некоторого количества ог раничений на оптимизируемые параметры. Такие ограничения существенно уменьшают размеры области, в которой проводится поиск оптимума. На первый взгляд может показаться, что уменьшение размеров допустимой области долж но упростить процедуру поиска оптимума. Между тем, напротив, процесс опти мизации становится более сложным, поскольку установленные выше критерии
Глава 6. Методы поиска оптимальных решений |
365 |
оптимальности нельзя использовать при наличии ограничений. При этом может нарушаться даже основное условие, в соответствии с которым оптимум должен достигаться в стационарной точке, характеризующейся нулевым градиентом. Например, безусловный минимум функции f(x) = (х - 2)2 имеет место в стацио нарной точке х=2. Но если задача минимизации решается с учетом ограничения х >4, то будет найден условный минимум, которому соответствует точка х=4. Эта точка не является стационарной точкой функции f(x), так как f(4) = 4.
Поскольку задачи линейного программирования занимают особое место в решении проблем менеджмента, изучение методов многомерной условной оп тимизации начнем с описания симплексного метода решения задач Л П. Затем рассмотрим общие методы нелинейного программирования для задач с ограни чениями в виде равенств и неравенств.
6.4.1. СИМПЛЕКСНЫЙ МЕТОД
В главе 3 был описан графический метод решения задач линейного про граммирования, пригодный лишь для решения задач с двумя переменными. Вместе с тем, рассмотрение графического метода помогло обнаружить фунда ментальное свойство, выполняемое для всех задач ЛП: если в задаче линейно го программирования существует оптимальное решение, то, по крайней мере, одна из вершин допустимой области представляет собой оптимальное решение.
На этом свойстве основывается симплексный метод (симплекс-метод), яв ляющийся универсальным методом решения задач линейного программирова ния. Допустимая область задачи ЛП обычно состоит из бесконечного числа то чек, однако оптимальное решение всегда можно найти путем перебора конечно го числа вершин n-мерного многогранника, образованного этой допустимой об ластью.
Задача линейного программирования в стандартной форме с п перемен ными и m ограничениями имеет следующий вид:
максимизировать(или минимизировать) |
|
|
|
Z = c ^ i + с2х2 + ... + cnxn = £ |
C;X; -> |
max |
|
при ограничениях |
i=l |
|
|
|
= ЬЛ |
|
|
ацХ! + а12х2 |
+ ... + а1пхп |
(6.3) |
|
a2iXi + а22х2 |
+ ... + а2пхп |
= Ь2 |
|
amiXi + am2x2 + ... + amnxn = bm X! > 0, x2 > 0, . . . , xn > О
bi > 0, b2 > 0, . . . , bm > О
В компактных матричных обозначениях задача ЛП (6.3) может быть записа на следующим образом
366 |
Часть 1. Новые принципы работы |
|
||
|
|
Z = Сх -» шах |
|
|
|
|
Ах = Ь, х > О, b > О |
(6.4.) |
|
где А - |
матрица размерности |
т х п , х - |
вектор-столбец размерности nx1, b - |
|
вектор-столбец размерности т |
х 1 , а С - |
вектор-строка размерности 1хп. Обычно |
А называется матрицей коэффициентов, х - вектором переменных, b - вектором ресурсов, С - вектором оценок задачи Л П.
При решении задачи ЛП симлекс-методом требуется, чтобы эта задача бы ла представлена в стандартной форме (6.3 или 6.4.). Однако не все задачи ЛП имеют стандартную форму. Часто ограничения не являются равенствами, а представляют собой неравенства. В некоторых задачах не все переменные можно считать неотрицательными. Вследствие этого первый этап решения за дачи ЛП состоит в приведении ее к стандартной форме.
Ограничения в виде неравенств можно преобразовать в равенства при по мощи так называемых избыточных переменных. Например, неравенство вида Хч + 2х2 + Зх3 + 10х4 < 25 можно преобразовать в равенство при помощи введе ния избыточной переменной s^ x-i + 2х2 + Зх3 + 10х4 + Si = 25. Переменная Si неотрицательна и соответствует разности правой и левой части исходного нера венства. Следует подчеркнуть, что дополнительные введенные переменные столь же необходимы, как и исходные переменные задачи. Избыточные пере менные могут принимать только положительные значения, а их значения в оп тимальном решении позволяют судить о том, являются ли ограничения в виде неравенств активными.
Используя стандартную форму задачи ЛП в виде (6.4), можно сформулиро вать основные определения, относящиеся к решению задачи, следующим обра зом.
1.Допустимое решение представляет собой неотрицательный вектор х, для ко торого выполняются ограничения Ах = Ь.
2.Допустимая область, обозначаемая через Q, состоит из всех допустимых решений. Формально это определение можно записать так
Q = { X | A x = b , x > oj
Если допустимая область пуста (то есть, не имеется ни одного значения х, удовлетворяющего ограничениям), то задача ЛП называется противоречивой. 3.Оптимальным решением называется такой допустимый вектор х*, для кото рого соответствующее ему значение целевой функции Сх* больше, чем для лю бого другого допустимого решения.
4.Оптимальное значение задачи ЛП представляет собой значение целевой функции, соответствующее оптимальному решению. Если Z* - оптимальное значение, то Z* = Сх*.
5.В том случае, когда задача ЛП имеет более одного оптимального значения, говорят, что у нее имеются различные оптимальные решения. При этом суще-
Глава 6. Методы поиска оптимальных решений |
367 |
вует более одного допустимого решения со значениями целевой функции, рав ными оптимальному (Z*). Если это не так, говорят, что решение задачи ЛП
единственно.
6.Неограниченный оптимум. В том случае, когда задача ЛП не обладает конеч ным оптимумом (т.е. значение Z стремится к бесконечности), говорят, что задача имеет неограниченный оптимум.
Основы симплекс-метода
Рассмотрим общую задачу ЛП, записанную в стандартной форме (6.3). До пустим, что решение существует, причем оптимальное значение целевой функ ции конечно. В этом случае алгоритм решения задачи линейного программиро вания выглядит следующим образом:
Шаг 1. Выберем m переменных, задающих допустимое решение. Для построе ния пробных решений используются m переменных (соответственно числу урав нений системы ограничений), принимающих некоторые положительные значения при нулевых значениях остальных переменных. Исключим эти переменные из выражения для целевой функции.
Шаг 2. Проверим, нельзя ли за счет одной из переменных, приравненной внача ле нулю, улучшить значение целевой функции, придавая этой переменной от личные от нуля (причем положительные) значения. Если это возможно, перей дем к шагу 3. В противном случае прекратим вычисления.
Шаг 3. Найдем предельное значение переменной, за счет которой можно улуч шить значение целевой функции. Увеличение значения этой переменной допус тимо до тех пор, пока одна из m переменных, вошедших в пробное решение, не обратится в нуль. Исключим из выражения для целевой функции только что упомянутую переменную и введем в пробное решение ту переменную, за счет которой результат может быть улучшен.
Шаг 4. Разрешим систему m уравнений относительно переменных, вошедших в новое пробное решение. Исключим эти переменные из выражения для целевой функции. Вернемся к шагу 2.
Для выполнения всех указанных шагов алгоритма, ограничения и функцию цели представим в виде таблицы (при использовании информационных техно-
|
Xi |
х2 |
х3 |
Х„ |
1 |
0 = |
а-11 |
Эчг |
а-13 |
a-in |
Ь, |
0 = |
Э21 |
Э22 |
^23 |
32п |
ь2 |
0 = |
Э31 |
Э32 |
Эзз |
Эзп |
Ьз |
0 = |
a m i |
атг |
ЭтЗ |
" т п |
Ьт |
z = |
С1 |
с |
Сз |
с |
0 |
|
2 |
п |
368 Часть1. Новые принципы работы
логий эта таблица может быть организована в Microsoft Excel).
Задача шага 1 заключается в том, чтобы выбрать первоначальное допусти мое решение системы уравнений ограничений (6.3). Как правило, число уравне ний задачи меньше числа переменных ( т < п), поэтому множество ее допусти мых решений бесконечно.
В главе 5 был изложен классический метод решения систем линейных урав нений - метод Жордана-Гаусса. Используя идеи этого метода, для первых m
переменных (хч, х2 |
хт ) исходную таблицу за m шагов жордановых исключе |
||||||
ний преобразуем к виду |
|
|
|
|
|
||
|
|
Xm+1 |
Xm+2 |
Xs |
Xn |
|
1 |
Х1 |
= |
b l m+1 |
Ь г т + 2 |
b1s |
Ьщ |
|
Pi |
х2 |
= |
Ь г т + 1 |
Ь г т + 2 |
b2s |
Ьгп |
|
P2 |
|
|
|
|
• . . |
• • • |
- |
• • |
Х| |
= |
bim+1 |
bjm+2 |
bis |
Ьщ |
|
Pi |
|
|
|
|
- • . |
|
. . * |
|
Хщ — |
" m m+1 |
Dm m+2 |
bms |
"mn |
|
Pm |
|
Z = |
AZ |
AZ |
AZ |
AZ |
z |
( 0 ) |
|
|
Ax,m 2 |
Axs |
Axn |
||||
|
|
|
|||||
Переменные Хч |
х т , входящие с единичными коэффициентами только в |
||||||
одно уравнение системы и с нулевыми - |
в остальные, называются базисными, |
или зависимыми. В канонической системе каждому уравнению соответствует ровно одна базисная переменная. Остальные п - m переменных (хт+1, хт+2,..,хп) называются небазисными, или независимыми переменными.
При записи системы в каноническом виде, все ее решения можно получить, присваивая независимым переменным произвольные значения. Решение, полу ченное при нулевых значениях небазисных переменных, называется базисным
решением системы. Например, одно из базисных решений системы (6.3) задает ся как Xi = Pi, x2 = рг, ••• , х т = рт , хт+1 = хт+2 = ... = хп = 0, a Z (0) - значение це левой функции при этих значениях х. Если Pi, р2 Рт к тому же неотрица
тельны, то полученное решение является допустимым базисным решением. Итак, базисное решение называется допустимым базисным решением, если значения входящих в него базисных переменных неотрицательны. Если же ка кое-либо PJ оказывается отрицательным, то полученное базисное решение яв ляется недопустимым. С помощью жордановых исключений легко находится допустимое базисное решение. Для этого ищем в строке с отрицательным зна чением Pi произвольный элемент bis, который выбираем в качестве разрешаю щего элемента жорданова исключения. При этом соответствующая переменная xs становится базисной, а соответствующая базисная (х,-) становится независи мой.
Такие шаги жордановых исключений делают до тех пор, пока очередное но вое базисное решение не будет содержать ни одного отрицательного элемента.
Глава 6. Методы поиска оптимальных решений |
369 |
Этот базис и является допустимым. |
|
Следует отметить, что если строка с отрицательным значением |
PJ не со |
держит ни одного положительного элемента bis, то допустимого базисного реше ния не существует.
Интерпретация коэффициентов в строке Z
Каждый коэффициент в строке Z определяет положительное (если перед ним стоит знак плюс) или отрицательное (если перед ним стоит знак минус) при ращение Z при увеличении на единицу соответствующей небазисной перемен ной.
На шаге 2 симплексного метода, чтобы определить, какие переменные должны войти в очередной пробный базис, можно использовать легко реали зуемое правило, называемое симплекс-критерий 1.
Симплекс-критерий 1 (для задач максимизации):
Если в строке Z имеются небазисные переменные, коэффициенты при кото рых положительны, следует выбрать переменную (обозначим ее через хр) с наибольшим значением стоящего перед ней коэффициента, то есть ту пере менную, которая обеспечит наибольшее удельное приращение значения целе вой функции.
В случае, когда все небазисные переменные строки Z имеют отрица тельные или нулевые коэффициенты, оптимальное решение можно счи тать полученным.
Определив на шаге 2 с помощью симплекс-критерия 1 переменную, которую следует ввести в базис, необходимо теперь определить, какую переменную следует вывести из базиса в независимые переменные. Это устанавливается на шаге 3 с помощью симплекс-критерия 2.
Симплекс-критерий 2:
а) Рассмотрим отношения чисел, стоящих в правых частях преобразованной системы, к соответствующим коэффициентам при новой базисной переменной хр (не обращая внимания на отношения, в которых знаменатель равен нулю или представляет собой положительное число): (PP/bpi, i = l7rh).
б) Выберем отношения с наименьшим значениям - в очередном пробном реше нии хр приравнивается именно этому значению:
min(-pp/bpi, i = 1, m)
рР/ bpi< о
Пусть наименьшее из всех отношений правых частей системы к соответст вующим коэффициентам при хр связано с переменной хк, входящей в преды дущее базисное решение. Тогда нужно в новом базисном решении заменить хк на хр. Это производится на шаге 4, когда новый базис, содержащий хк взамен хр, получаем, как это описано, путем выполнения шага жорданова исключения с