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

Введение

Подходы к разработке систем поисковой оптимизации

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

Начало научным работам в области оптимального проектирования положил Галилей (1638), предложив алгоритм выбора формы равнопрочной балки. Существенный толчок теории оптимизации связан с разработкой дифференциального исчисления, ставшего изящным инструментом для аналитического исследования экстремальных задач. Дальнейшее развитие математического аппарата теории оптимизации было обусловлено созданием вариационных методов трудами Бернулли (1687), Эйлера (1744), Лагранжа (1770) и др.

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

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

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

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

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

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

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

В большинстве практических задач часть независимых переменных, либо все переменные принимают дискретные значения. Такие задачи принято называть задачами соответственно целочисленного и смешанного целочисленного программирования.

В условиях отсутствия эффективных методов решения этих задач традиционный подход по существу сводится к следующим возможным процедурам:

- решается задача с полностью непрерывными переменными, затем полученное решение округляется;

- после нахождения оптимума с полностью непрерывными переменными система перемещается в ближайшую дискретную точку допустимой области и производится оптимизация по остальным непрерывным переменным;

- после отыскания оптимума с полностью непрерывными переменными оцениваются все дискретные точки в окрестности этой опорной точки, и выбирается лучшая.

В задаче смешанного целочисленного программирования в каждой дискретной точке производится оптимизация по непрерывным переменным.

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

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

Первый подход (классификация)

Поисковые методы по характеру выработки решающих правил условно можно подразделить на три группы – слепого, локального и нелокального поисков.

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

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

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

Второй подход (классификация)

Все методы решения задач математического программирования делятся на следующие группы:

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

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

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

Методы двойственности. В \этих методах строится итерационный процесс подбора линейных функций, определяющих необходимые условия экстремума.

Третий подход.

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

Четвертый подход.

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

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

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

Различают три вида адаптации алгоритма поиска:

параметрическая (адаптация рабочего шага, объема накопления и др.);

структурная (адаптация структуры алгоритма в пределах данного подхода);

в виде выбора одного из заданного набора алгоритмов.

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

Аветисян Д.А., Соколов В.С. и Хан В.С. классифицируют методы поисковой оптимизации по характерным признакам поискового движения. различают методы перебора (обзора) и направленного поиска.

Методы перебора делятся на упорядоченные и случайные.

Упорядоченным перебором является, например, обход узловых точек в некоторой области n – мерного пространства.

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

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

Методы направленного поиска делят на одноэтапные и многоэтапные.

При одноэтапных методах поиска каждый шаг совершается при одновременном изменении всех независимых переменных.

При многоэтапных методах поиска изменяют только по одной или несколько независимых переменных поочередно.

Одноэтапные методы направленного поиска делят на методы покомпонентного (группового) улучшения и методы динамического программирования.

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

Оптимизация без ограничений