Разработайте исследование Используя выборку параметра (графический интерфейс пользователя)

Этот пример показывает, как выбрать и исследовать пробел проекта с помощью инструмента Sensitivity Analysis. Вы исследуете проект Постоянно реактора смесителя (CSTR), чтобы минимизировать изменение концентрации продукта и стоимость изготовления. Проект должен также составлять неуверенность в температуре, и концентрация входа питаются к реактору.

Вы исследуете проект 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.

  • Минимизируйте среднюю температуру хладагента. Нагревание или охлаждение хладагента конверта являются дорогими. Минимизация средней температуры хладагента улучшает прибыль 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')