В этом примере показано, как выполнить выборку и исследовать пространство конструкции с помощью анализатора чувствительности. Для минимизации изменения концентрации продукта и затрат на производство необходимо изучить конструкцию реактора с непрерывно перемешиваемым резервуаром (CSTR). Конструкция должна также учитывать неопределенность температуры и концентрации подаваемого в реактор сырья.
Анализ конструкции CSTR осуществляется путем характеристики параметров модели с использованием вероятностных распределений. Распределения используются для генерации случайных выборок и выполнения оценки конструкции по методу Монте-Карло в этих точках выборки. Затем создаются графики для визуализации пространства проектирования и выбирается наилучшая конструкция. Затем в качестве начального предположения для оптимизации конструкции используется наилучшая конструкция.
Реакторы резервуаров с непрерывным перемешиванием (CSTR) являются обычными в технологической промышленности. модель Simulink, sdoCSTR, моделирует реактор с диабетической оболочкой (т.е. неадиабатический), описанный в [1]. Предполагается, что CSTR идеально смешивается с одной экзотермической и необратимой реакцией первого порядка., 
реагент, превращается
в продукт.
В этом примере используется следующая модель CSTR с двумя состояниями, в которой используются основные принципы учета и энергосбережения:



и
- Концентрации А в CSTR и в сырье [кгмоль/м ^ 3]
,
и -
CSTR, температура сырья и хладагента [K]
и
- Объемный расход [м ^ 3/ч] и плотность материала в CSTR [1/м ^ 3]
и
- Высота [м] и площадь нагретого поперечного сечения [м ^ 2] CSTR.
- Предэкспоненциальный нетермический коэффициент для реакции
[1/ч]
и
- Энергия активации и теплота реакции для [
ккал/кгмоль]
- газовая постоянная Больцмана [ккал/( кгмоль * К)]
и
- теплоемкость [ккал/К] и коэффициенты теплопередачи [ккал/( м ^ 2 * К * ч)]
Откройте модель Simulink.
open_system('sdoCSTR');

Предположим, что CSTR имеет цилиндрическую форму, а хладагент приложен к основанию цилиндра. Настройте площадь поперечного сечения CSTR
и высоту CSTR
для достижения следующих целей проектирования:
Минимизируйте изменение остаточной концентрации,.
Колебания остаточной концентрации негативно влияют на качество продукта CSTR. Минимизация изменений также повышает прибыль CSTR.
Минимизируйте среднюю температуру хладагента.
Нагревание или охлаждение охлаждающей жидкости рубашки обходится дорого. Минимизация средней температуры хладагента повышает прибыль от CSTR.
Качество подаваемого в реактор сырья может различаться у различных поставщиков. Таким образом, конструкция должна допускать изменения концентрации подаваемого сырья
и температуры подачи.
Качество сырья отличается от поставщика к поставщику, а также варьируется в пределах каждой партии поставки.
Откройте анализатор чувствительности. В модели Simulink на вкладке Приложения щелкните Анализатор чувствительности (Sensitivity Analyzer) в разделе Системы управления (Control Systems). Приложение откроется с пустым сеансом анализа чувствительности.

Создание набора параметров, включающего конструктивные переменные CSTR A и h и параметры изменения подачи FeedConc0 и FeedTemp0. Для оценки конструкции CSTR случайным образом генерируется несколько значений этих параметров.
На вкладке Анализ чувствительности (Sensitivity Analysis) в раскрывающемся меню Выбрать параметры (Select Parameters) выберите Создать (New).
В диалоговом окне выберите A, FeedCon0, FeedTemp0, и h.
Нажмите кнопку OK. Пустой набор параметров, ParamSet создается в области «Набор параметров» браузера приложения.

Укажите распределения и корреляции параметров. ParamSet будут заполнены значениями параметров, выбранными случайным образом из указанных распределений:
Образец A из равномерного распределения с нижней границей 0,2 м ^ 2 и верхней границей 2 м ^ 2.
Образец h из равномерного распределения с нижней границей 0,5 м и верхней границей 3 м.
Образец FeedConc0 от нормального распределения со средним значением 10 кгмоль/м ^ 3 и стандартным отклонением 0,5 кгмоль/м ^ 3.
Образец FeedTemp0 от нормального распределения со средним значением 295 K и стандартным отклонением 3 K.
Определить FeedCon0 и FeedTemp0 как отрицательно коррелировало с ковариацией 0,6.
Чтобы создать 100 значений параметров с использованием приведенной выше информации о распределении и корреляции, щелкните Создать значения (Generate Values) и выберите Создать случайные значения (Generate Random Values). Для повторяемости примера сбросьте генератор случайных чисел.
rng('default')
В диалоговом окне «Формирование значений случайных параметров» задайте следующее:
Установите количество выборок равным 100
Для параметра A выберите Равномерное распределение (Uniform distribution), установите для нижней границы значение 0,2, а для верхней границы значение 2.
Для параметра FeedCon0 выберите Нормальное распределение, набор mu до 10 и sigma до 0,5 и проверить cross-correlated.
Для параметра FeedTemp0 выберите Нормальное распределение, набор mu до 295 и sigma до 3 и проверьте cross-correlated.
Для параметра h выберите Равномерное распределение (Uniform distribution), установите для нижней границы значение 0,5, а для верхней границы значение 3.
На вкладке Корреляционная матрица установите значение FeedCon0, FeedTemp0 ковариация до -0,6.
Нажмите кнопку ОК, чтобы создать значения параметров.

