Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы мат.моделирования. Фетисов / Математическое моделирование.doc
Скачиваний:
254
Добавлен:
09.02.2015
Размер:
3.83 Mб
Скачать

Лекция №5. Практическая оптимизация математических моделей (часть II)

А.5.1. Условия оптимальности процесса. Определение оптимума.

Для того, чтобы корректно определить оптимум и выяснить усло­вия оптимальности, прежде всего надо ответить на вопрос, что и как оптимизировать? Решение проблем оптимизации процесса складывается из следующих компонентов: 1) Создание математической модели явления; 2) Определение целевой функции и важнейших (компонентов) параметров, подлежащих оптимизации; 3) Непосредственная оптимизация некоторой функции (обычно большого числа переменных); 4) Идентификация мо­дели и проверка ее на устойчивость для данного процесса.

Естественно, что рассмотрение первой и последней компонент проводится математиками совместно со специалистами конкретной области.

Например, для модели производства сахара, складывающегося из следующих этапов: выращивание сахарной свеклы, транспортировка, переработка на сахарном заводе, математик, ставивший цель оптимизации производства, в первую очередь решает минимизировать транспортные расходы. Но если посмотреть на себестоимость сахара, то она, складывается из 80% стоимости сахарной свеклы, 5% транспортных расходов, 15% расходов по переработке свеклы. Из описанной структуры себестоимости яс­но, что за счет оптимизации расходов по транспортировке и переработке трудно достичь повышения эффективности. Как правило, выход сахара из тонны свеклы пропорционален ее сахаристости.

В результате уточнения модели ставится новая целевая функция – оптимизация выхода сахара из свеклы (при заданном оборудовании) учитывающая изменение сахаристости в процессе копки и хранения свеклы. Но эта модель обладает дефектом, она не учитывает интересы производителей свеклы, так как согласно ее копка должна начинаться, когда свекла еще находится в периоде интенсивного роста, что экономически невыгодно для производства.

Таким образом, при построении математической модели возникает естественное желание – создать подробную математическую модель, учитывающую многие детали технологии процесса, а затем произвести полную опти­мизацию проблемы за счет наилучшего выбора всех параметров явления. Однако стремление учесть слишком многое (т.е. при оптимизации по большому числу параметров) неизбежно приводит у возникновению задачи оптимизации функции многих переменных, численное решение которой, как правило, встречает непреодолимые вычислительные трудности.

Поэтому строится целевая функция меньшего числа новых переменных, более или менее удовлетворительно приближающая исходную функ­цию. Производится оптимизация этой упрощенной модели и получившееся приближение принимается за начальную итерацию для последующей оптимизации. Иногда оказывается достаточным произвести несколько шагов такого упрощения функции (модели) и введения каждый раз новых параметров.

Итак, прежде, чем говорить о методе решения задачи, необходи­мо определить, что понимается под решением стандартной задачи NCP и выяснить, какими свойствами оно обладает. Мы будем называть решением NCP точку локального минимума (максимума) целевой функции в допустимой области (Д), то есть точку, удовлетворяю­щую ограничениям задачи и характерную тем, что между значениями целевой функции в ней и в соседних допустимых точках имеются специфические отношения. Иными словами, точкой локального оптимуманазывается такая точка пространства проектирования, в которой целевая функцияимеет наименьшее (наибольшее) значение по сравнению с ее значениями во всех других точкахее ближайшей окрестности, обозначаемой через,-радиус окрестности.

Определение А (сильного локального минимума). Точка является точкойсильного локального минимума в стандартной задаче NСР, если существует такое число , что выполняется условие:для всех точек, где.

Аналогичное определение для сильного локального максимума.

Определение Б (слабого локального минимума). Точка является точкойслабого локального минимума в стандартной задаче NCP , если существует такое число , что выполняются следующие условия:

а) для всех точек;

б) точка не является точкой сильного локального минимума.

Аналогичное определение для слабого локального максимума.

Глобальный оптимум (глобальный минимум или максимум) – это оптимальное решение для всего пространства проектирования.

На первый взгляд кажется, что различие в поиске оптимума между методами одномерного поиска и многомерного поиска состоит лишь в том, что первые требуют малого объема вычислений, а вторые - соответственно большего числа процедур, и что в принципе методы, пригодные для целевой функции одной переменной, можно применить для функций многих переменных. Однако это не так, поскольку многомерное пространство качественно отличается от одномерного. Объем вычисле­ний является степенной функцией, показатель которой есть размерность пространства. Так, например, для одномерного поиска оптимума в це­левой функции требуется сделать 19 замеров, а для четырех перемен­ных аж 130 321 замер. Серьезность трудностей, обусловленных многомерностью, становится труднопреодолимой.

