- •Предисловие
- •Введение
- •Глава 1. Основные понятия теории управления
- •1.1. Объект управления
- •1.2. Управляющая система
- •1.3. Система управления
- •Глава 2. Разработка управляющих систем
- •2.1. Анализ характеристик объекта управления
- •2.2. Выбор управляющих параметров
- •2.3. Надежность управляющих систем
- •Глава 3. Автоматизация массообменных процессов
- •3.1. Ректификация
- •Хладо-носитель
- •Хладо-носитель
- •2 Дистил- лят а б
- •3.2. Абсорбция
- •3.3. Адсорбция
- •3.4. Сушка
- •Глава 4. Автоматизированные системы управления
- •4.1. Общая характеристика асутп
- •4.2. Назначение, цель, функции и состав асутп
- •4.3. Структура комплекса технических средств асутп
- •4.4. Общесистемная документация и оперативный персонал
- •4.5. Асутп нефтепереработки и нефтехимии
- •4.6. Техническое обеспечение распределенных асутп
- •4.7. Применение распределенных асутп
- •Глава 5. Идентификация технологических процессов
- •5.1. Понятие об идентификации
- •5.2. Общие сведения о математических моделях
- •5.3. Постановка задачи идентификации
- •5.4. Основные характеристики (функции) систем
- •5.5. Оценка адекватности математической модели
- •5.6. Математические модели многостадийных объектов
- •Глава 6. Оптимизация технологических процессов
- •6.1. Характеристика методов оптимизации
- •6.2. Особенности оптимизационных задач управления
- •6.3. Оптимизация технологических процессов
- •6.4. Оптимальное управление системами ректификации
- •6.5. Адаптивное управление технологическими процессами
- •Глава 7. Оптимизация производства этилена
- •7.1. Производство этилена как объект управления
- •7.2. Задачи управления установками
- •7.3. Структура подсистемы оптимизации отделения пиролиза
- •7.4. Выбор математической модели пиролизной печи
- •Ориентировочная ранжировка параметров
- •7.5. Корректировка коэффициентов адаптивной модели
- •Приложение а функциональные схемы автоматизации
- •Приложение б идентификация систем в среде matlab
- •1. Основные характеристики (функции) систем
- •2. Теоретические модели объектов
- •Приложение в задачи и методы оптимизации
- •Задачи оптимизации
- •Приложение г задачи линейного программирования
- •Библиографический список
Приложение в задачи и методы оптимизации
Общая формулировка задачи параметрической оптимизации сводится к нахождению набора параметров х = (х1, х2, …, хn), который является оптимальным в смысле некоторого критерия. В простейшем случае такая задача сводится к минимизации или максимизации некоторой (целевой) функции без каких-либо ограничений. В более сложных ситуациях на отмеченные параметры могут быть наложены некоторые ограничения в виде равенств, неравенств и параметрических границ. Краткий перечень возможных оптимизационных задач приведен в табл. В.1.
Таблица В.1.
Задачи оптимизации
№ |
Тип задачи |
Математическая запись |
1 |
Скалярная минимизация |
min f (a), a1< a< a 2 |
2 |
Безусловная минимизация |
min f (x) |
3 |
Линейное программирование |
min f T x, при условиях Ax b, Aeqx = beq , xL x xU |
4 |
Квадратичное программирование |
min ½ xHx + f T x, при условиях Ax b, Aeqx = beq , xL x xU |
5 |
Минимизация при наличии ограничений |
min f ( x ), при условиях с(x) 0, сeq(x) = 0 Ax b, Aeqx = beq , xL x xU |
6 |
Достижение цели |
min , при условиях F(x) w = g, с(x) 0, сeq(x) = 0 Ax b, Aeqx = beq , xL x xU |
7 |
Минимакс |
min max {Fi ( x )}, при условиях с(x) 0, сeq(x) = 0 Ax b, Aeqx = beq , xL x xU |
8 |
Полубесконечная минимизация |
min f ( x ), при условиях K(x,w) 0 для всех w, с(x) 0, сeq(x) = 0 Ax b, Aeqx = beq , xL x xU |
Принятые обозначения: а скалярный аргумент; х, векторный аргумент;
f (a), f (х) скалярные функции; F(x), с(x), сeq(x), K(x,w) векторные функ-ции; A, Aeq , H матрицы; b, beq , w, g векторы; xL, xU соответственно нижняя и верхняя граница области изменения аргумента.
Формулировка задачи параметрической оптимизации представляется следующим образом:
требуется найти вектор х, обеспечивающий
min f (x) при ограничениях
gi(x) = 0 (i = 1, 2, …, me) ; (В.1)
gi(x) 0 (i = me+1, …, m);
xL x xU,
где х вектор оптимизируемых параметров (х Rn); f(x) скалярная целевая функция (критерий) векторного аргумента (f(x) : Rn R); gi(x) также некоторые скалярные функции векторного аргумента. Заметим, что задача максимизации сводится к задаче минимизации заменой f(x) на f(x).
Эффективность и точность решения данной задачи зависит как от числа параметров и ограничений, так и от вида целевой функции. При линейных ограничениях и целевой функции приведенная задача называется задачей линейного программирования, при линейных ограничениях, но при квадратичной (по аргументу) целевой функции задачей квадратичного программирования, в общем случае это задача нелинейного программирования.
Безусловная оптимизация. Существующие алгоритмы безусловной оптимизации могут быть разделены на две группы: алгоритмы, базирующиеся на использовании производных минимизируемой функции (градиентные и методы второго порядка), и алгоритмы, использующие только значения функции (безградиентные).
Безградиентные методы (например, симплексный метод Нелдера-Мида) более пригодны для задач, где минимизируемая функция является существенно нелинейной или имеет разрывы.
Градиентные методы используют информацию о наклоне функции для выбора направления поиска экстремума. Градиентные методы первого порядка обычно эффективны в случаях целевых функций, непрерывных вместе с первыми производными. В одном из таких методов наискорейшего спуска, на каждой итерации движение к точке минимума осуществляется в направлении - f(x) (где f(х) - вектор-градиент целевой функции f(x)).
Однако этот метод весьма неэффективен если поверхность целевой функции имеет узкие «овраги», например, как у известной функции Розенброка (поверхность этой функции приведена на рис. В.1)
Рис.
В.1. Графическое представление функции
Розенброка
f(x)=100(x1-x22)2+(1-x1)2
Минимальное значение данной функции, как нетрудно видеть, равно нулю при x1 = х2 = 1. Между тем численные эксперименты показывают, что зачастую метод наискорейшего спуска не обеспечивает нахождение точки экстремума даже после сотен и тысяч итераций. Отметим, что указанную функцию из-за своеобразной формы ее линий равного уровня часто называют "банановой" функцией и используют как тестовую при проверке эффективности различных оптимизационных алгоритмов.
Квазиньютоновские алгоритмы являются наиболее распространенными среди алгоритмов, использующих информацию о градиенте. В этих итерационных алгоритмах целевая функция в окрестностях произвольной точки аппроксимируется квадратичной функцией, при этом на каждой итерации решается задача локальной минимизации:
min ½ xTHx + cT x + b, (В.2)
где Н - симметричная и положительно определенная матрица вторых частных и смешанных производных (матрица Гессе или гессиан), с – постоянный вектор, b - константа.
Оптимальное решение приведенной задачи соответствует нулевым значениям первых производных, т.е.
f (x*) = Hx* + c = 0, (В.3)
отсюда
x* = H-1c.
Среди подобных алгоритмов одним из наиболее популярных и используемых в пакете Optimization является так называемый BFGS-алгоритм, получивший свое название по фамилиям предложивших его авторов (Broyden, Fletcher, Goldfarb, Shanno). Здесь аппроксимация Н производится итерационно. Рассчитывая на очередной итерации новое направление, он осуществляет движение до достижения минимума целевой функции с использованием методов одномерного поиска.
Алгоритмы Ньютона-Гаусса и Левенберга-Марквардта являются методами второго порядка и применяются реже, поскольку требуют больших вычислительных затрат для расчета матриц вторых производных. Они используются в основном для решения задачи нелинейного метода наименьших квадратов (МНК).
Минимизация при наличии ограничений. В задачах оптимизации с ограничениями (см. табл. В.1) обычный подход в нахождении решения состоит в замене исходной задачи на задачу без ограничений (задачу безусловной оптимизации), например с помощью метода штрафных функций.
В настоящее время, однако, более эффективным считается применение так называемых уравнений Куна-Таккера, которые на основании вышеприведенной формулировки задачи параметрической оптимизации и при некоторых дополнительных предположениях о характере ограничений записываются в виде:
; (В.4)
, i=1, 2, …, me ;
i*=0, i= me +1, …, m,
где i множители Лагранжа.
Для решения данных уравнений в пакете Optimization использован алгоритм так называемого последовательного квадратичного программирования (в оригинале Sequential Quadratic Programming или SQP), представляющий собой по сути разновидность квазиньютоновского метода. Основная идея SQP заключается в применении квадратичной аппроксимации для учитывающей ограничения функции Лагранжа
. (В.5)
В последней формулировке данная задача может быть решена любым методом решения задач квадратичного программирования. В пакете Optimization для этой цели использован комбинированный алгоритм, объединяющий алгоритм BFGS и так называемый метод проекций.
Многокритериальная оптимизация. Достаточно часто в реальных ситуациях качество работы исследуемого объекта или системы оценивается не единственным критерием или показателем качества, а совокупностью таких критериев, причем представляющихся одинаково значимыми. Это приводит к задаче оптимизации с векторной целевой функцией F(x) = {F1(x), F2(x),..., Fk(x)} и формулировкой
min F (x) при ограничениях
gi(x) = 0 (i = 1, 2, …, me) ; (В.6)
gi(x) 0 (i = me+1, …, m);
xL x xU,
получившей название задачи многокритериальной или векторной оптимизации.
Известно, что решение подобной задачи сводится к нахождению множества точек неулучшаемых решений (Парето-множества), для чего используется, например, метод взвешенной суммы частных критериев или метод -ограничений.
В рассматриваемом пакете для решения задачи многокритериальной оптимизации применен так называемый метод достижения цели, предложенный Gembicki и математически описывающийся соотношениями
min , при ограничениях
Fi(x) wi Fi*, i=1, 2, …, m , (В.7)
где Q область допустимых значений х; wi - некоторые весовые коэффициенты; Fi* некоторые устанавливаемые "цели" (goals).
В приведенной формулировке задача подобна задаче однокритериальной оптимизации и может решаться с помощью выше отмеченных алгоритмов.
Алгоритмы большой размерности. Задачи оптимизации с большим числом оптимизируемых факторов (десятки, сотни, тысячи) и/или сложным, нелинейным характером целевой функции достаточно плохо решаются рассмотренными методами ввиду существенных вычислительных затрат (например, при определении аппроксимации матрицы Гессе), что привело к выделению в отдельную группу алгоритмов большой размерности, оказывающихся эффективными в подобных ситуациях.
Данные алгоритмы основаны на идее так называемой области доверия области N вблизи некоторой точки х, в которой рассматриваемая целевая функция f(x) может быть адекватно аппроксимирована более простой функцией q(s), так что исходная задача оптимизации сводится к задаче
min q (s) , sN. (В.8)
Текущая точка х обновляется, т.е. заменяется точкой x+s, если f(x+s) < f(x), и не изменяется в противоположном случае. В стандартном подходе предполагается, что как функция q(s), так и область доверия описываются квадратичными функциями.