exponenta event banner

Начало работы с задачей «Оптимизация Live Editor»

Этот пример сценария помогает использовать задачу «Оптимизировать интерактивный редактор» для оптимизации или решения уравнений. Измените сценарий для собственной проблемы.

Сценарий решает проблему нелинейной оптимизации с нелинейными ограничениями.

Включить параметры или данные

Как правило, данные или значения передаются в решатель. Поместите эти значения в раздел ввода (где вы видите x0) и запустите раздел, выбрав Раздел > Выполнить раздел или нажав Control+Enter.

Установка начальной точки x0 и масштаб a для оптимизации.

x0 = [2;1];
a = 100;

Разместить x0 значение и любые другие данные о проблемах в рабочей области, запустив этот раздел перед продолжением.

Задача оптимизации интерактивного редактора

В эту задачу включены функции объективных и нелинейных ограничений. Чтобы изменить эти функции, измените списки функций под задачей.

Чтобы изменить ограничения, выберите соответствующие типы ограничений и введите значения в поля ввода. Возможно, потребуется ввести значения в раздел, содержащий x0 и запустите раздел, чтобы поместить значения в рабочую область.

Запустите задачу, щелкнув полосатую строку слева, или выбрав Выполнить или Раздел > Выполнить раздел, или нажав Control+Enter.

Результаты

Optimize сохраняет решение в переменной рабочей области solutionи сохраняет значение целевой функции в решении в переменной рабочей области objectiveValue. Эти имена переменных можно просмотреть и изменить в верхней части окна Optimize задача.

Просмотрите эти переменные.

Просмотрите значения нелинейной функции ограничения в решении.

Вспомогательные функции - Локальные функции

Следующий код создает целевую функцию. Измените этот код для вашей проблемы.

function f = objectiveFcn(x,a)
f = a*(x(2) - x(1)^2)^2 + (1 - x(1))^2;
end

Следующий код создает функцию ограничения. Измените этот код для вашей проблемы.

function [c,ceq] = constraintFcn(x)
c(1) = x(1)^2 + x(2)^2 - 5;
c(2) = 3 - x(1)^2 - x(2)^2;
ceq = [];  % No equality constraints
end

См. также

Связанные темы