- •Лабораторная работа № 3
- •Теоретические сведения
- •Порядок работы с пакетом Simulink Response Optimization
- •Пример расчета нелинейной су
- •Задание ограничений
- •Рисунке 5.
- •Выполнение оптимизации
- •Описание задачи
- •Постановка задачи
- •Учет неопределенности параметров системы
- •Pid Контроллер
- •Решение задачи
- •Практическое задание
- •3. При необходимости измените фигуру ограничений для переходного процесса, перемещая ограничивающие линии.
- •4. В рабочем окне Matlab введите ориентировочные значения настроек регулятора, поставив их вместо знака ? в строку:
- •7. Для последующей защиты сохраните модель су под своим именем на сервере.
- •Оптимальные параметры настройки регуляторов для статических объектов первого порядка с запаздыванием
Выполнение оптимизации
После задания ограничений в окне Signal Constraint -блока и объявления настраиваемых переменных начинают выполнение оптимизации нажатием кнопки Start на панели управления в нижней части окна или выбором опции Start в меню Optimization. После этого Simulink Response Optimization –пакет автоматически преобразует данные об ограничениях процесса и настраиваемых переменных в данные для решения проблемы оптимизации и вызывает процедуру constr. Она использует алгоритм последовательного квадратичного программирования SQP и квази-Ньютоновский метод градиентного поиска.
В процессе оптимизации выводятся промежуточные результаты. Можно увидеть переходные процессы при различной вариации параметров, они обозначены разными цветами. Конечный переходной процесс, удовлетворяющий заданным ограничениям, выделен черным цветом. Рисунок 10.
Во время оптимизации Simulink Response Optimization –пакет выводит информацию о неопределенности параметров объекта, числе ограничений на одну симуляцию и числе симуляций.
Когда Simulink Response Optimization –пакет начинает оптимизацию, он рисует начальный отклик СУ черным цветом. Для просмотра этого отклика до начала оптимизации следует выбрать опцию Plot current response меню Plots. Просмотр начального отклика СУ помогает лучшим образом определить требуемые ограничения на переходной процесс.
Рисунок 10.
После решения проблемы MATLAB выводит сообщение
max Directional First-order
Iter S-count f(x) constraint Step-size derivative optimality Procedure
0 1 0 331.8
1 6 0 41.3 0.0478 0 1 infeasible
2 9 0 0.2882 0.0725 0 1 Hessian modified twice; infeasible
3 12 0 0.02226 0.0587 0 969 Hessian modified twice
4 15 0 0.0001852 0.00536 0 15.8
Successful termination.
Found a feasible or optimal solution within the specified tolerances.
Kint =
0.1844
Так же узнать новые, оптимизированные значения настраиваемых переменных, надо напечатать их имена в окне MATLAB:
Kint
и MATLAB ответит
Kint =
0.1844
Первая колонка выводимой информации Iter показывает полное число обращений (итераций) к функции стоимости (cost function), третья max constraint – максимум (взвешенный) нарушения ограничений (т.е. функции стоимости). Это число должно уменьшаться в ходе оптимизации. Когда max constraint становится нулевым или отрицательным, то цель оптимизации достигнута. В данном случае это случилось после 4-го обращения к функции стоимости.
Пятая колонка размер шага, используемого алгоритмом линейного поиска. Четвертая колонка выводит специальные сообщения, относящиеся к алгоритму последовательного квадратичного программирования SQP.
Если критерий окончания процедуры оптимизации достигнут, выводится сообщение Successfully termination. В конце сообщения выводятся активные ограничения, т.е. те, что запрещают дальнейшее уменьшение функции стоимости.