Методы оптимизации делятся на две большие группы – прямые и косвенные. Прямые методы основаны на сравнении вычисляемых зна­чений целевой функции в различных точках и на соответствующем су­жении интервала (области для многомерного поиска) неопределенности. Косвенные методы – на использовании необходимых и достаточных условий математического определения максимума и минимума функций. Стратегия прямых методов – постепенное приближение к оптимуму. Стратегия косвенных методов – стремиться найти решение , не иссле­дуя неоптимальные точки.

В своей книге Г. Аоки делит методы оптимизации в соответствии с порядком производных:

1-я группа методов – методы прямого поиска, так называемые методы нулевого порядка без участия производных (метод покоординатного спуска, метод исключения областей, метод случайного поиска, симплекс-метод и его модификации, геометрическое программирование, имитационное моделирование и т.д);

2-я группа методов, в которых используются первые частные производные (т.н. методы первого порядка – градиентные методы, ступенчатый наискорейший подъем, метод Флетчера-Ривса, вариационные мето­ды, т.д );

3-я группа методов, использующая матрицу Гессе ( т.н. методы второго порядка - метод Дэвидона, Флетчера, Пауэлла, метод конфигураций Хука-Дживса, метод конфигураций Розенброка и т.п ).

Для негладких целевых функций одной и многих переменных приходится привлекать методы поиска оптимума без вычисления производных.

Остановимся подробнее в хронологическом порядке на этих методах.

А.5.2. Методы одномерного поиска. Прямые многомерные поиски.

Поиск одномерного экстремума можно сравнить с поиском самого глубокого или самого высокого места. При каждом замере получается новая информация, причем, если при новом замере глубина (высота) оказывается больше, чем в предыдущем замере, то полученная информа­ция является полезной. Разрабатывая методы одномерного поиска, стремятся найти экстремум как можно быстрее, сделав как можно меньше замеров.

В данном разделе рассматриваются методы одномерного поиска экстремума целевой функции, причем предполагается, что исследуе­мые целевые функции являются "унимодальными" (термин, означающий что в рассматриваемом интервале неопределенности целевая функция имеет только один пик). Интервал неопределенности - это интервал значений , в котором заключен оптимум. Следовательно, задача одномерного поиска оптимума заключается в эффективном сужении интервала неопределенности, для того, чтобы после нескольких итераций прийти к оптимуму.

А. Общий способ деления интервала неопределенности. При не которой изобретательности эффективность поиска резко повышается. Разделив интервал наК частей, получим К+1 узел, и двойным переходом к суженному интервалу неопределенности уменьшаем вычисления, пользуясь суженным интервалом.

Б. Деление интервала неопределенности пополам. Вычисляя К значений функции на последовательно сужаемых интервалах, получим для коэффициента дробления интервала значения функции. При таком методе поиска целевую функцию приходится вычислятьр раз, причем . Весьма заманчиво найти тоK при котором р при заданном значении функции минимально. Так как , то минимум значенияр лежит вблизи К=2.

При этом на каждом интервале =0,5. Поскольку интервал неоп­ределенности делится каждый раз надвое, то метод получил метода деления интервала пополам. В общем случае коэффициент дробления интервала неопределенности составляет при .

В. Метод дихотомии. Если снять ограничение постоянного превращения проектного параметра х, то эффективность поиска повышается. Вычисление целевой функции в двух точках интервала позволяет его сузить. Можно так выбрать эти точки, что интервал неоп­ределенности будет минимальным. Коэффициент дробления , где мало.

Г. Метод золотого сечения. Интервал неопределенности делится на две неравные части так, что отношение длины большего отрезка к длине всего интервала равно отношению длины меньшего отрезка к длине большего отрезка. Ясно, что в этом случае требуе­мое отношение приблизительно равно 0,618. Это позволяет уменьшить интервал неопределенности в 0,618-1 раз. При каждом следующем шаге эффективность метода золотого сечения выше, чем у метода дихотомии.

