exponenta event banner

Создание кода MATLAB для задач оптимизации конструкции (GUI)

В этом примере показано, как автоматически создать функцию MATLAB для решения задачи оптимизации конструкции. Оптимизатор отклика используется для определения задачи оптимизации для конструкции гидравлического цилиндра и создания кода MATLAB для решения этой задачи оптимизации.

Проблема проектирования гидроцилиндров

Пример оптимизации конструкции для соответствия пользовательской цели (GUI) показывает, как использовать оптимизатор отклика для оптимизации конструкции цилиндра. В этом примере мы загружаем предварительно настроенный сеанс оптимизатора ответа на основе этого примера.

load sdoHydraulicCylinder_sdosession

Используйте следующую команду, чтобы открыть оптимизатор ответа

sdotool(SDOSessionData)

Создание кода MATLAB

В списке Оптимизировать (Optimize) выберите Создать код MATLAB (Generate MATLAB Code).

Созданный код добавляется в редактор MATLAB как несохраненная функция MATLAB.

Проверьте сформированный код. Значимыми частями кода являются:

  • Specify Design Variables - Определение оптимизируемых параметров модели.

  • Specify Design Requirements - Определение проектных требований.

  • Create Optimization Objective Function - создание анонимной функции, вызывающей подфункцию; sdoHydraulicCylinder_optFcn, который оценивает конструкцию цилиндра. sdo.optimize вызывает анонимную функцию в каждой итерации.

  • Evaluate custom parameter requirement functions - Оценка пользовательского требования, MinimizeAC, который использует sdoHydraulicCylinder_customObjective функция.

  • Optimize the Design - Оптимизация с использованием sdo.optimize команда.

Для сохранения созданной функции выберите Сохранить в редакторе MATLAB.

Выполнить сгенерированный код

Запустите созданную функцию.

Первый выходной аргумент, pOpt, содержит оптимизированные значения параметров и второй выходной аргумент, optInfo, содержит информацию об оптимизации.

Изменение созданного кода

Вы можете:

  • Изменение созданного sdo_sdoHydraulicCylinder включение или исключение новых требований к конструкции или изменение опций оптимизации.

  • Вызовите сгенерированный sdo_sdoHydraulicCylinder с другим набором параметров для оптимизации.

Для получения подробной информации о том, как написать функцию цели/ограничения для использования с sdo.optimize команда, введите help sdoExampleCostFunction в командной строке MATLAB.

Закрыть модель