Главная |
страница 1
Многомерные задачи оптимизации. Мы рассмотрим одномерные задачи оптимизации, в которых ц.ф. зависит лишь от одного аргумента. В большинстве реальных задач оптимизации ц.ф. зависит от многих проектных параметров. Min дифференциальной функции многих переменных Можно найти, исследуя ее значения в критических точках, которые определяются из решения системы дифференциального уравнений: ![]() ![]() Пример: мы рассмотрим задачу об определении оптимальных размеров контейнера с Свели задачу к минимуму ц.ф. Решение: В соответствии с (9.1) получим систему ![]() Отсюда Т.о. оптимальной формой контейнера в данном случае является куб, длина ребра которого равна 1м. Этот метод можно использовать лишь для дифференциальной ц.ф. Часто никакой формулы для ц.ф. нет, есть лишь возможность определить ее значения в произвольных точках рассматриваемой области с помощью некоторого вычислительного алгоритма или путем физических измерений. Задача состоит в приближенном определении наименьшего значения функции во всей области при известных ее значениях в отдельных точках. Для решения подобной задачи в области проектирования G можно дискретное множество точек (узлов) путем разбиения интервалов изменения параметров В полученных узлах вычислить значения ц.ф. и среди этих значений найти наименьшее. Однако в многомерных задачах оптимизации этот метод потребовал бы слишком большого объема вычислений. Необходимы специальные численные методы, основанные на целенаправленном поиске. Метод покоординатного спуска. Пусть требуется найти наименьшее значение ц.ф. ![]() В качестве начального приближения выберем в n-мерном пространстве некоторую точку ![]() где Соотношение (9.2) определяет движение в сторону понижения значений функции Действительно, пусть Тогда с ростом функция Значение Решить одномерную задачу оптимизации для функции либо решив задачу одномерной оптимизации для функции В качестве критерия завершения процесса можно использовать условия близости значения ц.ф. или проектных параметров на двух последовательных интеграциях. Под интеграцией здесь понимают всю процедуру спуска по координатам Или ![]() Или ![]() Близость ц.ф. ![]() Метод покоординатного спуска сводит задачу о нахождении наименьшего значения функции многих переменных к многократному спуску в сторону уменьшения значений функции по каждому проектному параметру. Для случая n=2 Ц.ф. Описывает некоторую поверхность в трех мерном пространстве. На рисунке нанесены линии уровня этой поверхности. Важным явлением вопрос о сходимости процесса оптимизации, т.е. будет ли последовательность значений ц.ф. f( Это зависит от вида ц.ф. и выбора начального приближения. Для функции двух переменных, очевидно, что метод может оказаться неприменим при существовании изломов в линиях уровня. В природе мы можем наблюдать явления, сходные с решением задачи нахождения min. Например, стекание воды с берега котлована на дно. Будем считать, что берега котлована «унимодальные», т.е. они гладкие, не содержат локальных углублений или выступов. Тогда вода будет стремиться вниз в направлении наибольшей крутизны берега в каждой точке. С точки зрения математики направление наискорейшего спуска соответствует направлению наибольшего убывания функции. Направление наибольшего возрастания функции двух переменных ![]() ![]() ![]() Следовательно, направление, противоположное градиентному, указывает направление наибольшего убывания функции. Методы, основанные на выборе пути оптимизации с помощью градиента, называется градиентными. Идея метода градиентного спуска: Выбираем некоторую начальную точку вычисляем в ней градиент данной функции. Делаем шаг в направлении, обратном градиентному В результате приходим в точку Значение функции Если это условие не выполнено, т.е. значение функции не изменилось или даже возросло, то необходимо уменьшить шаг. Повторяем процедуру в новой точке: вычисляем grad и снова делаем шаг в обратном к нему направлении: Процесс продолжается до получения наименьшего значения ц.ф. Строго говоря, процесс завершается тогда, когда движение из полученной точки с любым шагом приводит к возрастанию значения ц.ф. Если min ц.ф. достигается внутри рассматриваемой области, то grad f в этой точке равна нулю, что также является моментом окончания процесса оптимизации. Приближенно момент окончания поиска определяют аналогично другим методам, например, близость значений ц.ф. на двух последовательных интеграциях: Такой же, как у метода покоординатного спуска: при существовании оврагов на поверхности сходимость метода очень медленная. В методе градиентного спуска на каждом шаге оптимизации требуется вычислять Формулы для частных производных в явном виде можно получить, если ц.ф. задана аналитически. В противном случае частные производные вычисляют с помощью численного дифференцирования ![]() При этом основной объем вычислений приходится на вычисление grad ц.ф. в каждой точке траектории спуска. Стараются уменьшить количество точек без ущерба для искомого решения. Один из таких методов – метод наискорейшего спуска. Здесь после определения в начальной точке направления, противоположного grad ц.ф., решают одномерную задачу оптимизации, минимизируя ц.ф. вдоль этого направления: Ищем min функции: Сведение многомерной задачи оптимизации к последовательности одномерных задач на каждом шаге мы уже рассматривали. Для случая ц.ф. двух переменных z=f(x,y):
![]() Grad ц.ф. в новой точке Задачи с ограничениями. Решение задач математического программирования значительно более трудоемко по сравнению с задачами безусловно оптимизации. Ограничения типа равенств или неравенств требуют их учета на каждом шаге оптимизации. Одно из направлений в методах решения задач математического программирования является сведение их к последовательности задач безусловной оптимизации. Например, Метод штрафных функций. Сущность метода: Пусть Заменяем данную задачу задачей безусловного минимума ![]() ![]() При этом дополнительную (штрафную) функцию ![]() Штрафная функция В частности, если существуют ограничения неравенства вида то в качестве штрафной можно взять функцию, которая: 1) = 0 во всех точках пространства проектирования, удовлетворяющих заданным ограниченным неравенствам.
Таким образом, при выполнении ограничений-неравенств функции ![]() ![]() Если хотя бы одно из неравенств не выполниться, то вспомогательная ц.ф. функция Алгоритм решения задачи математического программирования с использованием метод штрафных функций представлен в укрупнённом виде. В качестве исходных данных вводятся: начальное приближение искомого вектора На каждом шаге интегрального процесса определяется оптимальное значение вектора x, в качестве начального приближения принимается результат предыдущей итерации. Значения параметра В этом случае точка Линейное программирование. Пока при рассмотрении задач оптимизации мы не делали никаких предположений о характере ц.ф. и виде ограничений. Важным разделом математического программирования является линейное программирование, изучающее задачи оптимизации, в которых и ц.ф. функция является линейной функцией проектных параметров, а ограничения задаются в виде линейных уравнений и неравенств. Каноническая постановка задачи линейного программирования: Найти значения переменных
![]() ![]() (9.3) 2)являются не отрицательными ![]() ![]() 3)обеспечивают наименьшее значение линейной и ц.ф. ![]() ![]() Существует решение системы уравнений (9.3), удовлетворяющее системе неравенств (9.4), называется допустимым решением. Допустимое решение, которое минимизирует и ц.ф. (9.5), называется оптимальным решением. Рассмотрим пример задачи линейного программирования – транспортная задача: Автобаза обслуживает 3 овощных магазина, причём товар доставляется в магазин из 2-х плодоовощных баз. Нужно спланировать перевозки так, чтобы их общая стоимость была min. Зададим исходные данные: Ежедневно вывозится с первой базы 12 т товара, со второй – 15 т. При этом завозится в первый магазин 8 т, во второй – 9 т, в третий – 10 т. Стоимость перевозки 1 т товара (в рубл.) с баз в магазины см. в табл.:
Решение: Обозначим через ![]() ![]() ![]() ![]() ![]() Первые два уравнения описывают количество товара, вывозимое с 1-й и 2-й баз, а три последних - количество товара, завозимое в каждый магазин. К данной системе уравнений необходимо добавить систему неравенств которая означает, что товар обратно из магазинов на базы не вывозится. Общая стоимость перевозок с учётом приведённых в таблице расценок выражается формулой Таким образом, мы имеем типичную задачу линейного программирования: Найти оптимальные значения проектных параметров Анализируем систему (9.6): первые 4 уравнения независимы, 5-е можно получить путём сложения 1-го и 2-го и вычитания из этой суммы 3-го и 4-го. Фактически имеем систему: Число неизвестных больше числа уравнений, поэтому выразим через все остальные неизвестные: ![]() ![]() Т ![]() Эта система неравенств описывает все допустимые решения рассматриваемой задачи. Среди всех допустимых значений свободных параметров Формула (9.8) с учётом (9.9) примет вид Отсюда видно, что стоимость перевозок растёт с увеличением значений Очевидно, стоимость перевозок будет min, если величина Таким оптимальным будет значение ![]() В этом смысле минимальная общая стоимость перевозок равна 229 р. Числа указывают количество товара в тоннах. Смотрите также:
Многомерные задачи оптимизации
106.72kb.
Повышение эффективности обменов данными при параллельном численном моделировании многофазных систем с использованием средств автоматизации программирования
29.05kb.
Вопросы по Методам оптимизации
10.1kb.
Теплофизика химически реагирующих систем
65.74kb.
Лекции: Лимитирующие факторы развития туризма в условиях глобальной конкуренции
30.58kb.
1. Обучение, обучающие выборки
97.33kb.
1 Общая информация 2 Характеристика, цели и задачи
250.44kb.
Предмет, задачи, методы юридической психологии
566.37kb.
Специальность 01. 04. 01 – «Приборы и методы экспериментальной физики»
203.45kb.
Урок15. Рельеф ашинского района. Цели и задачи урока
51.38kb.
Реферат по теме «Задачи на нахождение молекулярной формулы вещества»
77.78kb.
2D/3D корреляция и геонавигация для горизонтальных скважин
52.49kb.
|