Логическим развитием рассмотренных выше методик одномерного поиска было бы для многомерного последовательное изменение каждого проектного параметра до тех пор, пока не будет достигнут оп­тимум целевой функции. Но завершении этой процедуры для всех пе­ременных , входящих в выражение целевой функции, можно вернуться к первой переменной и посмотреть, а нельзя ли усовершенствовать численное решение. Этот метод, называемый методом координатного приближения (подъема или спуска, смотря по задаче), позволяет получить оптимальное решениех* в том случае, если линии уровня близки по формуле для окружности или эл­липса, оси которого параллельны координатным осям. Если же оси эллипса - наклонные, или линии уровня имеют изломы, эффективность данного метода безусловно снижается, или он вообще неприменим.

Несмотря на это, метод покоординатного приближения часто ис­пользуют на первой стадии решения задачи, а затем более сложным методом.

Одним из таких является метод последовательного исключения областей, легший в основу симплекс-метода в линейном программировании. Если целевая функция достаточно гладкая и унимодальная, то каса­тельная к линии уровня целевой функции разделит пространство проектирования на две части, в одной из которой вероятность нахождения оптимума велика, а в другой мала. Пользуясь этим соображением в нескольких удачно выбранных точках, для которых известны значения целевой функции, можно существенно сузить область многомерного поиска оптимума целевой функции.

Существует еще один метод многомерного поиска без привлече­ния производных в терминах специальных функций n - переменных, т.н. позиномов вида:

,

где .

Подчеркнём что показатели степеней переменныхх - произвольные действительные числа.

Класс полиномов достаточно широк, и описав большое число закономерно- стей в различных областях наук. Этот факт привел к созданию т.н. геометрического программирования, теоретической базой которого явились фундаментальные неравенства между арифметическим и геометрическим средними с некоторыми весами.

Основную роль для позинома играет матрица его экспонент имеющая следующий вид: . Напримердля позинома.

А.5.3. Безусловная оптимизация. Оптимизация при линейных и

нелинейных ограничениях

Мы начнем изучение условий оптимальности процесса с простейшей задачи о безусловной минимизации функции одной пере­менной, а именно, требуется найти прихR.

Как известно, если целевая функция F всюду дважды диффе­ренцируема и х* - точка ее локального минимума (сильного или слабого), то должны выполняться необходимые условия минимума в одномерной задаче без ограничений: А.1 и А.2..

Любая точка , в которой выполнено условие, называетсястационарной точкой функции F . Это есть лишь необходимое условие оптимальности, так как среди стационарных точек иногда случаются и точки перегиба, не являющиеся экстремальными точками целевой функции. Первое условие называют условием первого порядка; аналогично, второе называют условием второго порядка.

Наконец, достаточные условия минимума в задаче без ограничений есть условие Б.1. и Б.2.. Схематически три типа минимума в одномерном случае имеют вид:

Обратимся теперь к многомерному случаю безусловной оптимизации. Требуется найти при, т.е. векторх=.

Как известно, необходимые условия существования минимума для многомерного случая безусловной оптимизации, состоят в следующем:

В.1., где

В.2.Матрица Гессе G(x*) является положительно полуопределенной.

Отметим, что, как и в одномерном случае, условие В.1. не является достаточным, ибо градиент целевой функции может обращаться в нуль в стационарных точках( с условием В.1.), где нет ни минимума ни максимума. Последние принято называтьседловыми точками.

Характер поведения целевой функции F вблизи седловой точки показан на рисунке:

Прежде, чем переходить к оптимизационным задачам с ограни­чениями, отметим важный класс задач геометрического программирования , сводящийся к решению задачи о наименьшем (наибольшем) значении позинома. Основу данного метода составляет следующее утверждение:

