- •«Моделирование объектов и систем управления отрасли»
- •Введение
- •Методы моделирования объектов и систем управления
- •Физическое моделирование объектов и систем управления
- •Метод подобия
- •Метод аналогий
- •Математическое моделирование химико-технологических процессов
- •Сущность, свойства и этапы математического моделирования химико-технологического процесса
- •Основные виды математических моделей химико-технологических процессов
- •Блочный принцип разработки математических моделей химико-технологических процессов
- •Основные подходы получения математических моделей химико-технологических процессов
- •Классификация экспериментальных методов. Виды математических моделей.
- •Модели динамики (статистические) химико-технологического процесса
- •Определение динамических характеристик химико-технологических процессов при активном эксперименте
- •Проведение эксперимента по снятию переходных функций
- •Обработка результатов эксперимента по снятию переходных функций
- •Получение динамических характеристик объекта по переходным функциям
- •Определение динамических характеристик объектов при входных воздействиях в виде случайных сигналов
- •Свойства и характеристики стационарных случайных процессов
- •Постановка эксперимента по определению статистических характеристик процессов
- •Определение динамических характеристик объектов и систем управления методом моментов
- •Применение метода модулирующих функций для определения динамических характеристик объектов и су
- •Получение модели статики объектов и су
- •Определение моделей статики (уравнения регрессии) при пассивном эксперименте
- •Регрессионный анализ в матричной форме
- •Получение модели статики при активном эксперименте
- •Детерминированные (аналитические) модели химико-технологических процессов
- •Использование уравнений материального и теплового баланса для описания стационарных и нестационарных режимов протекания химико-технологических процессов
- •Модели структуры потоков, как основа построения математических моделей гидромеханики химико-технологического процесса
- •Модель идеального перемешивания
- •Модель идеального вытеснения
- •Диффузионные модели
- •Однопараметрическая диффузионная модель (одм)
- •Двухпараметрическая диффузионная модель
- •Ячеечная модель
- •Математическое описание тепловых процессов
- •Прямоточные кожухотрубчатые теплообменники
- •Противоточный кожухотрубчатый теплообменник
- •Математические модели теплообменников с учетом накопления тепла в стенке
- •Прямоточный кожухотрубчатый теплообменник
- •Противоточный кожухотрубчатый теплообменник
- •Математическая модель конденсатора (паровой теплообменник)
- •Передаточные функции теплообменных аппаратов
- •4.5.1 Конденсатор без учета накопления тепла в станке
- •4.5.2 Конденсатор с учётом накопления тепла в стенке
- •4.5.3 Кожухотрубчатый противоточный теплообменник
- •Математическое моделирование массообменных аппаратов
- •Математическая модель процесса газоабсорбции
- •Математическая модель процесса ректификации
- •Передаточная функция ректификационной колонны
- •Математическое моделирование математических процессов
- •Математическая модель процесса химического превращения (кинетическая модель)
- •Математическая модель химического реактора идеального перемешивания
- •Математическая модель реактора идеального вытеснения
- •Передаточные функции химических реакторов
- •Передаточная функция реактора идеального перемешивания простого типа
- •Реактор идеального вытеснения
- •Математическое моделирование динамики типовых контуров регулирования технологических параметров объекта
- •Свойства, характеристики и классификация объектов регулирования
- •Регулирование уровня в резервуарах
- •Регулирование расхода жидких сред
- •Регулирование расхода сыпучего материала
- •Регулирование концентрации вещества в смесителях. Регулирование концентрации вещества в смесителях
- •Регулирование температуры в смесителях идеального перемешивания
- •Регулирование состава смеси в реакторе с мешалкой
- •Методы и алгоритмы идентификации динамических систем
- •Общая классификация задач идентификации
- •Постановка задачи идентификации
- •Идентификация непрерывных объектов в классе моделей с дискретным временем
- •Задача непараметрической идентификации
- •Задачи параметрической идентификации
- •Безпоисковые алгоритмы идентификации с адаптивной моделью (баиам)
- •8.6.1 Общая структура баиам в пространстве сигналов
- •8.6.2. Общая структура баиам с дискретным временем и операторным описанием
- •Оптимизация химико-технологических с использованием математических моделей
- •Постановка задач оптимизации
- •Поисковые модели идентификации с адаптивной моделью (пмиам)
- •Аналитические методы оптимизации
- •Метод классического анализа функций
- •Метод неопределенных множителей Лагранжа
- •Линейное программирование
- •Нелинейное программирование
- •Численные методы оптимизации. Постановка задачи оптимизации
- •Реализация методов оптимизации в пакете MatLab (toolbox)
- •Оптимизация (минимизация) функции
- •9.5.5. Использование метода наименьших квадратов для решения задач оптимизации
Реализация методов оптимизации в пакете MatLab (toolbox)
Оптимизация (минимизация) функции
Задания:
Поиск минимума функции одной переменной для фиксированного интервала.
Поиск минимума функции нескольких переменных без ограничений:
— симплекс-метод;
метод градиентного поиска.
Поиск минимума функции нескольких переменных с ограничениями.
Решение задач линейного программирования.
Решение задач квадратичного программирования.
Решение:
Поиск минимума функции
одной переменной для фиксированного
интервала.
Найти минимум функции:
Для нахождения минимум функции используем команду fminbnd.
Создаем встроенную функцию:
f unction y=kate (x)
y=sin(x)/x^2+1 %значение функции
В новом окне находим минимум функции с помощью команды fminbnd:
clc,clear% очистка окна
х0=[-10;10)% интервал, в пределах которого ищем минимум функции
[x,f]=fminbnd ('kate',x0)
где:
х — значение переменной в точке минимума;
f — значение функции в точке минимума.
Поиск минимума функции нескольких переменных без ограничений.
Найти минимум функции:
Симплекс-метод:
Создаем встроенную функцию:
function y=kate(x)
у-ехр(х(1))*(4*(х(1))^2+2*(х(2))^2+4*х(1)*х(2)+2*х(2)+1) % значение функции
В новом окне при помощи команды fminsearch находим минимум функции: clc,clear% очистка окна
х0=[-1;1] % %вектор начальных значений
[x,f,h]=fminsearch(' kate',xO)
где:
х — значение переменной в точке минимума;
f — значение функции в точке минимума;
h — параметр, который если имеет значение больше нуля, то решение сходится к точному по х, если же меньше нуля, то решение не сходится.
Результат:
х= 0.5000
-1.0000
f=5.1425e-010
h =1
Задача эффективна для неразрешенной функции. Но этот метод не эффективен, если больше двух переменных. В этом случае лучше использовать метод градиентного поиска.
Метод градиентного поиска:
Для нахождения минимума функции используется команда fminunc.
Среднемасштабный алгоритм
Создаем встроенную функцию: function y=kate (x)
у=ехр(х( 1 ))*(4*(х( 1 ))^2+2*(х(2))^2+4*х( 1 )*х(2)+2*х(2)+1)
В новом окне при помощи команды fminunc находим минимум функции:
clc,clear% очистка окна
х0=[-1;1] % вектор начальных значений
[x,f,h]=fminunc(' kate ',x0)
Результат: х = 0.5000
-1.0000
f= 1.3028e-010
h=l
Крупномасштабный алгоритм:
Создаем встроенную функцию, где задаем частные производные по переменным x1 и х2:
function [y,h]=kate(x)
h=[exp(x(l))*(8*x(l)+4*x(2))+exp(x(l))*(4*(x(l))^2+2*(x(2))^2+4*x(l)*x(2)+2*x(2)+l);
exp(x(l))*(4*x(2)+4* х(1)+2)] % h- матрица, где заданы производные по x1 и х2
у=ехр(х(1))*(4*(х(1))^2+2*(х(2))^2+4*х(1)*х(2)+2*х(2)+1) % значение функции
В новом окне при помощи команды fminunc находим минимум функции:
clc,clear% очистка окна
options=optimset('GradObj','on')%задаем крупномасштабный алгоритм
х0=[-1;1] %вектор начальных значений
[x,f]=fminunc('kate',xO,options)
Результат:
х= 0.5000
-1.0000
f= 1.3911е-014
Поиск минимума функции нескольких переменных с ограничениями.
Используются следующие системы ограничений:
Система ограничений для функции:
с(х)<0.
се(х)=0
Система ограничений для переменных:
а·х
b
ае·х =be
Система ограничений для х:
lb <x<ub
с(х), се(х) — функции,
а,ае — матрицы,
b,bе,Ib,ub — вектора.
Для нахождения min функции используем команду fmincon.
Пример1.:
Найти минимум функции: f(x) = -х1·х2 ·х3
Ограничения на переменную: -х1 - 2·х2 - 2·х3 0
х1 + 2·х2 + 2·х3 72
Создаем встроенную функцию:
function p=kate(x)
р=-х(1 )*х(2)*х(3) %значение функции
В новом окне при помощи команды fmincon находим min функции:
clc,clear% очистка окна
х0=[10;10;10]%вектор начальных значений
а=[-1 -2 -2;1 2 2]%матрица коэффициентов при переменных в ограничениях
b=[0;72]%вектор свободных членов в ограничениях
[x,f,h]=fmincon('kate',xO,a,b)
Результат:
х= 24.0000
12.0000
12.0000
f=-3.4560e+003
h=l
Пример 2.:
Найти минимум функции:
Ограничения на функцию:
1.5 + х1·х2 - х1 - х2 < 0
- х1·х2 -10 < 0
Ограничения на переменную:
-10 х1 0
1 < х2 < 2
т.е.
Ib=[-10 1]
ub=[0 2]
Создаем встроенную функцию:
function y=kate(x)
у=ехр(х(1))*(4*(х(1))^2+2*(х(2))^2+4*х(1)*х(2)+2*х(2)+1) %значение функции
Создаем еще одну встроенную функцию, где заданы ограничения на функцию:
function [c,ce]=kathy(x)
с(1)=1.5+х(1)*х(2)-х(1)-х(2)
с(2)=-х(1)*х(2)-10
се=[] — равно пустому множеству
В новом окне, используя команду fmincon, находим min функции:
clc,clear% очистка окна
х0=[-1; 1 ] %вектор начальных значений
а=[]% равно пустому множеству
b=[]% равно пустому множеству
ае=[]% равно пустому множеству
bе=[]% равно пустому множеству
Ib=[-10 1]%вектор ограничений на х
ub=[0 2] % вектор ограничений на х [x,f]=fmincon('kate',xO,a,b,ae,be,lb,ub,'kathy')
Результат: х= -9.5474
1.0474
f= 0.0236
Решение задач линейного программирования.
Минимизировать функцию:
где — вектор коэффициентов при переменных.
Система ограничений для переменных:
a·x b
ae·x=be
Система ограничений для х:
Ib < x < ub
а,ае — матрицы,
b,bе,Ib,ub — вектора.
Для нахождения min функции используется команда linprog.
Пример 1.:
Найти минимум функции:
Ограничения на переменную:
x1 - х2 + х3 20
3х1 + 2·х2 + 4·х3 42
3х1 + 2·х2 30
x1
0,х2
0,х3
0
clc,clear % очистка окна
с=[-5;-4;-6] % вектор коэффициентов при переменных
а=[1 -1 1;3 2 4;3 2 0] %матрица коэффициентов при переменных в ограничения
b=[20;42;30] %вектор свободных членов в ограничениях
ае=[] % равно пустому множеству
be=[] % равно пустому множеству
Ib=[0;0;0] % вектор ограничений на х
ub=[] % равно пустому множеству
[x,f]=linprog(c,a,b,ae,be, lb)
Результат:
х = 0.0000
15.0000
3.0000
f = -78.0000
Решение задач квадратичного программирования.
Минимизировать функцию:
c — вектор коэффициентов при переменных х.
Система ограничений для переменных:
a·x
ae·x=be
Система ограничений для х:
Ib < x<ub
а,ае — матрицы,
b,bе,Ib,ub — вектора.
Для нахождения min функции используем команду quadprog.
Пример 1.: Найти минимум функции:
Ограничения на переменную:
x1 + x2 20
-x1 + x2 2
2x1 + x2 3
x1 0, x2 0
clc,clear%очистка окна
h=[l 2;-l -1]
с=[-2;-6] % вектор коэффициентов при переменных х.
а=[1 1;-1 2;2 1] % матрица коэффициентов при переменных в ограничениях
b=[2;2;3] % вектор свободных членов в ограничениях
ае=[] % равно пустому множеству
bе=[] % равно пустому множеству
Ib=[0;0] % вектор ограничений на х
ub=[] % равно пустому множеству
[x,f]=quadprog(h,c,a,b,ae,be,Ib)
х =0.6667
1.3333
f= -9.5556
