Равенства и ограничения равенства
OptimizationEquality объект содержит равенства и ограничения равенства в терминах OptimizationVariable объекты или OptimizationExpression объекты. Каждое равенство использует оператор сравнения ==.
Отдельный оператор может представлять массив равенств. Например, можно описать равенства что каждая строка матричной переменной x суммы одной в этом отдельном операторе:
constrsum = sum(x,2) == 1
Используйте OptimizationEquality объекты как ограничения в OptimizationProblem, или как уравнения в EquationProblem.
Совет
Для полного рабочего процесса смотрите Основанный на проблеме Рабочий процесс Оптимизации или Основанный на проблеме Рабочий процесс для Решения уравнений.
Создайте равенства с помощью выражений оптимизации с оператором сравнения ==.
Включайте равенства в Constraints свойство задачи оптимизации или Equations свойство проблемы уравнения, при помощи записи через точку.
prob = optimproblem; x = optimvar('x',4,6); SumToOne = sum(x,2) == 1; prob.Constraints.SumToOne = SumToOne; % Or for an equation problem: eqprob = eqnproblem; eqprob.Equations.SumToOne = SumToOne;
Можно также создать пустое равенство оптимизации при помощи optimeq или optimconstr. Как правило, вы затем устанавливаете равенства в цикле. Для примера смотрите, Создают Равенства в Цикле. Однако для самой эффективной формулировки задачи, постарайтесь не устанавливать равенства в циклах. Смотрите Создают Эффективные Задачи оптимизации.
infeasibility | Нарушение ограничений в точке |
show | Отобразите информацию об объекте оптимизации |
write | Сохраните описание объекта оптимизации |
eqnproblem | EquationProblem | infeasibility | optimconstr | optimeq | OptimizationConstraint | OptimizationExpression | OptimizationInequality | OptimizationProblem | OptimizationVariable | show | write