Этот пример показывает, как выбрать и исследовать пробел проекта с помощью инструмента 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')