ParamSet таблица обновляется с использованием сгенерированных значений параметров. Обратите внимание, что сгенерированные значения параметров можно редактировать вручную в ParamSet таблица.
Для печати набора параметров нажмите кнопку ParamSet в области Наборы параметров браузера приложения. На вкладке Графики (Plots) выберите пункт Точечный график (Scatter Plot) в галерее графиков. На графике показана гистограмма генерируемых параметров по диагонали и парные значения параметров по диагонали.
Обратите внимание, что из-за генератора случайных чисел конкретные значения на графиках и таблицах ниже могут отличаться от полученных при выполнении примера.
Каждый маркер на графике представляет одну строку ParamSet с одновременным отображением каждой строки на всех графиках. Корреляция между FeedCon0 и FeedTemp0 можно увидеть на сюжете.

Конструкция CSTR необходима для минимизации изменения остаточной концентрации и минимизации средней температуры хладагента. Выберите Новое требование (New Requirement) и щелкните Свойство сигнала (Signal Property), чтобы создать требование для минимизации изменения остаточной концентрации.
В диалоговом окне Создать требование (Create Requirement) укажите следующие поля.
В раскрывающемся списке «Свойство» выберите «Отклонение сигнала».
В раскрывающемся списке «Тип» выберите «Свернуть».
В области Select Signals выберите зарегистрированный сигнал для применения требования. Для этого нажмите +. A Create Signal Set откроется диалоговое окно, в котором можно указать зарегистрированный сигнал. В модели Simulink щелкните сигнал в CA выходные данные CSTR блок. Теперь этот сигнал отображается в диалоговом окне. Добавьте сигнал в набор сигналов и нажмите кнопку OK.


Закройте диалоговое окно «Требования к свойству сигнала», щелкнув значок x в правом верхнем углу диалогового окна.
Закройте диалоговое окно Создать требование (Create Requirement). Новое требование, SignalProperty находится в области Требования браузера приложения
Щелкните правой кнопкой мыши SignalPropertyвыберите «Переименовать»; переименовать требование в ConcVar.

Выберите New Requirement (Новое требование) и нажмите Signal Property (Свойство сигнала), чтобы создать требование для минимизации среднего значения хладагента (выход блока). sdoCSTR/Controller) температура.
В диалоговом окне Создать требование (Create Requirement) укажите следующие поля.
В раскрывающемся списке «Свойство» выберите «Среднее значение сигнала».
В раскрывающемся списке Тип (Type) выберите Минимизировать (Minimize).
В области «Выбор сигналов» добавьте sdoCSTR/Controller сигнал требованию.

Закройте диалоговое окно Создать требование (Create Requirement). Новое требование, SignalProperty создается в области Требования браузера приложения. Переименование требования 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 в области Результаты приложения.


График разброса результатов для 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 в области Результаты браузера приложения и на вкладке Графики в галерее графиков щелкните Контурный график. На контурном графике выберите h для параметра Y обратите внимание, что h средние значения A дать низкие значения для обоих ConcVar и CoolMean.

Сортировка таблицы результатов оценки по убыванию hи выберите строку с низким ConcVar и CoolMean значения. Щелкните правой кнопкой мыши выбранную строку и выберите «Извлечь значения параметров». Извлеченные значения параметров сохраняются в ParamValues в области Результаты браузера приложения. Эти значения параметров используются в качестве начального предположения для оптимизации.

Использование данных в анализаторе чувствительности для создания задачи оптимизации A и h. На вкладке Анализ чувствительности (Sensitivity Analysis) щелкните Оптимизировать (Optimize) и выберите Создать сеанс оптимизации ответа (Create Response Optimization S Откроется диалоговое окно для импорта данных из анализа чувствительности в оптимизатор ответа.
Выберите оба параметра ConcVar и CoolMean требования к импорту.
Выбрать ParamValues для импорта в качестве конструктивных переменных для оптимизации.
Выбрать EvalResult импорт в виде неопределенных переменных для использования в процессе оптимизации.
Нажмите кнопку ОК, чтобы импортировать данные в оптимизатор ответа


Настройте оптимизатор ответа для оптимизации конструкции 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] Becette, B.W. Process Dynamics: моделирование, анализ и моделирование. 1-я ред. река Верхнее Седло, Нью-Джерси: Прентис Холл, 1998.
Закрыть модель
bdclose('sdoCSTR')