- •Им. А.Н.Туполева
- •И.П. Ультриванов
- •Учебное пособие для студентов экономического факультета Издательство Казанского
- •Глава 1. Основные понятия моделирования систем
- •Виды и способы математического моделирования систем
- •Экономико-математические модели
- •Адекватность модели
- •1.4. Понятие «черного ящика» в теории управления
- •1.5. Последовательность процесса моделирования
- •Глава 2. Основные свойства систем управления
- •2.1. Понятие системы
- •2.2. Устойчивость динамических систем
- •2.3. Равновесие в экономических системах
- •2.4. Качество процессов регулирования
- •Глава 3. Общие методы оптимизации
- •3.1. Классификация методов получения оптимальных решений
- •3.2. Оптимальные решения
- •3.3. Математическое программирование
- •Глава 4. Задача линейного программирования и ее оптимальное решение
- •4.1. Определение линейности функций
- •4.2. Постановка задачи линейного программирования
- •4.3. Геометрическая интерпретация и графический метод решения задачи линейного программирования
- •4.4. Симплексный метод решения задачи
- •Алгоритм симплекс-метода решения злп. Алгоритм симплекс-метода решения злп продемонстрируем на простом примере.
- •Глава 5. Методы оптимизации в задачах нелинейного программирования
- •5.2. Метод множителей Лагранжа
- •5.3. Методы одномерного поиска минимума функции
- •Эффективность одномерных методов поиска
- •5.4. Методы минимизации без ограничений, использующие производные
- •5.5. Методы минимизации без ограничений, не использующие производные (методы поиска)
5.5. Методы минимизации без ограничений, не использующие производные (методы поиска)
В отличие от раздела 5.4, где изложено решение задачи нелинейного программирования с помощью методов, использующих производные (или их аппроксимации), здесь рассмотрим основные методы оптимизации, не использующие производные. Эти методы обычно называют методами поиска. В типичном методе поиска направления минимизации полностью определяются на основании последовательных вычислений целевой функции f(x).
Как правило, при решении задач нелинейного программирования при отсутствии ограничений градиентные методы и методы, использующие вторые производные, сходятся быстрее, чем прямые методы поиска. Тем не менее, применяя на практике методы, использующие производные, приходится сталкиваться с двумя главными препятствиями. Во-первых, в задачах с достаточно большим количеством переменных довольно трудно или даже невозможно получить производные в виде аналитических функций. При вычислении производных численными методами возникает ошибка (особенно в окрестности экстремума), что может ограничить применение подобной аппроксимации.
Методы оптимизации использующие прямой поиск, на практике могут оказаться более удовлетворительными с точки зрения пользователя. Решение задачи с их помощью может быть проще и обойтись дешевле.
В данном разделе рассмотрим лишь некоторые, наиболее известные, простые и иллюстративные из многих существующих алгоритмов прямого поиска.
Прямой поиск методом покоординатного спуска. Методы поиска простейшего типа заключаются в изменении каждый раз одной переменной, тогда как другие остаются постоянными, пока не будет достигнут минимум. Например, в случае минимизации целевой функции с двумя переменными х1 и х2 переменная х1 устанавливается постоянной, а х2 изменяют до тех пор, пока не будет получен минимум. Затем, сохраняя новое значение х2 постоянным, изменяют х1, пока не будет достигнут оптимум при выбранном значении х2 и т.д. (см. рис.19).
Однако надо отметить, что такой простейший алгоритм работает плохо, если в выражении для целевой функции входят члены, содержащие произведение х1 х2, «перекрестные связи», которые, как увидим, часто встречаются в имитационных моделях.
На рис.19 представлены
сравнительные траектории минимизации
целевой функции двух переменных х1
и х2 из начальной
точки
двумя методами.
Линии равного
уровня целевой функции
Метод
наискорейшего спуска![]()

Прямой
поиск методом покоординатного спуска



х1
х2







Рис.19
Существуют различные модификации прямого поиска. Так Хук и Дживс предложили логически простую стратегию поиска [27], который включает два основных этапа: «исследующий поиск» вокруг базисной точки и «поиск по образцу», т.е. в направлении, выбранном для минимизации.
Нелдер и Мид [27] предложили метод поиска, несколько более сложный по сравнению с прямым поиском, но оказавшийся весьма эффективным и легко реализуемым на ЭВМ. Этот метод, под названием метода «деформируемого многогранника», и разработанные на его основе прикладные программы для ЭВМ в настоящее время широко используется при оптимизации функций многих переменных.