ТЕОРЕМА ( док-во см. на стр. 19-21 книги Г.А.Бекишева и М.А. Кратко ''Элементарное введение в геометрическое программирование", М. : Наука, 1980.)

Наименьшее значение целевой функции при ограничениях (условия),равно, гдеи достигается в единственной точкес координатами,.

Задача минимизации произвольного позинома целиком и полностью сводится к положительному разрешению системы алгебраических уравнений вида:Каждая точкаглобального минимума (максимума) позиномаg(x) удовлетворяет системе указанного вида, и наоборот, каждое положительное решение системы является точкой глобального минимума позином.

Например позином вида , к которой сводится выражение транспортных расходов на перевозку калиброванной продукции, приводит к необходимости решать соответствующую систему алг. уравнений, решение которой естьТаковы оптимальные размеры тары при наименьших транспортных расходах.

Средствами позимонов (без привлечения производных) решаются сложные по виду задачи оптимизации.

В большинстве прикладных оптимизационных, задач приемлемыми являются не все мыслимые значения переменных; соответственно, при­ходится вводить какие-то ограничения на переменные. Для линейных ограничений используются требования того, чтобы некоторые линейные функции переменных были равны нулю, неотрицательны или неположительные. т.е. функции вида: где- некото­рая вектор-строка (матрица-строка),- число. ГрадиентL(х) постоянен и равен вектору а.

Рассмотрим условия оптимальности для задачи, ограничения ко­торой описываются линейными равенствами, т.е. задачу:

Найти минимум целевой функции при ограниченияхАх = В.

Здесь А - прямоугольная матрица размера , а В -m-мерный вектор . Коэффициентамиk -того ограничения,являются элементыk-той строки матри­цы А. Впредь эту строку будем обозначать через , то есть

Когда ограничения поставленной задачи несовместны, то допус­тимых точек (возможных решений задачи) существовать не может и тут говорить не о чем. Поэтому предполагаем, что вектор В принадлежит области значений преобразования, доставляемого матрицей А.

Следует подчеркнуть, что важен ранг системы ограничений, а не их число. Например, для ограничений,,их число равно 2, а ранг системы ограничений остается равным 1. Допустимое множество никак не изменится. В то же время для огра­ниченийиранг системы ограничений будет уже равен 2 и допустимое множество выродится в точку (0,0).

Векторы р перемещения из одной произвольной допустимой точки в другую, очевидно, ортогональные всем строкам матрицы, называются возможными направлениями относительно ограничений-ра­венств исходной задачи оптимизации. Выберем в подпространстве векторовкакой-нибудь базис и пустьZ - матрица, столбцами ко­торой являются базисные векторы. Через обозначим вектор соответствующей размерности, удовлетворяющий равенству.

Необходимым условием оптимума х* явится равенство вида: . Векторпринято называть спроектированным градиентом от целевой функцииF в точке х*. Любую точку х*, в которой спроектированный градиент обращается в нуль, называют условной стационарной для целевой функции F.

Опираясь на равенство , можно показать, что градиентявляется линейной комбинацией строк матрицы А, т.е.для некоторого вектора, называемого вектором множителей Лагранжа. Множители Лагранжа...определяются из последнего уравнения однозначно только тогда, когда строки матрицы А линейно независимы.

Спроектированной матрицей Гессе называется матрица . Необходимые условия существования оптимума для задачи с ограничениямиF(х) :

Г.1.

Г.2. или, что то же самое,

Г.3. положительно полуопределена (т.е. все ее собственные значения неотрицательны)

Аналогично, как в одномерном случае, выглядят достаточные условия оптимума для задачи с линейными ограничениями:

Д1.

Д.2. или, что то же самое,

Д.3. Матрица положительно определена.

Для произвольной оптимизационной задачи с нелинейными ограничениями важную роль играет т.н. функция Лагранжа, имеющая вид:

где F(x)- целевая функция- транспонированный вектор-столбец множителей Лагранжа, т.е. вектор,с(х) - вектор ограничений.

Центральную роль в дальнейшем будет играть матрица Гессе функции Лагранжа, и имеющая вид:

Итак, речь идет об оптимизационной задаче:

найти оптимум (например, минимум) целевой функции F(x),

где при нелинейных ограничениях

Необходимые условия существования оптимума:

К.1., причём на некоторых ограничениях = 0.

К.2.=0, или ,что эквивалентно,

К.3.

К.4. матрица вида положительна, но полуопределена.

Достаточными условиями минимума являются следующие:

№.l. с ( х* ) 0, на части ограничений С( х* ) = О,

№.2.или, что эквивалентно,.

№.3. ,

№.4. Матрица положительно определена.

Условия оптимальности для задачи с ограничениями, рассмотренная нами, часто называют условиями Куна-Такера ( см. подробнее например, книгу Фиакко А., Мак-Кормика Г.П. Нелинейное программирование. Методы последовательной безусловной оптимизации. М. :Мир, 1972.).

А.5.4. Методы оптимизации для негладких функций одной и многих

переменных

Одним из эффективных методов решения оптимизационных задач для негладких функций является метод геометрического программи­рования, а также методы одномерного поиска без использования производных, описанных нами выше.

В данном разделе мы обсуждаем методы минимизации негладкой функции n-мерного аргумента х. Под негладкой будем понимать целевую функцию, имеющую разрывы F(х) Понятно, что негладкость усложняет поиск оптимума, но насколько - это зависит от характера картины разрыва. Плохо, если разрывы целевой функции либо ее производных располагаются случайно, т.е. закономерность не выявлена, и совсем другое дело, когда структура и природа разрывов ясны. Соответственно и алгоритмы минимизации функций многих переменных разбиваются на две категории.

Самыми характерными среди методов минимизации негладких функций являются методы, в которых поиск осуществляется на основе сопоставления значений функции в пробных точках. Хотя эти методы и работают всегда, использовать их следует лишь в тех случаях, кoгда либо градиент g(х) минимизируемой функции F(х) разрывен в решении , либо у градиентаg(х) так много разрывов в других точках, что никакой метод, рассчитанный на гладкие функции, работать не сможет.

Единственными надежными методами поиска минимума целевой функции F(х) на основе сравнения значений функции в пробных точках массива являются уже рассмотренные нами ранее мето­ды одномерной оптимизации, работающие по принципу последователь­ного укорачивания интервала неопределенности оптимизируемого па­раметрах. Методы оптимизации на основе сопоставления значе­ний целевой функции F(х) в пробных точках называют методами прямого поиска.

Одним из характерных методов прямого поиска оптимума в много­мерном случае является т.н. метод многогранника. Чаще всего его называют симплексным методом, но мы во избежание путаницы с широко известным симплекс-методом линейного программирования даем ему другое название.

Рассматриваемый метод оперирует набором из (р+1) точек , упорядочиваемых таким образом, чтобы для соответствующих значений функции выполнялось требование. Эти точки можно интерпретировать как вершины неко­торого многогранника вn-мерном пространстве. На каждой следующей итерации текущий многогранник заменяется новым: худшая вершина ( то есть точка с наибольшим из вь5ранных значений функции ) отбрасывается и вместо нее в рассматриваемый набор вершин вводит­ся некоторая другая "более подходящая" точка. Обозначим черезy центр тяжести p лучших вершин очереднойр-той итерации, определяемый по формуле . Расчеты, относящиеся к этой итерации, начинаются с пробной точки где коэффициенти вычисления в ней значенияминимизируется целевой функции.

Говорят в этом случае, что получается отражением точки, а число называется коэффициентом отражения.

Возможны три случая:

1. Если (т.е. точкабудет не худшей и не лучшей в наборе), тозаменяется на точку, после чего выполняется следующая интеграция.

2. Если , т.е.оказывается новой лучшей точкой, то направление отражения следует признать удачным и делаем попытку растянуть данный многогранник в этом направлении. Для этого рас­сматриваем продвинутую точку где- коэффициент распоряжения. Если окажется, что, то растяжение увенчалось успехом и тогда точказаменяется на.

3. Если окажется , что , то делается заключение о том, что многогранник слишком велик и его надо сжать . Это осуществляется введением новой точки

коэффициент сжатия.

Если окажется, что , считается, что цель сжатия достигнута, и тогда точказаменяется на точку; в противном случае выполняется еще один шанс сжатия.

На рисунке показано расположение отраженной и продвинутой точек метода многогогранника в двумерном случае. Вершина с наибольшим значением це­левой функции помечена символом F3.

Известны модификации метода многогранника, значительно улучшающие его качественные характеристики. В оригинале точка шага сжатия выбирается на прямой, соединяющей две худшие точки из имеющихся. Более естественным было бы постараться приблизить ее к лучшей вершине. Тогда:

3а. Если , то в качестве претендента на заменуx

испытывается точка

Ещё одна модификация предполагает усечение многогранника, ex ли шаг сжатия оказался безуспешным или итерации долго не привода к уменьшению рекордного значения функции. Это усечение осуществ­ляется последовательными перемещениями вершин на пол­пути в сторону лучшей из текущих точек. По ходу их выполнения лучшая из текущих точек может сменяться, причем перемещения про­изводятся именно в том порядке, в котором перечислены вершины.

На практике нередко возникают оптимизационные задачи, кото­рые сами по себе являются негладкими, но составлены из гладких функций. В таких случаях один из подходов к поиску решения х заключается в том, что негладкая составная задача безусловной оптимизации заменяется эквивалентной ей гладкой оптимизационной задачей с ограничениями.

Типы применяемых преобразований негладкой задачи к эквива­лентной гладкой описаны подробны в монографии Гилла Ф.,Мюррея У., Райта М. "Практическая оптимизация". М. : Мир, 1985. ( см. стр. 129-131 ).