Текст
                    Г.Реклейтис, АРейвиндран, КРэгсдел
Оптимизация
ЖВВНММШНГЖНННННМВМНМВНВЯММВ
в технике
2

Engineering Optimization Methods and Applications G. V. REKLAITIS A. RAVINDRAN Chemical Engineering Purdue University Industrial Engineering University of Oklahoma К- M. RAGSDELL Aerospace and Mechanical Engineering University of Arizona A Wiley-lnterscience Publication John Wiley and Sons New York • Chichester • Brisbane • Toronto Singapore 1983
ГРеклейтис, АРейвиндран, КРэгсдел Оптимизация в технике В 2-х книгах 2 Перевод с английского канд. техн, наук В. Я. Алтаева, В. И. Моторина МОСКВА «МИР» 1986
ББК 22.18 Р36 УДК 519.6 Реклейтис Г., Рейвиндран А., Рэгсдел К- Р36 Оптимизация в технике: В 2-х кн. Кн. 2. Пер. с англ.— М.: Мир, 1986.— 320 с., ил. Монография известных американских специалистов посвящена прикладным аспектам теории математического программирования. Рассматриваются методы линейного, целочисленного и нелинейного программирования, используемые для решения задач оптимизации технических систем, а также вопросы реализации соответствующих алгоритмов с помощью ЭВМ. Изложение иллюстрируется много- численными примерами решения конкретных инженерных задач оптимизации В русском переводе выходит в двух книгах, Для ииженсров-коиструкторов, специалистов в области проектирования техни- ческих систем и устройств, а также преподавателей, аспирантов и студентов техни- ческих вузов. 2109000000-305 ₽ 041 (01)-86 154-86, ч. 1 ББК 22.18 Редакция литературы по информатике и электронике Монография Г. Реклейтис, А. РейвииДран, К.’ Рэгсдел ОПТИМИЗАЦИЯ В ТЕХНИКЕ 4 Старший научный редактор Л. П. Якименио. Младший научный редактор Ю. Л. Евдокимова. Художник Л. В. Захаров. Художественный редактор Н. М. Иванов. Технический редактор Н. И. Манохина. Корректор С. А. Денисова. ИВ № 5511 Сдано в набор 28.11.85. Подписано к печати 20.05.86. Формат 60х902/1в- Бумага типографская № 1. Печать высокая. Гарнитура литературная. Объем 10,00 бум. л. Усл. печ. л. 20,00. Усл. кр.-отт. 20,00. Уч.-изд. л. 20,02. Изд. № 6/4066. Тираж 21.000 экэ. Заказ № 1865. Цена 1 р. 80 к. ИЗДАТЕЛЬСТВО «МИР» 129820, ГСП, Москва, И-110, 1-й Рижский пер., 2 Ордена Октябрьской Революции и ордена Трудового Красного Знамени МПО «Первая Образцовая типография» имени А. А. Жданова Союзполиграфпрома при Государственном комитете СССР по челам издательств, полиграфии и книжной торговли. 113054, Москва, Валовая, 28 © 1983 John Wiley & Sons, Inc. All rights reserved. Authorized translation from English language edition published by John Wiley & Sons, Inc. © перевод на русский язык, «Мир», 1986.
Глава 9 Методы выбора направления, основанные на линеаризации Во всех основанных на линеаризации алгоритмах, которые рас- сматривались в гл, 8, используются методы решения задач ЛП для определения последовательных приближений. В заданной точ- ке x(t> линеаризованная подзадача определенным образом видоизме- няется, а затем решается задача ЛП для нахождения следующего приближения х(/+1). Вместе с тем вряд ли следует ожидать, что линеаризованная задача даст очень хорошие оценки границ допу- стимой области и значений целевой функции вдали от базовой точки, в которой проводится линеаризация. Вместо того чтобы пытаться определить очередное приближение с помощью, вообще говоря, неточной линеаризации, линейную аппроксимацию лучше использовать только для выявления подхо- дящего направления поиска в каждой точке. В этом случае точку оптимума вдоль данного направления можно определить непосред- ственной проверкой значений исходной целевой функции и функций, входящих в ограничения, без помощи старых линеаризованных ограничений, точность которых уменьшается при удалении от ба- зовой точки. Аналогичная стратегия применяется в градиентных методах безусловной оптимизации. Линейная аппроксимация (гра- диент) используется для определения направления, а исходная функция — для управления поиском вдоль этого направления. Естественно, что в задачах с ограничениями линеаризуются как ограничения, так и целевая функция, а направления необходимо выбирать так, чтобы они приводили к допустимым точкам. На этих соображениях основаны методы, излагаемые в данной главе. 9.1. Методы допустимых направлений Исторически первыми методами выбора направления, основан- ными на линеаризации, являются методы допустимых направлений, разработанные Зойтендейком [1]. Рассмотрим задачу с ограничениями в виде неравенств: минимизировать f(x) при ограничениях g;(x)>0, /=1». . J.
6 [ЛАВА 9 Пусть х(1) — начальная точка, удовлетворяющая ограничениям, т. е. gy(x(1,)>0, / = 1,. . ., J. Предположим, что некоторые ограни- чения выполняются как равенства в х(1). В работе [1] вектор d определяет подходящее направление для поиска, если d — направле- ние спуска, т. е. Vf(xU)M<0, и если точки луча х(а)=х(1,+ас!, где со>0, являются допустимыми по крайней мере на небольшом расстоянии от х(1). С точностью, обеспечиваемой линейной аппроксимацией, точки x(d) вдоль d будут допустимыми, если для всех связываю- щих в х(1) ограничений выполняется условие gj (х; х(1)) == gj (х(1>) + Vg} (х(1)) (х—х(1)) > 0. Так как по предположению gi(x{1')=0 и х—х(1)=ас!, где а2>0, то последнее требование эквивалентно следующему условию для d: S/gj(xm)d^0 для всех gj(x), равных нулю в х(1). Направление d, удовлетворяю- щее записанным выше неравенствам, получило название допустимо- го направления. Основная идея, развиваемая в работе [1], состоит в том, чтобы на каждом шаге итерации определять вектор d как до- пустимое направление и направление спуска. Обычно для этого ищется такой нормированный вектор направления d и скалярный параметр 0>О, что V/(xa))d^—0 и Vg;(xll))d>6, а значение 0 выбирается по возможности большим. В вычислитель- ных процедурах, связанных с определением направления, вероят- ные d удобно нормировать, вводя границы —i=l,. . ., Л/. Такой способ выбора вектора d обеспечивает разумный компро- мисс между движением внутрь области допустимых значений без нарушения ограничений и движением по направлению наискорей- шего спуска. После того как вектор направления выбран, очередное прибли- жение может быть определено поиском по а вдоль прямой x=xu,+adui до тех пор, пока либо /(х) не достигнет оптимума, либо какое-либо ограничение не окажется нарушенным. Обычно сначала производит- ся вычисление значения а, при котором какое-либо из ограничений £,(х)^0 впервые оказывается связывающим. Иначе говоря, для каждого ограничения gj (х)2>0 находится значение а,->0, при кото-
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 7 ром gj (х(1)+ас!11>)=0, а затем а как наименьшее из aj. Вычислить значение а можно, определяя ограничивающее его значение х, при котором некоторое gy(x)<0, и используя затем какую-либо процедуру нахождения корня, например метод средней точки. При известном а можно использовать любую процедуру одномерного поиска для определения а, которое минимизирует функцию f (х(1) + ас!(1)) на отрезке [0, а]. 9.1.1. Основной алгоритм В данной допустимой точке х(П определим /,п как множество индексов тех ограничений, которые активны в xU) в пределах за- данной погрешности е, т. е. .... J} для некоторого малого е>0. Полная итерация метода возможных направлений состоит из следующих трех шагов. Ш а г 1. Решить задачу линейного программирования: максимизировать 0 при ограничениях vf (хи>) —0, Vg/(x(t))c(>0, — i=l.......M. Пусть dU) и 0U) — полученное решение. Ш а г 2. Если 0lt)^CO, то итерацию закончить, так как дальней- шие улучшения невозможны. В противном случае найти а = min {а: gf (xU) + ad(tr) = 0, /= 1, ...,J и а^О}. Если не существует а>0, положить а=оо. Ш а г 3. Найти такое а1П, что / (х‘“ + = min {/ (xtn + a (d(t>)): 0 а а}. Положить х1‘+1)=х1П+аи>£Гп и продолжить решение. Отметим, что при определении множества активных ограничений /1П учитывалась погрешность е>0. Роль этого параметра рассматривается в следую- щем разделе. Пример 9.1 Минимизировать f(x)= (%!—3)2+ (х2—З)2 при ограничениях g1(x)=2x1—х%—1^0, g2 (х)=9—О.Злц—2х2^0. Градиенты этих функций имеют вид Vf=[2(M—3), 2(х2—3)1, Vgi=[2,—2х2], Vg2=[—1,6X1, —2].
8 ГЛАВА 9 Предположим, что дано допустимое начальное значение х(1> = (1, 1). В этой точке Ях (*">) = 0,0, g2 (х(1>) = 6,2 > 0. Таким образом, является единственным связывающим огра- ничением, /(1’= {1}, и первая решаемая подзадача принимает вид максимизировать 0 при ограничениях —4dt—4d2+0^O, 2di—2d2—0>О, —lC(dbd2)^l. Решением этой задачи линейного программирования является dll)=(l, 0) и 01П=2. Теперь на луче /1\ /1\ x=\i) + \n)a = l j }, где а > 0, требуется найти точку, в которой он пересекает границу области допустимых значений. Так как gi (а)=2(1 +а)—1—1 = 2а, то gi(x) неотрицательна для любого а^О и с увеличением а огра- ничение не нарушается. Для определения точки пересечения с огра- ничением g2(x)^0 решается уравнение g2(a)=9—0,8 (1 +а)2—2=0, откуда а= 1,958. И наконец, исследуется отрезок О^а^ 1,958 для определения оптимума функции /(«)=[(! +а)-3]2+(1-3)2=(а—2)2+4. Минимум, очевидно, достигается на верхней границе а, т. е. при аП) = 1,958. Таким образом, итерация заканчивается в точке х(2) = = (2,958, 1). Связывающим здесь является только второе ограни- чение. Отметим, что в любой реализующей этот алгоритм машинной программе как поиск граничного значения, так и одномерный по- иск оптимума можно реализовать с помощью итеративных методов, подобных описанным в гл. 2. Вторая итерация (с начальной точки х(2)) начинается с решения следующей подзадачи: максимизировать 0 при ограничениях —0,084 dj—4d2+0^O, —4,733d!—2d2—0>O, —l<(d„ d2)<l, построенной с помощью градиента g2(x). В результате решения
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ. ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 9 задачи линейного программирования получаем d2=(—1; 0,8028) и 0(2)=3,127. Поиск на луче дает «.=0,9311. В полученной точке луч пересекает ограничение gi (х)^0. Минимальное значение f(x) на отрезке О^а^а достига- ется при а=а; следовательно, а(3)=0,9311 и х(3) = (2,027; 1,748). Итеративный процесс можно подобным образом продолжать вплоть до достижения минимума х* = (2,5; 2,0) в пределах заданной точ- ности. Описанные выше итерации показаны на рис. 9.1. Рис. 9.1. Область допустимых значений, пример 9.1. 9.1.2. Множества активных ограничений и заедание Из примера 9.1 видно, что в последовательно получаемых подза- дачах выбора направления на итерациях метода допустимых на- правлений используются различные множества активных ограниче- ний /(П. Понятно, что с вычислительной точки зрения для постанов- ки подзадачи удобнее использовать только часть ограничений, так как задача ЛП выбора направления оказывается в результате меньшей размерности. Однако, учитывая только те ограничения, которые активны в данной допустимой точке, получаем зигзагооб- разный процесс, к сожалению, замедляющий решение.
10 ГЛАВА 9 Пример 9.2 Минимизировать f(x) =—xs при ограничениях gi(x)=x2^0, g-2(x) = l—х2^0, gs(x)=Xi>0, gt(x)=8—Xi>0. Пусть задана допустимая точка х(1>=(1, 0). Тогда, поскольку огра- ничение gr (х)^0 активное, подзадача выбора направления имеет следующий вид: максимизировать 0 при ограничениях (—1, 0)d^—0, (0, l)d>0, + 1, или, что то же самое, d2>0, d2>0, IXdu d2)>—1. Решением является dtn=(l, 1) и 0=1. При этом поиск вдоль луча очевидно, приводит к а=1. Минимизация f(x) на отрезке O^a^l дает xt2)=(2, 1). В х121 ограничение g2(x)^0 активное; следователь- но, подзадача выбора направления принимает вид максимизировать 0 при ограничениях d^Q, —d2^Q, + 1>№, d2)>-l. В результате получаем d(2’=(l, —1). Кроме того, а=1, а х12)=(3, 0). Движение внутри области допустимых значений продолжается вдоль зигзагообразной траектории, изображенной на рис. 9.2, до тех пор, пока не будет достигнута верхняя граница хх. Если на каждом шаге учитывать близость границ х2, то, очевидно, кривую поиска можно сгладить, а оптимум найти более экономным образом. На практике простое определение множества активных ограни- чений, использованное в алгоритме допустимых направлений, = /=1......J}
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ Ц может не только замедлить итеративный процесс, но и привести к сходимости к точкам, которые не являются точками Куна — Так- кера [2, гл. 13]. Двумерные примеры этого явления не известны, но трехмерный пример дан Вульфом [3]. Такой тип ложной сходимости известен как заедание. Это явление обусловлено тем, что получамый на каждой итерации шаг становится все короче и короче, а вектор направления колеблется между близкорасположенными границами. Шаги становятся короче не потому, что в результате одномерного поиска достигается оптимум, а в силу того, что пересекается близ- лежащее ограничение, которое не учитывалось в подзадаче выбора направления. Предлагались различные модификации, гарантирую- щие устранение заедания. Рассмотрим две из них: метод е-возмуще- ний и метод Топкиса — Вейнотта. Метод 8-возмущений. Выше при определении множества актив- ных ограничений /1П использовался малый параметр допустимой погрешности е. Как показано в работе [2], указанная ниже пошаго- вая корректировка значения е гарантирует сходимость. 1. В точке x{t) при заданном eU)>0 определить и выпол- нить шаг 1 основного алгоритма. 2. Модифицировать шаг 2 следующим образом. Если 0(п^8|/>, положить e(/+1’^e(t) и продолжать одномерный поиск как в основном методе. Если 0t()<etfl, то положить e(t+1)=1/2e<t) и продолжать одномерный поиск как в основном методе. Если 0tr)<O, то точка Куна — Таккера найдена. В данной модификации имеет смысл брать начальное значение 8 достаточно большим, чтобы можно было учитывать ограничения в возможно большей окрестности точки x{ty. Далее в процессе итера- ций эта окрестность уменьшается по мере необходимости. Метод Топкиса — Вейнотта. Другой подход к этой задаче со- стоит просто в полном отказе от идеи использования активных ограничений. Тогда подзадача выбора направления имеет вид максимизировать 0 при ограничениях Vf(x<ty)d^—0, gy(x<f9 + V£/(x<',)d>0,/=l......J, 1 1. В остальном основной алгоритм остается без изменений. Отметим, что главное различие в постановке подзадачи состоит во включе- нии gj(xur) в соответствующее неравенство. Если ограничение неактивно в xU), т. е. если gj(xay)>0, то /-е ограничение меньше влияет на выбор d, так как положительное значение g} уравнове- шивает влияние члена, содержащего градиент. Как показано в работе [4], такая постановка подзадачи позволяет избежать неожи- данных изменений в направлении поиска при приближении к гра- нице области допустимых значений, а следовательно, заедания.
12 ГЛАВА 9 Пример 9.3 Рассмотрим решение задачи примера 9.1 с использованием метода Топкиса — Вейнотта. При х<1)=(1, 1) подзадача выбора направле- ния имеет вид максимизировать 0 при ограничениях —4dt—4d2+0=CO, 2dL—2d2^0, 6,2—1,6^—2d2>9, l>(di, d2)>—1. Отметим, что третье неравенство соответствует условию g2 (х(1)) + Vg2 (x(1,)d>0. Направление d(1)=(l, 0), полученное в примере 9.1, является реше- нием и в данном случае. Положительное значение g2 в точке х(1) достаточно велико и компенсирует член, содержащий градиент, —1,6(1)—2(0)=—1,6. Таким образом, неравенство, соответствую- щее неактивному ограничению g2(x)^0, на результат не влияет. В точке xt2) = (2,958; 1,0) подзадача имеет вид максимизировать 0 при ограничениях —0,084^—4d2+9<0, —4,733di—2d2>0, 3,916+2^—2d2>0, d2)>—1. Третье неравенство соответствует ограничению gi^O, которое в точке х(2) неактивно. В данном случае наличие неравенства, соот- ветствующего ограничению gi^O, влияет на оптимальное решение. Имеем d<2>=(_0>5816; 0,4669) и 0t2)= 1,8189. Поиск вдоль луча /2,598\ /— 0,5816\ Х \ 1,0 / + 0,4669/ приводит к точке оптимума х(3’ = (2,0269; 1,7475), которая незначи- тельно отличается от точки, полученной в примере 9.1. Дальней- шие итерации показывают, что по мере приближения к оптимуму включение неактивных ограничений ускоряет процесс, так как спо- собствует выбору направлений более крутого спуска. 9.1.3. Обсуждение Можно показать, что при разумном предположении о непре- рывной. дифференцируемости целевой функции и функций, входя- щих в ограничения, основной алгоритм как в е-форме, так и в фор- уме Топкиса— Вейнотта обеспечивает сходимость к точкам Куна —
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 13 Таккера [2, 4], Естественно, что в случае невыпуклой допустимой области необходимо аккуратно производить одномерный поиск, так как, двигаясь вдоль вначале допустимого направления d, можно выйти за пределы области допустимых значений, а затем вновь вер- нуться в нее. Как правило, учитывается только ближайший допусти- мый отрезок. Кроме того, в случае невыпуклой целевой функции в ходе одномерного поиска можно столкнуться со случаем многоэкст- ремальности. Обычно берется первый встреченный локальный ми- нимум. При этих условиях метод применим и обладает тем важным преимуществом, что на каждой итерации генерируются только до- пустимые точки. Это очень существенно для инженерных приложе- ний, в которых используемая модель системы может быть неверной или просто лишенной смысла вне области допустимых значений. Две особенности методов допустимых направлений — гарантированная сходимость для невыпуклых задач и допустимость получаемых то- чек — придают им определенные преимущества по сравнению с методами отсечения. Однако недостатками как тех, так и других методов являются медленная сходимость и неспособность удовлетво- рительно решать задачи с ограничениями в виде равенств. В задаче выбора направления берутся направления градиент- ного спуска. Кроме того, как уже отмечалось в примере 9.2, тре- бование строгой допустимости выбираемого направления приводит к отклонению от направления наискорейшего спуска, что может в принципе уменьшить скорость приближения к решению. Таким образом, скорость сходимости в методах допустимых направлений не выше, чем в градиентном методе безусловной оптимизации. До сих пор не было предложено процедуры, ускоряющей медленную сходимость методов градиентного типа. Маловероятно, чтобы такая процедура вообще была найдена, так как получаемые итерационные траектории, как правило, уходят в глубь области допустимых зна- чений, что затрудняет накопление информации об ограничивающих поверхностях, которую можно использовать для ускорения про- цесса . Методами допустимых направлений нельзя непосредственно пользоваться для решения задач с нелинейными ограничениями в виде равенств в силу отсутствия у последних допустимой внутренней области. Линеаризация нелинейных ограничений в виде равенств неизбежно приведет к выбору направления, уводящего от поверх- ности, задаваемой ограничениями, и, следовательно, ведущего в недопустимую точку. Для решения задач с ограничениями в виде равенств необходимо ослабить каждое ограничение /ift(x)=0, допу- стив ограниченное перемещение вне поверхности, задаваемой огра- ничениями, т. е. Однако если с мало, то одномерный поиск осуществляется неболь- шими шагами и скорость процесса невелика. С другой стороны,
14 ГЛАВА 9 если допускается ограниченное движение вне границ допустимой области, облегчающее выбор допустимого направления, то итератив- ное решение соответствующих ограничениям уравнений нужно про- ектировать на область допустимых значений, как показано на рис. 9.3. Другим существенным недостатком методов допустимых направ- лений является необходимость решения подзадач ЛП. Исходя из Рис. 9.3. Итерации для достижения поверхности, заданной ограничением в виде равенства. опыта использования градиентного метода безусловной оптимиза- ции, следует помнить, что локально лучшее направление не обяза- тельно ведет к глобальному оптимуму. Таким образом, усилия, затраченные на вычисление локально лучшего соотношения между спуском и допустимостью, на самом деле могут оказаться неоправ- данными. Возможно, что упрощение вычислений, допускаемое при выборе направления спуска без решения задачи линейного програм- мирования, вполне компенсирует потери в скорости сходимости. Методы, рассматриваемые в следующих двух разделах, не имеют указанных недостатков методов возможных направлений. 9.2. Обобщение симплекс-метода на задачи с линейными ограничениями В основе методов, рассматриваемых в данном разделе, лежит следующее соображение. Поскольку количество направлений, одно- временно являющихся как допустимыми, так и направлениями спуска в заданной точке, вообще говоря, бесконечно, в качестве критерия выбора следует принять простоту вычислений. В случае задач линейного программирования выбор направления поиска упрощается, поскольку на каждом шаге изменяется значение только одной переменной. Допустимость обеспечивается контролем за ограничениями знаков, а уменьшение значения целевой функции гарантируется выбором переменной с отрицательной относительной оценкой. В данном разделе рассматриваются возможности модифи-
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ. ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 15 сации весьма эффективного симплекс-метода выбора направления 1ля решения задач нелинейного программирования. Для простоты >граничимся рассмотрением лишь задач НЛП с линейными ограни- 1ениями. Общий случай задач НЛП будет рассмотрен в разд. 9.3. ).2.1. Выпуклый симплекс-метод Начнем с краткого напоминания основных шагов симплекс-ме- 'ода в матричном виде для линейных задач в стандартной форме: минимизировать /(х)=сх при ограничениях Ах=6, х^О. Пусть задана допустимая вершина х°. Тогда вектор переменных х разбивается на две группы: базисные переменные х, большие нуля, 1 небазисные переменные х, равные нулю. Отметим, что если матри- га А содержит М строк, а вектор х имеет N компонент, то векторы х I х имеют М и N—М компонент соответственно. В соответствии с этим разбиением столбцы матрицы А разбиваются на две группы: В и А, а вектор коэффициентов целевой функции разбивается нас л с. На первом шаге алгоритма базисные переменные выражаются терез небазисные. Умножив обе части Вх+Ах=6 на В-1, получим х + В-1Ах = В-16. (9.1) В этой форме значения текущих базисных переменных определяются соотношением х=В-16, тогда как все текущие небазисные переменные равны нулю: х=0. На следующем шаге алгоритма вычисляется вектор относитель- ных оценок. Для этого из оценок при небазисных переменных вы- читается скалярное произведение вектора оценок при базисных пере- менных на столбец таблицы, соответствующий небазисной пере- менной. Другими словами, с = с—cB-xA. (9.2) Для определения вводимой в базис небазисной переменной вычисля- ется коэффициент cs = minfc;: с,- < 0, /= 1,..N — /И}. Исключаемая базисная переменная хг выбирается по правилу мини- мального отношения. Иначе говоря, ищется такое г, что Д =^- = min ^>0, /₽1.................Л1}, (9.3) Prs \Pjs f
16 ГЛАВА 9 где pJk — элементы матрицы В-1А. Таким образом, новым допу- стимым базисным решением будет ( Аг, если i = г, л ' (9-4) ' ( X/—Pjs&r, если / г, а все остальные переменные равны нулю. В этом месте заново поме- чаются переменные х и х. Поскольку производится изменение базиса, то В, А, с и с определяются заново, матрица В-1 вычис- ляется заново и начинается новый цикл итераций. Предположим, что этот же алгоритм применяется в том случае, когда вместо линейной целевой функции используется линеаризо- ванная нелинейная целевая функция /(.г). Таким образом, вместо с используется градиент Г/(х°), вычисленный в некоторой началь- ной точке х°. Если х° — допустимое базисное решение, то х опять разбивается нах и х; тогда можно вычислить относительную оценку V/(x°) = V/(x°)—у/(х°)В-1А, (9.5) как и в линейном случае [см. соотношение (9.2)]. Здесь V/— част- ные производные f по переменным х, а V/ — частные производные по переменным х. В выражении (9.5) V/ представляет собой относи- тельное изменение целевой функции в точке х° с учетом линейных ограничений. В справедливости этого можно убедиться следующим образом. Так как х и х связаны соотношением (9.1), можно исклю- чить х из /(х), что дает / (х) = / (х, х) = f (В~1Ь—В~1Ах, х). Поскольку f(x) может быть представлена в виде функции, завися- щей лишь от х, то, применяя правило дифференцирования сложной функции и взяв производные от f по х, получим уравнение (9.5). Если какая-либо компонента V/ отрицательная, то в силу /(х)-/(х°) = У/(х»)(х-?) (9.6) увеличение соответствующей переменной х приводит к уменьшению значения целевой функции. Как и в линейном случае, при увели- чении небазисной переменной можно достигнуть точки, в которой базисная переменная обращается в нуль. Однако в отличие от ли- нейного случая за точкой х° значение V/ будет изменяться, и, сле- довательно, появится возможность достигнуть минимума, не доходя до соседней вершины. Очевидно, что для определения такого мини- мума понадобится одномерный поиск. Однако границы одномерного поиска будут устанавливаться по правилу минимального отноше- ния, как и в чисто линейном случае. Таким образом, применение симплекс-метода ё случТге-’-иелщней- ной целевой функции требует: ' ''~
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ. ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 1) вычисления градиента функции; 2) вычисления координат модифицированного вектора относи- тельных оценок при помощи соотношения (9.5); 3) проведения процедуры одномерного поиска между данной вершиной и выбранной соседней вершиной. Прежде чем продолжать дальнейшие рассуждения, рассмотрим небольшой пример. Пример 9.4 Минимизировать /(х) = (м—1)2+(х2—2)2 при ограничениях 2х2—Х!<2, Xi+x2<4, х>0. Как показано на рис. 9.4, безусловный оптимум f находится в не- допустимой точке (1, 2). Условный оптимум лежит на поверхности, заданной первым ограничением. Рис. 9.4. Область допустимых значений, пример 9.4. Вводя дополнительные переменные х3 и х4, систему ограничений можно привести к канонической форме. Таким образом, —Х1+2х2+хз=2, Х1+х2+-Х4=4. Исходный базис состоит из переменных х3 и х4. Следовательно,. Xj=x2=0, и исходная точка находится в начале координат (рис. 9.4). Поскольку х= (х3, х4), а х=(х4, х2), имеем 1/’ А=(, 1 1J’ ^*Л=(-2; -4), v/ = (0; 0).
18 ГЛАВА 9 Заметим, что В-1 = В. Вектором относительных оценок, вычислен- ным по формуле (9.5), является Vf=(-2;-4)-(0,0)(J ?)(“} 2} = (-2;-4). В базис следует ввести переменную х2=х2, так как I d'f/dXi | < | df/dx21. Поскольку min(2/2,%) = % = 1 = Др из базиса исключается Xi=x3. Из формулы (9.4) следует, что в новой точке х'/’ = х2 = А, = 1, Д2» = х4 = 4—(1)А1 = 3. Для определения минимума функции f(x) на отрезке [х°, х’1’] не- обходимо провести одномерный поиск. Отметим, что х, остается равной нулю, тогда как х2 изменяется в соответствии с соотношением х2=0+сс (1) = а. Таким образом, /(а)=(а—2)2. Очевидно, что /(а) монотонно убы- вает по а и оптимальное значение а равно 1. Поиск в результате приводит в соседнюю вершину х,п. В точке х11) имеем х=(х2, х4) = (Г, 3), х = (xlt х3) — (0; 0) Кроме того, V/(х(1)) = (—2; 0), v7(x(1))=(-2; 0). Используя формулу (9.5), получаем / 72 0\/— 1 1\ V/(x(1’) = (-2, 0)-(-2, 0)(^_^ j 0J = (—3,1). Ясно, что значение xx=Xj необходимо увеличить. Учитывая, что коэффициенты при небазисных переменных задаются как мз формулы (9.3) получаем ( 3 ) А, = min <— 2. 1/2 J
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 19 Таким образом, х2=х4 исключается из базиса, а новая вершина имеет координаты х'2) = х2 = 1 + = 2, 42’ = х, = А = 2. Теперь следует провести одномерный поиск вдоль прямой Подставляя полученное выражение в /(х), получаем /(а)=(2а—1)2+(а—I)2. Положив д[/да=0, находим а* =0,6. Таким образом, оптимум дости- гается в точке х<2’ = (1,?; 1,6; 0; 1,2). Так как поиск окончен, не доходя до следующей вершины, старая базисная переменная х4 не равна нулю и, следовательно, нет необхо- димости изменять базис. Предположим, что старый базис (х2, х4), сохраняется. Тогда vf=( — 0,8; 0), V?=(0,4;0). Следовательно, V/(xt21)=(0,4; 0) —(0,8; _/2>) = (0; 0,4). Поскольку V/>0, то х<2) на самом деле дает оптимальное решение. Заметим, однако, что х<2’= (хь х3)=(1,2; 0), т. е. имеется ненулевая небазисная переменная, или, что то же самое, х<2) не является вер- шиной. Такая ситуация невозможна в случае задач ЛП, но, очевид- но, должна учитываться при распространении метода на задачи с нелинейной целевой функцией. Последний пример иллюстрирует основные особенности распро- странения симплекс-метода на задачи с нелинейной целевой функ- цией и, кроме того, указывает на возможность существования по- ложительной небазисной переменной. Очевидно, что положительные небазисные переменные появляются всякий раз, когда одномерный поиск дает оптимум в точках, которые не являются вершинами. Чтобы учесть эту ситуацию, прежде всего необходимо модифициро- вать критерий выбора небазисной переменной, подлежащей введе- нию в базис. После этого следует внести соответствующие изменения в формулы вычисления координат следующей вершины (точки, в направлении которой проводится одномерный поиск).
20 ГЛАВА 9 Рассмотрим две следующие ситуации в точке x{t} с заданным базисом и вектором vf(x{1)), соответствующим небазисным пере- менным х. 1. Компонента V/, отрицательная для некоторого равного нулю или положительного х;. 2. Компонента V/; положительная для некоторого хг>0. В качестве линейной аппроксимации (9.6) получаем А' - М _ _ f(x)—f(x{t>)= 2 ы Если для некоторого хг выполняется неравенство Г/г<0, то, вы- бирая (х—x(f))i>0 и (х—xt/))ft=0 для всех остальных переменных, будем иметь /(х) —/(х(,)) < 0. Таким образом, при увеличении хг значение целевой функции умень- шается. Аналогично если V/;>0 для некоторого хг>0, то, выбирая (х—x(t’)i<0 и (х—х(())ь=0 для остальных переменных, опять будем иметь f(xH(xrt,)<0. Выбор (х—xtn)i<0 возможен только в том случае, когда хф>0. С другой стороны, если в x(t) выполняется неравенство V/,^0 для всех X; и ^ft=O для любого х;>0, то дальнейшие улучшения невозможны и локальный оптимум достигнут. Таким образом, получено не только правило выбора небазисных переменных, но и необходимое условие оптимальности. В разд. 9.3 для более общего случая показано, что условия (условие неотрицательности), (9.7) xf(V?() = 0 (условие дополняющей нежесткости), (9.8) где г = 1,. . , (V—М, являются просто другим способом выражения необходимых условий Куна — Таккера для локального минимума. Пример 9.5 Проверим условия (9.7) и (9.8) в точке х(2), в которой заканчи- ваются вычисления в примере 9.4. В этой точке имеем х = (1,2;0), р/=(0;0,4). Поскольку (0; 0,4)^0, то условие (9.7), очевидно, выполняется. Кроме того, х, Vf, = 1,2x0=0, х2 у/2 = Ох 0,4 = 0.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 21 Таким образом, условия (9.8) выполняются, и х(2) является точкой Куна — Таккера. Поскольку функция f(x) выпуклая, то х(2) дает и глобальный условный минимум. Нарушение какого-либо из условий (9.7) или (9.8) приводит к очевидному правилу выбора небазисной переменной, подлежащей введению в базис. В частности, пусть ps = min{0, 1..............Д' —/И}, (9.9) у9 = max {0, i = 1, ...,N — М]. (9.10) Если 1Р51>уг,то xs необходимо увеличивать, изменяя только базис- ные переменные, пока одна из них не обратится в нуль. Если |^5| <1у91, то xQ следует уменьшать только за счет базисных переменных. В пос- леднем случае xq необходимо уменьшать до тех пор, пока либо какая- нибудь переменная х, либо сама xq не обратится в нуль. Перейдем теперь к полному описанию алгоритма, известного под названием выпуклого симплекс-метода ([2], гл. 8; см. также [5]). Алгоритм выпуклого симплекс-метода Пусть даны допустимая точка х°, разбиение вектора переменных х=(х х) и допустимая погрешность сходимости е>0. Шаг 1. Вычислить ^f(x{t)). Ш а г 2. Вычислить и по формулам (9.9) и (9.10). Ш а г 3. Если се и у?<е, то закончить вычисления. В про- тивном случае рассмотреть два варианта. (а) Если то определить Дг-тт|-^-:рл>0,/ = 1, ""М и положить Д = ДГ. (б) Если IPJ<y9, то определить Ar=min{~p2’ :р,‘'<0,/=1........М} и положить Д=—тт(Дг, xq). Ш а г 4. Определить точку рН), задающую направление очеред- ного одномерного поиска: 0'’ = х/>—рЛД, -(() _ / х*/’ + Д, если i — k, ‘ ( 0 в противном случае. где k равно s или q в зависимости от выбранного варианта 3 (а) или 3(6). Ш а г 5. Найти такое а*, что f (л'<(> + а* (п(,)— х(/))) = = min {/ (x(t,-|-a (d(/)—xU))): 0<а<1}. a
22 ГЛАВА 9 Ш а г 6. Положить хп+1)=х(П+а* (ц(/)—х(,)). Если а* = 1 и А=АГ, то вычислить заново базис и его обратную матрицу. В противном случае оставить прежний базис и перейти к шагу 1. Пример 9.6 [4] Минимизировать f (х) = xl + х2х3 х] при ограничениях 113хл + х2 + х3 + 1)2х^—х3 = 4, /4^1 “Ь ^2 = 2, X; 0, i = 1, ..., 6. Пусть дана начальная точка х°= (О, 2, 3, 0, 1, 0), в которой f(x°) = =6,0. Выбираем х=(х2, х3) и х= (х3, х4, хъ, х3). Таким образом, vf=(3, 2), Vf = (0; 0; 0; 0). Первая итерация Шаг 1. v?(x°)=(—3/4; —1; 2; 1). Ш а г 2. p2 = min(0; —3/4; —1; 2; 1) = —1, у3=тах(0; 0; 0; 2; 0)=2. Ш а г 3. Поскольку ip2Ky3, то имеет место случай (б), т. е. третья небазисная переменная х3 должна быть уменьшена. Тогда, поскольку где А3 обозначает третий столбец матрицы А, получаем A2=min{—3/—1 }=3 и А=—min{3; 1}=—1. Таким образом, х3 принимает нулевое значение раньше любог базисной переменной. Ш а г 4. Координаты точки, задающей направление очередногс одномерного поиска, равны Ui=y2=2— (0) (— 1)=2, v2=v8=3—(—1)(—1)=2, Vs=P5=l + (—1)=0. Все остальные vt (т. е. ц1; vt, ve) остаются нулевыми. При этом ц°= (0; 2; 2; 0; 0; 0). Ш а г 5. Минимум на отрезке х=х°+а(и°—х°), 0<а<1, достигается при а* = 1,0. При этом /(а*)=4,0.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ. ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 23 Ш а г 6. Следующим приближением оказывается точка х(1) = — п°. Поскольку ни одна базисная переменная не обратилась в нуль, то ни базис, ни В-1 не вычисляются заново. Вторая итерация Шаг 1. V?(х(1))= (—1/2; -1; 2; 0). Шаг 2. p2=min(0; —1/2; —1; 2; 0)=—1, у=шах(0; 0; 0; 0; 0)=0. Ш а г 3. Очевидно, что в данном случае имеет место вариант 3(a). Вторая небазисная переменная (х4) возрастает. \pj V/J’ А2 = min = 4 = А. Вторая базисная переменная х3 становится нулевой. Ш а г 4. Очередное направление поиска определяется коорди- натами: у1=у2=2—0 (4)=2, П2=%=2—1/2 (4)=0, £’2=;£’4=04-4=4, а все остальные иг=0. Таким образом, уп>=(0; 2; 0; 4; 0). Ш а г 5. Однопараметрический минимум достигается при а* = = х/8. При этом /(а*)=3,625. Ш а г 6. Новым приближением является х2=(0; 2; 1,75; 0,5; 0; 0). Поскольку одномерный поиск закончился, не доходя до точки ц(х), то базис не меняется. Итерационный процесс продолжается до тех пор, пока проверка на сходимость на третьем шаге не даст удовлетворительного результата. Приведенный выше пример демонстрирует одну из характерных особенностей выпуклого симплекс-метода: способность базиса оста- ваться без изменений на протяжении серии итераций. Объясняется это тем, что одномерный поиск приводит не в вершины, а в точки, лежащие внутри области допустимых значений (ненулевые небазис- ные переменные). Таким образом, деление переменных на базисные и небазисные по существу сводится к выбору подходящей системы координат в пространстве небазисных переменных. С этой точки зрения выпуклый симплекс — метод сводится к поиску по одной переменной, называемому покоординатным в случае безусловной минимизации ”. Эмпирически установлено, что сходимость можно Х) На самом деле речь идет о групповом покоординатном спуске, так как могут изменяться значения не одной, а одновременно нескольких переменных.— Прим, перев.
24 ГЛАВА 9 улучшить, изменяя иногда базис, даже если по логике вычислений этого и не требуется. Были предложены два правила выбора базиса. 1. После каждой итерации упорядочить переменные в порядке убывания и в качестве базиса выбрать М первых. В этом случае В-1 необходимо пересчитывать после каждой итерации. 2. Периодически изменять базис, используя правило случайного выбора. Например, если на протяжении четырех или пяти итераций базис не меняется, произвольно выбрать положительную небазис- ную переменную и ввести ее в базис. Не существует эмпирических данных, позволяющих установить, какой из трех методов (основной алгоритм и два вышеизложенных) предпочтительнее выбрать. Независимо от того, какой метод выбран, сходимость к точке Куна — Таккера можно доказать для непрерывно дифференцируемой функции /(х) и ограниченной области допустимых значений в предположении невырожденности (базисные переменные всегда положительные) [2, гл. 8]. Скорость сходимости к точкам опти- мума, не являющимся вершинами, может быть весьма мала. Способ выбора направления, однако, отличается простотой и быстродействи- ем. Таким образом, можно ожидать, что эффективность решения в данном случае будет выше, чем при использовании алгоритма Фран- ка — Вульфа. 9.2.2. Метод приведенного градиента Интерпретируя выпуклый симплекс-метод как процедуру по- координатного спуска в пространстве небазисных переменных, мож- но прийти к выводу, что он может дать лучшие результаты при од- новременном изменении всех небазисных переменных. В этом слу- чае изменение небазисных переменных будет еще больше напоминать градиентный метод безусловной минимизации. Поскольку, однако, и условие (9.7), и условие (9.8) должны выполняться в точке Куна— Таккера, то небазисную составляющую вектора направления не- обходимо определять следующим образом: dz = f -vA- I -XiVfi, если V^-^0, если (9.П) где i=l,.. ., N—M. Таким образом, i-я базисная переменная увеличивается при и уменьшается при VA>0, хг>0. Это определение гаранти- рует, что при di=0 для всех i условия Куна — Таккера будут удовлетворены. Если изменение небазисной составляющей d вы- числяется с использованием (9.11), то изменение вектора базисных переменных определяется по формуле — B-JAd, (9.12)
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 25 и тем самым новые базисные переменные удовлетворяют линейным ограничениям. Найденный вышеописанным способом вектор направления удов- летворяет ограничениям и является направлением спуска. Однако условия неотрицательности тоже должны выполняться. Поэтому длина шага d должна удовлетворять неравенствам x= О, х= ха> 4-ad^O, где — текущая допустимая точка. В первом случае величина а ограничена значением |_____________________х«> _ ] at = min \ - : d, < 0, i — 1, ..., М ?. \ di ' J Если все dj^O, положить a.i=oo. Во втором случае величина а ограничена значением I d/ ' ) Если все dj^Q, положить а2=о°. Пусть amax=min (ап а2) и возьмем атах как предельную вели- чину шага одномерного поиска. Полученный алгоритм будет выгля- деть следующим образом. Алгоритм приведенного градиента Пусть даны допустимая точка х°, разбиение вектора переменных х= (х, х) и допустимая погрешность сходимости в>0. Шаг 1. Вычислить V/(x(!)). Ш а г 2. Вычислить d, используя (9.11), и d, используя (9.12). Если ||d|| <е, закончить вычисления. В противном случае продол- жить. Ш а г 3. Вычислить величину атах, ограничивающую длину шага, как это было определено выше. Ш а г 4. Найти а*, удовлетворяющее условию /(x(t)-(-a*rf) = min {/(xU) + ad): О^а amax}. а Ш а г 5. Определить новую точку x<(+ll = x(<l + a*d. При а*=атах=<%1 изменить базис, чтобы избежать вырожденности. В противном случае перейти к шагу 1. Пример 9.7 Для иллюстрации работы алгоритма приведенного градиента вернемся к задаче из примера 9.6 с начальной точкой х°=(0; 2; 3;
26 ГЛАВА 9 0; 1; 0). При таком же выборе базисных и небазисных переменных х= (х2, х3) и х— (хъ xt, х5, ха) приведенный вектор оценок имеет вид Шаг 2. V/(х“) = ( —3/4; —1; 2; 1), 0 1!г Тогда +3/4 так кал < 0, 4-1, так как V/2 < 0, — (1)(2), так как > 0, — (0)(1), так как vf4>0. Следовательно, d=(3/4; —3/1в; —6/2; 1; —2; 0). Ш а г 3. Проверка длины шага а, = min /-=?-, = 1,2, I /10 — /2 J a2 = min{^ = l аз = min (1,2,1/г) = 1/2. Следовательно, в точке n0=x04-araaxd третья небазисная переменная (х5) обращается в нуль. Ш а г 4. Одномерный поиск по а, 0<а<атах. Можно показать, что / (а) монотонно убывает на участке от нуля доатах. Таким обра- зом, оптимум а* равен граничному значению атах. Ш а г 5. В новой точке x«> = xo + i/2d=(3/e;«/32;V4;1/2;O) имеем / (х(1)) = 3,727. Поскольку базисные переменные остаются положительными, базис не меняется. Итерации продолжаются таким же образом. Отметим, что на первой итерации достигнуто меньшее значение целевой функ- ции, чем в случае выпуклого симплекс-метода (/(хЦ))=4,0). Метод приведенного градиента был впервые предложен в работе [6], автор которой ввел и сам термин в силу того, что V/ можно рас- сматривать как градиент /(х) в пространстве переменных х. Явления заедания можно избежать с помощью модификаций метода, получен- ных в работе [7] и включаемых в изложенную выше схему. Доказа- тельство сходимости дано в работе [8, разд. 10.4], также в предположе-
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ. ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 27 нии невырожденности и непрерывной дифференцируемости функции f(x). Проведенный в работе [9] сравнительный анализ данного алго- ритма и алгоритма выпуклого симплекс-метода показывает, что они очень похожи, но второй имеет некоторое преимущество на послед- нем этапе поиска. Однако можно полагать, что при решении задач большой размерности метод приведенного градиента предпочтитель- нее, поскольку трудоемкость одномерного поиска не зависит от вида вектора направления. Небольшие дополнительные затраты времени, связанные с вычислением d, оказываются, таким образом, оправданными, особенно вдали от решения, поскольку движение по градиентному направлению должно быть эффективнее покоординат- ного поиска. Как и в выпуклом симплекс-методе, здесь могут применяться различные стратегии выбора базиса. В одной из последних работ [10] рекомендуют изменять базис только в тех случаях, когда базисная переменная обращается в нуль (или достигает своей верх- ней или нижней границы), поскольку это избавляет от повторного вычисления В-1. Для замены базисной переменной выбирается наибольшая (дальше всех отстоящая от своих границ) небазисная переменная. Дальнейшее обсуждение этих вопросов приведено в работе [10]. 9.2.3. Ускорение сходимости Выпуклый симплекс-метод и метод приведенного градиента можно рассматривать соответственно как покоординатный поиск и обычный градиентный метод, применяемые в пространстве неба- зисных переменных. Поэтому оба они на заключительном этапе обладают медленной сходимостью. Поскольку при отсутствии ограничений удается добиться повышения скорости сходимости с помощью методов сопряженных направлений и квазиньютоновских методов, имеет смысл рассмотреть возможность применения этих методов для случая линейных ограничений. Напомним, что при вычислении V/ для исключения перемен- ных х по существу использовались линейные ограничения. Таким образом, независимые переменные в задаче представлены небазис- ными переменными х. Если достигнута достаточно близкая окрест- ность оптимума н базис больше не меняется, то на последующих итерациях будет эффективен только безусловный поиск по перемен- ным х. При этом, зная градиент V/, можно вычислять модифици- рованное направление d либо по формуле сопряженных градиентов, либо по одной из квазиньютоновских формул, как это делается в ме- тоде ДФП. Последний более предпочтителен, но требует запомина- ния квазиньютоновской матрицы. Независимо от того, какая фор- мула пересчета используется, ускорение сходимости будет достигну- то только при неизменном базисе. Любое изменение базиса изменяет
28 ГЛАВА 9 множество независимых переменных и, таким образом, меняет форму целевой функции. В результате информация, накопленная о виде целевой функции, становится бесполезной. Единственная модификация метода приведенного градиента, требуемая для реализации ускорения сходимости, производится на шаге 2 алгоритма при определении вектора направления d. На первой или любой другой итерации, следующей за изменением базиса, модифицированный шаг заключается в определении модифи- цированного «градиента» g: (r,_ I если > О или W? < 0, i— 1, ..., Af— /И, \ 0 в противном случае, и вектора поиска d(t)=—g(/). На всех остальных итерациях g определяется, как и прежде, a d вычисляется с использованием сопряженного градиента или квазиньютоновской формулы. Напри- мер, если используется метод сопряженных градиентов, то llg(‘-1,li2 Как и в случае отсутствия ограничений, если используется точный одномерный поиск, целевая функция квадратичная и базис не меняется, то точный оптимум достигается за N—М итераций. Для функций общего вида итерации продолжаются вплоть до дости- жения требуемой точности. Однако линейная скорость сходимости основного алгоритма в данном случае может в принципе стать сверх- линейной. Пример 9.8 Рассмотрим решение задачи минимизировать f(x) ~ xj—2xYx2 х22 -|- х| при ограничениях xY -J- 2х2 х3 = 3, xt 0, i = 1,2, 3, начиная с точки х°=(1; */2; 1) и пользуясь методом приведенного градиента и формулой сопряженных направлений. Первая итерация В точке х0 градиент V/(^°) = (l; —1,2). Пусть в качестве базис- ной выбрана переменная Xj, а в качестве небазисных — переменные х2 и х3. Тогда В=(1), А= (2, 1) и В-1=(1). Шаг 1. 7Г=(-1; 2) - (1) (1) (2; 1)=(-3; 1). Ш а г 2. Далее получаем = 1) и <*=-(2; !)(_?)= -5.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ. ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 29 Ш а г 3. Максимальная длина шага определяется величинами Ш а г 4. В результате одномерного поиска определяется опти- мальный шаг а*= 1/13 <атах при котором ^(а*)=0,8654. Ш а г 5. В новой точке ... /8 19 12 ylU --- | __ • __ • _ 113 ’ 26 ’ 13 нет необходимости изменять базис. Вторая итерация Шаг 1. Vf (х(1’) = (—jTj: jTjl тз)- Тогда 1 Ю 1 «j / \ 10 / \ IО 10 / Ш а г 2. Вектор поиска d вычисляется с использованием форму- лы сопряженных градиентов йп I llv!(1>11 d" . - II v/° И 13 К \\13j +\13j ) ( Ч\_( 0,74556\ 27 р (3*4-1®) 1 7 2,5562 / . 13/ Тогда d — ^Kd= —(2; l)d = 1,06509. Ш а г 3. Длина шага ограничивается значением amax=rnin(a1, a2)=min (оо; 0,36111)=0,36111. Ш а г 4. Одномерный поиск дает значение точного оптимума: а*=0,36111. Ш а г 5. Новая точка х(2) равна (1,0; 1,0; 0,0), а ^(х<2))=0,0. Поскольку V/(x2) = (0; 0; 0), в точке х<2’ достигается точный опти- мум. Как и ожидалось, решение получено за две итерации, так как це-
30 ГЛАВА 9 левая функция квадратичная и имеются только две небазисные переменные. В работе 12, разд. 9.1) показано, что ускорить сходимость можно и при использовании выпуклого симплекс-метода. Однако, поскольку последний сводится к покоординатному спуску в про- странстве небазисных переменных, в данном случае удобно при- менять метод сопряженных направлений. Хотя сочетание симплекс- метода с методом прямого поиска представляет определенный ин- терес, вычислив градиент функции, нерационально обращаться к методу прямого поиска, поскольку последний характеризуется большим количеством операций одномерной оптимизации. Итак, распространение симплекс-метода на задачи НЛП с ли- нейными ограничениями, исследованное в этом разделе, привело к некоторым весьма полезным результатам. Во-первых, разбиение переменных на базисные и небазисные и соответствующие матрич- ные преобразования позволяют определить допустимое направление спуска путем решения системы линейных уравнений. Во-вторых, модификация вычисления относительных оценок, необходимая для решения задач с нелинейными целевыми функциями, дает критерий оптимальности, который не только даст возможность определить, удовлетворяет ли данная точка необходимым условиям локального минимума, но и в случае нарушения этих условий может быть не- посредственно использован для определения направления, в кото- ром расположен минимум. И наконец, способ выбора направления допускает применение схем улучшения сходимости квазиньютонов- ского типа. В следующем разделе рассматриваются возможности распространения этих методов на задачи с нелинейными ограниче- ниями. 9.3. Обобщенный метод приведенного градиента Рассмотренный в предыдущем разделе основной метод приведен- ного градиента можно достаточно легко распространить на общую задачу нелинейного программирования. В этом разделе подробно описываются соответствующие теоретические построения. Для простоты рассмотрим сначала задачу нелинейного программирова- ния с ограничениями в виде равенств, а именно минимизировать /(%) при ограничениях /гй(х)=О, 6=1,. . ., К. (9.13) Начнем с обобщения процедуры неявного исключения переменных, применяемой при определении вектора приведенного градиента V/. В частности, покажем, что критерий оптимальности, форм руе- мый на основе этого вектора, эквивалентен условиям Лагранжа. После этого опишем основной алгоритм, а затем рассмотрим различ- ные модификации и усовершенствования, используемые в его совре- менных реализациях.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ. ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 31 9.3.1. Неявное исключение переменных Если нелинейные ограничения в виде равенств разрешить в яв- ном виде и использовать для исключения переменных достаточно просто, то, как отмечалось при рассмотрении методов выбора на- правления, всегда целесообразно именно так и действовать. С вы- числительной точки зрения этот прием сокращает не только коли- чество переменных в задаче, но и число ограничений. Например,, если ограничение в виде равенства hl(x)=0 можно решить относительно переменной xh: xh=(p(x1, х2....xk_lt. . ., xN), то это полезно сделать, поскольку при подстановке данного вы- ражения для xh в целевую функцию и остальные ограничения пере- менная xh и ограничение й, (х) исключаются из задачи. Как правило ограничения в виде равенств настолько сложны, что подобное явное исключение невозможно. В этом случае все же можно в неявном: виде добиться уменьшения размерности задачи с помощью приемов, подобных приемам учета линейных ограничений, описанным в предыдущем разделе. Пусть х(1) — точка, удовлетворяющая ограничениям в задаче с ограничениями в виде равенств (9.13), и построена линейная аппрок- симация ограничений в точке х(1’. В результате имеем hk = (х; хи») hk (хш) + (х'1’) (х—х»1’), й = 1, ..., К. Допустим, что полученные линеаризованные равенства исполь- зуются для прогнозирования местонахождения другой допустимой точки, т. е. точки, в которой hk (х; х<1') = 0, й=1, ..., К. Тогда, поскольку йл(х(1’)=0, k—\,. . ., К, эта точка должна быть решением системы линейных уравнений VAJx(1,)(x—х(1>) = 0, й=1,...,/(. (9.14) В общем случае K<QV; следовательно, в системе переменных больше, чем уравнений, и она решается неоднозначно. Однако можно взять К из М переменных и выразить их через остальные /V—К переменных. Предположим, например, что мы выбрали пер- вые К переменных и обозначили их через х (базисные), а остальные переменные — через х (небазисные). Пусть в соответствии с этим разбиением переменных вектор-строки ?йй разбиты на Vhk и yhk и из них составлены две матрицы J и С. Матрица J состоит из эле-
32 ГЛАВА 9 ментов v2/* Skk а матрица С имеет вид \,h' V2h У л Используя введенные выше матричные обозначения, можно перепи- сать систему (9.14) следующим образом: J (х—х(1,) + С(х—х(1,) = 0. Предполагая, что определитель матрицы J размерности не равен нулю, можно решить эту систему уравнений относительно переменных х. Другими словами, умножая обе части полученного равенства на матрицу, обратную к J, получаем х—х(1, = —J-lC(x—х(П). (9.15) С точностью до аппроксимации первого порядка все точки в окрестности х11’, удовлетворяющие ограничениям hh(x)=0, будут задаваться матричным равенством (9.15). Кроме того, для любого выбора небазисных переменных х матричное равенство определяет значения базисных переменных х, которые удовлетворяют исходным линеаризованным ограничениям. Таким образом, используя ли- неаризацию, можно разрешить ограничения относительно Ё пере- менных, тогда как сделать это непосредственно с исходными огра- ничениями не представлялось возможным. Полученный результат позволяет следовать схеме случая линей- ных ограничений. А именно, можно использовать равенство (9.15) для исключения переменных х из целевой функции /(х). Таким образом, Йх"; ^ = /(?“ —J-ЧДх—xw), х) (9.16) и f приводится к функции, зависящей только от N—К. небазисных переменных х.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 33 Поскольку f оказывается функцией, зависящей только от не- базисных переменных х, на которую не наложено никаких ограни- чений, можно применять в х11) обычные необходимые условия ло- кального минимума. Как всегда в задаче без ограничений, необхо- димое условие минимума f в точке хш выражается в виде равенства градиента функции f по х нулю. Поскольку /(x)=f(x(x), х), то, используя правило дифференци- рования сложной функции, получаем д] д! д] дх дх дх дх дх Поскольку из равенства (9.15) следует, что то, обозначая Vf= (df/dx) и vZ= (df/dx), получаем vl(xw) = vZ(x(1»)—?Z(xU)) J ~1C. (9.17) Таким образом, необходимое условие первого порядка принимает вид V/ (x<1,) = vZ(x<1>) J~1C = O. Определяемый, согласно формуле (9.17), вектор Vf называется приведенным градиентом относительно производной в задаче с огра- ничениями в виде равенств. Данная формула, очевидно, в точности совпадает с формулой, полученной при разработке выпуклого симплекс-метода. Необходимые условия минимума первого порядка, записанные с помощью приведенного градиента, сводятся к сле- дующему утверждению: vZ(x(1’) = o. Можно легко показать, что критерий оптимальности с исполь- зованием приведенного градиента эквивалентен критерию оптималь- ности, основанному на функции Лагранжа. Таким образом, нули приведенного градиента являются стационарными точками функции Лагранжа. Чтобы это проверить, надо просто записать необходимые условия Лагранжа для задачи с ограничениями в виде равенств V/(x*)—W Vh(x*) = 0, где V/i — матрица градиентов функций ограничений. Если при этом вспомнить определение независимых и зависимых переменных х и х, то указанную выше систему уравнений можно переписать следующим образом: V/(x*) — (u*)z J =0, vZ (x*) — (u*)7C = 0. 2 № 1865
34 ГЛАВА S Решая первое из этих уравнений относительно и*, получаем выра- жение о*= (V?(x*) J ~1)т, подстановка которого во второе уравнение дает V? (х*) — V/(х*) J-XC= 0. Это условие оптимальности с использованием приведенного гради- ента, полученное ранее. Отметим, что, как только вычислен приве- денный градиент, множители Лагранжа определяются автомати- чески. Линейная аппроксимация ограничений в виде равенств способ- ствовала, таким образом, достижению двух целей. 1. Получена система линейных уравнений, которая позволяет оценивать значение х, соответствующее любому возмущению иеба- зисных переменных в окрестности точки х111 при условии, что полу- ченная точка допустимая. 2. Получены необходимые условия первого порядка для задач с ограничениями в виде равенств, неявно учитывающие ограниче- ния-равенства. В следующем разделе показано, как эти способы неявного исключе- ния переменных можно использовать для построения алгоритма приведенного градиента для общей нелинейной задачи. Обобщенный метод приведенного градиента (ОПГ) является лишь одним из пред- ставителей класса алгоритмов, основанных на неявном исключе- нии переменных. Другими представителями этого класса являются симплекс-метод линейного программирования, выпуклый симплекс- метод и метод приведенного градиента. 9.3.2. Основной алгоритм ОПГ В предыдущем разделе для сведения целевой функции к функции от N—/( независимых переменных без ограничений применялась линеаризация. В результате, по крайней мере в небольшой окрест- ности базовой точки линеаризации задача может рассматриваться как простая задача без ограничений, которую, по-видимому, можно решить любым из градиентных методов безусловной минимизации. Таким образом, по крайней мере в принципе, можно предложить следующий аналог алгоритма сопряженного градиента. Пусть на /-й итерации имеются допустимая точка хш, разбиение х— (х, х) и связанная с ними подматрица градиентов функций огра- ничений J с ненулевым определителем. Ш а г 1. Вычислить V/ = V/ (х1») —v/(xu’)J-»C.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ. ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 35 Ш а г 2. Если livfllce, то закончить процесс вычислений. В про- тивном случае положить d=(-V/jr, d= — J-1Cd, d== (d, d)T. Ш a г 3. Минимизировать /(xu’+ad) относительно скалярного параметра а. Пусть a(,) — оптимальное значение а; тогда положить х<( + 1) = х(() + a<nd и перейти к шагу J. Легко проверить, что независимо от степени нелинейности вы- бранное направление d является направлением спуска. Разлагая (9.16) в ряд Тейлора до членов первого порядка включительно, имеем f (х)— f (х(1)) « / (х) —— 7(xin) = (х'(П) U—(х(,)) d. Тогда если d выбирается в соответствии с формулой d = — (vf (хш))г, то (х‘п) « a Wf) (- V/y = —a || V? 112. Правая часть этого выражения меньше нуля при всех положитель- ных значениях а. Следовательно, для всех положительных а, которые настолько малы, что линейная аппроксимация остается достаточно точной, / (х) —/ (х|(’) < О и, следовательно, d задает направление спуска. Отметим, что, по- скольку формула (9.16) основана на линеаризации ограничений, используемой для исключения переменных х, соотношение d = —J~lCd неявно учитывается выше. Направление, выбираемое на шаге 2, есть, очевидно, направление спуска, однако не ясно допустимы ли точки, выбранные вдоль этого направления. Скорее всего оно будет приводить к точкам, удаленным от ограничений, поскольку при построении использовалась линеа- ризация ограничений-равенств. Как видно из следующего примера, линеаризация ограничения в виде равенства эквивалентна построе- нию касательной гиперплоскости в точке линеаризации. Вообще практически все точки касательной гиперплоскости не удовлетво- ряют исходному уравнению. 2*
36 ГЛАВА 9 Пример 9.9 Рассмотрим линеаризацию ограничения ft(x)=(x,—I)3—х2+1=0 в точке х°= (1!г, ?/„). Линейной аппроксимацией является h (х; х«) = 0 + % (х,-%) -(х2 - Требуя, чтобы все точки х удовлетворяли линеаризации, т. е. Л(х; х°), получаем уравнение первого порядка 3/4-v1—х2+0,5=0. Из рис. 9.5 видно, что никакая точка плоскости, за исключением (2.2), не удовлетворяет уравнению. Таким образом, в соответствии с приведенными рассуждениями направление d является, во-первых, направлением спуска, и, во- Рис. 9.5. Линеаризация нелинейного ограничения. вторых, оно, вообще говоря, ведет в недопустимые точки. Точнее говоря, установлено, что d является направлением спуска в про- странстве небазисных переменных х, тогда как полный вектор направления d=(d/d), где d вычисляется по формуле d= — J~1Cd, ведет в недопустимые точки. Поскольку d обладает желаемыми свойствами, а добавление d приводит к нежелательным последст- виям, имеет смысл пересмотреть порядок вычисления d. Как это сделать? Попробуем пояснить возникшую ситуацию на графическом при-
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ. ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 37 мере. Рассмотрим сферическую поверхность ограничения h (хп Х2, Х3) = xf + Х2г + xl— 1 = О, показанную на рис. 9.6. При заданной точке х° линеаризация огра- ничения h(x)—0 в точке х° дает касательную плоскость в этой точке. Предположим, что небазисными выбраны переменные xt и х2, т. е. х— (хп х2), и х3 выбрана базисной переменной, т. е. х=(х3). Кроме Рис. 9.6. Вектор направления приведенного градиента и линия допустимых точек. того, предположим, что для некоторой целевой функции на шаге 2 алгоритма выбрано показанное на рисунке направление d. Под- вектор d представляет собой проекцию d на плоскость хгхг, ad — проекция d на ось х3. Очевидно, точка о(2’, достигаемая при движе- нии из х” вдоль d, недопустима, т. е. ft(ol2))#=0. Точка и<21 недопу- стима, потому что при выбранном приращении независимых пере- менных х12'—х® приращение зависимых переменных вычисляется с помощью аппроксимации Х(2> _ £-0 = __ J -1£ (7<2> _ Приближенное значение х оказывается недостаточно точным для того, чтобы выполнялось равенство /г (х(2), х) = 0. Этого следовало ожидать, поскольку, как отмечалось ранее, ре- зультаты линеаризации пригодны для определения локальных направлений спуска, они не годятся для вычисления допустимых точек минимума. На самом деле следует определять d с помощью
38 ГЛАВА 9 линеаризации, но затем не вычислять d, как на шаге 2, и не миними- зировать /(х) вдоль прямой, определяемой d, а проектировать d на поверхность, заданную ограничениями, и искать минимум вдоль получаемой таким образом линии. В результате функция /(х) мини- мизируется на неявно определенной кривой, заданной множеством значений а и х, удовлетворяющих уравнению h (х° ad, х) = 0. На рис. 9.6 эта кривая проходит через точки х°, хЦ| и х(2). Если d = и х° = (0,1; 0,1), то эта кривая задается всеми значениями а и х3, которые удовлет- воряют уравнению (0,1 +<2+ (0,1+а)2—х2я—1=0. Таким образом, в случае общей задачи со многими ограничениями для любого пробного значения а нужно решать уравнение ограни- чения для определения значения зависимой переменной х, при кото- ром полученная точка оказывается допустимой. Поэтому при вычислении значения х, удовлетворяющего ограни- чениям при заданном а, необходимо шаг 3 исходного алгоритма заменить на итерационную процедуру. Это можно сделать, приме- няя, например, метод Ньютона для решения системы уравнений hk (x<() + х)= 0, k=\,...,K. Напомним (гл. 3), что итерационная формула метода Ньютона ре- шения системы К уравнений с 7< неизвестными zh: hk(z)=0, fc=l,. . ., К, включает градиенты функций V2hh, вычисленные в точке текущей наилучшей оценки г*'1. Если обозначить через V/i1'’ матрицу со строками V^Afe(zu>), а через й*1’— вектор значений функций hk в г(<), то итерационная формула будет иметь вид 2</ + 1> = 2(О _ (V/гЮ)-1 /JU') В рассматриваемом случае г*'1 = х1'1, Гй('’ = J (х(,) ad, х*'1) И й(<) = ft (д-Ш ай(( Следовательно, итерационная формула Ньютона принимает вид x« + n = x<n_[j -i(x«»4-ad, x<n)j-h (x»> + ad, x(il), (9.18)
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 39 где обозначение J-1 (x((’+acf, х*'1) указывает, что элементами мат- рицы, обратной к J, будут функции, зависящие от длины шага а и базисных переменных х. Предположив, что метод Ньютона сходится к удовлетворяющей ограничениям точке х, можно для определения достигнутого по сравнению с х(П улучшения вычислить значение f(x) в этой точке. Если решение не улучшилось, то значение а необходимо уменьшить, используя ту или иную логику поиска, а ньютоновские итерации должны быть проведены заново. Если значение /(х) улучшилось, то можно либо повторять итерации с новыми значениями а до тех пор, пока дальнейшее улучшение /(х) станет невозможным, либо, что обычно и делается, текущая точка оставляется без изменений и вычисляется новый вектор направления. Конечно, при выбранном значении а метод Ньютона может не привести к получению точки х, удовлетворяющей ограничениям. Это свидетельствует о том, что значение а выбрано слишком боль- шим н его следует уменьшить. На рис. 9.6 точке х(3) не соответствует нн одно значение х(=х3), при котором ограничения пересекаются. В подобных случаях нужно уменьшить а и начать новый итерацион- ный цикл. Учитывая эти дополнительные шаги, можно сформулировать алгоритм обобщенного приведенного градиента (ОПГ). Алгоритм обобщенного приведенного градиента. Пусть даны начальная допустимая точка х°, начальное значение параметра поис- ка a=a", параметры окончания вычислений et, е2 и е3>0 и пара- метр уменьшения длины шага у, 0<у<Е Шаг Е Выбрать разбиение х на х и х так, чтобы определи- тель матрицы J был ненулевым, и вычислить приведенный гра- диент V?(x(/)). Ш а г 2. Если UV/II то закончить вычисления. В противном случае положить d=_(V/y, d=— J-1Cd, d=(d,d)r. Ш а г 3. Положить a=a°. Для t= 1, 2,. . . выполнить следую- щие действия: (а) Вычислить ol/’=x(n+ad. Если \hh (и(,))| <е2, й=1, .... К, то перейти к пункту (г). В противном случае продолжить вычис- ления. (б) Пусть у(1 + 1> _ jj(i> — J -1 (v(''), £)(/ +1) — у (f) (в) Если ||o(' + 1)—u(''||>e3, то перейти к пункту (б). В противном случае, если \hh (и(‘’)1 <е2, k—l,. . ., К, то перейти к пункту (г). Иначе, положить а=уа и перейти к пункту (а).
40 ГЛАВА 9 (г) Если f(xu')<f(vu'), то положить а=уа и перейти к пункту (а). В противном случае положить х(/+1’=о(') и перейти к шагу 1. Проиллюстрируем применение этого алгоритма на следующем при- мере. Пример 9.10 Минимизировать f(x) = 4x!—х2-|-х?—12 при ограничениях Нг (х) = 20—х[ — х; = 0, h2 (х) = Xj х3—7 = 0. Пусть задана допустимая начальная точка х(1|=(2; 4; 5) и пере- менная х£ выбрана в качестве небазисной, а переменные х2 и х3 взяты в качестве базисных. Таким образом, х = (х2, х3) и х = (х£). Отметим, что число небазисных переменных равно числу всех пере- менных минус число ограничений в виде равенств. Производные функций в заданной точке равны V/= (4; —2х2; Зх3), Vft£=(—2х£; —2х2; 0) и ?/г2=(1; 0; 1). Шаг 1. Поскольку Vf = (4; —8; 10), ?/i£= (—4; —8; 0), \h2 = (Г, 0; 1), то J = (“o 1)> С = V/=(-8; 10), V?=(4). Далее вычисляем V/ = (4)—(—8; 10)( ?)( ]) = -2. Ш а г 2. Вектор направления имеет вид d=-V/ =2, Ш а г 3. Положим а°=1. А / А (а) о(1) = ( 4 ] + а ( — 1 | = ( 3 ), \5/ 2/ \3/ hl(vw) — —5 и h2 (о(1)) = 0,0. Отметим, что линейное ограничение ft2(x)=0 выполняется. Этого и следовало ожидать, поскольку линейной аппроксимацией линейного ограничения является само это ограничение. Следовательно, в дан- ном алгоритме линейные ограничения автоматически выполняются.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 41 Так как ограничение +=0 не выполняется, то для определения х2 и х3 необходимо применить метод Ньютона к системе уравнений (4; х2; х3)=0, h2 (4; х2; х3)=0. В качестве начальной оценки возьмем х2=х3=3. _ '(2) (3'\ °V7~5^ (б) = 0 J ( (J = /3\ . 1 /1 0\/—5\ /2,167\ -бд о/дз ) (в) Поскольку v(2>=£va>, необходимо провести еще одну итера- цию. /13/«\ /—13/3 0VV—0,69\ /2,008\ (б) и‘3’ = ( 0/з J ( О’)О )=(3' ). Если допустить, что этот результат достаточно близок к предельно- му, то следует проверить значения левых частей ограничений [шаг (в)]. ht (t+>) = —0,032, Л2(и<3>) = 0,0. Предполагая, что 0,032 достаточно близко к нулю, продолжаем выполнение шага (г). (г) и(3) = (4; 2,008; 3), f (х(1)) = 5 < f (и(3>) = 9. Значение функции /(х) не улучшилось. Начальное а выбрано слиш- ком большим и должно быть уменьшено. Пусть оно уменьшено до 0,4. /2\ /2ч /2,8ч (а) и‘« = ( 4 ) + 0,4 —1 )= 3,6 ), \5/ 2/ \4,2/ /ц (ц‘«) = — 0,80 и h2 (и<”) = 0,0. Полученная точка недопустима и требуются ньютоновские прибли- жения. /жч <3,6\ <-7’2 0у>/-0,8\ /3,49\ (б) ^ц4>2/)-^ о 1М о ;=U,2 ) (в) Допуская, что полученный результат близок к предельному, проверяем hi (и,5)) = —0,02 и h2 = 0,0. Считая, что —0,02 достаточно близко к нулю, проверяем значение целевой функции. (г) / (х(1>) = 5 > / (vtM) — 4,66.
42 ГЛАВА 9 Поскольку получено лучшее значение функции, х<21 полагается равным t/U). Следующая итерация начинается в точке х(2) = (2,8; 3,49; 4,2). Условный минимум достигается в х*=(2,5; 3,71; 4,5). Заметим, что в этой точке приведенный градиент равен нулю: W = (4) —(—7,42; 9,0) f^42 ("j) = 4-4 = 0,0. Из последнего примера видно, что наиболее трудоемким оказы- вается выполнение ньютоновских итераций. Чтобы количество этих итераций было невелико, одномерную оптимизацию по а обычно проводят с невысокой точностью. По существу первая, приводящая к улучшению допустимая точка принимается в упрощенном алгорит- ме ОПГ без дальнейших уточнений. Другой подход состоит в ис- пользовании «вывернутой» стратегии, включающей ограничивающий поиск с последующим шагом квадратичной интерполяции. Таким образом, вместо того чтобы выбирать большое начальное значение а и затем, если улучшения не достигается, сокращать диапазон поиска, сначала проводится ограничивающий поиск по а для опре- деления границ минимума. Поиск границ начинается при небольшом а с тем, чтобы первая проба не уводила далеко от точки линеариза- ции x(t). При этом корректирующие ньютоновские итерации, по всей вероятности, не вызовут трудностей. По мере того как в процессе поиска границ а увеличивается, полученный ранее результат нью- тоновских процедур всегда можно использовать как хорошую оцен- ку для начала ньютоновской корректировки при следующем зна- чении а. После того как границы установлены, производится шаг квадратичной (или кубической) интерполяции для улучшения оцен- ки оптимума одномерного поиска а*. Полученную точку нельзя улучшить последующей квадратичной интерполяцией, хотя, воз- можно, потребуется дальнейшая корректировка с помощью ньюто- новских итераций. Идея распространения метода приведенного градиента на задачи с нелинейными ограничениями обычно связывается с работой [11]. Однако элементы стратегии неявного исключения переменных в нелинейных уравнениях появились уже в 1956 г. в ранней работе Джонсона по оптимальному проектированию (см. обзор в работе [12]). Стратегия неявного исключения переменных лежит также в основе дифференциального алгоритма [13] и полученных в работах [14] и [15] условий, ограничивающих производную. Однако именно работа [11] привела к появлению первой программы ОПГ в общем виде.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 43 9.3.3. Обобщения основного метода До сих пор алгоритм ОПГ рассматривался только для задач с ограничениями в виде равенств и по существу сводился к градиен- тному методу, применяемому в пространстве небазисных перемен- ных. В этом разделе рассматривается распространение основного алгоритма на решение задач НЛП общего вида, т. е. с верхними и нижними границами значений переменных и ограничениями в виде неравенств: минимизировать f (х) при ограничениях «С gf (х) bj, /' = 1, . . ., J, ЛДх) = 0, Л=1,...,К, x‘L| jSCx, Сх^’, Кроме того, рассматриваются возможности ускорения сходимости на последнем этапе с помощью формулы сопряженных направлений или квазиньютоновских формул, позволяющих менять вектор на- правления d, который выбирается в соответствии с алгоритмом ОПГ. Обработка границ. Учитывать верхние и нижние границы зна- чений переменных можно либо явным образом, рассматривая каж- дую границу как ограничение вида неравенства, либо неявно на соот- ветствующем шаге алгоритма. Очевидно, что второй способ пред- почтительнее, поскольку в этом случае надо обращать матрицу J меньшей размерности. Для неявного включения в алгоритм подоб- ных ограничений необходимо ввести три изменения. 1. Следует ввести процедуру, запрещающую выбирать в качестве базисных переменные, лежащие на границе или очень близко к ней. Такая процедура нужна, чтобы в любой момент обеспечить некоторую свободу изменения базисных переменных. В основе процедуры может лежать простое упорядочение пере- менных по расстоянию до ближайшей границы. В текущей допус- тимой точке х<() положим z‘/’ = min {(х'/7’ — х/1), (х)'1 —х‘/Д}. (9.19) Теперь значения z)6 можно упорядочить по убыванию и в качестве зависимых выбрать переменные, соответствующие первым К зна- чениям. Конечно, такое разбиение переменных может привести к вырожденной матрице J. В этом случае одна или более из К пер- вых переменных заменяются на расположенные ниже по порядку вплоть до получения невырожденной матрицы J. 2. Вектор направления d изменяется таким образом, чтобы границы независимых переменных при продвижении вдоль на-
44 ГЛАВА 9 правления d не нарушались. Положим {О, если xt = x^u> и < О, О, если xt = x(iL> и (Vf){ > О, — (Sf)i в противном случае. Такое изменение также гарантирует выполнение условий Куна— Таккера в этой точке при dt = Q для всех 1=1,. . ., N—К.. Это легко проверить, применяя условия Куна — Таккера к задаче с ограниче- ниями в виде равенств и неравенств двух типов: g' == x(U> — х^ О, g” =s х — x(L> 0. Проверка предоставляется в качестве упражнения читателю. 3. На шаге 3 основного алгоритма ОПГ необходимо пре- дусмотреть проверки, не допускающие превышения граничных значений ни во время поиска по а, ни на ньютоновских итера- циях. Как показано на рис. 9.7, следует просто проверить, попадает ли результат третьего шага в заданные границы значений пере- Рис. 9.7. Линейная интерполяция для удовлетворения условий на границах зна- чений переменных.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ. ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 45 менных. Если по крайней мере одна нз границ нарушена, то оценку точки на отрезке (х((), в которой граница нарушается впер- вые, можно получить с помощью линейной интерполяции на этом отрезке. Шаг 3 повторяется в этой точке для получения такой точки ц’*’, ЧТО Х<Л) <Ш,')СХ,г7). Обработка неравенств. Ограничения в виде неравенств обще- го вида можно обрабатывать в пределах алгоритма ОПГ либо явно, записывая их в виде равенств с использованием дополнительных переменных, либо в неявном виде, пользуясь концепцией множества активных ограничений, как в методах допустимых направлений. В первом случае неравенства вида преобразуются в равенства hK+i(x) = g/(x)—xN+l = О посредством введения дополнительных переменных Хд,+, вместе с их границами Й/ ~С Хд/ + /^Йу. Преимущество этого подхода заключается в том, что он допускает единообразную обработку всех ограничений без дальнейших изме- нений основного алгоритма. Недостатком является включение в матрицу J строк, соответствующих функциям g;(x), даже если соот- ветствующие неравенства и не активны. Кроме того, повышается размерность задачи. При использовании стратегии активных ограничений в каждой точке хП) выявляются активные неравенства, и результаты их ли- неаризации нужно добавить к тем равенствам, которые определяют J и С. Шаг 3 основного алгоритма дополняется тестами нарушения прежде неактивных ограничений. Если в точке »,') нарушается неко- торое, ранее неактивное ограничение, то длина шага а регулиру- ется и ньютоновские итерации повторяются до тех пор, пока не будет найдена точка, удовлетворяющая как активным, так и неактивным ограничениям. В полученной точке любое жесткое, ио прежде неактивное ограничение необходимо добавить к множеству активных ограничений, а каждое активное, но теперь уже несвязывающее ограничение исключается из активного множества. Конечно, эти соображения усложняют вычисления на шаге 3 и приводят к необ- ходимости постоянно изменять размерности матриц J и С и вычи- слять заново J -1. На следующем примере проиллюстрированы оба этих подхода к обработке неравенств. Пример 9.11 Рассмотрим задачу
46 ГЛАВА 9 минимизировать f (х) = (х(—3)2+ (х2—З)2 при ограничениях gi(x)=2X]—х2—1^0, g2 (х)=9—0,8х?—2х2^0, 4^(хп х2)>0 с начальной допустимой точкой х0=(1; 1)г. При подходе, использующем дополнительные переменные, ог- раничения преобразуются к виду (х)—х3=0, h2(x)=g2 (х)—х4=0. Начальной точкой при увеличении размерности становится точка х°=(1; 1; 0; 6,2). В точке х° у/ц (х°) = (2; —2; —1,0), Гй2 (х°) = (—1,6; -2,0;-1), V/(x°) = (—4; — 4; 0; 0). Предположим, что выбираются х— (хп х2) и х= (х3, х4). Тогда . f 2 -2>) с-М 0>1 J-< —1,6 —2/’ 0 —1/ Ш а г 1. W-(0,0)-ti^(_126 Zf)(~J 1.6; 16). Ш а г 2. Поскольку V/i<0, a х, находится на нижней границе, то положим dt= 1,6/7,2. Поскольку V/2>0, а х2 не достигает своих границ, то положим d2=—1,6/7,2. Тогда Ш а г 3. Как видно из рис. 9.8, в данном случае можно легко выбрать большую длину начального шага. Пусть а<0)=2. Тогда (a) v° = x° + 2d= (2,3580; 2,1358; 0,4444; 1,7555), (б) /ц (ц°) =—1,2900, й2(и0) = —1,4752, (в) Ц(1) = Ц° — J~1/l = /2,3580\ 1 / 2 — 2W — 1.2900Х -^2,1358/~"тМ —1,6 — 2Д—1,4752/~ = (2,3066; 1,4393)г. Шаги 3(6) и 3(в) повторяются до тех пор, пока не будет достигнута точка v= (2,1859; 1,7110)г, в которой hL=—1-10-*. Ла=—3-10-6.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 4/ (г) В этой точке /(ц)==2,324</(х°) = 8,0. Следовательно, ха,=и=(2,1859; 1,7110; 0,4444; 1,7555/. Подобным образом итерации продолжаются вплоть до достижения точки оптимума х* = (2,5; 2; 0; 0)г. Если используется стратегия активных ограничений, то огра- ничения сначала проверяются в точке х° с тем, чтобы установить, какие из них активные. Поскольку gi(x°)=0 и g2(x°)=6,2, то огра- ничение 1 активное, а ограничение 2 временно не учитывается. Если выбрано разбиение х= (х2), х— (xj, то J = (-2), С = (2), V/ = (-4), V/ = (-4). Шаг 1. V/=(-4)-(-4)(-^)(2)—8. Ш а г 2. Поскольку переменная х2 удалена от своих границ, можно положить d= — (—8) = 8, d= -J -*Cd= - (-‘/2) (2) (8) = 4-8.
48 ГЛАВА 9 Ша г 3. (I\ /8\ 1 ) + а ( 8 /’ Пусть а°=1/4, тогда и°= (3, 3) и gi(v°)=—4. Ш а г 36. ?1>=3—(—‘/в) (—4)=2,333. Шаги 36 и Зв продолжаются вплоть до достижения точки ц<3’=2,2361, в которой £>«—1 • 10~4. В этой точке v<3)=(3; 2,2361), значение це- левой функции равно 0,5835<f (х°). Однако g’2(t'<3))=—2,672. Та- ким образом, это ограничение нарушено (рис. 9.9). Следовательно, длину шага а необходимо уменьшить и повторить шаг 3. Например, для а<1)=1/в получаем и<4) = (2,3333; 2,3333). Рис. 9.9. Стратегия активных ограничений, пример 9.11. Повторение ньютоновских итераций дает новую допустимую точку х<1’(2,3333; 1,9149), в которой f(x(1,)= 1,622 и g2(x(1>) = 0,815. В связи с дополнительными итерациями, исправляющими наруше- ния ранее неактивных ограничений, стратегия активных ограниче- ний не используется в реализациях ОПГ, описанных в работах [11, 16, 17J.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 4g Изменение вектора направления. Доказательства сходимости модификаций ОПГ, которые обычно используются на практике, не существует. Сходимость была доказана в работе [8] для идеализи- рованной модификации ОПГ, в которой 1) осуществляется точный поиск по а; 2) чтобы избежать заедания, используется процедура е-возму- щения; 3) вводится специальная процедура перехода к новому базису, которая может потребовать изменения базиса на каждой итерации; 4) предполагается, что на каждой итерации можно 'выбрать невырожденный базис. Можно показать, что при этих условиях метод ОПГ сходится к точке Куна — Таккера. В работе [19] получен интересный ре- зультат, касающийся скорости сходимости в конце процесса реше- ния, для основной задачи с ограничениями в виде равенств, кото- рый указывает на то, что алгоритм ОПГ аналогичен градиентному методу безусловной минимизации. Точнее говоря, показано, что если {х,()}— последовательность приближений, порожденная одним и тем же разбиением переменных и сходящаяся к х*, то последова- тельность значений целевой функции {/(x,f))} линейно сходится к f(x*) с коэффициентом, не превышающим [(В—6)/(В+&)]2. Величи- ны b и В являются соответственно наименьшим и наибольшим собственными значениями матрицы Q = (-J-K7, I)HL(-J[1C где Ht — матрица вторых производных функции Лагранжа L~ --=f—vTh. Этот результат показывает, что на скорость сходимости существенно влияет как выбор базиса (что отражено в J -1С), так и вторые производные всех функций в задаче. Отметим, что данное определение скорости сходимости отличается от обычного определе- ния с использованием ошибки в точке x<fl, т. е. ||хш—х*||. Однако коэффициент сходимости по целевой функции аналогичен имеющим- ся результатам для обычного градиентного метода безусловной мини- мизации. Таким образом, проведенный в работе [19] анализ явно указывает на желательность использования методов ускорения сходимости. Как и в методе приведенного градиента для случая линейных ограничений, вектор направления d можно изменять с помощью квазиньютоновского метода или метода сопряженных градиентов. При условии что разбиение переменных не меняется, эти рекуррент- ные формулы действительно приводят к ускорению сходимости. Конечно, если разбиение меняется, формулу пересчета нужно моди- фицировать вследствие изменения подпространства поиска. Таким образом, изменение вектора направления наиболее эффективно на конечных стадиях итераций, когда значительных изменений в раз- биении не предвидится. Разными авторами по той илн иной причине
60 ГЛАВА 9 выбирались различные способы корректировки. Например, в ра- боте [16] рекомендуется использовать формулу Бройдена — Флет- чера — Шэнно (БФШ), а к методам сопряженного градиента прибе- гать лишь в случае ограниченной памяти, тогда как в работе [11] применяется метод сопряженного градиента Флетчера — Ривса. Поскольку характеристики БФШ-модификации в целом оказывают- ся лучше, предпочтение следует отдавать этому способу. 9.3.4. Вычислительные аспекты Из вышеизложенного очевидным образом следует, что реализа- ция эффективного алгоритма ОПГ требует рассмотрения различных вычислительных процедур, таких, как ньютоновские итерации, решение линейных уравнений, одномерный поиск, регулирование длины шага и т. д. В этом разделе кратко описываются следующие вычислительные приемы, улучшающие алгоритм ОПГ. 1. Использование приближенных ньютоновских итераций. 2. Косвенное вычисление J 3. Специальные приемы обработки элементов линейных задач. 4. Использование численных производных. Приближенные вычисления по методу Ньютона. Значительная часть вычислений в алгоритме ОПГ приходится на итерации по ме- тоду Ньютона. Для уменьшения этих громоздких вычислений были предложены разнообразные правила и приемы аппроксимации. К ним относятся: 1) использование обратной к J матрицы, вычисленной в точке x(fl, без дальнейшего ее изменения; 2) использование аппроксимации, предложенной в работе [11]; j(u<a>)-i==2J (Xй’)-1 —J (х1,’)-Ч J (х<()); 3) использование квази ньютоновского метода решения урав- нения для пересчета J-1 при неизменных производных. Первый подход, очевидно, наиболее прост, по он может привести к существенному уменьшению скорости сходимости. При втором подходе требуется заново вычислять градиенты ограничений в про- межуточных точках ц(А>, но при этом удается избежать пересчета матрицы, обратной к J. Третий подход выглядит многообещающим, поскольку J“1(x**)) можно использовать в качестве начального значения, а для дальнейших вычислений требуются только значения функций, входящих в ограничения. В современных реализациях алгоритма ОПГ [16, 17] используется первый подход. Объединенный с «вывернутой» стратегией поиска такой подход может привести к значительным упрощениям. Процедура, позволяющая исключить обращения матрицы. Отме- тим, что, хотя все основные формулы, которые используются в Ал- горитме ОПГ, включают J'1, эту матрицу не обязательно вычислять в явном виде. Например, для вычисления приведенного градиента не
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 5J обязательно пользоваться формулой v7 = v7— v/j-kl Вместо этого можно получить множители и, решая уравнение V?— —nrJ=0, а затем вычислить приведенный градиент по формуле V? = V?— пгС. Аналогично для вычисления d=—J -1Cd сначала вычисляется Cd, а затем решается система линейных уравнений Jd=—Соотноситель- но d. Вычисления по методу Ньютона выполняются путем решения линейной системы JAx= —h. Указанные матричные вычисления легко изменять исходя из особенностей структуры конкретной задачи. В частности, посколь- ку в задачах большой размерности в матрице (J, С) обычно относи- тельно мало ненулевых элементов, можно воспользоваться метода- ми, разработанными для решения больших разреженных линейных систем [17]. Таким образом, алгоритм ОПГ оказывается особенно удобным при решении нелинейных задач большой размерности. Обработка линейных элементов. Можно еще больше упростить вычисления, если специальным образом учесть в алгоритме ОПГ линейные элементы задачи. Такое упрощение дает наибольший эф- фект в случае задач большой размерности. Каждую функцию в за- даче можно разбить, как показано в работе [10], на линейную и нелинейную составляющие: h (х) = hN (хл') + akxL + bk, где xL— переменные, которые не входят в нелинейные члены, a xN — переменные, входящие по крайней мере в один нелинейный член. Такое разбиение обладает двойным преимуществом. Во-первых, столбцы матрицы градиентов ограничений, соответствующие пере- менным хд, постоянны и, следовательно, их не нужно заново вычислять. Во-вторых, эффективно уменьшается размерность про- странства небазисных переменных. Следуя работе [10], предположим, что переменные в задаче раз- биты на три группы: 1) К базисных переменных, значения которых расположены строго между их верхней и нижней границами; 2) множество, состоящее из S супербазисных переменных, кото- рые не являются базисными, но их значения так же расположены между верхней и нижней границами; 3) остальные N—К—S небазисных переменных, значения кото- рых лежат на одной из их границ. Значение подобного разбиения определяется тем фактом (см. работу [10]), что если в задаче НЛП имеется NL нелинейно входя-
52 ГЛАВА 9 щих переменных, то оптимальное решение находится в точке, в ко- торой количество супербазисных переменных S меньше или равно NL. Из этого результата следует, что для получения направления поиска d достаточно взять только супербазисные переменные. Таким образом, идея супербазисных переменных приводит к эффективному сокращению размерности пространства поиска d и, как следствие этого, размера любой квазиньютоновской формулы, хранящейся в памяти и используемой для пересчета d. В принципе небазисные переменные необходимо рассматривать только в тех случаях, когда дальнейшее улучшение в пространстве супербазис- ных переменных невозможно. Таким образом, если d=0 (с некото- рой допустимой погрешностью), то приведенный градиент относи- тельно небазисных переменных вычисляется для определения воз- можных улучшений в случае, если одной (или более) небазиснон переменной разрешается удаляться от границ и, таким образом, присоединяться к супербазисной группе. Такой подход позволил создать эффективную программу для реализации метода приведен- ного градиента, называемую MINOS [20], для задач с линейными ограничениями, н играет важную роль в реализациях алгоритма ОПГ, предназначенных для решения задач большой размерности [21]. Использование численного дифференцирования. Алгоритм ОПГ, как в сущности и все ранее рассмотренные алгоритмы, основанные на линеаризации, требует знания производных используемых в за- даче функций. Как и в случае безусловной оптимизации, эти про- изводные могут задаваться либо в аналитической форме, либо вы- числяться через значения функции по разностным формулам. По- скольку составление разности «вперед» требует N добавочных вы- числений каждой функции, а составление центральной разности — 2N вычислений, то обычно выбирается первая, тем более что повы- шенная точность, свойственная центральной разности, на самом деле и не требуется. Для дальнейшего упрощения вычислений было предложено два приема. В работе [17] предлагается перед вычислением частной производной по некоторой переменной убедить- ся при помощи подходящего теста, что эта переменная достаточно сильно изменила свое значение. При заданном разностном парамет- ре 6 и значениях функции =hk (хь . .., xz_t, xt + б, xz+t, ..., x,v), k= I, .. оценка производной dhhldxi по разностной формуле dxt ~ 6 производится только в тех случаях, когда <Г-1> *i —Xj П-D Х1 (9.20)
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 53 больше некоторого допустимого отклонения е. При этом, конечно, предполагается, что значение каждой частной производной по xt будет главным образом зависеть от переменной xt. Такая аппрокси- мация может быть довольно грубой, например, в случае h(x)=x1x2. В работе [17], однако, сообщается о хороших результатах, получен- ных в случае задач большой размерности. Вычисление целевой функции можно упростить на шаге вычис- ления приведенного градиента, учитывая то обстоятельство, что изменения базисных переменных оцениваются через изменения небазисных переменных при помощи линеаризации d = —J-1Cd. В процедуре, предложенной в работе [22], приведенный градиент в точке л111 вычисляется следующим образом. Пусть задано приращение аргументов 6. 1. Вычислить матрицу J-1C в точке и обозначить ее столбцы через Dt. 2. Вычислить значение целевой функции в х11’, т. е. /1'’=/(х1"). 3. Для (=1.. N—Л положить гг = х, + 6. (9.21) Вычислить w = x—bD{. (9.22) Найти 7l'’ = f(ay, xt, ....х^.г,, х,+1-, .... xv к). (9.23) После этого оценить приведенный градиент пох;, используя формулу Wfu"li = г -б г (9.24) Для получения последовательность вычислений (9.21)— (9.24) повторяется N—К раз. Таким образом, целевая функция вычисляется W—/С+1 раз вместо W+1 раза, требуемых для оценки полного градиента /. В случае большого Л или сложной для вы- числения функции f(x) такой подход может существенно сократить объем требуемых вычислений. Потенциальный недостаток состоит в явном использовании матрицы, обратной к J, и матричного произве- дения J -1С. 9.4. Методы проекций градиента Несмотря на эффективность и универсальность алгоритма ОПГ, ему присущи некоторые недостатки, возникающие в результате при- менения стратегии разбиения переменных. Во-первых, стратегия разбиения требует проверки вырожденности матриц и базисных переменных и соответствующих процедур обработки в вырожденных
54 ГЛАВА 9 условиях. Во-вторых, процесс изменения разбиения требует трудо- емкого пересчета матрицы J-1 и приведенного градиента. Кроме того, при использовании квазиньютоновских методов для опреде- ления направления поиска каждое изменение в разбиении приводит к потере информации, накопленной к этому моменту. И наконец, принципиальным недостатком является отсутствие какого-либо правила разбиения переменных. Хотя анализ сходимости показы- вает, что выбор разбиения влияет на скорость сходимости на конеч- ном этапе, реальная возможность учитывать этот факт при выборе разбиения отсутствует. Разбиение и исключение переменных осуществляются прежде всего для определения направления спуска с учетом близлежащих поверхностей, заданных ограничениями. Класс методов, рассматри- ваемых в этом разделе, развитие которого предшествовало появле- нию алгоритма ОПГ, основан на получении такого направления непосредственным вычислением проекции градиента целевой функ- ции на поверхность ограничений без исключения переменных. В данном разделе основные положения, лежащие в основе такого проектирования, сначала описываются для случая линейных огра- ничений, Затем указываются требуемые для решения задач с нели- нейными ограничениями модификации и, наконец, исследуется тес- ная взаимосвязь между методами приведенного градиента и методами проекций градиента, и проводится анализ их относительных преиму- ществ. 9.4.1. Случай линейных ограничений Рассмотрим сначала довольно простой случай минимизации /(х) при единственном линейном ограничении в виде равенства '^alxl = aTx = b. В заданной точке х10, в которой градиент V/ отличен от нуля, делается попытка найти направление поиска, которое бы лежало на поверхности ограничения и являлось направлением спуска. Как показано на рис. 9.10, такое направление можно получить геометри- чески. ортогонально проектируя вектор, противоположный V/(xu>, на поверхность ограничения. Понятно, что эта обозначенная через —компонента —V/ приводит в допустимые точки. Действитель- но, для любого а^О точки, заданные соотношением х = х1'’ +«(—Vfe), удовлетворяют линейному ограничению. Это направление задает спуск, поскольку величина угла между V/ и —V/c больше 90°. Геометрические приемы определения ортогональной проекции век- тора на плоскость очевидны, трудность заключается в алгебраи- ческом описании. Алгебраически процесс ортогонального проектиро- вания состоит в разложении вектора на две ортогональные компонен-
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 55 ты: параллельную поверхности, заданной ограничением, и перпен- дикулярную к ней. Параллельная компонента является искомой проекцией вектора. Прежде всего отметим, что из выражения aTs=Q следуют допу- стимость направления, задаваемого вектором s (s параллелен по- Рис. 9.10. Проекция градиента на поверхность ограничения. верхности), и ортогональность вектора а рассматриваемой плоско- сти. Действительно, если масштабировать ограничение таким обра- зом, чтобы ||о|| = 1, то вектор а становится нормалью к поверхности ограничения. А поскольку а — нормаль к поверхности ограничения, то все векторы, перпендикулярные к поверхности ограничения, должны быть параллельны а. Следовательно, для любого вектора s его компонента s', перпендикулярная к поверхности ограниче- ния, равняется а, умноженному на постоянную. Обозначим через s" компоненту s, параллельную поверхности ограничения. Тогда s" удовлетворяет соотношению aTs"=Q. Таким образом, любой вектор s можно представить в виде векторной суммы s=s'+s", (9.25) где s'=ya при некотором подходящем множителе у, a s" удовлетво- ряет уравнению ars"=0. Остается найти у. Рассмотрим произведе- ние aTs. В силу соотношения (9.25) ars — ат (ya) + aTs" = у (ата) -)- 0. Следовательно, решая полученное уравнение относительно у, полу- чаем y — aTs/ara — (aTa)~luTs. (9.26) Подставив это выражение в (9.25), можно получить параллельную поверхности ограничения компоненту $" вектора s. При этом в силу (9.25)
56 ГЛАВА в s = s' + s" = ya + s" = a (aTa) ~1 aTs + s". Решая это уравнение относительно s", получаем s" = s—a (aTa)~1 aTs = (I —a (aTa)~1aT) s, (9.27) где I — единичная матрица, порядок которой согласован с s. Заме- тим, что, в то время как (ата)~1— скаляр, произведение a(ara)-1x хат является матрицей, поскольку вектор-столбец а умножается здесь на вектор-строку ат. Матрица Р= (I—а(ата)~1ат является примером проекционной матрицы. Она проектирует вектор s на плоскость, задаваемую ограничением, вдоль нормального к ограничению вектора а. Аналогично матрица а(ата)~1ат является матрицей, проектирующей вектор s на поверхность, натянутую на нормаль к ограничению, вдоль направления, параллельного этой поверхности. Отметим, что обе эти проекционные матрицы являются симмет- рическими и положительно полуопределенными. Симметрия оче- видна в силу того, что (ага)-1— скаляр и (ата)т=ата. Для дока- зательства положительной полуопределениости Р рассмотрим про- изведение yTVy для произвольного ненулевого у. Тогда утРу= ут [I — а (ата)~1ат] у=- . || у ||21| g и II2 Числитель в последнем выражении неотрицателен, так как ска- лярное произведение двух векторов всегда удовлетворяет неравенст- ву Шварца \ату I «II г/II ||а||. Прежде чем построить на основе полученных результатов соот- ветствующий алгоритм, рассмотрим простой численный пример. Пример 9.12 Нужно вычислить проекцию вектора s= (0; 1)гна поверхность, заданную ограничением 2%i+x2—3, в точке (а/4; 3/2)г. Нормалью к поверхности является (2, 1)г. Проекционная матрица Р задается выражением Р = (I — а (ата) ~1 ат) = /1 0\ /2\ ( о , /2М-* „ ’Цо 1Л ((2; С1 / / (2: ) = /1 0\ 1 /4 2\ / 0,2 —0,4\ *=<0 ~5\2 = \ — 0,4 0,8/'
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 57 Ортогональная проекция s на поверхность ограничения имеет вид „ D / 0,2 —0,4\/0\ /— 0,4\ s-=ps = ^_о>4 0,8/\ 1 / = \ 0,8/ Параллельная а компонента s' получается из соотношения s' = s—s" = (0; 1)г—(—0,4; 0,8)г = (0,4; 0,2)г. Рис. 9.11. Иллюстрация к примеру 9.12. Оба вектора показаны на рис. 9.11. Очевидно, что s' и s" ортого- нальны, /—О 4\ (s )rs" = (0,4; 0,2) ВД = 0 и s" перпендикулярен к а: /—0 4\ a’’s" = (2;l)( о,8 ) = °- Кроме того, очевидно, что матрица Р симметрическая и положи- тельно полуопределенная. Способ построения проекционной матрицы легко распростра- няется на случай многих ограничений. При заданной системе К линейных уравнений = /г=1......К, множество допустимых значений определяется пересечением всех ограничений. Подпространство, ортогональное к допустимому множеству, натянуто на множество нормалей ак к поверхностям ограничений. Таким образом, любой вектор s можно разложить
58 ГЛАВА 9 на параллельную допустимой поверхности компоненту s", удов- летворяющую условию afs" = O, k=\.....К, и па перпендикулярную поверхности ограничения компоненту s', которую можно представить как линейную комбинацию векторов ak: s=s'+s"=Ay+s", (9.28) где А — матрица со строками а£, а у — такой вектор коэффици- ентов, что s'=ATy. Как и раньше, умножая обе части (9.28) на А, получаем выражение для у As = ААгу + As" = ААгу, или у = (ААГ)-1 As, (9.29) где матрица, обратная к ААГ, существует только в случае линей- ной независимости векторов ak. Подставляя выражение (9.29) в (9.28), получаем аналогичную (9.27) формулу для проекционной матрицы Р, т. е. s" = s—АТ(ААГ)"1 As = = (1— АГ(ААГ)-1 A)s = Ps. (9.30) Проекционная матрица Р симметрическая и положительно полуопределенная. Прежде чем описывать основной алгоритм, основанный на использовании матрицы Р, необходимо установить три дополнительных свойства проекций, связанные с построением Р и вектора градиента А/. Свойства проекций (1) s=—Ру/ есть направление спуска. (2) Если s=0, то точка удовлетворяет необходимым усло- виям Лагранжа. (3) Вектор множителей Лагранжа задается выражением ц = (ААГ)-1 А V/. Первое утверждение непосредственно следует из того, что матрица Р симметрическая и положительно полуопределенная. Рассмот- рим произведение V/r-s. Поскольку s=—Pvf и Р — положи- тельно полуопределенная матрица, имеем VfT • s=^fT (—Рг/)с0. Если s=—Ру/=О, то V/должен быть перпендикулярен поверх- ности ограничения. Тогда из формулы (9.28) следует существование такого вектора у, что Г/ = А7у. (9.31) Так как строками матрицы А являются векторы коэффициентов в линейных ограничениях, то (9.31) представляет собой другую форму записи необходимых условий Лагранжа vf—2^ = °>
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ. ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 59 где y=v. Кроме того, из формулы (9.29) следует, что множители Лагранжа задаются выражением ц = (ААГ)-1 А у/. (9.32) Как и в методе приведенного градиента, определение вектора поиска s=—Ру/ служит также проверкой оптимальности. Теперь можно полностью сформулировать алгоритм проекций градиента. Основной алгоритм проекций градиента Вычислить Р в предположении, что векторы ак линейно неза- висимы, заданы допустимая точка x(tl и допустимая погрешность сходимости Е>0. Шаг 1. Вычислить sl(1=—Ру/. Ш а г 2. Если |jslt)||се, то вычислить v, используя формулу (9.32), и закончить вычисления. В противном случае продолжить вычисления. Шаг 3. Определить максимальную длину шага amax= min| max fo, или оо, если a[sU) = oY, I \ / k = 1, ..., Шаг 4. Решить задачу одномерного поиска: минимизировать /(х1Мasl/l), 0^a^amax. Шаг 5. Положить xlt+1)=x(/’+a*su> и перейти к шагу 1. Этот алгоритм, за исключением процедуры определения вектора поиска, мало отличается от метода приведенного градиента. Отме- тим, что для вычисления Р требуется, чтобы векторы коэффициен- тов ah в ограничениях были линейно независимы. Поскольку за- висимые линейные ограничения не влияют на решение и их можно исключить из рассмотрения, это требование не представляется существенным. Обработка неравенств и границ. Хотя в основном алгоритме и используются линейные равенства, его можно легко распространить на неравенства, используя любой из способов, рассмотренных в подразд. 9.3.3: связанный либо с дополнительными переменными, либо с активными ограничениями. Из-за редукции, приводящей к уменьшению размерности матрицы А, в проекционных методах предпочтение почти всегда отдается второму способу [23]. Обычно при использовании стратегии активных ограничений с помощью получаемой по формуле (9.32) оценки множителей Лагранжа осу- ществляется поочередное исключение ограничений из множества активных ограничений. Модификация выглядит следующим об- разом. В заданной точке xlt) для определения активного множества проверяются ограничения в виде неравенств aTx^bj, j = \.......J.
60 ГЛАВА 9 После этого матрица ограничений А формируется таким обра- зом, что первые К строк соответствуют ограничениям в виде ра- венств, а следующие М строк — активным неравенствам. Про- екционный оператор вычисляется, как и прежде. Однако на шаге 2, если выполняется условие ||sll)||ce, после вычисления вектора множителей Лагранжа (ц, и) = (АА7")-1 А V/ знаки последних М множителей проверяются. Последние М мно- жителей соответствуют ограничениям в виде неравенств и должны быть неотрицательными в точке оптимума по условиям Куна — Таккера. В противоположном случае ограничение с наибольшим по модулю множителем исключается из множества активных ог- раничений, вычисляется новая проекционная матрица Р и шаг 1 начинается снова. Отметим, что в рамках стратегии активных ограничений границы значений переменных рассматриваются как ограничения в виде неравенств. Пример 9.13 Рассмотрим применение метода проекций градиента для реше- ния задачи примера 9.4. Минимизировать f(x)= (хг—1)2+ (х2—2)2 при ограничениях g1(x)—x1—2х2^—2, gs (х)=—х2—х2>—4, £з(х)=М>0, g4(x)=x2>0, где в качестве допустимой начальной точки используется х°= = (0, 0). В точке х° ограничения и g2^0 неактивные, а условия неотрицательности и gi^O обращаются в равенства. Таким образом, а., = (1; Of, а4 = (0; 1)г и А^(* °). Имеем ААГ=1, (ААг)-1=1 и, следовательно, Р=(1 —1)=0. /—2\ Шаг 1. —Р?/=—Of 4J=0- Следовательно, необходимо проверить соответствующие ограничения и множители « = (AA^)-2Av/ = /(Z4) = (zI)- Поскольку и2 — наименьший отрицательный множитель, вто- рое активное ограничение g^O исключается из множества актив- ных ограничений. При этом активное множество сокращается до единственного ограничения g3^0. Таким образом, А = (1; 0) п ААГ=(1; 0)(q}= 1.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 61 Следовательно, Шаг 1. Ш а г 2. Так как ||$°||=4>0, то продолжаем, начиная с шага 3. Шаг 3. «max = min /л —2 —0\ max I 0, __8 1 для gt /п —4—0\ max ( 0, } для g2 max (0, оо) для g3, поскольку (1, °) (J^- max Го, Для gt Шаг 4. Ищем минимум вдоль прямой (0\. (°\ при 0<а<*/4. Функция f(a)=(—1)2+(4а—2)а монотонно убывает по а, пока значение а не станет равным 1/2. Следовательно, «*=атах = */4- Ш а г 5. х(1) = (0, 1)г. В этой новой точке опять проверяем ограничения на активность. Ясно, что ограничения g^O и g3^0 активные. Таким образом, 1 1 А = —2\ 0J Легко проверить, что Р=0, s=—Ру/=0. Вектор множителей и равен (1; —3)г. Так как и2<0, второе активное ограничение g3/^0 следует исключить из множества активных ограничений. Теперь активное множество ограничений состоит только из gi^Q. Пере- считывая Р при А=(1, —2), получаем Шаг 1. /0,8 0,4\ \0,4 0,2/ s(1’ = — Р V/ = 0.8 0.4\/—- 2\ /2.4
62 ГЛАВА 9 /0,8 0,4\ s(2) = ~PVMo,4 (J 0\ 0/’ Ш а г 2. ||s(1,||2>0; следовательно, продолжаем вычисления. Шаг 3. Длина шага amax=5/e определяется ограничением g2>0. Шаг 4. Далее ищем минимум функции /(а)= (2,4а—1)2+ (1 + 1,2а—2)2. Минимум достигается в a* = V2<;amax. Шаг 5. Новой точкой является х(2)= (1,2; 1,6)г. В этой точке активно только первое ограничение. Множество активных огра- ничений остается без изменений, и, следовательно, нет необходи- мости пересчитывать Р. В точке х(2' имеем 0,4 \ —0,8 ( 0,4\ ul2> = (ААГ)-1 A V/ = % (1; -2) = 0,4 > 0. \ —U,о J Таким образом, точка х<2) удовлетворяет условиям Куна — Так- кера. Как видно из данного примера, основной объем вычислений приходится на операции вычисления матриц (ААГ)-1 и Р, требу- емые при каждом изменении множества активных ограничений. Однако, поскольку ограничения обычно исключаются и добав- ляются поочередно, можно вывести формулы для нахождения Р и (ААГ)-1, использующие предшествующие значения этих мат- риц. Подробнее эти вопросы изложены в работе 123]. К настоящему времени получены доказательства сходимости метода проекций градиента, поскольку технически он допускает заедание [8, 18], хотя конкретные примеры заедания в опублико- ванных работах не приводились. 9.4.2. Общая задача нелинейного программирования Очевидно, что, используя результаты линеаризации в проекци- онных формулах, алгоритм проекций градиента можно распростра- нить на случай нелинейных ограничений как в виде равенств, так и в виде неравенств. Вычисленное направление поиска, однако, как н в методе ОПГ, выводит за пределы области допустимых зна- чений, поэтому требуются дополнительные процедуры, осуществ- ляющие возврат на поверхность, заданную ограничениями. Струк- тура вычислений должна отличаться от используемой в методе ОПГ из-за отсутствия разбиения переменных. Основная стратегия между тем остается прежней. Вспомним, что в случае линейных ограничений нормали ah использовались для определения не только проекций, параллель- ных поверхностям ограничений, но и перпендикулярных к ним направлений. Тогда как в случае линейной задачи требовался
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 63 только первый тип проекций, в нелинейной задаче можно исполь- зовать оба типа. Проекция, параллельная поверхности ограни- чения, служит для определения касательного направления поиска. Проекция, параллельная нормали, позволяет определить подхо- дящее направление для возвращения на нелинейную поверхность ограничения. Как показано для одного ограничения на рис. 9.12, градиент ограничения V/i в точке х(/) определяет направление, перпендикулярное к поверхности ограничения. Это направление можно использовать в точке wa>, полученной в результате движе- ния из л(/) вдоль s(Z). Однако, поскольку кривизна поверхности при удалении от х(/) меняется, yh(xa>) может уже не быть направ- Рис. 9.12. Проекция, позволяющая определить направление для возвращения на поверхность, заданную ограничением. ленным в сторону поверхности, как, например, в точке г((). Чтобы избежать подобной ситуации, градиент h можно вычислить в ш|() для определения направления V/i(oaU)), которое наиболее вероятно для возвращения на поверхность. Это, однако, требует пересчета градиентов всех, бывших активными в ограничений. Получен- ное направление может служить основой для ньютоновских ите- раций, применяемых для определения точного пересечения с по- верхностью ограничения. Следует подробнее остановиться на вычислениях. Пусть /(/) — множество активных в х1() ограничений и ьу1*’ — недопустимая точка, достигнутая при перемещении из х(/) вдоль направления s(/). Направление, перпендикулярное к поверхностям ограничений, можно представить в виде линейной комбинации нормалей линеаризованных ограничений, т. е. векторов k~\, . . ., К, и Vg,(u)(,)), Таким образом, s = Ar(u)(n)y, (9.33) где столбцами Аг(ьу(/|) являются градиенты yhk(w(t>), k=l, . . ., К, и Vg,(№(,)), / (Е 1и>. Теперь для определения у применяем метод Ньютона. В целях упрощения обозначим через h вектор ограниче-
64 ГЛАВА 9 иий в виде равенств и активных ограничений в виде неравенств. Используя обычное разложение в ряд Тейлора, имеем К (wa> 4- А7у) — h (wa>) + A(w(”)-Аг у = 0, (9.34) где вид второго слагаемого обусловлен правилом дифференциро- вания сложной функции _ , dh dx dx dy Решив уравнение (9.34) относительно у, получаем Y = — (ААГ)-1 й. Подстановка у в формулу (9.33) дает эффективную итерационную формулу для исправленной точки = s«> = _ дт (ААГ)-1 h. (9.35) Заметим, что сомножители в произведении матриц в правой части (9.35) вычислены в точке ш(П. Кроме того, при построении тре- буется, чтобы векторы v/ift(o><()), k=l, . . К, и Vgt(wa’), были линейно независимы. Пример 9.14 Рассмотрим применение описанного способа для получения допустимой проекции точки и?= (1, 1)т, достигнутой при движе- Рис. 9.13. Иллюстрация к при- меру 9.14 нии из х°= (О, 1)г, на поверхность, заданную ограничением h (х) = х? + к}— 1 = 0. Как показано на рис. 9.13, ?й(ш°)=(2; 2)г. Таким образом, — направлен в сторону поверхности й(х)=0. Используя формулу
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 65 (9.35), получаем Повторное использование формулы (9.35) дает В данной точке h (u>(:”)=3 ’IO-’. Отметим, что если вместо уй(ш(<)) в качестве аппроксимации использовать V/i(x°), то пересчитывать V/i (V/irV/i)-1 не следует. По-прежнему имеет место сходимость к (1; О/, но скорость схо- димости оказывается невысокой. Ниже представлены несколько первых итераций. _ wo — yh (x°) (p/j (joy yh (x0))-1 h (w°) — /1 \ 1 /0\ ( 1 \ = \I/^\2/:=\0,5>/- Тогда w{2> ~ (о.б)-'(о^б) (о.ЗУб)’ w(3’ = (l; 0,3046/, = (1; 0,2580/ и т. д. Таким образом, фиксируя значение градиента, можно получить не более чем линейную скорость сходимости. Из предыдущего примера видно, что, как и в методе ОПГ, по- пытки экономии времени на вычислении градиентов и обратных матриц приводят к существенному уменьшению скорости сходи- мости. Более удачным подходом, очевидно, является применение квазиньютоновских методов решения уравнений. Конечно, корректировке должна предшествовать некоторая процедура определения длины шага а, устанавливающая насколько далеко продвигается итерационный процесс в направлении про- екции градиента s=— Ру/. Описанная в подразд. 9.3.3 «вывернутая» стратегия с последующей квадратичной интерполяцией оказывается вполне удовлетворительной для оценки минимума. Естественно,
66 ГЛАВА 9 что в случае использования стратегии активных ограничений параметр шага а следует выбирать так, чтобы не нарушались не- активные прежде ограничения. Алгоритм проекций градиента для общей задачи нелинейного программирования Даны допустимая точка х°, допустимая погрешность сходи- мости е!>0 и погрешность определения активных ограничений е2>0. Шаг 0. Для определения активного множества / = 1....................................J} вычислить в х(<) ограничения в виде неравенств. Шаг 1. Вычислить Р и s=—PV/(x(()). Шаг 2. Если ||s(1)||>ei, то перейти к шагу 3. В противном случае вычислить множители Лагранжа (и, и) — (ААГ)-1 А V/ и найти ит = min {и(: I £ /(()}- Если |um|<e!, закончить вычисления. В противном случае ис- ключить ограничение т из /(<) и перейти к шагу 1. Шаг 3. Определить такую максимальную длину шага атах, что gi(w(a))^0 для всех Для каждого а функция ш(а) является результатом итераций (9.35). Ш а г 4. (а) Используя ограничивающий поиск по а, 0<а<атах, определить а1; а2, а3 и ю(а,), ю(а2), ю(а3). которые локализуют минимум f(x) на кривой h(w(a))—0. (б) При помощи квадратичной интерполяции оценить а*. От- метим, что логика шагов 3 и 4, вообще говоря, не менее сложна, чем соответствующая процедура изменения шага в методе ОПГ. Пример 9.15 Рассмотрим задачу из примера 9.10: минимизировать /(x) = 4xi— х2 + х|—12 при ограничениях /г((х) = 20—х?—х2 = 0, (х) = %! + хя—7 = 0 с х°— (2; 4; 5)г. Шаг 0. Все ограничения являются равенствами и, следова- тельно, активные.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ. ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 67 Ш а г 1. V/i, (х°) = (—4; —8; 0)г, Vh2 (х°) = (1; 0; 1)г, д/(х») = (4; -8; 10)г, /—4 ААт_/-4 -8 0\/_8 (Л ( 80 —4\ VI 0 1Д J 1/ \-4 2> „ p = fi Ч L' Cg 0'.(5 „ПГ-? -8 “V <0 0 1/ |44к 0 1Д4 8°Д 1 0 4—2 —4ч = |(-2 1 2). 9 к—4 2 4/ Тогда $° = — Р у/ (х°) = (8/9; 4/9; —8/9)г- Шаг 2. ||s°||^>0. Переходим к шагу 3. Шаг 3. Так как все ограничения активные, переходим к шагу 4. Шаг 4. Ограничивающий поиск по а. Пусть выбрано а°=1/9. Тогда /2\ / 8/Д /2,444\ [ 4 + 1 ( 4/„ =f 4,222 . \5 J \—a/J \4,555/ В точке w° имеем hx=—3,800 и (что непосредственно вытекает из линейности /i2) /г2=0,00. Применяя формулу (9.35), получаем X /—4,888 —8,444 < 1 0 —4,888 —8,444 0 <-3,8^ = (2,333; 3,837; 4,667)г. В точке и>(1) имеем hx——0,1635, /г2=0,00, как и прежде. В резуль- тате дополнительной итерации получаем w (а»)= (2,3274; 3,8188; 4,6726)г при /ii=—3-Ю-4 и /=4,5543. Поскольку /(х°)=5,0, новая точка лучше. Для определения границ шаг 4а повторяется при а(1)=3/2. Таким образом, ПУ°= (3,333; 4,666; 3,666)г и /г,=—12,888. Последующее применение формулы (9.35) дает точку ш(а(1))= (2,8804 ; 3,421 ; 4,П96)Г
68 ГЛАВА 9 при /ii=10“’ и f—4,7893. Поскольку f(u>(a(1)))>/(w(a0)), можно утверждать, что границы, в пределах которых находится минимум по а, установлены. Шаг 46. Квадратичная интерполяция по а. Имеются три точки: а=0, а=1/2, а=3/2 и соответствующие значения целевой функции. Из обычных интерполяционных формул легко получить а* = = 0,8447. Этому значению а соответствует точка ш°= (2,7509; 4,3754; 4,2491)г, в которой hi=—6,7119. Повторно применяя формулу (9.35), получа- ем допустимую точку ау(а*)= (2,5329; 3,6861; 4,4671)г, в которой Л1=2-10”8 и ^=4,4995. Отметим, что квадратичная интерполяция дает разумную оценку значения целевой функции, но не обязательно приводит к допу- стимой точке, поскольку при этом изменение значения h х (х) непо- средственно не учитывается. На этом заканчивается полный итерационный цикл обобщенного метода проекций градиента. Последующие итерации приводят к истинному значению оптимума целевой функции 4,4859. Вышеизложенный алгоритм вместе с соответствующими форму- лами пересчета матриц (ААГ)“1 и Р был предложен Розеном [24]. Как и в случае линейных ограничений, не существует строгого доказательства сходимости метода. В работе [29], однако, пред- ставлен анализ скорости сходимости в окрестности решения, из которого следует, что при известном множестве ограничений, ак- тивных в точке оптимального решения, сходящейся последова- тельности итераций {(х(())} соответствует последовательность зна- чений целевой функции /(х(<)), которая сходится к f(x*) как геометрическая прогрессия со знаменателем, не превышающим (А—й)/(Л+й). Здесь Айа — наибольшее и наименьшее собствен- ные значения матрицы вторых производных функции Лагранжа по подпространству, заданному соотношениями Vh%(x*)hx=0, k=l, . . ., Л, и Vgf (х*)Дх=0, j£I*. Этот интересный результат ясно указывает на то, что скорость сходимости зависит как от формы ограничений, так и от линий уровня целевой функции. При этом границы знаменателя прогрессии напоминают известные границы, полученные для градиентного метода безусловной оп- тимизации, что подчеркивает целесообразность применения квази- ньютоновских методов ускорения сходимости. В случае линейных ограничений возможности использования алгоритма ДФП в рамках метода проекций градиента описаны в работе 124]. Процедура пересчета с использованием формулы БФШ и подробное изложение численных приложений приведены в [26]. В работе [27] показано, что в варианте Гольдфарба [25] в случае положительно определенной квадратичной целевой функции, до-
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 69 пускающей Р замен в множестве активных ограничений, точный минимум можно найти не более чем за N+P итераций. Приме- нение квазиньютоновского подхода в общем нелинейном случае было впервые предложено в работе [28]. Здесь в отличие от метода ОПГ при введении в ограничения типа неравенств дополнительных переменных производится пересчет всей матрицы вторых произ- водных функции Лагранжа. В случае использования стратегии активных ограничений каждое изменение активного множества приводит к некоторой потере эффективности. Практические при- меры применения улучшенного метода проекций градиента пока- зывают, что использование квазиньютоновского подхода повышает эффективность этих программ до уровня эффективности программ, составленных на основе метода ОПГ [29]. Обобщения и модификации метода проекций градиента для задач проектирования в машиностроении описаны в работе [30]. Удачными являются приложения к оптимальному проектированию плоских рам и полых валов, подверженных воздействию динами- ческих нагрузок [31]. Вычислительные эксперименты показывают, что методы проекций градиента дают пятикратную экономию вре- мени вычислений по сравнению со штрафными методами последо- вательной безусловной оптимизации. О случаях сравнения с ме- тодами ОПГ в литературе не сообщалось. 9.4.3. Взаимосвязь между методами ОПГ и методами проекций градиента Из предыдущих рассуждений видно, что между методами при- веденного градиента и проекций имеется много общего. В обоих методах определяется направление спуска, лежащее в плоскости касательной к точке линеаризации, и требуется корректировка с целью возвращения на поверхность, заданную ограничениями. Вводя либо дополнительные переменные, либо множество активных ограничений, их можно приспособить для решения задач с ог- раничениями в виде неравенств. Оба метода допускают модифи- кации, позволяющие включать квазиньютоновские процедуры, которые ускоряют сходимость в случае функций общего вида. При этом для квадратичных функций и тот и другой метод сходится за конечное число шагов. Поэтому неудивительно, что оба этих се- мейства методов представляют собой просто разные способы реа- лизации одной и той же основной идеи [32]. Рассмотрим задачу условной минимизации функции f(x). Мно- жество допустимых значений задано системой М линейных урав- нений Ах=Ь. Метод ОПГ сводится к определению такой неортого- нальной системы координат у и у, что у = Ах—b (9.36) и у = х. (9.37)
70 ГЛАВА 9 Переменные у определяют меру отклонения от допустимого множе- ства. Допустимыми являются точки, для которых у—0. С другой стороны, переменные у определяют положение точек на (N — М)- мерной поверхности, заданной ограничениями. Таким образом, метод ОПГ характеризуется следующим преобразованием перемен- ных: (у\ /А А\/х\ уЛуГ^ 1Д;г<4 (9.38) С другой стороны, метод проекций градиента характеризуется преобразованием у = Тх—d, (9.39) где первые М переменных у определяют меру отклонения от до- пустимого множества. Однако, вместо того чтобы определять у по формуле (9.36), вводится такая матрица С, что у = С(Ах —Ь). При этом матрицы Т и С выбираются таким образом, чтобы век- торы у и у были ортогональны. На рис. 9.14 графически иллюстрируются преобразования в рамках метода ОПГ и метода проекций градиента в двумерном Рис. 9.14. Преобразования в рамках методов ОПГ (а) и проекций (б) . случае с одним ограничением [32]. Разбиение переменных в методе ОПГ дает неортогональные локальные координаты у и у (рис. 9.14, а), тогда как метод проекций градиента приводит к орто- гональной системе (рис. 9.14, б). Система координат у ни в одном методе не используется в явном виде. Если преобразование коор-
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 71 динат использовать явно, то градиенты и другие характеристики задачи необходимо сначала вычислить в новых координатах. На- правления поиска в этом случае вычисляются в переменных у, а затем опять преобразуются к переменным х для вычисления зна- чений входящих в задачу функций. Вместо того чтобы производить эти громоздкие промежуточные вычисления, направления поиска в координатах у выражаются в обоих алгоритмах непосредственно через исходные переменные х. При этом приведенный градиент в рамках метода ОПГ вычисляется по формуле /О 0\ где матрица (л j ) позволяет рассматривать только компоненты у. Приведенный градиент в методе проекций вычисляется по фор- муле V/r = (I — Аг (ААГ)-1 А) ?/г. В первом случае благодаря специальной форме преобразования можно проводить вычисления непосредственно в пространстве у=х, которое имеет меньшую размерность. Во втором случае прямое исключение переменных невозможно, и, следовательно, приходится проводить вычисления в исходном пространстве полной размерности. Поскольку эти два алгоритма по существу эквивалентны, вы- бор между ними основывается только на соображениях, связанных с удобством применения и простотой вычислений. С этой точки зрения метод приведенного градиента оказывается явно предпо- чтительнее для решения задач большой размерности, в которых должна приниматься во внимание разреженность матрицы. Ис- пользуемая в методе ОПГ процедура разбиения переменных (за- мены базиса) очевидным образом соответствует и методам с ис- пользованием разреженных матриц. Однако в методе проекций разреженность нарушается при перемножении матриц, и требуется явное вычисление проекционной матрицы. В отношении экономии памяти и сокращения количества арифметических операций метод ОПГ также обладает существенным преимуществом. Однако для «сильно заполненных» задач небольшой размерности с ограниче- ниями в виде равенств метод проекций может оказаться более удобным, поскольку он не требует лишних матричных вычислений, связанных с изменением разбиения переменных. В сущности для задач с ограничениями в виде равенств однажды определенную проекционную матрицу больше не следует пересчитывать. Имею- щийся вычислительный опыт подсказывает, что при выборе общей программы решения задач НЛП предпочтение следует отдать на- писанной квалифицированным специалистом программе, основан- ной на методе ОПГ.
72 ГЛАВА 9 9.5. Приложение к проектированию В этом разделе рассматривается задача о минимальном по стоимости проекте многопродуктового технологического комплекса, состоящего из группы установок периодического и полунепрерыв- ного действия (УПД и УПНД). Опишем сначала задачу, затем формализуем ее и рассмотрим решение с использованием алгоритма ОПГ. 9.5.1. Постановка задачи Изображенный на рис. 9.15 технический комплекс реализации последовательного технологического процесса состоит из трех УПД (двух реакторов и сушилки) и пяти УПНД (трех насосов, теплообменника и центрифуги). Комплекс предназначен для про- Рис. 9.15 Типовой периодически-полунепрерывный технологический процесс. изводства трех видов продукции в течение одного года (8000 ч). Требования к производству формулируются следующим образом. Потребность в продукции, фунт/год Продукция вида 1 400 000 Продукция вида 2 300 000 Продукция вида 3 100 000 Время обработки продукции каждого вида в каждой из УПД указано в следующей таблице.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 73 Время обработки, ч Реактор 1 Реактор 2 Сушилка Продукция вида 1 3 1 4 Продукция вида 2 6 — 8 Продукция вида 3 2 2 4 Все три вида продукции обрабатываются во всех установках по- следовательно. Исключение составляет продукция вида 2, которая, минуя реактор 2, направляется непосредственно в центрифугу. Объем полуфабриката, перерабатываемый на каждой стадии для получения фунта конечной продукции, различен для разных видов продукции. Значения объемных коэффициентов для трех видов продукции и восьми установок приведены в табл. 9.1. Таблица 9.1. Объемные коэффициенты, кубический фут на фунт готовой продукции Продукция вида L Продукция вида 2 Продукция вида 3 Объемные коэффициенты Slp для УПД Реактор 1 1,2 1,5 1,1 Реактор 2 1,4 — 1,2 Сушилка 1,0 1,0 1,0 Объемные коэффициенты Shp для УПНД Насос I 1,2 1,5 1,1 Насос 2 1,2 1,5 1,1 Теплообменник 1,2 1,5 1,1 Насос 3 1,4 — 1,2 Центрифуга 1,4 1,5 1,2 Необходимо выбрать параметры оборудования, минимизиру- ющие капиталовложения. Для УПД эти затраты определяются зависимостью щУ*1, где Vt — объем установки в кубических футах, a at, at — эмпирические константы. Для УПНД затраты описываются выражением bhR^k, где Rh — производительность fe-й установки (фут3/ч). Значения используемых для каждой уста- новки констант приведены в табл. 9.2.
74 ГЛАВА 9 Таблица 9.2. Стоимостные коэффициенты для восьми типов оборудования Тип оборудования УПД УПНД ai ai bi ₽/ Реактор 1 592 0,65 Реактор 2 582 0,39 Сушилка 1200 0,52 Насос 1 370 0,22 Насос 2 250 0,40 Теплообменник 210 0,62 Насос 3 250 0,4 Центрифуга 200 0,83 9.5.2. Общая формулировка Производство многих химических и пищевых продуктов, поли- меров и лекарств включает цепочку периодических и полунепре- рывных технологических операций. Периодическая операция сво- дится к загрузке определенного количества сырья в установку, где оно подвергается химической или физической обработке, после чего полученная продукция выгружается. УПНД работают перио- дически, но загрузка и выгрузка материалов производится непре- рывно. Предприятия с периодически-полунепрерывной техноло- гией обычно выпускают разнородную продукцию, используя одно и то же оборудование для производства различных видов продук- ции. Такие предприятия работают наиболее эффективно в режиме совмещения циклов. При этом способе производство каждого вида продукции осуществляется партиями, каждая из которых включает определенное число порций данного вида продукции. Во время одного цикла процесс ориентирован на производство только одного вида продукции. Время обработки каждой порции фиксируется так, чтобы следующая порция загружалась в установку сразу после того, как она освобождается. Для заданной системы, состоящей из трех последовательных УПД со временем обработки, соответственно /2 и t3, ход процесса можно (рис. 9.16) представить в виде линейного графика (или диа- граммы Ганта), как показано на рис. 9.16. На этой диаграмме сплошная горизонтальная линия соответствует работе установки в течение определенного интервала времени. Заметим, что уста- новка 2 работает непрерывно. Установка 1 работает с двумя пере- рывами, а установка 3 — с тремя перерывами между обработкой последовательных порций, так как они бездействуют до тех пор, пока не появляется возможность загрузить очередную порцию в установку 2 или разгрузить ее. При известном времени выпол-
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 75 нения операций с каждым видом продукции связывается характе- ристическое время, называемое продолжительностью цикла, ко- торое равно промежутку времени между моментами окончания обработки двух последовательных порций. Продолжительность цикла совпадает с максимальным временем обработки в отдельных Рис. 9.16. Диаграмма Ганта для трехстадийного процесса. установках, или Тр = max (/,). i Для процесса, иллюстрируемого рис. 9.16, продолжительность цикла равна 7’/,=тах(/1, t2, t3) = t2, поскольку t2 — наибольшее время обработки. При фиксированном общем времени работы Т продолжитель- ность цикла определяет размер порции Вр и число порций Np, необходимых для получения заданного количества конечной про- дукции Qp. Таким образом, Np=T!Tp, a Bp~QpINp. Если пред- приятие выпускает Р видов продукции, то общее время Т необхо- димо распределить между этими видами. Таким образом, р Q ^ТГТР<Т. (9.40) р=1 р Время обработки в УПНД также влияет на продолжительность цикла. Прежде всего, если установке периодического действия i
76 ГЛАВА 9 предшествует установка полунепрерывного действия /, а за ней в цепочке находится установка k, и если — время работы уста- новки k, то полное время обработки i-й УПД р-го вида продукции равно ^lp-Qlp+ttp + Okp. (9.41) Таким образом, продолжительность цикла для р-го вида продук- ции определяется соотношением Тр = шах {max (f)!p), max(0ft/>)|. (9.42) Объем сырья, подлежащий обработке на i-й стадии процесса для получения Вр фунтов р-го вида продукции, равен SipBp. По- скольку для различных видов продукции этот объем различен, то необходимо выбрать достаточно большую установку, чтобы она вмещала продукцию любого вида. Таким образом, V, = max(S/pBp). (9.43) р Время непрерывной обработки 0йр связано с размером порции и производительностью установки следующим соотношением: = (9.44) Наконец, величины времени работы двух последовательных УПНД должны быть связаны между собой. Если при производстве р-го вида продукции две УПНД установлены последовательно и I следует за k, то %Р>01р. (9.45) Функция затрат для предприятия представляет собой сумму капи- тальных вложений на сооружение УПД и УПНД. Таким образом, Капитальные затраты = 2 О/У”' +2 (9.46) i k В результате задача оптимального проектирования состоит в ми- нимизации функции (9.46) при условиях (9.40) — (9.45) и условии неотрицательности переменных. Полученную задачу НЛП с ог- раничениями обоих типов можно решить, используя алгоритм ОПГ. Отметим, однако, что ограничения (9.42) и (9.43) недифференци- руемы, и, следовательно, прежде чем применять алгоритм ОПГ, их необходимо изменить. Ограничения требуемого вида легко получить, заменяя (9.42) на два неравенства Tp>^lP (9.47) и Тр^8кр. (9.48) Аналогично условие (9.43) заменяется на неравенство (9.49)
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 77 Для дальнейшего упрощения можно с помощью формул (9.41) и (9.44) исключить Qip и 0h₽ из формулировки задачи и в резуль- тате решать задачу, записанную только в переменных Rh, Тр, Vt и Вр. 9.5.3. Редукция модели и решение Таким образом, для процесса, иллюстрируемого рис. 9.15, задача оптимального проектирования имеет следующий вид: минимизировать + + а3/з» + + +ь^+ь^.+ь^ + ь^, где коэффициенты at, bb р, заданы, при следующих ограниче- ниях: ограничение (9.40) на общее время работы технологического комплекса: 42OOOO ?i+ 300000 ^ + J00 000 Ts< 8000( 9 50) 02 “й ограничения (9.49) на объем реактора 1: V^1,2BX, /,>1,5В2, /,>1,1В3, ограничения (9.49) на объем реактора 2: /2>1,4Вй У2>1,2В3, (9.51) ограничения (9.49) для сушилки: Уз>1,0В„ Уз>1,0В2, У4>1,0В„ ограничения (9.40) на продолжительность цикла для продукции вида 1: 7\^l,2Bx/Rly Г, > 1,2В,//?„ Г, > 1,45,//?,, Т, > 1,4В,//?4, Т, > 1,4B,//?S, (9.52) для продукции вида 2, (9.48) T2^A,bB2/Rx, T2^1,5B2/R2, 7\>1,5В2//?з, T^},5B2/Rlt T2^\,5B2/R6. для продукции вида 3, (9.48) Т9>1,1В9//?„ 7\>1,1Вз//?2, Ts> 1,259//?9, Tt>l,2B9//?4, Ts>1,2B9//?8, ограничения (9.45) и (9.44), наложенные на производительность последовательных УПНД 2 и 3: продукция вида li продукция вида 2i продукция вида 3: 1,2В,//?,> 1,2В,//?Я 1,5B2//?s>1,5B2//?9 I.IB^^I.IB^ сводятся к /? 3 /? 2, (9.53)
78 ГЛАВА 9 ограничения (9.45) и (9.44), наложенные на производительность УПНД 4 и 5: продукция вида 1: 1,4В,//?5 1 сводятся продукция вида 3: 1,2В3//?3^ l,2Ba/Ra | При производстве продукции вида 2 полуфабрикат подается из теплообменника непосредственно в центрифугу. Поэтому 1,5В2//?2> 1,552//?5 или R3^R2. (9.55) Продолжительность цикла для продукции вида 1 ограничена [(9.47), (9.41) и (9.44)] значениями реактор I: Тх 1,2B1/R1 + 3 + 1,2BX/R2, реактор 2: 7\ \,2BX/R3 + 1 + 1,4В1//?4, (9.56) сушилка: Т\ 1,4BX/R3 + 4. Продолжительность цикла для продукции вида 2 ограничена [(9.47), (9.41) и (9.44)] значениями: реактор 1: сушилка: T2^1,5B2/Rx + 6+\,5B2/R2, Т г>\ ,5B2/R3 + 8. Продолжительность цикла для продукции вида 3 ограничена [(9.47), (9.41) и (9.44)] значениями: реактор 1: T3^\,lB3/R1 + 2->r\,\B2/R2, реактор 2: Т3~^ 1,1В3//?34-2-}- \,2B3/Rt, сушилка: Т3 1,2B3/R3 4- 4. Таким образом, в задаче имеются следующие переменные: Тр, Вр и Vt, по три для продукции каждого вида, и пять переменных Rh, характеризующих производительность. Поскольку насос 2 и теплообменник всегда работают совместно, без ущерба для ре- шения задачи можно положить /?3=/?2 и исключить (9.53) и R3 из рассмотрения. Все учитываемые в задаче ограничения являются ограничениями в виде неравенств; к ним относятся: 1 ограничение типа (9.50), 8 ограничений типа (9.51), 9 ограничений типа (9.56), 14 ограничений типа (9.52), 1 ограничение типа (9.54), 1 ограниче- ние типа (9.55). Однако следует отметить, что ограничения типа (9.52) вытекают из (9.56). Таким образом, задача допускает форму- лировку с 13 переменными и 19 ограничениями в виде неравенств. Если ее записать в стандартной форме, то число переменных воз- растет до 32. С помощью программы ОРТ [33], реализующей ОПГ на ЭВМ CDC 6500, минимальные капиталовложения (159 483 долл.) были определены примерно за 200 с машинного времени. Началь- ная оценка и оптимальное решение приведены в табл. 9.3. В точке оптимума продолжительность цикла для продукции вида 1 огра- ничена реактором 1, для продукции вида 2 — сушилкой и для
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ. ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 79 Таблица 9.3. Результаты Начальная оценка Оптимальное решение Объем реактора 1, фут3 2000 1181,4 Объем реактора 2, фут3 2000 1250,6 Объем сушилки, фут3 2000 893,3 Производительность насоса 1, фут3/час 1000 753,1 Производительность насоса 2, фут3/час 1000 422,1 Производительность насоса 4, футэ/час 1000 422,1 Производительность центрифуги, фут3/чао 1000 422,1 Вес порции, фунт продукция вида 1 2000 893,3 продукция вида 2 2000 787,6 продукция вида 3 2000 892,9 Время цикла, ч продукция вида 1 5,0 6,963 продукция вида 2 5,0 10,799 продукция вида 3 5,0 6,865 продукции вида 3 — реактором 2. Время полунепрерывной обра- ботки составляет значительную долю от величины продолжитель- ности цикла: 37% для продукции вида 1, 26% для продукции вида 2 и 71% для продукции вида 3. Подробнее данный класс задач проектирования описан в ра- ботах [34] и [35]. 9.6. Заключение В этой главе рассмотрены методы, в которых для выбора эф- фективных направлений поиска используется линеаризация нели- нейных функций. Подробно описаны методы трех типов: методы допустимых направлений, обобщения линейного симплекс-метода, сводящиеся в конечном счете к методу ОПГ, и методы проекций градиента. Для определения направления, являющегося одновре- менно и допустимым и направлением спуска, решалась подзадача линейного программирования методами допустимых направлений. При формулировке подзадачи поиска использовалось понятие множества активных ограничений. В случае отсутствия специаль- ных мер предосторожности, таких, как метод е-возмущений, воз- можно заедание. Эти методы применимы для решения невыпуклых задач, дают последовательность допустимых точек, но использо- вать их непосредственно для решения задач с нелинейными огра- ничениями в виде равенств нельзя. Установлено, что основным
80 ГЛАВА 9 недостатком методов допустимых направлений является необхо- димость постоянно решать подзадачи линейного программирования. Вторая группа методов, рассмотренных в этой главе, харак- теризуется стремлением избежать решения подзадач линейного программирования. Чтобы определить эффективное направление спуска, решается система линейных уравнений. Для задач с линей- ными ограничениями полученные направления также оказываются допустимыми. В случае, когда для определения направления по- иска используется только одна небазисная переменная, применя- ется выпуклый симплекс-метод, являющийся прямым аналогом линейного симплекс-метода. Если для определения направления поиска используются все небазисные переменные, то применяется метод приведенного градиента. Оба варианта в значительной сте- пени обладают свойствами сходимости метода Коши. И тот и дру- гой, однако, можно ускорить включением алгоритма сопряженных направлений. Метод приведенного градиента был распространен на задачи с нелинейными ограничениями. В этом случае выбира- емые направления уже не являются допустимыми и, следовательно, основная модификация метода заключается в добавлении изме- няющих значения базисных переменных ньютоновских итераций, которые обеспечивают допустимость последовательных приближе- ний. Полученный таким образом алгоритм можно модифициро- вать, включая в него элементы квазиньютоновских методов уско- рения сходимости и неявно учитывая границы. Ключевыми пред- положениями, лежащими в основе алгоритма ОПГ, являются непрерывная дифференцируемость функций и существование не- вырожденного базиса на протяжении всего итерационного про- цесса. Установлено, что при использовании алгоритма возникают некоторые вычислительные проблемы, эффективное разрешение которых может заметно повлиять на качество работы всего алго- ритма. Таким образом, создание реализующих метод ОПГ про- грамм, некоторые из которых широко используются в настоящее время, потребовало значительных усилий. Наконец, изучена группа методов проекций градиента и раз- работана процедура разложения градиента на компоненту, парал- лельную ограничивающей поверхности, и компоненту, ортогональ- ную к этой поверхности. В случае линейных ограничений первая компонента дает допустимое направление спуска, которое также может служить основой для квазиныотоновского подхода. В не- линейном случае параллельная компонента приводит в недопу- стимые точки, а ортогональная компонента используется для воз- вращения на поверхность, заданную ограничениями. Рассмотрена взаимосвязь между методами ОПГ и методами проекций градиента. Показано, что оба алгоритма по существу эквивалентны и сходи- мость в обоих случаях в целом одинакова. В рамках метода про- екций градиента удается избежать дополнительных вычислений, связанных с изменением базиса, но трудно использовать методы
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 81 решения задач с разреженными матрицами. Глава завершается описанием решения задачи проектирования технологического ком- плекса как методом ОПГ, так и методом проекций градиента. Без сомнения, в основе большинства наиболее часто применяемых в инженерных приложениях алгоритмов НЛП, в которых исполь- зуется градиент, лежат рассмотренные в этой главе методы: метод ОПГ и метод проекций градиента. Контрольные вопросы и задачи 9.1. При рассмотрении метода допустимых направлений исполь- зовались направления спуска, которые позволяют оставаться внутри области допустимых значений. Хороша эта идея или нет? Почему? 9.2. Можно ли применять метод допустимых направлений для решения задач с ограничениями в виде равенств? Объясните почему. 9.3. (а) В чем заключается основное преимущество стратегии ак- тивных ограничений? (б) Как эта стратегия используется в методе ОПГ? 9.4. Какие основные упрощения связаны с линейностью ограни- чений в методе ОПГ? 9.5. Метод допустимых направлений одинаково учитывает как допустимость направления, так и то, что оно является на- правлением спуска. Сформулируйте вариант метода, в кото- ром второму свойству уделялось бы большее внимание. (Указание: умножьте 0 на подходящую константу.) 9.6. Какие потенциальные трудности возникают при выполнении шага выпуклого симплекс-метода в случае вырожденного базиса? 9.7. Опишите процедуру оценивания возможного улучшения зна- чения целевой функции, которую можно выполнить как часть выпуклого симплекс-алгоритма для задач с выпуклой целе- вой функцией. 9.8. Наметьте пути использования метода сопряженных направ- лений в рамках выпуклого симплекс-метода. 9.9. Сравните основные преимущества и недостатки исполь- зования методов приведенного градиента и проекций гра- диента для решения задач с линейными ограничениями. 9.10. Каким образом задание границы значений переменных лучше всего использовать в методе проекций градиента? 9.11. Опишите такую реализацию обобщенного метода проекций градиента, которая не требует непосредственного вычисления матрицы, обратной к ААГ. 9.12. Как использовать линейные ограничения в рамках обобщен- ного метода проекций градиента? 9.13. Укажите такую модификацию выпуклого симплекс-метода,
82 ГЛАВА 9 при которой границы значений переменных а,сх;с6; не нужно рассматривать явно как ограничения в виде неравенств. 9.14. Рассмотрите задачу минимизировать f (х) = 100 (х2—xf)2+ (1—х[) при ограничениях (х)=х,+1^0, g2(x)=l— х2>0, g3 (х)=4х2—х,—1^0, gt (x) — 1 —О.блу—x2^0 с заданной начальной точкой x°= (—1; 1). (а) Выполните одну полную итерацию выпуклого симплекс- метода. (б) Выполните одну полную итерацию метода приведенного градиента. (в) Опишите область допустимых значений и поясните раз- ницу в полученных результатах. 9.15. Дана задача нелинейного программирования с линейными ограничениями: минимизировать f(x)~ (х}—2)2+ (х2—2)2 при ограничениях g\(x)=3—хА—х2^0, g2 (х) = 10х,—х2—2^0, х2^0 с заданной начальной точкой х°= (0,2; 0). (а) Выполните три итерации метода допустимых направлений. (б) Выполните три итерации метода приведенного градиента. В обоих случаях решите подзадачи, пользуясь алгебраиче- скими или графическими упрощениями. (в) Сравните графики итерационных траекторий обоих мето- дов. 9.16. Пусть ограничение g^0 в задаче 9.15 заменено на gt (х) = 4,5—x'i—х2 0. (а) Обсудите, как эта задача влияет на вид итерационной траектории, полученной в задаче 9.15 (б). (б) Вычислите приведенный градиент в допустимой точке пересечения прямых, заданных ограничениями и g^O. Достигается ли в этой точке локальный минимум? (в) Определите направление поиска по результату пункта (б), используя метод допустимых направлений. Сравните с направлением, полученным методом ОПГ. (г) Вычислите приведенный градиент в точке (3/2; (3/2). Достигается ли в этой точке локальный минимум? 9.17. Пусть ограничение gi^O в задаче 9.15 заменено на gt (х)=2,25—х,х2^0. Ответьте на вопросы (б), (в) и (г) задачи 9.16 применительно к данному случаю.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 83 9.18. Рассмотрите задачу минимизировать /(x)=(xi—х2)2+х2 при ограничениях (x)=Xj+x2—1^0, g2 (х)=3—Xi+2x2>0, Xi^O, х2^0 с заданной начальной точкой х°= (3; 0). (а) Определите направление поиска в точке х°, используя выпуклый симплекс-метод, метод приведенного градиента и метод допустимых направлений. (б) Графически проиллюстрируйте различия в полученных направлениях поиска. 9.19. Рассмотрите задачу минимизировать /(x) = Xi + x2 при ограничении /г (х) = х2 + х2—1=0. (а) Определите приведенный градиент в точке х°= (0; 1). (б) Пусть в соответствии с алгоритмом в качестве следую- щего приближения выбрана точка (—1; 0). Какие перемен- ные должны быть выбраны независимыми и какие зави- симыми? Почему? 9.20. Рассмотрите задачу максимизировать f (х) — 2х,— 3 (х2—4)2 при ограничениях gi(x)=10—х2—х2^0, g2 (х) = 9—х; — (х2—4)2 > 0, Xj 0. (а) При заданной начальной точке х°= (2; 2) (1) вычислите следующее приближение при использовании метода допустимых направлений с е=10-3; (2) определите следующее приближение при использовании обобщенного метода приведенного градиента с e=10“3; (3) изобразите результаты графически. (б) При заданной точке (0; 1) повторите все три пункта (а). (в) С помощью приведенного градиента определите, дости- гается ли в точке (1; 3) локальный максимум. Как опре- делить, достигается ли в этой точке глобальный максимум? 9.21. Рассмотрите задачу минимизировать f (х) =— x^xi/81 при ограничениях Л, (х) = х? + х| + х3—13 = 0, h2 (х) — х2х21/2— 1 = 0. (а) Определите приведенный градиент в точке х= (1; К3; 9). (б) Покажите, что в этой точке достигается условный ло- кальный минимум.
84 ГЛАВА 9 (с) Проверьте пункт (б), пользуясь условиями Лагранжа. 9.22. Рассмотрите задачу минимизировать f(x)=—xt—2х2—4xjX2 при ограничениях gj(x)=9—(х}—2)2—(х2—1)2^0, gt(x) = Xi^O, g3(x)=x2>0. (а) С помощью метода допустимых направлений определите направление поиска в точке х°=(0; 0). (б) Повторите пункт (а) при х®= (5; 1). (с) Какая точка выбирается в качестве следующего прибли- жения в случае использования получаемого в пункте (а) направления? 9.23. Дана задача нелинейного программирования: минимизировать f(x) — (х4— 1)2 + (х2— 1)2 + (х3— I)2 при ограничениях g, (х) = х4х2 + х3—2^0, hi (х) = 1,5х2 + х2 + х,—2 = 0. Рассмотрите допустимую точку х=(1; ‘/2; */2). (а) Определите приведенный градиент в точке х и покажите, что он соответствует точке Куна — Таккера. (б) Вычислите множители Лагранжа в точке х. (в) Пусть ограничение ЛДх) исключено из рассмотрения. Вычислите приведенный градиент и новое направление поиска. Какова новая точка, порождаемая алгоритмом ОПГ? 9.24. (а) Реализующая метод приведенного градиента программа для решения задачи минимизировать f (х) = 4х, — х; -ф х— 12 при ограничениях /ц(х) = 20— х,— х7 = 0, h2 (х) = X, + х3— 7 = 0, х„ х2, х3^0 останавливается в точке (2,5; 3,71; 4,5). Оптимальна ли эта точка? Почему? (б) При проверке формулировки задачи установлено, что ограничение й3 (х) = х3х,-1 — 2 = 0 опущено. Каково решение новой задачи? 9.25. Рассмотрите задачу минимизировать f (х) = ехр (х2) + хя—ехр (х4) при ограничениях g,(x) = exp(x,— 1) — л, + х3— 1 g, (х) = х,—х +х4>0, все Л/^0.
МЕТОДЫ ВЫБОРА НАПРАВЛЕНИЯ, ОСНОВАННЫЕ НА ЛИНЕАРИЗАЦИИ 85 Пусть в качестве начальной точки для решения задачи ме- тодом ОПГ выбрана точка (1; 0; 0; 0). (а) Покажите, что любой выбранный базис будет либо вы- рожденным, либо вырожденным и сингулярным. (б) Покажите, что выбор (хп х2) дает направление поиска, приводящее к нарушению условия неотрицательности переменных. (в) Предложите способ вычисления приемлемого направ- ления спуска. 9.26. В задаче 9.15 выполните три итерации метода проекций градиента. Покажите, что в точке (3/2; 3/2) достигается ло- кальный минимум. 9.27. В условиях задачи 9.18 вычислите множители Лагранжа и направление проекции градиента в точке х° =(3; 0). 9.28. Рассмотрите задачу минимизировать /(х) = Хх + х:2 при ограничении h(x) — Xt + x2—1=0 в точке (0; 1). (а) Вычислите направление проекции градиента. (б) Сделайте шаг а=0,1 вдоль направления, полученного в пункте (а). Определите допустимую проекцию получен- ной точки. 9.29. Решите задачу 9.23, пользуясь эквивалентным алгоритмом обобщенной проекции градиента. «Литература 1. Zoutendijk G., Methods of Feasible Directions, Elsevier, Amsterdam, I960. [Имеется перевод: Зойтендейк Дж. Г. Методы возможных направлений.— М.: ИЛ, 1963.] 2. Zangwill W. L., Nonlinear Programming: A United Approach, Prentice-Hall, Englewood Cliffs, NJ, 1960. [Имеется перевод: Зангвилл В. И. Нелинейное программирование.— М.: Сов. радио, 1973.] 3. Wolfe Р., On the Convergence of Gradient Methods Under Constraints, IBM J. Res. Develop., 16, 407—411 (1972). 4. Topkis D. M., Veinott A. F., On the Convergence of Some Feasible Direction Algorithms for Nonlinear Programming, SIAM J. Control, 5, 268—279 (1967). 5. Zangwill W. I., The Convex Simplex Method, Manage. Sei., A 14, 221—238 (1967). 6. Wolfe P., Methods of Nonlinear Programming, in: Recent Advances in Mathe- matical Programming (R. L. Graves, P. Wolfe, Eds.), pp. 76—77, 1963. 7. McCormick G. P., Anti-Zig-Zagging by Bending, Manage, Sei., 15, 315—320 (1969). 8. Bazaraa M., Shetty С. M., Nonlinear Programming: Theory and Algorithms, Wiley, N. Y., 1979. [Имеется перевод: БазараМ., Шетти К. Нелинейное программирование.— М.: Мир, 1982.] 9. Hans-Tijan Т. Y., Zangwill W. 1., Analysis and Comparison of the Reduced Gradient and the Convex Simplex Method for Convex Programming, ORSA 41st National Meeting, New Orleans, April 1972. 10. Murtagh B. A., Saunders M. A., Large Scale Linearly Constrained Optimiza- tion, Math. Prog., 14, 41—72 (1978). 11. Abadie J., Carpentier J., Generalization of the Wolfe Reduced Graidieut Me-
86 ГЛАВА 9 thod to the Case of Nonlinear Constraints, in: Optimization (R. Fletcher, Ed.), Academic Press, N. Y., ch. 4, 1969. 12. Johnson R. C., A Method of Optimum Design, ASME J. Meeh.. Des., 101, 667— 673 (1979). 13. Beightler C., Wilde D. J., Foundation of Optimization Theory, Prentice-Hall, Englewood Cliffs, NJ, 1967. 14. Wilde D. J., Differential Calculus in Nonlinear Programming, Oper. Res., 10, 764—773 (1962); Oper. Res., 13, 848—855 (1965). 15. Reklaitis G. V., Wilde D. J., Necessary Conditions for a Local Optimum With- out Prior Constraint Qualifications, in: Optimizing Methods in Statistics (J. S. Rustagi, Ed.), Academic Press, N. Y., pp. 339—368, 1971. 16. Lasdon L. S., Waren A. D., Jain A., Ratner M., Design and Testing of Ge- neralized Reduced Gradient Code for Nonlinear Programming, ACM Trans. Math. Software, 4, 34—50 (1978). 17. Gabriele G. A., Large Scale Nonlinear Programming Using The Generalized Reduced Gradient Method, Dissertation, Purdue University W. Lafayette, IN, 1980. 18. Smeers Y., Generalized Reduced Gradient Method as an Extension of Feasible Direction Methods, J. Opt. Theory Appt., 22, 209—226 (1977). 19. Luenberger D. G., Introduction to Linear and Nonlinear Programming Addison- Wesley, Reading, MA, 1973. 20. Murtagh B. A., Saunders M. A., MINOS User’s Guide, Tech. Rep., 77-9, Sys- tems Optimization Laboratory, Stanford University, Stanford, CA, Feb., 1977. 21. Lasdon L. S., Warren A. D., Generalized Reduced Gradient Software for Li- nearly and Nonlinearly Constrained Problems, in: Design and Implementation of Optimization Software (H. Greenberg, Ed.), Sijthoff and Noordhoff, Holland, 1978. 22. Gabriele G. A., Ragsdell К. M., The Generalized Reduced Gradient Method: A Reliable Tool for Optimal Design, ASME J. Eng. Ind., 99, 384—400 (1977). 23. Rosen J. B., The Gradient Projection Method for Nonlinear Programming: Part I, Linear Constraints, S/AM J. Appl. Math., 8, 181—217 (1960). 24. Rosen J. B., The Gradient Projection Method for Nonlinear Programming: II. Nonlinear Constraints, SIAM J. Appl. Math. 9, 514—532 (1961). 25. Goldfarb D., Extension of Davidosn’s Variable Metric Method to Maximization under Linear Inequality and Equality Constraints, S/A/И J. Appt. Math., 17, 739—764 (1969). 26. Gill R. E., Murray W., Quasi-Newton Methods for Linearly Constrained Opti- mization, in: Numerical Methods for Constrained Optimization (P. E. Gill, W. Murray, Eds.), Academic Press, London, 1974. [Имеется перевод: Гилл Ф., Мюррэй У. Численные методы условной оптимизации.— М.: Мир, 1977.] 27. Powell М. J. D., Quadratic Termination Properties of Minimization Algorithms I: Statements and Discussion of Results, J. Inst. Math. Appl., 10, 333—342 (1972). 28. Murtagh B. A., Sargent R. H., A Constrained Minimization Method with Quad- ratic Convergence, in: Optimization (R. Fletcher, Ed.), Academic Press, N. Y., 1969. 29. Sargent R. W. N., Murtagh B. A., Projection Methods for Non-Linear Pro- gramming, Math. Prog., 4, 245—268 (1973). 30. Haug E. J., Arora J. S., Applied Optimal Design, Wiley, N. Y., 1979. 31. Haug E. J., Arora J. S., Feng T. T., Sensitivity Analysis and Optimization of Structures for Dynamic Response, А5Л4Е J. Meeh. Des., 100, 311—318 (1979). 32. Sargent R. W. H., Reduced Gradient and Projection Methods for Nonlinear Programming, in: Numerical Methods for Constrained Optimization (P. E. Gill, W. Murray, Eds.), Academic Press, London, England, 1974. 33. Gabriele G. A., Ragsdell К. M., ОРТ-A Nonlinear Programming Gode in FORTRAN IV, Purdue Research Foundation, W. Lafayett, IN, 1976. 34. Knopf F. C., OkosM. R., Reklaitis G. V., Optimal Design of Batch / Semi- Continuous Processes, Ind. Eng. Chem. Proc. Des. Dev., 21, 79—86 (1982). 35. Grossmann L, Sargent R. W. N., Optimum Design of Multipurpose Chemical Plants, Ind. Eng. Chem. Proc. Des. Dev., 18, 343—348 (1979).
Глава 10 Методы квадратичной аппроксимации для задач с ограничениями В предыдущих двух главах было рассмотрено несколько раз- личных способов использования линейной аппроксимации при решении нелинейных задач. В общем случае было обнаружено, что в зависимости от применяемого способа линеаризация дает либо вершину многогранника линеаризованных ограничений, либо возможное направление поиска. В любом случае, для того чтобы получить решение задачи условной оптимизации не в вершине допустимого многогранника, требуется некоторый вариант одно- мерного поиска. Учитывая опыт решения задач с ограничениями, целесообразно рассмотреть возможность использования аппрок- симаций более высокого порядка, поскольку они могли бы сразу дать лучшую точность решения не в вершине. Установлено, на- пример, что в случае одной переменной для определения положения оптимумов внутри интервала поиска можно использовать квад- ратичную аппроксимирующую функцию. В случае многих пере- менных квадратичная аппроксимация (например, используемая в методе Ньютона) обычно дает хорошие оценки положения точек безусловного минимума. Более того, группа квазиньютоновских методов позволяет пользоваться преимуществами квадратичной аппроксимации, не строя в явном виде полную аппроксимирую- щую функцию второго порядка на каждой итерации. В предыдущей главе уже рассматривалась способность квазиньютоновских ме- тодов ускорять вычислительный процесс при использовании их в рамках процедур определения направлений поиска для методов приведенного градиента и проекций градиента. Таким образом, содержание предыдущих глав в значительной мере выявляет бо- гатые алгоритмические возможности аппроксимаций более высо- кого порядка, прежде всего квадратичной аппроксимации, при решении задач с ограничениями. В настоящей главе подробно исследуются различные стратегии использования метода квадратичной аппроксимации. Сначала крат- ко рассматривается последовательность задач, получаемых путем непосредственного применения квадратичной аппроксимации (ана- лог последовательности задач ЛП). Далее исследуется вопрос об использовании вторых производных и функций Лагранжа при
88 ГЛАВА 10 формулировке подзадач квадратичного программирования (аналог метода Ньютона). В заключение рассматривается вопрос об ис- пользовании квазиньютоновских формул для пересчета квадра- тичных членов. Оказывается, что общую задачу НЛП можно эф- фективно решать с помощью последовательности подзадач, содер- жащих квадратичную целевую функцию и линейные ограничения. При этом применяется соответствующая процедура одномерного поиска, в которой в качестве начального приближения задается решение каждой из таких подзадач. Получаемый класс алгоритмов внешней точки можно рассматривать как естественное распростра- нение квазиньютоновских методов на задачи условной оптими- зации. 10,1. Непосредственное использование квадратичной аппроксимации Взяв за аналог последовательность задач ЛП, описанную в разд. 8.1, можно пытаться найти решение общей задачи НЛП путем простой замены каждой нелинейной функции ее локальной квадратичной аппроксимацией в точке приближенного решения х" и решения получаемой последовательности аппроксимирующих подзадач. Если каждую функцию f(x) заменить ее квадратичной аппроксимацией q (х; х°) = f (х°) ф- V/ (х°)г (х—х“) + 1/2 (х—х“)г V2/ (х°) (х — х°), то данная подзадача сводится к минимизации квадратичной целе- вой функции при квадратичных ограничениях в виде равенств и неравенств. Может показаться, что подобная структура подзадачи позволяет ее эффективно решить, но на самом деле это не так. Разумеется, такую подзадачу можно решить методами, обсуждав- шимися ранее при рассмотрении задач условной оптимизации, но это не дает ощутимого выигрыша по сравнению с прямым реше- нием исходной задачи. Для того чтобы последовательная про- цедура, использующая решения подзадач, оказалась эффективной, нужно, чтобы эти подзадачи решались существенно проще, чем исходная задача. Как отмечалось в подразд. 9.2.3, задачи с квадратичной поло- жительно определенной целевой функцией и линейными ограниче- ниями можно решить за конечное число итераций с однократным определением приведенного градиента на каждой из них, если только при его вычислении используется квазиньютоновский ме- тод или метод сопряженных градиентов. Заметим, что, хотя число итераций конечно, каждая из них требует одномерного поиска, который, строго говоря, не является конечной процедурой. Од- нако, как будет установлено в гл. 11, для так называемых задач квадратичного программирования (КП) существуют специальные
МЕТОДЫ КВАДРАТ. АППРОКСИМАЦИИ ДЛЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ 89 методы, дающие решение за конечное число итераций без одномер- ного поиска при использовании вместо него итерации симплекс- ного типа. Поскольку задачи КП можно эффективно решать с помощью действительно конечных процедур, по-видимому, целе- сообразно формулировать аппроксимирующие подзадачи как за- дачи квадратичного программирования. Считая целевую функцию дважды непрерывно дифференцируемой, стратегию поиска решения можно представить следующим образом. Непосредственное решение последовательности задач квадра- тичного программирования Пусть задано начальное приближение х° и имеется соответст- вующий метод решения подзадач КП. Шаг 1. Сформулировать следующую задачу КП: минимизировать V/ (х(П)г d + 1/2dr V2 f (х(/)) d при ограничениях hk (xtn) + yhk (xu')T d — 0, /?=1, (x'n) + (x<z')rd>0, /=1......J. Шаг 2. Решить задачу КП и положить xu + l)=x(f,+d. Ш а г 3. Проверить, сходится ли процесс, а если нет, повторить шаг 1. Как показывает следующий пример, этот подход может ока- заться весьма эффективным. Пример 10.1 Решить задачу минимизировать f (х) — бх^1 4- х2х~2 при ограничениях h(x) = x1x2 — 2 = 0, g-(x) = x,-|-x2—1 >0 и допустимом начальном приближении х°= (2; 1), используя непо- средственное решение последовательности задач КП. В точке х° имеем f(x°)= 12,25; h(x°)=0 и g (х°)=2>0. Ниже за- писаны производные, требуемые для построения подзадач КП: V/ (х) = ((бхг1 — 2х2хг3), (— 6х4х72 + хг2))г, / (6х2хг4) (— 6хГ2—2хг3)\ \(—6x7” — 2х?3) (12х,хг3) / Vh. (х) = (х2; ху. Таким образом, первая подзадача КП состоит в следующем: минимизировать (23/4;—47/4) d-p^d1 nf 24^ при ограничениях (1; 2) d = 0, (1; i)d-p2>0.
90 ГЛАВА 10 Первое ограничение можно использовать, чтобы исключить одну из переменных; соответственно имеем dj=—2d2, после чего получается задача с одной переменной, которую легко решить аналитически, что дает d°= (—0,92079; 0,4604). Таким образом, получаем новую точку x‘1» = x0 + d° = (l,07921; 1,4604), в которой f (х(1)) — 5,68779, й(х<1>) = —0,42393, g(x"')>Q. Нетрудно видеть, что значение целевой функции увеличилось су- щественно, но при этом ограничение-равенство нарушилось. Про- должим процедуру решения. Следующая подзадача имеет вид минимизировать (1,78475; —2,17750) J/2dTx / 6,4595 —4.4044Х , х V—4,4044 4,15797“ при ограничениях (1,4604; 1,07921) d—0,42393 = 0, (1; l)d+ 1,5396>0. Решение подзадачи d(1)=(—0,03043; 0,43400) дает новую точку: х<2’ = (1,04878; 1,89440), f(x™) = 5,04401, h (х'2>) = —0,013208, g(x™)>Q. Здесь произошло уменьшение как целевой функции, так и невязки ограничения-равенства. Следующие две итерации дают л13’ = (1,00108; 1,99313), f (х(3)) = 5,00457, Л (х13>) = — 4,7-10~3, х“’ = (1,00014; 1,99971), f (*“’) = 5,00003, h (xw) = — 6,2- 10~e. Точный оптимум достигается в точке х* = (1; 2), где /(х*)=5,0; очень близкое решение было получено за четыре итерации. Из рис. 10.1 видно, что линеаризация ограничений позволяет найти направления поиска, тогда как квадратичная аппроксима- ция целевой функции указывает, какую величину шага следует выбрать, двигаясь в таком направлении. Таким образом, исполь- зование нелинейной аппроксимации целевой функции действительно приводит к решениям не в вершине. Однако, как показывает сле- дующий пример, ограничение шага за счет квадратичной аппрок- симации не всегда имеет место.
МЕТОДЫ КВАДРАТ. АППРОКСИМАЦИИ ДЛЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ 91 Пример 10.2 Поменяем местами целевую функцию и ограничение в виде равенства в примере 10.1, т. е. рассмотрим задачу минимизировать f (х) — хгхг при ограничениях /г(х) = 6х1х7’ + хгх1-2 —5 = 0, g(x) = Xi + x2—1 >0. Оптимальное решение этой задачи то же, что и в примере 10.1. Для начальной точки х°= (2; 1) первая подзадача принимает вид
92 ГЛАВА 10 минимизировать (1; 2) d + у dT (° d при ограничениях (23/4; —47/4) + 2И/4 = 0, (1; l)d + 2>0. Решение этой подзадачи d°=(—1,7571; —0,24286); здесь оба ог- раничения активные. Таким образом, в подзадаче получена вер- шина. Соответствующее промежуточное решение = х» 4-d° = (0,24286; 0,75714) дает f(xw) = 0,18388, h (х'1') = 9,7619 и g(x(1') = 0. Значение целевой функции уменьшилось, но невязка ограничения- равенства возросла. Следующая подзадача имеет вид минимизировать (0,75714; 0,24286) d + у dT (° d при ограничениях —97,795^!+ 14,413d2 + 9,7619 = 0, 4" ^2 0. Получается новая точка л'*>= (0,32986; 0,67015), в которой f (х<2)) = 0,2211, h (х<2)) = 4,1125, g(x(2)) = 0. И в данном случае ограничение g(x)^0 активное. Ниже приведены следующие несколько точек, полученные подобным образом: х,3) = (0,45383; 0,54618), = (—0,28459; 1,28459), х,5) = (—0,19183; 1,19183). Эти и все последующие приближения лежат на ограничении g(x)=0. Так как целевая функция уменьшается в направлении к началу координат, то все приближения будут получаться на пересечении прямой, полученной путем локальной линеаризации, с прямой g(x)=0. Наклон прямой, полученной линеаризацией, будет больше или меньше —1 в зависимости от того, с какой стороны от точки «сгиба» кривой ограничения находится точка, в которой проводится линеаризация; поэтому точки, соответствующие последовательным приближениям, будут просто совершать колебательное движение вверх и вниз относительно ограничения g(x)=0. Очевидно, возникает задача, связанная с тем, что при линеа- ризации нельзя учесть большую кривизну кривой ограничения /г(х)=0 в окрестности оптимума. Действительно, поскольку по- ложение оптимума определяется как формой кривой ограничения, так и формой кривой целевой функции, то необходимо учитывать и то и другое. Это можно сделать неявно, вводя ограничение на допустимую величину шага или используя одномерный поиск на основе метода штрафных функций, как указано в подразд. 8.1.2.
МЕТОДЫ КВАДРАТ. АППРОКСИМАЦИИ ДЛЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ 93 Другой способ явного учета кривизны кривой ограничения состоит во включении ее в целевую функцию модифицированной подза- дачи, как предлагается в следующем разделе. 10.2. Квадратичная аппроксимация функции Лагранжа Примеры предыдущего раздела указывают на целесообразность введения в постановку подзадачи кривизны не только целевой функ- ции, но и ограничений. Однако, исходя из соображений вычисли- тельного характера, было указано, что лучше иметь дело с под- задачами, содержащими линейные ограничения, чем с подзада- чами, имеющими квадратичные ограничения. Как будет показано ниже, это можно сделать, используя функцию Лагранжа. Рас- смотрим сначала только задачу с ограничениями в виде равенств. Переход к ограничениям-неравенствам осуществляется прямым использованием соответствующих приемов. Рассмотрим задачу минимизировать [ (х) при ограничении /г(х) = 0. Вспомним, что необходимым условием наличия локального мини- мума в точке х* является существование такого множителя и*, для которого выполняются соотношения (х*, = — v*T V/i* = 0, /г(х*) = 0. (Ю-1) Достаточные условия наличия локального минимума в точке х* (см. теорему 5.7, гл. 5) состоят из условия (10.1) и условия то- го, чтобы гессиан функции Лагранжа V2A(x*, u*) = V2/*—(u)*rV2/i* удовлетворял неравенству drV2Ld>0 для всех таких d, что (V/i)*? d = 0. (10 2) Считая заданной некоторую точку (х, и), сформулируем следую- щую подзадачу относительно d: минимизировать V/ (х)т d-ф 1/2dT \гх L (х, v)d (10.3) при ограничении h (х) + V/i (х)г d = 0. (10.4) Отметим, что если d* = 0 является решением задачи, определяемой соотношениями (10.3) и (10.4), то точка х должна удовлетворять необходимым условиям существования локального минимума ис- ходной задачи. Сначала заметим, что если d*=0 является решением подзадачи, то, как следует из равенства (10.4), /г(х)=0; другими словами, х — допустимое решение. Далее, должен существовать такой множитель и*, что функции, входящие в подзадачу, будут
94 ГЛАВА 10 удовлетворять необходимым условиям оптимальности для функ- ции Лагранжа при d*=0. Градиент целевой функции (10.3) по d равен Vf(x) при d*=0; аналогично градиент левой части (10.4) равен V/i(x). Отсюда следует, что V/(x)—(v)*T V/i (х) = 0. (10.5) Очевидно, что v* является множителем Лагранжа для исходной задачи и, таким образом, х удовлетворяет необходимым условиям существования локального минимума. Пусть множитель v*, о котором говорилось выше, задан. Пе- реформулируем подзадачу для точки (х, и*). Ясно, что (10.5) по- прежнему выполняется, поэтому d=0 удовлетворяет необходимым условиям оптимальности. Пусть эта подзадача удовлетворяет также достаточным условиям второго порядка при d=0 и том же v*. Тогда справедливо неравенство d{v?L(x, v*)—v* (0)}d>0 для всех таких d, что \h(x)Td=C). Заметим, что вторая производная по d в (10.4) равна нулю, поскольку соответствующая функция линейна по d. Следовательно, неравенство, записанное выше, приводит к тому, что выражение dTVxL(x, v*)d также положительно. Таким образом, пара (х, п*) удовлетворяет достаточным условиям суще- ствования локального минимума в исходной задаче. Проведенные рассуждения показывают, что подзадача, опре- деляемая соотношениями (10.3) и (10.4), обладает следующими интересными особенностями. 1. Если решение не удается скорректировать, т. е. d=0, то это означает, что найден локальный минимум исходной задачи. 2. Множители Лагранжа для подзадачи удобно взять в качестве приближенных значений множителей, используемых при форму- лировке следующей подзадачи. 3. Для точек, достаточно близких к решению исходной задачи, квадратичная целевая функция будет, по-видимому, положительно определенной; таким образом, решение подзадачи КП будет хорошо определяться. Используя достаточные условия оптимальности в случае, когда одновременно имеются ограничения в виде равенств и неравенств, нетрудно прийти к формулировке подзадачи КП для общего слу- чая, когда в ограничениях содержится К равенств и J неравенств. Положим L (х, и, = j {x)—'^ivkhk(x)—^u/^i(x). Тогда для некоторой точки х, и, v подзадача принимает вид минимизировать q(d, x)^^l (х)т d-\-'/2dr\/xL(x, и, n)d(10.6) при ограничениях hk(d, х) = (х) 4-V/iA (х) 7 d = 0, k=l, .... К, (10.7) g/(d: x) = g/(x) + Vg/(x)7 d>0, /== 1, .... J. (10.8)
МЕТОДЫ КВАДРАТ. АППРОКСИМАЦИИ ДЛЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ 95 Алгоритм сохраняет основные шаги, описанные для случая непосредственного решения задач КП. А именно, задается началь- ное приближение ха вместе с и0 и vQ (последние можно положить равными нулю); формулируется и решается подзадача [соотно- шения (10.6) — (10.8)]; находится х', + 1'=х(П+с(; проверяется, сходится ли процесс; процесс повторяется с использованием в качестве следующих приближенных значений и и v соответствую- щих множителей, полученных при решении подзадачи. Пример 10.3 Решим заново задачу из примера 10.1, используя подзадачи КП, сформулированные на основе функции Лагранжа. Выберем начальные приближения х°= (2; 1)г, «°=0 и п°=0. Первая из подзадач принимает вид /23 47\ . . 1 .т( 3/8 -25/4\. минимизировать I-*-; — -^ ) « + у « I «5/ 24 jd при ограничениях (1; 2)d = 0, (1; l)d+2^0. Эта задача в точности такая же, как первая подзадача в примере 10.1, поскольку начальные нулевые приближения множителей обращают в нуль члены функции Лагранжа, определяемые ограни- чениями. Таким образом, решение подзадачи остается прежним: d° = (—0,92079; 0,4604)г. Поскольку для этого решения ограничение-неравенство является неактивным, то множитель и'1’ должен равняться нулю. Множитель ограничения-равенства можно найти из необходимых условий оптимальности для функции Лагранжа в подзадачах, а именно V^(d°; х°) = v\h (da; х°) или {(?• 4)+"г(-4 “2>г- Таким образом, и'п=2,52723. Наконец, получаем новое при- ближение к решению задачи: x(I,=x°+d°, или х’1’= (1,07921; 1,4604)г, f (х(1>) = 5,68779, h (х">) = —0,42393, как и выше. Для второй подзадачи нужны градиенты V/(х(1)) = (1,78475; —2,17750)^, V/i (x,n) = (1,4604; l,07921)r, (v<i>\ _ f 6,45954 —4,40442\ M ’ \—4,40442 4,15790/’ V*h(x^ = (® J).
96 ГЛАВА 10 Квадратичный член, таким образом, становится равным V2L = V2/ —oV2A = = V7 —2,52723 6,45924 —6,93165\ —6,93165 4,15790/ Окончательная формулировка подзадачи имеет вид минимизировать (1,78475; —2,17750; d-h ,±ит/' 6,45924 —6,93165\^ Т 2 “ \—6,93165 4,15790J при ограничениях 1,4604d^ 1,07921 d2 = 0,42393, dy + d2+ 1,539604 >0. Решение подзадачи dtn= (0,00614; 0,38450). Так как g(dw; xu>)>0, то оставшийся множитель для ограничения-равенства по- прежнему можно получить из уравнения Vq(d{l>; х111) — vT Vh (d'1’; x'1’), или /—0,84081\ /1,46040 \ \ —0,62135/1,07921) • Таким образом, о»2’=—0,57574, xt2’= (1,08535; l,84490)r, f (x,20 = 5,09594, h (x,2>) = 2,36-10"3. Выполнив еще несколько итераций, получим х,3> = (0,99266; 2,00463/, у<”=—0,44046, /”=4,99056, й,3, = —1,008-IO’2 и х“’= (0,99990; 2,00017)', и‘“’=-0,49997, /'“' = 5,00002, — 3,23-10-5. Интересно отметить, что эти результаты оказываются сравни- мыми с полученными в примере 10.1 без использования членов со вторыми производными. В этом нет ничего неожиданного, так как при оптимальном решении (1; 2) вклад во вторые производные функции Лагранжа, вносимый ограничениями, мал. v/ v " -Д-3,5 1,57 \ 2Ц1 О) ^—3,0 1,5;- Основной алгоритм, проиллюстрированный в предыдущем при- мере, можно рассматривать как распространение метода Ньютона на задачу с ограничениями. В частности, если ограничения отсут- ствуют, подзадача принимает вид минимизировать V/ (x)r d + 4tdT V2/ (х) d. Эта функция используется в качестве аппроксимации в методе Ньютона. В связи с этим можно ожидать, что некоторые трудности,
МЕТОДЫ КВАДРАТ. АППРОКСИМАЦИИ ДЛЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ 97 возникающие при использовании метода Ньютона, могут встре- титься также и при его обобщении. В частности, если член со вто- рыми производными не обладает свойством положительной опре- деленности, то могут возникнуть стационарные точки, не являю- щиеся точками минимума; возможно также нарушение сходимости при плохих начальных приближениях. Проиллюстрируем это на следующем примере. Пример 10.4 Рассмотрим задачу из примера 10.2 с начальным приближением х°=(2; 2,789) и u=v=0. Первая подзадача имеет вид минимизировать (2,789; 2)d4--^-d7'^ при ограничениях 1,4540— 1,2927d2 — 1,3-10-4, d, + d2 + 3,789 >0. Решение этой подзадачи d°=(—1,78316; —2,00583). Ограничение- неравенство становится активным, поэтому нужно вычислять мно- жители для обоих ограничений. Решая систему V<7(d°; х") = vMh. (d°; х") + uVg (d°; x°), /0.78317Х = /—145.98X , /1 \ \0,21683J \ 19,148/u/ ’ получаем uu)=—0,00343 и uU)=0,28251. В соответствующей промежуточной точке xm=(0,21683; 0,78317)г имеем f(x^) = 0,1698, /г(х(1,)= 13,318, g(xll}) = 0. Заметим, что значение целевой функции заметно уменьшилось, однако невязка ограничения-равенства стала очень большой. Сле- дующая подзадача, построенная по ха) с приближенными значе- ниями множителей «(1) и и(п, имеет вид минимизировать (0,78317; 0,21683) d+ -l-Lht //0 1 \__ 1 / 2125,68 —205,9о\___u(1,(01ld + о) v 205,95 5.4168/ 1 '/ при ограничениях —145,98 dl-\- 19,148 d2 =—13,318, di + d2>0. Решением подзадачи является приближение d<n = (0,10434; —0,10434)г; множители и(2,=—0,02497, н<2’=0,38822. В новой точке х<2,=(0,40183; 0,59817)г целевая функция принимает зна- чение 0,24036 и левая часть ограничения равна 2,7352. Ниже при- ведены результаты следующей итерации: х<3) = (0,74969; 0,25031)г, /(%«>) = 0,18766, h (х<3>)= 13,416. 4 № 1865
98 ГЛАВА 10 Они показывают, что невязка ограничения существенно увеличи- лась, тогда как значение целевой функции несколько уменьши- лось. Сравнение результатов вычислений при х'1’ и х(3) показало,, что итерации не дали заметного улучшения. Действительно, как значение целевой функции, так и невязка ограничения-равенства увеличились при переходе от х(1) к х'31. В случае неудовлетворительной сходимости следует, как и в случае задачи без ограничений, использовать процедуры одномер- ного поиска, который начинается с предыдущего приближения и происходит в направлении, полученном из решения текущей под- задачи КП. Однако в случае задачи с ограничениями нужно при- нимать во внимание как улучшение значения целевой функции, так и уменьшение невязок ограничений; поэтому одномерный поиск нужно производить, используя ту или иную штрафную функцию. Например, в случае способа последовательного решения задач ЛП, развитого Паласиусом—Гомецом (см. подразд. 8.1.2), можно ис- пользовать метод внешней точки со штрафной функцией вида Р(х, R) = [(x) + rI 2 [йл(х)]2+ 2 [min (0, £7(х))]4; \ k= 1 /= I J при этом нужно применять некоторый способ регулирования па- раметра штрафа R. Этот подход иллюстрируется на следующем примере. Пример 10.5 Используем процедуру одномерного поиска со штрафной функ- цией для решения задачи примера 10.4. Начнем с точки х<2) и век- тора направления d<2)=(0,34786; —0,34786)г, ранее взятого для определения точки х'3’. Пусть используется штрафная функция Л(л', R) = f(x)-\- 10{/i(x)2 + [min(0, £(х))]2}. Минимизируя ее по направлению, получаем х - х<2’ 4- ad'2> - ( 0,40183\ , / 0,34786 \ а Л_л +аа -(^о,59817J 4-0,347867 Заметим, что Р=75,05 при а=0, тогда как /’==1800,0 при а=1. Следовательно, минимум нужно искать в диапазоне 0<а<1. Ис- пользуя какой-либо метод одномерного поиска, можно найти при- ближенное значение минимума, Р=68,11 для а=0,1. В результате получаем точку х<3, = (0,43662; 0,56338)’’; при этом /(х<3))=0,24682 и h (xt3))=2,6053. Чтобы продолжить итерационный процесс, нужно пересчитать приближения для множителей. Вектор d=xl3)—х(2’ больше не яв- ляется оптимальным решением предыдущей подзадачи, поэтому
МЕТОДЫ КВАДРАТ. АППРОКСИМАЦИИ ДЛЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ 99 соответствующее значение d нельзя использовать для оценки мно- жителей. Единственно подходящими значениями пересчитанных множителей являются те, которые соответствуют d'2’, а именно .<”=—0,005382 и ц<3)=0,37291. Следующие четыре итерации проведены с использованием од- номерного поиска минимума штрафной функции после решения каж- дой из подзадач; соответствующие результаты приведены в табл. 10.1. Таблица 10.1. Результаты для примера 10.5. Номер итерации *1 х2 f h V 3 0,43662 0,56338 0,24682 2,6055 -0,005382 4 0,48569 0,56825 0,27599 2,5372 -0,3584 5 1,07687 1,8666 2,0101 0,07108 -0,8044 6 0,96637 1,8652 1,8025 0,10589 -1,6435 7 0,99752 1,99503 1,9901 0,00498 -1,9755 00 1,0 2,0 2.0 0,0 -2,0 Из этой таблицы видно, что применение процедуры одномерного поиска позволяет ускорить сходимость к оптимуму в случае пло- хих начальных приближений. Использовать квадратичную аппроксимацию для функции Лаг- ранжа было предложено в работе [1]. Несмотря на то что эта идея развивалась в работах [2, 3], она не получила широкого распростра- нения. При использовании метода Ньютона в технических прило- жениях встречаются два рода трудностей: во-первых, требуется знать значения вторых производных для всех функций задачи; во-вторых, метод чувствителен к плохим начальным приближениям. Вдали от оптимального решения на основе вторых производных функций, и особенно приближенных значений множителей, прак- тически невозможно определить подходящее направление поиска (например, в табл. 10.1 и<3)=—5,38-Ю-3, тогда как v*=—2). Та- ким образом, для начальных итераций громоздкие вычисления всех вторых производных могут оказаться совершенно ненужными. Другой недостаток описанного выше алгоритма состоит в том, что в нем используется процедура регулирования параметра штрафа для штрафной функции, применяемой при одномерном поиске. Во- первых, каким-то образом требуется обеспечить выбор хорошего начального приближения для этого параметра, во-вторых, для га- рантии сходимости параметр штрафа должен иметь большое зна- чение. Соответствующая процедура требует привлечения эвристи- ческих приемов типа тех, которые рассматривались в гл. 6. В сле- дующем разделе описывается новый подход, который в значительной степени позволяет преодолеть указанные недостатки квадратичной аппроксимации.
100 ГЛАВА 10 10.3. Методы переменной метрики для задач условной оптимизации В гл. 3 отмечалось, что для задач с ограничениями скорость схо- димости метода Ньютона можно повысить путем использования подходящих формул пересчета для аппроксимации матрицы вторых производных. В работе [4] было впервые показано, что аналогич- ный прием можно использовать для аппроксимации квадратичных членов в рассматриваемых подзадачах, построенных на основе функ- ции Лагранжа. Это представляется вполне естественным. В рабо- тах [5—8] развита идея аппроксимации при помощи квази- ньютоновских формул пересчета, требующих лишь вычисления разности градиентов функции Лагранжа. Общая схема метода пе- ременной метрики описана ниже. Метод переменной метрики в задачах с ограничениями Пусть заданы начальные приближения х°, и0, о0 и симметриче- ская положительно определенная матрица Н°. Шаг 1. Решить задачу минимизировать V/ (xtt})T d-j- */2 dr H'Z| d при ограничениях hk (x(Z)) + V/iA {xa')T d = 0, fe=l, ..., K, g/(x,Z)) + Vg,-(x,z')7'd^0, j=l, J. Шаг 2. Выбрать величину шага а вдоль направления d'z> и положить Шаг 3. Проверить, сходится ли процесс. Шаг 4. Пересчитать H'Z), используя разность градиентов VxL(x(Z+1), u(Z+1), п<1+1)) — VxL(xul, u’z+1), так, чтобы матрица H(Z+1) осталась положительно определенной. Ключевыми в описанной выше процедуре являются формула пересчета для H(Z) и способ выбора а. В работах [4, 5] рассматрива- лись несколько хорошо известных формул пересчета, в частности формула ДФП. В работе [4] также показано, что если положить а=1, то при достаточно близком к оптимуму начальном приближе- нии скорость сходимости будет суперлинейной без обращения к процедуре определения величины шага или процедуре одномерного поиска. Однако одномерный поиск нужен для того, чтобы гаранти- ровать сходимость из произвольной начальной точки. В частности, в работе [5] рекомендуется использовать штрафную функцию Р(х, R) = f (х)RI 2 I hk (х) |— 2 min[0, g, (х)] 1 i i = i ) при этом a=a* выбирается, исходя из условия Р (х (a*)) — min Р (x(Zl + ad11', R); 0<a<6 здесь Z? и 6 — некоторые положительные числа.
МЕТОДЫ КВАДРАТ. АППРОКСИМАЦИИ ДЛЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ Ю1 С другой стороны, в работе [7] предлагается использовать фор- мулу БФШ в рамках описанной ниже процедуры, что позволяет сохранить положительную определенность матрицы Н(П. Пусть г = х</+1)—х” ’ и у = VxL(x{t+1>, vit+1))—VxL(xa', tdt+1>v«+1)). Определим а по формуле f 1 при 0,2zrH(t)z, a — j 0,8zTHlf>z _ в противном случае. ( zTH(‘>Z — zTy Вычислим w — Qy -j- (1—0) H(t’z. (10.9) (10.10) Наконец, используем полученное значение w в формуле пересчета БФШ H(t+i> - Н"> Н(<>гггН(<> уут zTWt'zT zTW • (10.11) Следует заметить, что величина 0,2 в формуле (10.9) выбрана эм- пирически и стандартная формула БФШ обычно записывается в переменных у вместо w. На основе эмпирических данных в работе [8] предлагается про- цедура выбора шага с использованием штрафной функции к J Р(х, ц, v) = f(x)+ 2 ш1М*)| — 2 crz min (0, gj(x)), (10.12) 4=1 / = 1 в которой на первой итерации а на t-й итерации ^> = тах{|4ъ|, ^(l^ + KDh (Ю.13) о?» = max {| ЫФ |, V2 (<^+1’ +1»/’ I)} • (10.14) Одномерный поиск можно осуществлять, выбирая наибольшее зна- чение а из отрезка О-cacI так, чтобы выполнялось условие Р(х(а))<Р(х(0)). (10.15) Однако в работе [8] отдается предпочтение использованию квад- ратичной интерполяции, с помощью которой последовательно ге- нерируются значения ак до тех пор, пока не будет выполнено более сильное условие P(x(aft))<P(x(0))+0,l ah(dP/da)(x(0)). (10.16) В то же время интересно отметить, что в некоторых примерах ис- пользование эвристических приемов может привести к отсутствию сходимости процесса [9]. В работе [10J сообщалось о дальнейших
102 ГЛАВА 10 усовершенствованиях процедуры выбора шага, однако соответст- вующие подробности выходят за рамки данной книги. Ниже иллюстрируется работа одного из вариантов метода пе- ременной метрики для задач условной минимизации (ПМУ), ис- пользующего формулы пересчета (10.11), штрафную функцию (10.12) и простую процедуру выбора шага, основанную на квадра- тичной интерполяции. Пример 10.6 Решим задачу из примера 10.1, используя метод ПМУ с началь- ной матрицей Н°= 1. В начальной точке (2; 1) вычислим градиенты соответствующих функций: V/=(23/4, -4’/У, VA = (1; 2У, Vg=(l; 1)П Следовательно, первая подзадача принимает вид минимизировать (33/4; —47/4) ^ +’/2 Ш при ограничениях (1; 2)d —0, (1; l)d + 2^0. Легко показать, что решение задачи определяется точкой, ле- жащей на пересечении кривых, определяемых ограничениями. Та- ким образом, d°= (—4; 2)г и множители, соответствующие этой точке, являются решением системы или ц(1,=—w/4, ull>=?3/4. На первой итерации используем следую- щие параметры штрафа: Р(1’ = |-474|, <+’ = p3/J. Штрафная функция (10.12) принимает, таким образом, следующий вид: Р = Ox'jxp1 x2xp3 + 4’/41 х4х2 — 21—33/4 min (0; хг 4- х2 — 1). Проведем теперь однопараметрический поиск минимума Р на прямой х= (2; 1)г+а(—4; 2)г. При а=0 имеем Р(0) = 12,25. Пусть сначала проводится поиск границ, в пределах которых на- ходится минимум, с шагом Д=0,1. Тогда />(0+0,1) = 9,38875 и Р(0,1+2(0,1)) = 13,78. Очевидно, что интервал, внутри которого находится минимум, огра- ничен. Используя квадратичную интерполяцию по трем опорным точкам а=0; 0,1 и 0,3, получим а=0,1348 и Р (а) =9,1702. За- кончим поиск при этом значении а, так как соответствующее зна- чение Р(а) существенно меньше Р(0). Новая точка определяется
МЕТОДЫ КВАДРАТ. АППРОКСИМАЦИИ ДЛЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ ЮЗ как х<п=(2; 1)Г+ (0,1348) (—4; 2)= (1,46051; 1,26974). Теперь нужно пересчитать матрицу Н. Следуя методу Пауэлла, вычислим Заметим, что оба градиента вычислены с использованием одних и тех же значений множителей и11’, v(1). По определению у = VXL (х(1)) — VXL (х°) = (1,26228; 6,81563)г. Далее проверим условие (10.9) ггу= 1,15749 > 0,2гг 1г = 0,2 (0,3638). Следовательно, 0 = 1 и w=y. Используя формулу (10.11), вычис- лим Нш: Н(1> = I ггт . УУТ || г |Р + гТу (1,26228; 1,26228) = = (\ JVC0-3638)’^?^^?!^-0’53949; 0-26974) + I и 15749)-1 /1,26228 + (1,Ю/4У) 26228 /1,57656 7,83267\ \7,83267 40,9324 ) ’ Заметим, что матрица Н(1’ положительно определена. Этим завершается одна итерация. Вторую итерацию опишем в сокращенном виде. Для х(1) подзадача принимает вид 1,57656 7,83267\ 7,83267 40,9324 Д’ при ограничениях (1,26974; 1,46051) d—0,14552 = 0, dr + d2+ 1,73026 >0. минимизировать (3,91022; —4,96650) d Д-i- dT Решением задачи квадратичного программирования является <Д' = (—0,28911; 0,35098/.
104 ГЛАВА 10 Для этого решения ограничение-неравенство неактивно и, следова- тельно, и<2,=0. Другой множитель принимает значение г/2)= =4,8857. Для штрафной функции множители пересчитываются по фор- мулам (10.13) и (10.14): р(2,= max (| 4,88571, = 8,19284, о<2) = max 0|, - -^2^'°) = 6,625. Теперь штрафная функция записывается в виде Р(х(а))=/(х)+8,19284|х1х2—2|—6,625 min (0; Xj+x2—1), где x(a)=xll’+ad11*, Ocacl. При а=0 имеем Р(0)=8,68896, минимум оказывается в точке а=1 и Р(1)=6,34906. Новая точка имеет координаты х‘2>= (1,17141; 1,62073); при этом /(х(2|)=5,5177, /г(х<2>)=—0,10147. Итерационный процесс продолжается, при этом матрица Н11> пересчитывается. Чтобы не повторяться, не будем останавливаться на деталях. Результаты, полученные для следующих четырех итераций, приведены ниже ™мер х х f h v итерации Л1 лг J " 3 1,14602 1,74619 5,2674 0,001271 -0,13036 4 1,04158 1,90479 5,03668 - 0,01603 - 0,17090 5 0,99886 1,99828 5,00200 -0,003994 -0,45151 6 1,00007 1,99986 5,00000 -1,9 ХЮ’3 4 5 6 -0,50128 Вспомним, что в примере 10.3 в формулировке подзадачи КП ис- пользовались вторые производные, заданные аналитически; при этом сравнимая точность решения была достигнута за четыре ите- рации. Таким образом, результаты, полученные квазиньютонов- ским методом с использованием только первых производных, яв- ляются вполне удовлетворительными, особенно если учесть, что одномерный поиск проводился только приближенно. Следует еще раз подчеркнуть, что результаты относительно сходимости (суперлинейная скорость), изложенные в работах [6, 111, получены в предположении, что параметры штрафной функции остаются неизменными и используемые процедуры одномерного поиска являются точными. Таким образом, модификации Пауэлла (10.13) и (10.14) вместе с процедурами приближенного поиска явля- ются полезными эвристическими приемами, применение которых оправдано численными экспериментами. Наконец, важно отметить, что уже в 1972 г. в работе [12] пред- лагалась другая постановка подзадачи квадратичного программи-
МЕТОДЫ КВАДРАТ. АППРОКСИМАЦИИ ДЛЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ Ю5 рования. Главные отличительные черты этого подхода сводятся к следующему: во-первых, при выборе ограничений в виде неравенств, для которых проводится линеаризация, используется стратегия активных ограничений; во-вторых, квадратичная аппроксимация, применяемая в подзадаче,— это аппроксимация штрафной функ- ции. Ввиду сходства в целом указанного подхода и подхода, ос- нованного на использовании функции Лагранжа, первый здесь подробно не рассматривается; его описание приводится в работе [13] и цитированной в ней литературе. Интересно, что, согласно данным, приведенным в этой работе, программа, реализующая ука- занный подход (OPRQ), оказалась весьма эффективной при реше- нии ряда практических задач, одна из которых насчитывала 79 пе- ременных и 190 ограничений. Таким образом, небольшой, но быст- ро пополняющийся набор эмпирических результатов является еще одним свидетельством эффективности методов переменной метрики при решении задач с ограничениями. 10.4. Обсуждение Обрисовав общую структуру группы алгоритмов ПМУ, перей- дем к обсуждению некоторых особенностей их практической реа- лизации и рассмотрим взаимосвязь между методами ОПГ и ПМУ. 10.4.1. Масштабирование задачи Прежде всего, как отмечалось в работах [7, 14], метод перемен- ной метрики должен быть (и, очевидно, является таковым) не- чувствительным к масштабированию ограничений. Однако, хотя метод должен быть так же не чувствителен и к масштабированию переменных, опытные данные, приведенные в работе [14], показы- вают, что в действительности такое масштабирование существенно. Авторы этой работы рекомендуют так масштабировать перемен- ные, чтобы они принимали значения между 0,1 и 10. 10.4.2. Несовместимость ограничений Пример 10.6 характеризует общую ситуацию, при которой груп- па рассматриваемых методов порождает последовательность недо- пустимых точек. При этом могут возникнуть различные трудности, такие, как невозможность реализовать вычислительную схему в силу неопределенности входящих в задачу функций для некото- рых значений переменных и возникновение систем линеаризован- ных ограничений, оказывающихся несовместными. Первая из труд- ностей характерна для всех методов внешней точки; ее можно час- тично устранить путем тщательной разработки вычислительной схемы, позволяющей избежать появления очевидных источников вычислительных проблем, таких, как наличие неположительных
106 ГЛАВА 10 аргументов логарифмов или степенных функций или же деление на очень малые числа или на нуль. Ситуация с несовместными систе- мами линеаризованных ограничений в принципе может встретиться даже тогда, когда исходная задача имеет непустое множество до- пустимых решений; в частности, она может иметь место при сущест- венно недопустимых начальных приближениях. В работе [7] пред- ложен следующий прием, устраняющий указанную трудность: вво- дится искусственная переменная 5 вместе с ограничениями все линеаризованные ограничения-равенства переписываются как Vhk(x)d+ihk(x) = Q, а все линеаризованные неравенства с отрицательными левыми час- тями записываются в виде Vgj (x)d + lg,(x)^0. Целевая функция задачи КП изменяется за счет добавления к ней члена (1—£)М, где М — большая положительная константа. При £=1 получается исходная подзадача. Если допустимое направле- d не может быть найдено, то наличие £<1 дает дополнительную сте- пень свободы, позволяющую найти d, которое удовлетворяет огра- ничениям модифицированной подзадачи. Этот прием рассматрива- ется в работе [14], в которой рекомендовано использовать его для задач большой размерности. 10.4.3. Модификация матрицы Н(й Как отмечено в работе [15], при решении оптимизационных за- дач, обладающих определенной структурой, алгоритмами ПМУ мо- гут возникнуть две дополнительные вычислительные трудности: 1) длина вектора направления d может оказаться слишком большой; 2) матрица Н(,) может оказаться почти вырожденной. Первая труд- ность возникает, когда в оптимальном решении исходной задачи суммарное число активных ограничений (неравенства плюс ра- венства) оказывается меньше числа переменных. Вторая трудность появляется из-за того, что матрица Н(П может стать почти неотри- цательно определенной, несмотря на то что процедура пересчета сохраняет ее симметрической и положительно определенной. Мо- дификация, предлагаемая в обоих случаях, сводится к тому, что к приближению H(t> добавляется единичная матрица с некоторым регулируемым по величине коэффициентом л. В настоящее время для систематической регулировки этого коэффициента применяет- ся лишь эвристическая процедура, основанная на использовании получаемого в процессе вычислений модуля вектора d. Сравнение результатов, полученных при решении нескольких оптимизацион- ных задач большой размерности с определенной структурой с по- мощью модифицированного алгоритма ПМУ, предложенного в ра- боте [15], и других алгоритмов нелинейного программирования,
МЕТОДЫ КВАДРАТ. АППРОКСИМАЦИИ ДЛЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ 107 показало, что такая эвристическая процедура может быть вполне удовлетворительной. Тем не менее этот вопрос заслуживает даль- нейшего исследования, так как в принципе подобная модификация матрицы Н(О может привести к ухудшению сходимости алгоритмов ПМУ. 10.4.4. Сравнение методов ОПГ с методами ПМУ Метод ОПГ с ускоренным вычислением вторых производных и метод ПМУ используют квазиньютоновские формулы пересчета для уточнения направлений поиска, полученных путем линейной аппроксимации. В связи с этим уместно поставить вопрос: не мо- гут ли в действительности эти два подхода оказаться во многом эквивалентными? В дальнейшем путем рассуждений на качествен- ном уровне будет показано, что указанные подходы имеют сущест- венные различия. В целях упрощения рассмотрим лишь случай за- дачи с ограничениями в виде равенств. Учет ограничений-неравенств не представляет принципиальных трудностей и может быть предо- ставлен читателю в качестве интересного упражнения. Рассмотрим задачу с ограничениями в виде равенств. В принци- пе оба метода осуществляют поиск точки, удовлетворяющей необ- ходимым условиям существования минимума функции Лагранжа: г (х, и) = V/ (х)—urV/i(x) = 0, (10.17) й(х) = 0; (10.18) здесь для простоты через h обозначена вектор-функция, составлен- ная из левых частей ограничений. Подход ПМУ можно рассматри- вать как попытку решить приведенную выше систему нелинейных уравнений с помощью метода Ньютона [16]. Использование мето- да Ньютона для некоторого начального приближения (х°, и") сво- дится к решению линеаризованных уравнений г (х°, v°) + Vxr(x0, v°)rAx-j-Vj,r (х°, и°)гДи = 0, h(x°) + V/i (х»)г Дх = 0. Заменим здесь г его выражением через градиент функции Лаг- ранжа. В результате получим V/(x»)7’ —Vh(x°) + drV^(x°, v°) = 0, (10.19) h(x») + V/i(x°)rd = 0. (10.20) Как было показано в разд. 10.3, эти уравнения представляют со- бой необходимые условия существования минимума для задачи минимизировать V/ (х°)г d-\-1!idr V2XL (х°, v°)d при ограничении h (х°) + V/i (х°)г d = 0. Очевидно, что схему метода ПМУ можно рассматривать как про- цесс решения уравнений (10.19) и (10.20) с помощью квазиньюто-
108 ГЛАВА 10 новского метода аппроксимации Заметим, что метод ПМУ вооб- ще не требует, чтобы точка х° удовлетворяла уравнению h (х°)=0. Решение уравнений (10.19) и (10.20) не влечет за собой ни выполне- ния условия А(х)=0, ни решения задачи минимизации /(х); поэтому оказывается необходимым производить одномерный поиск минимума штрафной функции вдоль направления d. Заметим, что в урав- нении (10.19) член V/(x“)r—vrVh(x°) содержит неизвестное зна- чение множителя V. Таким образом, становится очевидной необхо- димость пересчета приближения Н для V2L с помощью разности [V/ (x(1>)r — (ц‘*у V/i (х(1>)] —[V/ (х»)г —(ц“»)г V/i (х0)]. С другой стороны, при использовании метода ОПГ с ускоренным вычислением вторых производных процесс решения уравнений (10.17) и (10.18) начинается с разбиения переменных и градиентов функций на парых=(х, х), v/i=(J, С), ?/= (V/, V/), в результате чего получается система Vf(x)r — иг3 (х) = 0, (10.21) Vf(x)r—цгС(х) = 0, (10.22) h (х) = 0. Условие (10.21) выполняется, если = V/(х)г J-1 (х). (10.23) Из теоремы математического анализа о неявных функциях сле- дует, что если матрица J (х) невырождена в окрестности точки х°, то система уравнений А(х)=0 определяет такую вектор-функцию q, что x=q(x). Следовательно, можно считать, что функции, входящие в (10.22) и (10.23), зависят не от х, а только от х. Условие (10.22), таким образом, можно заменить условием Vf(xJ=0. (10.24) Использование метода Ньютона для допустимой точки х°, т. е. точки, в которой выполнено условие /г(х°)=0, опять приводит к ре- шению системы V/(x»)7' + 7rV27(?) = 0 или dT = — Vflxfy (10.25) где V2/ — матрица «приведенных» вторых производных. Можно получить точное выражение для V2/ через первые и вторые произ- водные от функций, входящих в условия задачи, а также множи- тель v°, задаваемый формулой (10.23) [17]. Для рассматриваемого случая указанное выражение не очень существенно, так как V2/ аппроксимируется квазиньютоновской матрицей Н, которая пере- считывается при помощи разностей приведенных градиентов Vf(x“>)— V/(x°).
МЕТОДЫ КВАДРАТ. АППРОКСИМАЦИИ ДЛЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ Ю9 Заметим, что неявно зависит от t»<n, a Vf(x°) — от v°; при этом и(1> и v° вычисляются в точках х(1> и х0 соответственно при помощи соотношения (10.23). В методе ОПГ поправка d вы- числяется так, чтобы свойство допустимости сохранялось. Следова- тельно, одномерный поиск вдоль направления d можно произво- дить, используя непосредственно функцию f(x). Теперь различия между подходами ОПГ и ПМУ вполне очевид- ны. Во-первых, множители для методов ОПГ определяются посред- ством (10.23) с использованием информации только о первых про- изводных, тогда как вектор v в методе ПМУ должен удовлетворять соотношению (10.19), и поэтому требуется определенная информация о вторых производных. Во-вторых, матрица Н, получаемая при квазиньютоновской аппроксимации, имеет разную размерность в различных методах : NxN в методе ПМУ и (N—М)Х(У—К.) в случае метода ОПГ. В-третьих, в методах ОПГ одномерный поиск минимума производится непосредственно для целевой функции, а в методах ПМУ вместо нее используется штрафная функция. Нако- нец, при использовании методов ОПГ каждый раз решаются урав- нения, входящие в ограничения, с тем чтобы обеспечить допусти- мость приближений; методы ПМУ имеют дело лишь с линеариза- цией ограничений. Неясно, влияют ли указанные различия на оцен- ки множителей. В то же время очевидно, что для задач большой размерности могут оказаться весьма существенными различия в размерности матриц Н, которые нужно запоминать и пересчитывать. В работе 114] показано, что способ неявного исключения перемен- ных, используемый в методе ОПГ, можно применять в рамках ме- тода ПМУ; при этом получаются подзадачи КП размерности N—К- Однако в схеме, предлагаемой в работе [14], всегда пересчитывается полная матрица Н, которая затем методом неявного исключения приводится к размерности (N—7<)Х(М—К). Хотя запоминание и пересчет Н связаны со значительными вычислительными трудно- стями, ясно, что основное различие между подходами ОПГ и ПМУ определяется допустимостью по ограничениям приближений ите- рационного процесса. В итоге приведенные выше соображения позволяют прийти к следующим заключениям. Если решаемая задача достаточно ус- тойчива в том смысле, что она допускает существенный выход за пределы допустимой области, то следует предпочесть подход ПМУ. Однако если модель не позволяет проводить вычисления в недо- пустимых точках, то лучше использовать метод ОПГ с ускоренным вычислением вторых производных. Интересный пример приведен в работе [18], где подход ПМУ использовался для оптимизации линеа- ризованых моделей поверхности отклика для случая химических процессов. Авторы работы [18] обнаружили, что существенного на- рушения ограничений допускать нельзя, и поэтому требовалось модифицировать метод ПМУ, включая в него итерации, на которых
по ГЛАВА 10 удовлетворялись бы ограничения. Очевидно, что для решения ука- занной задачи с успехом можно применить подход ОПГ с ускорен- ным вычислением вторых производных, избежав при этом необ- ходимость пересчета полной матрицы Н. Дальнейшее обсуждение вопросов, возникающих при использовании метода ПМУ в задачах большой размерности, содержится в работе [19]. Из вышеизложен- ного ясно, что оба подхода играют важную роль в прикладных за- дачах оптимизации. В настоящее время эти методы являются наибо- лее эффективным средством решения нелинейных задач условной оптимизации. 10.5. Заключение В этой главе было рассмотрено, к чему приводит попытка ис- пользовать для нелинейных функций, входящих в условия задачи, аппроксимацию более высокого порядка, в частности квадратич- ную. Сначала была исследована полная квадратичная аппрокси- мация, и оказалось, что задачу с квадратичными ограничениями решить не проще, чем задачу с нелинейными ограничениями общего вида. Далее была рассмотрена подзадача квадратичного программи- рования с квадратичными целевыми функциями и линейными огра- ничениями. Установлено, что подобные подзадачи решаются срав- нительно просто; однако такой подход не обладает существенными преимуществами по сравнению с методом решения последователь- ности задач ЛП, изложенным в гл. 8, так как в подзадачи входят только исходные ограничения в линеаризованной форме. Далее было показано, как используется целевая функция, квадратичный член которой определяется второй производной функции Лагран- жа. Оказалось, что если решение такой подзадачи удовлетворяет необходимым и достаточным условиям второго порядка существо- вания локального минимума, то соответствующая точка также удов- летворяет достаточным условиям оптимальности для исходной за- дачи. Более того, множители Лагранжа текущей подзадачи удобно использовать в качестве множителей, фигурирующих в следующей подзадаче. Таким образом, подготовлена основа для построения эффективного алгоритма, позволяющего находить приемлемое на- правление поиска. Однако было также отмечено, что метод необя- зательно порождает допустимые направления. Поэтому для обес- печения сходимости оказалось целесообразным производить одно- мерный поиск минимума внешней штрафной функции вдоль вы- бранного направления. Среди других затруднений следует отметить необходимость иметь вторые производные всех функций, входящих в условия зада- чи. Эта трудность была устранена путем использования квазинью- тоновских методов, которые для аппроксимации и пересчета члена со вторыми производными требуют только вычисления разностей гра- диентов функции Лагранжа. В результате был получен алгоритм
МЕТОДЫ КВАДРАТ. АППРОКСИМАЦИИ ДЛЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ Щ переменной метрики для решения задач условной минимизации (ПМУ), обладающий, как можно показать, суперлинейной локаль- ной сходимостью даже при отсутствии процедуры одномерного поиска. Конечно, для обеспечения глобальной сходимости одномер- ный поиск минимума штрафной функции оказывается необходи- мым. После обсуждения методов решения последовательности за- дач КП дан краткий обзор модификаций, предложенных рядом исследователей для тех случаев, когда необходимо учитывать несов- местность ограничений подзадачи, а также плохую обусловлен- ность или «почти вырожденность» квазиньютоновской матрицы. Наконец, было проведено сравнение относительных преимуществ алгоритма ОПГ с квазиньютоновской процедурой ускорения про- цесса вычислений и алгоритма ПМУ. Показано, что главные разли- чия состоят в том, что алгоритм ПМУ порождает недопустимые промежуточные приближения, тогда как алгоритм ОПГ сохраняет допустимость. Кроме того, алгоритм ОПГ использует приближения первого порядка для множителей, а алгоритм ПМУ требует не- которой информации о производных более высокого порядка. Ко- нечно, с точки зрения экономии объема памяти метод ОПГ, вообще говоря, лучше алгоритма ПМУ, так как в последнем квазиньюто- новская матрица имеет большую размерность. В конечном итоге можно сказать, что оба метода имеют свои специфические черты и, следовательно, оба важны для решения прикладных задач оптими- зации. Контрольные вопросы и задачи 10.1. Что является главным недостатком метода решения, осно- ванного на непосредственном использовании полной квадра- тичной аппроксимации всех функций задачи НЛП? 10.2. В общей задаче НЛП, определяемой соотношениями (10.6)— (10.8), покажите, что если d=0 удовлетворяет достаточным условиям второго порядка существования локального ми- нимума, то аппроксимирующая точка удовлетворяет доста- точным условиям исходной задачи. 10.3. Опишите реализацию алгоритма решения последовательно- сти задач КП с функцией Лагранжа, при которой использо- валась бы более устойчивая процедура регулировки шага, подобная той, которая применяется в алгоритме решения последовательности задач ЛП, предложенном Гриффитом и Стюартом. Опишите преимущества и недостатки алгоритма по сравнению со стратегией штрафных функций. 10.4. Способ регулировки шага, используемый в методе ПМУ, можно модифицировать таким образом, чтобы получать допустимые точки, как и в методе ОПГ. Объясните, как это можно сделать.
112 ГЛАВА 10 10.5. Сравните операции с ограничениями в виде неравенств, ис- пользуемые в алгоритмах ОПГ и ПМУ. Чем отличаются способы вычисления приближений для множителей? 10.6. Пусть алгоритм ПМУ применяется к задаче с квадратичной целевой функцией и квадратичными ограничениями в виде неравенств. Сколько итераций потребуется, чтобы решить эту задачу, если считать вычисления точными? Какого рода допущения относительно задачи необходимо принять, чтобы получить эту оценку? 10.7. Постройте полную квадратичную аппроксимацию в точке (1/2, 1/2, 1/2) следующей задачи: МИНИМИЗИрОваТЬ /(х) = Х1 + х2 + х., при ограничениях gj (х) — 1 —64хГ2х^4х.;в /2= 0, все х{ 22 0. Будет ли аппроксимирующая задача выпуклой? 10.8. Дана задача НЛП: минимизировать f (х) = х;1-|-х^1 при ограничениях h (х) = г/2х1 + х2—1=0, Xj, х2^0. (а) Постройте полную квадратичную аппроксимацию задачи в точке х°=(3/4, 3/4). (б) Решите полученную подзадачу относительно вектора по- правок d и положите xw=x°+d. (в) Будет ли полученная точка лучшим приближением, чем х»? Как это приближение можно улучшить? 10.9. Пусть задача НЛП 10.8 аппроксимирована относительно точки х° подзадачей КП, получаемой при рассмотрении функции Лагранжа [соотношения (10.3) и (10.4)]. (а) Решите полученную подзадачу для вектора поправок d и положите x1—x°+d. (б) Вычислите новые приближения для множителей. (в) Сформулируйте следующую подзадачу КП. 10.10. Дана задача минимизировать f (х) = 1/3 (х2 4- З)3 4- х| при ограничениях й(х) = х|—хх 4-1=0, Xj 1. (а) Для точки х°=(2; 1) постройте начальную подзадачу при использовании алгоритма ПМУ. (б) Решите подзадачу относительно d. (в) Вычислите величину шага, используя процедуру Пауэлла и следующее приближение. (г) Постройте следующую подзадачу по методу ПМУ.
МЕТОДЫ КВАДРАТ. АППРОКСИМАЦИИ ДЛЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ 113 10.11. Дана задача: минимизировать f (х) = Зх2— 4х^ при ограничениях h(x) = 2x1 + x2—4 = 0, g (х) = 37—х?—xl > 0. Заданы точка х°=(—1; 6) и значения множителей (и, и) = = (—40/13, 1/13). (а) Сформулируйте подзадачу КП с функцией Лагранжа. (б) Покажите, что d=0 является решением подзадачи. (в) Покажите, что заданная точка удовлетворяет условиям второго порядка, сформулированным для исходной зада- чи. 10.12. В задаче 10.11 при х°=(—1; 6) заданы приближения для множителей (и, «) = (—3; 0,1). (а) Сформулируйте подзадачу КП с функцией Лагранжа. (б) Найдите решение подзадачи. По-прежнему ли d=0? (в) Вычислите новые значения множителей и проверьте вы- полнение достаточных условий существования локаль- ного минимума. 10.13. В задаче 10.11 даны точка хп=(—0,9; 5,8) и значения мно- жителей (о, «)=(—3; 0,1). (а) Сформулируйте и решите подзадачу КП, построенную с использованием функции Лагранжа, чтобы получить новое приближение и новые значения множителей. (б) При полученном значении х вычислите значения множи- телей методом ОПГ. (в) Сравните результаты, полученные в пп. (а) и (б), с оп- тимальными значениями множителей (и, «)==(—40/13; 1/13). 10.14. (а) Выполните вычисления для трех итераций алгоритма ПМУ в варианте Пауэлла при решении следующей за- дачи: минимизировать f (х) = log (1 + х()— х2 при ограничении /i(x) = (14-Xi)2 + x2—4 = 0, используя начальное приближение (1; 1). (б) Проверьте, что решением задачи является точка х* = (0; Гзу. 10.15. Оптимальное проектирование системы сквозной циркуля- ции для осушения поддонов с катализатором включает вы- бор скорости течения среды хг и высоты слоя катализатора х2 с тем, чтобы максимизировать скорость образования ве- щества. Получаемая при этом задача имеет следующий вид [см. Thygeson J. R., Grossmann Е. D., AICHE J., 16. 749
114 ГЛАВА 10 (1970)]: минимизировать f (х) = 0,0064^ [exp (— 0,184х?-3х2) — 1] при ограничениях g2(x) = 1,2-1013—(3000 + х2) х[х2 > 0, g2 (х) = 4,1 —ехр (0, 184х°’3х2) 0, где Xi и х2 неотрицательные. Разумным начальным прибли- жением является точка х°=(30000; 0,25). (а) Пусть задача решается методом ПМУ; полезно ли в этом случае осуществить масштабирование целевой функции и ограничений? Предложите постановку задачи с новы- ми масштабами. (б) Для заданного начального приближения х° оба огра- ничения неактивные. Проверьте, будет ли в точке х° матрица у? 2/ положительно определенной. С какими про- блемами придется скорее всего столкнуться при реше- нии первой подзадачи? Как эти проблемы исключаются при использовании алгоритма ПМУ? (в) Решите задачу, используя программу последовательного решения задач КП или программу для метода ПМУ. (Ре- шением задачи является точка х*=(31766; 0,342).) Литература 1. Wilson R. В., A Simplicial Algorithm for Concave Programming, Ph. D. Dis- sertation, Harvard University, Cambridge, MA, 1963. 2. Beale E. M. L., Numerical Methods, in: Nonlinear Programming (J. Abadie, Ed.), North-Holland, Amsterdam, 1967. 3- p У" Greenstadt J. L., A Modified Newton Method for Optimization with N J3 *i969”°nS^ra'n^4 S * * * * *’ *n’ °Ptimization (R* Fletcher, Ed.), Academic Press, 4- Barcia-Palomares U. M., Mangasarian O. L., Superlinearly Convergent Quasi- Newton Algotihms for Nonlinearly Constrained Optimization Problem, Math. Programming, 11, 1 — 13 (1976). 5. Han S. P., Superlinearly Convergent Variable Metric Algorithms for General Non linear Programming Problems, Math. Programming, 11, 263—282 (1976). o. Han S. P., A Globally Convergent Method for Nonlinear Programming, J. Opt. Theory Appt., 22, 297—309 (1977). 7. Powell M. J. D., A Fast Algorithm for Nonlinearly Constrained Optimization Calculations, in: Numerical Analysis, Dundee 1977 (G. A. Watson, Ed.), Lec- ture Notes in Mathematics No. 630, Springer-Verlag, N. J., 1978. 8. Powell M. J. D., Algorithms for Nonlinear Functions that Use Lagrangian Func- tions, Math. Programming, 14, 224—248 (1978). 9. Chamberlain R. M., Some Examples of Cycling in Variable Metric Methods for Cons trained Minimization, Math. Programming, 16, 378—383 (1979). 10. Mayne D. Q., On the Use of Exact Penalty Functions to Determine Step Length m Optimization Algorithms, Numerical Analysis, Dundee, 1979, (G. A. Wat- ii o'11’ Lecture Notes in Mathematics, 773, Springer-Verlag, N. Y., 1980. 11. Powell M. J. D., The Convergence of Variable Metric Methods for Nonlinearly Constrained Optimization Calculations, in: Nonlinear Programming 3, (O. L. Mangasarian, R. R. Meyer, S. M. Robinson, Ed.), Academic Press, N. Y., 1978. .42. Biggs M.C., Minimization Using Recursive Equlity Quadratic Programming,
МЕТОДЫ КВАДРАТ. АППРОКСИМАЦИИ ДЛЯ ЗАДАЧ С ОГРАНИЧЕНИЯМИ Ц5. in: Numerical Methods for Nonlinear Optimization (F. A, Lootsma, Ed.), Aca- demic Press, N. Y., 1972. 13. Bartholomew-Biggs M. C., Recursive Quadratic Programming Based on Penalty Functions for Constrained Minimization, Nonlinear Optimization Theory and Algorithms (L. C. W. Dixon, E. Spedicato, and G. P. Szego, Eds.), Birkhauser, Boston, 1980. 14. Berna T. J., Locke M. H., Westerberg A. W., A New Approach to Optimization of Chemical Processes, A1CHE J., 26, 37—43 (1980). 15. Chao N. H., Fenves S. J., Westerberg A. W., Application of a Reduced Quadra- tic Programming Technique to Structural Design, Proc. Intern. Symp. Optimum Structural Design, Tuscon, AZ, Oct. 1981, pp. 8. 5—8.12. 16. Powell M. J. D., Constrained Optimization Uding Variable Metric Methods, in: Nonlinear Optimization: Theory and Algorithms (L. C. W. Dixon, E. Spedicato, G. P. Szego, Eds.), Birkhauser, Boston, 1980. 17. Reklaitis G. V., Wilde D. J., A Computationally Compact Sufficient Condition for Constrained Minima, Oper. Res., 17, 425—436 (1969). 18. Biegler L. T., Hughes R. R., Approximation Programming of Chemical Process with Q/LAP, Chem. Eng. Prog., 77, 76—83 (1981). 19. Gill P. E., Murray W., Saunders M. A., Wright M. H., QP-Based Methods for Large Scale Nonlinearly Constrained Optimization, in: Nonlinear Programming, 4, (O. L. Mangasarian, R.R. Meyer, S. M. Robinson, Eds.), Academic Press, N.Y., 1981.
Глава 11 Задачи специальной структуры и методы их решения Данная глава посвящена оптимизационным задачам, обладаю- щим специальной структурой. Некоторые методы решения общих задач нелинейного программирования (НЛП) были рассмотрены выше. В ряде специальных случаев, например когда задача имеет квадратичную целевую функцию, линейные ограничения или цело- численные переменные, удается разработать алгоритмы, использую- щие специфику указанных задач. Такие алгоритмы могут быть су- щественно эффективнее, чем общие алгоритмы НЛП, и позволяют решать задачи большей размерности. В данной главе рассматриваются следующие специальные клас- сы задач и алгоритмы их решения. 1. Целочисленное программирование. Задачи, в которых все переменные или некоторая их часть должны принимать целые зна- чения. 2. Квадратичное программирование. Задачи с квадратичной це- левой функцией и линейными ограничениями. 3. Геометрическое программирование. Оптимизационные задачи, в которых целевая функция и левые части ограничений представ- ляют собой обобщенные многочлены, а переменные должны быть положительными. 11.1. Целочисленное программирование Под задачей целочисленного линейного программирования (ЦДП) понимается задача ЛП, в которой некоторые (а возможно, и все) переменные должны принимать целые значения. Задача ЦЛП назы- вается полностью целочисленной, если все ее переменные должны быть целочисленными. Для смешанной задачи ЦЛП лишь некото- рые переменные предполагаются целочисленными, а остальные мо- гут принимать произвольные (нецелые) значения. Интерес к задачам ЦЛП вызван тем, что во многих практических задачах необходимо отыскивать целочисленное решение. Задачу ЦЛП можно решить, например, как задачу ЛП без учета условий целочисленности переменных, а затем округлить полученное реше-
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 117 не с избытком или недостатком. При этом получается некото- ое целочисленное решение. Использование такого подхода требует роверки допустимости полученного решения. Таким методом час- о пользуются при решении практических задач, особенно когда начения переменных настолько велики, что можно пренебречь шибками округления. Однако при решении задач, в которых це- очисленные переменные принимают малые значения, округление южет привести к далекому от истинного оптимума целочисленному юшению. Кроме того, при решении задач большой размерности акой метод требует слишком много машинного времени. Напри- iep, пусть оптимальное решение соответствующей задачи ЛП имеет щд Xj=2,4; х2=3,5. Для получения приближенного оптимального [елочисленного решения необходимо рассмотреть четыре точки 2; 3), (2; 4), (3; 3), (3; 4) и выбрать среди них допустимую точку с 1аилучшим значением целевой функции. Если в задаче имеются 10 целочисленных переменных, то следует рассмотреть 21о=1024 ва- рианта целочисленного решения. Но даже рассмотрение всех ва- риантов не гарантирует получения оптимального целочисленного решения задачи. 11.1.1. Построение моделей целочисленного программирования Построение моделей целочисленного программирования иллюст- рируют следующие примеры. Пример 11.1. Задача ЦЛП с фиксированными доплатами Рассмотрим задачу планирования производства N видов про- дукции при условии, что производство /-го вида продукции связа- но с постоянными затратами в размере К,. Величина /Q постоян- ных затрат не зависит от объема производства этого вида продук- ции. Кроме постоянных затрат, имеются переменные затраты на производство, пропорциональные объему выпуска продукции. При этом стоимость производства единицы продукции /-го вида равна Cj. Допустим, что имеется М видов ресурсов и при производстве еди- ницы продукции вида / расходуется единиц ресурса i-ro вида. Кроме того, известно, что имеется возможность реализации d, еди- ниц продукции /-го вида по цене pj долл. Запас ресурсов i-ro вида ограничен величиной bi (i=l, 2, . . ., Л1). Требуется определить оптимальные пропорции производства продукции с целью получе- ния максимальной чистой прибыли. Формулировка задачи. Величина общих производственных за- трат, равная сумме постоянных и переменных затрат, представляет собой нелинейную функцию объема выпуска продукции. Но, ис- пользуя булевы (0—1) переменные, можно сформулировать эту задачу в виде задачи ЦЛП. Пусть булева переменная соответствует принятию решения
118 ГЛАВА II о производстве /-го вида продукции. Другими словами, fl, если производится /-й вид продукции, 7 (0 в противном случае. Пусть ху^О обозначает объем выпуска /-го вида продукции. Тогда общие затраты на производство /-го вида продукции составляют Kftj+CjXj, где dj— 1, если х/>0 и 67=0 при х7-=0. Таким образом, целевая функция имеет следующий вид: N N максимизировать Z — 2 Pjx/— 2 (^Аф-СухД. / = । i = 1 Ограничения по i-му виду ресурсов можно записать следующим образом: N jXj bf, i = 1,2, •.., Al. /=) Ограничения, связанные с размером спроса, имеют вид Xjdijdj, j=l, 2, . . ., /V; х^О, 6;=0 или 1 для всех /. Заметим, что значение х7 может быть положительным только при 67=1; в этом случае производство /-го вида продукции ограничено величиной dj и в целевую функцию включаются постоянные затра- ты Kj. Пример 11.2. Преобразование нелинейных задач с булевыми переменными. Рассмотрим следующую задачу нелинейного целочисленного программирования с булевыми переменными максимизировать Z = + х2х3—х| при ограничениях —2xtД- Зх2 4~ х3 3, xi, х2, х3£ {0, 1}. При помощи преобразования, предложенного в работе [1], можно свести эту задачу к эквивалентной задаче ЦЛП. Поскольку для лю- бого положительного k и булевой переменной х7 имеет место соот- ношение х^=х>, можно переписать целевую функцию в следующем виде: Z=x1+x2x3—х8. Рассмотрим произведение х2х3. Для булевых переменных х2 и х8 это произведение также принимает только значения 0 или 1. Сле- довательно, можно рассмотреть булеву переменную t/1=x2x3. Пе- ременная У1 принимает единичное значение при х2=х8=1, во всех остальных случаях ее значение равно нулю, что выражается при помощи следующих ограничений: х2+х8—t/!«:l, —х2—x8+2t/i<0.
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 119 Действительно, при х2=х3=1 приведенные ограничения требуют, чтобы У1<1 и г/1>1, поэтому = При х2=0 или х3=0 легко ви- деть, что t/i=0, если переписать второе неравенство в виде У1 <(х2+х3) /2. Таким образом, булева задача ЦЛП, эквивалентная исходной не- линейной булевой задаче, имеет следующий вид: максимизировать 2=хг+у!—х3 при ограничениях — 2х1+3х2+х3<3, х2-Тх3—2/1<1, —х2—х3+2У1<-0, xIt х2, х3, у г — булевы переменные. Замечания 1. В работе [2] предложена модификация описанного преобра- зования, использующая непрерывные переменные вместо целочис- ленных. 2. Процедура преобразования произведения двух переменных легко обобщается на случай произведения произвольного числа переменных. Для знакомства с другими примерами целочисленных моделей читателю следует обратиться к работам [3, 4]. В гл. 14 при помощи модели смешанного целочисленного программирования анализи- руются практические примеры размещения оборудования. 11.1.2. Решение задач целочисленного программирования Метод ветвей и границ. Метод ветвей и границ наиболее широ- ко используется на практике для решения как полностью целочис- ленных, так и смешанных задач ЦЛП. Он применяется в большинст- ве коммерческих программ решения задач целочисленного програм- мирования. По существу метод ветвей и границ представляет со- бой эффективную процедуру перебора всех целочисленных допус- тимых решений. Как указывалось ранее, существует эвристический подход к решению задач целочисленного программирования, основанный на решении задачи ЦЛП как задачи ЛП. Использование процедур округления нецелочисленного оптимального решения задачи ЛП дает возможность получать приближенное оптимальное целочислен- ное решение. Например, если в оптимальном решении двумерной задачи ЛП значения переменных хг и х2 оказались равными 3,5 и 4,4 соответственно, то в качестве кандидатов на роль приближенно- го целочисленного оптимального решения необходимо рассмотреть точки (3; 4), (4; 4), (4; 5), (3; 5), полученные в результате округле- ния. Заметим, что истинное оптимальное целочисленное решение может не совпадать ни с одним из четырех, указанных выше, по- скольку (целое) значение Xi в оптимальном решении может быть
120 ГЛАВА II больше 5 или меньше 3. Таким образом, для получения истинного оптимального целочисленного решения приходится рассматривать все возможные значения большие и меньшие 3,5. Другими слова- ми, оптимальное целочисленное значение д должно удовлетворять либо неравенству %i<3, либо неравенству При наличии в за- даче большого количества целочисленных переменных важно иметь процедуру, позволяющую систематически перебирать все возмож- ные целочисленные решения, получаемые при округлении опти- мального решения задачи ЛП. Метод ветвей и границ по существу представляет собой такую процедуру эффективного перебора. Основы метода ветвей и границ Для иллюстрации основных принципов метода ветвей и границ рассмотрим следующую задачу смешанного целочисленного про- граммирования. Пример 11.3 Максимизировать Z=3xI+2x2 при ограничениях ^<2, х2<2, ^Ч-ХгСЗД Xi, х2^0 — целочисленные. Начальный шаг решения этой задачи состоит в нахождении ре- шения задачи ЛП, получаемой при отбрасывании условия цело- численности %1 и х2. Обозначим эту задачу через ЛП-1. На рис. 11.1 представлено графическое решение задачи ЛП-1. Оптимальное ре- шение задачи ЛП-1 имеет вид: Xj=2, х,= 1,5, оптимальное значе- ние целевой функции Z0=9. Поскольку х2 принимает дробное зна- чение, найденное решение не может быть оптимальным решением
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 121 исходной задачи ЦЛП. Но найденное значение Zo представляет собой верхнюю границу истинного оптимального целочисленного значения, поскольку при выполнении требования целочисленно- сти х2 значение Z может лишь уменьшиться. Следующий шаг метода ветвей и границ состоит в просмотре целочисленных значений х2, больших или меньших 1,5. Это делается путем добавления к задаче ЛП-1 либо ограничения х2<1, либо х2>2. Таким образом, из задачи ЛП-1 получаются две зада- чи следующего вида (ЛП-2 и ЛП-3): ЛП-2 Максимизировать Z = 3x14-2xa при ограничениях Xj<;2, х2 'С 2, Xi + *2^3,5 (новое ограничение) x2^l, Х1, *2^0. ЛП-3 Максимизировать 2 = Зх1Ц-2х2 при ограничениях XiC2, х2 2, *i + *2 «S 3,5, (новое ограничение) х2 :== 2, *1, х2 0. На рис. 11.2 и 11.3 изображены допустимые области задач ЛП-2 и ЛП-3 соответственно. (Заметим, что допустимая область задачи ЛП-3 представляет собой просто отрезок АВ). Допустимые области задач ЛП-2 и ЛП-3 обладают следующими свойствами. 1. Оптимальное решение задачи ЛП-1 (х1=2, х2 = 1,5) недопус- тимо для обеих задач ЛП-2 и ЛП-3. Таким образом, это решение не повторится.
122 ГЛАВА 11 Рис. 11.3. Решение задачи ЛП-3. 2. Любое целочисленное (допустимое) решение исходной зада- чи допустимо для задачи ЛП-2 или ЛП-3. Таким образом, при вве- дении этих задач не происходит потери допустимых (целочисленных) решений исходной задачи. Оптимальное решение задачи ЛП-2 (рис. 11.2) — точка a'i==2, х2=1, где Zo=8. Таким образом, получено допустимое (целочислен- ное) решение исходной смешанной задачи ЦЛП. Даже если ЛП-2 имеет другие целочисленные решения, значение целевой функции в них не может быть больше 8. Таким образом, значение Z0=8 представляет собой нижнюю границу максимального значения Z для смешанной задачи ЦЛП. Иначе говоря, оптимальное значение Z исходной задачи не может быть меньше 8. Поскольку ранее была получена лишь верхняя граница, равная 9, нельзя утверждать, что решение ЛП-2 оптимально для исходной задачи. Следовательно, необходимо также рассмотреть задачу ЛП-3. Оптимальное решение задачи ЛП-3 (рис. 11.3) — Хх = 1,5, х2=2; Z0=8,5. Для исходной смешанной задачи ЦЛП это решение недо- пустимо, поскольку хх принимает дробное значение. Оптимальное значение Z0=8,5 задачи ЛП-3 больше ранее полученной нижней гра- ницы, равной 8. Поэтому необходимо проверить существование в допустимой области задачи ЛП-3 целочисленного решения, даю- щего значение целевой функции Z2>8. Для этого рассматриваются задачи ЛП-4 и ЛП-5, получающиеся при добавлении к ЛП-3 огра- ничений л'1<1 и хх^2 соответственно. Допустимая область задачи ЛП-4 состоит из отрезка DE, показанного на рис. 11.4; задача ЛП-5 не имеет допустимых решений.
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 123 Оптимальное решение задачи ЛП-4 имеет вид: хх = 1, х2—2; Zo—7. Следовательно, для любого целочисленного решения в до- пустимой области ЛП-3 значение целевой функции не превосходит 7. Таким образом, точка хх=2, х2=1 представляет собой оптимальное целочисленное решение исходной задачи; оптимальное значение целевой функции в этой точке равно 8. Удобно представить последовательность задач ЛП, возникаю- щих при использовании процедуры метода ветвей и границ для Рис. 11.5. Представление в виде сети последовательности задач ЛП, возникающих при использовании метода ветвей и границ для решения задачи примера 11.3.
124 ГЛАВА 11 решения задачи примера 11.3, в виде сети или дерева, изображен- ного на рис. 11.5. Сеть или дерево состоит из множества вершин и соединяющих их дуг или ветвей. Каждая вершина представляет собой либо начальную, либо конечную точку некоторой ветви. Вер- шина 1 на рис. 11.5 соответствует задаче ЛП-1, получаемой из исходной задачи при отбрасывании требования целочисленности переменных. Ветвление в вершине 1, определяемое целочисленной переменной хг с помощью ограничения х2<1, приводит к вершине 2 (ЛП-2). Поскольку задача ЛП-2 имеет оптимальное целочислен- ное решение, нет необходимости производить ветвление в верши- не 2. В том случае, когда в некоторой вершине возникает подобная ситуация, говорят, что рассматриваемая вершина прозондирована. Ветвление в вершине 1 по ограничению х2^2 дает ЛП-3 (вершина 3). Поскольку оптимальное решение ЛП-3 является дробным, происхо- дит дальнейшее ветвление в вершине 3 по целочисленной перемен- ной Xi. Таким образом, появляются вершины 4 и 5. Эти вершины являются прозондированными, поскольку ЛП-4 обладает целочис- ленным решением, а задача ЛП-5 не имеет допустимых решений. Наилучшее решение из полученных в прозондированных верши- нах представляет собой оптимальное решение исходной задачи. Подробное описание алгоритма ветвей и границ Рассмотрим частично целочисленную задачу следующего вида: максимизировать Z = cx при ограничениях Кх = Ь, х^О, Xj—целочисленная переменная при /£ I, где I — множество индексов целочисленных переменных задачи. В качестве первого шага необходимо решить сформулированную задачу как задачу ЛП, рассматривая все ее переменные как не- прерывные. Получаемая таким образом задача ЛП обозначается че- рез ЛП-1, оптимальное значение ее целевой функции — через Zx. Пусть в оптимальном решении задачи ЛП-1 некоторые целочислен- ные переменные принимают дробные значения; тогда оптимальное решение исходной задачи не совпадает с оптимальным решением ЛП-1. В этом случае величина Zx представляет собой верхнюю гра- ницу оптимального значения Z исходной задачи. На следующем шаге производится ветвление по одной из це- лочисленных переменных, имеющих дробное значение в оптималь- ном решении задачи ЛП-1. Для определения переменной, по кото- рой производится ветвление, разработан ряд правил. Приведем некоторые из них. 1. Выбор целочисленной переменной, значение которой в опти- мальном решении ЛП-1 имеет наибольшее дробное значение. 2. Приписывание целочисленным переменным приоритетов и ветвление по переменной с наибольшим приоритетом. Важность
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 125 целочисленной переменной может определяться следующими сооб- ражениями: (а) данная переменная представляет важное решение, принимае- мое в рамках рассматриваемой модели; (б) ее коэффициент стоимости или прибыли в целевой функции существенно превосходит остальные; (в) значение данной переменной играет ключевую роль для мо- дели (по мнению разработчиков и пользователей модели). 3. Произвольные правила выбора. Например, можно выбирать переменную с наименьшим номером. Пусть ветвление происходит по целочисленной переменной Xj, дробное значение которой в оптимальном решении ЛП-1 равно |37. Далее рассматриваются две новые задачи ЛП, обозначаемые через ЛП-2 и ЛП-3. Они получаются путем введения ограничений х7с ||3у и х^ ||37 соответственно, где через ||37 обозначается наибольшее целое, не превосходящее |37, через /|37 — наименьшее целое, боль- шее |37 (рис. 11.6). Условия задач ЛП-2 и ЛП-3 можно записать сле- дующим образом: ЛП-2 Максимизировать Z — ix при ограничениях Ах = Ь, xj < | Ру, х 0. ЛП-3 Максимизировать 7.—сх при ограничениях Ах — Ь, ЛГу| Ру, х^О. Допустим, что оптимальные решения задач ЛП-2 и ЛП-3 также со- держат дробные значения целочисленных переменных и поэтому не являются допустимыми для исходной задачи. На следующем шаге необходимо выбрать задачу ЛП-2 или ЛП-3 и произвести ветвление в соответствующей вершине, вводя новое ограничение. Выбор вершины (задачи ЛП) для дальнейшего вет- вления осуществляется с помощью специальных правил. Приведем некоторые из них. 1. Использование оптимального значения целевой функции. Для дальнейшего ветвления следует выбирать вершину, соответствую- щую наибольшему оптимальному значению целевой функции зада- чи ЛП. Некоторым обоснованием этого правила служит то сообра- жение, что допустимая область задачи ЛП с наибольшим значением Z может содержать и хорошее целочисленное решение. Например, любое целочисленное решение, полученное ветвлением задачи ЛП-2, не может давать значение Z, лучшее, чем оптимальное зна- чение Z в задаче ЛП-2. 2. Правило «.последним пришел—первым обслужен». Для даль- нейшего ветвления выбирается (произвольным образом) задача ЛП, решавшаяся последней.
126 ГЛАВА [1 После выбора вершины для дальнейшего ветвления выбирается целочисленная переменная, которая имеет в оптимальном реше- нии соответствующей задачи ЛП дробное значение, и производится ветвление по этой переменной. Процесс ветвления и решения за- дач ЛП продолжается до получения целочисленного оптимального решения одной из задач ЛП. Значение Z в полученной точке пред- ставляет собой нижнюю границу оптимального значения целевой функции исходной задачи ЦЛП. На этом этапе отбрасываются все вершины (задачи ЛП), для которых оптимальное значение Z не превосходит полученной нижней границы. Про такие вершины так- же говорят, что они являются прозондированными, поскольку в соответствующих им допустимых областях нет целочисленных ре- шений, лучших, чем уже полученные. В качестве иллюстрации рассмотрим дерево, представленное на рис. 11.6. Целочисленное оптимальное решение задачи ЛП-4 Рис. 11.6. Алгоритм метода ветвей и граней. дает нижнюю границу Z4 — оптимальное значение исходной зада- чи. Другими словами, оптимальное решение исходной задачи не может давать значение Z, меньшее, чем Z4. Дальнейшее ветвление в вершине 4 излишне, поскольку для любой из последующих задач ЛП оптимальное значение не может быть больше Z4. Иначе говоря, вершина 4 является прозондированной. Вершина 5 также прозон- дирована, поскольку вводимые дополнительные ограничения при- водят к отсутствию допустимых решений в соответствующей зада- че ЛП. Следовательно, в дальнейшем ветвление можно произво- дить только в вершинах 6 и 7. Предположим, что Ze<Z4, Z7>Z4. Эти неравенства означают, что вершина 6 также прозондирована (неявным образом). Действительно, значение Z, соответствующее
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 127 целочисленному решению задачи, полученной путем ветвления в вершине 4, не может превосходить Z4. Однако, поскольку Z7>Z4, в допустимой области задачи ЛП-7 может найтись целочисленное решение со значением Z, большим Z4. Таким образом, для дальней- шего ветвления необходимо выбрать вершину 7. Следовательно, промежуточная вершина (задача ЛП) является прозондированной (явным или неявным образом) в том случае, если она удовлетворяет хотя бы одному из следующих условий. 1. Оптимальное решение, соответствующее данной вершине, целочисленно. В этом случае полученное решение допустимо для исходной задачи ЦЛП. 2. Задача ЛП, соответствующая рассматриваемой вершине, не имеет допустимых решений. 3. Оптимальное значение Z соответствующей задачи ЛП не пре- восходит текущей нижней границы. При использовании метода ветвей и границ выбор вершин для дальнейшего ветвления происходит до тех пор, пока остается хотя бы одна непрозондированная вершина. Прозондированная вершина с наилучшим значением Z дает оптимальное решение исходной за- дачи ЦЛП. Таким образом, эффективность метода ветвей и границ существенно зависит от скорости последовательного зондирования вершин. Обычно для выполнения условий 1 и 2 требуется значи- тельное время. Условие 3 нельзя использовать до получения ниж- ней границы для задачи ЦЛП. Однако нижняя граница получается только после просмотра вершины с допустимым (целочисленным) ре- шением задачи ЦЛП, т. е. вершины, удовлетворяющей условию 1. Следовательно, получение перед реализацией метода ветвей и границ допустимого целочисленного решения задачи ЦЛП может оказать- ся весьма полезным. Такое решение дает начальную нижнюю гра- ницу, которая используется до получения лучшей нижней грани- цы в процессе ветвлений по методу ветвей и границ. Для многих практических задач достигнутые показатели функционирования оптимизируемой системы можно использовать в качестве началь- ного решения. 11.1.3. Некоторые рекомендации по формулировке и решению задач ЦЛП Исходная форма записи задач целочисленного программирова- ния сильно влияет на время решения. Анализ опыта решения прак- тических задач методом ветвей и границ, проведенный сотрудника- ми фирмы IBM, привел к выработке ряда рекомендаций, касаю- щихся построения моделей ЦЛП. Приведем некоторые из них. Для более полного ознакомления с этим вопросом следует обратиться к работе [5]. Приведенные ниже рекомендации не следует рассмат- ривать как обязательные. Тем не менее их применение на практике часто позволяет уменьшить время вычислений.
128 ГЛАВА 11 1. Количество целочисленных переменных следует уменьшать насколько возможно. Например, целочисленные переменные, зна- чения которых должны быть не менее 20, можно рассматривать как непрерывные. 2. По возможности следует получать хорошие (близкие друг к другу) верхнюю и нижнюю границы значений целочисленных переменных. 3. В отличие от общих задач ЛП добавление новых ограничений, особенно включающих целочисленные переменные, обычно умень- шает время решения задач ЦЛП. 4. Если нет острой необходимости отыскания точного опти- мального целочисленного решения, можно ограничиться получе- нием целочисленного решения, отличающегося от непрерывного решения, например на 3% . Это ведет к значительной экономии ма- шинного времени. Иначе говоря, можно заканчивать реализацию метода ветвей и границ для задачи максимизации, если выполняется следующее соотношение: Верхняя граница — Нижняя граница Верхняя граница ’ 5. Порядок выбора переменных при ветвлении оказывает су- щественное влияние на время решения. Рекомендуется выбирать для ветвления целочисленные переменные в порядке убывания нх приоритета, назначаемого в соответствии с экономической интер- претацией переменных и опытом пользователя. Метод ветвей и границ можно применять для решения задач не- линейного целочисленного программирования. В работе [6] сооб- щается об успешном применении метода ветвей и границ в соче- тании с методом обобщенного приведенного градиента. Решение задач целочисленного программирования с булевыми переменными. Для эффективного решения задач ЦЛП с булевыми переменными разработан ряд специальных методов. Все они осно- ваны на неявном переборе допустимых решений. Подробное описа- ние этих алгоритмов содержится в монографии [4]. 11.2. Квадратичное программирование Задача квадратичного программирования (КП) представляет собой задачу с линейными ограничениями и квадратичной целевой функцией. Общая задача квадратичного программирования имеет следующий вид: п п п минимизировать f (х)~ 2 с,х<+ 2 2 Quxtxi i=i !=ij=l 7 П при ограничениях 2 auxj^bh /—1, ...» /al
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 129 В векторно-матричных обозначениях ее можно переписать следую- щим образом: минимизировать f(x)=cx+x'Qx (11.1) при ограничениях Ax—b, (11.2) х>0, (11.3) где А — матрица коэффициентов ограничений размерности тХт, b—вектор-столбец размерности mXl, с—вектор-строка размер- ности 1 Хп, Q — квадратная матрица размерности пХп, х — вектор переменных размерности пХ1. 11.2.1. Приложения квадратичного программирования Проиллюстрируем на примерах некоторые применения моделей квадратичного программирования. Пример 11.4. Задача выбора портфеля ценных бумаг Определение оптимального портфеля ценных бумаг представ- ляет собой одну из важнейших задач, с которыми сталкиваются ин- вестиционные фирмы (банки, взаимные фонды, страховые компа- нии). Под портфелем понимаются размеры вложений в различные виды ценных бумаг: обычные облигации, облигации краткосроч- ных государственных займов, банковские депозитные сертифика- ты, обычные акции и др. Для анализа задачи выбора портфеля цен- ных бумаг ввиду ее сложности и экономической важности разра- ботан ряд математических моделей. Предположим, что наличный капитал С в следующем инвестици- онном периоде можно вложить в ценные бумаги N видов, и требует- ся определить соответствующие доли вложений. Пусть х3, /=1, 2, . . ., N,— величина капитала (в долларах), вкладываемого в ценные бумаги /-го вида. Тогда на переменные х} накладываются следующие ограничения: . .Ч~.Ху<:С, /=1,..., N. Предположим, что имеются статистические данные по каждому виду вложений за последние Т лет, отражающие колебания цен и выплаты дивидендов на протяжении этого периода. При помощи этих данных можно оценить доход от вложений для каждого вида ценных бумаг. Пусть г,(/) — общий доход в году t на доллар вло- жений в ценные бумаги вида /. Тогда M0 = [p;(/+l)-P;(0+^(0Vp;(/). где pj(t) — цена бумаг /-го типа на начало года t, a dj(t) — суммар- ные дивиденды, полученные в /-м году. Заметим, что значения г,(1) непостоянны и могут сильно коле- баться от года к году. Эти значения могут иметь любой знак или 5 № 1865
130 ГЛАВА II быть нулевыми. Таким образом, для оценки целесообразности вло- жений в ценные бумаги /-го вида следует вычислить средний или ожидаемый доход от ценных бумаг вида / на вложенный доллар: т р>/— -у fj (0- z=i Общая величина ожидаемого дохода задается следующим образом: N Е = 2 Р/Д = р/х, /=• где р7 =(|Л1, . . р4у), х=(хъ . . xN)T. Модель I. Имеется следующая простая оптимизационная мо- дель для описанной задачи: N максимизировать Z = 2 /=i N при ограничениях У^х,^.С, х.-^О. i=i Здесь максимизируется общий ожидаемый доход при ограничениях на общий объем инвестиций. Портфель ценных бумаг может также формироваться с учетом различных ограничений, связанных с политикой фирмы. Большинство инвестиционных фирм ограничи- вают размеры вложений в обычные акции, поскольку доход от последних подвержен значительным колебаниям. Такое ограниче- ние можно записать следующим образом: 2 x-t^bi, ieJ, где множество Д содержит индексы различных видов обычных акций, а через Д обозначаются максимальные допустимые вложе- ния в обычные акции. Правления многих инвестиционных фирм считают необходимым держать определенную часть капитала в виде наличных денег или в иной эквивалентной форме для удовлетворения возможных требо- ваний вкладчиков. Это ограничение записывается следующим образом: 2 где индексы из множества J2 соответствуют ценным бумагам, экви- валентным наличным средствам (например, сберегательным сче- там, текущим счетам); Ьг представляет собой минимальную вели- чину необходимых наличных средств. Могут рассматриваться так- же и другие ограничения подобного рода. Главный недостаток этой простой модели ЛП состоит в том, что риск, связанный с инвестициями, не учитывается. Таким образом,
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 131 портфель ценных бумаг, который находится в результате решения соответствующей задачи ЛП, может обещать высокий средний ожи- даемый доход, но при этом риск, связанный с инвестициями, также будет велик. Ввиду опасности столь большого риска истинный до- ход может оказаться значительно ниже ожидаемого! Модель II. В этой модели учитывается фактор риска, связан- ный с каждым видом ценных бумаг. Курс некоторых ценных бумаг, например «спекулятивных акций», имеет тенденцию к сильным ко- лебаниям, что увеличивает фактор риска, связанный с ними, но средний ожидаемый доход от них высок в силу их способности к сильному повышению. С другой стороны, «безопасные» инвести- ции, такие, как текущие счета, банковские депозитные сертифика- ты, могут давать меньший доход. В качестве меры инвестиционного риска можно рассматривать величину отклонения дохода от его среднего значения в течение последних Т лет. Обозначим через о], дисперсию (инвестиционный риск) для ценных бумаг вида /, которая вычисляется по формуле т °1i —И/]2. /=1 Кроме того, курс некоторой группы ценных бумаг может зави- сеть от состояния определенной области экономики; спад в этой области повлечет за собой падение цен на все ценные бумаги дан- ной группы. Примерами ценных бумаг, курсы которых подвержены совместным колебаниям, являются акции нефтяных и автомобиль- ных фирм и акции предприятий коммунальных услуг. Для умень- шения подобного риска необходимо распределять инвестиции по различным группам ценных бумаг. В таком распределении исполь- зуется оценка соотношения уровней дохода для каждой пары ви- дов ценных бумаг. Это соотношение выражается величиной кова- риации cfy, которая вычисляется на основе статистических данных за прошедшие годы: т [r i (0 — [Г/ (0 — Н/1- /=1 Заметим, что при i=j эта величина сводится к дисперсии /-го вида бумаг. Таким образом, в качестве меры инвестиционного риска мо- жет служить величина /V N К = 2 2 = xrQx, i= 1 /= 1 где Q(jvxn>=?/] представляет собой матрицу ковариаций для N видов ценных бумаг. Владелец ценных бумаг при определении портфеля может быть заинтересован в получении заданного среднего ожидаемого до- хода при минимальном риске. Соответствующую оптимизационную
132 ГЛАВА 11 задачу можно сформулировать следующим образом: минимизировать Z = xTQx N при ограничениях 2 Xj^C, Xj^O, [iTx^R, где R представляет собой минимальный средний ожидаемый до- ход при выборе портфеля. В модель могут быть введены дополни- тельные подобные рассмотренным выше ограничения, связанные с политикой фирмы. В этой модели минимизации риска ограничения линейные, а целевая функция квадратичная. Пример 11.5. Задача построения регрессии при наличии ограни- чений Классическая задача регрессионного анализа состоит в опре- делении коэффициентов уравнения линейной регрессии, определяю- щих взаимосвязь зависимой переменной и множества независимых переменных. Задачу регрессии можно переформулировать при по- мощи метода наименьших квадратов следующим образом: минимизировать ет\е при ограничении У = Х0-|-е, где Р — вектор подлежащих оценке коэффициентов регрессии раз- мерности nxl, е — вектор ошибок размерности /гХ1, Y — вектор наблюдений над зависимой переменной размерности nxl, X— матрица наблюдений над независимыми переменными, имеющая размерность пХш. Ясно, что сформулированная классическая за- дача регрессии представляет собой задачу квадратичного программи- рования. На практике во многих случаях накладываются дополнитель- ные ограничения, зависящие от априорной информации о задаче. Например, это могут быть ограничения на значения коэффициен- тов регрессии [3, (/=1, . - ., т): |37\>О и 20у=1. Кроме того, ошибкам et можно приписать различные веса. Иначе говоря, целевая функ- ция может иметь вид Say4e2(. Таким образом, подход к решению за- дачи построения регрессии, основанный на использовании квадра- тичного программирования, придает указанной модели большую гибкость. Для ознакомления с другими приложениями квадратич- ного программирования следует обратиться к работе [7]. 11.2.2. Условия Куна — Таккера Сравнивая задачу КП (11.1) — (П-3) с общей задачей НЛП [гл. 5, разд. 5.5, формулы (5.10)— (5.12)], получаем f (х) = сх + xTQx, g(x) = x>0, h(x) = Ах—b = 0.
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 133 Условия Куна — Таккера, связанные с задачей КП, записываются следующим образом [см. (5.13) — (5.17)]: c + xT(Q + aT)—u—vA = 0, (11.4) Ax = b, х^О, (П-5) нх = 0, (11.6) и^О, v—неограниченная по знаку переменная. (117) Проиллюстрируем на примере применение условий Куна — Таккера. Пример 11.6 Минимизировать f (х) = —6хд -ф 2xj— 2xjX2 + 2х£ при ограничениях Xj-|-x2 = 2, х1( х2^0. Для этой задачи с = (—6; 0), Q=(_j 2)’ А = <1; 0> = Условия Куна — Таккера задаются следующим образом: (-6; 0) + (Х1; х2) (_* ^_(М1;М2)—с,1(1; 1) = 0 или —6-|-4Xj—2х2—«j—иг = 0, 0—2х! + 4х2—м2—v1 = Q, хг -|- х2 2, xlt х2 0, и1х1 = 0, н2х2 = 0, ц1( и2^0, Uj не ограничена по знаку. Поскольку ограничения задачи КП линейные, применима теоре- ма о необходимости условий Куна — Таккера (см. теорему 5.2, разд. 5.6). Таким образом, условия Куна — Таккера являются не- обходимыми условиями оптимальности решения задачи КП. В случае положительной определенности или полуопределенно- сти квадратичной формы Q целевая функция выпуклая и условия Куна — Таккера являются также и достаточными условиями оп- тимальности в задаче КП. Таким образом, в случае положительно определенной или полуопределенной матрицы Q для решения за- дачи КП достаточно найти точку, удовлетворяющую условиям Куна — Таккера. Заметим, что ограничения (11.4), (11.5) определя- ют допустимую область задачи ЛП. Одна из первых процедур реше- ния задач КП [8] основана на отыскании решения системы (11.4), (11.5), (11.7) как задачи ЛП с использованием искусственных пе- ременных и этапа 1 симплекс-метода (см. гл. 4). При этом условие (11.6) неявно учитывается в процедуре симплекс-метода при помо- щи правила ограниченного ввода в базис (см. гл. 8, разд. 8.2). Эта правило запрещает вводить в базис небазисную переменную и)х если значение соответствующей базисной переменной xj положи-
134 ГЛАВА II тельное. К сожалению, в случае положительно полуопределенной матрицы Q указанный метод может расходиться. Лемке [9] разработал более эффективный и простой метод ре- шения системы (11.4) — (Н.7), называемый методом решения задач о дополнительности. Проведенные в последнее время эксперимен- тальные исследования [10] показали, что этот метод в случае поло- жительно полуопределенной матрицы Q обладает рядом преиму- ществ по сравнению с большинством методов решения задач КП. В следующем разделе рассматривается общий метод решения спе- циального класса задач, известных под названием задач о дополни- тельности. Этот класс задач включает задачи ЛП и КП. 11.3. Задачи о дополнительности Рассмотрим общую задачу отыскания неотрицательного реше- ния системы уравнений следующего вида: найти такие векторы w и г, что w—Nlz+q, (И-8) w^O, z>0, (11.9) w'z=0, (11.10) где М — квадратная (п Хц)-матрица, w, z, q — п-мерные вектор- стол б цы. Сформулированная задача называется задачей о дополнитель- ности. Заметим, что в ее формулировке не участвует оптимизи- руемая целевая функция. Условия (11.8) представляют собой си- стему линейных уравнений; условия (11.9) требуют неотрицатель- ности решения системы (11.8); из условий (11.10) вытекает, что WjZi—О при всех i=l, 2, . . ., п, поскольку wit z,^0. Таким обра- зом, в задаче имеется единственное нелинейное ограничение. Пример 11.7 Рассмотрим задачу, в которой /1 2 3\ / 2\ М = [ 4 5 6 q = \ —5 ) \6 7 8/ 3/ Соответствующая задача о дополнительности формулируется сле- дующим образом: найти такие wit w2, w3, zt, z-2, z3, что = гг -j- 2za -j- 3z3 + 2, ay2== ^г1 +5г24-6г3—5, w3 = 6Z1 + 7z2 + 8z3—3, w,,w2, w3, z,,z2, z3>0, wlzl-^-w2z3 + w3z3 = 0.
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 135 Рассмотрим выпуклую задачу КП следующего вида: минимизировать f (х) = сх-1г xTQx при ограничениях кх~^Ь, х^О, где Q — положительно определенная или полуопределенная (лхп)-матрица. Условия оптимальности Куна — Таккера для сформулирован- ной задачи КП записываются в матричной форме следующим образом: найти такие векторы х, у, и, s, что и = 2Qx—\ту + ст, s = Ах—Ь, х, у, и, s > О, uTx+sTy — 0. Сравнивая эту систему с задачей о дополнительности, можно заметить, что Таким образом, можно получить решение выпуклой задачи КП пу- тем решения эквивалентной задачи о дополнительности. Подчерк- нем еще раз, что матрица М положительно полуопределена, по- скольку Q положительно определена или полуопределена. Задачу ЛП легко свести к задаче о дополнительности, посколь- ку для этого достаточно положить матрицу Q равной нулю. Таким образом, метод решения задач о дополнительности можно приме- нять также для решения задач ЛП. Пример 11.8 Рассмотрим следующую выпуклую задачу КП: минимизировать f (х) = —6х! + 2xJ—2х,х2 + 2x1 при ограничениях —х,—х, —2, Для этой задачи при ограничениях —Xj—х2 х1( х2 >0 Эквивалентная задача о дополнительности имеет вид
136 ГЛАВА 11 Поскольку квадратичная форма с матрицей Q положительно оп- ределена, значения Zi и z2 соответствуют оптимальным значениям переменных хг и х2- Метод решения задач о дополнительности Рассмотрим следующую задачу о дополнительности: найти век- торы w и г, такие, что w=N\z+q, w,z^0, w'z=0. Определения Неотрицательное решение (w, г) системы уравнений w=Mz+q называется допустимым решением задачи о дополнительности. Допустимое решение (ау, г) задачи о дополнительности, удовлет- воряющее условию дополняющей нежесткости wTz=0, называется решением задачи о дополнительности. Условие wrz=0 эквивалентно условиям WiZi=0, i=l, 2, . . ., п. Переменные и г, для каждого I называются парой взаимодопол- нательных переменных. Заметим, что, если все элементы вектора q неотрицательные, имеется очевидное решение задачи о дополни- тельности: w=q, z=Q. Следовательно, задача о дополнительности нетривиальна только при наличии хотя бы одного отрицательного элемента в векторе q. В этом случае начальное базисное решение w=q, z=0, удовлетворяющее условию дополняющей нежесткости wrz=0, является недопустимым для задачи о дополнительности. Алгоритм решения задачи о дополнительности [9] начинает ра- боту с недопустимого базисного решения w=q, z—Q. Для получе- ния неотрицательного решения производится следующее преобра- зование задачи: во все уравнения системы w—Mz=q вводится искус- ственная переменная z с достаточно большим положительным зна- чением. При этом правые части принимают вид (qi+z0). При г0, равном максимуму абсолютных величин отрицательных qt, правые части становятся неотрицательными. В результате получается ба- зисное решение следующего вида: Wi=qi+z<>, Zi=0, i=l, 2, . . ., п, z0=—min (</,). Заметим, что это решение неотрицательное, удовлетворяет ограни- чениям, условию дополнительности (о)г?г=0), но недопустимо, по- скольку значение искусственной переменной гй положительное. Такое решение называется частичным решением задачи о допол- нительности. Первый шаг алгоритма решения задачи о дополнительности состоит в отыскании частичного решения путем введения в исход- ную систему уравнений w=Mz+q искусственной переменной г0: w—Мг—ez0=?, w, z, zo^O, wTz=0, где eflXi=(l, 1, . . 1)'.
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 137 Таким образом, начальная таблица имеет вид Базис wi • *% • • % Zl • Ь • • г0 9 »i 1 _ -"’ll -">|л -1 ?! 1 -'"л ~т,п -1 9, 1 “«л! ~т„, -1 9л Здесь т1} представляют собой элементы матрицы М. Шаг!. Для определения начального частичного решения за- дачи о дополнительности в базис вводится переменная z0, заменяю- щая базисную переменную с наибольшим по абсолютной величине отрицательным значением. Пусть ^s=min ^,<0; в этом случае пе- ременная г0 заменяет в базисе переменную ws. Выполнение итера- ции метода исключений приводит к табл. 1, где <7s = — qs, = для всех i=/=s, (И.И) ms'; = — msj!—1 = т5/для всех / = 1.......п, (11.12) т'ц = — m{j- -j- tnsj для всех j = 1, . .., п, i =£ s. (11.13) Таблица 1 Базис • • • W'j • >4, *1 • t zs • гл г'о 9 1 -1 0 ">'и "1!л 0 9i zo 0 -1 0 т'^ 1 9( К 0 -1 1 тпп 0 9л Заметим, что 1) i=l, . . ., я; 2) базисное решение, для которого w,=q[, . . ., ws-i=q's_i, Zf)=q's, ws+l=q's+l, . . ., wn=q'n, а значения всех остальных пе- ременных равны нулю, представляет собой частичное решение за- дачи о дополнительности. 3. Частичное решение задачи о дополнительности совпадает с решением этой задачи, если значение переменной г0 равно нулю. Алгоритм метода решения задачи о дополнительности состоит в отыскании последовательности частичных решений задачи (таб- лиц), обрывающейся в том месте, где z0 становится равной нулю. При этом изменения базиса должны удовлетворять следующим усло- виям: а) условию дополняющей нежесткости &игг;=О для всех i=l, ... . . ., я; б) условию неотрицательности базисного решения (т. е. правые части должны быть неотрицательными во всех таблицах). Шаг 2. Заметим, что обе переменные и zs в табл. 1 неба- зйсные. При введении в базис одной из этих пёременных условие
138 ГЛАВА 11 дополнительности не нарушается. Поскольку переменная ws вы- ведена из базиса на предыдущей итерации, естественно ввести в базис переменную zs. Следовательно, существует простое правило для выбора вводимой в базис небазисной переменной. В базис всегда вводится переменная, дополнительная к базисной переменной, выве- денной из базиса на предыдущей итерации. Это правило называется правилом дополняющей нежесткости. После того как выбрана переменная, вводимая в базис, необхо- димо определить базисную переменную, выводимую из базиса. При этом используется правило минимального отношения, аналогич- ное правилу, применяемому в симплекс-методе ЛП. Применение этого правила гарантирует выполнение условия (б). Таким образом, для определения переменной, выводимой из базиса, рассматривают- ся следующие отношения: q'tlm'ts для таких i = 1, ..., п, что m'is > 0. Пусть q'klm^s=- min ^т^). (И-14) mis •* ° Это означает, что необходимо базисную переменную wk вывести из базиса и на ее место ввести переменную zs. Новая таблица получа- ется путем выполнения итерации метода исключения с m’is в ка- честве ведущего элемента. Шаг 3. Поскольку переменная wk выведена из базиса, по правилу дополняющей нежесткости в базис необходимо ввести переменную гь; далее изменения базиса производятся описанным выше образом. Критерии окончания работы алгоритма 1. Минимальное отношение достигается в строке s, а переменная Zt> выводится из базиса. Полученное в результате итерации метода исключения базисное решение представляет собой решение зада- чи о дополнительности. 2. Правило минимального отношения неприменимо, поскольку все коэффициенты в ведущем столбце неположительны. Это озна- чает, что не существует решения задачи о дополнительности. В та- ком случае говорят, что задача о дополнительности обладает лу- чевым решением. Замечания 1. Доказана сходимость описанного метода к решению задачи о дополнительности за конечное число шагов при выполнении одного из следующих условий: (а) все элементы М положительны, (б) глав- ные миноры матрицы М положительные (в этом случае матрица М положительно определена). 2. Наиболее важным применением метода решения задач о до- полнительности является решение выпуклых задач КП. При этом матрица М положительно полуопределена. Доказано, что если в
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 139 случае положительно полуопределенной матрицы существует ре- шение задачи о дополнительности, то описанный метод позволяет найти его за конечное число шагов. Иначе говоря, если выполня- ется второй критерий окончания алгоритма, рассматриваемая за- дача ЛП или КП не имеет оптимального решения. Доказательство этих утверждений приведено в работе [11]. Проиллюстрируем метод решения задачи о дополнительности на задаче из примера 11.8. Минимизировать f (х) = —GxjH- 2х?—2xlx2-\-2xj при ограничениях —xL—х2~^—2, xt, х2^0. Эквивалентная задача о дополнительности записывается следую- щим образом: Поскольку в столбце q имеется отрицательный элемент, необходи- мо ввести искусственную переменную z0. Получается следующая на- чальная таблица: Таблица 2 Базис *2 zl г2 z3 *0 . Я 1 0 0 — 4 2 -1 -6 w2 0 1 0 2 — 4 -1 -1 0 «’з 0 0 ] 1 1 0 -] 2 Начальное базисное решение имеет следующий вид: wt=—6, ау2=0, аи3=2, Zi=z2=z3=Zo=O. Частичное решение получается при замене в базисе переменной иц на переменную г0 и использовании уравнений (11.11)—(11.13) (см. табл. 3). Оно задается следующим образом: г0=6, аи2=6, о>3=8, Zi=z2=z3=&Ui=0. Поскольку обе взаимодополнительные переменные (о)1; г2) небазисные, можно ввес- ти в базис любую из них без нарушения условия дополняющей не- жесткости (&аггг=0). Поскольку переменная Ю1 выведена из базиса на предыдущей итерации, необходимо ввести в базис переменную г±. Применив правило минимального отношения (11.4), получим соот- ветствующие отношения: (6/4, 6/6, 8/5). Переменная гх должна за- менить в базисе переменную w2. После выполнения итерации мето- да исключения получается новое частичное решение, представлен- ное в табл. 4. Правило дополняющей нежесткости требует, чтобы в базис была введена переменная г2, поскольку w2 выведена из ба- зиса на предыдущей итерации. Применение правила минимального отношения показывает, что из базиса необходимо вывести пере-
140 ГЛАВА II менную ш3. Получаемое после итерации метода исключения час- тичное решение задачи о дополнительности представлено в табл. 5. По правилу дополняющей нежесткости необходимо ввести в базис переменную z3. Правило минимального отношения требует вывода Zt> из базиса. Таким образом, следующая таблица содержит решение задачи о дополнительности (см. табл. 6). Таблица 3 Базис ' «’l Н>2 *3 z\ z2 z3 zo я 2о -1 0 0 4 -2 1 1 6 w2 -1 1 0 ® -6 0 0 6 ^3 -1 0 1 5 -1 1 0 8 Таблица 4 Базис И'Г »3 г2 2з zo я zo -1 3 _ 2 3 0 0 2 1 1 2 zi -1 б 1 б 0 1 -1 0 0 1 зи3 _ 1 6 _ 5 6 1 0 1 0 3 Таблица 5 Базис HZ, HZ2 w3 zl zi Z3 zo Я ' z0 -1 4 2 0 0 (D 1 1 2 zi 1/ 4 1 0 л 4 0 7 4 zi 1 0 1 0 i Таблица 6 Базис *1 VJ2 w3 zl z2 Z3 zo я z3 1 2 _ 1 2 -1 0 0 1 2 1 ?l 1 12 — ~ 1 2 1 0 0 2. 2 z2 1 12 1 12 2 0 1 0 ~~ 2 2 Решение задачи о дополнительности имеет следующий вид: Zi=372, z2= 1/2, zs—1, Ш1=ау2=&и3=0. Таким образом, имеем сле- дующее оптимальное решение задачи КП: л! =3/2, %: = 1/2, = —11/2.
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 141 Машинная программа, реализующая метод решения задач о дополнительности, приведена в работе [12]. Результаты машинных экспериментов по применению этой программы к задачам ЛП описа- ны в работах [13, 14], а к задачам КП — в работе [10]. Они свиде- тельствуют о больших преимуществах изложенного метода. При решении выпуклых задач КП выпуклый симплекс-метод (см. разд. 9.2.1) лишь немного уступал методу решения задач о допол- нительности. Выпуклый симплекс-метод следует предпочесть ме- тоду решения задач о дополнительности в случае невыпуклых за- дач КП, поскольку применение первого гарантирует сходимость к локальному оптимуму. В то же время в случае невыпуклых за- дач при решении задач о дополнительности рассматриваемым ме- тодом вычисления могут прекратиться в соответствии со вторым критерием; при этом может быть получено лучевое решение, т. е. не удается обнаружить даже локальный оптимум. 11.4, Геометрическое программирование Задачами геометрического программирования (ГП) называются задачи условной оптимизации, в которых левые части ограниче- ний и целевая функция являются полиномиальными функциями специального вида. Многие практические задачи технического про- ектирования можно решать с помощью методов геометрического программирования. Геометрическое программирование, основы ко- торого были разработаны Зенером в 1961 г, за последующие годы получило значительное теоретическое развитие. В данном разделе рассматриваются основные результаты теории геометрического программирования и обсуждаются имеющиеся процедуры решения задач ГП. Подробнее вопросы геометрического программирования и его приложения описаны в монографиях [15, 16]. 11.4.1. Позиномы в геометрическом программировании Определение Позиномом с N переменными и Т членами называется функция следующего вида: f(x)=2ctPiW. (11.15) z=i где ct — положительные постоянные, x=(xt, . . ., — вектор переменных, функции pt(x) определяются следующей формулой: л(х) = П*Х (1116) П=1 при этом величины ant могут принимать любые действительные значения — положительные, отрицательные или нулевые. Пози-
142 ГЛАВА 11 ном отличается от многочлена тем, что показатели степеней его пе- ременных могут не быть натуральными числами. С другой стороны, коэффициенты ct позинома положительные. Функция f(x) может рассматриваться как стоимость некоторо- го оборудования, состоящего из Т компонент; при этом величина ctpt(x) интерпретируется как стоимость отдельной компоненты. Примером позинома с тремя одночленами и двумя переменными слу- жит следующая функция: f (х) = С1Хр3х;2 + с2х3х2 + csxp3x|, где с1; с2, с3>0. Вообще позиномиальная функция (11.15)—(11.16) невыпуклая. Однако при помощи замены переменных x„ = exp(z„), /1= 1, 2, ..., TV, (И.17) функция /(х), определенная соотношениями (11.15) — (11.16), при- водится к следующему виду: т / N \ /(*) = 2 ctexp( 2 antzn ). (11.18) z=l \n=l J Функция / (z) выпуклая, поскольку представляет собой сумму вы- пуклых функций. Это обстоятельство с большим успехом исполь- зовалось для оптимизации позиномиальных функций. Первоначальный подход к оптимизации позиномиальных функ- ций основан на неравенстве между средним арифметическим и сред- ним геометрическим, согласно которому среднее геометрическое не превосходит среднего арифметического. Использование нера- венства для средних привело к появлению термина геометриче- ское программирование. Неравенство для средних позволяет заключить, что для произ- вольных положительных чисел vlt v2, . . ., vT и таких положитель- ных весов Wi, w2, . . ., wT, для которых 2^i= 1> имеет место соот- ношение 2’W^II’A (11.19) t = 1 t = i причем равенство достигается только в случае v1=v2=. . ,=vT. Полагая vtwt=utX), можно следующим образом переписать вы- ражение (11.19) для любых ut и 2®i = l-’ <1L20> /=1 г=1 4 1 ' Неравенство (11.20) обращается в равенство тогда и только тогда, когда wt=uil'^iut. Пусть JV H< = CtPt(x) = C1JI хХ л= 1
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ ]43 Тогда позином /(х), определяемый выражением (11.15), можно пе- реписать как /(x) = 2c(pt W = 2«t- t При помощи (11.20) легко получить (11.21) Неравенство (11.20) имеет место при любых положительных wt, таких, что Предположим теперь, что wt выбраны таким об- разом, что имеют место соотношения: г 2vi = 0, п=1,2, ...,7V. t= i Тогда неравенство (11.21) сводится к системе соотношений Т \wt / (х) = 2 wt s*5 II для всех > о» 2^f=l. 2ап/ю<==^ ПРИ л= 1> 2, ..., А/. t I Поскольку неравенство (11.21) может обращаться в равенство, лег- ко получить min f (х) = min 2 = max II ((11.22) xn>0 t t \wt J где wt удовлетворяет следующим соотношениям: 2^=1» = n=l,...,N, wt > 0. t t Таким образом, минимизация позиномиальной функции сводится к максимизации нелинейной функции (11.22) при наличии линей- ных ограничений. Заметим, что, поскольку равенство в (11.20) достигается только при wt=ut/£ut, существует простая связь меж- ду прямыми и двойственными переменными. Действительно, оп- тимальные значения переменных хп (обозначаемые через х„) и переменных wt (обозначаемые через u>J) удовлетворяют следующему соотношению: N Ct П wf = CJr№ = ---• О 1-23) f(x*) v
144 ГЛАВА 11 На основе подобных соображений в работе [16] развита теория двой- ственности для геометрического программирования; в частности, описан двойственный подход к решению задачи ГП. Двойственная задача. Рассмотрим следующую (прямую) зада- чу ГП: Т N минимизировать f(x) = 2 ct II x°nt 1=1 n=l при ограничениях хп > 0. Двойственная задача ГП имеет вид максимизировать <7(ш) = Ц (-—j (11.24) т при ограничениях (11.25) / = । т 2 = n= 1, .. •, N, wt 0. (11.26) t = । Используя неравенство для средних и формулы (11.22) и (11.23), легко получить следующие соотношения между прямой и двойст- венной задачами. 1. Наличие оптимального решения w*t в двойственной задаче представляет собой достаточное условие существования оптимума в прямой задаче ГП. 2. Для соответствующих оптимумов имеем (a) min f(x)=max d(w)=y*. (б) Прямое и двойственное оптимальные решения связаны сле- дующим соотношением: 2«„tlnK]==ln[^-],/ = l.........Т. (11.27) п=1 1 Ч J (в) Допустимое решение двойственной задачи дает нижнюю гра- ницу оптимального значения целевой функции задачи ГП: Т у* = min / (х) 7» JJ для лю®ых допустимых wt. (11.28) Поскольку значения wt заключены между 0 и 1, максимизация d(w) эквивалентна максимизации log d(w)\ логарифм двойственной целевой функции имеет следующий вид: Т ? максимизировать г (ш) = In Ц = — V, wt In J- Заметим, что функция z(w) сепарабельная и каждый член wt представляет собой выпуклую функцию. Следовательно,
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ ]45 описанные выше преобразования приводят к задаче вогнутого про- граммирования с линейными ограничениями. Проиллюстрируем на примере двойственный метод решения за- дач ГП: Пример 11.9 [3] Минимизировать / (х) = бОхр Зх22 + 50х?х2 + 20хр3х2 при ограничениях хп х2, х3 > 0. Двойственная задача имеет следующий вид: , . , / 60/50\«>2/20\«ь максимизировать d(w) = — — — ‘ ' \W1 J \wzJ \w3) при ограничениях ю1 + ш24-ш3= 1, —3wt + Зш2—Зщ'3 = 0, —2wt + w2 + Зю3 = 0, wlt w2, ш3^0. Двойственная система ограничений, состоящая из трех уравне- ний с тремя неизвестными, имеет единственную допустимую точку, совпадающую с точкой минимума. Решение двойственной системы ограничений дает следующее двойственное оптимальное решение: =0,4, к)2 = 0,5, ш3 = 0,1. Оптимальное значение целевой функции двойственной задачи равно d(w*) — 125,8=/(х*). С помощью формулы (11.23) можно вычислить оптимальные значения переменных хп: 60хр3х2~2 = 0,4 (125,8) = 50,32, 50х?х2 = 0,5 (125,8) = 62,9, 20х1-3х3 = 0,1 (125,8)= 12,58. Решая эту систему уравнений, находим оптимальное решение Xj = = 1,12, х*=0,944. Степень сложности. При решении задачи примера 11.9 двой- ственная система ограничений имела единственное решение, по- скольку число ее переменных равно числу уравнений. Иначе говоря, число слагаемых Т целевой функции прямой задачи ГП равнялось числу N переменных плюс единица. При 7’>Д^+1 допустимая об- ласть двойственной задачи состоит из бесконечного числа точек, и для определения оптимальных значений wt необходимо решить оп- тимизационную задачу. Разность между числом двойственных переменных Т и числом двойственных ограничений (7V+1) называется степенью сложности задачи ГП. Чем больше эта величина, тем выше размерность двойст- венной задачи. Для решения двойственной задачи в логарифмичес- кой форме можно применять любой из эффективных методов, опи- санных в гл. 8 и 9 (например!, методы сепарабельного программиро-
146 ГЛАВА 11 вания, выпуклый си мп леке-метод, алгоритмы последовательной ли- неаризации), поскольку ее целевая функция сепарабельная и вог- нутая, а ограничения линейные. Обработка неравенств-ограничений. Методы ГП применимы также к оптимизационным задачам с ограничениями, левые части которых являются позиномами. Здесь лишь кратко рассмотрены необходимые в этом случае модификации описанного метода. Бо- лее полное обсуждение и доказательства приведенных ниже резуль- татов содержатся в монографии [15]. Рассмотрим следующую прямую задачу ГП с ограничениями: Т» N минимизировать f0 (х) = 2 Со( II ха»^ (11.29) 1=1 п= 1 Тт N при ограничениях fm(x) = 2^П x“mn(^l, m=l, 2, ..., А4, 1=1 п=1 х„ > О, /г = 1....N. (11.30) Заметим, что целевая функция представляет собой позином /0(х), содержащий Т слагаемых, а левые части ограничений в виде не- равенств являются позиномами fm(x) с Тт слагаемыми, /71=1.... М. По определению позинома все величины cmi, т=0, 1, . . ., М и ./=1, . . ., Тт, положительные. Прямая задача имеет N переменных хь х2, . . ., xN. Как в случае задачи ГП без ограничений, можно определить двойственную задачу. Прямую задачу можно решить, используя решение двойственной задачи, имеющей линейные огра- ничения. Пусть 60t, /=1, 2....То,— коэффициент при /-м слагаемом в целевой функции. 6"' = -ТЙ>~- , = ..........т- Пусть Хт, /71=1, 2, . . ., М,— множитель Лагранжа, соответствую- щий /n-му ограничению, а 6Я1, /п=1, 2, . . ., М, i= 1, 2, . . Tm,— двойственная переменная, соответствующая t-му слагаемому в т-м ограничении, где тт кт = У 6mf, /п /ЯТ» 1=1 A N ^ = си/П<»»‘, /71=1, ...,М; / = 1, (11.32) П=1
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ Ц7 Задача, двойственная к задаче ГП с ограничениями, имеет следую- щий вид: м тт максимизировать Z(6) = Ц Л т- mt (11.33) m=li=l L °mt J при ограничениях (11.34) t =1 M Tm 2 2 n=l, 2, ..., N, (11.35) m=0 t-1 Tm 2 6ml, m=l, 2, .... M, (11.36) t = i 6m(>0, m = 0, 1, M, t= 1, 2, ..., Tm, m= 1, 2, ..., M, где предполагается, что Z0=l и lim f£^Y-‘=l. 6 ,->0 \ 1 mi Заметим, что число независимых двойственных переменных равно и совпадает с общим числом слагаемых в целевой функции и ограни- чениях. Поскольку формулу (11.36) можно отбросить, заменяя лт на S6ml, число независимых двойственных ограничений равно N+ + 1. Таким образом, при T=N+l степень сложности двойственной задачи равна нулю. При Т> N + 1 двойственная задача представляет собой оптимизационную задачу. В работе [16] доказаны следующие результаты о соотношении оптимальных решений прямой (11.29), (11.30) и двойственной (11.33)—(11.36) задач ГП: 1. Оптимальные значения х* и 6* пары двойственных задач сов- падают /0(x*)=Z(6*). 2. Если некоторое ограничение прямой задачи не является актив- ным в точке оптимума, то оптимальные значения соответствующих ему двойственных переменных равны нулю. Иначе говоря, если /т(х*)< 1, то 6^=0 при всех Н= 1, 2, . . ., Тт. Примечание. Это утверждение очевидно, поскольку из условия fm (х*)<1 следует, что 2^=0, откуда с учетом неотрицательности 6‘mi и равенства (11.36) получается 6т1=0 при всех t. 3. Прямое и двойственное оптимальные решения связаны сле- дующими соотношениями, имеющими место при всех t, для которых
148 ГЛАВА 11 'V' 1 / | &oi f0 (х*) 2-«on< In (x„) = ln ---- n=l C°t при / = 1,2, ..., To, > 0, N r * Sa„JnW = ln Mf- n=l [A/nC^J при t — 1,2,..., Tm, m=l, 2, ..., M, S‘mt > 0. Примечание'. Эти уравнения получаются путем логарифмирова- ния уравнений (11.31) и (11.32). 4. Логарифм Z(6) представляет собой непрерывно дифференци- руемую в положительном ортанте вогнутую функцию. Таким об- разом, двойственная задача с логарифмической целевой функцией является задачей вогнутого программирования с линейными огра- ничениями. Пример 11.10. Обработка металлов резанием Задача определения оптимальных параметров при обработке металлов резанием представляет собой одно из инженерных прило- жений математического программирования. В обзоре [17] содержит- ся подробное рассмотрение ряда различных оптимизационных моде- лей резания металлов, сопровождаемое соответствующими приме- рами. Опишем применение геометрического программирования для решения задачи металлообработки, в которой требуется обработать деталь на токарном станке за один проход резца. Переменными в этой задаче выбора параметров являются ско- рость резания v и величина подачи на один оборот f. При увеличе- нии значения этих параметров время обработки уменьшается, а следовательно, снижается ее стоимость; однако при этом уменьшает- ся также срок службы резца и возрастают затраты на инструмент. Кроме того, оптимальные значения v и f зависят также от трудозат- рат и накладных расходов, связанных с непроизводительным време- нем и временем замены резца. В качестве критерия выбора опти- мальных параметров v и f часто используется минимум общих зат- рат в расчете на одну деталь. Величина с стоимости обработки в расчете на одну деталь за один проход резца определяется следующим выражением [18]: с = (Затраты, связанные с непроизводительным временем, в рас- чете на одну деталь) + (Затраты на обработку)-]-(Стоимость замены резца в расчете на одну деталь) + (Стоимость резца в расчете на одну деталь). Стоимость обрабатываемых заготовок при этом не учитывается. Для третьего и четвертого членов можно записать более точные вы- ражения:
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 149 Стоимость замены резца в расчете на одну деталь = _________Тарифная ставкахВремя замены резца Число деталей, обработанных между заменами резца ’ Стоимость резца в расчете на одну деталь = __ Стоимость резца в расчете на режущую пластину Число деталей, обработанных между заменами резца ’ Выражение для величины затрат можно переписать в следующем виде: c = xTL-YxTc + xTd(TaclT) + y(TaclT) долл., (11.37) где х — тарифная ставка плюс ставка накладных расходов, долл.; TL — непроизводительное время (время установки, снятия и осмотра детали), мин; Тс — общее время обработки, включая время подвода резца, мин; Тас — действительное время обработки (приблизительно рав- ное Тс), мин; Т —срок службы резца [определяется по формуле (11.39)], мин; Td — время замены резца, мин; у — стоимость резца в расчете на режущую пластину, долл.; TiTac—число деталей, обработанных между заменами резца. Общее время обработки определяется из следующего соотношения: Тс=1Ло] мин, (11.38) где I — расстояние, проходимое резцом при обработке за один обо- рот, дюйм; ^=12/лй, где D — средний диаметр заготовки, дюйм; v — скорость резания, фут/мин; f — подача, дюйм/оборот. Известно [18], что срок службы резца, скорость резания и величина подачи связаны следующим образом: Т = Мин, (11.39) где А, п, /ij — некоторые постоянные. Считая, что Тас~Тс, и подставляя выражения (11.38) и (11.39) в (11.37), получаем с = ^+Й/ + (^д+п)^/п,-7<1/п,)-1 долл. (11.40) На параметры и и f накладываются следующие ограничения, связанные с режимом обработки. (I) Максимальная и минимальная скорости резания упцц V Ощах1
150 ГЛАВА II (II) Максимальная и минимальная величины подачи fmin f fmax- (III) Максимальное допустимое режущее усилие (Ftmax). Это условие необходимо для ограничения величины отклонения резца от заданного положения и его влияния на точность обработки заго- товки. В работе [18] дается следующее выражение для тангенциаль- ного режущего усилия Ft: Ft = ctfadJ, (11.41) где ct, а, у — постоянные, dc — глубина резания, также постоян- ная во время обработки. Ограничение на величину режущего уси- лия можно переписать в виде следующего условия на величину по- дачи: /С [Л тах/МЛ1/а- (IV) Максимальная мощность. Мощность HP, потребляемая при металлообработке, определяется следующим выражением: HP = Ftv/33 ООО, где Ft находится по формуле (11.41). Если Ртах —максимальная мощность на шпинделе, то ^“<^тах(33 000)/С^. При заданных Ртах, у, dc правая часть представляет собой по- стоянную величину. (V) Область устойчивой обработки. Некоторые сочетания зна- чений параметров и и f приводят к появлению вибрации, заеда- ния и наклепа. Для того чтобы эти явления не возникали, наклады- вается следующее ограничение, обеспечивающее устойчивость ре- жима резания: Vй/ 0, где 6 и 0 — заданные постоянные. В качестве иллюстрации рассмотрим задачу выбора параметров обработки детали с минимальной стоимостью, когда деталь обраба- тывается за один проход резца [17]. Заготовка диаметра 2,75 дюйм имеет длину 12,00 дюйм. После обработки заготовка имеет диаметр 2,25 дюйм и длину 10,00 дюйм. При расчетах скорости резания ис- пользуется среднее значение диаметра, равное 2,50 дюйм. Токарный станок имеет мощность 15 л. с. и максимальную скорость 1500об/мин. Минимальная скорость равна 75 об/мин. Параметры модели задаются следующим образом: х=0,15 долл./мин, /=10,00 дюйм, Х= = 1,528, у=0,50 долл., п=0,30, dc=0,25 дюйм, Д/тах=1500 об/мин, Ftmax= 1583,0 фунт, а =0,78, у=0,9, 6=2,0, 0=380 000, мощность= = 15 л. с., к. п. д. привода=0,8, TL =2,00 мин, 0=2,50 дюйм, Td= = 1,00 мин, /1 = 113 420, /ij=0,45, /Vmin=75 об/мин, ^=344,7.
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 151 При подстановке этих значений в формулу (11.37) получаем сле- дующее выражение для функции затрат: с=0,30+ (982,0/u/)+8,l .io-V’33T222- [Примечание. Для удобства вычислений f выражается в тысяч- ных долях дюйма (а не в дюймах) на оборот.] Условия на v и f имеют следующий вид: с <982,0, с^49,1, /< ^35,0 (режущее усилие), /^1,0, ц/0',8<4 000,0 (мощность), с2,0/^ +=380 000 (область устойчивого резания), v, f 0. Для решения этой задачи при помощи методов ГП следует переписать ее в следующем виде: минимизировать fti = (982,0/с/) + 8,1 • Ю-®^2’333/1'222 при ограничениях у/982,0^ 1, 49,1/v^l, //35,0 <1, 1,0//<1, t-/°-78/4000,0<l, 380 000/t-2’»/< 1, (и, /)>0. Заметим, что в задаче восемь позиномиальных членов и две пере- менные. Таким образом, степень сложности равна пяти. Кроме то- го, каждое ограничение содержит единственный позиномиальный член. Таким образом, уравнения (11.36) сводятся к Xm=6ml, т= = 1,2,..., 6. Задача, двойственная к рассматриваемой задаче ГП, имеет следующий вид: Г98216», Г8,Ы0-»16», Г 1 1»пглп максимизировать Z (о) = — —----- * 982 149> 21 х х [ззЬI'W" [e]’"!380000!’" при ограничениях 601 4- б02 = 1, - б01 + 2,ЗЗЗб02 + б„ - б21 + б51 - 2б„ t = 0, - 601 + 1,222б02 + 631 - б41 + 0,78б51—6в, = 0, При использовании логарифмической формы двойственной целевой функции рассматриваемая задача представляет собой задачу вог- нутого программирования с линейными ограничениями. Следова- тельно, для определения двойственного оптимального решения можно применить один из методов, рассматривавшихся в гл. 8 и 9, что дает следующий результат: б;, =0,7, б;2 = о,з, б;г=0,3334, 6^ = 6-,=б;, = 6;, = %=о, max г (б) = г* = 0,2613. Таким образом, f*a—z* =0,2613 и с* =0,3+0,2613=0,5613. Для оп- ределения оптимальных значений исходных переменных v * и f *
152 ГЛАВА II используются соотношения (11.31) и (11.32): 982/v*/* = (0,7) (0,2613) = 0,18291, 8,1 10” (v*)2’333 (f*)i.222 = (0,3) (0,261 3) = 0,078 39, /735,0 = = 0,3334/0,3334 = 1. Решая эти уравнения, находим /* = 35,0, и* —153,4. Другие модели геометрического программирования, применяемые в машиностроении, описаны в работе [19]. Вычислительные аспекты двойственного подхода. Несмотря на то что нередко решение двойственной задачи находится легче, чем решение прямой задачи ГП, при непосредственном решении первой возникают некоторые вычислительные трудности. 1. Градиент In [z(<5)J в точках, где любая двойственная пере- менная 8mt обращается в нуль, не определен. 2. Если 8”mt =0 при некоторых /, 1^/^Тт, и т, l^m^M, то значения всех двойственных переменных 8'nt, соответствующих т- му ограничению, должны быть нулевыми. 3. Решение системы логарифмически-линейных уравнений, оп- ределяющих оптимальные значения переменных прямой задачи, может оказаться весьма неточным, если значение 6* не было опре- делено с достаточной точностью. Кроме того, ранг этой системы мо- жет оказаться меньше N. В работах [20, 21] указаны некоторые методы преодоления пе- речисленных вычислительных трудностей. Поскольку функция ln[z(6)] при 8mt =0 недифференцируема, следует ввести огра- ничения вида 8mt^s, где е—произвольно малое положительное число. Формулировка прямой задачи в виде задачи выпуклого про- граммирования. Нелинейность ограничений невыпуклой в общем случае прямой задачи ГП (11.29), (11.30) сильно затрудняет исполь- зование стандартных машинных программ решения задач НЛП. Однако, несмотря на очевидные трудности, возникающие при реше- нии прямой задачи, структурные особенности позиномиальных функций позволяют непосредственно находить решения прямой за- дачи. Ранее было показано [см. формулы (11.17) и (11.18)], что при замене переменных хп = exp (z„), . п— 1, 2, ..., N, позиномиальная функция преобразуется к выпуклому виду. Такая замена позволяет преобразовать прямую задачу ГП (11.29), (11.30)
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 153 в задачу выпуклого программирования: То / N минимизировать /0 (х) = 2 c»t exp 2 aontzn t = l \л=1 Тт [ И \ при ограничениях fa (x)= S^texp 1, m = 1, 2....М, гп— неограниченная по знаку переменная, п=1, 2, N. Заметим, что целевая функция и левые части ограничений пред- ставляют собой выпуклые функции и сформулированная задача является задачей выпуклого программирования. С вычислительной точки зрения последнее обстоятельство дает большое преимущество, поскольку в этом случае условия Куна — Таккера оказываются достаточными для нахождения оптимума. Кроме того, в силу вы- пуклости задачи к ней можно применять любые из рассмотренных в гл. 6, 8 и 9 алгоритмов выпуклого программирования: методы обоб- щенного приведенного градиента, методы штрафных функций, ал- горитмы отсекающих плоскостей, методы последовательной линеа- ризации. Наряду с общими методами НЛП, которые можно использовать для решения выпуклого варианта задачи ГП, разработан ряд спе- циальных машинных программ для решения задач геометрического программирования (обзор этих программ содержится в работе [21]). В некоторых программах для решения выпуклого варианта прямой задачи ГП используется метод отсекающих плоскостей Келли [22] или при помощи метода Ньютона — Рафсона находится точка, удо- влетворяющая условиям Куна — Таккера [23]. Другие програм- мы основаны на решении двойственной задачи при помощи вы- пуклого симплекс-метода [24] или как последовательности задач КП [25]. Результаты вычислительных экспериментов (задачи с позино- мами). Недавно была проведена значительная работа по экспери- ментальному исследованию различных алгоритмов решения задач ГП [26]. На основании статистических испытаний было установлено, что переход к выпуклому варианту прямой задачи ГП позволяет в общем случае существенно снизить трудоемкость вычислений. При этом оказалось, что при решении выпуклой прямой задачи програм- ма для решения общих задач НЛП методом обобщенного приведен- ного градиента [27] может успешно конкурировать с лучшими спе- циализированными программами решения задач ГП. Можно по- казать, что эффективность получивших высокую оценку специа- лизированных программ GGP [22] и GPKTC [23] обусловлена в основном тем, что они используют выпуклую формулировку прямой задачи ГП. Дальнейшие подробности и результаты проведенного исследования изложены в гл. 12.
154 ГЛАВА 11 11.4.2. Обобщенное геометрическое программирование В работе [16], посвященной геометрическому программированию, рассматривалась задача, называемая в настоящее время «прототи- пом задачи ГП», в которой целевая функция и левые части ограни- чений типа «меньше или равно» представляют собой позиномиаль- ные функции, т. е. функции следующего вида: N f(x) = ^ct П ха* , I п = 1 где все ct>Q и ant— произвольные действительные числа. Вскоре после этого в работе [28] полученные в [16] результаты были рас- пространены на случай произвольных ct и ограничений в виде не- равенств разных знаков. Опишем кратко результаты такого обобще- ния геометрического программирования (ОГП). Для более подроб- ного ознакомления с этим материалом следует обратиться к моно- графии [15]. Прямая задача Сигномиальная (обобщенная позиномиальная) функция опреде- ляется следующим выражением: (И-42) /=1 п = 1 где ot=±l называются сигнум-функциями, с(>0. Таким образом, прямую задачу обобщенного геометрического программирования (ОГП) можно сформулировать как т„ N минимизировать /0(х) = 2 °otcot П (11.43) 1=1 п= 1 тт N при ограничениях = 2 II (11.44) /=1 п =I Заметим, что значения om/, т=0, 1, ..., М, и om, т=1, 2, . . ,,М, представляют собой известные величины, участвующие в формули- ровке задачи. Задача ОГП в общем случае невыпуклая и может иметь несколько локальных минимумов. Двойственная задача В работе [29] показано, что для задачи ОГП можно построить двойственную задачу. Для каждого члена целевой функции и левых частей ограничений вводится двойственная переменная 6Mj, т= = 0, 1, . . ., М, t=1, . . ., Тт. Через ^обозначается множитель Лаг- ранжа, соответствующий m-му ограничению. Двойственная задача
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 155 имеет следующий вид: Тт , . „ х о оптимизировать г (6) = 2 П Lm=0 / = 1 V / при ограничениях 2 аоА<= Ь t = I м тт 2 2^A>nAt = 0, n= 1, 2, .... М, /П = 0 /=: 1 Тт = "1= 1, 2..м, 6и<>0, m=’o, 1...М, /=1, ...,Тт, (11.45) (11.46) (Н.47) (11.48) Xm>0, т = 1, М. Как и выше, считается, что Хо^1 и lira (ЕЛу»?»1 = 1 dmt->0 \ 0«t / mt Можно показать, что для любой точки х*, в которой достигается локальный минимум f(x), существует стационарная точка 6* двой- ственной задачи, удовлетворяющая условию /(х*)=г(6*). При известных значениях двойственных переменных 8*mi соответствую- щие значения прямых переменных х*п определяются при помощи следующих соотношений (или соотношений, получающихся из них путем логарифмирования): II (*n)a°nt = W. t = 1.................То, (11.49) п — I Cmt II = п= 1 л'» /—1,2, ...,тт, т=1,2........М. (11.50) Степень сложности задачи ОГП задается выражением Т — (М+1), где Т=^=0Тт. Несмотря на то что приведенные выше соотношения между пере- менными прямой и двойственных задач выполняются в соответст- вующих стационарных точках, как и в случае задачи ГП, они не справедливы для задачи ОГП и значение двойственной целевой функции не является оценкой значения целевой функции прямой задачи. Таким образом, необходимо заменить процедуру максими- зации целевой функции двойственной задачи поиском стационарных точек двойственной задачи [29]. В силу этого обстоятельства не- посредственная максимизация для решения двойственной задачи ОГП непригодна и следует численно находить множители Лагран- жа. Так же как и в случае задачи с позиномами, применение такого подхода требует осторожности, поскольку обращение в нуль двой- ственных переменных приводит к появлению неустойчивости [21].
156 ГЛАВА II Пример 11.11 [30] Рассматривается задача проектирования газопровода (рис. 11.7), который должен обеспечивать перекачку 10 млн. кубических футов природного газа в сутки, приведенных к нормальным условиям на расстояние 600 миль. Компрессорные станции должны распола- гаться на равном расстоянии друг от друга. Переменными модели являются диаметр труб (D дюйм), давления на входе и выходе компрессора (Рг и Р2 фунт/ дюйм2) и расстояние между компрессор- ными станциями (L миль). Оптимальные значения переменных должны обеспечивать минимум затрат на трубопровод, включающих постоянные затраты на оборудование и расходы по эксплуатации компрессорных станций. Предполагается, что параметры модели имеют следующие зна- чения (hp — мощность компрессорных станций): начальная стоимость компрессорной станции=50000+290 (hp) долл., стоимость трубопровода=312 долл./т, стоимость изыскательских работ, аренды земли и инженерных разработок=10 ООО долл, на милю трубопровода, прокладка трубопровода=820 долл, на милю на один дюйм диа- метра труб, оплата труда и стоимость управления на каждой компрессор- ной станции = 1200+1,0 (hp) долл./мес, эксплуатация и обслуживание^,30 (hp) долл./мес, себестоимость топлива=0,34 долл./ миллион норм, фут3, потребление топлива=12 норм. фут3/(ч-л. с.), амортизационные отчисления=15% в год. Постоянные затраты на оборудование трубопровода равны сумме стоимостей труб и компрессорных станций. Для вычисления вели- чины годовых издержек необходимо пропорционально распределить постоянные затраты по годам, используя 15%-ную норму аморти- зационных отчислений. Общие годовые издержки (постоянные+ текущие) можно выразить, используя переменные D, Plt Р2 и L. Затраты на компрессорные станции 1. Стоимость установленных компрессоров: число компрессоров=600/L. __ inn 1Л« .1. v 100 10е Объем перекачиваемого газа=100-106 норм. фут3/сут= 359~= =2,785-10^ моль/сут.
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 157 Мощность каждого компрессора вычисляется при помощи сле- дующей формулы для работы идеального газа при адиабатическом сжатии: № = 1)] (Wn) (11.51) где W — работа в БТЕ/(фунт-моль), г=Рг1Рг, R — универсальная газовая постоянная = 1,987 БТЕ/(фунт-моль-град), 1\ — темпера- тура газа=492°/?, у — отношение теплоемкостей (коэффициент Пуассона)=1,28, л — к. п. д. компрессора=0,75. Из формулы (11.51) получаем, что мощность компрессора опреде- ляется следующим образом: hp= (2,7168-104) [г0 21®—1]. Таким образом, постоянные годовые расходы на компрессорные станции равны 0,15 (600+) [50 000+(290) (2,7168) (104) (г0-218—1)]=(4,5+) <10°+ +7,08+ (108) (+219— 1) долл. 2. Годовые расходы на топливо для всех компрессоров: (0,34/1000) (12) (24) (365) (600+) (2,7168) (Ю4)-(Л219—1)=(5,82+) (108) (/-0,219—1) ДОЛЛ. 3. Годовые расходы на эксплуатацию и обслуживание: (0,30) (2,7168) (104)(+219—1)(12)(600+) = (0,58+)(108) (г0’219—1) долл. 4. Расходы, связанные с трудозатратами: (600+) [1200 (12)+(1,0) (12) (2,7168) (104) (г0-219—1)]=(8,64+) (10в)+ + (1,96+) (108) (+219—1) долл. Постоянные затраты на оборудование трубопровода 5. Стоимость прокладки трубопровода=820 (600) D (0,15) долл.= =73 800 D долл. 6. Расходы на изыскательские работы, аренду земли и инженер- ные разработки 10 000(600)(0,15) долл.=900 000 долл. 7. Стоимость трубопровода. Эта стоимость зависит от веса трубо- провода, задаваемого следующим выражением: Вес (в тоннах на милю)=(л/144) (D+0 /х(5280 фут/миля) X (480 фунт/фут3) X (1 т/2000 фунт)=27,646 (£> + /) /, где t — толщина трубы в дюймах. Толщина трубы определяется по следующей формуле: t=DP1/2(5—0,6 P^DPJZS, где S — прочность на растяжение, равная 25 000 фунт/дюйм2. Та- ким образом, Вес (в тоннах на милю) - 127,646) D® (1 —+7J (даяя) ж »(21,848)о,[«йя) •
158 ГЛАВА 11 Годовые затраты на трубы — (0,15) (600) (315) (27,646)-£>2Рj/50 ООО = = 15,68£>2Pt долл. Выражение для общих годовых затрат на трубопровод С (D, Plt L, г,), включая расходы по эксплуатации компрессорных стан- ций, получается путем суммирования выражений (1)—(7) для от- дельных статей расходов. Таким образом, С (D, Plt L, r) = 15,68£>2P1 + 9 105 + 7,38 104£> + + l^ + l^(/-o.-_1). (Ц.52) Единственное ограничение, которому должны удовлетворять переменные, задается следующим соотношением, учитывающим пере- пад давлений в трубопроводе: Q= 3,39 ]1/2, (11.53) где Q — объем газа в норм, фут 3, перекачиваемого в час; f — ко- эффициент трения=0,008 £>_|/3. Сформулированная оптимизационная задача имеет четыре пе- ременные и одно ограничение в виде равенства (11.53). При помощи формулы (11.53) можно уменьшить размерность задачи. Поскольку производительность трубопровода должна равняться 100-10е фут3/ сут (4,17 -10е норм. фут3/ч), можно переписать формулу (11.53) в сле- дующем виде: Подставляя выражение (11.54) в формулу (11.52) для величины зат- рат, получаем С (D, L, г) = 17,22- 103£1/2Г£)-2/з (r«_ 1)i/2 4.9. ю? 4- 7,38-10*£> + 4-(13,14/Е) • 10е+ (15,44/L). 108 (г0’219 — 1). Полагая Xi=L, x2=r, x3=D и отбрасывая свободный член, можно переписать целевую функцию в следующем виде: минимизировать / (х) = 17,22- 105х1/2х2х3~2/в (х2—1)-1/24-7,38-104х34- +13,14• 10«хг’ 4- 15,44- K^xj"1 (х“'2'1 — 1). (11.55) Очевидно, что переменные х1( х2, х3 должны удовлетворять следую- щим ограничениям: х^О, отношение давлений х2>1, х3>0. Целе- вая функция (11.55) не является сигномиальной, поскольку она со- держит множитель вида (xf—1)-1/2. Однако можно свести сформули- рованную задачу к задаче ОГП путем введения новой переменной х4 и нового ограничения х4сх?—1.
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 159 Таким образом, эквивалентная задача ОГП имеет следующий вид: минимизировать f(x)= 17,22- 105x}/2x2x72/3xJ'24-7,38- 10“х3-|- 4- 15,44- 108х,-1х2’219 — 1530,86- Ю’хр1, при ограничениях х4х2-24-х22 1» -Ч, -Ч> хз. > 0. Получим решение этой задачи ОГП, используя двойственную формулировку (11.45)—(11.48). Двойственная задача „ /Лл Г Г 17,22- 10И6„,Г7,38- 1041в0!Г 15,44- 108]в»з Оптимизировать z (о) = —----------------------------- х Г 1530,86-1081 -6С, [Тир- ГЛЦа.» L 604 J L 611. I ®12 J при ограничениях 6,„ 4- 6о5 4- 603— 6О4 — 1, 0,5601—603 4- 604 = 0, 6O14-O,2196O3 —26и—2612 = 0, —0,6786014-603 = 0, —0,56014-6Ы= 0, X, 6Ы—612 — о, 6/7>0, Х,>0. Заметим, что в двойственной задаче Т=6 членов и М=4 пере- менных. Степень сложности равна Т—(7V4-1) = 1. Таким образом, двойственная задача представляет собой задачу оптимизации. По- скольку прямая задача сигномиальная, двойственная задача может быть невыпуклой и обладать несколькими стационарными точками. Можно проверить, что оптимуму прямой задачи соответствует сле- дующая стационарная точка двойственной задачи: 6;, =0,4552, 6О2 = 0,3094, 60’3 = 5,152, 6^ = 4,92, 6;, = 0,2276, б;2 = 0,7519, х; = 0,9795, z (ау*) = 591,6-104 = f (х*). При помощи формул (11.49) и (11.50) легко вычислить оптимальные значения переменных: £>=24,8 дюйм, £=52,6 миль, г= 1,87, Р,= = 284 фунт/дюйм2. Ежегодные расходы на трубопровод при этом сос- тавляют С(£>*, £*, г*)=6,816 млн. долл. Эквивалентные формулировки задачи ОГП. Кроме прямой и двойственной форм, для задачи ОГП существует ряд других экви- валентных формулировок. Запись сигномиальной функции в виде разности двух позиномов L И = рт (M—Qmix), где Pm(x) = S /€М+ П=1 N /е М ~ п- I
160 ГЛАВА 11 а М+ (М~) — множество сигномов с положительными (отрицатель- ными) значениями сигнум-функции omt, позволяет получить обла- дающую ясной структурой, хотя и не всегда удобную в вычисли- тельном отношении форму прямой задачи ОГП [формулы (11.42)— 11.44)]. В работе [31] показано, что при помощи указанного приема за- дачу ОГП можно записать в следующем дробно-геометрическом виде: минимизировать хл при ограничениях qm (х) с 1, т=1, . . ., М +1, х0, х>0, где функция qm(x) представляет собой отношение двух позиномов следующего вида: Ят № = Рт (x)/Qm (х) +1, т = 1, .. •, М, <7M+i = ^oW/(^o+QoU))- Заметим, что переменная х0 вводится только для замены сигномиаль- ной целевой функции эквивалентным ограничением. В работе [32] показано, что к задаче ОГП можно свести любую алгебраическую задачу НЛП с целевой функцией и левыми частями ограничений, полученными путем применения к переменным опера- ций сложения, вычитания и возведения в действительные степени. Такое преобразование основано на введении новых переменных и соответствующих ограничений, при помощи которых все рассматри- ваемые функции представляются в виде суммы или разности одно- членов. Кроме того, в работе [32] показано, что, поскольку каждая сигномиальная функция записывается в виде разности двух пози- номов, любое ограничение с сигномиальной левой частью эквива- лентно системе из двух позиномиальных ограничений, одно из ко- торых имеет вид «больше или равно». Точнее введение искусственной переменной ут позволяет переписать ограничение рт — QmWCl в виде ^WC^d+Q^U), или УтРп (X) С 1. (1 + 0.т (X)) у,;1 > 1. Таким образом, вводя новые переменные и ограничения, можно привести задачу ОГП к виду задачи ГП с ограничениями в виде неравенств разных знаков. Последняя представляет собой задачу с позиномиальными левыми частями ограничений, некоторые из которых типа «меньше или равно» (нормальные ограничения), а остальные имеют вид «больше или равно». Таким образом, задачу ГП с ограничениями в виде неравенств разных знаков можно записать в следующем виде: минимизировать ha(x) при ограничениях /ift(x)d, k=\...К, 7ift(x)^l, А=/<4-1..L, х>0,
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ [61 где все hk(x) при й=0,1, . . L представляют собой позиномиаль- ные функции. Экспоненциальная прямая форма задачи ОГП Любой сигном, подобно позиному, путем замены переменных х„=ехр(г„) представляется в виде суммы экспонент. Действительно, после ука- занной замены сигном тт N fm (*) = 2 П /= 1 лда 1 принимает следующий вид: fm (?) = 2 exp (2аил(г„) t п где на знак переменных гп не наложено ограничений (тогда как исходные переменные хп предполагаются положительными). В слу- чае задачи с позиномами экспоненциальные функции указанного вида выпуклые и использование выпуклой формы прямой задачи ГП дает при вычислениях большие преимущества по сравнению с непосредственным решением прямой задачи [26]. В случае задачи с сигномами экспоненциальные функции, получаемые в резуль- тате замены переменных, невыпуклые и упомянутые преимущества могут теряться. Однако применение этого преобразования к задаче ГП с ограничениями в виде неравенств разных знаков позволяет свести ее к задаче с выпуклыми функциями ^(х) = 2сл(ехр^2«лл^„) , допустимая область которой представляет собой пересечение вы- пуклого множества, задаваемого условиями /ik(z)cl, £=1, . . ., К, и дополнения выпуклого множества, задаваемого условиями М?)>, ......L. Таким образом, при записи прямой задачи с ограничениями в виде неравенств разных знаков в экспоненциальной форме проясняет- ся структура задачи ОГП и вскрываются причины ее возможной многоэкстремальности. Подходы к решению задач ОГП. Для решения обобщенных за- дач ГП предложено два типа методов: последовательные методы, использующие ряд аппроксимирующих задач, и методы непосред- ственного решения задач ОГП в одном из эквивалентных видов. Имеются некоторые свидетельства преимущества последователь- ных методов по сравнению с методами непосредственного решения. 6 № 1865
162 ГЛАВА II Последовательная минимизация Из рассмотрения прямой задачи ОГП в дробно-геометрическом виде и в форме задачи ГП с ограничениями в виде неравенств разных знаков вытекает, что при замене знаменателей левых частей ограни- чений и левых частей ограничений противоположного знака соот- ветственно аппроксимирующими их позиномиальными членами задача принимает вид «прототипа» задачи ГП. Такую аппроксимацию удается получить при помощи метода конденсации, предложенного в работах [31, 33]. Пусть Р(х) = ££=1 ut(x) — позином, {о^}, <=1, 2, . . ., Т,— нормированный набор неотрицательных величин.Тогда из неравенст- ва между средним арифметическим и средним геометрическим сле- дует, что P(x) = £«t(x)> П^)“^Р(х,а). (11.56) t t Таким образом, содержащий несколько членов позином Р(х) ап- проксимируется одночленным позиномом Р(х, а). На основании это- го в работе [31] предлагается заменять ограничение задачи ОГП в дробно-геометрнческой форме <7m(x) = ^W/[Qm(x)+lUl следующим приближенным неравенством: ~qm (*)=Pm (*) [Q(x, а)]-1< 1. Аналогично в работе [33] предлагается заменять ограничение про- тивоположного знака hk(x)>l позиномиальным приближением (х, а)]-1^ 1. Заметим, что, поскольку неравенство (11.56) обращается в ра- венство тогда и только тогда, когда at=ut/2ut, на k-м шаге в обоих рассматриваемых вариантах задачи ОГП можно выбрать в качестве at величины а* = и^х^'^/Р (x{k~v), где — решение аппроксимирующей задачи на (k—1)-м шаге. Процесс построения и решения аппроксимирующих задач продол- жается до тех пор, пока разности а)*’ —а)*-1’ не станут достаточно малыми для всех I. Можно показать [31], что 1) любая допустимая точка аппроксимирующей задачи представ- ляет собой допустимую точку исходной задачи ОГП; 2) при достаточно слабых предположениях последовательность решений аппроксимирующих задач сходится к локальному миниму- му задачи ОГП.
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 163 При использовании процедур аппроксимации решение любого из двух вариантов задачи ОГП сводится к решению ряда задач ГП; при этом не уточняется, какую из эквивалентных формулировок задачи ГП и какой алгоритм следует использовать при решении. В принципе в сочетании с указанными процедурами можно приме- нять любой метод решения задачи ГП, например метод непосредст- венного решения аппроксимирующей прямой задачи. Методы непосредственного решения Эти методы можно разделить на две группы: методы непосредст- венного решения задач ОГП в прямой форме (исходной, экспонен- циальной, дробно-геометрической с ограничениями в виде нера- венств разных знаков) и методы отыскания (при помощи метода Ньютона — Рафсона) точек, удовлетворяющих условиям Куна — Таккера, соответствующим одной из форм задачи ОГП. К сожале- нию, общедоступное математическое обеспечение, позволяющее на- ходить глобальный минимум при решении задачи ОГП, пока не раз- работано. В работе [15] подробно рассмотрены различные подходы к реше- нию задачи ОГП. В работе [29] имеется обширная библиография по обобщенному геометрическому программированию. Результаты вычислительных экспериментов с методами обоб- щенного геометрического программирования. Недавно в дополне- ние к работе [26], посвященной «прототипу задачи ГП», были про- ведены вычислительные эксперименты по решению задач ОГП [34, 35]. При этом для решения задач ОГП в четырех формулировках использовались пять машинных программ: четыре специализиро- ванные программы для решения задач геометрического программи- рования — GGP [22], GPKTC [23], QUADGP [25], DAP [36], а так- же машинная программа общих задач НЛП, основанная на методе обобщенного приведенного градиента [27]. Всего было решено 25 тестовых задач, часть из которых построе- на специальным образом, а остальные носили практический ха- рактер. Все серии тестов состояли из решения каждой тестовой задачи, исходя из некоторой случайно взятой начальной точки, чис- ло рассматриваемых начальных точек не превышало 20. На основа- нии статистических испытаний было показано, что предпочтение следует отдавать подходу, связанному с использованием дробно- геометрического представления сигномиальных функций, приб- лижения знаменателя по методу конденсации Даффина и реше- ния последовательных подзадач, представленных в выпуклой форме задачи ГП. Программа GGP, основанная на этом подходе, оказалась наиболее эффективной. Следующим по эффективности является метод непосредственного решения прямой задачи ОГП в экспонен- циальной форме при помощи алгоритма ОПГ. Таким образом, на- иболее эффективным в вычислительном отношении является исполь- зование метода конденсации и дробно-геометрического представле-
164 ГЛАВА 11 ния сигномиальных функций. Как и при исследовании задач ГП, анализ показал, что между числом переменных прямой задачи и числом ограничений, содержащих несколько членов, существует сильная экспоненциальная связь. Время решения сильно зависит от числа отрицательных членов или ограничений разных знаков. Оказалось, что число ограничений, содержащих несколько членов, влияет на время решения сильнее, чем число сигномиальных огра- ничений. В работах [21, 37] можно найти описание других исследований вычислительных аспектов алгоритмов ОГП. 11.4.3. Технические приложения методов ГП В заключение следует упомянуть об успешном применении методов ГП для решения ряда задач практического характера. Среди задач, решенных при помощи методов ГП, можно назвать задачи проектирования газопроводных компрессорных систем и заводов по переработке промышленных отходов, оптимизации про- цессов алкилирования, планирования капиталовложений в техно- логии с периодическим циклом управления запасами, оптимально- го проектирования сосудов высокого давления и сварных конструк- ций. Исчерпывающее описание различных применений ГП в инже- нерных расчетах содержится в книге [15, гл. 4, 11]. Ряд практи- ческих применений геометрического программирования рассматри- вается также в работе [38]. 11.5. Заключение В этой главе изучены оптимизационные задачи со специальной структурой и изложен ряд алгоритмов их решения. Рассмотрение начинается с задач целочисленного программирования, для которых некоторые (возможно, все) переменные должны принимать целочис- ленные значения. Изложен метод ветвей и границ, применимый для решения задач линейного целочисленного программирования (за- дач с линейными ограничениями и линейной целевой функцией). При использовании этого метода последовательно решаются зада- чи ЛП, получаемые из исходной задачи ЦЛП при отбрасывании ус- ловий целочисленности и добавлении дополнительных ограниче- ний. Далее рассмотрены задачи с квадратичной целевой функцией и линейными ограничениями. Эти задачи, называемые задачами квадратичного программирования (КП), можно решать как задачи о дополнительности при помощи метода Лемке. Соответствующая задаче КП задача о дополнительности представляет собой совокуп- ность условий оптимальности Куна—Таккера. Алгоритм Лемке — итеративная процедура отыскания решения, удовлетворяющего условиям Куна — Таккера.
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 165 В заключение описан важный класс оптимизационных задач, называемых задачами геометрического программирования. Он вклю- чает задачи, целевая функция которых представляется в виде суммы обобщенных полиномиальных функций, а переменные должны при- нимать положительные значения. Показано, что эффективным спо- собом решения задач ГП является приведение их к виду эквивалент- ной выпуклой задачи НЛП. Алгоритм обобщенного приведенного градиента позволяет эффективно решать получаемые таким образом задачи. Контрольные вопросы и задачи 11.1. Объясните, при выполнении каких условий округление не- прерывных решений является хорошим способом получения целочисленного решения. Приведите несколько примеров, когда этот способ неприемлем и объясните почему. 11.2. Объясните значения понятий «ветвление» и «ограничение», используемых при описании метода ветвей и границ. 11.3. Что такое заблокированная вершина? При выполнении каких условий в методе ветвей и границ вершина объявляется за- блокированной? 11.4. Предположим, что в задаче ЦЛП переменная может при- нимать значения только из определенного дискретного мно- жества. Опишите необходимую в этом случае модификацию метода ветвей и частиц. 11.5. При каких предположениях условия Куна — Таккера явля- ются (а) необходимыми, (б) достаточными для существова- ния оптимального решения задачи КП? 11.6. Приведите условия, при которых задача о дополнительности всегда имеет решение при любом q. 11.7. Всегда ли алгоритм Лемке гарантирует получение оптималь- ного решения задачи КП? Почему? 11.8. Что такое «лучевое решение» и какова его роль в методе реше- ния задач о дополнительности? 11.9. Какова разница между понятиями «позином» и «полином» (многочлен)? 11.10. Что такое «прототип» задачи ГП»? В чем заключается общий эффективный подход к решению «основной задачи ГП»? 11.11. Что такое обобщенная задача ГП? Каковы различные под- ходы к решению задач ОГП? Какой из них вы рекомендуете и почему? 11.12. Фирма может размещать свои склады на четырех участках. Затраты при размещении склада на участке i составляют К долларов. Имеются девять принадлежащих фирме различ- ных торговых точек, каждая из которых должна снабжаться хотя бы с одного склада. Схема возможных путей снабжения точек со складов приведена на рис. 11.8. Задача состоит в
166 ГЛАВА 11 размещении складов с минимальными затратами. Сформули- руйте соответствующую задачу ЦЛП. Рис. 11.8. 11.13. Фирма производит три вида продукции А, В и С. Для про- изводства единицы продукции вида А требуются 1 ч работы ИТР, 10 ч труда рабочих и 3 фунт сырья. Для производства единицы продукции вида В необходимы 2 ч работы ИТР, 4 ч труда рабочих и 2 фунт сырья. Соответствующие показа- тели по продукции вида С составляют 1 ч, 5 ч и 1 фунт сырья. Имеется возможность использования 100 ч труда ИТР, 700 ч труда рабочих и 400 фунт сырья. Как видно из следующей таблицы производственные затраты представляют собой нелинейную функцию произведенного количества про- дукции. Сформулируйте частично-целочисленную задачу для определения схемы производства с минимальными затрата- ми. Продукция вида А Продукция вида В Продукция вида С объем производства удельные затраты, долл. объем производства удельные затраты, долл. объем производства удельные затраты, долл. 0—40 10 0—50 6 0—100 5 40—100 9 50—100 4 свыше 100 4 100—150 8 свыше 100 3 свыше 150 7 11.14. Объясните, каким образом можно представить следующие условия в виде системы линейных неравенств с булевыми (0—1) переменными: (а) Выполняется неравенство х,+х2^2 или 2х14~3х2^;8. (б) Переменная х3 может принимать только значения из мно- жества {0, 5, 9, 12). (в) Если х4^4, то х6^6. В противном случае х6^3. г) Выполняются по крайней мере два из следующих четырех неравенств: xe-|-Xi^2, xe^l, х,^5, xe+xj^3.
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ ]67 11.15. Преобразуйте к эквивалентной задаче ЦЛП следующую за- дачу нелинейного целочисленного программирования: минимизировать Z=x,—х^ + х^ при ограничениях х, Н-х^.^ 8, хг 2, х2^7—целочисленные переменные. (Указание: замените Xj на 2°61+2162, х2— на 2°63 + 2164+ +2265, где 6гС {0; 1}, i = l, 2, . . 5.) 11.16. При помощи метода ветвей и границ решите следующую полностью целочисленную задачу: максимизировать Z=2lx1-(-llx2 при ограничениях 7х1-|-4х2-)-х3 = 13, х4, х2, х3—неотрицательные целочисленные пере- менные. 11.17. При помощи метода ветвей и границ решите следующую за- дачу ЦЛП: минимизировать Z=\0x1-(-9x2 при ограничениях х4 8, х2^ 10, 5х, + Зх2 45, x'i^O, х2^0, х2—целочисленная переменная. 11.18. Исследователь производит наблюдения некоторой величины Q, интересуясь ее зависимостью от переменной t. У него есть основания полагать, что физический закон, выражающий зависимость Q от t, имеет следующий вид: Q(t)=a sin t+b tg t+c. (11.57) Он хочет определить по результатам п проведенных экспе- риментов «наилучшие» значения а, Ь, с. Учитывая неточ- ность экспериментальных данных и возможность, что соот- ношение (11.57) выполняется лишь приближенно, нет ос- нований полагать, что можно подобрать значения а, Ь, с, полностью согласующиеся с экспериментальными данными. Поэтому рассматриваются ошибки наблюдений ei=Q— Q(t,) и два возможных критерия согласования закона с экспери- ментальными данными: (1) Первый критерия состоит в требовании минимиза- ции Z,= 2 |ej. (2) Второй критерий связан с минимизацией z2= 24 1= 1
168 ГЛАВА 11 Затем исследователь обнаруживает, что коэффициенты а, Ь, с должны быть по физическим соображениям неотрицатель- ны. Опять производится минимизация следующих функций с учетом условий неотрицательности переменных: (3) z3=2kl, i S I s eb i =i Покажите, приведя подробные обоснования, что для опре- деления коэффициентов а, Ь, с необходимо решить следующие задачи. (а) В случае (1) — задачу ЛП. (б) В случае (2) — систему линейных уравнений. (Указа- ние: покажите сначала, что в случае (2) задача сводится к безусловной минимизации выпуклой функции.) (в) В случае (3) — задачу ЛП. (г) В случае (4) — задачу вида <о=Л4г+7, w^0, г^О, <отг= = 0 Найдите М, г, q, w для данного случая. (Указание: покажите, что в данном случае задача сводится к задаче КП.) Примечание. Необходимые для решения задачи данные — число переменных, число ограничений и т. д.— можете за- дать произвольно. 11.19. Фирма-монополист, производящая четыре вида продукции, полагает, что связь между стоимостью и спросом на эти виды продукции имеет следующий вид: Продукция 1: %!= —1,5143 р^4-2671. Продукция 2: х2= —0,0203 р24~135. Продукция 3: х3= —0,0136 р34~0,0015 р4-Н03. Продукция 4: х4=0,0016 р3—0,0027 19, где X) и pj — неизвестные величины спроса и стоимости про- дукции вида /'. Максимизируется функция Затраты на производство постоянны и их можно не рассматривать. При помощи соотношений между стоимостью и спросом мож- но переписать целевую функцию в виде квадратичной функ- ции набора переменных {%>} или {р}}. При производстве используются два вида сырья, которым соответствуют сле- дующие ограничения на ресурсы: 0,026%! 4- 0,8х24-0,306х34-0,245х4^ 121, 0,086%,4-0,02х24-0,297л:34-0,371х4С250, лх, %2, ла, %4^0, Pj, р2, ps, р^б.
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 169 Сформулируйте и решите задачу КП для определения оп- тимальных объемов производства продукции по критерию максимизации общего дохода SpjXj. 11.20. (а) Запишите систему условий Куна — Таккера, эквива- лентную следующей задаче КП: МИНИМИЗИрОВаТЬ Z = *i—Х2+х|+х2—XjX2 при ограничениях Xi+x2=l, Xi^O, х2^0. (б) Проверьте при помощи системы условий, полученной в п. (а), является ли точка х1= 1/6, х2=5/6 оптимальным решением рассматриваемой задачи. 11.21. На рис. 11.9 представлена электрическая цепь, на вход которой подается ток в 10 А. Заданы сопротивления всех дуг цепи; требуется определить равновесное распреде- ление токов, минимизирующее общие потери энергии в цепи, (а) Сформулируйте задачу в виде задачи КП. (б) Запишите условия Куна — Таккера.
170 ГЛАВА 11 (в) Используя условия Куна — Таккера и обстоятельство, что оптимальные значения токов в цепи положительные, определите равновесное распределение токов в цепи. 11.22. Рассмотрите выпуклую область, представленную на рис. 11 .10, где Ри Р2, Р3 и Р4— вершины выпуклой области. Пусть Ро= (—2; —1) — некоторая точка. Задача состоит в оп- ределении точки выпуклой области, «ближайшей» к точке Ро. (а) Сформулируйте эту задачу в виде задачи КП. (Указание: любая точка х в выпуклой области представляет собой выпуклую комбинацию ее вершин Р^ Р2, Р3, Pt-, необ- ходимо минимизировать целевую функцию )|х—Poll2.) (б ) Решите сформулированную задачу при помощи метода решения задач о дополнительности. 11.23. (а) Докажите, что следующая матрица является положи- тельно полуопределенной: где Q — положительно полуопределенная матрица, А — произвольная матрица. (б) Что можно сказать о матрице М, если Q — положитель- но определена? 11.24. При помощи метода решения задач о дополнительности ре- шите следующую задачу КП: минимизировать Z = — х4 — 2х2 ф- */2х? -ф г/гх% при ограничениях х1 + х2;С4, х4, х2^0. Объясните, почему применение этого алгоритма гаранти- рует отыскание решения рассматриваемой задачи. 11.25. Решите при помощи алгоритма Лемке следующую задачу о дополнительности: /1 2 3\ / 2 \ М = I 4 5 6 ), q = [ —5 j. \6 7 8/ \—3 / 11.26. Сформулируйте задачи о дополнительности для следующих ЛП. (В обоих случаях укажите точный вид М, q, w и г.) (а) Максимизировать Z=2x1-(-3x2-]-x3 при ограничениях хг—х2+х3 = 2, х4, х2, х3^0. (б) Минимизировать Z=2xl—Зх2-|-6х3 при ограничениях Зх4—4х2—6х3^2, 2х(+х2Н-2х3^ 11, х,4-Зх3—2х3^5, М- Ми
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 171 11.27. Докажите или опровергните, что следующая задача о до- полнительности u>=Mz+<7, w, z^O, wT z=0, где /2 1 0\ M = [ 1 1 0 ), \0 0 1/ имеет решение при любом q. (Дайте ссылки на использован- ные вами теоремы и результаты.) 11.28. Решите при помощи двойственных переменных следующую задачу ГП: минимизировать f(x) = (х1х2)_1-|-хр2-- х2/4, х,, х2 > 0. 11.29. Решите следующие задачи ГП с позиномами. (а) Минимизировать f (х) = \1хгхгх3 при ограничениях 2xt -f- х2 + Зх3<1 1, Xi, х2, х3 0. (б) Минимизировать / (х) = 5xfx^1x3+lOxf^x^x?2 при ограничениях ОДбУхГ’Хд + О.бгбх^'х^1 1, Xi, х2, х3 > 0. 11.30. Решите при помощи двойственного метода следующую зада- чу ГП с сигномами: максимизировать f = 5xj—х|х3 при ограничениях —5xfx2 2 + Зх^’х3 2, хп х2, х3 > 0.. 11.31. Рассмотрите задачу проектирования сварных конструкций, обсуждавшуюся в гл. 1. Решите ее как задачу ГП, используя (а) двойственный подход; (б) непосредственный прямой под- ход; (в) подход, основанный на преобразовании прямой за- дачи. Используйте для решения соответствующее матема- тическое обеспечение задач НЛП. 11.32. Рассмотрите задачу «оптимизации многоступенчатого ком- прессора», обсуждавшуюся в гл. 8 (пример 8.1). Решите ее как задачу ГП. Литература 1. Watters L., Reduction of Integer Polynomial Programming Problems to Zero- One Linear Programming Problems, Oper. Res., 15(6), 1171 —1174 (1967). 2. Glover F., Woolsey E., Converting 0—1 Polynomial Programming Problem to a 0—1 Linear Program, Oper. Res., 22, 180—182 (1974).. 3. Phillips D. T„ Ravindran A., Solberg J. J., Operations Research Principles and Practice, Wiley, N. Y., 1976.
172 ГЛАВА 11 4. Plane D. R., McMillandC., Jr., Discrete Optimization, Prentice-Hall, Engle- wood Cliffs, NJ, 1971. 5. IBM General Information Manual, An Introduction to Modeling Using Mixed Integer Programming, Amsterdam, 1972. 6. Gupta, Omprakash K-, Ravindran A., Nonlinear Integer Programming and Discrete Optimization, in: Progress in Engineering Optimization (R W. Mayne and К. M. Ragsdell, Eds.), ASME, N. Y., 1981, pp. 27—32. 7. McCarl B. A., Moskowitz H., Furtan H., Quadratic Programming Applications, Omega, 5(11), 43—55 (1977). 8. Wolfe P., The Simplex Method of Quadratic Programming, Econometrica, 27, 382—398 (1959). 9. Lemke С. E., Bimatrix Equilibrium Points and Mathematical Programming, Manage. Sci., 11, 681—689 (1965). 10. Ravindran A., Lee H., Computer Experiments on Quadratic Programming Algo- rithms, Eur. J. Oper. Res., 8(2), 166—174 (1981). 11. Cottle R. W., DantzigG. B., Complementary Pivot Theory and Mathematical Programming, J. Linear Algebra Appl., 1, 105—125 (1968). 12. Ravindran A., A Computer Routine for Quadratic and Linear Programming Problems, Commun. ACM, 15(9), 818—820 (1972). 13. Ravindran A., A Comparison of Primal Simplex and Complementary Pivot Methods for Linear Programming, Naval Res. Legist. Quart., 20(1), 95—100 (1973). 14. Ravindran A., Computational Aspects of Lemke’s Algorithm Applied to Linear Programms, OPSEARCE, 7(4), 241—262 (1970). 15. Beightler C. S., Phillips D. T., Applied Geometric Programming, Wiley, N. Y., 1976. 16. Duffin R. J., Peterson E. L., Zener C., Geometric Programming, Wiley, N. Y., 1967. 17. Philipson R. M., Ravindran A., Application of Mathematical Programming to Metal Cutting, Math. Programming Study, 19, 116—134 (1979). 18. Armarego E. J. A., Brown R. M., The Machining of Metals, Prentice-Flail, Englewood Cliffs, NJ, 1969. 19. Phillips D. T., Beightler C. S., Optimization in Tool Engineering Using Geo- metric Programming, Amer. Inst. Ind. Engs. Trans., 2, 335—360 (1970). 20. Dembo R. S., Dual to Primal Conversion in Geometric Programming, J. Optimi- zation Theory Appl., 26, 355—360 (1978). 21. Dembo R. S., The Current State of the Art of Algorithms and Computer Software for Geometric Programming, J. Optimization Theory App., 26, 149—183 (1978). 22. Dembo R. S., GGP: A Computer Program for the Solution of Generalized Geo- metric Programming Problems, McMaster University, Hamilton, Ontario, Ca- nada, Users Manual, 1975. 23. Rijckaert M. J., Martens X.M., GPK.TC: A Generalized Geometric Program- ming Code, Rep. CE-RM-7601, Katholieke Universiteit, Leuven, Belgium, 1976. 24 Beck P. A., Ecker J. G., A Modified Concave Simplex Algorithm for Geometric Programming, J. Optimization Theory Appl., 15 184—202 (1975). 25. Bradley J., The Development of Polynomial Programming Algoritms with App- lications, Ph. D. thesis, Dept. Computer Sci., Dublin University, Sept., 1975. 26. Fattier J. E., Sin Y. T., Root R. R., Ragsdell К. M., Reklaitis G V., On the Computational Utility of Posynomial Geometric Programming Solution Methods, Math. Prog., 22, 163 (1982). 27. Gabriele G. A., Ragsdell К. M., OPT: A Nonlinear Programming Code in FORTRAN IV, The Modern Design Series, 1, Purdue Research Foundation, West Lafayette, 1976. 28. Passy U., Wilde D. J., Generalized Polynomial Optimization, SIAM J. Appl. Math., 15, 1344-1356 (1967). 29. Rijckaert M. J., Bibliographical Note on Geometric Programming, J. Optimiza- tion Theory Appl-, 26, 325—337 (1978). 30. Sherwood T. K.., A Course in Process Design, MIT Press, Cambridge MA, 1963.
ЗАДАЧИ СПЕЦИАЛЬНОЙ СТРУКТУРЫ И МЕТОДЫ ИХ РЕШЕНИЯ 173 31. Avriel М., Williams А. С., Complementary Geometric Programming, S/AM J. Appl. Math, 19, 125—141 (1970). 32. Duffin R. J., Peterson E. L., Geometric Programming with Signomials, J. Op- timization Theory Appl., 11, 3—35 (1973). 33. Duffin R. J., Linearizing Geometric Programs, SIAM Rev., 12, 211—217 (1970). 34. Sin Y. T., Reklaitis G. V., On the Computational Utility of Generalized Geo- metric Programming Solution Methods: Part 1 — Review of Test Procedure De- sign, Progress in Engineering Optimization — 1981 (R. W. Mayne, К. M. Rags- dell, Eds.), ASME, N. Y., Sept. 1981, pp. 7—14. 35. Sin Y. T., Reklaitis G. V., Part 11—Results and Interpretations, in: Progress in Engineering Optimization—1981 (R. W Mayne, К. M. Ragsdell, Eds.), ASME, N. Y„ Sept. 1981, pp. 15—26. 36 Reklaitis G. V , Wilde D. J., Geometric Programming Via a Primal Auxiliary Problem, AIIE Trans., 6, 308—317 (1974). 37 Sarma P. V. L. N., Martens X M., Reklaitis G. V., Rijckaert M. J., A Com- parison of Computational Strategies for Geometric Programs, J. Optimization Theory Appl., 26, 185—204 (1978). 38 Rijckaert M. J., Engineering Applications of Geometric Programming, in: Optimization and Design (M. Avriel, M. J. Rijckaert, D. J. Wilde, Eds.), Prentice-Hall, Englewood Cliffs, NJ, 1974.
Глава 12 Сравнение методов условной оптимизации При отборе методов, рассматриваемых в этой главе, авторы руко- водствовались двумя основными принципами. Во-первых, выбира- лись методы, имеющие принципиальное значение (либо способные служить средством для иллюстрации некоторых фундаментальных идей), такие, как градиентные методы. Во-вторых, включались мето- ды, являющиеся важными, по мнению авторов, в условиях примене- ния современной вычислительной техники. В процессе обсуждения указанных методов отмечаются преимущества и недостатки. Разу- меется, практически невозможно добиться полноты такого описа- ния; авторы не рассматривают вопросы скорости и области сходи- мости. Глава представляет собой обзор важнейших исследований по сравнительной оценке методов (алгоритмов) условной оптимизации, которые проведены до настоящего времени. Приводятся результаты некоторых экспериментов. Понятие «эксперимент» играет в данном случае существенную роль, так как из всего, что сейчас известно о результатах применения рассматриваемых методов к «реальным» задачам, лишь ничтожно малая доля получена из чисто теорети- ческих соображений. В конце главы приводится список программ вместе с опубликованной информацией о разработчиках. 12.1. Принципы сравнения При любом сравнении важно выбрать оценки сравниваемых объектов. Даже при качественном сравнении необходимо сформу- лировать количественные критерии, которые можно положить в основу сравнения. Если в литературе сообщается о новом алгорит- ме или приводится его анализ, то всегда указываются такие показа- тели, как количество вычислений целевой функции и левых частей ограничений, и реже — время счета. К сожалению, набор тестовых задач, как правило, ограничен, и сравнительные данные по различ- ным алгоритмам их решения приводятся редко. Большая часть данных об алгоритмах, имеющаяся в литературе, относится к коли- чественному определению быстродействия алгоритма или его эф-
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 175 фективности. Анализу способности конкретного алгоритма или машинной программы решать широкий круг задач (проблема ро- бастности) редко уделяется внимание. Вместе с тем большая часть пользователей полагает, что робастность алгоритма и простота его использования важны по крайней мере в такой же степени, как и его эффективность. Важно понять, что сравнение оптимизационных алгоритмов и соответствующего программного обеспечения — это проблема принятия решения в соответствии с несколькими крите- риями, которая имеет как качественный, так и количественный ас- пекты. В обзоре результатов сравнения методов и программ, при- веденном в работе [1], указывается восемь критериев: 1) время ра- боты центрального процессора; 2) точность получаемого решения; 3) число итераций; 4) робастность; 5) количество вычислений функ- ций; 6) удобство пользователя; 7) требования к памяти; 8) число основных операций. Очевидно, что критерии 1, 3, 5 и 8 тесно свя- заны, и именно они являются показателями эффективности. Проанализируем теперь различие между проверкой работы ал- горитма и проверкой работы программы. Результаты, получаемые в обоих случаях, представляют несомненный интерес. Рассмотрим сначала разницу между алгоритмом и его реализацией в виде про- граммы вычислительной машины. Сравнение алгоритмов можно проводить на основе пошагового принципа. Например, можно под- считать число операций (т. е. число вычислений функций и градиен- тов или число сложений, вычитаний, умножений и делений, прихо- дящихся на одну итерацию) или провести другие вычисления, свя- занные с логикой алгоритма и положенные в основу сравнения. Чтобы использовать алгоритмы на практике, нужно перевести их в форму, понятную машине, т. е. написать программу. При пере- воде необходимо учесть ряд таких деталей и решений, которые труд- но, если вообще возможно, описать адекватно на алгоритмическом уровне. Эти факторы наряду со стремлением проследить работу алгоритмов на характерных задачах являются серьезным основа- нием в пользу проведения тестов работы программ. Решение осу- ществлять проверку программ влечет за собой ряд осложняющих моментов, поскольку в эксперименте появляются параметры, за- висящие от машины. Влияние ряда таких параметров описано в работе [2] на основе экспериментальных данных. Автор работы ут- верждает, что «относительная эффективность машинных программ оптимизации существенно зависит от особенностей вычислительной машины и транслятора, используемых для проведения тестов; на- личие такой зависимости, очевидно, не имеет отношения к приня- тому критерию оценки эффективности». Некоторые факторы могут оказывать влияние на относительную эффективность работы машин- ных программ даже тогда, когда тесты проводятся на одной и той же машине и используется один и тот же транслятор. Например, к чис- лу таких факторов относятся разрядность машины (длина слова), требуемая точность окончательного решения, выбор тестовых за-
176 ГЛАВА 12 дач, критерий (критерии) оценки эффективности. Влияние пере- численных факторов может быть весьма существенным. Трудности, связанные с проведением тестов, следует иметь в виду при попытке сопоставить эффективность алгоритмов с эффектив- ностью их программных реализаций; это особенно важно, когда используются экспериментальные данные, полученные из внешних источников. С другой стороны, пока что уровень развития методо- логии решения прикладных задач оптимизации таков, что лучше использовать даже несовершенные эмпирические данные при выбо- ре той или иной программы, чем вообще ничего. С учетом этого в настоящей главе приводится обзор ряда новейших экспериментов, результаты которых могут оказаться полезными при согласовании характеристик машинной программы с особенностями рассматри- ваемой задачи, и тем самым помочь при выборе программ для прак- тических приложений. 12.2. Краткая история сравнительных экспериментов С момента, когда началось широкое распространение цифровых вычислительных машин (примерно с 1960 г. в США), наблюдается рост числа публикаций о «новых» алгоритмах. В этих публикациях часто содержатся сведения о превосходстве нового алгоритма над уже известными. Кроме того, в некоторых обзорных статьях (см., например, работы [3—6]) предпринята попытка сравнения методов (алгоритмов) как в пределах одного класса, так и между классами. Для этих обзоров характерно упоминание об относительно малом числе тестовых задач и методов. Ситуация резко изменилась с по- явлением работы Колвила [7] в 1968 г. Колвил разослал разработ- Таблица 12.1. Набор задач Колвила а* Номер Автор и/или источник N J к NC NB 1 Шелл 5 10 0 10 5 2 Шелл 15 5 0 5 10 3 Миландер/Research Analysis Corp. 5 6 0 6 10 4 Вуд/Westinghouse 4 0 0 0 8 5 Эфроимсон/Esso 6 4 0 4 0 6 . Хьюард/Electricite de France 6 0 4 4 12 7 Готье/IBM France 16 0 8 8 32 8 Колвил/IBM 3 14 0 14 6 а) Л/ —число переменных, J —число ограничений в виде неравенств, К— ЧИСЛО ограни- чеиий в виде равенств, NC —общее число ограничений инн изменения переменных. (NC = J + K). NB — общее число гра-
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 177 чикам тридцати программ восемь задач, содержащих от 3 до 16 пе- ременных и от 0 до 14 ограничений, и некоторую стандартную про- грамму. Всем разработчикам предлагалось представить данные о «наиболее удачной» программе решения каждой из задач, а также указать время, которое потребовалось для реализации стандартной программы на соответствующей ЭВМ. Общие характеристики задач Колвила приведены в табл. 12.1. Следует отметить, что только в двух задачах имеются ограничения в виде равенств, а в одной за- даче вообще нет ограничений. Указанные выше 30 программ, использовавшиеся при проведе- нии тестов, весьма полно отражали общее состояние алгоритмов, существовавших в то время. Колвил разбил программы на пять категорий в соответствии со следующими классами методов: 1) мето- ды поиска; 2) градиентные с малым шагом; 3) градиентные с большим шагом; 4) методы с вычислением вторых производных; 5) методы смешанного типа. В наборе программ четыре реализуют метод ОПГ, в других программах используются методы, основанные на идее последовательного решения задач ЛП, изложенной в работе 18), несколько методов штрафных функций с разнообразными процеду- рами безусловной минимизации (включая SUMT из работы [9]), а также несколько методов направленного поиска, например метод комплексного типа, изложенный в работе [3]. Для некоторых про- грамм требуется задание аналитических выражений для градиентов целевой функции и левых частей ограничений, в других использу- ются численные аппроксимации этих градиентов или информация о градиентах вообще. Колвил собрал результаты, обработал их н пришел к выводу, что наиболее робастными и эффективными методами являются гра- диентные с большим шагом. К сожалению, в исследовании Колвила имеется по меньшей мере три недостатка. В работе [101 показано, что процедура хронометрирования Колвила не вполне устраняет влияние, которое оказывают на работу программы выбор трансля- тора и вычислительной машины. Соответственно данные, собран- ные из одного места, не сопоставимы с данными, собранными в дру- гом месте. Кроме того, каждый разработчик имел возможность сде- лать столько попыток решить свою задачу, сколько он считал не- обходимым с точки зрения оптимизации характеристик работы своей программы. Таким образом, другой исследователь (и тем более рядовой пользователь) вряд ли мог надеяться получить сходные результаты по той же программе, если только он не обладал особой интуицией, присущей разработчику. Наконец, и это, возможно, самое главное, не нашлось двух разработчиков, сообщивших о решении задачи с одной и той же точностью. В 1974 г. в работе [11] появилось сообщение об исследовании сравнительного характера, в котором рассматривается 20 программ и 13 задач. Один из авторов работы [11] Изон проводил свои тесты на одной машине и включил в набор тестовых задач задачи Колвила
178 ГЛАВА 12 Таблица /2.2. Набор задач Изона Номер Название и/нлн источник Л' J К NC NB 1 Задача № 1 из набора Колвила 5 10 0 10 5 2 Задача о почтовых посылках 3 2 0 2 6 3 Задача Ns 3 из набора Колвила 5 6 0 6 10 4 Задача № 4 из набора Колвила 4 0 0 0 8 5 Задача Розенброка 2 0 0 0 4 6 Задача Л1» 6 из набора Колвила 6 0 4 4 12 7 Задача об опорном подшипнике/Бейт- 2 1 0 1 4 лер 8 Задача о маховике/Сиддел 3 2 0 2 6 9 Задача о химическом реакторе/Сиддел 3 9 0 9 4 10 Задача о зубчатой передаче/Мишке 2 0 0 0 4 И Конструирование кулачков/Мишке 2 2 0 2 4 12 Синтез механизмов/Изон 4 0 0 0 8 13 Задача о зубчатой передаче/Изон 5 4 0 4 3 и ряд задач из области проектирования механизмов, указанных в табл. 12.2. Кроме того, Изон проводил тесты главным образом для методов типа штрафных функций. Главным достижением работы [11] являются кривые ошибок, подобные приведенным на рис. 12.1. Для каждой программы эти данные получены путем запоминания результатов промежуточных итераций по ходу решения задачи до Рис. 12.1. Кривые ошибок.
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 179 получения окончательного результата. Таким образом, выбирается заданная величина погрешности, используемая как эталон для сравнения после того, как эксперименты завершены. Трудно пере- оценить значение этой идеи, поскольку она позволяет надлежащим образом сравнивать работу программ на всех стадиях от начального приближения до конечного. В сущности Изон устранил основные недостатки эксперимента Колвила. Главным недостатком исследо- вания Изона является отсутствие трудных задач в тестовом наборе и наиболее эффективных современных методов. Имеются сообщения о многих других сравнениях. Однако исследования Колвила и Изона ознаменовали начало научного подхода к сравнению методов нели- нейной оптимизации. 12.3. Исследование Сандгрена В 1977 г. Эрик Сандгрен завершил большое исследование [12, 13] основных современных методов нелинейного программирования (НЛП). Ниже рассматриваются процедура проведения эксперимента и основные результаты соответствующих исследований. Исследование Сандгрена состоит из следующих стадий: 1) подбор программ и задач; 2) сортировка программ по предварительному тестовому набору из 14 задач; 3) апробирование 24 выбранных программ на полном тестовом наборе из 35 задач; 4) исключение тех задач, которые были решены с помощью менее пяти программ; 5) обработка окончательных результатов и сведение их в табли- цы (24 программы, опробованные на 23 задачах); 6) построение кривых полезности для отдельных и комбиниро- ванных алгоритмов. Сандгрен использовал как задачи Колвила и Изона, так и набор задач геометрического программирования (ГП), приведенный в ра- боте [14] (см. табл. 12.3). Эти задачи связаны с предыдущими срав- нительными экспериментами, результаты которых известны и ши- роко используются. Задачи ГП особенно полезны из-за наличия развитой теории ГП, которую можно использовать для того, чтобы охарактеризовать решение. К тому же этот класс задач считается трудным для решения общими методами теории НЛП. Тестовый набор Сандгрена состоит из 13 задач Изона, второй, седьмой и вось- мой задач в исследовании Колвила, восьми задач Дембо, задачи о нагруженной балке и шести приложений в области промышленного проектирования (все задачи пронумерованы в указанном выше порядке). Полное описание этих программ вместе с текстом программ на Фортране имеется в работе [12]. Задачи различаются по размер- ности и структуре: число переменных составляет от 2 до 48; число ограничений — от 0 до 19; число границ изменения переменных
180 ГЛАВА 12 Таблица 12.3. Набор задач Дембо Номер Название и/или источник N J К NC NB 1 а> Задача Гиббса о свободной энергии 12 3 0 3 24 2 Задача № 3 из набора Колвила 5 6 0 6 10 3 Процесс алкилирования/Брекен и 7 14 0 14 14 Мак-Кормик 4 б> Проект реактора/Рийкаерт 8 4 0 4 16 5 Задача о теплообменнике/Эвриел 8 6 0 6 16 6 Задача о разделении мембран/Дембо 13 13 0 13 26 7 Задача о разделении мембран/Дембо 16 19 0 19 32 8 Задача Бека и Экера 7 4 0 4 14 а) Дембо рассматривал немасштабированный и масштабированный варианты ЭТОЙ задачи. б) Дембо рассматривал два варианта этой задачи. задается в диапазоне от 3 до 72. К сожалению, только в шести зада- чах имеются ограничения в виде равенств. Задачи с номерами 1—8, 10—12 и 14—16 (всего 14) использовались в предварительных тес- тах на второй стадии исследования. Задачи с номерами 9, 13, 21, 22 и 28—30 были исключены на стадии 4, поскольку они были решены с помощью лишь нескольких программ. Окончательный тестовый набор на стадии 5 содержал 23 задачи. Программы, опробованные Сандгреном, кратко описаны в табл. 12.4. В испытаниях применялись четыре программы, использующие метод обобщенного приведенного градиента (ОПГ), программа, ис- пользующая метод множителей (ММ), две программы, основанные на обобщениях методов линейного программирования, а также боль- шое количество программ, использующих различные методы штраф- ных функций. BIAS [15J — программа, реализующая метод множи- телей; она разработана Рутом и Рэгсделом. Программы SEEK1, SEEK3, APPROX, SIMPLX, DAVID и MEMGRD [16] были пред- ложены Сидделом. GRGDFP [17] — программа, реализующая метод обобщенного приведенного градиента; она разработана совместно Ла-Франсом, Хамильтоном, Рэгсделом и фирмой Whirlpool. RALP [18] представляет собой программу, в которой реализована модифи- кация метода Гриффита—Стюарта [8], предложенная Шульдтом (фирма Honywell). В программе RALP используется итерационная процедура типа метода Ньютона, обеспечивающая на каждом шаге выполнение ограничений в виде равенств. GRG [19]— программа, разработанная Лэсдоном и его сотрудниками на основе метода ОПГ, ОРТ [20] — также программа метода ОПГ, разработанная Габриэ- лем и Рэгсделом. GREG [21] представляет собой программу метода ОПГ (фактически это первая из программ, доступных широкому
Таблица 12.4. Тестовые программы Сандгрена Номер прог- раммы Название программы Источник Класс Метод безусловной минимизации 1 BIAS Рут и Рэгсдел Метод множителей Метод переменной метрики (метод ДФП) 2 SEEKI Сиддел Метод внутренней точки Метод локальных вариаций с рандо- мнзированной проверкой 3 SEEK3 Сиддел Метод внутренней точки Метод локальных вариаций 4 APPROX Сиддел Метод Гриффита — Стюарта Метод отсутствует 5 SIMPLX Сиддел Метод внутренней точки Метод прямого поиска симплексного типа 6 DAVID Сиддел Метод внутренней точки Метод поиска с запоминанием гради- ентов 8 GRGDFP Уелпул/Пурдью Метод приведенного градиента Метод переменной метрики (метод ДФП) 9 RALP Шульдт/Хонивелл Метод Гриффита — Стюарта Метод отсутствует 10 grg Лэсдон и Уорен Метод приведенного градиента Метод переменной метрики (метод БФШ) 11 OPT Габриэл и Рэгсдел Метод приведенного градиента Метод сопряженных градиентов (метод Флетчера— Ривса) 12 GREG Абади Метод приведенного градиента Метод сопряженных градиентов (метод Флетчера — Ривса) 13 COMPUTE 11 (0) Галф Ойл Метод внешней точки Метод Хука—Дживса 14 COMPUTE II (1) Галф Ойл Метод внешней точки Метод сопряженных градиентов (метод Флетчера— Ривса) 15 COMPUTE II (2) Галф Ойл Метод внешней точки Метод переменной метрики (метод ДФП) 16 COMPUTE II (3) Галф Ойл Метод внешней точки Симплексный поиск/метод локальных вариаций 17 EXPEN (I) Афимивала и Мэйн Метод внешней точки Метод локальных вариаций СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ
Продолжение Номер прог- раммы Название программы Источник Класс Метод безусловной минимизации 18 EXPEN (2) Афимивала и Мэйн Метод внешней точки Метод наискорейшего спуска 19 EXPEN (3) Афимивала и Мэйн Метод внешней точки Метод сопряженных направлений 20 EXPEN (4) Афимивала и Мэйн Метод внешней точки Метод сопряженных градиентов (метод Флетчера—Ривса) 21 EXPEN (5) Афимивала и Мэйн Метод внешней точки Метод переменной метрики (метод ДФП) 22 EXPEN (6) Афимивала и Мэйн Метод внешней точки Метод локальных вариаций 23 IPENAL (1) Афимивала и Мэйн Метод внутренней точки Одномерный поиск 24 1PENAL (2) Афимивала и Мэйн Метод внутренней точки Метод наискорейшего спуска 25 IPENAL (3) Афимивала и Мэйн Метод внутренней точки Метод сопряженных направлений 26 IPENAL (4) Афимивала и Мэйн Метод внутренней точки Метод сопряженных градиентов (метод Флетчера—Р ивса) 27 IPENAL (5) Афимивала и Мэйн Метод внутренней точки Метод переменной метрики (метод ДФП) 28 SUMT IV (1) Миландер Метод внутренней точки Метод Ньютона + 29 SUMT IV (2) Милаидер Метод внутренней точки Метод Ньютона + + 30 SUMT IV (3) Миландер Метод внутренней точки Метод наискорейшего спуска 31 SUMT IV (4) Миландер Метод внутренней точки Метод переменной метрики (метод ДФП) 32 E04HAF (0) Лил и Лутсма Метод штрафных функций сме- Метод сопряженных направлений ГЛАВА 12 тайного типа 33 E04HAF (1) Лил и Лутсма Метод штрафных шанного типа функций сме- Метод переменной БФШ) метрики (метод 34 E04HAF (2) Лнл и Лутсма Метод штрафных функций сме- Метод Ньютона шанного типа 35 COMET Стаха н Химмельблау Метод подвижных отсечений Метод переменной метрики (метод БФШ)
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 183 пользователю), разработанную Абади. COMPUTE II [22] — пакет программ, использующих методы штрафных функций; пакет разра- ботан фирмой Gulf Oil и включает процедуры на основе методов внешней точки, несколько методов поиска для решения задач безу- словной минимизации и процедуру автоматического масштабирова- ния ограничений. Мэйн разработал пакет, состоящий Из комплексов программ EXPEN и IPENAL [23]. Пакет реализует как методы внешней точки, так и методы внутренней точки, а также ряд методов поиска для решения задач безусловной минимизации. SUMT IV [24] представляет собой широко известный пакет программ па основе методов штрафных функций, разработанный Фиакко, Мак- Кормиком, Миландером и др. В пакете используются различные методы поиска для решения задач безусловной Минимизации, а так- же схемы пересчета параметра штрафа в сочетании со стандартным методом внутренней точки. В программе E04HAF [25], предложен- ной Лилом, используется метод штрафных функций, опирающийся на процедуру экстраполяции, разработанную Лутсма. В последней программе COMET [261, предложенной Химмельблау, используется метод штрафных функций на базе процедуры скользящего допуска. Все задачи решались с обычной точностью, поскольку тесты прово- дились на вычислительной машине CDC-6500 с разрядностью слова, равной 60 бит. Все программы, требующие аналитического опреде- ления градиентов, были изменены так, чтобы градиенты вычисля- лись численно по разностным формулам. Наконец, для того чтобы время счета каждой программы определялось точно, из итераци- онных циклов соответствующих алгоритмов были выброшены все команды печати. 12.3.1. Предварительные и окончательные результаты Для классификации программ был использован предваритель- ный тестовый набор, состоящий из задач Колвила и Изона, упомя- нутых ранее, за исключением задач Изона с номерами 9 и 13. Это было сделано, чтобы по возможности избежать напрасных попыток (и расходов), связанных с использованием всех имеющихся программ на полном наборе задач. Некоторые результаты тестов приведены в табл. 12.5. Программы, с помощью которых было решено менее половины из заданных 14 задач, были исключены из дальнейшего исследования. Здесь следует заметить, что программа считалась не- способной решить задачу, если для ее решения требовалось время, превышающее более чем в три раза среднее время решения этой за- дачи. Программы с номерами 2, 4—7, 17, 18, 23—25 и 30 были ис- ключены на рассматриваемой предварительной стадии. Программы, использованные в окончательных тестах (т. е. на полном наборе задач), указаны в табл. 12.6. Следует обратить Внимание, что окон- чательный тестовый набор содержит одну программу для метода множителей, четыре — для метода ОПГ, одну — дЛя метода Гриффи-
184 ГЛАВА 12 Таблица 12.5. Результаты предварительных тестов Номер програм- мы Название программы Число решенн ых задач Номер програм- мы Название программы Число решенных задач 1 BIAS 12 19 EXPEN (3) и 2 SEEK1 5 20 EXPEN (4) 10 3 SEEK3 8 21 EXPEN (5) 12 4 APPROX 6 22 IPENAL (6) 7 5 SIMPLX 6 23 IPENAL (1) 4 6 DAVID 5 24 IPENAL (2) 4 7 MEMGRD 2 25 IRENAL (3) 3 8 GRGDFP 14 26 IPENAL (4) 10 9 RALP 9 27 IPENAL (5) 11 10 GRG 14 28 SUMT IV (1) 8 11 OPT 13 29 SUMT IV (2) 9 12 GREG 14 30 SUMT IV (3) 2 13 COMPUTE II (0) 12 31 SUMT IV (4) 11 14 COMPUTE II (1) 8 32 E04HAF (0) 12 15 COMPUTE II (2) 10 33 E04HAF (1) 11 16 COMPUTE II (3) 10 34 E04HAF (2) 8 17 EXPEN (1) 4 35 COMET 11 18 EXPEN (2) 5 Таблица 12.6. Программы в окончательных тестах Номер программы Название программы Номер программы Название программы 1 BIAS 20 EXPEN (4) 3 SEEK3 21 EXPEN (5) 8 GRGDFP 22 EXPEN (6) 9 RALP 26 IPENAL (4) 10 GPG 27 IPENAL (5) 11 ОРТ 28 SUMT IV (1) 12 GREG 29 SUMT IV (2) 13 COMPUTE II (0) 31 SUMT IV (4) 14 COMPUTE II (1) 32 E04HAF (0) 15 COMPUTE II (2) 33 E04HAF (1) 16 COMPUTE II (3) 34 E04HAF (2) 19 EXPEN (3) 35 COMET
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 185 та — Стюарта, одну — для метода скользящего допускай 17 про- грамм — для алгоритмов с использованием метода штрафных функ- ций; всего — 24 программы. Указанные 24 программы использова- лись для полного набора из 35 задач. Сандгрен ввел функцию ошибок, показывающую степень нару- шения ограничений и учитывающую отклонение целевой функции от оптимального значения: J к et = 6/ + 2 (g/ (х)> - + 2 I (х) I > / = । k=I где е/ 1 ? } ПрИ ^(х*)^°- ez = |/(x)| при f(x*) = O. Обозначение < > в формуле (12.1), как и раньше, функции, определяемой соотношением (О, а^О, <а>_==\—а, а<0. (12.1) (12-2) (12-3) относится к (12.4) Другими словами, в (12.1) включаются только те ограничения, ко торые нарушены. Для каждого теста, определяемого задачей и про граммой, с помощью которой она решается, были построены графики функций е(, подобные приведенным на рис. 12.1 и 12.2. Следуя Изону, по этим графикам можно сравнивать работу прог- рамм при одной и той же задан- ной точности. При анализе ука- занных кривых можно составить некоторое представление об алго- ритме. Например, точка данной кривой (т. е. кривой для данной программы), соответствующая наименьшему значению ошибки, определяет возможность алго- ритма точно решить задачу. Кро- ме того, форма кривой является показателем скорости сходимости алгоритма. время, с Способность решить большое D„„ v „„„ г Нис. 12.2. Характеристики работы про- число задач за приемлемое время грамм при решении задачи о нагру- рассматривалась Сандгреном как женной балке. критерий сравнения. Поэтому он классифицировал программы по числу задач, решенных ими за время, не превосходящее заданного предельного значения; таких значений было несколько, время решения задачи задавалось в от- носительных единицах. Указанные предельные значения опреде-
186 ГЛАВА 12 лились как доля от среднего времени, вычисляемого для каждой из задач при ее решении всеми программами. Кроме того, в каждом варианте расчета время решения задачи нормировалось путем деле- ния на среднее время решения этой задачи. Таким образом, для программы, решающей задачу относительно быстро, получается малое нормированное время решения, а для программы, решающей задачу относительно медленно,— большое нормированное время решения. Процедура нормировки позволяет непосредственно срав- нивать результаты решения задач различной степени трудности. Рассмотрим характеристики работы программ, включенных в окон- чательный тестовый набор, при et=10~4 что соответствует данным, приведенным в табл. 12.7. По этой таблице легко идентифицировать «быстрые» программы, поскольку им соответствуют большие числа Таблица 12.7. Число задач, решенных с погрешностью е/ = 10"4 Число решенных задач Название программы и/нлн источник Номер программы 0,25а* 0,50 0,75 1,00 1,50 2,50 1 BIAS 0 9 14 17 19 20 3 SEE КЗ 0 1 2 3 6 10 8 GRGDFP 10 15 17 17 18 18 9 RALP 12 13 13 14 14 16 10 GRG 15 17 19 19 19 19 11 ОРТ 16 21 21 21 21 21 12 GPEG 14 18 20 23 23 23 13 COMPUTE II (0) 2 7 9 11 13 15 14 COMPUTE II (1) 2 4 6 6 8 9 15 COMPUTE II (2) 4 9 11 15 15 15 16 COMPUTE II (3) 1 5 7 8 9 11 19 EXPEN (3) 0 0 2 3 7 11 20 EXPEN (4) 1 4 10 10 11 11 21 EXPEN (5) 7 13 14 16 16 16 22 EXPEN (6) 2 4 7 8 8 9 26 IPENAL (4) 0 1 4 6 9 10 27 IPENAL (5) 2 7 11 14 14 17 28 SUMT IV (1) 0 0 0 0 3 9 29 SUMT IV (2) 0 0 0 1 2 7 31 SUMT IV (4) 0 1 3 5 9 13 32 E04HAF (0) 0 0 0 4 8 15 33 E04HAF (1) 0 2 4 7 13 15 34 E04HAF (2) 0 1 2 4 8 10 35 COMET 0 2 5 7 9 15 а» Умноженное на среднее время решения задачи.
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 187 в первом столбце (число 0,25). В этом столбце для каждой программы указано число задач, решенных за время, составляющее 25% от среднего времени решения задачи; аналогичный смысл имеют данные в других столбцах. При составлении табл. 12.7 семь задач были исключены из окончательного эталонного набора (задачи 9, 13, 21, 22 и 28—30), так как они были решены менее чем пятью програм- мами. Кроме того, следует указать, что при проведении окончатель- ных тестов только 14 программ позволили решить половину или больше задач из эталонного набора. Сандгрен не просто классифицировал задачи; он представил в графической форме характеристики программ из окончательного тестового набора при решении задач из эталонного набора. Резуль- таты были упорядочены по степени трудности решения задачи. По оси абсцисс откладывалась доля от среднего времени. Число решен- ных задач (показатель робастности) является критерием классифи- кации; оно откладывалось по оси ординат. Среднее время — это усредненное время решения при заданной точности окончательного приближения по всем программам, которые решили данную задачу. На рис. 12.3 графически представлены характеристики работы че- рне. 12.3. Кривые полезности для разных алгоритмов (е^=10-4). тырнадцати программ, с помощью которых была решена половина или больше эталонных задач. Каждая из этих программ оказалась лучше других, не входящих в ту же категорию, по быстродействию и робастности. Форма отдельно взятой кривой полезности отражает характер работы соответствующей программы. Идеальная про- грамма решила бы все 23 задачи мгновенно, что, очевидно, невоз- можно. С другой стороны, программы, которым соответствуют кри- вые полезности с крутым наклоном и большим значением конечной ординаты, являются эффективными как по быстродействию, так и по робастности. На рис. 12.4 отражено влияние на работу программ
188 ГЛАВА 12 доля от среднего времени Рис. 12.4. Кривые полезности для раз- ных алгоритмов. критерия окончания счета. Вид- но, что для каждой из программ возникает трудность при реше- нии задач, когда критерий окон- чания счета задается малым зна- чением et. При проведении тес- тов одному и тому же (или близ- ким) алгоритму (алгоритмам)со- ответствовало несколько прог- раммных реализаций; поэтому возникает вопрос: нельзя ли по характеристикам работы прог- рамм определить тенденции, свойственные классам алгорит- мов? Всего рассматривалось три класса алгоритмов: методы обоб- щенного приведенного градиен- та, методы внешних штрафных функций и методы внутренних штрафных функций. Усреднен- ные характеристики работы лучших трех программ в каждом классе приведены на рис. 12.5. Ясно, что из всех программ, участ- вовавших в тесте, наиболее робастными и быстродействующими оказались использующие метод обобщенного приведенного гради- ента. Сандгрен [27] показал, что зависимости, представленные на рис. 12.5, являются статистически Сандгрен проводил тесты также для гибридной программы, состав- ленной из программы метода множи- телей (BIAS), используемой для по- иска грубого приближения к реше- нию, и программы метода ОПГ (ОРТ), используемой для уточнения решения с высокой точностью. Было обнаружено, что гибридный метод является наиболее быстродействую- щим и робастным по сравнению с ме- тодами, использованными в других тестовых программах. Наконец, Сандгрен использовал подход Розе- на и Сузуки [28] с целью генерации задач НЛП с квадратичной целевой функцией и квадратичными ограни- чениями. Это удобный способ поста- новки задач с известными характе- ристиками, в том числе и с из- вестным решением. Для программы значимыми. Рис. 12.5. Усредненные характери- стики алгоритмов. А — метод приведенного градиента; Б —метод внешних штрафных функ- ций; В — метод внутренних штраф- ных функций.
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 189 метода множителей (BIAS), программы метода последовательного решения задач ЛП (RALP), двух программ метода ОПГ (GRG и ОРТ), двух программ методов внешней точки (COMPUTE 11 и EXPEN (5)) и программы метода внутренней точки (SUMT IV (4)) было изучено влияние на время решения задачи роста числа пере- менных задачи, числа ограничений в виде неравенств, числа огра- ничений в виде равенств и числа нелинейных членов в целевой функ- ции и левых частях ограничений. Было обнаружено, что время счета равномерно увеличивается с ростом N. Оказалось, что программа RALP обладает наименьшей чувствительностью (измеряемой време- нем решения) к числу ограничений в виде неравенств; увеличение времени на 59% соответствовало увеличению числа ограничений в виде неравенств на 100% . Программы метода ОПГ оказались наиме- нее чувствительными к увеличению числа ограничений в виде ра- венств; при этом для программы ОРТ было зафиксировано умень- шение времени решения, когда число ограничений в виде равенств возросло с одного до трех! Программа Мэйна EXPEN (5) оказалась наименее чувствительной к увеличению числа нелинейных членов; близка к ней была программа Лэсдона GRG. Дополнительные дета- ли можно найти в работе [12]. 12.4. Исследование Шитковского В 1980 г. Шитковский опубликовал в работе [29] результаты обширного исследования программ НЛП. В экспериментах исполь- зовались 20 программ (в действительности больше, если считать мало отличающиеся версии одной и той же программы) и 180 тесто- вых задач, генерируемых случайным образом; при этом структура задач была заранее определена, и для каждой из них многократно задавались начальные приближения. Между исследованиями Шит- ковского и Сандгрена есть много сходства, однако есть и различия. Главное отличие состоит в том, что в исследование Шитковского включены методы решения последовательности задач квадратичного программирования (ПКП). Программы, использованные в тесто- вых испытаниях, перечислены и кратко описаны в табл. 12.8. Шесть из этих программ применялись в тестах Сандгрена, однако тестовый набор Шитковского, безусловно, включает самые эффективные мето- ды того времени. Тесты были проведены для четырех программ мето- дов штрафных функций, 11 программ методов множителей, трех про- грамм метода ОПГ и четырех программ метода ПКП. Здесь нет воз- можности подробно обсудить методику проведения эксперимента Шитковского или его многочисленные результаты. С другой стороны, ниже сделана попытка выявить главные аспекты указанного иссле- дования; читатель может обратиться также к работе [29]. Программы оценивались по следующим критериям: 1) робаст- ность, 2) надежность, 3) глобальная сходимость, 4) способность решать вырожденные задачи, 5) способность решать плохо обуслов-
190 ГЛАВА 12 Таблица 12.8. Тестовые программы Шитковского Номер програм- мы Название программы Источник Метод безусловной К-ласс минимизации 1 OPRQP Биггс [30] Метод ПКП Метод переменной метри- ки (метод БФШ) 2 XROP Биггс [30] Метод ПКП Метод переменной метри- ки (метод БФШ/метод Пауэла) 3 VF02AD Пауэл [31] Метод ПКП Метод переменной метри- ки (метод БФШ/метод Пауэла) 4 GRGA Абади [32] Метод ОПГ Метод сопряженных гра- диентов (метод Флетче- ра— Ривса) 5 ОРТ Габриэл и Рэгсдел [33] Метод ОПГ Метод сопряженных гра- диентов (метод Флетче- ра— Ривса) 6 GRG2 (1) Лэсдон и др. [34] Метод ОПГ Метод переменной метри- ки (метод БФШ) 7 GRG2 (2) Лэсдон и др. [34] Метод ОПГ Метод переменной метри- ки (метод БФШ) 8 VF01A Флетчер (35] Метод множи- Квазииыотоновский ме- телей тод/метод Флетчера 9 LPNLP Пьер и Л оу [36] Метод множи- Метод переменной метри- телей ки (метод ДФП) 10 SALQDF Гил и Мюррей [37] Метод множи- Метод переменной метри- телей к и (метод БФШ) 11 SALQDF Гнл н Мюррей [37] Метод множи- Метод переменной метри- телей ки (метод БФШ) 12 SALMNF Гил и Мюррей [37] Метод миожи- Модифицированный метод телей Ньютона 13 CONMIN Хаархофф и Байс [38] Метод множи- Метод переменной метри- телей ки (метод ДФП) 14 BIAS (1) Рут и Рэгсдел [39] Метод множи- Метод переменной метри- телей ки (метод ДФП) 15 BIAS (2) Рут н Рэгсдел [ЗЭ] Метод множи- Метод переменной метри- телей ки (метод ДФП) 16 FUNMIN Крафт [40] Метод множи- Метод переменной метри- телей ки (метод БФШ) 17 gapfpr Хнммельблау [41] Метод множи- Квазиньютоновский ме- телей тод/метод Флетчера 18 GAPFQL Ньюэл и Хим- мельблау [41] Метод множи- Квазиньютоновский ме- телей тод/метод Флетчера
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 191 Продолжение S р л oj а. Из X с s Название программы Источник Класс Метод безусловной минимизации 19 ACDPAC Бест и Баулер [42] Метод множите- лей Метод сопряженных нап- равлений 20 FM1N (1) Лутсма и Крафт [43] Метод штраф- ных функций смешанного типа Метод переменной метри- ки (метод БФШ) 21 FM1N (2) Лутсма и Крафт [43] Метод штраф- ных функций смешанного типа Метод переменной метри- ки (метод БФШ) 22 FM1N (3) Лутсма и Крафт [43] Метод штраф- ных функций смешанного типа Модифицированный метод Ньютона 23 NLP Руфер [44] Метод внешней точки Кваэиныотоиовский ме- тод/метод Флетчера 24 SUMT Миландер Метод внутрен- ней точки Метод переменной метри- ки (метод ДФП) 25 DFP Иидузи [45] Метод внешней точки Метод переменной метри- ки (метод ДФП) 26 FCDPAK Бест |46] Метод ПКП/ме- тод Робинсо- на Метод сопряженных нап- равлений ленные задачи, 6) способность решать задачи с неограниченной об- ластью допустимых решений, 7) чувствительность к малому изме- нению условий задачи, 8) чувствительность к заданию начального приближения, 9) простота обращения с программой. Шитковский опробовал каждую из программ на всех 180 тесто- вых задачах, генерированных случайным образом; подготовка дан- ных при этом осуществлялась почти так же, как и в эксперименте Сандгрена. Каждый из девяти критериев оценки был подразделен на несколько подкритериев. Например, критерий «эффективность» разбивался на пять подкритериев; чтобы определить по ним вели- чину показателя средней эффективности, брались веса в соответст- вии с теорией приоритетов, изложенной в работе [47] так, как об этом сказано в работе [48]. Аналогичным образом Шитковский ис- пользовал другие критерии. На основе указанной выше теории при- оритетов он выбрал веса для каждого из девяти критериев, чтобы получить по ним общий показатель работы программы. Такая про-
ГЛАВА 12 (92 Таблица 12.9. Ранжирование программ по тестам Шитковского Номер программ1*1 программы Класс Ранг з VF02AD Метод ПКП 1 4 GRGA Метод ОПГ 2 7 GRGA2 (2) Метод ОПГ 3 26 FCDPAK Метод ПКП/метод Робинсона 4 6 GRG2 (1) Метод ОПГ 5 1 OPRQP Метод ПКП 6 2 XROP Метод ПКП 7 19 ACDPAC Метод множителей 8 14 BIAS (I) Метод множителей 9 5 ОРТ Метод ОПГ 10 17 GAPFPR Метод множителей 11 8 VF01A Метод множителей 12 11 SALQDF Метод множителей 13 12 SALMNF Метод множителей 14 23 NLP Метод внешней точки 15 9 LPNLP Метод множителей 16 10 SALQDR Метод множителей 17 15 BIAS (2) Метод множителей 18 21 FM1N (2) Метод штрафных функций смешанного типа 19 22 FMIN (3) Метод штрафных функций смешанного типа 20 18 GAPFQL Метод множителей 21 20 FM1N (1) Метод штрафных функций смешанного типа 22 16 FUNNIN Метод множителей 23 24 SUMT Метод внутренней точки 24 13 CONNIN Метод множителей 25 25 DFP Метод внешней точки 26 ТаблицЯ 12.10. Приоритеты (веса) критериев работы программ ЭффектИВн0СТЬ 0,32 Надежность 0,23 Глобальная сходимость 0,08 Способность решать вырожденные задачи 0,05 Способность решать плохо обусловленные задачи 0,05 Способность решать задачи с неограниченной областью допустимых 0,03 решении Чувствительность к малому изменению условий задачи 0,03 Чувствительность к заданию начального приближения 0,07 Простота обращения с программой 0,14 1,00
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 193 цедура приводит к ранжированию программ, результаты которого приведены в табл. 12.9. Веса, использованные для критериев, даны в табл. 12.10. Установление приоритетов (выбор весов) носит субъ- ективный характер, поэтому различные пользователи могут расце- нивать относительную важность различных критериев совершенно по-разному и выбрать другие веса, вследствие чего ранжирование окажется иным. На основе своих многочисленных тестов Шитковский пришел к весьма интересным выводам относительно классов алгоритмов и дал рекомендации по разработке программного обеспечения. Один из выводов состоит в том, что новейшие методы существенно лучше других в отношении эффективности (быстродействия); классы алго- ритмов можно проранжировать примерно следующим образом: 1) методы ПКП, 2) методы ОПГ, 3) методы множителей, 4) методы штрафных функций, не вошедшие в первые три класса. Кроме того, тесты Шитковского убедительно подтвердили не всеми осознанный факт, состоящий в том, что надежность программы в большей степе- ни определяется тем, как она составлена, а не алгоритмом. Было также замечено, что характеристики работы программ метода ОПГ, таких, как программы GRGA и ОРТ, относительно мало зависят от условий задачи. Действительно, в ряде случаев характеристики работы этих программ улучшались с ухудшением обусловленности тестовых задач. Вероятно, это связано с тем, что была принята стра- тегия строгого выполнения ограничений. Это согласуется также с опытом авторов настоящей работы, который подсказывает, что про- граммы на основе метода ОПГ относительно не чувствительны к ус- ловиям задачи и, следовательно, в общем случае не требуют специ- альных процедур масштабирования условий задачи. 12.5. Исследование Фэттлера по решению задач геометрического программирования В 1974 г. Реклейтис и Рэгсдел [49—51] начали исследовать отно- сительные преимущества различных способов постановки задач ГП и методов их решения. Обсуждались методы, имеющие отношение к стандартным задачам ГП с позиномами (см. разд. 11.4). В общем случае эти задачи невыпуклые из-за наличия нелинейностей в огра- ничениях, и можно ожидать, что их решение вызовет серьезные труд- ности при использовании традиционных программ НЛП. Однако, несмотря на очевидную трудность решения прямых задач ГП, име- ются некоторые факторы, связанные со структурными свойствами обобщенных позиномов и способные облегчить процесс решения. Кроме того, можно использовать эквивалентные формулировки задачи, получаемые путем различных преобразований. В рассмат- риваемом исследовании, как и в гл. 11 настоящей работы, исполь- зовались следующие вспомогательные постановки задачи ГП: вы- пуклое приближение прямой задачи, преобразованная прямая 1 № 1865
194 ГЛАВА 12 задача, двойственная задача, преобразованная двойственная зада- ча. В литературе сообщалось и о других сравнительных исследова- ниях подходов к решению стандартных задач ГП. В двух из них, исследованиях Рийкаерта и Мартенса [52] и Дембо [53], основное внимание было уделено обобщенным задачам ГП, однако стандарт- ные задачи не были включены в их тестовые наборы. Исследование Динкеля и др. [54] ограничивалось анализом различных методов отсекающих плоскостей, используемых при решении выпуклой пря- мой задачи. В рассматриваемом исследовании использовались десять про- грамм и их варианты. Первые четыре представляли собой программы решения общих задач НЛП и были включены в исследование пото- му, что раньше они хорошо себя зарекомендовали в экспериментах Сандгрена. В табл. 12.4 эти программы указаны под номерами 1 (BIAS), 9 (RALP), 11 (ОРТ) и 27 (IPENAL (5)). Кроме того, для рас- сматриваемого исследования Рут [55] составил специальную версию программы метода множителей BIAS-SV с использованием выпукло- го приближения прямой задачи при ее постановке. В программе BIAS-SV использован метод Ньютона для итерационного процесса безусловной минимизации и вторые производные — для одномер- ного поиска. И то и другое было нетрудно реализовать, поскольку в выпуклом приближении прямой задачи присутствуют первые и вторые производные. Остальные пять программ предназначены для решения специальных задач ГП. Программа GPKTC [56], разрабо- танная Мартенсом и Рийкаертом, находит решение для выпуклого приближения прямой задачи с использованием в итерационном про- цессе условия Куна — Таккера; в программе GGP [57], разработан- ной Дембо, реализован метод отсекающих плоскостей Келли, а так- же выпуклое приближение прямой задачи; программа MCS [58] реализует модификацию симплекс-метода Зангвилла, предназначен- ного для решения задач выпуклого программирования; эта модифи- кация разработана Беком и Экером специально для решения задач ГП; программа QUADGP [59], разработанная Бредли для задач ГП, решает преобразованную двойственную задачу путем последо- вательного решения задач квадратичного программирования; нако- нец, программа DAP [60], разработанная Реклейтисом, представляет собой модификацию дифференциального алгоритма Байтлера и Уайльда, приспособленную для решения задач ГП. Из эталонных задач ГП, известных по литературе, было выбрано сорок две; около половины из них связано с техническими приложе- ниями. Многие из этих задач ранее использовались Дембо, Беком и Экером; соответствующие источники указаны в работе Фэттлера [50]. Исследование указанного набора задач дает следующие общие характеристики: число переменных прямой задачи составляет от 2 до 30, число одночленов в прямой задаче — от 8 до 197, число ограничений — от 1 до 73, заполненность матрицы показателей — от 3,3 до 83%.
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 195 Эксперимент проводился в том же направлении, что и в иссле- довании Сандгрена, и отличался лишь тем, что начальные прибли- жения генерировались многократно случайным образом. Была напи- сана специальная программа, существенно автоматизировавшая процесс подготовки данных, исследовалось влияние, которое ока- зывает формулировка на решение задачи, достоверность результа- тов проверялась статистически. Начальные приближения для пря- мых и двойственных переменных в каждой задаче генерировались случайным образом путем выборки точек на многомерной сфере, центр которой совпадал с решением задачи. Использовались только допустимые точки. Типичная процедура проведения расчетов со- стояла в том, что при решении каждой задачи задавались два радиу- са сферы и по 10 точек для каждого радиуса. Очевидная трудность, связанная с многократным заданием начальных приближений, со- стояла в том, что число пробных расчетов увеличивалось. В рас- сматриваемом исследовании проведено 10 000 тестовых расчетов, из которых было использовано 6000. Для сравнения результатов была введена функция ошибок со структурой типа функции Лаг- ранжа: go-go * go k I gfe — gX I go (12.5) Величины, помеченные звездочкой, представляют собой известные оптимальные значения функций в условиях задачи и множителей Лагранжа. В сумму входят только те ограничения, которые явля- ются активными для решения задачи. Значения указанной функции ошибок вычислялись и запоминались для всех промежуточных при- ближений итерационного процесса в каждом расчете. Значения вре- мени счета указанных промежуточных приближений (за вычетом времени, затраченного на ввод и вывод данных при их регистрации в процессе проведения теста) и соответствующие значения функции ошибок использовались для построения полиномов, предназначен- ных для определения времени счета по заданной величине функции ошибок путем интерполяции. Каждой задаче (или варианту задачи в одной из рассматриваемых постановок) ставилась в соответствие решающая ее программа. Для каждой такой комбинации были со- ставлены таблицы среднего времени счета и соответствующих сред- неквадратичных отклонений. При составлении таблиц задавались следующие значения относительной ошибки: 10-а, 10-3, 10-4. Ука- занные таблицы были составлены для всех расчетов соответственно моментам их окончания. Каждая программа прогонялась с фикси- рованным набором программных параметров, определенных по предварительным тестам; обычно эти параметры оказывались очень близкими к значениям, предложенным различными разработчиками. При проведении официальных тестов перестройка указанных пара- метров была запрещена; поэтому для некоторых программ и задач величина ошибки 10-4 не была достигнута. 7*
196 ГЛАВА 12 Результаты рассматриваемого исследования настолько обшир- ны, что описать их здесь не представляется возможным. Однако можно привести ряд кратких замечаний и сделать общие выводы. Прежде всего важно отметить, что выбор начального приближения влияет на время решения задачи. Из табл. 12.11 можно видеть, что вариации времени счета при решении задачи 13 с помощью програм- мы ОРТ могут быть значительны, если рассмотреть все 10 вариантов задания начального приближения. Например, при решении прямой задачи время счета составляет от 1,776 до 5,72 с; среднее время счета при этом 3,65 с, среднеквадратичное отклонение равно 1,42. Анало- гично при решении выпуклой прямой задачи время счета составляет от 0,83 до 1,1 с, среднее значение равно 0,878 с, среднеквадратичное отклонение составляет 0,165. Заметим, что для заданного началь- ного приближения отношение времени решения прямой задачи к времени решения выпуклой прямой задачи меняется существенно. Например, соответствующее отношение равно 1,8 для начального приближения 5 и 8,3 для начального приближения 8. Тем не менее эти значения времени счета соответствуют использованию одной и той же программы и одинаковых значений параметров окончания счета. Подобные, хотя и менее выраженные вариации можно на- блюдать при сравнении значений времени счета по программе ОРТ, находящей решение для выпуклого приближения прямой задачи, и по программе GGP. При переходе от задачи 8 к задаче 10 отноше- ние значений времени счета изменяется от 0,53 до 1,0. Эти результа- ты показывают, что ранжирование программ по характеристикам их работы с одним начальным приближением, как это обычно делается, согласно приведенным в литературе данным, представляет собой весьма спорную процедуру. Нужно, насколько это возможно, ис- пользовать достаточно большое число начальных приближений, чтобы можно было подсчитать достоверные значения средних значе- ний и среднеквадратичных отклонений. Затем полученные данные необходимо сопоставить с критериями, используемыми при проверке статистических гипотез, такими, как критерий Стьюдента. В табл. 12.12 приведены данные о числе задач, решенных различными про- граммами; указаны названия программ и типы постановки решае- мых задач ГП; кроме того, в таблице содержатся данные о количест- ве удачных и неудачных расчетов. Как видно из таблицы, некоторые программы применялись не для всех задач. Это объясняется тем, что иногда их использовать было просто невозможно, но чаще — в этом вообще не было необходимости, что установлено на основе богатого опыта. В частности, не удается получить положительные результаты при использовании программ RALP и IPENAL (5), предназначенных для решения общих задач НЛП. Аналогичную оценку можно дать и программе ОРТ при ее использовании для ре- шения преобразованной прямой задачи. Наиболее неустойчиво ра- ботала программа GPKTC, которая иногда давала чрезвычайно быст- рое решение задачи, а в ряде случаев вообще не обеспечивала полу-
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 137 Таблица 12.11. Влияние начальных приближений на время решения Отношение времени счета Отношение времени счета Номер на- Время счета по программе ОРТ (прямая Время счета по программе по программе ОРТ (выпук- Время счета чального по программе задача) к вре- ОРТ (выпук- лое приближе- приближе- ОРТ (прямая мени счета по лое приближе- ние прямой по программе ния (₽ = 0,5) задача), с программе ОРТ (выпук- лое приближе- ние прямой ние прямой задачи), с задачи) к вре- мени счета по программе GGP GGP, с задачи) 1 2,991 2,7 1,094 0,87 1,253 2 4,224 6,2 0,684 0,58 1,174 3 2,161 2,8 0,770 0,58 1,335 4 3,323 4,4 0,748 0,58 1,296 5 1,776 1,8 0,995 0,87 1,141 6 2,115 2,6 0,824 0,63 1,305 7 4,309 4,1 1,045 0,68 1,535 8 5,673 8,3 0,683 0,53 1,298 9 5,722 6,8 0,837 0,65 1,320 10 4,214 3,8 1,100 1,00 1,104 Таблица 12.12. Число пробных и решенных задач в тестах Фэттлера Название программы ‘ Число Число пробных пробных задач расчетов Число неудачных расчетов Процент неудачных попыток ОРТ-Р 40 399 27 6,77 ОРТ-СР 41 616 1 0,16 ОРТ-ТР 25 452 124 27,43 GGP 41 598 24 4,01 GPKTC 39 589 240 40,75 MAYNE 31 379 61 16,09 RALP-P 34 446 146 32,74 RALP-CP 37 552 115 20,83 BIAS-P 39 260 1 0,38 BIAS-СР 40 457 0 0,0 BIAS-SV 29 166 21 12.65 MCS 26 412 60 14.56 DAP 40 406 14 3,45 QUAD-GP 34 149 13 8,72 > Символы после дефиса означают следующее: Р — прямая задача, СР — выпуклая пря- мая задача, ТР-преобразованная прямая задача, SV-специалиэироваииая версия, GP —за- дача геометрического программирования.— Прим. перев.
198 ГЛАВА 12 чение решения. Точно так же трудно объяснить, чем обусловлено большое число неудач при использовании специальной версии про- граммы BIAS, особенно если учесть высокую надежность стандарт- ной версии этой программы. Оба варианта программы применялись для нахождения решения выпуклого приближения прямой задачи. При этом в первом варианте программы был использован модифи- цированный метод Ньютона с аналитически задаваемыми производ- ными, а во втором — метод ДФП с численно определяемыми произ- водными. Наиболее надежными выглядят показатели работы про- грамм ОРТ и BIAS, предназначенных для решения общих задач НЛП, при использовании их для выпуклого приближения прямой задачи. После указанных программ лучшие показатели работы были достигнуты специализированными программами GGP и DAP. Ре- зультаты проведенного исследования были разбиты на следующие группы: 1. Результаты сравнения значений времени решения задачи при использовании различных алгоритмов для заданной постановки задачи ГП. 2. Результаты перекрестного сравнения значений времени реше- ния для различных постановок задачи при использовании одного и того же алгоритма. 3. Результаты перекрестного сравнения наиболее эффективных алгоритмов решения каждой задачи ГП. 4. Результаты анализа изменения значений времени решения задачи при изменении ее характеристик для различных постановок задачи. Наконец, для выявления значимости расхождений характеристик работы программ были проведены статистические проверки. При этом предполагалось, что продолжительности счета х и у, соответст- вующие двум программам для какой-либо задачи, являются нор- мально распределенными случайными величинами с дисперсиями и о3 соответственно. При этих условиях сравнение значений вре- мени счета сводится к проверке равенства истинных средних значе- ний времени решения Мх и М рассматриваемой задачи при исполь- зовании указанных программ. Таким образом, необходимо решить статистическую задачу Беренса — Фишера [61]. Для оценки разности средних величин времени счета были ис- пользованы соответствующие соотношения. Установлено, что для ряда задач средние отличались незначительно. Вычисления прово- дились для следующих значений относительной ошибки: 10-2, 10“3, 10"‘. Полученные результаты были использованы, чтобы установить, для скольких задач время счета оказывается наи- лучшим и для скольких — следующим по порядку. При уров- не значимости 90% средние считались различными, в противном случае они принимались одинаковыми. Результаты описанного процесса ранжирования приведены в табл. 12.13.
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 199 Таблица 12.13. Ранжирование программ по тестам Фэттлера Ранжирование по относительной ошибке IO'» 10—4 А в А В А В ОРТ-СР 13 14 18 8 14 1 DAP 16 1 8 5 4 2 GGP 6 9 7 7 3 8 QUADGP 10 б 5 7 5 6 MCS 3 6 7 4 13 1 ОРТ-Р 0 4 0 4 0 3 А-первое по порядку среднее время счета, ^ — второе по порядку среднее время счета. Основные выводы исследования состоят в следующем. 1. Наиболее целесообразной постановкой задачи ГП является выпуклая прямая задача. 2. Программа GRG решения общей задачи НЛП в применении к выпуклой прямой задаче дает лучшие результаты, чем самая эф- фективная из известных в настоящее время специализированных программ решения задач ГП. 3. Отличия в постановках задачи ГП как прямой задачи и как выпуклой прямой задачи главным образом определяются масшта- бированием и временем вычисления функций в условиях задачи. 4. Подходы к решению задачи ГП с использованием преобразован- ной прямой задачи вряд ли приведут к более эффективному реше- нию по сравнению с подходом, использующим выпуклую прямую задачу. 5. Двойственные подходы конкурентоспособны, по-видимому, только тогда, когда ограничения задачи являются активными, а сама задача достаточно проста. 6. Если оценивать сложность задач ГП с позиномами временем их решения, то ее лучше всего можно описать зависимостью экспо- ненциальной от числа переменных решаемой задачи и пропорцио- нальной общему числу многочленных ограничений прямой задачи. В работах [62, 63] результаты описанного исследования распро- странены на класс обобщенных задач ГП, т. е. одночлены могут входить в задачу со знаками + или —. Соответствующие тесты и результаты мало отличаются от указанных выше, за исключением того, что специализированная версия программы ОРТ, разработан- ная Дембо, оказалась несколько лучше по характеристикам работы, чем программа ОРТ, использующая метод ОПГ.
200 ГЛАВА 12 12.6. Сведения о программах Дать совет по использованию программ решения оптимизацион- ных задач — примерно то же, что рекомендовать вступить в брак. Прежде чем дать такой совет, следует узнать, что представляет собой конкретная область применения программы. Попытки в этом направлении были предприняты различными исследователями, и их результаты оказались очень полезными для настоящей работы (см., например, весьма интересное дерево решений, приведенное в работе [6], с. 72 и 73). Фактически все, что здесь говорилось, так или иначе сводится к единственному вопросу: какой алгоритм или программу следует выбрать для решения некоторой задачи или целого класса задач, если известны их отличительные особенности? Мы рискуем дать здесь рекомендации, которые могут оказаться по- лезными при выборе программ решения оптимизационных задач на ЭВМ. Тот, кто серьезно относится к разработке программного обеспе- чения или к приобретению пакетов программ оптимизации, должен сначала тщательно прочесть работу [64], диссертацию Сандгрена [12] и доклад [29]. Далее следует запросить дополнительную инфор- мацию относительно одного или нескольких рекомендуемых ниже пакетов программ. Эта информация должна содержать описание технических аспектов алгоритма, мнение автора об его ожидаемой эффективности и робастности, а также оценку автора пределов при- менимости алгоритма. Пакеты прикладных программ для решения задач НЛП 1. Пакет GRGA: метод ОПГ/метод Флетчера — Ривса Обращаться к: J. Abadie, University of Paris VI, Institute de Programmation, 4, Place Jussieu, Paris, France 2. Пакет GRG2: метод ОПГ/метод БФШ Обращаться к: L. S. Lasdon, General Business, University of Texas, Austin, TX 78712 3. Пакет ОРТ: метод ОПГ/метод Флетчера — Ривса Обращаться к: К- М. Ragsdell, Design Optimization Laborato- ry, Aerospace and Mechanical Engineering, The University of Arizona, Tucson, AZ 85721 4. Пакет MINOS/расширенная версия: модифицированная функ- ция Лагранжа/методОПГ для подзадаче линейными ограничени- ями. Обращаться к: М. Saunders, Systems Optimization Laboratory, Operations Research, Stanford University, Stan- ford, CA 94305 5. COMPUTE II: пакет методов штрафных функций с различными функциями штрафа и разными методами безусловной минимиза- ции. Обращаться к: А. В. King, Gulf Research and Development, P. O. Box 2038, Pittsburgh, PA 15230 С. Пакет BIAS: метод ММ/метод ДФП/автоматическое масштаби- рование
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 201 Обращаться к: К. М. Ragsdell, Design Optimization Laborato- ry, Aerospace and Mechanical Engineering, The University of Arizona, Tucson, AZ 85721 7. Пакет OPRQP: метод ПКП/метод БФШ Обращаться к: М. С. Bartholomew-Biggs, Numerical Optimiza- tion Centre, Hatfield Polytechnic, 19 St. Albans Road, Hatfield, Herts, UK 8. Пакет VF02AD: метод ПКП/метод БФШ+ Обращаться к: М. J. D. Powell, Computer Science and Systems Div., A.E.R.E., Harwell, Oxfordshire, UK 9. Пакет VMCON1: аналогичен пакету VF02AD Обращаться к: L. С. Ranzini, National Energy Software Center, Argonne National Laboratory, 9700 S. Cass Avenue, Argonne, IL 60439 В качестве учебных рекомендуются следующие пакеты 10. OPTIVAR: библиотека очень простых методов решения задач НЛП; включены наиболее современные методы Обращаться к: J. N. Siddall, Faculty of Engineering, McMaster University, Hamilton, Ontario, Canada 11. (Без названия): группа методов внутренних и внешних штраф- ных функций, использующих различные алгоритмы безуслов- ной минимизации Обращаться к: R. W. Mayne, Mechanical Engineering, SUNY at Buffalo, Buffalo, NY 12. OPTLIB: библиотека очень простых в применении методов ре- шения задач НЛП Обращаться к: К. М. Ragsdell, Design Optimization Laborato- ry, Aerospace and Mechanical Engineering, The University of Arizone, Tucson, AZ 85721 В момент появления этой книги большинство пользователей, по-видимому, остановят свой выбор на экспериментальных пакетах программ OPRQP и VF02AD, однако в ближайшем будущем наверня- ка появятся более эффективные версии программ с более широкой областью применения. 12.7. Заключение В этой главе рассматривалась необходимость привлечения эмпи- рических данных для исследования вопроса об относительных пре- имуществах различных современных методов решения задач НЛП. Чтобы изучить различные алгоритмы, соответствующее программное обеспечение было подвергнуто проверке, причем в данные были вне- сены специальным образом созданные «помехи». Это оказалось труд- ным и прагматичным мероприятием. Трудным потому, что специфи- ческие особенности алгоритма не всегда можно считать следствием тех или иных числовых результатов; прагматичным из-за того, что любой алгоритм можно использовать для решения современных
202 ГЛАВА 12 прикладных задач только тогда, когда его переводят в форму, до- ступную вычислительной машине. Дан конспективный обзор в историческом плане решения тес- товых задач и проведен краткий анализ работ Сандгрена, Шитков- ского и Фэттлера. Наконец, авторы использовали свой опыт для срав- нительного анализа известных в настоящее время данных вычисли- тельных экспериментов с тем, чтобы рекомендовать программы, достойные дальнейшего изучения. Литература 1. Crowder N. Р., DemboR.S., Mulvey J.M., Reporting Computational Experi- ments in Mathematical Programming, Math. Programming, 15, 316—329 (1978). 2. Eason E. D., Evidence of Fundamental Difficulties in Nonlinear Optimization Code Comparisons, Proc. U. S. Bur. Stands/Math. Programming Soc. Conf. Testing Validating Algorithms Software, Boulder, CO, Jan. 1981. 3. Box M. J., A New Method of Constrained Optimization and a Comparison with Other Methods, Computer J., 8(1), 42—51 (1965). 4. Brooks S. H., A Comparison of Maximum Seeking Methods, J. Oper Res., 7(4), 430—437 (1959). 6. Leon A., A Comparison Among Eight Known Optimizing Procedures, in: Re- cent Advances in Optimization Techniques (A. Lavi, W. Vogl, Eds.), Wiley, N.Y., 1966, pp. 23—42. 6. Fletcher R., Mathematical-Programming Methods—A Critical Review, in: Optimum Structural Design: Theory and Applications (R. H. Gallagher, О. C. Zienkiewicz, Eds.), Wiley, N. Y., 1973, pp. 51—77. 7. Colville A. R., A Comparative Study of Nonlinear Programming Codes, Tech. Rep. No. 320-2949, IBM New York Scientific Center, June 1968. 8. Griffith F. E., Stewart R. A., A Nonlinear Programming Technique for Opti- mization of Continuous Processing Systems, Manage. Sci., 7, 379—392 (1961). 9. Mylander W. C., Holmes R. L., McCormick G. P., A Guide to SUMT-Version, Vol. 4, Research Analysis Corporation, RAC-P-63, 1964. 10. Eason E. D., Validity of Colville’s Time Standartization for Comparing Optimi- zation Codes, ASME Des. Eng Tech. Conf., paper no. 77-DET-116, Chicago, Sept. 1977. 11. Eason E. D., Fenton R. G., A Comparison of Numerical Optimization Methods for Engineering Design, ASME J. Eng. Ind. Ser. B, 96 (1), 196—200 (Feb. 1974). 12. Sandgren E., The Utility of Nonlinear Programming Algorithms, Ph. D. Disser- tation, Purdue University, University Microfilm, 300 North Zeeb Road, Ann Arbor, Ml, Document no. 7813115, Dec. 1977. 13. Sandgren E., Ragsdell К- M., The Utility of Nonlinear Programming Algo- rithms: A Comparative Study—Parts 1 and 2, ASME J. Meeh. Des., 102 (3), 540—551 (July 1980). 14. Dembo R. S., A Set of Geometric Programming Test Problems and Their Solu- tions, Dept. Management Science Universty of Waterloo, Ontario, Canada, Working Paper 87, Dec. 1974. 16. Root R. R., Ragsdell К. M., BIAS: A Nonlinear Programming Code in Fort- ran IV—Users Manual, Purdue Research Foundation, West Lafayette, IN, Sept. 1978. 16. Siddall J. N., OPT1-SEP: Designers Optimization Subroutines, McMaster Uni- versity, Canada, 1971. 17. LaFrance L. J., User’s Manual for GRGDFP, An Optimization Program, Her- rick Lab. Rep. No 45, Purdue University, Apr. 1974. 18. Schuldt S., RALP User Instructions, Honeywell Corporation, Bloomington, MN (частное сообщение).
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 203 19. Lasdon L. S., Waren A. D., Ratner М. W., Jain A., GRG User’s Guide, Cleve- land State University, Tech. Memo, CIS-75-02, Nov. 1975. 20. Gabriele G. A., Ragsdell К. M., OPT: A Nonlinear Programming Code in Fortran IV—Users Manual, Purdue Research Foundation West Lafayette, IN. Jan. 1976. 21. Guigou J., Presentation et utilisation du code, GREG, Department traitement de 1’information et etudes mathematiques, Electricite de France, Paris, France, 1971. 22. Gulf Oil Corporation, Compute II, A General-Purpose Optimizer for Continuous Nonlinear Models—Description and User’s Manual, Gulf Computer Sciences Inc. Houston, TX, 1972. 23- Afimiwala K- A., Program Package for Design Optimization, Department of Mechanical Engineering, State University of New York at Buffalo, 1974. 24. Mylander W. C., Nolmes R. L., McCormick G. P., A Guide to SUMT—Version 4, Research Analysis Corporation, RAC-P-63, 1974. 25. Lili S., E04HAF User’s Guide, The University of Liverpool Computer Labora- tory, Numerical Algorithms Group Document no. 737, 1974. 26. Staha R. L., Documentation for Program Comet, A Constrained Optimization Code, University of Texas, Austin, Apr. 1973. 27 Sandgren E., A Statistical Review of the Sandgren-Ragsdell Comparative Study, Mathematical Programming Society COAL, Meeting Proceedings, Boudler, CO, pp. 72—90, Jan. 5—6, 1981. 28 Rosen J. B., Suzuki S., Construction of Nonlinear Programming Test Problems, ACM Commun., 8 (2) (Feb. 1965). Schittkowski K-, Nonlinear Programming Codes: Information Tests, Performance, Lecture Notes in Economics and Mathe- matical Systems, Vol. 183, Springer-Verlag, N. Y., 1980. 29. Schittkowski K., Nonlinear Programming Codes: Information, Tests, Perfor- mance, Lecture Notes in Economics and Mathematical Systems, Vol. 183, Springer-Verlag, N. Y., 1980. 30. Biggs M. C., Constrained Minimization Using Recursive Equality Quadratic Programming, in: Numerical Methods for Nonlinear Optimization (F. A. Lootsma, Ed.), Academic Press, London, 1971. 31. Powell M. J. D., A Fast Algorithm for Nonlinearly Constrained Optimization Calculations, in: Proceedings 1977 Dundee Conference on Numerical Analysis, Lecture Notes in Mathematics, Springer-Verlag, Berlin, 1978. 32. Abadie J., Carpenter J., The Generalization of the Wolfe Reduced Gradient Method to the Case of Nonlinear Constraints, in Optimization (R. Fletcher, Ed.), Academic Press, N Y., 1969. 33. Gabriele G. A., Ragsdell К. M., The Generalized Reduced Gradient Method: A Reliable Tool for Optimal Design, ASME J. Eng. Ind., 99 (2), 394—400 (May 1977). 34. Lasdon L. S., Waren A. D., Jain A., Ratner M., Design and Testing of a Gene- ralized Reduced Gradient Code for Nonlinear Programming, ACM Trans. Math. Software, 4 (1), 34—50 (1978). 35. Fletcher R., An Ideal Penalty Function for Constrained Optimization, in: Non- linear Programming, Vol. 2, (O. L. Mangasarian, R. R. Meyer, S. M. Robin- som, Eds.), Academic Press, N. Y., 1975. 36. Pierre D. A., Lowe M. J., Mathematical Programming via Augmented Lagran- gians: An Introduction with Computer Programs, Addison-Wesley, Reading, MA, 1975. 37. Gill P. E., Murray W. (Eds.), Numerical Methods for Constrained Optimiza- tion, Academic Press, N. Y., 1974. 38. Hearhoff P. C., Buys J. D., A New Method for the Optimization of a Nonlinear Function Subject to Nonlinear Constraints, Computer J., 13. 1978—184 (1970). 39. Root R. R., Ragsdell К. M., Computational Enhancements to the Method of Multipliers, Л8А4Е J. Meeh. Des., 102 (3), 517—523 (July 1980). 40 Kraft D., Nichtlineare Programming—Grundlagen, Verfohren, Beispiele, Fors- chingsbericht, DFVLR, Oberpfaffenhofen, West Germany, 1977.
204 ГЛАВА 12 41. Newell J. S., Himmelblau D. M., A New Method for Nonlinear Constrained Optimization, AICME J., 21 (3), 479—486 (1975). 42. Best M. J., Ritter K-, An Accelerated Conjugate Direction Method to Solve Linearly Constrained Minimization Problems, J. Computer Syst. Sci., 11 (3), 295—322 (1975). 43. Lootsma F. A., The Algol 60 Procedure MINIFUN for Solving Nonlinear Opti- mization Problems, in: Design and Implementation of Optimization Solftware (H. J. Greenberg, Ed.,) Sijthoff and Noordhoff, Alphen aan den Rijn, The Ne- therlands, 1978. 44. Rufer D., User’s Guide for NLP—A Subroutine Package to Solve Nonlinear Optimization Problems, Rep. No. 78-07, Fachgruppe fur Automatic, Eidgenoss- ische Technische Hochschule, Zurich, Switzerland, 1978. 45. Indusi J. P., A Computer Algorithm for Constrained Minimization, in: Minimi- zation Algorithms (G. P. Szego, Ed.), Academic Press, London, 1972. 46. Best M. J., A Feasible Conjugate Direction Method to Solve Linearly Constrai- ned Optimization Problems, JOTA, 16 (1—2), 25—38 (1975). 47. Saaty T. L., A Scaling Method for Priorities in Hierarchical Structures, J. Math. Psych., 15, 234—281 (1977). 48. Lootsma F. A., Ranking of Nonlinear Optimization Codes According to Effici- ency and Robustness, in: Konstruktive Methoden der finiten nichtlinearen Op- timierung (L. Collatz, G. Meinardus, and W. Wetterling, Eds.), Birkhauser, Basel, Switzerland, 1980, pp. 157—158. 49. Sarma P. V. L. N., Martens X.M., Reklaitis G. V., Rijckaert M. J., A Com- parison of Computational Strategies for Geometric Programs, JOTA, 26 (2), 185—203 (1978). 50. Fattier J. E„ SinY. T„ RootR.R., Ragsdell К. M., Reklaitis G. V., On the Computational Utility of Posynomial Geometric Programming Solution Methods, Math. Programming, 22, 163—201 (Mar. 1982). 61. Ragsdell К-M., The Evaluation of Optimization Software for Engineering Design, Proceedings of the U. S. Bureau of Standards/Mathematical Programm- ing Society Conference on Testing and Validating Algorithms and Software, Boulder, CO, Springer-Verlag, Lecture Notes in Economics and Mathematical Systems, Vol. 199, pp. 358—379, 1982. 52. Rijckaert M. J., Martens X. M., A Comparison of Generalized GP Algorithms, Rep. CE-RM-7503, Katholieke Universiteit, Leuven, Belgium, 1975. 53. Dembo R. S., The Current State-of-the-Art of Algorithms and Computer Soft- ware for Geometric Programming, JOTA, 26, 149 (1978). 54. DinkelJ.J., Elliot W. H., Kochenberger G. A., Computational Aspects of Cutting Plane Algorithms for Geometric Programming Problems, Math. Prog., 13, 200 (1977). 55. Root R. R., An Investigation of the Method of Multipliers, Ph. D. Disserta- tion, Purdue University, Dec. 1977. 56. Rijckaert M. J., Martens X. M., GPKTC: A Generalized Geometric Programm- ing Code, Rep. CE-RM-7601, Katholieke Universiteit Leuven, Belgium, 1976. 57. Dembo R. S., GGP: A Computer Program for the Solution of Generalized Geo- metric Programming Problems, McMaster University, Hamilton, Ontario, Ca- nada, 1975. 58. Beck P. A., Ecker J . G., A Modified Concave Simplex Algorithm for Geometric Programming, JOTA, 15, 184—202 (1975). 59. Bradley J., The Development of Polynomial Programming Algorithms with Applications, Ph. D. Thesis, Dept, of Computer Science, Dublin University, Sept. 1975. 60. Reklaitis G. V., Wilde D. J., A Differential Algorithm for Posynomial Pro- grams, Dechema Monogr. Ban, 67, 324—350 (1970). 61. Hoel P. G., Introduction to Mathematical Statistics, John Wiley, N. Y., 1962, p. 279. 62. Sin Y. T., Reklaitis G. V., On the Computational Utility of Generalized Geo- metric Programming Solution Methods: Review and Test Procedure, Progress
СРАВНЕНИЕ МЕТОДОВ УСЛОВНОЙ ОПТИМИЗАЦИИ 205 in Engineering Optimization—1981 (R. W. Mayne, К- M. Ragsdell, Eds.) ASME, N. Y. Sept. 1981, pp. 7—14. 63. Sin Y. T., Reklaitis G. V., On the Computational Utility of Generalized Geo- metric Programming Solution Methods: Results and Interpretation, Progress in Engineering Optimization—1981 (R. W. Mayne, К. M. Ragsdell, Eds.), ASME, N. Y„ pp. 15—26, Sept. 1981. 64. WarenA. D., Lasdon L. S., The Status of Nonlinear Programming Software, Oper. Res., 27, 431—457 (1979).
Глава 13 Стратегии оптимизационного исследования В предыдущих главах основное внимание было уделено анализу современных оптимизационных алгоритмов. Такой анализ позволяет понять внутреннюю логику алгоритмов, а также точно оценить их возможности и недостатки. Изучив этот материал, можно подобрать наиболее подходящий алгоритм для данной технической задачи и проверить, является ли оптимальным решение, полученное выбран- ным алгоритмом. Но одно лишь знание алгоритмов является только необходимым, но отнюдь не достаточным условием успешного про- ведения оптимизационного исследования. При решении задачи та- кого рода приходится привлекать дополнительные соображения и проводить дополнительные исследования. Прежде всего необходимо сформулировать оптимизационную задачу и подготовить ее к реше- нию, выбрать подходящий алгоритм, выбрать или написать эффек- тивную программную реализацию этого алгоритма, провести ряд оптимизационных расчетов, включающих различные корректировки задачи и алгоритма, и, наконец, получив надежное решение, про- интерпретировать его в терминах реальной системы и использовать на практике. Учитывая, что почти во всех технических приложениях оптими- зационные алгоритмы используются в виде уже готовой программы, имеющейся в библиотеке программ фирмы, или такая программа за- купается (арендуется), при проведении оптимизационного иссле- дования больше всего времени занимает правильная постановка задачи, подготовка ее к решению и предварительные расчеты для выявления ошибок и отладки программ. К сожалению, для решения таких задач нужна профессиональная подготовка, которая трудно поддается анализу и классификации. Получить такие знания весьма непросто. Они приобретаются не в результате формального обуче- ния, а в процессе практической работы и тщательного анализа на- блюдавшихся успехов и неудач. В этой главе описываются некоторые принципы проведения оп- тимизационного исследования и на примерах рассматривается нес- колько альтернативных подходов к постановке задачи, подготовке ее к решению и устранению возникающих ошибок. Этот обзор не
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 20; претендует на исчерпывающий охват указанных вопросов. Он явля- ется обобщением опыта, накопленного авторами и другими специ- алистами, занимавшимися решением практических задач оптими- зации в технике. Подобный опыт приобретается в ходе неофициаль- ных обсуждений или по разбросанным в прикладных публикациях сведениям. 13.1. Построение модели Как указано в гл. 1, задача, к которой можно применить оптими- зационные методы, должна включать критерий эффективности, ряд независимых переменных, а также ограничения в виде равенств и неравенств, которые и образуют модель рассматриваемой системы. Описание и построение модели реальной системы — важнейший этап оптимизационного исследования, так как он определяет прак- тическую ценность получаемого решения и возможность его реали- зации. Процесс оптимизации с использованием модели можно рассмат- ривать как метод отыскания оптимального решения для реальной системы без непосредственного экспериментирования с самой си- стемой. Как показано на рис. 13.1, «прямой» путь, ведущий к опти- Рис. 13.1. Применение оптимизационных моделей. мальному решению, заменяется «обходным», включающим построе- ние и оптимизацию модели, а также преобразование полученных результатов в практически реализуемую форму. Очевидно, что такой подход к оптимизации системы обязательно требует использования некоторого упрощенного представления реальной системы. При формировании такого приближенного представления или модели следует учитывать только важнейшие характеристики системы, которые должны быть отражены в модели, а менее существенные особенности в модель можно не включать. Необходимо также сфор- мулировать логически обоснованные допущения, выбрать форму представления модели, уровень ее детализации и метод реализации на ЭВМ. Указанные соображения относятся к этапу построения модели и являются в той или иной мере произвольными. Специалис- ты, обладающие одинаковым уровнем подготовки, рассматривая од- ну и ту же реальную систему, могут предложить совершенно раз- личные модели. Однако ни одну из таких моделей независимо от степени ее детализации и сложности нельзя считать единственно
208 ГЛАВА 13 «правильной». Модели можно упорядочить по степени адекватности описания поведения реальной системы в представляющей интерес области эксплуатации. Таким образом, качество модели нельзя оценивать ни по структуре, ни по форме. Единственным критерием такой оценки может служить лишь достоверность полученных на модели прогнозов поведения реальной системы. Модель, включаю- щую нелинейные функции, можно считать предпочтительнее линей- ной модели лишь при условии, что нелинейная модель более точно описывает реальную систему. В то же время адекватность модели часто невозможно строго оценить и поэтому выбор той или иной модели в значительной сте- пени субъективен. Так, например, одна модель может оказаться более адекватной, чем другая в определенном диапазоне изменения переменных, но менее точной в другом диапазоне. В этом случае специалист может выбрать менее точную модель, поскольку она оказывается более точной в критической области. Иногда точность полной модели вообще невозможно оценить, а можно лишь судить о точности некоторых из описывающих ее уравнений. Следует отметить, что соответствие модели моделируемой систе- ме носит в лучшем случае правдоподобный характер. Поскольку модель по самой своей сути не более чем упрощение реальных соот- ношений, то не существует абсолютных критериев, с помощью кото- рых можно было бы ранжировать модели. Всегда есть ситуации, требующие субъективной оценки и «предвидения» того, как поведет себя реальная система. Таким образом, компетентные специалисты могут разойтись во мнении по поводу деталей построения модели. Как следствие очень важно, чтобы создатель модели детально знал моделируемую систему , понимал технические принципы, лежащие в основе компонентов модели, а в случае оптимизации проекта сам руководил всеми вычислениями, необходимыми для получения прак- тически реализуемого проекта. 13.1.1. Уровни моделирования Обычно самым дорогим этапом оптимизационного исследования является работа по созданию модели, так как она требует привле- чения компетентных специалистов, хорошо знающих изучаемую систему. Поскольку стоимость создания моделей резко растет по мере детализации модели, необходимо тщательно продумывать уро- вень детализации, чтобы он соответствовал целям исследования и отвечал качеству доступной информации о системе. Очевидно, нет необходимости создавать детализированную динамическую модель работы предприятия, если для решения задачи достаточно иметь простую модель типа затраты — выпуск. Более того, бесполезно разрабатывать сложную модель, если доступная информация, по которой определяются коэффициенты модели, разрознена и ненадеж- на. С другой стороны, поскольку оптимизируется именно модель,
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 209 а не реальная система, бессмысленно проводить оптимизационное исследование с упрощенной моделью, которая дает неправильное значение истинного оптимума системы. При разработке модели стремятся к тому, что иногда называют «принципом оптимальной неточности»: модель должна быть настоль- ко детализирована, насколько это необходимо для целей исследова- ния, для которого ее создали. Однако достичь этой цели всегда трудно. Методом проб и ошибок можно развить навыки интуитив- ного выбора моделей подходящей сложности для отдельных видов систем, но обычно бывает трудно перенести этот опыт на другие приложения. Существует единственный надежный способ создания модели с оптимальным уровнем неточности, а именно метод посте- пенного совершенствования модели и методов оптимизации. Начав с самой простой модели, ее последовательно доводят до такого уров- ня, когда точность полученного значения оптимума соответствует точности используемой в модели информации. Однако этот трудо- емкий процесс иногда требует больших затрат времени, чем возмож- но в условиях конкуренции. Для того чтобы получить результаты в заданные сроки и не проводить постепенного совершенствования модели, обычно подгоняют модель под оптимизационные методы, наиболее развитые к данному времени или освоенные специалистом, проводящим эту работу, или же использованные в предыдущем ис- следовании. Например, часто возникает желание формулировать все задачи как задачи линейного или геометрического программи- рования просто потому, что специалисту удобно работать с задачами такой структуры. Иногда возникает необходимость представить задачу в специаль- ном виде. Например, для успешного решения задач с целочисленными переменными существенно, чтобы задача была представлена в на- глядном виде, например в виде сети. Важно знать, как скажется представление задачи в специальном виде на качестве решения. При разработке модели следует также учитывать возможности и ограничения имеющихся оптимизационных программ. Совершенна очевидно, что нельзя надеяться решить задачу НЛП такой же боль- шой размерности, какие решаются с помощью программы ЛП. Од- нако на этапе моделирования соображения такого рода должны иг- рать второстепенную роль по сравнению с основными требованиями задачи. Для того чтобы продемонстрировать модели различных уровней, которые можно разработать для одной и той же задачи, рассмотрим на качественном уровне оптимизацию производства полимеров. Пример 13.1. Оптимизация производства полимеров Постановка задачи. На предприятии по выпуску различных полимеров (рис. 13.2) технологическая схема включает последова- тельные стадии переработки, на каждой из которых параллельно работает ряд установок и агрегатов; запас промежуточной продук-
210 ГЛАВА 13 ции хранится между производственными участками. На первой ста- дии в нескольких реакторах идут различные виды полимеризации; на второй стадии параллельно работает несколько линий экструзии различной производительности; на стадии смешивания работает пять линий, состоящих из одной и более установок для смешивания. Конечная стадия производства — это стадия, на которой произво- дится упаковка готовой продукции в различную тару: отгрузка без расфасовки, упаковка в коробки или мешки. Предприятие вы- пускает ряд полимеров различного типа. В связи с этим производст- во не носит непрерывный характер. Для того чтобы иметь возмож- ность переналадки оборудования для выпуска других видов про- дукции, на каждой стадии производства предусмотрено хранение ограниченного объема промежуточного продукта. Кроме того, на стадии смешивания имеется несколько больших емкостей, необходи- мых для обеспечения нужного набора ингредиентов для приготовле- ния смесей. Этот процесс требуется «оптимизировать». Поскольку фактичес- ки номенклатура производимых продуктов существенно отличается от запланированной при проектировании предприятия, представля- ется возможным значительно увеличить прибыльность производства. Предварительное исследование: линейные модели. На первом этапе исследования строится простая линейная модель типа «затра- ты — выпуск», с помощью которой определяется предпочтительная номенклатура производимых продуктов. Линейная модель основы- вается на средних нормах производительности и среднем времени производства каждого продукта на каждом технологическом участ- ке. В модели используются средние показатели выпуска бракован- ной продукции (т. е. продукции, не удовлетворяющей техническим условиям), текущие уровни наличия сырья и текущие рыночные цены, а также предполагается неограниченный спрос. Линейная модель оптимизируется при помощи программ ЛП, в результате чего проводится окончательный выбор тех продуктов, которые сле- дует включить в номенклатуру выпускаемой продукции. При дальнейшем исследовании выясняется, что после увеличения выпуска одних продуктов и прекращения производства других
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 211 брак может увеличиться. Обычно брак исправляется в процессе производства. Интенсификация переработки бракованной продук- ции в процессе производства приводит к тому, что на линиях экстру- зии возникают узкие места. Учитывая это, приходится усложнять первоначальную линейную модель, включая в нее основные внут- ренние потоки продуктов, участвующих в производстве, как пока- зано на рисунке 13.3, а также явные ограничения на максимальную Рис. 13.3. Процесс с явным повторным циклом. и минимальную производственные мощности установки, используе- мой для промежуточной переработки. Модифицированная модель имеет существенно большую размерность, но остается линейной и позволяет применять методы ЛП. Исследование конкретных случа- ев с помощью расширенной модели показывает, что как раз произ- водительность линий экструзии и процессов смешивания ограничи- вают производство запланированного оптимального ассортимента продуктов, и поэтому она должна быть несколько увеличена. Нелинейные модели. Для получения оптимального значения величины капиталовложений в дополнительное оборудование модель усложняется путем включения в нее нелинейных основных и экс- плуатационных расходов, связанных с дополнительным оборудова- нием, в зависимости от его производительности. Дополнительные производственные мощности нетрудно учесть в системе линейных ограничений. Однако в результате введения указанных стоимост- ных членов целевая функция становится нелинейной. В конечном счете возникает задача НЛП с линейными ограничениями, которую можно решать с помощью разработанного программного обеспече- ния. Используя результаты оптимизации, можно определить соот- ветствующие капиталовложения на расширение производства. На этом этапе исследователи могут отметить, что расчет дополни- тельных производственных мощностей произведен на основе сред- них норм производительности и в предположении неизменной тех-
212 ГЛАВА 13 нологии производства продукции на предприятии. Поэтому может оказаться целесообразным рассмотреть другие технологические решения, а также другую последовательность производства продук- тов и другие длительности производственных циклов. В модели за- вода придется учитывать дополнительные факторы, как, например, размеры выпускаемых партий, длительность производственных цик- лов, последовательность производства продуктов и проведение пере- наладок. Для учета этих факторов даже в ограниченном объеме требуется модифицировать модель посредством введения булевых переменных. С их помощью задается порядок производства продуктов. При этом следует учитывать соображения, связанные с организацией вычис- лительного процесса: имеющиеся программы для решения задач частично целочисленного программирования не рассчитаны иа не- линейные целевые функции или ограничения. Поэтому каждая не- линейная функция затрат аппроксимируется постоянной состав- ляющей и линейным стоимостным членом. Используя этот прием, можно решить полученную задачу частично целочисленного про- граммирования. Достигнутое решение может показать, что целесо- образно провести некоторые небольшие изменения последователь- ности производства продуктов и сократить время производственных циклов. В дальнейшем может оказаться желательным ввести в мо- дель временные циклы, а также включить в исследование сеть по- требителей и региональные склады. Учет этих факторов приводит к дальнейшему расширению модели. Имитационные модели. При дальнейшем рассмотрении могут возникнуть вопросы о влиянии на экономику завода изменения вре- мени окончания и начала работы установок, а также производства в этот период нестандартной продукции. Кроме того может возник- нуть необходимость более тщательного изучения запасов промежу- точной и готовой продукции. Если перенос времени начала и окон- чания работы установок и изменение запасов вызывают большой интерес, следует разрабатывать модель для исследования динамики системы. При этом оптимизация проводится путем конкретных исследований или методом прямого поиска по малому количеству переменных с непосредственным использованием оптимизационных алгоритмов. Когда выясняется, что колебания производительности оборудо- вания и времени простоя или переналадки на некоторых или всех стадиях производственного процесса существенны, может потребо- ваться дальнейшее уточнение имитационной модели посредством введения в нее полученных методом Монте-Карло случайных значе- ний этих колеблющихся переменных. В этом случае следует собрать статистическую информацию о наблюдаемых колебаниях, определить вид соответствующих функций распределения и учесть получен- ные данные в модели. Такие модели для рассмотренного выше заво- да и их обсуждение приведены в работе [1J. Непосредственная опти-
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 213 мизация моделей этого типа требует больших затрат времени ЭВМ, поэтому целесообразно проводить оптимизацию, исследуя конкрет- ные примеры, соответствующие некоторым значениям параметров. Таким образом, в зависимости от глубины и целей исследования для оптимизации производства полимеров могут применяться как модели ЛП небольшой размерности, так и большие модели ЛП или частично целочисленного программирования, модели НЛП, ста- тистические имитационные модели, а также, наконец, метод Монте- Карло. Понятно, что едва ли стоит проводить исследование, исполь- зуя самую сложную модель, если даже простейшая модель указы- вает, что возможности улучшения проекта незначительны. По тем же соображениям бессмысленно создавать и пользоваться детали- зированной имитационной моделью, когда отсутствует информация для оценки параметров стохастической модели. 13.1.2. Типы моделей Из анализа примера 13.1 видно, что исследователь должен опре- делить уровень детализации модели системы и выбрать тип модели. В оптимизационных исследованиях обычно используются модели трех основных типов: 1) аналитические модели, 2) модели поверх- ности отклика, 3) имитационные модели. Модель первого типа включает уравнения материального и энергетического баланса, соотношения между проектными техни- ческими характеристиками и уравнения, описывающие физические свойства; оии образуют системы уравнений или неравенств. Для того чтобы иметь возможность применять изложенные выше методы, функции в уравнениях должны принимать вещественные значения, которые можно вычислить для выбранных значений независимых переменных. В принципе уравнения могут содержать интегральные или дифференциальные операторы. Однако на практике лучше всего заменить их квадратурными формулами или аппроксимировать, чтобы иметь в модели только алгебраические функции. Большинство примеров, рассмотренных в предыдущих главах, представляли со- бой модели, состоящие из алгебраических уравнений. Поскольку такие модели описывают поведение системы на уровне основных технических принципов, они обычно достоверны для более широких условий работы системы, чем модели поверхности отклика. В модели поверхности отклика вся система или входящие в нее части состоят из аппроксимирующих уравнений выбранного вида, коэффициенты которых определяются на основе прямо или косвенно полученной информации о работе системы. К типичным аппрокси- мирующим уравнениям относятся линейные уравнения связи и уравнения с квадратичными функциями. Модели такого типа ис- пользуются обычно в тех случаях, когда отклик системы непред- сказуем или слишком сложен, что делает невозможным создание детализированной модели исходя из технических принципов. По-
214 ГЛАВА 13 скольку переменные взаимозависимы, модели поверхности отклика обычно надежны только в ограниченной области значений перемен- ных системы. Однако их преимуществом является упрощенная структура. В моделях третьего типа основные уравнения, описывающие по- ведение системы, группируются в отдельные модули или подпро- граммы. Они описывают работу отдельных частей оборудования или реакцию системы на изменение ее состояния. Каждый из этих модулей или подпрограмм независим от других и содержит внутрен- ние вычислительные процедуры, такие, как решение уравнений, интегрирование или процедуры логического разветвления. Имита- ционные модели обычно используются в тех случаях, когда трудно решать уравнения с неявно заданными переменными, когда от со- стояния системы зависит выбор алгоритма вычислительной процеду- ры или соответствующих уравнений, когда в модель приходится вводить случайные возмущения, что требует использования метода Монте-Карло для получения выборки. Модели этого типа обычно сложнее моделей двух описанных выше типов и, как правило, при их использовании нужны значительно большие вычислительные мощности. В большинстве случаев выбор типа модели определяется качест- вом имеющейся информации о системе, степенью понимания того, что происходит с системой, и зависит от сложности самой системы. При выборе предпочтение отдается аналитическим моделям, так как в этом случае можно использовать обычные методы НЛП. В не- которых случаях имитационные модели могут оказаться более эф фективными, поскольку можно использовать специальные процеду- ры решения повторяющихся блоков уравнений, но при этом затруд- нительно присваивать значения вспомогательным зависимым пере- менным, фиксировать их значения или вводить для них ограниче- ния, а также менять ролями зависимые и независимые переменные. На приведенном ниже примере показаны основные различия этих трех типов моделей. Пример 13.2. Модель сепаратора-испарителя Описание системы. Равновесный сепаратор-испаритель пред- ставляет собой аппарат, в котором происходит снижение давления и охлаждение многокомпонентной смеси. Смесь переходит в жидкую и газообразную фазы, которые затем разделяются. Как показано на рис. 13.4, в состав такого аппарата входит клапан, теплообмен- ник и корпус с одним входным и двумя выходными патрубками. В корпусе обычно имеется проволочная сетчатая набивка или дру- гое устройство для улавливания капель жидкости, увлекаемых выходящим паром. В сепаратор подается смесь определенного со- става, состоящая из ряда компонентов zt (количество компонента i в молях на моль смеси); известен расход смеси F (моль/ч) Основным параметром, характеризующим работу аппарата, является отноше-
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 215 ние расхода выходящего пара к расходу подаваемой смеси V/F при различных значениях температуры Т и давления Р. Требуется построить модель для описания зависимости между этими парамет- рами в случае подачи смеси определенного состава. Модель поверхности отклика. В том случае, когда отсутствует информация о системе, одна из возможностей выразить зависимость между V/F, Т и Р состоит в построении модели поверхности отклика для определенной смеси в заданной области значений Т и Р. Раз- работка такой модели требует проведения экспериментов в опреде- ленной области значений Т и Р, результаты которых позволяют определить коэффициенты корреляционной функции подходящего вида. Например, если предполагается квадратичная зависимость от Т и Р, то уравнение поверхности отклика в общем виде имеет вид v / Т \ Мп а2Д ( Т \ ^ = с1 + (Ь1,Ьги } + (Т,Р)т[ ( ). (13.1) \ Г / \U13 а2з/ \ Г / Поскольку a2i=ai2, то в модели остается шесть неизвестных коэф- фициентов, и поэтому требуется провести как минимум шесть экс- периментов для определения значений этих шести коэффициентов. Очевидно, что поверхность отклика адекватно описывается только в области 7’(£) << р <; pwi рш <Z Р <Z Р{иу охватываемой экспериментами. Более того, даже в пределах этой области модель будет работать с некоторыми ошибками, так как, вероятно, зависимость VIF от Т и Р не точно выражается квадратич- ной функцией. Аналитическая модель. Известно, что при идеальных равно- весных условиях соотношение между паром и жидкостью в молях определяется законом Рауля [2): yilxt=Pi(T)IP, (13.2)
216 ГЛАВА 13 где pt(T) — парциальное давление компонента i при температуре Т. Приближенная зависимость pt от Т выражается полуэмпирическим уравнением вида 1прг=Аг—[Btl(T— С()], (13.3) где Ait Bi, Ct — эмпирические константы для компонента I. Аналитическую модель, описывающую зависимость между V, L, Т и Р, можно построить на основе уравнений(13.2) и (13.3), а так- же закона сохранения массы. Так, поскольку масса поступающего на вход компонента i должна быть равна его массе на выходе из ап- парата, имеем Fzi=Vyi+LXi. (13.4) Кроме того, поскольку yt и xt — доли смеси, то их сумма должна быть равна единице; получаем 2^=1. (13-5) 2^=1. аз.6) i Из уравнений (13.2) и (13.3) имеем <13” В том случае, когда смесь состоит из трех компонентов, система уравнений (13.4) — (13.7) содержит восемь уравнений, описывающих зависимости между V, L, Т, Р с шестью дополнительными перемен- ными Xi, yt. Если известны F, zt и заданы Т и Р, то из нелиней- ной аналитической модели определяются значения восьми перемен- ных V, L, Xi и yt. При проведении оптимизационных расчетов урав- нения (13.4) — (13.7) рассматриваются как ограничения в виде равенств и к ним, кроме того, добавляются ограничения в виде неравенств: T'd) Т Т11» <; р <; р(О) V, L, х{, у{^0. Имитационная модель. Из системы уравнений (13.4) — (13.7) нельзя получить выражение для V/F в алгебраической форме. Од- нако эту систему можно свести к одному нелинейному уравнению, выражающему зависимость V/F от переменных Т, Р. При фикси рованных значениях Т и Р решение этого уравнения с помощьк одного из методов нахождения корней уравнения позволяет опре- делить значения V/F. Можно показать [3], что после алгебраиче ских преобразований уравнение принимает вид
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 217 Г г1 (1 — Р ехр [В,/(Т — Ci) — Ai]} 1 q , о о\ 1 — (F/F){1 — Рехр Ct) — Л,-]} J ( ; i В этом уравнении переменными являются только Т, Р и V/F, по- скольку А/, Bh Ct и zt— константы. Численное решение уравнения (13.8) при заданных значениях Т и Р можно реализовать как самостоятельную подпрограмму или процедуру, которую будем называть FLASH. При использова- нии этой процедуры модель зависимости между VIF, Т, Р принимает вид V7F=FLASH (7\ Р). (13.9) Поэтому, вместо того чтобы рассматривать уравнения (13.4) — (13.7) как ограничения в виде равенств, а все переменные V, L, xt, Hi, Т, Р как независимые, проще считать отношение V/F зависимой переменной, значения которой определяются значениями незави- симых переменных Т и Р. В отличие от модели поверхности отклика [см. уравнение (13.1)] при использовании имитационной модели тре- буется вычислять корни уравнения (13.8) каждый раз, когда опреде- ляется зависимость (13.9). Заметим также, что если при оптимизации ввести границы для значений V/F, то такие же ограничения должны быть введены для процедуры FLASH. Очевидное преимущество использования процедуры FLASH заключается в том, что если в исследуемой системе имеется несколь- ко сепараторов, то, изменяя параметры zt, At, Bt и Сг, эту проце- дуру можно применять в моделях каждого из сепараторов по от- дельности. Неудобство состоит в том, что процедура имеет жесткую вычислительную структуру. Поэтому, если в других вариантах мо- дели аппарата потребуется зафиксировать значение V/F и, напри- мер, считать переменной температуру Т, то процедуру FLASH при- дется исключить, а вместо нее ввести новую процедуру. Напротив, в аналитической модели нетрудно зафиксировать значение V/F и считать Т переменной, при этом не требуется изменять уравне- ния модели. 13.2. Реализация модели Независимо от выбранного типа модели исследователь должен сделать выбор, каким образом реализовать модель и в какой форме записать ее, какие средства использовать для подготовки оптими- зационной задачи к решению, какой стратегии счета придерживать- ся при решении. Эффективность исследования в целом, а также вре- мя подготовки к проведению этой работы существенно зависят от правильности подхода к этим проблемам, и поэтому они являются важными составными частями оптимизационного исследования.
218 ГЛАВА 13 13.2.1. Форма представления модели Модель для оптимизационного исследования можно записать в явном виде, а затем запрограммировать для вычисления значений функций и производных. Модель можно также генерировать с по- мощью ЭВМ, используя средства вычислительной техники различ- ной сложности. В случае аналитической модели, простейшей фор- мой которой является модель ЛП, линейные уравнения и неравенст- ва можно записать и ввести в ЭВМ, а коэффициенты уравнений за- нести в специально организованный для программы ЛП массив. Для некоторых классов систем ограничений можно проводить авто- матическую запись коэффициентов, используя генератор матриц. Например, нетрудно получить ограничения вида 2х;=1, задав только индексы переменных под знаком суммы и значение констан- ты в правой части. С помощью генератора матриц можно получить соответствующий массив коэффициентов. Во всех программах тре- буется, чтобы входные данные были представлены в стандартной форме MPS, в которой каждый элемент массива характеризуется строкой и столбцом, где он находится, а также числовым значением. Эти тройки чисел используются для записи исходных данных. За- пись вручную таких информационных файлов — малопродуктивная и утомительная работа, поэтому для этой цели обычно пользуются некоторыми 1енераторами матриц. В конкретных задачах, когда возникают связанные между собой подсистемы регулярных структур различного вида, эффективным является использование генераторов уравнений. Генератор уравне- ний для подсистемы каждого вида программируется таким образом, что при записи всей модели идентифицируются только подсистемы, входящие в модель, и их взаимные связи. Например, в работе [4] описан генератор уравнений для модели ЛП, с помощью которой оптимизируется работа завода [4]. Созданы также генераторы урав- нений, предназначенные для построения моделей химического про- изводства, которые ориентированы на получение оценок или не- посредственную оптимизацию [5, 6]. Генераторы первого вида формируют нелинейные модели, а второго — линейные модели материального и энергетического баланса. Особенно перспективно использование генераторов нелинейных уравнений в технических приложениях, где имеются аппараты и машины многократного при- менения — насосы, теплообменники, компрессоры и тому подоб- ное, которые можно представить уравнениями общего вида. Исполь- зование генераторов уравнений для проведения одного оптимиза- ционного исследования неоправдано из-за их сложности и большой стоимости разработки. Однако разработка становится целесообраз- ной, когда предполагается провести ряд исследований, в каждом из которых мог быть использован генератор уравнений. Использо- вание генератора дает возможность представить модели в стандарт-
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 219 ном виде, позволяет сделать удобную документацию и сводит к минимуму ошибки и пропуски при кодировании модели. В случае моделей поверхности отклика можно непосредственно использовать систему уравнений или ее отдельные компоненты для получения информации, на основе которой можно вывести аппрок- симирующие уравнения с зависимыми и независимыми переменны- ми. Как правило, информация собирается вручную и вносится в программу регрессии для вычисления коэффициентов аппроксими- рующего уравнения. Этот процесс можно автоматизировать так, чтобы обработка и упаковка данных, а также оптимизация выпол- нялись без вмешательства человека. Часто более сложные модели компонент системы используются для того, чтобы автоматически получить модели поверхности отклика для последующей оптимиза- ции. Например, имеются сведения об использовании имитационных моделей установок каталитического крекинга со взвешенным ката- лизатором, крекинга в водородной среде и реакторов для каталити- ческого риформинга нефтеперерабатывающего завода для получе- ния линейных моделей поверхности отклика, которые вводят в мо- дель ЛП всего нефтеочистительного завода [7]. Автоматическое по- лучение линейных и квадратичных моделей поверхности отклика на основе детализированных нелинейных моделей схем техноло- гических процессов подробно рассматривается в работах [8, 9, 10]. Вопросы автоматизированного построения моделей поверхности отклика методом Монте-Карло и их использования для оптимиза- ции работы имитируемой системы изложены в [11]. Без сомнения, автоматическое создание моделей и автоматизированная обработка информации предпочтительнее во всех случаях, когда требуется многократное повторение решений. Имитационные или аналитические модели можно сразу запи- сать в виде программ или воспользоваться библиотеками имитацион- ных программ. При построении модели системы можно использо- вать метод блочного моделирования. Связь между отдельными моду- лями, описывающими различные устройства системы, которые получены из библиотеки имитационных программ, устанавливается самим пользователем с помощью языка управления заданиями или программными средствами Использование таких моделей не- прерывно расширяется в различных отраслях промышленности [12]. Разработаны специализированные пакеты программ для модели- рования сетевых задач со стохастическими элементами [13], а также систем с дискретной или дискретно-непрерывной динамикой [14, гл. XIII-11J. Вообще имитационные модели достаточно сложные и для решения требуют больших затрат машинного времени. Вслед- ствие этого они используются при решении оптимизационных за- дач с небольшим числом независимых переменных. При решении большей части технических прикладных задач, как правило, используются разработанные самими исследователя- ми аналитические модели или специальные имитационные модели.
220 ГЛАВА 13 Автоматическое генерирование аналитических моделей обычно ис- пользуется только для моделей линейного или (и) частично цело- численного программирования, хотя этому методу уделяется все больше внимания при решении оптимизационных задач в про- мышленности. Модели поверхности отклика чаще всего использу- ются совместно со сложными имитационными моделями, чтобы из- бежать непосредственной оптимизации имитационных моделей. 13.2.2. Подготовка задачи к решению После того как модель построена и выбран способ ее представ- ления, следует подготовить задачу для решения с помощью под- ходящего оптимизационного алгоритма. Подготовка задачи к реше- нию включает три этапа: 1) модификация модели с целью преодоления вычислительных трудностей; 2) преобразование модели для повышения эффективности реше- ния; 3) анализ модели с целью нахождения возможных признаков решения задачи. Преодоление вычислительных трудностей. Вычислительные трудности, связанные с решением задачи, которые приводят к преж- девременному прерыванию счета, обычно вызываются четырьмя основными причинами: плохим масштабированием, несоответстви- ем программ для вычисления значений функций и программ для вы- числения производных, недифференцируемостью входящих в мо- дель функций, неправильным заданием области определения зна- чений аргументов функций. Как правило, при тщательном анализе модели можно выявить эти ситуации и исключить их путем простой модификации модели. Масштабирование В результате масштабирования осуществляется переход к от- носительным значениям величии, используемых в оптимизационной модели. При масштабировании переменных оперируют с относи- тельными значениями переменных в задаче; при масштабировании ограничений — с относительным значением или относительной чувствительностью каждого из ограничений в отдельности. В идеаль- ном случае все переменные модели масштабируются таким образом, чтобы их значения находились в интервале 0,1—10. В этом случае векторы направления поиска и векторы возмущений квазиньюто- новского метода имеют приемлемые значения. Если значения пере- менных по приближенным оценкам решения выходят за этот интер- вал, то можно просто произвести в модели замену переменных но- выми, умноженными на соответствующие коэффициенты таким об- разом, чтобы новые переменные принимали значения из этого ин- тервала.
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 221 Таким же образом по оценкам ограничений в приближенном ре- шении исследуется чувствительность ограничений к изменениям значений переменных. На следующем этапе можно исследовать в приближенном решении матрицу, составленную из градиентов ог- раничений. Наилучший случай, когда все ограничения имеют почти одинаковую чувствительность к изменениям значений переменных и значения компонент градиентов ограничений находятся внутри одного и того же интервала значений. Благодаря этому невязки ограничений получают одинаковые веса и матричные операции с якобианом ограничений не приводят к потере точности вычислений. Только масштабирование путем умножения ограничений на соот- ветствующие коэффициенты позволяет сохранять их значения и зна- чения компонент градиентов функций ограничений в интервале 0,1—10. Приведенный ниже простой пример иллюстрирует процеду- ру масштабирования переменных и ограничений. Пример 13.3 Масштабирование задачи (а) Провести масштабирование системы ограничений h1(x)=x1-f-x2—2=0, h2(x)= 10%—0,9 -10%—105=0 в точке (1,1; 1,0). (б) Провести масштабирование системы ограничений /г1(х)=х1+10%—2 -10*=0, h2(x)=x1—0,9 -10%—105=0 в точке (10е; 0,9). Решение, (а) В точке (1,1; 1,0) функции принимают следую- щие значения: ММ; 1,о)=о,1; МЫ; 1,0)=10». Заметим, что заданная точка очень близка к решению системы урав- нений х* = (1; 1). Однако ограничения плохо масштабированы и по- этому существенно отличаются по чувствительности. Отметим, что значение определителя матрицы коэффициентов ограничений ( 1 1 \10* —0,9 10в/ равно —1,9-10е. Исправить положение можно, разделив h2(x) на 10*. В результате получаем /i1(x)=x1+x2—2=0, /i2(x)=ft2(x)/10e=x1—0,9х2—0,1=0. Тогда h2 (1,1; 1,0)=0,1 и якобиан системы принимает вид /1 1 \ \1 —0,9/ со значением определителя —1,9.
222 ГЛАВА 13 (б) В точке (10е; 0,9) функции принимают следующие значения: МЮ"; 0,9)=—10», й2(10»; 0,9)=0,9-10» и якобиан ограничений имеет вид fl 10» \ V —0,9-10»/ со значением определителя — 1,9'10». Опять заданная точка очень близка к решению системы х* = (10»; 1,0). Принимая, что перемен- ная Xt масштабируется введением новой переменной #=10~»х1, по- лучаем систему уравнений в виде МУ. х2)=10»у+10%—2-10в=0, Му. х2)=10»у—9-10%—10»=0. Если промасштабировать оба уравнения еще раз, разделив их на 10», то получим у+х2—2=0, у—0,9х2—0,1=0. В заданной точке (1; 0,9) имеем л;=—0,1, л;=о,о9. Из примера хорошо видно, что масштабирование ограничений и пе- ременных в матричной форме есть не что иное, как масштабирова- ние коэффициентов матрицы соответствующего якобиана. В некото- рых случаях масштабирование приходится выполнять путем нес- кольких последовательных итераций, как показано в примере 13.36. Масштабирование переменной может привести к необходимости масштабирования одного или нескольких ограничений. Процедура масштабирования, выполняемая путем нескольких последователь- ных операций для определения значений масштабирующих множи- телей, рассмотрена в работе [15]. Процедура масштабирования состоит в том, чтобы найти такие векторы масштабирования строк и столбцов г и с, которые позво- лят сохранить отношение величин J и = г ifi/i (13.10) где Jц есть О', /)-й элемент матрицы, строками которой являются градиенты ограничений, к значению «среднего» элемента матрицы J. В интервале ki, е2] значение среднего элемента z вычисляется сле- дующим образом: описывается максимальный по абсолютной вели- чине элемент матрицы J, расположенный в строке i* и столбце /*, подсчитывается среднее абсолютное значение всех ненулевых эле- ментов матрицы J вне строки i* и столбца /*. Если NZ — число всех ненулевых элементов матрицы J, за исключением элементов
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 223 строки <’* и столбца /*, то z= TJZ И И I 1 • i ¥= i* / ¥= /• При этих обозначениях цель масштабирования состоит в том, что- бы найти такие г и с, что для выбранных подходящих значений ех и 821 например 10 и 0,1, Рассматриваемый ниже алгоритм не обязательно приводит к вы- полнению указанных выше требований по всем строкам и столбцам, но позволяет приблизиться к решению этой задачи. Метод рекурсивного масштабирования В данной точке х° подсчитать J и z. При заданных значениях е! и 8g выполнить следующие операции: Шаг 1. Для всех еще немасштабированных столбцов j вычис- лить <7 = Пу2 /21 J и I. 1 ( где rij — число ненулевых элементов в столбце j матрицы J. Если EgCCjCej, положить Су=1. В противном случае в качестве коэффи- циента масштабирования принять с,, с помощью уравнения (13.10) преобразовать столбец J и пересчитать z. Ш а г 2. Если хотя бы один столбец j был масштабирован на ша- ге 1, перейти к шагу 3. В противном случае масштабирование пре- кратить. Шаг 3. Для всех еще немасштабированных строк вычислить г, = гя£г /21 Л/1- где шг — число ненулевых элементов в строке / матрицы J. Если Sg^riCSb положить гг=1. В противном случае в качестве масшта- бирующего множителя принять rit с помощью уравнения (13.10) преобразовать строку J и пересчитать г. Шаг 4. Если хотя бы одна строка i была масштабирована на шаге 3, перейти к шагу 1. В противном случае масштабирование прекратить. Заметим, что в этой процедуре строки и столбцы масштабируются только по одному разу. При решении ряда тестовых задач с помощью программы BIAS [15], в которой использован метод множителей, было установлено, что можно существенно повысить эффективность решения путем модификации рассмотренной процедуры масштаби- рования. Эти результаты подтверждаются другими исследователя- ми, пользовавшимися наряду с методами штрафных функций про-
224 ГЛАВА 13 цедурой масштабирования [16]. С другой стороны, исследование эф- фективности более сложного метода масштабирования в сочетании с алгоритмами ОПГ дало противоречивые результаты: в одних слу- чаях результаты улучшались, а в других — ухудшались [17]. Полученные данные подтверждают предположение, что методы ОПГ и проекций не так чувствительны к масштабированию, как методы штрафных функций или методы множителей. В работе [17] предла- гается использовать простые процедуры масштабирования, как в примере 13.3, совместно с методами ОПГ. Однако следует продол- жить работы по исследованию более эффективных методов автомати- ческого масштабирования. Опыт авторов дает основание считать, что при подготовке задачи к решению любым оптимизационным ме- тодом всегда следует использовать простые способы масштабиро- вания. Несоответствие между значениями функций и их производных Несоответствие между значениями функций в модели и значе- ниями их производных может оказаться незамеченным, но эта ошиб- ка может увести алгоритм поиска в ложном направлении. Простей- ший способ проверки соответствия значений функции и градиента состоит в вычислении разностей значений функции и сравнении по- лученных величин с величинами, определенными путем вычисле- ния производных на основе аналитического задания градиентов. Для того чтобы исключить подобные ошибки, во многих случаях вычисляют значения градиентов по разности значений функций. Однако использование представленных в аналитическом виде гра- диентов позволяет повысить эффективность решения задачи, осо- бенно в том случае, когда предусмотрено сохранение их значений для повторно встречающихся наборов переменных. Недифференцируемость функций в модели Наиболее часто недифференцируемость функций в модели воз- никает в двух случаях: 1) условные операторы приводят к различ- ным выражениям; 2) работа некоторых блоков модели зависит от значений выбранных переменных или функций, а также минимакс- ных операторов. Недифференцируемость такого рода вызывает принципиальные трудности: вычисление градиентов приходится производить в окрестностях точек переключения условного или минимаксного оператора. Если 6 — приращение при дифференци- ровании, то в точке х°+6 вычисляется значение одной функции, а в точке х° возможно придется вычислять значения другой функ- ции. В связи с этим невозможно точно вычислить значение градиен- та. В гл. 9 (разд. 9.5) показано, как минимаксные операторы мож- но заменить системой неравенств. Так g(x) = max {gj{x), j=l......J} можно заменить на / = 1, J.
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 225 Однако если в модели много условных выражений, то целесообраз- но не применять оптимизационные алгоритмы, в которых исполь- зуются значения градиентов функций. Недопустимые значения аргументов функций Часто упускается из виду, что простая причина остановки счета на ЭВМ при решении оптимизационных задач связана с неконтро- лируемым выходом значений аргументов функций за пределы до- пустимой области. Функции вида [g(x)]b или log [g(x)j часто встречаются в моделях технических устройств. Если при оптимиза- ционных расчетах g(x) получит отрицательное или нулевое зна- чение, то прекращается счет на ЭВМ. Для предотвращения таких случаев в модель вводится ограничение вида g(x)^e>0, где е — малая величина. Некоторые исследователи предлагают устранить все операции деления на переменные, чтобы исключить особые точ- ки функций и их производных [18]. Повышение эффективности решения. Как уже отмечалось при рассмотрении алгоритмов НЛП, сложность решения нелинейных оптимизационных задач экспоненциально возрастает с увеличе- нием количества переменных или ограничений в виде равенств и неравенств. Как правило, при наличии линейных ограничений встречается меньше трудностей, чем при нелинейных, а при нали- чии ограничений в виде неравенств меньше, чем при ограничениях в виде равенств. Поэтому на стадии подготовки задачи к решению целесообразно попытаться модифицировать модель с целью умень- шения количества ограничений, особенно нелинейных, и количе- ства переменных. Модель можно улучшить с помощью преобра- зований функций и переменных, исключением лишних ограниче- ний, а также используя метод последовательной подстановки. Преобразование функций Под преобразованием функции здесь понимается любое алгеб- раическое преобразование функции или объединение данной функ- ции с какой-либо другой. Для повышения эффективности решения задачи обычно проводятся преобразования, которые позволяют заменить нелинейные ограничения линейными, а равенства — не- равенствами. Например, легко преобразовать нелинейное ограни- чение вида где g(x) — линейная по х функция, в линейное ограничение, умножив обе части на у: g(x)—by=0. Аналогично можно преобразовать ограничение вида п 8 1865
226 ГЛАВА 13 в линейное ограничение по логарифмам переменных 1пх„<1пс. п Это преобразование, конечно, возможно только в случае, когда все хп и константа с имеют положительные значения. Другой распространенный прием преобразования ограничений состоит в том, что ограничение в виде равенства заменяется двумя неравенствами противоположных знаков. Так, /ift(x)=0 заменяется на Aft(x)C0. Этот прием полезен только в том случае, когда из структуры hk(x) и целевой функции видно, что в точке оптимума будет иметь существенное значение одно из двух неравенств. Поэтому при по- строении модели следует оставить только это неравенство. Благо- даря этому искусственно расширяется область возможных решений; проще выбрать допустимую начальную точку и найти решение. В случае когда нельзя пренебречь ни одним из неравенств, не воз- никает реальных возможностей по упрощению вычислений. Лю- бая точка, являющаяся внутренней для одного неравенства, ока- зывается недопустимой для другого. Более того, в любой допусти- мой точке оба неравенства должны выполняться как равенства, поэтому в результате преобразования фактически возрастает ко- личество ограничений в виде равенства. Во избежание подобных затруднений иногда ослабляют неравенства, вводя подходящую погрешность е > О, hk (х)^8, hk (х)>—е. Величина погрешности позволяет расширить область допустимых решений, т. е. выйти за пределы поверхности hh(x)~0. Однако полученное решение будет включать ошибку, пропорциональную величине погрешности. Пример 13.4. Преобразование ограничений Рассмотрим задачу: минимизировать f (х) = х,-1х^’х4 при ограничениях (х) = х, + х£—1 = 0, /ц (х) == Х7'х3— 2 = 0, gi (х) = 3 —хГгх6~1/3>0, (х) = 4—х5^0, х£^0, г=1......5. Отметим, что /г2(х) легко преобразовать в линейное ограничение: Л; (х)=хз—2х2=0.
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 227 Затем, логарифмируя обе части неравенства Г-2Г-1/3 О Л4 A g О j можно преобразовать ограничение gi к виду (х) = In3 + 2 Inх4+ */з Inх6 > 0. Наконец, равенство /гДх) можно записать в виде двух нера- венств: g3 (х) = х* + х*— 1 >0, (х) = х? + х^— 1 гСО. Заметим, что f(x) принимает минимальное значение при максималь- но допустимых Xi и х3, а также х2, как это следует из ограничения h2. Поэтому решение будет ограничиваться только вторым нера- венством, а первое можно опустить. Таким образом, с переменными t/i==ln лг4, t/2=ln оптимизационная задача имеет вид минимизировать /' = хр'хт1 exp (t/J при ограничениях Н'2(х) = Хз — 2х2 = 0, gi (х) = In 3 -|- 2yt + 78i/2 > 0, g2 (x) = ln4 —1/2>0, gi (х) — 1 X, х2 0, X,, Хг, Х3>0, где t/i и уг не ограничены по знаку. Поскольку минимизация f эквивалентна минимизации In можно также заменить f сепарабельной функцией 1П f ——1П Xi—In х3+у1. Задача минимизации In /' с преобразованными ограничениями является задачей выпуклого программирования с одним нелиней- ным неравенством (g4) и тремя линейными ограничениями. Исход- ная задача невыпуклая и имеет три нелинейных ограничения. Преобразованная задача решается значительно проще, чем ис- ходная. Преобразование переменных Другой способ повышения эффективности решения — это пре- образование переменных. В примере 13.4 показано, что, используя преобразование переменных, можно исключить или упростить ряд ограничений. Например, преобразование вида xt = y] 8*
228 ГЛАВА 13 может быть использовано для замены переменной и условия не- отрицательности хг-^0. Аналогично ограничение вида 2 х/— 1 с I может быть исключено из задачи путем введения переменных y^x^Xi и замены х, на yt. Различные способы таких преобразований рас- смотрены более детально в работе [19]. Однако, как показано в [20], при использовании метода преобразования переменных возмож- ны осложнения при решении оптимизационных задач, вызываемые: 1) появлением дополнительных локальных оптимумов, 2) вырож- дением выпуклости; 3) ослаблением сходимости. На примерах из работы [201 показаны некоторые из негативных последствий неправильной замены переменных. Пример 13.5. Затруднения, связанные с преобразованием переменных (а) Исследовать задачу минимизировать f(x)=(xt+ 1)2+(х2—4)2, Xi, х2^0 после преобразования Xt=(yl—I)2. (б) Исследовать задачу минимизировать f (х)=3х?—2xiX2+3x| при ограничениях хъ х2^0 после преобразования Xi=y], Решение, (а) В результате замены переменных получаем Р (У) = (yl - 2у1 + 2)2 + - 2yl - З)2. Поскольку [2 (у*—2у*+ 2) (4^ — 4^), 2 (гД—2^—3) (4t/’ —4t/2)J и -~32^Ш-1)а + 8 04-2<4 + 2) (Зга2—1), dyi = 32/2 (yl- I)2 + 8 (у*-2у1-3) (3у*- 1), дуг легко показать, что F(y) имеет шесть локальных минимумов. Че- тыре из них, t/=(±l, ±/3), соответствуют минимуму f(x), а имен- но х*=(0, 4); но два у=(±1, 0) не соответствуют локальному ми- нимуму f(x). Следовательно, после преобразования появились до- полнительные решения.
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 229 (б) После замены переменных целевая функция имеет вид Вторые производные определяются из матрицы, которая не яв- ляется положительно определенной: /(ЭД— yl) (—2угуг)\ \(—ЭД//2) (9f/2—W Так, на луче y2—3yi определитель первого главного минора равен нулю, а определитель второго главного минора равен —4г/х2. Одна- ко матрица вторых производных исходной функции / постоянна и положительно определена и, следовательно, исходная функция выпуклая. Таким образом, преобразование привело к качественному изменению задачи. Условия, при выполнении которых в случае преобразования переменных удается избежать указанных усложнений, а также получить желательный вид задачи после замены переменных, под- робно рассмотрены в работе [20]. С практической точки зрения самое важное — не допускать появления неверных решений. Этого можно, как правило, добиться, пользуясь монотонными взаимооднозначными преобразованиями. Исключение избыточных ограничений Другим средством упрощения решения является исключение из задачи избыточных ограничений. Избыточным является огра- ничение, которое не используется при определении границ до- пустимой области значений переменных. Например, в задаче имеют- ся обычные неравенства и х,^Ь, где &>а>0. Поскольку второе неравенство перекрывает первое, в нем нет не- обходимости для определения границы допустимых значений хх и его можно исключить. Хотя избыточные ограничения можно легко распознать, в общем случае неизвестно ни одной процедуры для их идентификации; такие процедуры имеются лишь для слу- чая линейных ограничений [21]. Однако необходимые для этого вычисления имеет смысл проводить только в том случае, когда приходится многократно решать оптимизационную задачу, на- пример, с разными целевыми функциями или с нелинейной целе- вой функцией. Несмотря на отсутствие в общем случае эффективных про- цедур, с помощью которых можно было бы наверняка найти все избыточные ограничения, в большинстве случаев их можно вы- явить путем тщательного анализа всей системы ограничений. На-
230 ГЛАВА 13 пример, в задаче проектирования, рассмотренной в разд. 9.5, было замечено, что неравенства (9.53) 1,25г l,25i Rz Ra ’ 1,5В2 1,5В2 й2 Ra ’ 1, 1В3 1,1В3 Rz Ra можно свести к одному неравенству Ra^Rz- Кроме того, было уста- новлено, что ограничения (9.52) 'г \ 1 >2Bi /тп \ 1,2Bj 1 1 R1 ' 1 Й2 объединяются в ограничение (9.56) 'г l»2Bi q 1 1 так как предполагается, что все переменные положительные. При подготовке задачи к решению всегда следует учитывать возмож- ность выявления и исключения избыточных ограничений. Метод последовательной подстановки Как показано в гл. 7, размерность и число ограничений в виде равенств можно существенно сократить, решая явно или неявно некоторые из них и используя полученные решения для исключе- ния переменных. Процедура сводится к выбору множества незави- симых переменных и определению такого порядка решения огра- ничений в виде равенств относительно зависимых переменных, при котором потребуется минимально возможное число итераций. В редких случаях удается исключить все ограничения в виде ра- венств и не проводить итеративного решения. Обычно остается ряд ограничений, которые нельзя непосредственно решить относитель- но одной или большего числа зависимых переменных. В таком слу- чае возможны два подхода: когда необходимо получить значения функций задачи, эти ограничения решаются итеративно относи- тельно зависимых переменных или же оставшиеся уравнения явно учитываются как ограничения в виде равенств, а остающиеся за- висимые переменные считаются независимыми. В первом случае итеративное решение следует проводить с достаточно малыми по- грешностями, чтобы не нарушить логику метода поиска. Так, на- пример, погрешность вычисления значений функций задачи, ре- шаемой итеративным методом, должна быть меньше, чем погреш- ность явно учитываемых ограничений в виде равенств. Это, ко- нечно, менее эффективно по сравнению со случаем, когда для всех ограничений в виде равенств принимается одна погрешность. Сле- довательно, предпочтительным является метод решения, когда
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 231 уравнения, которые не удается решить относительно зависимых переменных, явно учитываются как ограничения в виде равенств. Границы или ограничения в виде неравенств для зависимых пере- менных во всех случаях должны учитываться при формулировке задачи (разд. 7.1); их выражают через независимые переменные. Анализ специфики задачи. На завершающе.м этапе перед выпол- нением оптимизационных расчетов проводится анализ окончатель- но сформированной модели для выявления специфических особен- ностей задачи, которые могут оказать влияние на процесс решения: это выпуклость, неограниченность области допустимых решений, единственность решения, существование допустимого решения. Несмотря на то что эти понятия кажутся абстрактными и представ- ляют в значительной степени теоретический интерес, при реальных расчетах они имеют большое практическое значение и поэтому их выявление оказывается весьма важным. Выпуклость В предыдущих разделах подробно рассмотрено также понятие выпуклости и его свойства применительно к критериям оптималь- ности и надежности процесса решения. Доказательство выпукло- сти может потребовать громоздких выкладок, однако легко найти элементы задачи, которые делают ее невыпуклой. Прежде всего легко проверить, нет ли в задаче нелинейных ограничений в виде равенств. Если есть хотя бы одно, то задача невыпуклая. Если нет ни одного, следует проверить выпуклость нелинейных ограни- чений в виде неравенств. Применяются два способа проверки: один основан на использовании знака гессиана, другой — на представ- лении функции в виде суммы выпуклых функций. В обоих случа- ях рекомендуется начинать проверки с простейших нелинейных ограничений в виде неравенств и затем переходить к проверке бо- лее сложных ограничений. Этот порядок принимается в предполо- жении того, что большинство реальных технических задач невы- пуклые и это обнаруживается сразу же при исследовании самых простых ограничений в виде неравенств (если это не обнаружено ранее при рассмотрении ограничений в виде равенств). Только убедившись в выпуклости системы ограничений, имеет смысл про- верить выпуклость целевой функции. Если в результате проведен- ного предварительного исследования доказано, что задача выпук- лая, то, во-первых, любое решение, удовлетворяющее условиям Куна — Таккера, является глобальным минимумом; во-вторых, появляется возможность выбора алгоритма для решения из более обширного класса алгоритмов и из общих соображений можно ожидать, что сходимость будет лучше, чем в невыпуклом случае. Если задача оказалась невыпуклой, то нужно учитывать возмож- ность существования нескольких локальных решений.
232 ГЛАВА 13 Ограниченность множеств допустимых решений и значений це- левой функции задачи Ограниченность множества допустимых решений и значений целевой функции — важная характеристика, наличие которой следует установить перед решением как выпуклой, так и невыпук- лой задачи. Утверждение, что задача ограничена, означает, что все допустимые решения со значениями целевой функции можно за- ключить в конечный гиперкуб. В технических приложениях опти- мизационных исследований всегда подбирают параметры и оцен- ки таким образом, чтобы получить конечные оптимальные значе- ния переменных. Используя некоторые технические или экономи- ческие факторы, можно не допустить, чтобы переменные модели принимали сколь угодно большие или малые значения. Однако при оптимизации используется модель, т. е. приближенное пред- ставление реальной системы. Из модели можно получить неогра- ниченные решения, если ее создатель сознательно или по ошибке не учел в ней ограничения реальной системы. На основании того факта, что моделируется реальная система, нельзя гарантировать, что при проведении оптимизации модель не будет давать «патоло- гических» решений. При исследовании модели выявляются слу- чаи неограниченности, которых можно избежать, введя разумные ограничения сверху и снизу на все переменные задачи. Однако, прежде чем автоматически включать их в модель, учитывая же- лательность исключения лишних ограничений, следует проверить необходимость введения этих дополнительных ограничений. Хотя авторам не известно ни одного надежного способа провер- ки ограниченности, есть два простых способа обнаружения случа- ев неограниченности. При проверке первым способом, которую на- зовем проверкой переменных, выясняется, ограничены ли сверху и снизу значения переменных в отдельности при фиксированных значениях всех других переменных (скажем, в какой-то начальной точке); во многих случаях эту проверку можно осуществить при внимательном анализе модели, в основном ограничений в виде не- равенств, не делая никаких оценок. Второй способ проверки, которую назовем проверкой частных производных, применяется, когда имеется возможность вычислить или оценить градиенты функций. Из условий Куна — Таккера, записанных только для ограничений в виде неравенств V/ = 2«/ Vgj и uz>0, / следует, что, для того чтобы получить частные производные df/dxt целевой функции по переменным xt в виде выпуклой комбинации градиентов ограничений в виде неравенств dgjldxi, необходимо су- ществование по крайней мере одного ограничения, скажем /, с от- рицательным значением частной производной dgjdxi и по крайней мере одного, скажем т, с положительным значением dgm/dxi.
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 233 В этом утверждении предполагается, что оптимальное значение переменной хг ограничено (df/dxt=Q) или не лежит на поверхно- сти, описываемой ограничением, но скорее оно находится на пере- сечении нескольких ограничений. Это разумное и умеренное пред- положение. Проверка ограниченности, основанная на этом утверж- дении, состоит в том, что проверяется, есть ли хотя бы одно огра- ничение для каждого xt с положительной частной производной и хотя бы одно ограничение с отрицательной частной производной по Xf. Если это условие не выполняется для какой-либо перемен- ной, то из предосторожности можно ввести ограничение для этой переменной. Если нет отрицательной частной производной, следу- ет установить верхнюю границу; если нет положительной — сле- дует установить нижнюю границу. При проверке этим способом ис- следуются только ограничения в виде неравенств и, если их много в модели, сначала следует рассмотреть ограничения с простейшей структурой. Применение этих способов проверки ограниченности показано на следующем несложном примере. Пример 13.6. Проверка ограниченности множества допустимых решений и значений целевой функции Рассмотрим задачу минимизировать [ (х) = хг’ Н-х^ф-ху3 при ограничениях g\ (х) = xt ф- х2 ф- ха—1^0, g2(x) = 2—х2,— х^>0, ga (х) = х1х2х3—2>0, для всех х,^0. Сначала проведем проверку переменных. Если х2 и х3 зафиксированы и их значения а и b соответственно, то ограничения принимают следующий вид: gt эквивалентно х^1—а—b (нижняя граница), ga эквивалентно х^ф-(2—а2)7'- (верхняя граница) и Xi^O. Если зафиксированы xt и х3, то gt эквивалентно х2^1—а—b (нижняя граница), ga эквивалентно х2^(2—а2)'^ (верхняя граница) и, конечно, х2^0. Если зафиксированы xt и х2 и их значения а и Ь, то получим gi эквивалентно х3^1—а—b (нижняя граница), ga эквивалентно х3^2/аЬ (вторая нижняя граница), ga не определяет границ х3 и х3^0. Таким образом, установлено, что xj и х2 ограничены сверху и снизу. Для предосторожности целесообразно подходящим образом ограничить х3 сверху, например х3<25. Решение этой задачи без
234 ГЛАВА 13 такого ограничения любым способом приводит к предельному ре- шению х* =(К2, ]/2, +°о). Такой же вывод получается при использовании способа про- верки частных производных. Из условия неотрицательности (так- же и для ограничений gt и ga) следует, что частные производные по всем xt положительные. Но у ограничения g2 отрицательными яв- ляются только частные производные по и х2 lVg2=(—2xit —2х2, 0)]. Поскольку частная производная по х3 положительная, то необхо- димо ограничивать х3 сверху. Из условия Куна — Таккера для этой задачи /—*Гг\ /1\ / — 2xj\ /х2х3\ /\ 0 0\ j —х32 ]=«!( 1 —2х2 4-ц3( хгх3 +(«4, «6, Ц6)| 0 10 1, \—хз*J V/ \ 0 > \х1хг/ \0 0 1/ где единичная матрица относится к условиям неотрицательности переменных, следует, что при ограниченности и положительности Xj не существует множества неотрицательных значений множите- лей ut, удовлетворяющих приведенным выше соотношениям. Вве- дение ограничения сверху для х3 добавляет столбец (0, 0, —1)г и позволяет разрешить проблему. Заметим, что если бы эта задача содержала ограничение в виде равенства, в которое входит переменная х3, то его не следовало бы учитывать при проверках. Ограничение в виде равенства может быть использовано для перехода от ограничений на другие пере- менные к ограничению для х3. Например, с помощью hx=x3—xf— —%2=0 переменная х3 ограничивается сверху, так как из g2 получаем х3 = Xi + Хг 2. Однако здесь не подходит замена /t2=x3+log (xi—х2)=0- Таким образом, отказ от учета ограничений в виде равенств снижает возможности проверок, хотя и упрощает их. В самых сложных случаях, например при исследовании ими- тационных моделей, может оказаться затруднительным примене- ние простых способов проверок. Как всегда, решение применять или не применять их принимает исследователь. Очень важно всегда учитывать, что модель может иметь неограниченную область до- пустимых решений, а оптимизационные программы не всегда поз- воляют распознать это. Практика показывает, что часто проводится много бесполезных циклов счета, прежде чем убеждаются, что пре- рывания счета на ЭВМ вызываются вероятнее всего неограничен- ностью области допустимых решений, а не ошибками в стандарт- ных программах или вспомогательных программах самого иссле- дователя. Единственность решения Третий важный момент при анализе задачи состоит в выяснении возможности существования неединственных решений или несколь-
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 235 ких локальных минимумов. Вообще выпуклая задача может иметь только одно оптимальное значение целевой функции, но это зна- чение она принимает на некотором подмножестве решений. Та- ким образом, несмотря на то что выпуклость и гарантирует суще- ствование глобального оптимума, она не обеспечивает единствен- ности решения. С другой стороны, если у задачи более одного ло- кального минимума, то она всегда невыпуклая, но одной невыпук- лости недостаточно для существования нескольких локальных минимумов. Ясно, что приведенный выше метод проверки выпук- лости не дает ответа на все вопросы. Поэтому необходим дополни- тельный анализ задачи для определения возможности существо- вания неединственного решения или нескольких локальных мини- мумов. Неединственность решения, как правило, вытекает из са- мой модели, а не является естественным свойством реальной систе- мы. Наиболее часто неединственность решения проявляется в мо- делях, в уравнения которых входят одинаковые комбинации двух или более переменных, например произведение ху. В принципе можно представить произведение ху как z=xy, при этом размер- ность задачи сократится на 1. Однако в общем случае эту причину неединственности решения нельзя упускать из виду, так как при построении модели, возможно, не был учтен ряд ограничений, в ко- торые х и у входят порознь. Во избежание подобных ошибок следу- ет вводить в модель ограничения этого типа. Пример 13.7. Неединственность решения Рассмотрим задачу минимизировать f2 (х) = при ограничениях gi(x) = x2 — лу О, хи х2 0. Запишем условия Куна — Таккера для этой Д/=(—х2%Г2, xf1) и Vg=(—1, 1), получаем задачи. Поскольку 0 1 В точке минимума gx выполняется как равенство, поэтому х2=%1 и приведенная выше система принимает вид /—/—1\ /1 0\ \ *Г’ = U \ 1 J + (U2’ “з)\0 1 Г Заметим, что условия Куна — Таккера удовлетворяются при любом положительном Xt с и^х^1 и и2=«3=0. Минимальное зна- чение целевой функции f(x) — [ достигается во всех точках при х1“1х2=1 и, следовательно, когда хг=х2. Наличие фиксированной комбинации xt и х2 в / и gt становится
236 ГЛАВА 13 более очевидным, если записать gi в форме gi = хГ1х,— 1 > 0. В любом практическом случае имеет значение выбор х1=х2. До- вольно часто некоторые свойства реальной системы оказываются не учтенными в модели, например условие х1+-’с2==2. Это дополни- тельное ограничение, в которое Xt и х2 входят не в фиксированной комбинации, делает решение единственным, х1=х2=1. Пока нет ни одной удобной и надежной процедуры для выяв- ления неединственности решений. В задачах геометрического и обобщенного геометрического программирования для этого доста- точно проверить ранг матрицы, составленной из степеней перемен- ных [22, 23]. Если ранг меньше числа переменных Af, то решение всегда не единственно. В таком случае легко найти группу перемен- ных, которую можно исключить из построенной модели [22]. Для применения этого надежного метода проверки требуется, чтобы задача была представлена в виде задачи геометрического програм- мирования. В работе [24] метод проверки ранга матрицы степеней переменных использован для доказательства неединственности решения известной задачи оптимизации процесса Уильямса — Отто. Преобразовав задачу в задачу геометрического программи- рования, удалось понять, почему имеется несколько совершенно различных решений с близкими значениями целевой функции, о которых сообщили различные авторы. Поскольку приведение задачи к задаче геометрического программирования и вычисление ранга матрицы затруднительно, то во многих случаях достаточно просмотреть модель с целью выяснения, встречаются ли многократ- но в задаче фиксированные комбинации каких-либо переменных. Только в том случае, когда есть подозрение, что такая группа пере- менных имеется, стоит прибегнуть к методам геометрического программирования. Но все же главный вопрос — является ли не- единственность решения свойством самих моделей. Если об этом ничего не известно до проведения решения, предположение о не- единственности решения можно сделать на основе полученных с помощью оптимизационной процедуры различных решений с близкими значениями целевой функции при различных началь- ных точках. Как уже указывалось, при решении невыпуклых задач можно получить несколько локальных минимумов, однако сама по себе невыпуклость не обязательно указывает на существование не- скольких локальных минимумов. Найти их можно только в про- цессе решения. В технических задачах всегда учитывается возмож- ность нескольких локальных минимумов, но доказать их суще- ствование трудно. Вследствие этого в прикладных исследованиях предпочитают не рассматривать этот вопрос. В действительности эта проблема весьма существенна и ее надо исследовать, за исклю-
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 237 чением тех случаев, когда можно показать невозможность суще- ствования локального оптимума. Несколько локальных минимумов встречается уже не в очень сложных задачах. Так, в примере 8.7 включение в линейную зада- чу одного нелинейного ограничения в виде равенства и двух огра- ничений в виде неравенств оказалось достаточным, чтобы появи- лись три различных решения, удовлетворяющие условиям Куна — Таккера. В примере, взятом из работы [25], показано существо- вание нескольких локальных минимумов в задаче небольшой раз- мерности. Пример 13.8. Несколько локальных минимумов Рассмотрим изображенную на рис. 13.5 упрощенную систему с двумя теплообменниками. В этой системе требуется увеличить Рис. 13.5. Система с двумя теплообменниками, пример 13.8. температуру потока нагреваемого вещества с расходом Ft от 100 до 300°F, используя два других потока теплоносителей, имеющих расход F2 и Fa и температуру 600 и 900°F соответственно. Пред- положим, что величины расхода всех потоков равны и состав- ляют 104 фунт/ч; их теплоемкости также равны и составляют 1 БТЕ/(фунт>°Е), коэффициенты теплопередачи Ut и Ua равны 200 БТЕ/(ч-фут2-Т), а стоимости теплообменников определяются по формуле. Стоимость = 35 (площадь, фут2)°,?. Требуется найти значения температур Т\, 7\ и Та, которые поз- волят минимизировать суммарную стоимость теплообменников. Построение модели. В элементарную модель теплообменника входят уравнения энергетического баланса для каждого потока, связывающие тепловой поток Q с разностью температур потоков, и уравнения, выражающие зависимость между площадью А, через которую происходит теплопередача, тепловым потоком и разностью температур двух потоков. Таким образом, система уравнений мо- дели записывается в следующем виде;
238 ГЛАВА 13 Теплообменник 1 Уравнения энергетического баланса Q,= 10“ (1) (Т3— 100), Qj= 104 (1) (600—7\). Основное уравнение = UtAl LMTDj = 200A1LMTD1, где LMtd1= <6Q0 -—2В. Теплообменник 2 Уравнение энергетического баланса Q2= 104 (1) (300—Т3), Q2 = 104 (1) (900 —Т2). Основное уравнение Q„ = (72A2LMTD2 = 200A,LMTD2, где кМТР^^-.У0>2+<Г2--Гз> . Заметим, что вместо среднего логарифмического перепада темпера- тур в этом случае используется средний арифметический перепад температур, поскольку величины расхода и теплоемкости потоков, участвующих в теплопередаче, одинаковы. Полученные уравнения имеют простую структуру. Для упрощения модели в целях удоб- ства последующего анализа будем считать Т3 независимой пере- менной и преобразуем задачу следующим образом. Сначала из уравнений энергетического баланса для теплообменника 1 выра- зим Ti через Т3 и подставим в основное уравнение. В результате получим зависимость площади теплообменника 1 от Т3: . 50 (Та - 100) 1 ~ 600— Та ' Аналогично из уравнений энергетического баланса для теплооб- менника 2 получим выражение для Т2 как функции от Та. Решая основное уравнение модели теплообменника 2 относительно Д2, получим уравнение для определения площади поверхности второго теплообменника , 50 (300—т3) 600 Целевая функция имеет вид 35А?-в + 35А3°’в и задача сводится к виду г/Тх nr Г 50 (Г3 — 100) 1о.в , „г Г 50 (300-Гз)! 0.6 минимизировать / (7 3) = 35 I + 35 I при ограничении 100 ^Т3^ 300. Анализ. При 7’з=100° имеем /(Т3) = 189,3, а при Т'3=ЗОО° получаем /(Гз)=286,9.-График /(Г3) в интервале 1ОО°^Г3^ЗОО° по- казан на рис. 13.6. У функции два локальных минимума — один
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 239 при Т3= 100° и один при 7’3=ЗОО°— и один максимум при Т3«280°. При начальной температуре Т32>280° любой метод дает в качестве решения задачи больший локальный минимум, при начальной температуре 7\<280°— меньший локальный минимум. Из гра- фика на рис. 13.6 видно, что f(T3)—вогнутая функция. Рис. 13.6. График функции стоимо- сти примера 13.8. Пример 13.8 наряду с иллюстрацией случая существования нескольких локальных минимумов представляет возможность при- вести некоторые соображения по распознаванию существования нескольких локальных решений. Заметим, что в целевую функцию входят переменные со степенями, меньшими 1. Функции вида хь при Ь<1 являются вогнутыми функциями по х. Выражения такого вида очень часто встречаются в оптимизационных задачах. Напри- мер, капитальные затраты на технологическое оборудование вы- ражаются, как правило, степенными функциями ахь, где х — неко- торая мера производительности оборудования [26]. Обычно в та- ких функциях показатель степени b меньше 1,так как затраты на единицу мощности падают с ростом мощности оборудования. Это один из примеров особенностей экономической оценки. Поскольку стоимостные члены вносят в целевую функцию элементы вогнуто- сти, можно ожидать, что задача, включающая такие члены, будет иметь несколько локальных минимумов. Это чисто практические соображения, но не правило. Напомним, что в подразд. 9.5.3 была рассмотрена задача оптимального проектирования, в которой в ка- честве целевой функции были использованы капитальные затраты на оборудование предприятия. В этой задаче все показатели степен- ных функций меньше 1; однако можно показать, что вследствие структуры ограничений задача имеет только один локальный и, следовательно, глобальный оптимум [27]. В заключение следует заметить, что анализ задачи на возмож- ность существования неединственного решения и нескольких ло-
240 ГЛАВА 13 кальных оптимумов целесообразно проводить до начала оптими- зационных расчетов. В первую очередь следует проверить модель на наличие фиксированных комбинаций переменных, а затем опре- делить — выпуклая или невыпуклая задача. Если задача невы- пуклая, то наличие в целевой функции степенных функций следу- ет считать важным признаком существования нескольких .локаль- ных решений. Наличие допустимых решений На последнем этапе анализа задачи до начала оптимизацион- ных расчетов необходимо проверить наличие допустимых решений. После завершения анализа и подготовки задачи к решению полу- чается относительно устойчивая модель, размерность которой не поддается дальнейшему сокращению, однако всегда остается ве- роятность того, что вследствие принятых неправильных исходных данных или из-за вычислительных ошибок ограничения задачи несовместны и нет ни одного допустимого решения. Поэтому неза- висимо от того, необходимо или нет для выбранного оптимиза- ционного алгоритма иметь допустимое начальное решение, всегда целесообразно найти допустимое начальное решение. Если его не удалось найти, то не нужно проводить оптимизационные расчеты. Следует вновь внимательно проверить модель, по частям подтверж- дая ее соответствие объекту. Эту работу следует проводить до тех пор, пока не будет найдена ошибка. Если найдено допустимое ре- шение и переменные имеют приемлемые значения, можно начинать решение задачи с большой уверенностью, что оптимизационные расчеты приведут к нужным результатам. Обычно используются три процедуры для нахождения допу- стимых начальных решений: метод случайного поиска, безуслов- ная минимизация штрафных функций и последовательная мини- мизация невязок ограничений. Как указано в подразд. 7.1.2, проб- ные случайные начальные решения получаются при решении урав- нения (7.1) с использованием программы генератора псевдослу- чайных чисел. Эти решения проверяют на допустимость. Недопу- стимые решения отбрасываются, а алгоритм случайного поиска продолжает работать до тех пор, пока не будет получено допусти- мое решение. Следует учесть, что даже для задач небольшой раз- мерности с нелинейными ограничениями в виде неравенств (на- пример, 15 переменных и 10 неравенств) может потребоваться большое время счета (например, свыше 500 с времени работы цент- рального процессора на ЭВМ CDC 6500 [28]). В связи с этим об- стоятельством для задач с малой областью допустимых решений и задач большой размерности подходят два других метода. Метод нахождения допустимого начального решения путем непосредственной минимизации невязок ограничений широко ис- пользуется на практике. При исследовании модели этим методом на этапе 1 отыскивается решение задачи безусловной миннмиза-
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 241 ции, в которой в качестве целевой функции принимается некото- рая штрафная функция. Таким образом, в качестве начального ре- шения берется решение задачи минимизировать / (х) s 2 (*)]2 ~г 2 {m*n 8/ W]}2- k i Решение будет допустимым, если значение целевой функции ока- жется равным 0. Следовательно, процесс минимизации прекра- щается, когда /(х) принимает достаточно малое значение. Процесс минимизации можно упростить, если сформулировать задачу без ограничений в виде равенств. Пример 13.9. Отыскание начального решения, минимизация невязок Рассмотрим задачу из примера 7.2. Можно найти допустимое начальное решение, решив задачу безусловной минимизации минимизировать (хг + х2 + х3— I)2 + (х2х3 + XjX2 + х7'х1 — 2)2+ +[min(0, x1)]2+{min[0, (%—x1)]}2 + [min(0, x3)]2 + + {min[0, (72 —x3)]}2 или же задачу после замены х, на 1—х2—х3 минимизировать [(1 —х2—х3)2 х3 -|- х2х3-|- х^1 (1 —х2 — х3) — 2]2 4- + [min(0, 1—х2—x3)]2 + [min(0, х2 + х3 — 72)]2 + + [min(0, х3)]2 + [min (0, 72—х3)]2. В обоих случаях для нахождения решения могут быть исполь- зованы методы, рассмотренные в гл. 3. В общем случае процесс может дать либо ни одного решения, либо одно, либо бесконечно много решений. В данном случае точка (0,39606; 0,20788; 0,39606) со значением целевой функции 9-Ю-10 является решением задачи, но, кроме того, существует также бесконечное множество допусти- мых решений. В этой точке hl(x)=0, 0; /i2(x)=3 ПО-3 и значения переменных находятся в пределах границ. В некоторых оптимизационных алгоритмах требуется, чтобы начальная точка х° была не только допустима, но и находилась внутри области, заданной ограничениями в виде неравенств, т. е. g_,(x°)>0 для всех j. Для этого случая можно модифицировать штрафную функцию путем введения в нее параметра е>0, чтобы попытаться найти такое решение х°, при котором ^(х°)=е>0: минимизировать 2[^а (х)]2 + 2 {min[0, gj(x)—е]}2. А / Однако при достаточно больших принятых значениях е может не существовать допустимых решений, удовлетворяющих условиям ^(х°)=е. Если при принятом значении е не получено достаточно близкое к нулю значение целевой функции, приходится повторить решение задачи минимизации с меньшим значением е.
242 ГЛАВА 13 На этапе 1 наиболее часто проводится минимизация суммы квадратов невязок. Получаемая при этом целевая функция суще- ственно нелинейна; для существенно нелинейной задачи с жестки- ми ограничениями может оказаться трудным найти решение с до- статочно близким к 0 значением целевой функции. Другой более сложной, но более надежной альтернативой пря- мой минимизации невязок ограничений является процедура по- следовательной минимизации, в которой каждое ограничение ис- пользуется в качестве целевой функции задачи условной миними- зации. Выполнение этой процедуры показано на примере задачи с ограничениями в виде неравенств. Процедура последовательной минимизации невязок ограничений Задана система ограничений gj j = 1, ..., J, х^^х{^х^\ i= 1, N и параметр e>0. Шаг 1. Решить задачу минимизировать — gt (х) при ограничениях х<Д) х х<г/); конец решения в точке х(1), когда gi(xU))^8. Для /=2, ..., / ре- шить последовательность следующих задач. Ш а г 2. Минимизировать — gj (х) при ограничениях gm(.x)^0, т—\, ...,J—1, x(i,^x^x(i7) с начальной точкой xv-l); конец решения в точке х<у), когда Ш а г 3. Если условие gj(x)^e, не выполняется при некотором /, то следует уменьшить е и повторить решение подзадачи. Если 8 становится меньше некоторого наперед заданного числа, выпол- нение процедуры прекратить. Заметим, что оптимизацию каждой подзадачи с ограничениями в виде неравенств надо начинать с известного допустимого началь- ного решения. Метод, используемый для решения исходной зада- чи, может быть также использован для решения каждой подзада- чи. После того как получено решение j-й подзадачи, считается, что найдено допустимое решение исходной системы ограничений. Если значение 8 выбрано слишком большим, может не существо- вать решение подзадачи при g/xj^e. В этом случае следует умень- шить значение е. При достаточно малом значении е во избежание зацикливания следует прекратить выполнение процедуры, заклю- чив, что задача не имеет допустимых решений.
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 243 Пример 13.10. Отыскание начального решения, процедура по- следовательной минимизации Рассмотрим область допустимых решений: g1(x)=x1+x2—1>0, g2(x)=x2—х?>0, ёз(х)==Х1 Х2^^0, 0^(х1( х2)^2. Применим процедуру последовательной минимизации для отыска- ния допустимого решения при е=0,1. Первая подзадача имеет вид минимизировать —gi(*)=l—х,—х2 при ограничениях 0<х1с2, 0<х2<2, и решение заканчивается в точке, в которой gi(x)^0,1. Очевидно, что точка оптимума х(1) = (2; 2) удовлетворяет этому требованию. Вторая подзадача имеет вид минимизировать —g2(x)=xl—х2 при ограничениях g1(x)=x1+x2—1^0, Ос^, х2)с2. Начальная точка х(1)=(2; 2) явно допустима, а субоптимальная точка х<2)=(0; 1) удовлетворяет условию g2(x<2))^0,l, так же как и оптимальное решение подзадачи (0, 2). Третья подзадача имеет вид минимизировать — g3(x)=x%—х} при ограничениях g2(x)^0, gi(x)^0, 0<(х!, х2)<2. Аналогично начальная точка х22)=(0; 1) явно допустима. Субопти- мальная точка х{3}=(У2; Уг) удовлетворяет условию g3(x(3)) ^0,1, так же как и оптимальное решение (0,618, 0,382) (рис. 13.7). Рис. 13.7. Область допустимых примера 13.10. решений
244 ГЛАВА 13 Итеративный процесс может быть прерван вблизи оптимума подзадачи. Благодаря этому требуется относительно немного вы- числительной работы для решения каждой из подзадач. При наличии ограничений в виде равенств процедурой после- довательной минимизации можно пользоваться только после ис- ключения этих ограничений, записав все подзадачи через выбран- ные независимые переменные. Этими замечаниями заканчивается обсуждение методов под- готовки и анализа моделей. В следующем разделе будут кратко рассмотрены некоторые методы поиска решений, которые можно использовать при проведении практических оптимизационных ра- счетов. 13.2.3. Методы поиска решений При проведении практических оптимизационных расчетов мож- но использовать ряд различных методов в зависимости от вида мо- дели, ее свойств и структуры. Непосредственная оптимизация с помощью подходящего метода НЛП применима во всех случаях, однако для некоторых задач полезно воспользоваться другими приемами, как, например, методом последовательной оптимизации, когда решается ряд подзадач, или двухэтапным методом, в котором используются промежуточные приближенные модели. В тех слу- чаях, когда предполагается существование множества локальных минимальных решений, следует использовать такой метод, который приводит к глобальному минимуму. В этом разделе кратко рас- смотрены эти методы и их следствия. Методы, используемые в аналитических моделях. С помощью аналитических моделей, а также моделей поверхности отклика решения получаются либо непосредственно, либо методом после- довательной минимизации. При непосредственной оптимизации выясняют, подходит ли структура задачи для специальных оптими- зационных методов (см. гл. 11) или же следует пользоваться об- щими алгоритмами НЛП. Специальные методы предпочтительнее общих методов, особенно в тех случаях, когда задачу приходится решать несколько раз. Решение задачи со специальной структурой может оказаться более трудоемким, чем решение общей задачи НЛП. Например, если задача имеет вид задачи геометрического программирования, не следует преобразовывать ее для решения специальными методами. Если задача решается только один раз, то общий метод НЛП может оказаться наиболее эффективным с точ- ки зрения экономии рабочего времени. Метод последовательной оптимизации заключается в том, что решение задачи получается в результате решения последователь- ности подзадач с ограничениями. Основная идея метода состоит в том, чтобы найти решение сложной задачи путем разделения •переменных на две группы. В одну группу объединяются перемен-
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 245 ные, значения которых трудно определить, а в другую группу — переменные, значения которых можно сравнительно легко вычис- лить при фиксированных значениях переменных первой группы. Подзадачи с переменными первой и второй групп решаются раз- дельно; при этом производятся некоторые координирующие вы- числения для связи двух подзадач. Этот метод эффективен, когда решение подзадач проще, чем решение исходной задачи, а коор- динирующие вычисления обеспечивают сходимость метода. Под- робное обсуждение такого метода выходит за рамки данной книги; более подробно он освещен в работе [29]. Несколько примеров подходов к решению в общем виде рассмотрено в предыдущих главах. Напомним, что рекурсивный метод решения задачи получения смесей сводится к решению последовательности задач ЛП (при- мер 8.7); решение обобщенной задачи геометрического программи- рования получается с помощью выделения и решения последова- тельности обычных задач геометрического программирования (разд. И.4); решение методом ветвей и границ задач целочислен- ного программирования сводится к решению подзадач ЛП (разд. 11.1.3). Методы последовательной оптимизации приходится модифицировать для решения задач со специальной структурой. Ис- пользование этих методов становится целесообразным, когда воз- никает необходимость многократного решения целого класса задач одинаковой структуры. Методы, используемые в имитационных моделях. Оптимизация имитационных моделей производится непосредственно или с по- мощью различных двухэтапных методов. При непосредственной оптимизации имитационная модель используется как программа для расчетов выпуска продукции и вычисления значений ограни- чений. Если выполняется условие, что выходные параметры ими- тационной модели непрерывно дифференцируемы по входным пара- метрам, то применим любой градиентный алгоритм безусловной и условной оптимизации. В противном случае нужно использовать прямые методы, такие, как метод комплексов или метод случайно- го поиска. Пример использования первого метода приведен в ра- боте [30]; задача составления проекта тарельчатой перегонной колонны сформулирована в виде имитационной модели, оптими- зационные расчеты проводятся методом проекций градиента. Гра- диенты по независимым переменным определяются путем числен- ного дифференцирования. Такого же метода придерживаются авторы работы [31] при оптимизации имитационной модели транс- портной сети с применением алгоритма ОПГ. В работе [32], напро- тив, используется комплексный метод для оптимизации недиффе- ренцируемой имитационной модели реальной многоступенчатой компрессорной системы. Для оптимизации имитационных моделей чаще всего применяются прямые методы: комплексный метод или метод случайного поиска. Прямые методы, как правило, подходят для исследования за-
246 ГЛАВА 13 дач, имеющих не более пяти переменных и ограничения относи- тельно простого типа в виде неравенств. Имитационные модели следует представлять в такой форме, чтобы с ними можно было об- ращаться как с подпрограммами. Кроме того, если в соответствии с оптимизационной программой требуется по отдельности нахо- дить значения целевой функции и ограничений, то придется про- считывать модель каждый раз заново. При использовании прямых методов оптимизации в имита- ционных моделях часто встречаются три случая, которые могут затруднить проведение вычислений и привести к повторению ите- раций: 1) наличие неявных ограничений для зависимых (внутренних) переменных; 2) наличие подразумеваемых ограничений, которые приняты при построении модели; 3) наличие вычислительных процедур, которые используются при имитации. Имитационная модель часто строится в предположении, что некоторые зависимые переменные имеют физический смысл толь- ко в определенной области значений. Если заранее не принять ни- каких мер, полученные в результате оптимизационных расчетов значения независимых переменных могут оказаться вне границ этих неявных ограничений, что может вызвать прерывание счета или же привести к результатам, лишенным физического смысла. Самое правильное при обращении с подобными ограничениями — это ввести их в модель в виде ограничений с неявными нелинейны- ми функциями независимых переменных. В таком случае требует- ся провести ряд имитационных экспериментов. Такой же подход целесообразен для учета в модели неявных, подразумеваемых, ограничений. Довольно часто имитационная модель верна только в ограниченной области значений основных зависимых переменных. Если не учитывать эти ограничения в яв- ном виде, то можно получить решение, находящееся за границей области достоверности модели. Это особенно трудно заметить, если значения внутренних переменных выходят за границы области достоверности и не контролируются во время проведения счета. Снова очевидно, что следует ввести эти ограничения в модель. Если в имитационной модели выполняются внутренние вычис- лительные операции — интегрирование, решение уравнений или квадратичные аппроксимации, надо следить за тем, чтобы погреш- ности этих операций были меньше погрешностей процедур и про- верок оптимизационной программы. При оптимизации обычно про- водятся вычисления градиентов для итераций ньютоновским мето- дом, чтобы обеспечить выполнение ограничений, а также обычные проверки выполнения условий допустимости и оптимальности. Внутренние вычислительные операции, выполняемые с большими погрешностями, обычно нарушают нормальную работу алгоритма,
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 247 что в свою очередь может явиться причиной прерывания счета или нарушения сходимости. Попытка преодоления трудностей, связанных с тем, что в моде- ли встретилась хотя бы одна из трех приведенных выше ситуаций, может привести к тому, что из-за слишком больших затрат времени ЭВМ оптимизационная задача в окончательном виде окажется слишком сложной для прямых методов оптимизации. В этом слу- чае более подходящими являются различные виды двухэтапных методов. При использовании двухэтапного метода с помощью ими- тационной модели получают модель поверхности отклика в неза- висимых переменных, для которой используется подходящий оп- тимизационный метод. Процесс решения повторяется, причем каждый раз используется поверхность отклика, модифицирован- ная в соответствии с полученным предшествующим оптимизацион- ным решением, до тех пор, пока разность между двумя последо- вательными решениями не станет достаточно малой. Двухэтапные методы отличаются прежде всего по виду используемых аппрок- симирующих функций, по уровню детализации создаваемой моде- ли поверхности отклика и по применяемым оптимизационным ме- тодам. Как правило, для аппроксимации используется квадратичная функция с коэффициентами, вычисляемыми по результатам спе- циальным образом проведенных расчетов модели в окрестностях наилучшего известного приближенного значения оптимума [33] (например, с использованием плана «звезда» или полного фактор- ного плана проведения расчетов). Если для аппроксимации ис- пользуется квадратичная функция, то для оптимизации можно применять любой градиентный метод. На следующем примере по- казана оптимизация имитационной модели с помощью двухэтап- ного метода. Пример 13.11. Оптимизация с помощью двухэтапного метода Формулировка задачи. На заводе по производству молочных продуктов, показанном на рис. 13.8, имеются две параллельные линии, где жидкие продукты пастеризуются; за ними располага- ются четыре емкости одинакового объема для промежуточного хранения жидкости и четыре параллельные автоматические линии упаковки различной производительности. На четырех упаковоч- ных линиях пастеризованная жидкость разливается в пакеты раз- ной емкости. Завод работает по 16-часовому графику; он запроекти- рован на восемь видов продукции в пакетах четырех размеров. При заданной программе ежедневного выпуска, представленной в табл. 13.1, требуется определить производственные мощности автоматических линий для пастеризации и упаковки, а также объем емкостей для хранения при минимальных капитальных затратах на оборудование.
248 ГЛАВА 13 Емкости для промежуточного хранения Рис. 13.8. Завод по производству молочных продуктов, пример 13.11. Таблица 13.1. Обычный ежедневный спрос на производимую продукцию (в галлонах) Вид продукта Общее количество Пииты Кварты Полугаллоны Галлоны 3,2% молоко 20 000 2000 5000 10 000 3000 3% молоко 5 000 500 1000 3 000 500 2% молоко 10 000 1000 2000 5 000 2000 Обезжиренное молоко 15 000 1000 2000 10 000 2000 Апельсиновый сок 20 000 3000 5000 10 000 2000 Фруктовый напиток 5 000 100 400 500 4000 Построение модели. В работе [34] показано, что систему можно описать с помощью имитационной модели SLAM [35]. В этой моде- ли продукты распределяются по очередям к пастеризаторам с уче- том производственных соображений. Сначала обрабатываются про- дукты из самой длинной очереди. Имитация 16-часового рабочего цикла производится с помощью комбинированной дискретно-не- прерывной модели. Параметры системы описываются переменны- ми, которые, как правило, обозначают количество продукта, еще не обработанного на установке, или текущий уровень заполнения емкости для хранения запаса продуктов. Поскольку предполагает- ся, что производственные установки либо работают с постоянной скоростью, либо выключены, поведение переменных описывается дифференциальными уравнениями первого порядка. Момент, ко- гда принимаются решения, определяется тем, когда соответствую-
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 249 Таблица 13.2. Перечень возможных событий, учитываемых при имитации Номер Название события и его последствия I Емкость для хранения заполнена. Перекрыть кран подачи продукта из пастеризатора 2 Достигнут заданный уровень заполнения емкости (3/4 объема). Это по- зволяет начать упаковку 3 Емкость для хранения пуста. Перекрыть кран отбора продукта. Начать поиск другой емкости с тем же продуктом 4 Упаковка продукта окончена. Начать поиск емкости с другим продук- том 5 Имеющийся продукт пастеризован. Исключить следующий продукт из очереди и начать поиск пустой емкости или емкости с тем же про- дуктом 6 Проверить, не пуста ли емкость 7 Проверить, не простаивает ли какая-либо линия упаковки в ожидании продукта 8 Обнаружение ошибки 9 Пройден пороговый уровень опорожнения емкости для хранения (ем- кость опустела на 1/4 объема). Разрешить подачу продукта из пасте- ризатора щие переменные принимают заданные значения. Эти события и их последствия представлены в табл. 13.2. В модели учтены следующие основные условия: 1. Не допускается смешивание различных продуктов в емко- стях для хранения. 2. Начатая в пастеризаторе или упаковочной линии обработка продукта продолжается, пока не закончится обработка всего за- планированного количества этого продукта. 3. После окончания обработки одного продукта на упаковоч- ной линии следующий для обработки выбирается по правилу: первый пришел, первый обслужен. 4. Заполнение емкости разрешается начинать, когда она оста- лась заполненной на четверть объема; опорожнение емкости разре- шается начинать, когда она заполнилась на три четверти объема. Для проведения имитации 16-часового производственного цик- ла обычно требовалось 16 с времени работы центрального процес- сора ЭВМ CDC 6500. Оптимизационная процедура. Для оптимизации проекта систе- мы с помощью имитационной модели используется двухэтапный метод. Квадратичная модель поверхности отклика разрабатывает- ся на основе имитационных расчетов с учетом предполагаемых
250 ГЛАВА 13 значений переменных. Задача содержит семь переменных: две пере- менные характеризуют производительность пастеризаторов, одна — объем емкости и четыре — производительность автоматических линий по упаковке. Для определения значений всех коэффициен- тов модели по полному факторному плану необходимо провести 36 имитационных расчетов. Из модели поверхности отклика по- лучают Необходимое время производства — q (переменные). Приближенная оптимизационная модель имеет вид минимизировать стоимость оборудования=/ (переменные) при ограничениях q (переменные) <16 ч, заданы верхние и нижние границы для переменных моделей. Эта приближенная задача решается с помощью алгоритма ОПГ. Обычно для оптимизации подзадачи требуется около 20 с времени счета на ЭВМ CDC 6500. На основе полученного решения строится новая модель поверхности отклика и процесс продолжается до тех пор, пока не станут достаточно близкими последовательно полу- чаемые значения стоимости. Типичные результаты расчетов при- ведены в табл. 13.3. Для краткости изложения здесь не приведены Таблица 13.3. Результаты оптимизационных расчетов производства жидких молочных продуктов Число итераций Пастеризован- ные продукты, галлон/ч 5 емкостей для хране- ния, галлоны Упаковочные линии, галлон/ч Длител ьиость рабочего цикла, ч Стоимость производства, долл. 1 2 12 3 4 1 6000 6000 3 000 1000 25 000 35 000 1500 12,12 897490 2 4000 3000 15 000 500 1900 2 900 1200 17,04 743314 3 5000 3763 1 000 500 1300 2 600 1000 18,05 672045 4 5500 400 800 500 1116 2 450 900 16,26 644172 5 5400 4094 800 499 1 033 2 400 900 16,74 639855 детали, касающиеся нелинейной функции стоимости и вычисления коэффициентов функции отклика с семью переменными. Эти вопро- сы детально освещены в работе [34]. В среднем для каждого ими- тационного расчета необходимо 16 с времени работы центрального процессора, и оптимизация задачи с семью переменными не потре- бовала много времени. На пять итеративных циклов, описанных выше, затрачено около 3000 с (сделано 180 имитационных расчетов). Можно сделать вывод, что использование моделей поверхности отклика оказалось эффективным, поскольку после проведения
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 251 180 пробных оптимизационных просчетов по комплексному мето- ду был достигнут незначительный прогресс. Двухэтапный метод, аналогичный использованному в примере 13.11, можно применять независимо от уровня агрегирования мо- дели [10]. В примере 13.11 вся система описывалась моделью, ко- торая состоит только из одной поверхности отклика. При модели- ровании более сложной системы может оказаться целесообразной разработка моделей поверхности отклика всех входящих в нее основных подсистем и даже всех компонент. Эти модели можно затем объединить в одну приближенную модель сложной системы, которую оптимизируют с помощью подходящего алгоритма НЛП. При решении пересчитываются все поверхности отклика, и эта процедура повторяется до тех пор, пока не будет получена такая же сходимость, как и в случае модели с одной поверхностью отклика. Такой метод использовался для оптимизации технологии химиче- ского производства, особенно эффективным он может оказаться, если технологическая цепочка производства включает цикличе- ские процессы. Заметим, что двухэтапный метод сначала применялся как метод улучшения сходимости расчетов технологической схемы с повтор- ными циклами [10, 12], а затем при оптимизации технологического процесса [8, 9]. При расчетах можно пользоваться как линейными, так и квадратичными аппроксимационными моделями; наиболее эффективна оптимизация с помощью алгоритмов ОПГ или пере- менной метрики для задач с ограничением. Приближенная модель отдельной компоненты системы, как правило, содержит неболь- шое число независимых переменных. Вследствие этого указанный метод подходит для решения оптимизационных задач большой раз- мерности, например при более 25 переменных. Однако если каж- дая поверхность отклика описывается большинством входящих в задачу переменных, то в связи с большим числом имитационных расчетов, требуемых для определения этих поверхностей, размер- ность исходной задачи следует существенно уменьшить [33]. Опти- мизация задачи с использованием многих моделей поверхности отклика может быть автоматизирована. В идеальном случае опти- мизационная программа должна: 1) управлять проведением расчетов блоков имитационной мо- дели для получения числовых данных для моделей поверхности отклика; 2) управлять проведением вычислений коэффициентов моделей поверхности отклика; 3) выдавать вычисленные коэффициенты в оптимизационную модель; 4) выдавать команду на проведение расчетов в соответствии с выбранным оптимизационным алгоритмом; 5) обрабатывать результаты оптимизационных расчетов и про- верять сходимость двухэтапной процедуры.
252 ГЛАВА 13 Программное обеспечение полностью автоматизированной про- цедуры двухэтапного метода решения оптимизационных задач сто- ит очень дорого. Поэтому полная автоматизация решения целесо- образна только в тех случаях, когда необходимо многократное повторение оптимизационных расчетов. Методы глобальной оптимизации. Для надежной оптимизации моделей, которые могут иметь несколько локальных минимумов, следует воспользоваться несколькими методами решения задачи, чтобы найти глобальный минимум. Отыскать глобальный минимум желательно не только в связи с тем, что это лучшее возможное ре- шение задачи, но также и потому, что локальный минимум может привести к неправильным оценкам результатов расчетов по опре- делению влияния переменных модели. Если одному множеству значений параметров, например обозначающих стоимость, соответ- ствует один локальный минимум, а другому множеству значений параметров соответствует другой локальный минимум, то становит- ся затруднительным точно определить влияние изменения число- вых значений параметров модели на решение, поскольку решение меняется из-за попадания в различные локальные оптимумы. Этих трудностей удается избежать, если во всех случаях найдены гло- бальные оптимумы. Методы поиска глобального оптимума являются в настоящее время предметом интенсивных исследований. Обзор текущего со- стояния исследований приведен в работе [36]. Известные методы поиска делятся на детерминированные и стохастические, которые в свою очередь могут быть эвристическими или строго обоснован- ными. Простейший и наиболее широко используемый метод состо- ит в проведении ряда оптимизационных расчетов при различных начальных условиях. Иногда этот метод называется методом с не- сколькими начальными точками. В этом методе начальные точки выбираются из определенной решетки или же генерируются слу- чайным образом. В первом случае допустимая область разбивается на непересекающиеся области и оптимизация выполняется в каж- дой такой области по отдельности. Во втором случае начальные точки выбираются случайным образом, считая, что они распределе- ны равномерно, как описано в подразд. 7.1.2. В обоих случаях в качестве глобального оптимума из всех найденных локальных мини- мумов принимается локальный минимум с минимальным значени- ем целевой функции. Оба этих метода эвристические. В первом случае разбиение на непересекающиеся области производится произ- вольно, поэтому нет уверенности в том, что в каждой области имеется только один локальный минимум. Во втором случае нет уверен- ности, что начальные точки распределены так, что каждая из них находится рядом с одним из локальных минимумов. С ростом числа областей разбиения повышается уверенность в том, что не пропущен ни один локальный минимум. Это, однако, достига- ется ценой существенного увеличения оптимизационных расчетов.
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 253 Теоретически обоснованные методы глобальной оптимизации разработаны только для задач со специальной структурой. Напри- мер, в работе [25] приведен алгоритм для сепарабельных задач блочной структуры, в котором используются оценки, полученные с помощью функции Лагранжа. В [37] и в других работах рассмот- рены процедуры для невыпуклых задач с линейными ограничения- ми. Эти методы основаны на использовании известного свойства, что все локальные минимумы находятся в вершинах области допустимых решений задачи. Разработана процедура систематиче- ского перебора для нахождения наилучшего решения. Другие ме- тоды решения задач со специальной структурой рассмотрены в ра- боте [38]. Методы отыскания глобального минимума при конечном числе оптимизационных расчетов известны только для задач со специальной структурой. В практических исследованиях глобаль- ный минимум находится методом случайного выбора начальных точек, причем сначала следует предположить, какого количества начальных точек достаточно, чтобы наверняка получить глобальное решение. Несмотря на трудность повторных расчетов, этот метод следует использовать в тех случаях, когда предполагается суще- ствование нескольких локальных минимумов. 13.3. Оценка решения Оптимизационное исследование не заканчивается получением решения задачи. Напротив, самая важная часть исследования за- ключается в обосновании правильности решения и анализе его чувствительности. Наиболее важным является не само полученное решение, а информация о состоянии системы в окрестности реше- ния, что позволяет глубже понять ее основные свойства. Важней- шими результатами исследования являются ответы на такие во- просы, как, например: Какие ограничения активны в полученном решении? Что составляет основную часть стоимости? Какова чув- ствительность решения к изменениям значений параметров? Актив- ные ограничения указывают на ограниченные возможности систе- мы или на то, что из-за проектных соображений систему усовершен- ствовать нельзя. По величине стоимости находят тот блок системы, параметры которого должны быть улучшены. Чувствительность решения к изменению значений параметров указывает на то, какие оценки параметров следует улучшить для того, чтобы безошибочно найти оптимальное решение. Рассмотрим кратко способы обоснова- ния решения и исследования чувствительности. 13.3.1. Обоснование правильности решения Первое, что необходимо сделать при исследовании результатов оптимизационных расчетов — установить, обосновано ли полу- ченное решение. Считается, что решение обосновано, если ему со-
254 ГЛАВА 13 ответствует некоторое реализуемое состояние рассматриваемой системы и оно является ее оптимумом. Реализуемое состояние — это одно из возможных состояний системы. Как правило, если мо- дель достаточно точно отражает поведение системы, она содержит необходимые ограничения и границы. Это позволяет получать ма- тематическое решение, которое всегда отражает физически реали- зуемое возможное состояние системы. Однако все модели верны лишь в определенных пределах, все зависимости справедливы в не- которых границах, а вся информация имеет ограниченную точ- ность. Следует проверить, не выходит ли полученное решение за границы достоверности модели. Если это обнаружено, то необхо- димо ввести в модель дополнительные ограничения и повторить оптимизационные расчеты. После того как показано, что решение реализуемо, требуется установить, является ли оно оптимальным решением. Речь идет не о математическом доказательстве выполнения необходимых и достаточных условий критерия оптимальности, а об интерпрета- ции полученного результата и о понимании того, почему решение оптимально. Для того чтобы доверять решению, нужно на каче- ственном или интуитивном уровне понять причины, почему пере- менные в решении получили именно такие значения. В противном случае оптимальность решения принимается как результат при- менения математики и вычислительной техники. Предложенный в работе [39] подход направлен на выявление сущности задачи и состоит в использовании упрощенных вспомо- гательных моделей, с помощью которых оказывается возможным выявить основные причины, влияющие на решение и скрываю- щиеся за математической сложностью. Упрощенные вспомога- тельные модели широко используются в прикладной математике для выявления трендов. Например, в работе [40] при решении за- дач проектирования эффективно использовались упрощенные, лег- ко решаемые приближенные модели для объяснения трендов в де- тализированных оптимизационных расчетах. Рекомендуемая общая методология состоит в следующем [38]: 1) упростить модель так, чтобы можно было использовать про- стые алгебраические методы; 2) получить из вспомогательной модели оптимальное решение как функцию главных переменных модели; 3) с помощью вспомогательной модели построить ряд прогно- зов и проверить их на полной модели; 4) если оптимизационные расчеты подтверждают тренды, полу- ченные из вспомогательной модели, то успех в объяснении свойств модели достигнут. В общем случае таким образом могут быть исследованы несколь- ко вспомогательных моделей, каждая из которых отражает неко- торые из основных факторов или свойств полной модели или систе- мы. Результатом исследований такого рода является не только
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 255- решение задачи, но и понимание физического смысла полученного оптимального решения. Это способствует уменьшению разрыва между оптимумом системы и оптимумом модели. 13.3.2. Анализ чувствительности На следующем этапе оценки решения определяется его чув- ствительность к изменениям параметров модели или исходных дан- ных. Это исследование называется анализом чувствительности. Це- лями детального анализа чувствительности являются следующие: 1. Отыскание параметров, оказывающих наибольшее влияние на оптимальное решение. Если такие параметры существуют, то, возможно, следует рассмотреть вопрос о коррекции соответствую- щих свойств системы. Например, если выяснилось, что оптималь- ное решение в большой степени зависит от продолжительности работы оборудования (ограничение, налагаемое на систему), то, возможно, ее целесообразно увеличить за счет введения сверх- урочных часов работы для повышения прибыльности системы. 2. Уточнение данных о дополнениях или модификации системы с целью улучшения показателей ее работы. Такая информация необходима для оценки целесообразности повышения производ- ственной мощности путем расширения производства или увеличе- ния промежуточных запасов. 3. Определение влияния на систему вариаций неточно задан- ных параметров. Значения некоторых параметров модели, воз- можно, известны с большой погрешностью. Анализ чувствитель- ности показывает, стоит ли тратить средства для определения бо- лее точных значений этих параметров. В процессе исследования может выясниться, что параметры системы, которые представля- ются сначала весьма важными, не оказывают большого влияния на результаты оптимизации и поэтому нет необходимости уточнять их значения. 4. Выяснение возможной реакции системы на неуправляемые внешние воздействия. Некоторые исходные данные системы, на- пример спрос на производственную продукцию, изменяются про- извольным образом. Анализ чувствительности позволит оценить влияние спроса на прибыль, что даст возможность планировать производство при широком возможном диапазоне экономических показателей. Поскольку информация такого рода очень важна для практи- ческой реализации решения, детальный анализ чувствительности оказывается во многих случаях полезнее, чем оптимальное реше- ние. Анализ чувствительности проводится двумя способами: с по- мощью множителей Лагранжа или методом параметрического ис- следования. В случае линейного программирования легко полу- чить информацию о чувствительности системы по коэффициентам
256 ГЛАВА 13 целевой функции, не проводя повторного расчета оптимального решения. Этот способ, однако, пригоден только для моделей ЛП. В гл. 5 показано, что множители Лагранжа (так же как и множи- тели в условиях Куна — Таккера) характеризуют скорость изме- нения значения целевой функции в зависимости от изменения пра- вых частей ограничений. Так, если hk(x)=bk, то множитель vh равен vh=dfldbh. Анало- гично для ограничения в виде неравенства gj (x)^dj множитель и, равен Uj=df/ddj. Изменение значения целевой функции в зависимости от изме- нений правых частей ограничений в первом приближении выра- жается следующим уравнением: »")-/ м - Е Ш "*+Е (к) k ~ V. + У . Ц/ Adz. (13.11) к 7 Эта оценка изменения оптимального значения целевой функции оказывается достаточно правильной при условиях, что приращения &bh, малы, в оптимуме сохраняется влияние ограничений и одновременно возмущения включены в правые части лишь неболь- шого числа ограничений. На следующем примере показано, как использовать уравнение (13.11) для оценки изменений оптимального значения целевой функции. Пример 13.12. Использование множителей Лагранжа Рассмотрим задачу проектирования напряженной балки из примера 1.2. Оптимизационная задача проектирования после опре- деления переменных имеет вид минимизировать / (х) = 1,10471 х;х2 + 0,04811х3х4 (14-|- х2) , , F ( 1 , 3(28 + х3) при ограничении gl lx) = — — ) — + г . 4,5 (28~(-хг)2 (х,-у х3)2] \ 1/2 > 0 Xix5 (x2_|-3 (%1-|-х3)2) > где F = 6000 фунт и т4= 13 600 фунт/дюйм2, g2 (х) = х|х4 — 12,8 > 0, = *1>0, g4 (х) = х3хЦ1 — 0,02823х3) — 0,09267 73= 0, g, (х) = х,—0,125 > 0, ge (х) = х3х4—8,7808^0, х2 и х3>0.
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 257 Таблица 13.4. Решение задачи проектирования напряженной балки Величина Начальная точка Оптимальное решение *1 2,0 0,2536 *2 4,0 7,141 *3 4,0 7,1044 *4 3,0 0,2536 /W 28,0671 2,34027 gt 1,719225 2,327-10-» gi 35,2 1,863-10-’ ёз 1,0 7,341-10-" ё< 95,7119 3,392-10-" ёз 1,875 0,1280 ёв 183,2192 82,169 Предположим, что приведенное в табл. 13.4 решение получено методом штрафных функций (SUMT-IV). Требуется оценить эф- фекты изменения тс/ в интервале от 13 600 до 13 240 фунт/дюйм2 на значение целевой функции. Решение. Из табл. 13.4 следует, что первые четыре огра- ничения выполняются в оптимуме как равенства. При анализе чувствительности прежде всего следует определить значения мно- жителей активных ограничений, если они автоматически не вы- числяются в оптимизационной программе. Нужно решить систему W (О = S (**) для Uj^Q. В рассматриваемом случае система принимает вид 9,222 0,24249 0,28518 0 \ /ид /4,0018 \ О 0 3,604 50,473 \ иД / 0,1577 \ —10 0 1,0 Н и3 ) = 1 0,25797 ) 0 0 0,00977 1,0961/ \uj \7,226 / В общем случае подобная система не обязательно квадратная. Как правило, при проведении практических исследований уравнений бывает больше, чем неизвестных множителей, и поэтому решение отыскивается методом наименьших квадратов. В данном случае число активных ограничений в виде неравенств равно числу пере- менных и из условия Куна — Таккера сразу получаем «==(0,650553; 0,008193518; 4,3292586; 1,997586). 9 № 1865
258 ГЛАВА 13 Если rd возрастет до 13 240, то и константа в ограничении gi из- менится от 2,2667 до 2,20667. Так как ограничение записывается в форме gj=2,2667—7(х)^0 или —q(x)^—2,2667, Todj=—2,2667. Отсюда ДгЛ=(—2,20662)—(—2,2667) или Adi =0,06. Из уравнения (13.11) получаем предполагаемое изменение опти- мального значения целевой функции при изменении правой части ограничения Af=uIAdI=0,650553(0,06)=0,039033. Таким образом, новое значение целевой функции f (х) = 1,34027+0,039033=2,379303. Решение задачи с помощью программы SUMT с новым значением Td дает истинное значение целевой функции 2,38043. Оценка с по- мощью множителей Лагранжа приводит к вполне приемлемым ре- зультатам. Полученные значения множителей Лагранжа показы- вают, что целевая функция наиболее чувствительна к изменениям правой части четвертого ограничения, ограничения для прогиба, и менее всего чувствительна к изменениям правой части второго ограничения. Множители Лагранжа дают полезную информацию о чувстви- тельности целевой функции к различным ограничениям, но они не характеризуют ее чувствительности к изменениям отдельных параметров. В связи с этим желательно провести серию других расчетов чувствительности модели, в которых изменяют некоторые параметры. 13.4. Заключение В этой главе основное внимание было сосредоточено на проб- лемах, существенных для успешного проведения оптимизационных исследований. Описан ряд способов построения модели, проанали- зированы оптимизационные модели различных видов (аналитиче- ские, поверхности отклика и имитационные), дана сравнительная оценка их преимуществ и недостатков. Рассмотрены вопросы реа- лизации модели: построение модели и представление ее в некоторой форме, методы подготовки задачи к решению и стратегия проведе- ния оптимизационных расчетов. Установлено, что подготовка за- дачи к решению разделяется на три этапа: модификация модели для преодоления вычислительных трудностей, преобразование модели для повышения эффективности решения, анализ задачи с целью выявления ее специфических особенностей. При проведении этих этапов рассматривались вопросы, связанные с масштабированием задачи, преобразованием функций и переменных, исключением
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 259 избыточных ограничений и последовательной подстановкой пере- менных в ограничения. Приведены полезные для выявления основ- ных свойств задачи простые понятия — выпуклость, ограничен- ность множества допустимых решений и значений целевой функции единственность решения и наличие допустимых решений Описа- ны методы оптимизации аналитических и имитационных моделей а также рассмотрены вопросы, связанные с отысканием глобально- го оптимума. Показано, что метод нескольких начальных точек является в настоящее время единственным практически пригод- ным методом поиска глобального решения. В конце главы рассмотрены вопросы оценки полученного ре- шения. Показано, что достоверность решения должна быть под- тверждена количественным и качественным анализом, а также воз- можностью его интерпретации применительно к реальным услови- ям. Наконец, рассмотрены методы анализа чувствительности на ос- нове использования множителей Лагранжа для оценки чувстви- тельности решения к изменениям параметров задачи. У Содержание этой главы показывает, что проведение оптимиза- ционного исследования нельзя свести только к расчетам по искус- но составленной программе. В него входит тщательное изучение многих аспектов самой прикладной задачи, выбранной для нее модели и алгоритмов, используемых для вычислений Контрольные вопросы и задачи 13.1. Примените процедуру масштабирования к ДВум задачам из примера 13.3 и сравните с полученными в примере ре- зультатами. н 1 13.2. Определите значения масштабирующих множителей столб- цов и строк и запишите после масштабирования матрицу Якоби. р у 2 102 IO’4 10* 107 о 10-3 105 I 13.3. Определите значения масштабирующих множителей системы ограничений в окрестности допустимой точки (0,01- [• 0 01) gt (х) = х1 + 2х2 —х3 —2>0, g2 (х) = 1 OOxJ -f- 0,02х2 + 10х:; 0, ёя (Х)= 10% + 10% — 4-10% >0. 13.4. Исследуйте задачу минимизировать / (х) = х; 4- х2 при ограничениях g (х) = х2— max [2хг\ 3/2-—% (хг_ З)2] х, и х2 0. 9*
260 ГЛАВА 13 (а) Покажите, что Vg имеет разрыв в точке (2; 1). (б) Преобразуйте ограничение g(x) так, чтобы устранить разрыв в этой точке. 13.5. Модель циркулярной сушилки можно представить в следую- щем виде [Chung S. F., Can. J. Chem. Eng., 51, 262]: f, , nnoo 1 0,036 максимизировать / (x) = О.ОЗЗх. {---------+ | 1—exp (—107,9x2xi ’ ) + 0,095-|П [ U- *2 L I—exp(—107,9x2/x?'41) JI при ограничениях g,(x) = 2-103— 4,62- 10-exf’85x2—1,055х4^0, g2 (x) = 175—9,84-10-4x[’86x2>0, g3(x) = 2-109,6-^r< °’°36 + 0,095- 9,27.10-4- x{’’' I 1—exp (—107,9x2/x[J‘41) , I Г 1—exp (—5,39аг2/л:?'41) Xa Ll—exp (—107,9x2/xi’41) где /(x) — производительность сушилки в зависимости от расхода воздуха Xi и количества просушиваемого вещества х2. Допустимая начальная точка (800; 0,5). Найдите преобразо- вание задачи, которое позволит уменьшить вычислительные трудности и повысит эффективность решения с помощью гра- диентного метода. 13.6. Для оптимизации процесса алкилирования предложена сле- дующая модель [Sauer R. N. et al., Hydro. Proc. Petrol. Refiner., 43, 84 (1964)]: минимизировать f (x) = 0,063x4x7— 5,04x4— 0,035x2— 10x3—3,36x5 при ограничениях Mx) = 7jj^----112—13,167x8 — 0,6667x'8 = 0, ht (x) = x8 —^±^2 = 0, ha (x) = x4—x4—xs + 0,22x4 = 0, ft4 (x) = 103x3 — x4x9 ( ) = 0, fts (x) = x8 — 35,82—0,222xlo = 0, h„ (x) = x10+ 133 — 3x7 = 0, ft, (x) = x, — 86,35 — 1,098xe + 0,038x| + (-^-) (+ — 89) = 0 и заданных верхних и нижних границах переменных 0 О, < 2000, 85 s Xe 5 ^93, 0 + Х2 < 16000, 90s Sx,5 + 95, 0 +) х8 < 120, 3s С 12, 0 4 + < 5000, 1,2s S-V С 4, 0 4+, < 2000, 145 s =: Х10 <162.
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 261 (а) Найдите начальное допустимое решение задачи. (б) Преобразуйте задачу к виду, пригодному для решения методами прямого поиска. (в) Преобразуйте задачу к виду, пригодному для решения методами ЛП. 13.7. Ограничения модели из задачи 13.6 h^x), hjx), й5(х) и й,(х) получены по результатам экспериментов с некоторой по- грешностью. (а) Сформулируйте эти ограничения так, чтобы можно было оценить их погрешность. (б) Используйте подходящий градиентный метод для реше- ния задачи с относительными ошибками 0, 1,5 и 10%. (в) Проанализируйте полученные результаты и сравните их с результатами, полученными при нулевой ошибке. 13.8. Задача минимизации стоимости многослойного фильтра на станции очистки воды имеет следующий вид: минимизировать f (х) = Q-1 (0.00656Х, -ф 0,002189х3 -ф 0,03284х3 -ф + 2345Г1) при ограничениях (х) = Q_0'34dy0-51/_1,70L0’53— 0,007 = 0, h2 (х) = Q^L^d^H-'t — 403,23 = 0, h3 (x) = 1 .ЗЗУх^-1 + 0,5086x2L-1 ф- ОДхзФ-1 — de = 0, hJx) = H—Ht + 1,33 = 0, /i5 (x) = L — x, — x2—x3 = 0, (x) = 45— 1,41x'i — 1,35x2— 1, lx3 0, g2(x) = L—d|/7tQ>0 и заданных верхних и нижних границах переменных /^>40, Л(<8, Q>3,0. Обозначения переменных: L — общая толщина фильтрующего слоя, Q — расход воды через единицу площади фильтра, t — время фильтрации, х,- — толщина фильтрующего слоя i (i=l, 2, 3), de — размер частиц, пропускаемых фильтром, Н — падение напора за весь период работы, Ht — падение напора в момент времени t. Разумеется, все переменные неотрицательные. (а) Найдите начальное допустимое решение задачи. Из фи- зических соображений можно ожидать, что L^50, Q^10 и /^7500. (б) Найдите преобразования задачи к виду, упрощающему ее решение. 13.9. Сравните решение задачи 13.8, полученное методом линеа- ризации, с решением, полученным методом прямого поиска (/* = 18,339). Воспользуйтесь вторым решением для прове-
262 ГЛАВА 13 дения анализа чувствительности в окрестности оптимального решения. 13.10. Исследуйте задачу [Hesse R., Oper. Res., 21, 1267 (1973)] максимизировать / (х) = 25 (хг — 2)2 Ц- (х2— 2)2 + (х3— 2)2 + 4“ (х4 — 1 )2 + (х5 — 1 )2 + (х6 4)2 при ограничениях g,(x) = (x3— 3)2-|-х4— 4^0, g2 (х) = (х5 — З)2 + х„ — 6 > 0, ёз (х) = 2+х, —х3>0, gi (х) = 2—х, + Зх2>0, g5 (х) = 6 —х, —х2>0, £« U') = *i+ *2 — 2>0, и заданных верхних и нижних границах переменных 1 х3 5, х4 < 6, 1 х6 5, х4 10, все переменные неотрицательные. (а) Покажите, что задача имеет несколько локальных мак- симумов (всего их 18). (б) Предложите метод, которым можно доказать, что точка (5, 1, 5, 0, 5, 10) является глобальным максимумом задачи. 13.11. Воспользуйтесь любой, по вашему выбору, программой условной оптимизации для отыскания по крайней мере трех локальных максимумов задачи 13.10. Докажите, что эти точки удовлетворяют условиям локального максимума. 13.12. В задаче [Rosen J. В., Suzuki S., Common. ACM, 8, 113 (1965)] минимизировать / (х) = х2 + х2-(- 2х3 -f- х2— 5х, — 5х2 — 21х3Ц- 7х4 при ограничениях §4(х)=8— х2— х%— х3—х4— х,-|-х2— x3+x4^0, g2 (х) — 10 — х, — 2х2— х2— 2х2 + х, + х4 > 0, g3 (х) = 5 — 2х, — х3 — —2х, + х2 + х4 0, х*=(0, 1, 2, —1) является локальным минимумом, f*=—44. (а) Является ли этот локальный минимум глобальным ми- нимумом? Существуют ли другие локальные минимумы? (б) Проведите анализ чувствительности f* к изменению на 5% констант в ограничениях 8, 10 и 5. 13.13. Исследуйте задачу максимизировать f (х) = х2 + х2 -f- х3 + (х3 — х4)2 при ограничениях g4 (х) = 16 — 4 (х, — */2)2 — 2 (х2—0,2)2 — х3 — — 0,1х4х2 — 0,2х2х3 0, g2 (х) = 2х2 4-х2 — 2х‘‘ — 2^0, g3 (х) = х2 х4 > 0.
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 263 (а) Найдите, какие ограничения следует наложить на пере- менные задачи. (б) Определите, есть ли у задачи несколько локальных ре- шений. (в) Найдите допустимую начальную точку. 13 14. Решите задачу 13.13 с ограничениями —2,3<xz<2,7, i=l,...,4, используя подходящую программу условной оптимизации [/* = 11,68; Luus R., А1СНЕ J., 20, 608 (1974)]. 13.15. Исследуйте задачу минимизировать / (х) = хгх3 + хг'х.71 при ограничениях g(x) = xr— х2х3—х^х^^О, все х,- 7> 0. (а) Покажите, что задача имеет несколько решений. (Ука- зание: положить z1=x1xj и z2=x2x3.) (б) Решите полученную задачу алгебраически, чтобы пока- зать, что одно и то же оптимальное значение целевой функции получается на множестве значений х;. 13.16. Покажите, что задача минимизировать / (х) = 2х4х2 -j- х^х^'2 при ограничениях g(x)=l— ‘/з-Ч— Ху, х2^0 имеет оптимальное решение f(x*)=3 на множестве точек, удовлетворяющих соотношениям xtx2= 1 и g(x)^0. 13.17. Переформулируйте задачу минимизировать f (х) = х,х2 при ограничениях /i(x) = 0,25—Xi/4x2 = 0, g (Х) = ХДХ-2 + xj/2xi— 1 0, х1 7> 0 с целью упрощения процесса решения. 13.18. Получите начальное допустимое решение задачи минимизировать f (х) = ххх2хяХц при ограничениях g, (х) = 4xJ/2 + х|х3—1 0, g2 (х) = 2 —1 /8х3 2—xtx2x4-1 > 0, g3 (х) = 4—4х(х;—х%х% > 0, 16>х,>0. Используйте метод начального поиска для определения 100 пробных точек и вычислите отношение количества допу- стимых точек к числу недопустимых точек.
264 ГЛАВА 13 Литература 1. Embury М. С., Reklaitis G. V., Woods J.M., Scheduling and Simulation of a Staged Semi-Continuous Multi-Product Process, Proceedings of Pacific Che- mical Engineering Congress, Denver, Colorado, Aug, 1977, Vol. 2. 2. Bett К. E., Rawlinson J. S., Saville G,, Thermodynamics for Chemical Engi- neers, The MIT Press, Cambridge, MA, 1975. 3. King J. C., Separation Processes, McGraw-Hill, N. Y., 1971. 4. Scribner B. F., Berlau D. H., Optimal Planning for Product/Production Fa- cility Studies (OPPLAN), Proc. Amer. Inst. Ind. Eng. Conf., San Francisco, pp. 383—387, May 1979. 5. Benjamin D. R., Locke M. H., Westerberg A. W., ASCEND: Friendly Inte- ractive Flowsheeting System, paper 25b, AIChE Summer Meeting, Detroit, Aug. 1981. 6. Kilkas A. C., Hutchison H. P., Process Optimization Using Linear Models, Computers & Chemical Eng., 4, 39—48 (1980). 7. Pollack N. W., Lieder W. D., Linking Process Simulators to a Refinery Linear Programming Model, Computer Applications to Chemical Engineering (R. G. Squires, G. V. Reklaitis, Eds.), ACS Symposium Series, Vol. 124, American Chemical Society, Washington, DC (1980). 8. Parker A. L., Hughes R.R., Approximation Programming of Chemical Pro- cesses: Parts 1 and 2, Computers Chem. Eng., 5, 123—131 (1981). 9. Biegler L. T., Hughes R. R., Approximation Programming of Chemical Pro- cesses with Q/LAP, Chem. Eng. Prog., 77, 76—83 (1981). 10. McLane M., Sood M. K-, Reklaitis G. V., A Hierarchical Strategy for Large Scale Process Calculations, Computers Chem. Eng., 3, 383—394 (1979). 11. Biles W. E., Swain J. J., Optimization and Industrial Experimentation, Wi- ley-Interscience, N. Y., 1980, ch. 7. 12. Rosen E. M., Steady State Chemical Process Simulation: A State of the Art Review, in: Computer Applications to Chemical Engineering (R. G. Squires, G. V. Reklaitis, Eds.), ACS Symposium Series, Vol. 124, American Chemical Society, Washington, D. C. (1980). 13. Pritsker A. A. B., Modeling and Analysis Using Q-GERT Networks, Wiley- Halsted, N. Y., 1977. 14. Salvendy G. (Ed.), Handbook of Industrial Engineering, Wiley-Interscience, N. Y„ 1981. 15. Root R. R., Ragsdell К. M., Computational Enhancements of the Methods of Multipliers, ASME J. Meeh. Des., 102, 517—523 (1980). 16. Keefer D. L., Gottfried B., Differential Constraint Scaling in Penalty Function Optimization, AI1E Trans., 2, 281—286 (1970). 17. Lasdon L. S., Beck P. O., Scaling Nonlinear Programs, Oper. Res. Letters, 1, 6—9 (1981). 18. Berna T. J., Locke M. N., Westerberg A. W., A New Approach to Optimization of Chemical Processes, AIChE J., 26, 37—43 (1980). 19. Box M. J., A Comparison of Several Current Optimization Methods and the Use of Transformations in Constrained Problems, Computer J., 9, 67—77 (1966). 20. SisserF. S., Elimination of Bounds in Optimization Problems by Transform- ing Variables, Math. Prog., 20, 110—112 (1981). 21. Luenberger D. G., Introduction to Linear and Nonlinear Programming Addison- Wesley, Reading, MA, 1973, ch. 5. 22. Reklaitis G. V., Wilde D. J. A Differential Algorithm for Posynomial Pro- grams, DECHEMA Monogr., 67, 324—350 (1970). 23. Reklaitis G. V., Wilde D. J., Geometric Programming via a Primal Auxiliary Problem, AIIE Trans., 6, 308—317 (1974). 24. Rijckaert M. J., Martens X. M., Analysis and Optimization of the Wiliams- Otto Process by Geometric Programming, AIChE J., 2, 742—750 (1974). 25. Westerberg A. W., Shah J. V., Assuring a Global Optimum by the Use of an
СТРАТЕГИИ ОПТИМИЗАЦИОННОГО ИССЛЕДОВАНИЯ 265 Upper Bound on the Lower (Dual) Bound, Computers Chem. Engr., 2, 83—92 (1978). 26. Guthrie К. M., Process Plant Estimating, Evaluation and Control, Craftsman Book Company, Solana Beach, CA (1974). 27. Knopf F. C., Okos M. R., Reklaitis G. V., Optimal Design of Batch/Semi-Con- tinuous Processes, Ind. Engr. Chem. Proc. Design Develop., 21, 79—86 (1982). 28. Fattier J. E., Reklaitis G. V., Sin Y. T., Root R. R., Ragsdell К- M., On the Computational Utility of Polynomial Geometric Programming Solution Methods, Math. Programming, 22, 163—201 (1982). 29. Geoffrion A. M., Generalized Benders Decomposition, JOT A, 10, 237—251 (1972). 30. Sargent R. W., Gannibandara K., Optimum Design of Plate Distillation Co- lumns, in: Optimization in Action (L. C. W. Dixon, Ed.), Academic Press, N. Y., 1976. 31. Gupta A., Ravindran A., Optimization of Transportation Networks, in: Stochas- tic Modeling of Large Scale Transportation Networks (J. J. Solberg, Ed.), Final Rep., Automative Transportation Center, Purdue University, April 1981. 32. Reklaitis G. V., Woods J. M., Optimization of a Non-ideal Staged Compression Facility, Proc. 1974 Purdue Compressor Technol. Conf., Purdue University, July 1974, pp. 415—422. 33. Biles W.E., Swain J. J., Optimization and Industrial Experimentation, Wi- ley, N. Y., 1980, ch. '. 34. Knopf F. C., Reklaitis G. V., Okos M. R., Combined Design and Scheduling of Regenerative Noncontinuous Processes, Symp. Prod. Planning Multi-Product Plants, AIChE Nat. Meet., Houston, TX, Apr. 1981. 35. Pritsker A. A. B., Pegden С. P., Introduction to Simulation and SLAM, Sys- tems Publ. Corp, and Halsted Press, N. Y., 1979. 36. Archetti F., Szego G. P., Global Optimization Algorithms Nonlinear Optimi- zation: Theory and Algorithms (L. C. W. Dixon, E. Spedicato, G. P. Szego, Eds.), Birkhauser, Boston, 1980. 37. Cabot A. V., Francis R. L., Solving Nonconvex Quadratic Minimization Prob- lems by Ranking Extreme Points, Oper. Res., 18, 82—86 (1970). 38. McCormick G. P., Attempts to Calculate Global Solutions to Problems that may have Local Minima, in: Numerical Methods for Nonlinear Optimization (F. A. Lootsma, Ed.), Academic Press, N. Y., 1972. 39. Geoffrion A. M., The Purpose of Mathematical Programming in Insight, not Numbers, Interfaces, 7, 81—92 (1976). 40. Sherwood T., A Course in Process Design, MIT Press, Cambridge, MA, 1963.
Глава 14 Примеры технических приложений В этой главе рассмотрены три примера, в которых используется оптимизация технических систем большой размерности. Первый пример связан с задачей оптимального размещения углеобогати- тельных фабрик в районе, включающем ряд угольных шахт и пот- ребителей угля. Второй пример — это задача оптимального проек- тирования химического завода по производству окиси этилена и этиленгликоля. Третий пример связан с задачей проектирования системы аккумулирования сжатого воздуха на электростанциях для функционирования в условиях пиковых нагрузок. В каждом при- мере в соответствии с рассматриваемой задачей предлагается свой подход к построению модели. Из-за ограниченного объема книги модели описаны в общих чертах; с деталями можно познакомиться, обратившись к работам, на которые сделаны ссылки. Проведено сравнение методов оптимизации, использованных в исследованиях, описаны различные способы повышения эффективности решения, работы с дискретными или булевыми переменными и уменьшения размерности оптимизируемой задачи. Таким образом, в этой главе на трех практических примерах проиллюстрировано применение методов, рассмотренных в гл. 13, и алгоритмов, описанных в гл. 1—12. Эта глава является весьма важной при изучении методов оптимизации в технике. 14.1. Оптимизация размещения углеобогатительных фабрик с помощью методов частично целочисленного программирования В этом примере описано применение методов частично целочис- ленного программирования для решения задачи о размещении пред- приятий. В работе [1] проведено технико-экономическое обоснова- ние строительства углеобогатительных фабрик в штате Индиана. Фабрики предназначены для обогащения угля с произвольным со- держанием серы п получения смеси, отвечающей требованиям пот- ребителей угля штата и удовлетворяющей норме по выбросу SO3
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 267 при сжигании. На этом примере показано так же, как с помощью бу- левых переменных вводятся в целевую функцию постоянные зат- раты. 14.1.1. Постановка задачи Уголь является одним из энергоносителей, делающих США не- зависимыми от непредсказуемых поставок зарубежной нефти. Од- нако препятствием в использовании угля с точки зрения экологии служит наличие серы в угле, добываемом из шахт. Большая часть угля со Среднего Запада и Востока содержит много серы [2]. Топки по сжиганию угля — основные источники загрязнения воздушного бассейна двуокисью серы (SO2), которая губительна для раститель- ного и животного мира. По этой причине Управление по охране ок- ружающей среды США установило для каждого штата строгие нор- мы по выбросу SO2 [3]. Потребители угля в районах с наиболее жесткими нормами для выброса SO2 стали меньше применять десульфурацию газообразных продуктов сгорания (скрубберы) или сжигать уголь с низким содер- жанием серы. По сообщениям [4] газовые скрубберы с дымовыми тру- бами, которые пользователи вынуждены устанавливать, дают 8— 9 фут3 грязеобразного отстоя на тонну сжигаемого угля. Этот от- стой надо куда-то сбрасывать, что создает другую проблему загряз- нения окружающей среды. Возможность использования угля с низ- ким содержанием серы для коммунальной системы и на предприя- тиях привела к повышению цен на уголь из западных штатов и сужению рынка для угля, добываемого на Среднем Западе. Здесь рассматривается возможность строительства централизованных фаб- рик по обогащению угля с произвольным содержанием серы (добы- ваемого в штатах Запада, Среднего Запада и Востока) с целью полу- чения угля, удовлетворяющего одновременно нуждам потребителей и стандартам по охране окружающей среды. 14.1.2. Построен ие модели Уголь как с низким, так и с высоким содержанием серы добы- вается в различных районах. С помощью механического процесса уголь перерабатывается в смесь, которая удовлетворяет при- родоохранным нормам. Требуется изучить следующие вопросы. 1) Сколько нужно построить углеобогатительных фабрик? 2) Где их нужно строить? 3) Каких потребителей должна обслуживать фаб- рика и где добывать уголь? 4) Каковы оптимальные соотношения различных углей, предназначенных для переработки, которые удовлетворяют нормам Управления по охране окружающей среды? Для получения ответов на эти вопросы разработана однопериодная (статическая) модель. Из-за комбинаторной природы задачи о раз-
268 ГЛАВА 14 мещении вводятся булевы переменные, а окончательная формули- ровка приводит к частично целочисленной модели ЛП. Переменные. Индексы i, j, k используются для обозначения шахт, обогатительных фабрик и потребителей. Прописные буквы будут обозначать переменные, а строчные — входные параметры и константы. Переменные модели определяются следующим образом: — вес угля (в тоннах), отправленного из источника i на обогатительную фабрику /. uJk — вес угля, отправленного с обогатительной фабрики в рай- оне / потребителю k. wu — булева переменная; о>о=1, если уголь отправляется из источника i в район /. В противном случае Xjh — булева переменная; х7й=1, если уголь отправляется из района / потребителю k. В противном случае x7/i=0. yj — булева переменная; г/7-==1, если используется район /. В противном случае </7=0. Целевая функция. Требуется минимизировать все затраты си- стемы, куда относятся следующие. 1. Стоимость различных видов угля (в долларах за тонну) при шахтной добыче. 2. Стоимость переработки, куда входят капитальные затраты на строительство обогатительной фабрики и переменные затраты, про- порциональные объему перерабатываемого угля. Перерабатывающе- му предприятию нужен большой участок земли для хранения угля, требуется оборудование для подачи угля, анализа и взвешивания, а также агрегаты для смешивания. Стоимость строительства вместе с другими капитальными затратами приводится путем дисконтиро- вания за средний срок работы фабрики к погодовой стоимости. 3. Транспортные затраты зависят от места добычи, назначения и количества груза. ЛАехапизм образования тарифов железнодорож- ных перевозок очень сложен, поскольку различные тарифы зав сят от объема перевозок, от того, принадлежат ли вагоны железной до- роге, владельцам шахт и фабрик или же арендуются. Часто исполь- зуются тарифы специальной структуры (например, единые железно- дорожные тарифы). В этом исследовании предполагается, что транс- портные издержки включают постоянные издержки, не зависящие от количества перевозимого угля, и переменную часть, пропорцио- нальную расстоянию и объему перевозимого угля. Постоянные транспортные издержки учитывают расширение существующей транспортной системы или строительство новых транспортных средств. Например, постоянные издержки могут включать: а) зат- раты на приобретение новых железнодорожных вагонов для того, чтобы не использовать вагоны, принадлежащие железной дороге (при использовании вагонов, принадлежащих потребителю, тарифы за перевозки значительно ниже); б) затраты на приобретение новых грузовиков; в) стоимость строительства трубопроводов для перека- чивания пульпы. Постоянные издержки также приводятся путем
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 269 дисконтирования к погодовой стоимости за средний срок службы закупленного оборудования. Таким образом, целевая функция сис- темы принимает вид минимизировать f (и, и, w, х, «/) = 5 D{ vij) + 2 CjUj + < / i + Zj^/ ( Zj vtj J + Zj Zj (Sijwa + T’ij-Vi /) + + Zj Zj (Pjkxjk + Gjkujk)> (14.1) i k Dt — стоимость добычи в районе i тонны угля, Sl7 — постоянные расходы на перевозку угля из района i на обогатительную фабрику /, Т— стоимость перевозки тонны угля из района i на фабрику /, Су — ежегодные постоянные затраты на переработку тонны угля на фабрике /, Bj — переменные затраты на переработку тонны угля на фаб- рике /, Fjk — постоянные расходы на перевозку с фабрики / потреби- телю k, Gjk — стоимость перевозки тонны угля с фабрики потребителю k. Ограничения системы. Моделируемую систему описывают сле- дующие ограничения. 1. Вес перевозимого угля не может превысить мощности шахты по добыче угля: М{ для всех i, (14.2) i где Mt — мощность шахты i по добыче угля. 2. Объем поставок потребителю должен удовлетворять его пот- ребности: ^Ujk^Nk для всех k. (14.3) I Следует отметить, что в этой модели не допускается неудовлетворе- ние потребности. Это ограничение можно также записать следующим образом: 1г Zj U/k Nk, i где Nk — минимально допустимая потребность, и Nh — общая пот- ребность в целом. В этом случае издержки вследствие дефицита угля вошли бы в функцию стоимости. В предположении линейности из- менения этих издержек дополнительное слагаемое в функции стои- мости имело бы вид — Zj “yfc\
270 ГЛАВА 14 где Ah — удельные издержки вследствие дефицита для потреби- теля k. 3. Объем перевозок с фабрики не может превысить мощности этой фабрики: для всех j, (14.4) k где Pj — мощность фабрики j (предполагается, что нет запасов обо- гащенного угля) и у7 = 1, если фабрика / работает. 4. Общий объем перевозок обогащенного угля с фабрики не боль- ше (с поправочным коэффициентом) объема угля, доставленного с шахт на эту фабрику: Е X У Для всех /, (14.5) i it где Е — показатель эффективности процесса переработки. 5. Желательно, чтобы ограничения гарантировали удовлетворе- ние специальных требований потребителей по содержанию серы в обогащенном угле. В этом исследовании предполагается, что вы- пускаемая с фабрики смесь углей, прошедших переработку, явля- ется линейной комбинацией различных углей. Это предположение может быть принято, поскольку эмпирические данные не опровер- гают, хотя и не подтверждают его. Если Hi — содержание серы (в весовых процентах) в угле из района I, то — количество серы в обогащенном угле i I на фабрике /. Если фабрика обеспечивает потребителя k (т. е. если хл=1), то вводится ограничение tj^Lk, где Lk — макси- С i мально допустимая для потребителя k норма содержания серы в угле. Это дополнительное ограничение можно представить в виде ’^iHiviJ—Lk'^vij^M(\—x/k) для всех / и k, (14.6) I i где М — большое положительное число. Такое ограничение заста- вит фабрику производить смесь углей, удовлетворяющую самым жестким требованиям потребителей, которых она обслуживает. Заметим, что если то неравенство (14.6) сводится к т. е. количество серы в обогащенном на фабрике / / i угле не превысит требуемую потребителем k норму содержания серы в угле. С другой стороны, если потребитель k ничего не получает с фабрики /, x7-fe=0, то ограничение (14.6) становится избыточным. 6. Различные ограничения. а) Приводимые ниже ограничения позволяют ввести в модель
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 271 постоянные транспортные издержки uJk — Л4ху> 0 для всех j и k, (14.7) vlf—Mw{J^.O для всех i и /, (14.8) где М — большое положительное число. б) Wu, xJk, z/y — целочисленные булевы переменные. в) vijt uJk — неотрицательные переменные. Исходные данные. 17 шахт в штате Индиана дают 94% всей добычи угля [2]. Информация получена со всех заводов, предприя- тий и учреждений штата (тюрем, больниц, университетов, школ и др.), потребляющих ежегодно свыше 1000 т угля [2, 5]. Сюда вошли 33 предприятия коммунальных услуг и 46 чисто промышленных потребителей. Однако из-за ограниченных возможностей ЭВМ штат Индиана был разделен на 15 рай- онов, потребляющих уголь на основе характера распределения заявок потребителей. Поскольку коксовые и цементные заводы предъявляют специальные тре- бования к углю, они не включе- ны в это исследование. Двенад- цать возможных мест для раз- мещения фабрик были выбраны в результате обсуждения с пред- ставителями энергетической ко- миссии штата Индиана [5]. На рис. 14.1 показано расположе- ние угольных шахт, потребите- лей и участков для размещения фабрик углеобогатительных фаб- рик, которые учитывались в этом исследовании. Предполагалось, что транс- портная система соответствует потокам угля в Индиане и пос- тоянные транспортные расходы Рис. 14.1. Карта штата Индиана, на ко- торой указаны районы добычи и потреб- ления угля и углеобогатительные фаб- рики. были исключены из модели. Переменные транспортные рас- ходы основаны на средних та- рифах за перевозки (центы за тонну-милю), опубликованных в Справочнике угольной промышленности [2]. Зная тарифы за перевозку угля и расстояния между пунктом отправления и пунктом назначения, можно подсчитать коэффициенты транспортных рас- ходов [1]. Расстояния по железной дороге в милях получены из доступной информации [6J.
272 ГЛАВА 14 Для подсчета содержания серы в угле из различных шахт среднее содержание серы в угольных пластах каждой из шахт взято из Ге- ологического справочника штата Индиана 17]. Оценка приемлемого содержания серы проводилась на основе норм Управления по ох- ране окружающей среды по выходу двуокиси серы; этот метод опи- сан в работе [1]. Ограничения на мощности углеобогатительных фабрик [фор- мула (14.4)] не учитывались, если по коммерческим соображениям с ними было невыгодно сотрудничать. Предполагалось, что потерями угля в процессе переработки можно пренебречь. Поэтому вес угля на каждой углеобогатительной фабрике не менялся, и значение Е в ограничении (14.5) полагалось равным 1. По оценке стоимость фабрик по обогащению угля не свыше 12 млн. долл. В модели учи- тывалась стоимость от 1,8 до 11,3 млн. долл. Средний срок работы фабрики принимался равным 30 лет. Приведенная стоимость под- считывалась за 30 лет с коэффициентом дисконтирования 10%, от- куда вычислялась погодовая стоимость С>. Эксплуатационные рас- ходы Bj (исключая стоимость угля) фабрик оценивались из расчета 0,25 долл, на тонну обогащенного угля. (Эти оценки сделаны круп- ной фирмой по эксплуатации коммунальных объектов, которая предполагала построить углеобогатительную фабрику.) 14.1.3. Результаты В качестве иллюстрации взят пример фабрики с годовыми по- стоянными издержками 130 000 долл. Ожидаемый срок работы 30 лет и коэффициент дисконтирования 10%, что эквивалентно вложе- ниям приблизительно 11,3 млн. долл. В окончательном виде частич- но целочисленная модель содержала 69 ограничений, 406 перемен- ных, 12 булевых переменных и 1767 ненулевых элементов. Для реше- ния задачи использовалась программа MIPZI [8], основанная на методе неявного перебора Балаша [9]. Время работы центрального процессора на CDC 6500 в Университете Пурдью составило 56,8 с. В результате расчетов было выбрано шесть районов для строи- тельства фабрик. Размещение фабрик и их производственные мощ- ности указаны в таблице. Район Размещение фабрики Производственная мощность фабрики в тоннах Районы обслуживания потребителей 1 Гэри 4 895 000 1 2 Саут Бенд 772 900 2 6 Логанспорт 3 529 000 6 8 Индианаполис 6 792 000 3, 7 10 Терр Хойт 9 729 100 4, 8, 10, 14 11 Эвансвилл 5 610 900 5, 9, 11, 12, 13. 15
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 273 Анализ результатов показывает, что потребляется весь добытый в Индиане уголь и дополнительно завозится 9 млн. тонн. Фабрика 2 должна иметь наименьшую производственную мощность, но все же ее строительство экономически выгодно. На всех углеобогатитель- ных фабриках выполняются все нормы Управления по охране окру- жающей среды. Поскольку таких фабрик не было, был проведен анализ чувстви- тельности стоимости углеобогатительной фабрики. Модель пере- считывалась при более низких постоянных затратах фабрик. Од- нако оптимальное число фабрик не изменилось. Это характерно для громадных количеств перевозимого угля. Стоимость углеобогати- тельных фабрик мала по сравнению с транспортными издержками. При коррекции модели с учетом строительства фабрик во всех 12 районах получено, что годовые издержки возрастают с 45,1 млн. долл, до 51,7 млн. долл., т. е. на 14,5% . Рост издержек складывает- ся из возрастания стоимости фабрик на 0,8 млн. долл, и дополнитель- ных транспортных затрат на 5,8 млн. долл. Это подтверждает важ- ность тщательного рассмотрения и выбора мест для строительства углеобогатительных фабрик. 14.2. Оптимизация процесса производства этиленгликоля и окиси этилена В этом разделе описываются в общих чертах построение и оп- тимизация упрощенной модели химического процесса. Ограничен- ность места не позволяет рассмотреть процесс подробно, предста- вить последовательность всех ограничений и механизм преобра- зований. Эти детали содержатся в работах [10, 11], где приведены листинги программ на Фортране, использованных при решении за- дачи. Цель этого раздела рассмотреть общий вид модели и выявить проблемы, возникающие при решении оптимизационной задачи. 14.2.1. Постановка задачи Необходимо провести предварительную оптимизацию парамет- ров проекта завода для производства окиси этилена прямым окис- лением этилена и одновременного получения этиленгликоля гидра- тацией части окиси этилена. Требуется также выбрать основные параметры производственного процесса, чтобы получить максималь- ную чистую прибыль с учетом налогов. В представленной на рис. 14.2 схеме этилен, кислород, азот и рециркулирующий газ смешиваются и подаются в трубчатый реак- тор с серебряными катализаторами. Азот используется как разбав- ляющий газ, чтобы поддерживать концентрацию смеси ниже грани- цы воспламеняемости. Реакции окисления С2Н2+1/2О2->С2Н4О, С2Н4+ЗО2-*2СО2+2Н2О
Рис. 14.2. Схема процесса производства окиси этилена и этиленгликоля. ГЛАВА 14
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 275 идут с выделением большого количества тепла; температура под- держивается путем отвода тепла через стенки теплоносителем. Вы- ходящий из реактора газ поступает в абсорбер, в котором С2Н4О растворяется в воде. Остаток нерастворившегося газа, за исключе- нием небольшой части, попадает в систему для удаления углекисло- го газа, а затем в компрессор, в котором давление поднимается до рабочего уровня реактора. Раствор из абсорбера окиси этилена подается в стриппинг-колонну, в которой с помощью пара отделя- ется окись этилена. Большая часть потока из нижней части стрип- пинг-колонны возвращается в верхнюю часть абсорбера, а остав- шаяся часть идет в реактор для получения гликоля. Пар с большим содержанием окиси этилена, поступающий из верхней части стрип- пинг-колонны, сжимается, конденсируется и подается в колонну для отделения легких фракций, где удаляются остатки углекислого газа и другие примеси, содержащиеся в малых количествах. В ниж- ней части этой колонны остается только вода и окись этилена. Эта фракция подается в колонну окончательной очистки, из которой выходит чистая окись этилена в газообразном виде. Потоки из стриппинг-колонны и колонны для отделения легких фракций смешиваются с подготовленной водой и подаются в реак- тор, где в присутствии серной кислоты окись этилена гидратирует- ся для получения моногликоля, дигликоля и других полигликолей. Предпочтительней получать моногликоль. Выходящие из реактора газы проходят через сернокислотный нейтрализатор и направляют- ся в испаритель. В испарителе удаляется большая часть воды, а оставшаяся часть — в дистилляционной колонне. Смесь подается затем в колонну окончательной очистки, из верхней части которой получают газообразный моногликоль. 14.2.2. Построение модели Модель этой системы в основном включает множество уравнений и соотношений, описывающих каждую установку, используемую в процессе. В каждое такое множество входят уравнения, описываю- щие материальный и энергетический баланс, взаимосвязь физи- ческих свойств, конструкцию оборудования, и различные типы огра- ничений в виде неравенств. В этом разделе приведены примеры ука- занных выше уравнений. Более детальное описание модели дано в работах [10, 11]. Уравнения материального баланса. Простейшими уравнениями модели обычно являются уравнения материального баланса. Они линейны по переменным, соответствующим используемым в реакции веществам; вообще для каждого произведенного на установке ве- щества можно записать одно уравнение баланса. Например, для аб- сорбера соотношения между СО2 и окисью этилена имеют вид СО6+СО9=СО5, ЕО6+ЕО9= ЕО5+ЕО8,
276 ГЛАВА 14 где COt — количество СО2 в потоке I, моль/ч, ЕОг — количество С2Н4О в потоке t, моль/ч. Уравнения энергетического баланса. Обычно при описаниях химических процессов в уравнение энергетического баланса не включают затраты механической энергии, а рассматривают только изменения энтальпии. В тех случаях, когда можно предположить, что теплоемкость или скрытая теплота фазового перехода веществ, участвующих в процессе, не зависят от температуры, уравнения энергетического баланса в худшем случае представляют собой квад- ратные уравнения относительно температуры и количеств участву- ющих в процессе веществ. В других случаях, когда нельзя считать эти величины постоянными, в уравнениях энергетическою баланса появляются дополнительные нелинейные члены. Например, в реакто- ре для получения окиси этилена количество тепла, необходимого для поддержания постоянной температуры, определяется выражением т Q = AH0 + 2(N5-N4)f J СР. dt, где первый член характеризует изменение энтальпии во время ре- акции, а второй — изменение теплосодержания реагирующих и выходных веществ. Так, ДН0=(ЕО5—ЕО4) 45 300+(СО5—СО4) 284 000, где СР. —теплоемкость газа i, определяемая по формуле Ср. = Здесь at, |Зг и уг — эмпирические константы, a N5;, N4,- — коли- чество газа в молях в потоках 5 и 4. Равновесные смеси. Кроме термодинамических характеристик, в моделях химических процессов используются коэффициенты рав- новесных фазовых распределений (пар — жидкость). Они могут описываться довольно сложными эмпирическими соотношениями, как, например, для feco2 — постоянной Генри для СО2 [12]: 1 ч /icn 2698\ р /203,14 9,756-Ю4 пплссоок. In (fecoj = (16,43-f~)~~R\ ~~f----~T*-----0,00662/? j X ( P\i( 119,76 552,22 3,964-10’ 9,518-104 \ ^\R)\T'T2 T3 "T" T4 ) ’ где T, P и I? — температура, давление и универсальная газовая постоянная. Уравнения для расчета оборудования. Уравнения для расчета или выбора оборудования имеют различный вид: от алгебраических уравнений до сложных систем дифференциальных уравнений. В пер- вом случае предполагается, что переменные, определяющие выбор оборудования, можно в явном виде представить через другие пара- метры установок, в других случаях появляются неявные функции, для оценки которых потребовалось бы провести итеративный про- цесс.
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 277 Например, абсорбер окиси этилена можно просто описать, пред- полагая, что процесс в нем протекает при постоянных давлении и температуре. Уравнение Крейсера [13] используется для подсчета числа теоретических стадий N. Это уравнение для окиси этилена принимает вид Г/ YEO6—т ХЕО8 \ f 1 \ 1 1 N = YEO5-mXEO8 Д1 Л^ + д] , (j4 9) где т — константа равновесия для окиси этилена в воде (зависит от температуры и давления); A=L!mG, где LIG—отношение жид- кой и газообразной фаз в абсорбере в молях, УЕОг и XEOi — коли- чество С2Н4О в парообразной и жидкой фазах в молях в потоке i. Напротив, уравнение для расчета осушителя хотя и имеет алгеб- раическую форму, но более сложное. В качестве уравнений для предварительного расчета ректификационной колонны исполь- зуются уравнения Феншке, Ундервуда и Гиллиланда [14]. В рассматриваемом случае требуется выбрать колонну, основны- ми реагентами в которой являются вода и моногликоль. Из уравне- ния Феншке минимальное число теоретических тарелок Nm опре- деляется следующим образом: N log[(W 18/EG 118)X(EG 119/W 19)], . m _ loga^, где aw1 = (a^ X<)1/2, <4i = Pw (Tt)/pEGi (Tf), = Pw (TbVPEGi (Tb), Tb — температура в нижней части колонны, Tf— температура в верхней части колонны, pt(T)— парциальное давление компонен- ты I, задаваемое эмпирической функцией от температуры Т, и EG1; и Wj обозначают количество моногликоля и воды в потоке /. Температура в верхней и нижней частях колонны зависит от соотношения реагентов в соответствующих местах в предположении, что поток 18 имеет температуру точки росы, а поток 19 — темпера- туру кипения. Это позволяет записать два уравнения с неявной за- висимостью от температуры: (Л) ^^7=1,0, P£j^ = l,o, (14.11) i i где i — вода, моногликоль, дигликоль и Р — полное давление в колонне. Минимальный коэффициент орошения получается из уравнения Ундервуда. Предполагая, что подаваемый раствор насыщен, из урав- нения при О412)
278 ГЛАВА 14 можно определить значение параметров Ундервуда в. Из уравнения получают значение минимального коэффициента орошения Rm. Истинное значение коэффициента орошения обычно принимается равным Rm, умноженному на принятый в проекте коэффициент, или же может определяться при оптимизации. Зная R и исходя из простых энергетических балансов, можно рассчитать режим ох- лаждения в конденсаторе и нагрева в бойлере с циркуляцией. За- тем, имея значения Nm, Rm и R, с помощью аналитической фор- мулы Эдулье [15] для соотношения Гиллиланда можно определить истинное число тарелок: ^ = 0,75[1-(Д=^)“-]. (14.14) Математическая модель трубчатого реактора для производства этилена с охлаждением внешней стенки представляет систему диф- ференциальных уравнений, описывающих изменения состава ком- понентов, изменение энтальпии и давления в потоке, когда исходная смесь проходит через трубки-катализаторы. Например, получение С2Н4О можно описать уравнением dN Eo/dw = г ео, где w—вес катализатора, гео— скорость реакции для получе- ния окиси этилена [16], _ ^РеРо^'Р фунт-моль ЕО Ге0 1 -|-24,55рЕ (час)-(фунт катализатора) ’ 1 -|-30,63рН2О + 7,68 (₽со2 + ₽ео) и fei — параметр, зависящий от температуры, ^ = 0,09428 ехр[ 13,41 (1— ф)]. В этих выражениях рЕ, рОг, Рнго, Рео — парциальные давления этилена, кислорода, воды и окиси этилена соответственно. Анало- гичные выражения используются для определения скорости реак- ции при производстве СО2. Эта система дифференциальных уравне- ний не интегрируется. Для того чтобы методами НЛП более точно исследовать модель реактора, в качестве аппроксимации использо- вались численные решения дифференциальных уравнений в об- ласти ожидаемых рабочих условий с учетом уравнения поверхнос- ти отклика w= A0YE 4Л| YO 4Л2АЛзРЛ4 (е-7')Л5 In (2—Х)Лв (14.15) для катализатора весом w и уравнения для селективности S=l/(1 + A 7YO4-48),
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 279 где параметры от АО до А8— коэффициенты регрессии, X — эти- лен, переработанный в реакторе, YE4 и YO4—количество этилена и кислорода в молях в потоке 4. В силу своей природы уравнения поверхности отклика верны в ограниченных пределах. Поэтому следует предусмотреть возможность коррекции, если при модели- ровании произошел выход за эти пределы. Ограничения в виде неравенств. В дополнение к большому чис- лу описанных выше линейных и нелинейных уравнений в модель процесса входит ряд ограничений в виде неравенств. Их можно разбить на три группы: 1. Явные ограничения, являющиеся составной частью модели. 2. Неявные ограничения, позволяющие избегать вычислитель- ных трудностей. 3. Верхние и нижние границы для основных переменных, чтобы не выйти из заданной области. К самым важным относятся пределы концентрации для исклю- чения воспламенения при загрузке реактора по производству оки- си этилена, предельно допустимые значения параметра Ундервуда 0 в формуле (14.12) и условие, чтобы температура насыщенного пара в стриппинг-колонне была выше температуры исходного сырья в ко- лонне, что позволяет избежать чрезмерной конденсации пара. Неявные ограничения касаются аргументов различных лога- рифмических и степенных функций. В принципе следовало бы ограничить все подобные аргументы, чтобы избежать возможных арифметических ошибок и неопределенных значений функций. Од- нако на практике при первом просчете модели можно отбросить большую часть ограничений в виде неравенств, так как значения аргументов, возможно, лежат далеко от критических значений. В рассматриваемом случае важными, как выяснилось, являются 1) аргументы логарифмических членов в уравнении Крейсера для стриппинг-колонны по производству окиси этилена и абсор- бера [формула (14.9)]; 2) аргумент в соотношении Гиллиланда для колонны очистки гли- коля [формула (14.14)]; 3) минимальное значение коэффициента орошения в колонне для производства гликольно-водного раствора; 4) разности температур в теплообменнике для жидкостей абсорбе- ра и испарителе. Последние два ограничения на разность температур необходимы для того, чтобы не допустить изменения направления теплообмена. К третьему типу ограничений в виде неравенств относятся мно- жества верхних и нижних границ значений переменных модели, специфические для данного приложения. Целевая функция. В рассматриваемом случае целевой функцией является чистый доход без налоговых отчислений в почасовой фор- ме. Чистый доход — это годовой доход от продажи за вычетом всех затрат за год. Годовые затраты включают стоимость сырья и аморти-
280 ГЛАВА И зационную часть полной стоимости оборудования. Полная стои- мость оборудования складывается из стоимостей основных эле- ментов оборудования. Стоимость отдельных видов оборудования с учетом их производственной мощности и основных технологических характеристик определяется по данным работы [17] и аппроксими- руется степенной функцией. Например, стоимость реактора, армиро- ванного нержавеющей сталью, с колпачковыми тарелками из нер- жавеющей стали находится по формуле 21(674+4,63 Р) (D+/7)-°’175+(88,42 О1’154 Я1’13 (D+ где Р, D и Н — рабочее давление, диаметр и высота реактора соот- ветственно. В эксплуатационные расходы входят стоимость пара для удале- ния легких фракций, испарения и повторного нагрева, стоимость электроэнергии для компрессора, стоимость воды, которая исполь- зуется в реакторе для производства гликоля, и стоимость серной кислоты. В стоимость исходных материалов входят стоимости эти- лена, кислорода и азота. Некоторые значения этих параметров ука- заны в работе [10]. 14.2.3 . Подготовка задачи Полная модель технологического процесса состоит более чем из 100 уравнений и еще большего числа верхних и нижних границ значений переменных, неравенств. Поскольку моделируется физи- ческая задача, имеющая сетевую структуру, переменные и ограни- чения можно упорядочить таким образом, что для получения реше- ния число независимых переменных можно сократить до 22 и исполь- зовать только связанные с ними уравнения. Такому упорядочению не поддаются два вида уравнений: (1) уравнения материального и энергетического баланса, кото- рые необходимы, чтобы замкнуть важнейшие контуры рециркуля- ции; (2) системы уравнений, определяющие выбор отдельных видов оборудования, из которых ни для одной переменной нельзя получить решение в явном виде. Уравнения материального баланса описы- вают процесс получения окиси этилена, уравнения энергетическо- го баланса — процесс в абсорбере и стриппинг-колонне. Не подда- ющиеся упорядочению уравнения по выбору оборудования — это уравнения, которые описывают процессы в колонне для получения гликоль-водяной смеси, уравнения процесса кипения и конденса- ции, как, например, уравнение Ундервуда (14.12). В окончательном виде задача НЛП включает 22 переменные, 7 ограничений-равенств, 12 ограничений-неравенств, полный набор ограничений переменных сверху и снизу. Заметим, что из-за нели-
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 281 нейного вида ограничений-равенств и наличия большого числа сте- пенных членов в целевой функции задача становится невыпуклой и, весьма возможно, имеет много локальных решений. 14.2.4 . Обсуждение оптимизационных расчетов Оптимизационная задача решалась с помощью программы ОПГ [18]. Сначала попытки решить исходную задачу с помощью про- граммы ОПГ [18] были неудачными, так как часто аргументы сте- пенных и логарифмических функций оказывались в отрицательной области или происходили преждевременные остановки счета из-за трудности масштабирования. Частично этих затруднений удалось избежать, введя ограничения-неравенства типа (2), описанные в разд. 14.2.2. Оказалось необходимым масштабировать три перемен- ные: скорость подачи азота (умножением на 103), отношение коли- чества воды и С2Н4О в реакторе для получения гликоля (умноже- нием на 102). После внесения этих изменений остались трудности с арифметическими ошибками и неверными аргументами, когда ал- горитм работал с ограничениями. Очевидно, небольших невязок по ограничениям, допускаемых алгоритмом на этом этапе, было достаточно, чтобы вызвать прерывание счета. Эти трудности были преодолены введением в модель дополнительных проверок аргу- ментов функции и заданием подходящих нижних границ этих аргу- ментов, если они приняли неправильные значения. Подобные опе- рации приводят к разрывам производных в граничных точках. Од- нако поскольку оптимальное решение расположено далеко от этих точек, во время счета не встретилось трудностей с нарушением не- прерывности. Модифицированная задача успешно решалась с помощью про- граммы ОПГ для четырех начальных точек. Из табл. 14.1 видно, что обычно оптимизационный расчет занимал не более 100с времени центрального процессора ЭВМ CDC 6500. В трех из четырех слу- чаев целевая функция приняла одно и то же значение, 2938,43, а в четвертом случае она отличалась от него очень незначительно. По- этому, вероятно, значение целевой функции 2938,43 и есть желае- мый глобальный оптимум при решении этой задачи. Три переменные — доля окиси этилена, поступающая в колон- ну для окончательной очистки, рабочее давление в стриппинг-ко- лонне для производства окиси этилена и отношение жидкость/газ в абсорбере для окиси этилена — оказались на своих нижних гра- ницах. Четыре переменные — показатель превращения в реакторе для производства окиси этилена, температура в двух реакторах и доля воды, удаляемой в испарителе,— оказались на верхних гра- ницах. Пятнадцать переменных остались в пределах своих границ. Ограничения по воспламеняемости и на две температурные разности являются активными в точке оптимума.
Таблица 14.1. Результаты оптимизационных расчетов Начальные точки | Оптимальные решения Переменные 1 2 3 < 1 2 3 4 л-(1) 4952,8 5892,785 12901,1 14237,1 3257,33 3257,33 3257,33 3257,33 л (2) 1,094 1,552 0,75 0,75 0,6667 0,6667 0,6667 0,6667 Х(3) 240,0 219,99 220,0 220,04 242,0 242,0 242,0 242,0 Х(4) 0,1938 0,1613 0,068 0,060 0,3 0,3 0,3 0,3 Х(5) 2,4 4,4893 4,5 4,66 1,0362 1,0362 1,0362 0.0632 X (6) 34,0 38,997 39,0 35,0 30,0 30,0 30,0 30,0 Х(7) 0,37 0,3737 0,35 0,34 0,385 0,385 0,385 0,385 Х(8) 14,1 30,684 30,0 23,62 5,428 5,428 5,428 5,428 X (9) 14,0 14,0 14,0 14,0 12,72 12,72 12,72 12,72 X (10) 44,4 19,99 20,0 23,65 44,41 44,41 44,41 44.41 X (11) 2,1 2,8636 3,0 2,99 2,0 2,0 2,0 2,0 Л (12) 2,42 1,888 2,0 1,92 2,4235 2,4235 2,4235 2,4235 X (13) 0,55 0,5 0,5 0,5 0,5 0,5 0,5 0,5 X (14) 44,4 49,61 50,0 51,06 44,41 44,41 44,41 44,41 А (15) 2410,0 2800,0 2800,0 2744,4 2753,58 2756,03 2756,03 2756.03 X (16) 74,0 66,0 66,0 66,0 75,0 75,0 75,0 75,0 X (17) 0,067 0,0575 0,05 0,0522 0,0173 0,0173 0,0173 0,0173 А (18) 0,89 0,9046 0,9 0,9 0,98 0,98 0,98 0,98 X (19) 159,0 175,798 177,0 177,3 160,62 176,4 176,41 176,41 X (20) 68,0 82,21 85,0 83,44 70,95 83,62 83,63 86,63 X (21) 1 ,36 0,138 0,14 0,1399 2,518 0,1429 0,1429 0,1429 X (22) 0,276 0,5 0,5 0,5263 0,2843 0,492 0,492 0,492 Чистый доход 2657,22 2100,7 1505,02 1653,38 2936,23 2938,43 2933,43 2938,43 Время работы, ЦП, с — — — — 60,1 63,8 75,8, 93,7 ГЛАВА 14
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 283 Предполагается, что температуры в реакторах и показатель превращения этилена достигают максимально допустимых значе- ний, так как чем выше их значения, тем больше получается окиси этилена и этиленгликоля и соответственно увеличивается прибыль предприятия. В испарителе удаляется максимально возможное количество воды, ибо дешевле удалять воду в испарителе, чем в дистилляционной колонне. Часть потока X (6) — это количество очищенной и проданной в виде готового продукта окиси этилена; остальная часть используется для получения этиленгликоля. Оп- тимальное значение этой переменной меньше 30%. Это показывает, что выгоднее продолжать химический процесс до получения эти- ленгликоля и продавать его, чем производить окись этилена. Та- кую ситуацию можно ожидать, учитывая более высокую стоимость этиленгликоля (19 цент/фунт) по сравнению с окисью этилена (15 цент/фунт). Для определения пригодности модели и исследования влияния на получаемое оптимальное решение изменения входных пара- метров были проведены дополнительные расчеты [10]. Такие расчеты важны для подтверждения достоверности модели, а также для вы- явления обстоятельств, которые могут потребовать более подроб- ного исследования с использованием точного математического опи- сания технологического процесса [11]. Таким образом, опыт, полученный при проведении этого прак- тического исследования, свидетельствует о том, что построение моде- ли и подготовка ее к решению — это сложные и занимающие много времени операции, которые требуют детального знания изучаемой системы. Даже после тщательной подготовки оказалось необходи- мым масштабировать некоторые переменные и добавить некоторые ограничения в виде неравенств, чтобы избежать арифметических ошибок и чтобы агрументы принимали правильные значения. Так, поскольку программа ОПГ не исключает возможности возникнове- ния недопустимых ситуаций, в программу, описывающую модель, были введены операции контроля. Это позволило исключить воз- можность таких ошибок. Наконец, успешно решив задачу один раз, для контроля повторили решения при ряде других начальных условий, чтобы подтвердить надежность полученного решения. 14.3. Оптимальное проектирование системы аккумулирования энергии сжатого воздуха В этом разделе на примере проектирования системы аккумули- рования энергии сжатого воздуха (САЭСВ) иллюстрируются мето- дика постановки задачи и некоторые методы и концепции, рассмот- ренные в предыдущих главах. Следует обратить особое внимание на методику постановки задачи, поскольку она остается в значитель- ной мере искусством, требующим от исследователя большого опыта.
284 ГЛАВА 14 На этом примере показан декомпозиционный подход с выделением связывающих переменных, пригодный для решения задач НЛП большой размерности. Работа была проведена в двух лабораториях при поддержке Энергетического управления США: Ф. Аренсом с сотрудниками Аргоннской национальной лаборатории в Чикаго, штат Иллинойс, и К. Рэгсделом со студентами в Университете Пурдью, Вест Лафайетт, штат Индиана. Использованный декомпо- зиционный подход способствовал значительному усилению взаимо- действия двух групп, занимавшихся решением задачи, так как каж- дая сторона в первую очередь отвечала за оптимизацию одной под- системы. Числовые результаты приводятся на примере оптималь- ного проектирования электростанции САЭСВ (системы аккумуля- ции энергии сжатым воздухом), использующей в качестве резервуа- ра для сжатого воздуха водоносный пласт в Медиа, штат Иллинойс. Дополнительные детали моделирования и результаты приведены в ряде соответствующих работ [19—21]. 14.3.1. Постановка задачи Аккумулирование энергии сжатого воздуха является одним из технических решений, которое позволяет производителям энергии в любое время удовлетворять потребности потребителей при пиковых нагрузках с помощью энергии, запасенной в периоды неполного использования мощностей [22]. Это исследование преследовало цель выяснить экономическую целесообразность применения при пиковых нагрузках электростанций САЭСВ, использующих естест- венные подземные водоносные пласты в качестве резервуаров для сжатого воздуха. Использование систем аккумулирования энер- гии может оказаться экономически выгодным, так как они улуч- шают эксплуатацию базовых высокоэффективных электростанций и дают возможность снизить расход дополнительного количества топлива, которое необходимо для производства энергии при пико- вых нагрузках. На рис. 14.3 показана схема электростанции САЭСВ. Она рабо- тает по термодинамическому циклу Брайтона. Оборудование элек- тростанции можно разделить на четыре группы: реверсивный мо- тор-генератор, компрессоры, резервуар сжатого воздуха (вместе с трубопроводом), турбины привода генератора и другое оборудова- ние, необходимое для получения энергии. Объединение электромо- тора с генератором позволяет забирать электроэнергию из сети для компрессии воздуха или же использовать запасенный сжатый воз- дух и некоторое дополнительное количество топлива для произ- водства электроэнергии. Показанная на рис. 14.3 схема системы САЭСВ типична, хотя возможны различные способы расположения оборудования. Связь турбины и привода с другими группами обо- рудования определяется давлением на входе в турбину (pti) и рас- ходом воздуха на единицу мощности на выходе (т'), который в свою
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 285 очередь зависит от температуры на входе в турбину (дополнитель- ный расход топлива) и размещения выбранного оборудования. Под- робнее эти зависимости описаны в работе [23]. Известно, что, по- скольку требуется запасать большое количество сжатого воздуха под высоким давлением (например, 107—108 фут 3 при давлении [ПОДСИСТЕМА 2 (ПОДСИСТЕМА 3 ТпоДСИСТЕМА 1 Охлаждающий воздух Турбина низкого давления Муфты Мотор- генератор Электросеть | потребителей энергии^ | 4 Воздух | Промежуточные охладители <урб. высокоп ^клйво| Охлаждающий^ 1 воздух Топливо] Рекуператор Генератор Вторичный охладитель Главный трубопровод и система распределения сжатого воздуха —М---- Задвижка Аккумулятор сжатого воздуха 4 И Рис. 14.3. Схема электростанции САЭСВ. 50 атм для типичной электростанции мощностью 200 МВт), с эконо- мической точки зрения необходимы именно подземные резервуары. Такими резервуарами могут служить пустоты (в скальных породах или в пласте соли) или пористый пласт в скальных породах (водо- носный пласт). Параметры естественных резервуаров — аккумуляторов сжато- го воздуха (объем, уровень давления, конструкция трубопроводов и др.) не зависят от выбора параметров (эксплуатационных условий и характеристик оборудования) сжатия воздуха на поверхности, конструкции электрогенератора, заданной выходной мощности проектируемой электростанции САЭСВ и выбранного термодинами- ческого цикла. В свою очередь выбор мощности электрогенератора и суточная цикличность определяются экономическими и техничес- кими характеристиками электросети потребителей электроэнергии, стоимостью дополнительного расходуемого топлива и т. д. Таким образом, при проектировании подобной электростанции приходится принимать во внимание целый ряд технических и экономических соображений.
286 ГЛАВА 14 14.3.2. Построение модели На рис. 14.3 показаны основные составные части электростанции САЭСВ. Хотя электросеть потребителей электроэнергии не являет- ся частью электростанции, ее влияние следует учитывать, так как стоимость основной нагрузки и циклы нагрузок потребителей элек- троэнергии могут оказать большое влияние на проектную стоимость электростанции САЭСВ. И наоборот, стоимость электростанции САЭСВ влияет на стоимость электроэнергии. Метод декомпозиции. Оказалось удобным разделить исследуе- мую систему на три части или подсистемы, как показано на рис. 14.3. Подсистема 1 включает аккумулятор сжатого воздуха, воз- душные компрессоры, главный трубопровод и систему распределе- ния воздуха. Подсистема 2 включает электрические генераторы, а подсистема 3 — мотор-генератор и электросеть потребителей элек- троэнергии. В сформированных подобным образом подсистемах можно выбрать связывающие и внутренние переменные так, чтобы проектирование каждой из подсистем могло производиться почти независимо от других подсистем. Взаимосвязь подсистем выражает- ся в соотношениях между связывающими переменными. Например, предположим, что подсистема 3 (электросеть потребителей электро- энергии) воздействует на другие подсистемы через связывающую переменную UL и что цикл нагрузок потребителей такой, как пока- зано на рис. 14.4. Конечно, можно было бы через эту единственную Электроэнергия, X] произведенная электростанцией САСЭВ tcb: 4 \ Общее количество энергии, затраченное на аккумулирование g «г Мо Фактически накопленная энергия Максимальное количество аккумулированного возпуха Средмее количестао аккумулированного воздуха X (в и Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье Рис. 14.4. Цикл нагрузок потребителей U переменную выразить ряд переменных в цикле нагрузок пот- ребителей. Но здесь такой цели не ставится, поскольку в первую оче- редь рассматриваются подсистемы 2 и 3. Наконец, предположим, что непосредственное взаимодействие (или связь) между подсисте- мами 1 и 2 определяется только двумя переменными: давлением на
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 287 входе в турбины привода электрических генераторов pti и удель- ным весовым расходом воздуха т'. Как видно из графика на рис. 14.4, имеет место косвенное влияние цикла нагрузок потребителей. Количественно этот эффект определяется подбором цикла нагрузок потребителей. В качестве критерия оптимальности проектирования выбрана полная нормированная стоимость С (т. е. стоимость единицы элек- троэнергии, произведенной электростанцией САЭСВ). В полную стоимость входят стоимости топлива и эксплуатационные расходы, а также процент на капитал. Полную стоимость следует минимизи- ровать при условии выполнения конструктивных и технологичес- ких ограничений. Для случая проекта электростанции САЭСВ это означает, что для заданного цикла нагрузки потребителей оп- тимизация подсистемы 1 позволит минимизировать ее стоимость С“ и определить значения основных параметров подсистемы в за- висимости от переменных ptl и tri. Проведенная таким же образом оптимизация подсистемы 2 позволит определить ее стоимость С“ и выбрать для нее оптимальное решение только в зависимости от связывающих переменных. После этого можно минимизировать об- щую стоимость подсистем 1 и 2, чтобы определить оптимальные значения связывающих переменных, минимальную стоимость элек- тростанции С* и выбрать наилучший проект электростанции. Подсистема 1: аккумулирование энергии. Водоносный пласт (до нагнетания сжатого воздуха) должен иметь форму переверну- того блюдца, чтобы избежать утечки сжатого воздуха. Воздушный пузырь появляется вместо содержащейся в пласте воды; сжатый воз- дух накапливается между воздухонепроницаемым верхним плот- ным слоем и слоем воды, остающейся внизу. В этой подсистеме ус- танавливается ряд компрессоров в соответствии с рекомендациями работы [24]. Подробное описание использованной модели дано в работе [25]. Здесь схематически рассматривается лишь способ по- становки задач оптимального проектирования. При оптимизации подсистемы 1 требуется найти комбинацию значений внутренних переменных, минимизирующих ее фактиче- скую стоимость при заданных значениях связывающих переменных рн, tri и UL. Все множество переменных можно разбить на два подмножества. В первое входят переменные, принимающие конеч- ное число дискретных значений. Диаметр главного трубопровода, тип компрессора низкого давления, а также диаметры пробуренных скважин к подземным резервуарам следует выбирать исходя из имеющегося оборудования. Поскольку число возможностей огра- ничено, здесь подходит простой метод учета дискретности этих пе- ременных — метод полного перебора по всем дискретным значе- ниям. Предполагается, что остальные внутренние переменные зада- чи оптимизации подсистемы 1 — четыре геометрических параметра резервуара Nw, Н, A nd, показанные на рис. 14.5, и переменные,
288 ГЛАВА 14 Вид сверху Площадь проекции воздушного пузыря A (d) о Сечение Граница учаг тка пробуренных скважин %°о О о°о ООО №М Ю1 Уровень «или Скважины для нагнетания сжатого воздуха Рис. 14.5. Схема аккумулятора сжатого воздуха в водоносном пласте. О о о о о характеризующие процесс аккумулирования энергии, tcb. и tce. не- прерывны. Переменная обозначает время начала процесса ак- кумулирования в течение недельного цикла, а 1». — время его окон- чания. На рис. 14.4 изображен типичный недельный цикл процесса аккумулирования (нагнетания) сжатого воздуха в пласт. Эксплуа- тационные расходы подсистемы, которые нужно минимизировать, можно представить в следующем виде: Н, A, d, tcb., tee;) ~ (Ui) Ст-\~ + ^2 (Ui) P2 (14.16)
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 289 В этом уравнении Kt и Кг являются функциями от связывающей переменной UL, но при оптимизации считаются постоянными. Такие же обозначения используются для записи функций от других свя- зывающих переменных и функций от трех внутренних дискретных переменных. Первый член в уравнении (14.16) представляет часть эксплуатационных расходов, определяемых амортизационными от- числениями на капитал Ст для подсистемы 1, причем Ст является суммой стоимостей различного оборудования: CT(NW, Н, A, d, tcb., Ц) = WC + LC+BC + CC+K3. (14.17) Стоимость главного трубопровода и системы распределения возду- ха, которая зависит от выбранного проектного решения, обозначе- на через К8. Стоимость скважин определяется выражением WC(A^, Н, A) = Nw[KWt + KWi]{H-F(A)}], (14.18) где /Cuz,, Kw2 — константы и F (А) — известная функция от А, опре- деляемого размерами подземного хранилища. Выражение в фигур- ных скобках в уравнении (14.18) обозначает глубину бурения сква- жины. Второй член справа в уравнении (14.17) представляет стои- мость земли над предполагаемым подземным хранилищем сжатого воздуха: LC(d) = Kt A(d), (14.19) где A (d) — площадь над хранилищем сжатого воздуха, являющаяся известной геометрической функцией от d. В этой упрощенной модели капитальные затраты на первона- чальное вытеснение воды из водоносного пласта или образование воздушной емкости подсчитываются через расход энергии, требуемой для закачивания сжатого воздуха в эту емкость, которая задается в виде функции от d. И наконец, стоимость СС компрессоров выра- жается следующей формулой: CC(WUZ, И, A, d, tcb., tcei)~Kci1-\~Kci1McA- 1 +КсьЛМс\(рс/Кс1а)-1\]к‘ь>. (14.20) Здесь Kd2, Kd2 и Kd, — параметрические постоянные, зависящие от выбора оборудования, Мс — весовой расход воздуха в процессе накопления энергии, значение которого поддерживается постоян- ным по техническим соображениям. В уравнении (14.20) остался еще не определенным требуемый уровень давления рс на выходе по- следнего из компрессоров. Это давление можно вычислить с помощью моделей падения давления, как показано в работе 119]. Второй член в уравнении (14.16) — эксплуатационные расходы в подсистеме, т. е. стоимость энергии, потребленной компрессором, повышающим давление воздуха до величины рс, которая определяется по формуле PC(NW, Н, A, d, tcb., tce.) = = [Яр, + Kp2Pc + KPaP^ + KptPc\ Мс. (14.21) 10 № 1805
290 ГЛАВА 14 Инженерная интуиция, геология и геометрические характерис- тики пласта, а также циклы нагрузки потребителей определяют функциональные ограничения и граничные значения переменных в задаче оптимизации. Эти вопросы подробно рассмотрены в работе [20]. На рис. 14.4 показан временной цикл накопления энергии, а на рис. 14.5 — принятые ограничения сверху и снизу на четыре пере- менные Nw, Н, A nd. Наложенные функциональные ограничения требуют, чтобы 1) все процессы аккумулирования энергии полностью заканчивались, если они уже начались, 2) скважины располагались поблизости друг от друга для гарантии полного использования объе- ма резервуара и не пересекались друг с другом, 3) размеры воздушной подземной емкости не превышали размеров приобретенного участ- ка земли, 4) скважины не были пробурены на глубину, приводящую к образованию «водяного конуса», 5) требуемая для работы компрес- сора энергия не превосходила значения, которое может быть полу- чено с электростанции в любое время, и, наконец, 6) величина дав- ления, необходимая для работы подсистемы 2, всегда обеспечива- лась подсистемой 1. В итоге получаем 16 переменных с 32 верхними и нижними границами, и 12 ограничений, 4 из которых нелинейные. Подсистема 2: производство электроэнергии. Подсистема 2 систе- мы САЭСВ включает турбины высокого и низкого давлений с их камерами сгорания, а также рекуператор (рис. 14.3). К самым ин- тересным конструктивным решениям для этой подсистемы относят- ся 1) увеличенный по размерам эффективный рекуператор, позво- ляющий снизить расход топлива в камерах сгорания за счет предва- рительного подогрева воздуха, поступающего в камеры сгорания, и 2) дорогостоящие высокотемпературные турбины вместо обычных низкотемпературных турбин, стоимость которых значительно ниже. Еще одна не столь важная конструктивная характеристика под- системы 2 — это распределение располагаемого перепада давлений между высокотемпературной и низкотемпературной турбинами. На основе уравнений термодинамического процесса подсистемы 2 получают ее математическую модель [23]. Следует отметить, что в модели учтена возможность того, что температура на входе в турби- ну превышает 1600°F, когда для охлаждения сопловых лопаток и других узлов турбины требуется подавать сжатый воздух из под- земного хранилища. Исходными данными для проведения термодинамического рас- чета подсистемы 2 являются pti — давление воздуха на входе в под- систему и гп — расход воздуха на производство одного киловатта энергии, а также FcyM — суммарная энергия, производимая двумя турбогенераторами. При этих исходных условиях нельзя независи- мо определить температуры перед турбинами Т3 и Т6, считая, что их мощности определены конструкциями. В рассматриваемой зада- че Т3 (температура перед турбиной низкого давления) считалась управляемой переменной, а Т3 и несколько других вспомогательных
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 291 переменных последовательно определялись при итеративном ре- шении уравнений модели. Другими переменными в модели подсис- темы 2 являются эффективность рекуператора е и степень пониже- ния давления в низкотемпературной турбине гр. Для гр приняты два дискретных значения, И и 16, обычные в практике трубострое- ния. Для оптимизации подсистемы 2 требуется найти такую комби- нацию значений внутренних переменных, которая позволила бы минимизировать эксплуатационные расходы подсистемы при задан- ных значениях связывающих переменных. Поскольку на стадии оптимизации связывающие переменные ptl, т', UL считаются фик- сированными, они исключены из всех нижеследующих уравнений, описывающих функциональные зависимости. Опущена также дис- кретная переменная гр, так как оптимизация выполняется отдельно для каждого значения этой переменной. Эксплуатационные расходы подсистемы 2, которые нужно минимизировать, можно представить следующим образом: С(Л, е) = Л1(П/.)Скап + Л^' + ^си- (14.22) В формуле (14.22) первый член определяет значение годовой нормы амортизации на капитал Скап подсистемы 2. В свою очередь Скап является суммой капитальных затрат на отдельные агрегаты подсистемы: ^Kan(^s> е) = Сьат + Снат + С‘я + СвАь- (14.23) Из формулы (14.23) следует, что капитальные затраты определяют- ся как сумма стоимости турбины низкого давления Clot (включая дополнительные расходы на воздушное охлаждение при высокой ра- бочей температуре), стоимости турбины высокого давления Chgt, стоимости рекуператора CR, а также балансовой стоимости зданий, где размещено это оборудование, CBAL. Второй член в формуле (14.22) представляет собой значение стоимости топлива, дополни- тельно расходуемого в камерах сгорания. Коэффициент KF при- нят равным 2,50 долл, на 106 БТЕ. Расход тепла Q' зависит от Т3 (Тц, е) и Та. Последний член в уравнении (14.22) представляет экс- плуатационные расходы. Кроме того, задаются верхние и нижние границы значений трех переменных: эффективности рекуператора е, температур перед турбинами высокого и низкого давлений Т3 и Та. 14.3.3. Числовые результаты На основе использования программы BIAS [26] для подсистемы 1 и программы ОРТ, основанной на методе ОПГ [27] для подсисте- мы 2, ставится задача найти основные технико-экономические ха- рактеристики электростанции мощностью 600МВт, работающей еже- дневно 10 ч, с целью минимизации нормированных эксплуатацион- 10*
292 ГЛАВА 14 Рис. 14.6. Оптимальные проекты подсистемы 1. ных расходов. В качестве накопителя для сжатого воздуха исполь- зовался водоносный пласт. Схематические карты и геологические характеристики пород этого пласта, а также другие условия задачи приведены в работах [19, 25, 28J. Задача для подсистемы 1 решалась путем перебора комбинаций значений рн и т' с помощью програм- мы BIAS с автоматическим масштабированием. Линии уровня минимальных постоянных эксплуатационных расходов для подсистемы 1 показаны на рис. 14.6, из которого вид- но, что возможны существенные колебания этих расходов. Из этих графиков также следует, что предпочтительнее работать при малых значениях т' (т. е. при низких удельных расходах воздуха) в ос- новном вследствие того, что стоимость аккумулятора сжатого возду- ха с увеличением количества запасаемого воздуха возрастает. В результате проведенных расчетов было установлено, что опти- мальные решения для подсистемы 1, показанные на рис. 14.6, су- щественно варьируются. Особенно важным является требуемое количество скважин. Выяснилось, что оно изменяется от 54-мини- мального количества в нижнем левом участке до 200—500— в верхнем правом участке. Наконец, следует заметить, что влияние дискретных переменных (степени повышения давления в компрес- соре низкого давления, диаметров скважин и диаметра главного трубопровода) рассмотрено в работе [29]. Линии уровня минимальных постоянных эксплуатационных расходов для подсистемы 2 показаны на рис. 14.7 в зависимости от значений ptl и т'. Уровень минимальных затрат [2,2 цент/(кВт-ч)| приблизительно обеспечивается в проектах с расчетными минималь-

294 ГЛАВА 14 но возможными температурами перед турбинами Т3 и Т3 порядка 1500°F. Такое значение температуры приемлемо для обычных проек- тов подобных электростанций. Затраты подсистемы 2 достигают максимума [2,45 цент/(кВт-ч)] при предельно допустимых темпера- турах перед турбиной (2400°F). Графики на рисунке 14.7 получены при гр=16. Аналогичные результаты были получены при гр=11, но при более высоком уровне затрат в исследуемой области парамет- ров. Установлено, что эффективность е оптимального рекуператора изменяется в пределах от 0,52 до 0,77 при тех же значениях связы- вающих переменных, для которых были получены решения. С помощью используемого в этой работе метода декомпозиции можно отыскать оптимальный проект электростанции САЭСВ (про- ект, который минимизирует стоимость производства электроэнергии для определенного цикла нагрузки потребителей и при заданных параметрах подземного аккумулятора сжатого воздуха), исполь- зуя результаты исследования, приведенные на рис. 14.6 и 14.7. Линии уровня минимальных затрат для всей системы представлены на рис. 14.8. Интересно, что хотя для каждой подсистемы линии уров- ня не замкнуты, их сумма дает глобальный оптимум в рассматрива- емой области определения связывающих переменных. Из рис. 14.8 видно, что стоимость производства электроэнергии (эксплуата- ционные затраты) оптимальной электростанции несколько меньше 3,575 цент/кВт-ч и приближенные оптимальные значения связыва- ющих переменных равны рн=625фунт/дюйм2и т'=8,5фунт/кВт-ч. Получив оптимальные значения связывающих переменных, можно легко определить значения других переменных по результатам оптимизации каждой из подсистем 1 и 2 в отдельности. 14.3.4. Обсуждение Как видно из приведенных выше результатов, оптимизационный подход к проектированию обеспечивает значительные возможности уменьшения стоимости строительства и эксплуатации системы ак- кумулирования энергии сжатого воздуха. С другой стороны, моде- ли для таких многокомпонентных физических систем могут ока- заться очень сложными. В этой работе представлена одна из самых простых моделей системы, которая позволяет практически выбрать оптимальное проектное решение. Однако даже при упрощенном под- ходе оптимизацию проекта электростанции (включая подсистемы 1 и 2) приходится проводить с 20 непрерывными переменными, 4 дис- кретными переменными, 8 линейными ограничениями, с учетом верхних и нижних границ значений всех переменных и нелинейной целевой функцией. Более того, в модель входят функции, которые требуют вычисления модифицированных бесселевых функций первой и второй степени и первого и второго рода, а также различные сплайновые аппроксимации исходных данных. Доказано, что декомпозиционный подход является эффективным
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 29: средством решения этой оптимизационной задачи вследствие сокра- щения времени решения; вообще полезно проводить оптимизации каждой из подсистем. Результаты, полученные для каждой из под- систем, дают представление о том, что было бы трудно выявить, ре- шая эту задачу другим способом. Наконец, метод декомпозиции позволяет получить в процессе разработки проекта оптимальные решения для каждой из подсистем в порядке их значимости. Так, можно было рассмотреть другой способ аккумулирования сжатого воздуха (например, в пустотах внутри скальных пород) и была бы получена другая модель подсистемы 1. Можно было провести опти- мизацию подсистемы 1, а затем найти глобальный оптимум. 14.4. Заключение В этой главе рассмотрены три практических примера использо- вания методов оптимизации при решении технических задач. Пер- вый случай свелся к задаче линейного программирования большой размерности, в которой потребовались булевы переменные, чтобы ввести в целевую функцию постоянные затраты. Для решения ока- залось необходимым применить метод ветвей и границ с решением подзадач ЛП. Второе практическое исследование привело к зада- че нелинейного программирования, размерность которой удалось значительно сократить явным упорядочением ограничений в виде равенств. Из-за наличия «жестких» ограничений, нарушение кото- рых не позволяло просчитать модель, эффективным оказалось реше- ние с помощью программы ОПГ. В третьем исследовании встрети- лась задача большой размерности, часть переменных которой дис- кретные, и она сама имеет блочную структуру. Метод декомпозиции позволил разделить задачу на три подзадачи: в двух подзадачах оптимизируется каждая из главных подсистем при фиксирован- ных значениях выбранных связывающих переменных, а в треть- ей — проводится глобальная оптимизация по связывающим пере- менным. Оптимизацию по дискретным переменным можно было производить путем полного перебора. Эти исследования ясно показы- вают, что нужно тщательно выбирать метод решения с учетом осо- бенностей исследуемой системы. Для выявления этих особенностей требуется детальное знание технической задачи, а также методоло- гии оптимизации. Таким образом, три проведенных практических исследования вновь подтвердили, что при решении оптимизацион- ных задач в различных областях техники главная роль, естествен- но, принадлежит инженерам, знакомым с методами оптимизации. Можно рассчитывать, что эта книга поможет читателю достигнуть такого уровня знаний.
296 ГЛАВА 14 Литература 1. Ravindran A., Hanline D. L., Optimal Location of Coal Blending Plants by Mixed Integer Programming, Amer. Inst. Ind. Eng. Trans., 12 (2), 179—185 (1980). 2. Key Stone Coal Industry Manual, McGraw-Hill, N. Y1975. 3. Compilation of Air Pollutant Emission Factors, 2nd ed.; U. S. Environmental Protection Agency, April 1973. 4. National Rural Electric Cooperative Association, Rural Electricfication, Wash- ington, DC, March 1978. 5. Indiana Energy Office, State Department of Commerce, Indianapolis, IN (част- ное сообщение). 6. Rand McNally Railroad Atlas of the United States, Rand McNally & Co., Chi- cago, IL, 1971. 7 Wier С. E., Coal Resources of Indiana, Indiana Geological Survey, Blooming- ton, IN, 1973. 8. MIPZI—Documentation of a Zero-One Mixed Integer Programming Code, De- partment of Agricultural Economics, Purdue University, West Lafayette, IN, Sept. 1973. 9. Balas E., An Additive Algorithm for Solving Linear Programs with Zero-One Variables, Oper. Res., 13, 517—547 (1965). 10. Sarma P. V. L. N., Reklaitis G. V., Optimization of a Complex Chemical Process Using an Equation Oriented Model, Math. Programming Study, 20, 113—160 (1982). 11. Sarma P. V. L. N., Strategy of Modeling and Optimization in Chemical Process Design, Ph. D. Dissertation, Purdue University, 1978. 12, Stewart P. B., Mungal P., Correlation Equation for Solubility of Carbon Di- oxide in Water, Seawater, and Seawater Concentrates, J. Chem. Eng. Data, 2, 170 (1971). 13. Smith B. D., Design of Equilibrium Stage Processes, McGraw-Hill, N. Y., 1963. 14. Treybal R. E., Mass Transfer Operations, McGraw-Hill, N. Y., 1968. 15. Eduljee H. E., Equations Replace Gilliland Plot, Hydrocarbon Proc., 54 (9), 120 (1975). 16. Buntin R. R., A Kinetic Study of Oxidation of Ethylene on a Silver Catalyst, Ph. D. Thesis, Purdue University, Aug. 1961. 17. Guthrie К. M., Data and Techniques for Preliminary Capital Cost Estimating, in: Modern Cost Engineering Techniques (H. Popper, Ed.,) McGraw-Hill, N. Y., 1970. 18, Lasdon L. S., Warren A. D., Jain A, Ratner M.W., Desing and Testing of Generalized Reduced Gradient Code for Nonlinear Programming, ACM Trans. Math. Software, 4, 34—50 (Mar. 1978). 19. Sharma A., Chiu H. H., Ahrens F. W., Ahluwalia R. K., Ragsdell К. M., De- sign of Optimum Compressed Air Energy Storage Systems, Energy, 4, 201—216 (1979). 20. Ahrens F. W., Sharma A., Ragsdell К. M., Computer Aided Optimal Design of Compressed Air Energy Storage Systems, ASME J. Meeh. Des., 102, 437— 445 (1980). 21. Ahrens F. W., Sharma A., Ragsdell К- M., Optimal Design of Compressed Air Energy Storage Systems, Proceedings of the Sixth UMR-DNR Conference on Energy, 431—441 (Oct. 1979). 22. Vosburgh K. G-, Compressed Air Energy Storage, AlAA J. Energy, 2 (2), 106— 112 (1978). 23. Kim C. S., Kartsounes G. T., A Parametric Study of Turbine Systems for Com- pressed Air Storage Plants, Final Report FY1977, Argonne Nat. Lab. Rep. ANL/ES-64, 1978. 24. Davison W, R., Lessard R. D., Study of Selected Turbomachinery Components for Compressed Air Storage Systems, United Technologies Research Center for Argonne National Laboratory, ANL/EES-TM-14, 1977.
ПРИМЕРЫ ТЕХНИЧЕСКИХ ПРИЛОЖЕНИЙ 297 25. Ahluwalia R. К., Sharma A., Ahrens F. W., Proc. Compressed Air Energy Storage Technology Symposium, Pacific Grove, CA, 1979, pp. 295—325. 26. RootR.R., Ragsdell К-M., Computational Enhancements to the Method of Multipliers, AS44E J. Meeh. Des., 102 (3), 517—523 (1980). 27. Gabriele G. A., Ragsdell К- M. Large Scale Nonlinear Programming Using the Generalized Reduced Gradient Method, ASME J. Meeh. Des., 102 (3), 566—573 (1980). 28. Katz D. L., Lady E. R., Compressed Air Storage for Electric Power Genera- tion, Ulrich's Books, Ann Arbor, MI, 1976. 29. Ahrens F. W., The Design Optimization of Aquifer Reservoir-Based Compressed Air Energy Storage Systems, Proc. 1978 Meeh. Magnetic Energy Storage Con- tractors’ Rev. Meet, Luray, VA, CONF-781046, 1978, pp. 404—415.
Приложение А Элементы линейной алгебры АЛ. Множества Множество представляет собой определенную совокупность объектов (элементов). Термин «определенная совокупность» сле- дует понимать в том смысле, что имеется возможность классифици- ровать любой рассматриваемый объект либо как принадлежащий, либо как не принадлежащий данному множеству. Множество S={x|x^0} является множеством всех неотрицатель- ных действительных чисел. Так, например, элементом множества S является число х=2, что принято записывать в виде 2£ S (число 2 принадлежит множеству S). Объединением двух множеств Р и Q называется некоторое мно- жество R=P U Q, такое что А?={х|х € Р или х g Q, или х£Р nx£Q одновременно}. Пересечением двух множеств Р и Q, которое обозначается как PflQ, называется множество 7?={х|х£Р и x£Q}. Множество Р есть подмножество множества Q(PczQ), если каж- дый элемент Р принадлежит Q. Непересекающиеся множества не имеют общих элементов. Если Р и Q— непересекающиеся множества, то из х£Р следует x^Q, и наоборот. Пустое множество представляет собой множество, которое не содержит ни одного элемента, и обозначается знаком 0. А.2. Векторы Вектором называется упорядоченное множество действитель- ных чисел. Например, а= (а1у а2, . . ., ап) есть вектор, состоящий из п элементов, или компонент. Если a— (alt а2, . . ., ап) и Ь— (Ь1У Ь2, . . ., Ьп), то a+b=c= (ai+bi, а2+Ъ2, . . ., ал+&п), а—b=d= (а!—blt а2—Ь2, . . ., ап—Ьп). Для любой скалярной величины а (положительной или отрица- тельной) определена операция умножения вектора на скаляр: аа=> — (сиу, аа2, . . ., аап).
ЭЛЕМЕНТЫ ЛИНЕЙНОЙ АЛГЕБРЫ 299 Вектор О— (0, 0, . . 0) называется нулевым вектором. Скалярное (внутреннее) произведение двух векторов (обозна- чается как й‘Ь или просто ab) есть число, равное а161+а262+ • • .+ап6п. Например, если а— (1, 2, 3) и 6=Q), то а •6=4+10+18=32. Система векторов at, а2, . . ., ап линейно зависима, если сущест- вуют такие скаляры «1, а2, . . ., ап, не все равные нулю, что вы- полняется равенство п 2 а,-+ = 0. i = i В этом случае по крайней мере один из рассматриваемых векторов можно записать в виде линейной комбинации остальных векторов, например, 01 = ^202 + ^3^3+ • • • +^пап- В противном случае система векторов является линейно независи- мой. Множество всех n-мерных (состоящих из п компонент) векторов называется векторным пространством или п-мерным евклидовым пространством. Говорят, что векторное пространство V натянуто на некоторую систему векторов, если каждый вектор из V можно представить в виде линейной комбинации векторов этой системы. Базис векторного пространства V определяется как система ли- нейно независимых векторов, на которую натянуто пространст- во V. А.З. Матрицы Матрица А порядка тиХп представляет собой прямоугольный массив (таблицу) чисел, состоящий (состоящую) из т строк и п столбцов. Пример А.3.1 Матрица А (2X3) '1 2 31 4 5 б] содержит две строки и три столбца. Элемент а^ матрицы А располо- жен на пересечении i-й строки и j-ro столбца А. В приведенном примере а12=2, тогда как а23=6. В общем случае матрица порядка тХл записывается в виде (mxn)
300 ПРИЛОЖЕНИЕ А Элементы ац при i=j называется диагональными элементами; если же i=£j, то ац называются внедиагональными элементами. Элементы каждого столбца матрицы составляют вектор, который носит название вектора-столбца. Аналогично каждая строка мат- рицы определяет вектор-строку. В примере А. 3.1 векторы Л\ <2\ аз~<6/ задают векторы-столбцы матрицы А, тогда как векторы &i = (l, 2, 3) и &2= (4, 5, 6) являются векторами-строками А. Таким образом, вектор можно рассматривать как матрицу спе- циального вида, которая содержит либо только одну строку, либо лишь один столбец. Матрица с одинаковым количеством строк и столбцов называется квадратной матрицей. Матрица, транспонированная по отношению к матрице А = = [а/;1, обозначается как А' или Ат и получается, если поменять мес- тами строки и столбцы матрицы А, т. е. Аг=[а',;], где Мат- рица, транспонированная по отношению к матрице, которая при- ведена в примере А.3.1, имеет следующий вид: Г1 4“ КТ = 2 5 . (3X2’ g Матрица А называется симметрической, если АТ=А. Единичная матрица обозначается через I и представляет собой квадратную матрицу, все диагональные элементы которой равны 1, а внедиаго- нальные элементы — нулю. Матрица, которая содержит только равные нулю элементы, на- зывается нулевой матрицей. А.3.1. Арифметические операции над матрицами Сумма или разность двух матриц А и В есть матрица С (записы- вается как С=А±В), элементы которой вычисляются по формуле Произведение АВ двух матриц А и В определено тогда и только тог- да, когда количество столбцов матрицы А равно количеству строк матрицы В. Если А—матрица порядка mX/i, а В — матрица порядка пХг, то произведение АВ=С представляет, собой матрицу порядка /и X г. Элемент матрицы С, расположенный на пересечении 1-й строки и /-го столбца, определяется в соответствии с формулой п CIJ—^ aik^kp 1
ЭЛЕМЕНТЫ ЛИНЕЙНОЙ АЛГЕБРЫ 301 Г1 2 3' А = I _ , (2x3) L4 Э . АВ= С = (2X2) Пример А.3.2 Г1 2 В = 3 4 (ЗХ2> g 22 281 49 64 ’ Пример А.3.3. Пусть А = 1 2 3' 4 5 6’ *2’ 3 4 и t/ = (2, 3). х = Тогда Ах = Г 20] b = , >2x1) [47 t/A = d =(14, 19, 24). (t хз । Следует отметить, что b — вектор-столбец, a d—вектор-строка. Для произвольной скалярной величины а выполняется равенство аА==[аа<;]. Операции над матрицами обладают следующими свойствами: 1. (А + В) + С = А + (В + С), 2. А+В = В + А, 3. (А + В) С = АС+ ВС, 4. (АВ)С = А(ВС), 5. 1А = А1 = А, 6. (А + В)г = Аг +В', 7. (АВ)7 = В'АС В общем случае АВу=ВА. А.3.2. Определитель квадратной матрицы Определитель квадратной матрицы А (обозначается |А|) есть число, получаемое с помощью арифметических операций над эле- ментами А. Если А — матрица порядка 2x2, то lAl = I?.1 д121 = аиаг-2—ai2a2i. |U21 U22 I Если А — матрица порядка пХп, то |А| = 2 аа(-1)'+1 |Mfl|, г- I
302 ПРИЛОЖЕНИЕ А где Мп представляет собой подматрицу матрицы А, полученную пу- тем исключения строки i и столбца 1. Например, если '1 2 3“ А = 4 5 6 , то (3X3) 1 8 9 ... ,|56 2 ЗГ „ 2 31 |А| = 118 9 - 4 8 9| + 7 5 6| = = (45 —48) —4(18 —24)7(12— 15) = 0. Матрица называется вырожденной, если ее определитель равен нулю. Если же |А|=#0, то матрицу А называют невырожденной. А.3.3. Обратная матрица Матрица, обратная к невырожденной квадратной матрице А, обозначается как А-1 и представляет собой невырожденную квадрат- ную матрицу, обладающую следующим свойством: АА~1 = А-1А = 1 (единичная матрица). Обратная матрица А-1 может быть получена с помощью операций над строками исходной матрицы А. Операции над строками вклю- чают 1) умножение или деление произвольной строки на число; 2) умножение произвольной строки на число и сложение полу- ченной строки с другой строкой. Один из способов обращения матрицы А состоит в том, что сначала к матрице А справа присоединяется единичная матрица того же порядка. Выполнение некоторой последовательности операций над строками позволяет привести А к виду единичной матрицы 1. Вмес- те с тем исходная единичная матрица 1 преобразуется в А-1, так как A-1 [AI] = [1А-1]. Пример А.3.4 Поскольку |А|= —2, матрица А является невырожденной и, следовательно, А-1 существует. Чтобы найти А-х, построим мат- рицу Вычтем строку 1 из строки 2 1 И 1 О’ 0 —2|—1 1_
ЭЛЕМЕНТЫ ЛИНЕЙНОЙ АЛГЕБРЫ 303 Разделим строку 2 на —2 Г1 I [о 1 1 1/2 0 ’ -(1/2). Вычтем строку 2 из строки 1 Таким образом, 1 0; 1/2 0 1Н/2 А-‘ = 1/2 .1/2 1/2' -(1/2). ' 1/2 1 —(1/2)]' Проверьте, что АА-1=А-1А=1. А.3.4. Обусловленность матрицы Обусловленность матрицы является существенным фактором, характеризующим возможные трудности использования данной мат- рицы в вычислениях. Рассмотрим, например, квадратичную функ- цию Q(x)=xrA-1x. Говорят, что матрица А плохо обусловлена, если малые измене- ния вектора х порождают относительно большие изменения Q. Пло- хая обусловленность матрицы А часто связана с тем, что А являет- ся почти вырожденной матрицей J). Число обусловленности матрицы, используемое в настоящей книге, определяется формулой К (А) = 1^1, где Хд и — соответственно наибольшее и наименьшее по абсолют- ной величине собственные значения матрицы. Матрица, число обус- ловленности которой очень велико, является плохо обусловлен- ной; для хорошо обусловленной матрицы число обусловленности близко к 1. А.3.5. Разреженная матрица Разреженная матрица характеризуется тем, что содержит лишь относительно малую часть элементов, отличных от нуля. Например, единичная матрица порядка 100X100 включает 104 элементов, од- нако только 100 из них (диагональные элементы) являются ненуле- выми. Следовательно, рассматриваемая матрица содержит лишь 1 % отличных от нуля элементов. Чтобы исключить хранение в па- мяти ЭВМ нулевых элементов и избежать проведения с ними ариф- метических действий, разреженные матрицы обычно записывают Другими словами, определитель матрицы А весьма незначительно отли- чается от нуля.— Прим, перев.
304 ПРИЛОЖЕНИЕ Л в специальной компактной форме, операции над матричными эле- ментами проводят таким образом, что в них участвуют только не- нулевые элементы, а последовательность указанных операций стре- мятся выбирать так, чтобы не вводить новых ненулевых элементов в большем количестве, чем это представляется целесообразным с практической точки зрения. Реализация перечисленных дополни- тельных процедур требует определенных затрат, которые, разуме- ется, не должны превышать размеров выигрыша, получаемого в результате применения специальных методов обращения с разре- женными матрицами. Одной из простейших компактных форм хранения в памяти ЭВМ ненулевых элементов является их запись в виде перечня, снабжен- ного вектором-индикатором столбцов. При этом элементы матрицы записываются как компоненты одномерного вектора, образованного последовательностью троек (i, а, р). Компоненты каждой тройки ассоциированы с конкретным ненулевым элементом: i — индекс строки, в которой расположен данный элемент, а — значение дан- ного элемента матрицы, ар — индекс, указывающий расположение тройки, ассоциированной со следующим ненулевым элементом в той же строке матрицы. Вектор-индикатор столбцов представляет собой «-мерный вектор, каждая компонента которого указывает расположение тройки, ассоциированной с первым ненулевым эле- ментом строки в одном из столбцов матрицы. Более подробные све- дения о разреженных матрицах и соответствующих методах можно найти в книге: Tewarson R. Р., Sparse Matrices, Academic Press, New York, 1973. A.4. Квадратичные формы Функция n переменных f(xlt x2, . . ., xn) называется квадратич- ной формой, если п. п. f(xlt х2, ..., хп) = 2 2 qtjXiX.^xTQx, i =2 1 / = J где Q(nxn)=[<?u'l и xT==(xi> хз> • • > хп)- Без потери общности матрицу Q можно всегда предполагать симметрической. В противном слу- чае Q следует заменить симметрической матрицей (Q+Q')/2; значе- ния квадратичной формы при этом не изменятся. Определения 1. Матрица Q является положительно определенной тогда и толь, ко тогда, когда значения квадратичной формы xrQx>0 для все? хУ=0. Например, — положительно определенная матрица.
ЭЛЕМЕНТЫ ЛИНЕЙНОЙ АЛГЕБРЫ 305 2. Матрица Q является положительно полуопределенной тогда и только тогда, когда значения квадратичной формы xrQx^0 для всех х и существует вектор х=#0, такой, что xrQx=0. Например, — положительно полуопределенная матрица. 3. Матрица Q является отрицательно определенной тогда и только тогда, когда — Q есть положительно определенная матрица. Другими словами, Q является отрицательно определенной матри- цей в том и только том случае, когда xrQx<0 для всех х=#0. На- пример, — отрицательно определенная матрица. 4. /Чатрица Q является отрицательно полуопределенной тогда и только тогда, когда — Q есть положительно полуопределенная матрица. Например, — отрицательно полуопределенная матрица. 5. Матрица Q является неопределенной, если квадратичная фор- ма xrQx может принимать как положительные, так и отрицатель- ные значения. Например, П —1] Q [1 —2. — неопределенная матрица. А.4.1. Главный мииор Если Q — матрица порядка и Хи, то ее главный минор порядка k есть подматрица порядка k~xk, полученная путем исключения из матрицы Q произвольных п — k строк и соответствующих этим строкам столбцов 11. Пример АЛЛ 1 2 3 4 5 6 7 8 9 Q = й Данное определение не является общепринятым. Как в отечественной. так и в зарубежной литературе главным минором обычно называют определитель под- матрицы, полученной указанным выше способом.— Прим, перев.
306 ПРИЛОЖЕНИЕ А Главными минорами порядка 1 являются диагональные элементы 1, 5 и 9. Главные миноры порядка 2 представляют собой следующие матрицы порядка (2x2): 1 2' .4 5. 1 3] Г5 6' И 7 9 [8 9 Главным минором порядка 3 является сама матрица Q. Определитель главного минора называется главным определи- телем. Общее количество главных определителей для квадратной матрицы порядка пхп равно 2"—1. Ведущий главный минор порядка k матрицы порядка пхп стро- ится путем исключения последних п — k строк и соответствующих этим строкам столбцов. В примере А.4.1 ведущий главный минор порядка 1 равен 1 (следует исключить последние две строки и два [1 2 и4 5] ’ а ведущий главный минор порядка 3 — сама матрица Q. Количест- во ведущих главных определителей матрицы порядка пхп равно п. Существует несколько простых способов, позволяющих прове- столбца). Ведущий главный минор порядка 2 есть матрица рить, является ли данная матрица положительно определенной, отрицательно определенной, положительно полуопределенной, от- рицательно полуопределенной или неопределенной. Все способы проверки такого рода применимы только тогда, когда данная мат- рица является симметрической. (В случае, когда матрица Q не яв- ляется симметрической, следует заменить Q на (Q+Q')/2, а затем использовать тестовые процедуры.) Проверка матриц на положительную определенность 1. Все диагональн е элементы должны быть положительными. 2. Все ведущие главные определители должны быть положитель- ными. Проверка матриц на положительную полуопределенность 1. Все диагональные элементы неотрицательны. 2. Все главные определители неотрицательны. Замечания 1. Следует отметить существенное различие между процедура- ми проверки матриц на положительную определенность и положи- тельную полуопределенность. В первом случае достаточным ус- ловием является положительность ведущих главных определителей, тогда как во втором случае следует убедиться в том, что все главные определители неотрицательны. 2. Чтобы установить, что данная матрица является отрицательно определенной (отрицательно полуопределенной), следует умножить ее на —1 и проверить полученную матрицу на положительную оп- ределенность (положительную полуопределеннссть).
ЭЛЕМЕНТЫ ЛИНЕЙНОЙ АЛГЕБРЫ 307 3. При проверке матрицы на неопределенность достаточно убе- диться в том, что по крайней мере два из ее диагональных элемен- тов имеют разные знаки. А.4.2. Приведение к сумме квадратов Другой подход, позволяющий определить, является ли симмет- рическая матрица Q положительно определенной, отрицательно определенной или неопределенной, основан на приведении квадра- тичной формы xrQx к виду суммы полных квадратов. В этом слу- чае свойства той или иной квадратичной формы можно установить путем исследования коэффициентов при квадратичных членах. Пример А.4.2 Дана квадратичная функция q (х) = ах2. 4- 2ftx,x2 -ф cxl. Сгруппируем слагаемые, содержащие хг: q W = * l/a (a2Xi + 2a&XjX2) -ф сх|. Далее, прибавляя и вычитая одно и то же слагаемое, содержащее х%, выделим из выражения в круглых скобках полный квадрат: q (х) = lla (а2х? -ф 2abx.x2 -ф b2xl — b2xl) -ф сх22, q W = 7а (ax. + bx2)2 — (b2/a) xl -ф ex2. Наконец, сгруппировав члены, содержащие х2, получим q (х) = !/а (ах. + Ьх2)2 -ф >/а (ас—Ь2) х22. Легко видеть, что если 1/а>0 и (ас—Ь2)>0, то <?(х)>0 для всех х£ С RN ”. Аналогично если 1 /а<0 и (ас—&2)>0, то q(x)<0 для любого вектора х. Во всех остальных случаях q(x) может принимать как положительные, так и отрицательные значения и, следовательно, является неопределенной квадратичной формой. Описанную выше процедуру можно рассматривать как замену переменных, приводящую квадратичную форму к виду суммы пол- ных квадратов. В частности, если, возвращаясь к рассмотренному примеру, положить г] = ах1-фЬх2, г2 — х2 или xt la (г. bx2) = 1/e(z. bz2), x2 = z2, то получим q (х) = axf -ф 2bx.x2 -ф сх2 = = а (г=Г2-)2 + 2Ь Z*+CZ’i= = 7а (г?—2Ьг.г2 -ф b2zl) -ф 7а (2Ьг.г2 — 2Ь2г%) -ф сг2г, q (х) = 7аг? + 7а (ас—Ь2) г\. 1> Символ обычно используется для обозначения Af-мерного евклидова пространства.— Прим, перед.
308 ПРИЛОЖЕНИЕ А Целесообразно представить проведенные аналитические выклад- ки в матричных обозначениях. Опять рассмотрим квадратичную форму q (х) = [х1( х2] ь Ь~] J хЦ с] \х2| и проведем следующую замену переменных: х,1 •М 1 /а — (b/d) 0 1 21 г2 После соответствующей подстановки получим Нетрудно видеть, что процедура приведения квадратичной формы к сумме квадратов эквивалентна замене переменных, которая поз- воляет преобразовать исходную симметрическую матрицу к ди- агональному виду. С другой стороны, эту процедуру можно рас- сматривать как эквивалентную процедуре нахождения для симмет- рической матрицы Q такой матрицы Р и такой диагональной матри- цы D, что выполняется равенство Q = PrDP. Матрицы, обладающие этим свойством, можно найти с помощью метода последовательных исключений (см. приложение В) или ме- тода приведения матрицы к ступенчатому виду с некоторыми не- значительными изменениями. Реализуем указанную процедуру применительно к рассмотрен- ному выше примеру. Положим и dt^=a. В соответствии с методом последовательного исключения разделим первую строку матрицы на а (величину разрешающего элемента), затем умножим полученную строку на b и вычтем из вто- рой строки матрицы; получим
ЭЛЕМЕНТЫ ЛИНЕЙНОЙ АЛГЕБРЫ 309 Далее разделим вторую строку на первый ненулевой (разрешающий) элемент и положим d2 равным этому элементу. Поскольку исходная матрица приведена к треугольному виду, процесс последовательного исключения завершен. Последняя из полученных матриц [1 bla~\ Оз = 0 1 совпадает с искомой матрицей Р, т. е. Р = Кроме того, получена искомая диагональная матрица, ненулевые элементы которой равны соответствующим разрешающим элемен- там: D = а 0 1 0 '/а(ас—Ь2) ]’ В том, что матрица Q действительно может быть представлена в виде матричного произведения PrD Р, нетрудно убедиться непос- редственно. Таким образом, чтобы с помощью описанной процедуры устано- вить, является ли симметрическая матрица положительно или от- рицательно определенной, требуется лишь реализовать метод Гаус- са — Жордана и зарегистрировать разрешающие элементы. Если все разрешающие элементы оказываются положительными, то мат- рица является положительно определенной; если все эти элементы отрицательны, то матрица — отрицательно определенная; если же среди разрешающих элементов имеются как положительные, так и отрицательные, то исследуемая матрица является неопределен- ной. Пример А.4.3. Дана матрица 12 —2 1 —2 IO]' Q = Исследуем матрицу Q с помощью метода приведения ее к ступенча- тому виду. Положим di= 12; после первого преобразования матри- цы имеем 1 —2 -(1/6) 10 Последующие преобразования '1 —(1/6) .0 29/3 позволяют получить матрицу Г1 -d/6)l 0 1 или
310 ПРИЛОЖЕНИЕ А При этом d2=29/3. Следовательно, матрица Q может быть представ- лена в следующем виде: 1 Q = 01 Г12 0 Г1 —(1/6)' .—(1/6) 1J [о 29/3 [о 1 Поскольку оба диагональных элемента положительны, Q — поло- жительно определенная матрица. А.5. Выпуклые множества Множество1’ S называется выпуклым, если все точки прямой, соединяющей любые две точки множества, принадлежат данному множеству. Более формально S — выпуклое множество, если для любых двух векторов х11’ и х(2) из S вектор х=ЪМ’+(1—/.) х(2) также принадлежит S при любом значении параметра А, заключенном в пределах от 0 до 1. Примеры На рис. А. 1 и А.2 представлены выпуклые множества, тогда как множество, изображенное на рис. А.З, не является выпуклым. Рис. А.1. Выпуклое множество. Рис. А.2. Выпуклое множество. Рис. А.З. Невыпуклое множество. Теорема 1 Множество всех допустимых решений задачи линейного програм- мирования является выпуклым. Теорема 2 Пересечение выпуклых множеств есть выпуклое множество (рис. А.4). Теорема 3 Объединение выпуклых множеств не всегда является выпуклым множеством (рис. А.4). Рис. А.4. Пересечение и объединение выпуклых множеств. 11 Здесь имеется в виду множество точек в W-мерном линейном пространст- ве.— Прим, перев.
ЭЛЕМЕНТЫ ЛИНЕЙНОЙ АЛГЕБРЫ ЗЦ Определение Выпуклой комбинацией векторов хП), х<2), . . x(ft> называется вектор х= XjX11* + Х2х12* + ... + ^1 + ^1 + •• • 4“ \ 1 > Xz^0 при 1 = 1, 2, k. Экстремальная точка, или вершина, выпуклого множества — это точка, которая принадлежит данному множеству и не может располагаться на отрезке прямой, заключенном между двумя лю- быми точками множества. Рассмотрим, например, выпуклое мно- жество S= {(%!, x2)|0^Xi^2, 0^х2^2}. Это множество имеет четыре экстремальных точки, а именно (0, 0), (0, 2), (2, 0) и (2, 2). Гиперплоскостью называется множество всех точек х, удовлет- воряющих равенству cx=z при заданном векторе с=#0 и заданной скалярной величине z. Вектор с носит название нормали к гипер- плоскости. Например, множество/7 = {(*1, хг, х3)| 2%i—Зх2+х3=5} представляет собой гиперплоскость. Полупространством называется множество всех точек г, удов- летворяющих неравенству cx<Zz или неравенству cx^z при заданном векторе с#=0 и заданной скалярной величине z. Теорема 4, Гиперплоскость является выпуклым множеством. Теорема 5. Полупространство является выпуклым множеством.
Приложение Б Выпуклые и вогнутые функции Выпуклая функция. Функция п переменных f(x), определенная на выпуклом множестве D, называется выпуклой функцией тогда и только тогда, когда для любых двух точек х<и и х<2) £D и выполняется неравенство f [U(1> + (1 — М х(2)] С V (х(1)) + (1 — Ш (*12)) Рис. Б.1. иллюстрирует определение выпуклой функции для слу- чая одной переменной. Свойства выпуклых функций 1. Хорда, соединяющая две любые точки кривой графика выпук- лой функции, всегда проходит над (или выше) кривой в интервале между двумя этими точками. 2. Тангенс угла наклона касательной, или первая производная f (х), возрастает или по крайней мере не убывает при увеличении х. 3. Вторая производная f(x) всегда неотрицательна на рассмат- риваемом интервале. 4. Линейная аппроксимация /(х) в любой точке интервала всегда позволяет получить нижнюю оценку истинного значения функции.
ВЫПУКЛЫЕ И ВОГНУТЫЕ ФУНКЦИИ 313 5. Для выпуклой функции локальный минимум всегда является глобальным минимумом. Рис. Б.2. иллюстрирует свойство 4. Линейная аппроксимация функции f(x) в точке х° строится путем исключения членов второго Рис. Б.2. Линейная аппроксимация выпуклой функции. и более высокого порядка из разложения функции в ряд Тейлора: f (х; х°) = f (х°) + V/ (х°) (х—х°). Из свойства 4 выпуклой функции следует, что f (х) f (х°) + V/ (х°) (х—х°) для всех х. Градиент функции /(хь х2, . . ., хп) определяется как вектор V/(XL......х„)=[^, %-, .... ' v 1 ’ п' I дхг дх2 дхп J Матрица Гессе для функции/(хь х2, . . ., х„) есть симметричес- кая матрица порядка пХп: Н, (х,, ..., х ) = [ 1 = V2/. > v *’ > л/ ()х. j । Проверка функции на выпуклость Функция f выпуклая, если ее матрица Гессе положительно оп- ределена или положительно полуопределена для всех значений хъ • • • J Хп, Вогнутая функция. Функция /(х) является вогнутой функцией на множестве!) тогда и только тогда, когда—/(х) есть выпуклая функ- ция на D. Проверка функции на вогнутость Функция f вогнутая, если ее матрица Гессе отрицательно опреде- лена или отрицательно полуопределена для всех значений х1( х2, . . хп.
314 ПРИЛОЖЕНИЕ Б Пример Б. 1 / (х1( х2, х3) = 3xi + 2xj + х|—2xjX2 — — 2x^3 2х2х3 — 6х, — 4х2 — 2х3, 6Xj — 2х2—2х3 — 6 \ 4х2 — 2Xj 2х3 — 4 1 2х3 — 2xL 4- 2х2 — 2/ V/(xlt х2, х3) = Г 6 H^Xj, х2, х3) = —2 —2" 4 2 2 2 Для того чтобы показать, что функция выпуклая, проверим, являет- ся ли Н положительно определенной или положительно полуопре- деленной матрицей. Заметим, что 1) Н — симметрическая матрица; 2) все диагональные элементы Н положительны; 3) ведущие главные определители Н равны |6| > О, 6 —2 —2 4 = 20 > 0, |Н/|=16>0. Таким образом, Hz— положительно определенная матрица, отку- да следует, что f — выпуклая функция. (Более точно, если Н7 — положительно определенная матрица, то f называется строго вы- пуклой функцией и обладает единственной точкой минимума.)
Приложение В Метод последовательных исключений (метод Гаусса—Жордана) Классический метод Гаусса —Жордана ориентирован на реше- ние систем линейных уравнений. В данном приложении дается крат- кое описание схемы реализации этого метода применительно к кон- кретному примеру. Пример В. 1 Рассмотрим следующую систему двух уравнений с пятью неиз- вестными: %!—2х24-х3 —4х44-2ха = 2, (В.1) %!—х2— xs — Зх4—х6 = 4. (В.2) Поскольку количество неизвестных превышает число уравнений, эта система имеет более одного решения. Совокупность всех возмож- ных решений системы называется множеством решений. Определение Две системы уравнений называются эквивалентными, если обе системы имеют одно и то же множество решений, или, другими сло- вами, если решение одной системы автоматически является реше- нием другой системы, и наоборот. Метод решения систем уравнений основан на построении экви- валентной системы, решение которой легко найти непосредствен- но. Решение этой системы уравнений одновременно является реше- нием исходной системы. При построении эквивалентных систем можно использовать эле- ментарные операции двух типов: 1) умножение любого уравнения системы на положительное или отрицательное число; 2) сложение любого уравнения с любым другим уравнением системы, умноженным на константу (положительную, отрицатель- ную или равную нулю). Система, эквивалентная Si, может быть получена путем умно- жения уравнения (В.1) на —1 и последующего сложения с уравне-
316 ПРИЛОЖЕНИЕ В нием (В. 2): х, — 2х2+ х3—4х4 + 2х5 = 2, (В.З) * х2—2х3 + xt—Зх6 = 2. (В.4) Умножив уравнение (В.4) на 2 и сложив его с уравнением (В.З), получим систему Ss, эквивалентную S2: х,—Зх8—2х4—4х5 = 6, (В.5) я х2—2х3+ х4 —Зх5 = 2. (В.6) Поскольку системы Slt S2 и S3 эквивалентны, решение одной из них автоматически является решением двух остальных систем. В данном случае нетрудно получить все возможные решения сис- темы S3. Например, положив х3=х4=х5=0, имеем Xj=6, х2=2, что является решением всех трех систем. Другие решения системы S3 можно получить, если задать некоторые значения х3, х4 и х5 и вычислить соответствующие значения Xi и х2 с помощью уравне- ний (В.5) и (В.6). Все такие решения будут решениями исходной системы. Системы уравнений, подобные S3, называются каноничес- кими системами или системами, приведенными к ступенчатому виду.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ i> Адаптивный алгоритм случайного поиска с переменным шагом 289 Алгоритм Келли (метода отсекающих пло- скостей) 331 — Франка — Вульфа 301 — Хачияна 179 Анализ чувствительности 180, 255* Аналитические модели 213* Аппроксимация функций 59 — — квадратичная 59, 88* — — кубичная 67 — — кусочно-линейная 317 — — линейная 298, 31* Генератор матриц 218* Генерация псевдослучайных чисел 272 Геометрическое программирование 116*, 141 * — _ обобщенное 154* Главные оси квадратичной формы 100 Главный минор 305* — — ведущий 306* Градиентные методы 109 — — с малой длиной шага 317 Градиентный метод с памятью 123 Границы системы 11 Двойственная задача геометрического про- граммирования 144* — — — — обобщенного 154* — — линейного программирования 185 Декомпозиция системы 286* Дефицитный ресурс 201 Допустимая область 155 Допустимое направление 6* Дробно-линейное программирование 35 Заедание (алгоритма) 11* Задача вогнутого программирования 145* — выпуклого программирования 153* — Куна — Таккера 203 — — о седловой точке 2|1 — линейного программирования 150 — о дополнительности 134* — с фиксированными доплатами 117* — технического контроля 150 — управления запасами 47 Зацикливание с и мп леке-алгоритма 174 Канонические системы уравнений 316* Квадратичное программирование 88*, 128* Квазиньютоновские методы 125 Ковариация 131* Комбинаторный эвристический алгоритм (случайного поиска) 290 Коэффициенты регрессии 132* Кривые полезности алгоритмов 187* Критерии оптимальности 40, 81, 196 — сравнения методов и программ 175*, 185*. 189* Критерий наименьших квадратов 31 I) Звездочкой отмечены номера стра- ниц в книге 2. Масштабирование ограничений 220* — переменных 254, 220* Матрица коэффициентов 159 Метод Брейдена — Флетчера — Шэнно 128 — ветвей и границ 119* — е-возмущений 11* — Гаусса — Жордана 102, 315* — деления интервала пополам 52 — Дэвидона — Флетчера — Пауэлла 126 — золотого сечения 54 — исключения переменных 197 — искусственных переменных 174 — Коггинса 134 — комплексов 273, 276 — Kouiu 111 — Марквардта 117 — множителей 247 — — Лагранжа 197 — — — обобщенный 213 — наискорейшего спуска 112 — неявного перебора Балаша 272* — Ньютона 115 — — модифицированный 117 — Ньютона — Рафсона 64 — Пауэлла 61 — поиска по симплексу (52-метод) 87 — — с использованием кубичной аппрок- симации 67 — Полака — Рибъера 123 — приведенного градиента 24* — — — обобщенный 30* — рекурсивного масштабирования 223* — секущих 66 — сопряженных направлений 99, 273 — средней точки 65 — Топкиса — Вейнотта И* — Флетчера — Ривса 120 — Хука — Дживса 93 — центров Хыоарда 246 Методы внешней точки 226 — внутренней точки 226 — глобальной оптимизации 252* — допустимых направлений 5* — исключения интервалов 49 — отсекающих плоскостей 329 — переменной метрики 125, 100* — проекций градиента 53* — прямого поиска 85, 269 — решение последовательности задач квад- ратичного программирования 189* — случайного поиска 284 — сопряженных градиентов 119 — точечного оценивания 58 Метрика 125 Минимизация невязок ограничении 240*, 242* Множители Лагранжа 197 Модели имитационные 213* — поверхности отклика 213* Модель системы 15 Обобщенный градиентный алгоритм 130 Ограничение активное 202 — неактивное 202 Ограничения в виде неравенств 34 — в виде равенств 34 Оптимальное решение задачи линейного программирования 155, 161
318 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Оптимальное решение задачи линейного программирования — — — — — единственное 157 Оптимум глобальный 41 — единственный 161 — локальный 41 — неедииствениый 161 — неограниченный 158 Отражение симплекса 90 — — нормальное 92 Отсекающая плоскость 329 Переменные базисные 162 — избыточные 159 — искусственные 175 — небазисные 162 — независимые 14 — остаточные 159 — управляемые 79 Позином 141* Показатель качества функционирования си- стемы 13 Постановка задачи II Правило исключения интервалов 50 — минимального отношения 167 — ограниченного ввода в базис 322 — скалярного произведении 165 Преобразование квадратичной формы к виду суммы квадратов 101, 307* Приведенный градиент 33* Программирование целочисленное 185, 116* — — линейное 116* Проекционная матрица 56* Процедура отбрасывания отсечений 337 Псевдослучайные числа 272 Разреженная матрица 120, 303* Растяжение симплекса 92 Регрессия линейная 132* — нелинейная 32 Решение базисное 162 — допустимое 155, 161 — — базисное 163 — — — вырожденное 173 _ _ — смежное 164 — задачи о дополнительности 136* — оптимальное 155 Робастность алгоритма 175* Свойство параллельного подпространства 103 Сепарабельное программирование 317 Сжатие симплекса 92 Сигномнальная функция (сигном) 154*, 161* Симплекс-метод 161, 163 — выпуклый 15* — двойственный 185 — двухэтапиый 176 — модифицированный 178 Скорость сходимости алгоритма 108 — — — квадратичная 108 — — — линейная 108 — — — суперлинейная 70, 108 Сопряженные направления 102 Стандартная форма задачи линейного прог- раммирования 158 Степень сложности задачи геометрического программирования 145* Стратегия поиска минимаксная 52 Теневые (неявные) цеиы 181, 201 Теоремы Куна — Таккера 205 Теория двойственности 185 Точка базовая 87, 95 — Куна — Таккера 207, 214 — линеаризации 298 — седловая 43, 211 — стационарная 43 У нимодальная функция 40 Уровни моделирования 208* Условие дополняющей нежесткости 204, 138* — оптимальности решения задачи линей- ного программирования 166 — стационарности 82 Условия Куна — Таккера 202, 132* — — — достаточность 209 — — — необходимость 206 — оптимальности второго порядка 213 — — достаточные 212 — — необходимые 212 Форма квадратичная 304* Функция вогнутая 209, 313* — Вуда 135 — выпуклая 209, 312* — Лагранжа 198 — — модифицированная 247 — Розенброка 134 — сепарабельная 320 — Химмельблау 80 — целевая 34 Частичное решение задачи о дополнитель- ности 136* Частично целочисленное программирование 266* Численная аппроксимация градиентов 131 Число обусловленности матрицы 303* Штраф 226 — заданный обратной функцией 229 — квадратичный 227 — логарифмический 228 Штрафная функция 225, 226 — _ точная 225 Штрафной параметр 225 Штраф типа квадрата срезки 230 Эквивалентные системы уравнений 315* Экономическая интерпретация множителей Лагранжа 201 Экспоненциальная прямая форма задачи обобщенного геометрического програм- мирования 161* Элементарное преобразование 162 Элемент (симплекс-таблицы) ведущий 169 Эффективность алгоритма 174*
ОГЛАВЛЕНИЕ Глава 9. Методы выбора направления, основанные на линеаризации ... 5 9.1. Методы допустимых направлений................................ 5 9.2. Обобщение симплекс-метода на задачи с линейными ограничения- ми ............................................................ 14 9.3. Обобщенный метод приведенного градиента..................... 30 9.4. Методы проекций градиента................................... 53 9.5. Приложение к проектированию........................... 72 9.6. Заключение.................................................. 79 Контрольные вопросы и задачи .................................... 81 Литература............................................. 85 Глава 10. Методы квадратичной аппроксимации для задач с ограничениями 87 10.1. Непосредственное использование квадратичной аппроксимации 88 10.2. Квадратичная аппроксимация функции Лагранжа...... 93 10.3. Методы переменной метрики для задач условной оптимизации 100 10.4. Обсуждение....................................... 105 10.5. Заключение....................................... НО Контрольные вопросы и задачи........................... 111 Литература............................................. 114 Глава 11. Задачи специальной структуры и методы их решения.......... 116 11.1. Целочисленное программирование............................ 116 11.2. Квадратичное программирование............................. 128 11.3. Задачи о дополнительности................................. 134 11.4. Геометрическое программирование........................... 141 11.5. Заключение................................................ 164 Контрольные вопросы и задачи........................... 165 Литература............................................. 171 Глава 12. Сравнение методов условной оптимизации ................... 174 12.1. Принципы сравнения........................................ 174 12.2. Краткая история сравнительных экспериментов............... 176 12.3. Исследование Сандгрена.................................... 179 12.4. Исследование Шитковского.................................. 189 12.5. Исследование Фэттлера по решению задач геометрического про- граммирования ................................................. 193 12.6. Сведения о программах..................................... 200 12.7. Заключение................................................ 201 Литература...................................................... 202
320 ОГЛАВЛЕНИЕ Глава 13. Стратегии оптимизационного исследования.................. 206 13.1. Построение модели....................................... 207 13.2. Реализация модели....................................... 217 13.3. Оценка решения.......................................... 253 13.4. Заключение.............................................. 258 Контрольные вопросы и задачи ................................. 259 Литература.................................................... 264 Глава 14. Примеры технических приложений........................... 266 14.[ .Оптимизация размещения углеобогатительных фабрик с помощью методов частично целочисленного программирования.............. 266 14.2. Оптимизация процесса производства этиленгликоля и окиси эти- лена ......................................................... 273 14.3. Оптимальное проектирование системы аккумулирования энер- гии сжатого воздуха........................................... 283 14.4. Заключение.............................................. 295 Литература.................................................... 296 Приложение А. Элементы линейной алгебры............................ 293 А. 1. Множества............................................... 298 А. 2. Векторы................................................. 298 А. 3. Матрицы................................................. 299 А. 4. Квадратичные формы...................................... 304 А. 5. Выпуклые множества...................................... 310 Приложение Б. Выпуклые и вогнутые функции........................ 312 Приложение В. Метод последовательных исключений (метод Гаусса — Жордана)........................................................... 315 Предметный указатель............................................... 317 УВАЖАЕМЫЙ ЧИТАТЕЛЬ! Ваши замечания о содержании книги, ее оформле- нии, качестве перевода и другие просим присылать по адресу: 129820, Москва, И-110, ГСП, 1-й Рижский пер,, д. 2, изд-во «Мир»,