Этот пример показывает, как выбрать и исследовать пробел проекта с помощью инструмента Sensitivity Analysis. Вы исследуете проект Постоянно реактора смесителя (CSTR), чтобы минимизировать изменение концентрации продукта и стоимость изготовления. Проект должен также составлять неуверенность в температуре, и концентрация входа питаются к реактору.
Вы исследуете проект CSTR путем охарактеризования параметров модели с помощью распределений вероятностей. Вы используете дистрибутивы, чтобы сгенерировать случайные выборки и выполнить оценку Монте-Карло проекта в этих точках выборки. Вы затем создаете графики визуализировать пробел проекта и выбрать лучший проект. Вы затем используете лучший проект в качестве исходного предположения для оптимизации проекта.
Постоянно Реакторы Смесителя (CSTRs) распространены в перерабатывающей промышленности. Модель Simulink, sdoCSTR
, моделирует покрытое кожухом диабатическое (т.е. неадиабатическая) реактор корпуса, описанный в [1]. CSTR принят, чтобы быть отлично смешанным с одной экзотермической и необратимой реакцией первого порядка., реагент, преобразован в, продукт.
В этом примере вы используете следующую модель CSTR с двумя состояниями, которая использует основные принципы учета и энергосбережения:
, и - Концентрации в CSTR и в канале [kgmol/m^3]
, и - CSTR, канал и температуры хладагента [K]
и - Объемный расход [m^3/h] и плотность материала в CSTR [1/m^3]
и - Высота [m] и нагретая площадь поперечного сечения [m^2] CSTR.
- Предэкспоненциальный нетепловой фактор для [1/h] реакции
и - Энергия активации и тепло реакции для [kcal/kgmol]
- Газовая константа Больцманна [kcal / (kgmol * K)]
и - Теплоемкость [kcal/K] и коэффициенты теплопередачи [kcal / (m^2 * K * h)]
Откройте модель Simulink.
open_system('sdoCSTR');
Примите, что CSTR является цилиндрическим с хладагентом, к которому применяются основа цилиндра. Настройте площадь поперечного сечения CSTR и высоту CSTR, чтобы удовлетворить следующим целям проекта:
Минимизируйте изменение в остаточной концентрации. Изменения в остаточной концентрации негативно влияют на качество продукта CSTR. Минимизация изменений также улучшает прибыль CSTR.
Минимизируйте среднюю температуру хладагента. Нагревание или охлаждение хладагента конверта являются дорогими. Минимизация средней температуры хладагента улучшает прибыль CSTR.
Качество канала к реактору может отличаться среди поставщиков. Таким образом проект должен допускать изменения в концентрации канала предоставления и питать температуру. Качество канала отличается от поставщика поставщику и также отличается в каждом пакете предоставления.
Откройте Sensitivity Analysis Tool. В редакторе моделей Simulink нажмите Analysis-> Sensitivity Analysis. Инструмент открывается пустым сеансом Анализа чувствительности.
Создайте набор параметра, который включает переменные A
и h
проекта CSTR и параметры изменения канала FeedConc0
и FeedTemp0
. Вы случайным образом генерируете несколько значений для этих параметров, чтобы оценить проект CSTR.
Во вкладке Sensitivity Analysis, в Выбрать Parameters выпадающее меню, выбирают New.
В диалоговом окне выберите A
, FeedCon0
, FeedTemp0
и h
.
Нажать ОК. Пустой набор параметра, ParamSet
создается в области Parameter Set браузера инструмента.
Задайте дистрибутивы параметра и корреляции. ParamSet
будет, заполняют со значениями параметров, выбранными случайным образом из заданных дистрибутивов:
Демонстрационный A
от равномерного распределения с нижней границей 0.2 m^2 и верхняя граница 2 m^2.
Демонстрационный h
от равномерного распределения с нижней границей 0,5 м и верхней границей 3 м.
Демонстрационный FeedConc0
от нормального распределения со средним значением 10 kgmol/m^3 и стандартное отклонение 0.5 kgmol/m^3.
Демонстрационный FeedTemp0
от нормального распределения со средним значением 295 K и стандартное отклонение 3 K.
Задайте FeedCon0
и FeedTemp0
, как негативно коррелируется с ковариацией 0.6.
Чтобы сгенерировать 100 значений параметров с помощью вышеупомянутой информации о распределении и корреляции, нажмите Generate Values и выберите Generate Random Values. Поскольку воспроизводимость примера сбросила генератор случайных чисел.
rng('default')
В диалоговом окне Generate Random Parameter Values задайте следующее:
Определите номер выборок к 100
Для параметра A
выбирают Равномерное распределение, устанавливают нижнюю границу на 0,2 и верхнюю границу к 2.
Для параметра FeedCon0
выбирают Нормальное распределение, устанавливают mu
на 10 и sigma
к 0,5, и проверяют cross-correlated
.
Для параметра FeedTemp0
выбирают Нормальное распределение, устанавливают mu
на 295 и sigma
к 3, и проверяют cross-correlated
.
Для параметра h
выбирают Равномерное распределение, устанавливают нижнюю границу на 0,5 и верхнюю границу к 3.
Во вкладке Correlation Matrix, набор FeedCon0
, ковариация FeedTemp0
к-0.6.
Нажмите ОК, чтобы сгенерировать значения параметров.
Таблица ParamSet
обновляется со сгенерированными значениями параметров. Обратите внимание на то, что можно вручную отредактировать сгенерированные значения параметров в таблице ParamSet
.
Чтобы построить набор параметра нажимают ParamSet
в области Parameter Sets браузера инструмента. Во вкладке Plots выберите Scatter Plot в галерее графиков. График показывает гистограмму сгенерированных параметров на диагональных и попарных значениях параметров на недиагональном.
Обратите внимание на то, что из-за генератора случайных чисел определенные значения в графиках и приведенных ниже таблицах могут отличаться от того, что вы получаете при выполнении примера.
Каждый маркер на графике представляет одну строку таблицы ParamSet
с каждой строкой, одновременно отображаемой на всех графиках. Корреляция между FeedCon0
и FeedTemp0
видна на графике.
Проект CSTR требуется, чтобы минимизировать изменение в остаточной концентрации и минимизировать среднюю температуру хладагента. Выберите New Requirement и нажмите Signal Property, чтобы создать требование, чтобы минимизировать остаточное изменение концентрации.
В диалоговом окне Create Requirement задайте следующие поля:
В Свойстве выпадающий список выберите Signal Variance.
В типе выпадающий список выберите Minimize.
В области Select Signals выберите регистрируемый сигнал применить требование к. Сделать так нажатие кнопки +. Диалоговое окно Create Signal Set
открывается, где вы задаете регистрируемый сигнал. В модели Simulink кликните по сигналу в CA
вывод блока CSTR
. Диалоговое окно теперь отображается этот сигнал. Добавьте сигнал в набор сигнала и нажмите ОК.
Закройте диалоговое окно требования Свойства Сигнала путем нажатия на x в верхнем правом диалоговом углу.
Закройте диалоговое окно Create Requirement. Новое требование, SignalProperty
перечислен в области Requirements браузера инструмента
Щелкните правой кнопкой по SignalProperty
, выберите Rename; переименуйте требование к ConcVar
.
Выберите New Requirement и нажмите Signal Property, чтобы создать требование, чтобы минимизировать среднее значение хладагента (вывод блока sdoCSTR/Controller
) температура.
В диалоговом окне Create Requirement задайте следующие поля:
В Свойстве выпадающий список выберите Signal Mean.
В Типе выпадающий список выберите Minimize.
В области Select Signals добавьте сигнал sdoCSTR/Controller
в требование.
Закройте диалоговое окно Create Requirement. Новое требование, SignalProperty
создается в области Requirements браузера инструмента. Переименуйте требование CoolMean
.
Во вкладке Sensitivity Analysis нажмите Select for Evaluation. По умолчанию все требования выбраны, чтобы быть оцененными. Нажмите Evaluate Model, чтобы оценить ConcVar
и требования CoolMean
для каждой строки значений параметров в ParamSet
. Обратите внимание, что можно ускорить оценку при помощи параллельных вычислений, если у вас есть Parallel Computing Toolbox(TM), или при помощи быстрого перезапуска. Для получения дополнительной информации см., что "Параллельные вычисления использования для Анализа чувствительности" и "используют Быстрый Режим Перезапуска Во время Анализа чувствительности" в документации Simulink Design Optimization™.
График рассеивания результатов, показывающий каждый параметр по сравнению с каждым требованием, обновляется во время образцовой оценки. В конце оценки составлена таблица с результатами оценки, каждая строка в таблице результата оценки содержит значения для A
, FeedCon0
, FeedTemp0
, h
и получившихся значений требования ConcVar
и CoolMean
. Результаты оценки хранятся в переменной EvalResult
в области Results инструмента.
График рассеивания результатов для EvalResult
показывает, что CoolMean
обратно пропорционально коррелируется с h
(увеличивающий уменьшения h
CoolMean
) и что низкие значения h
могут привести к высоким значениям для ConcVar
. График показывает, что низкие значения A
могут привести к высоким значениям для ConcVar
, но не ясно из графика, как A
коррелируется с ConcVar
или CoolMean
или какой параметр влияет на ConcVar
больше всего. Чтобы заняться расследованиями далее, во вкладке Statistics, выбирают все методы анализа и типы и нажимают Compute Statistics. Это выполняет анализ результатов оценки и создает график торнадо. График торнадо показывает влияние каждого параметра на каждом требовании:
h
обратно пропорционально коррелируется с CoolMean
и является параметром, который влияет на CoolMean
больше всего.
A
обратно пропорционально коррелируется с CoolMean
.
FeedCon0
и FeedTemp0
обратно пропорционально коррелируются с CoolMean
.
A
обратно пропорционально коррелируется с ConcVar
и является параметром, который влияет на ConcVar
больше всего.
h
обратно пропорционально коррелируется с ConcVar
.
FeedCon0
и FeedTemp0
смешали корреляцию с ConVar
, но имеют минимальную корреляцию с ConcVar
.
Анализ показывает, что выбор большого h
, чтобы уменьшать CoolMean
и выбор большого A
, чтобы уменьшать CoolVar
, казалось бы, были бы хорошим проектным решением. Можно подтвердить это путем создания контурного графика CoolMean
и CoolVar
по сравнению с h
и A
. Выберите EvalResult
из области Results браузера инструмента, и во вкладке Plots, в Контурном графике нажатия кнопки галереи графиков. На контурном графике выбирают h
для параметра Y, отмечают, что большие значения носителя h
A
дают низкие значения и для ConcVar
и для CoolMean
.
Сортировка таблицы Evaluation Result путем уменьшения h
и выбора строка, которая имеет низкий ConcVar
и значения CoolMean
. Щелкните правой кнопкой по выбранной строке и нажмите Extract Parameter Values. Извлеченные значения параметров сохранены в переменной ParamValues
в области Results браузера инструмента. Эти значения параметров используются в качестве исходного предположения для оптимизации.
Используйте данные в инструменте Sensitivity Analysis, чтобы создать задачу оптимизации, чтобы оптимизировать A
и h
. В Sensitivity Analysis вкладка нажимает Optimize и выбирает Create Response Optimization Session. Это открывает диалоговое окно, чтобы импортировать данные с Анализа чувствительности на инструмент Response Optimization.
Выберите ConcVar
и требования CoolMean
, чтобы импортировать.
Выберите ParamValues
, чтобы импортировать как переменные проекта для оптимизации.
Выберите EvalResult
, чтобы импортировать как неопределенные переменные, чтобы использовать во время оптимизации.
Нажмите ОК, чтобы импортировать данные к инструменту Response Optimization
Сконфигурируйте инструмент Response Optimization, чтобы оптимизировать проект CSTR:
Щелкните значок карандаша, чтобы отредактировать ParamValues
разрабатывают переменный набор и удаляют переменные FeedCon0
и FeedTemp0
из набора переменной проекта.
Выберите EvalResult
как неопределенный переменный набор, кликните по значку карандаша, чтобы отредактировать EvalResult
и удалить A
и h
от неопределенного переменного набора.
Добавьте графики итерации, чтобы видеть, как переменные ParamValues
(A
и h
), и требования оптимизации ConcVar
и CoolMean
изменяются во время оптимизации.
Выберите переменные в Data to Plot
выпадающий список и выберите Iteration Plot
в Add Plot
выпадающий список.
Нажмите Optimize.
Оптимизация минимизирует CoolMean
и ConcVar
в присутствии переменного FeedCon0
и FeedTemp0
.
Чтобы изучить, как исследовать пробел проекта CSTR с помощью команды sdo.evaluate
, см., "Что Исследование проекта использует Выборку Параметра (Код)".
[1] Bequette, Б.В. Просесс Динэмикс: Моделирование, Анализ и Симуляция. 1-й редактор Верхний Сэддл-Ривер, NJ: Prentice Hall, 1998.
Закройте модель
bdclose('sdoCSTR')