- •Основы математического моделирования
- •Введение
- •А. Теоретическая часть лекция №1. Понятие общей теории систем, системного подхода и системного анализа
- •Лекция №2. Показатели и критерии оценки систем. Шкалы
- •Лекция №3. Введение в математическое моделирование
- •Лекция №4. Практическая оптимизация математических моделей (часть I)
- •Лекция №5. Практическая оптимизация математических моделей (часть II)
- •Лекция №6. Диалоговые системы оптимизации
- •Лекция №8. Основы статистического моделирования
- •Лекция №9. Статистические методы исследования операций в экономике
- •Лекция №10. Элементы теории прогнозирования и идентификации систем управления
- •Например, критерий вида
- •Библиографический список
- •Б. Практическая часть
- •Б.1. Моделирование развития промышленного предприятия на основе параллельных структурных элементов а.В. Прокшин, о.А. Кракашова, б.Ю. Сербиновский
- •Содержание
- •Введение
- •1. Задача производства продукции и распределения ресурсов в условиях их ограниченности
- •Из табл. 1 можно получить также зависимость
- •2. Задача развития предприятия
- •3. Задача распределения работ n цехам
- •Заключение
- •Библиографический список
- •Б.2. Разработка математической модели сложного движения а.Владимиров
- •Огибание неподвижной прямой линии дугой окружности
Лекция №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 ).