exponenta event banner

показать

Отображение информации об объекте оптимизации

Синтаксис

Описание

Использовать show для отображения информации об объекте оптимизации.

пример

show(obj) отображает информацию о obj в командной строке. Если отображение объекта велико, рекомендуется использовать write для сохранения информации в текстовом файле.

Примеры

свернуть все

Изучите различные этапы построения проблемы для оптимизации функции Rosenbrock, связанной с единичным диском (см. Решение ограниченной нелинейной проблемы, основанной на проблемах).

Создание переменной оптимизации 2-D x. Показать переменную.

x = optimvar('x',2);
show(x)
    [ x(1) ]
    [ x(2) ]

Создайте выражение для целевой функции. Показать выражение.

obj = 100*(x(2) - x(1)^2)^2 + (1 - x(1))^2;
show(obj)
  ((100 .* (x(2) - x(1).^2).^2) + (1 - x(1)).^2)

Создайте выражение для ограничения. Показать ограничение.

cons = x(1)^2 + x(2)^2 <= 1;
show(cons)
  (x(1).^2 + x(2).^2) <= 1

Создание задачи оптимизации obj в качестве целевой функции и cons в качестве ограничения. Показать проблему.

prob = optimproblem("Objective",obj,"Constraints",cons);
show(prob)
  OptimizationProblem : 

	Solve for:
       x

	minimize :
       ((100 .* (x(2) - x(1).^2).^2) + (1 - x(1)).^2)


	subject to :
       (x(1).^2 + x(2).^2) <= 1
     

Наконец, создайте начальную точку [0 0] и решить проблему, начиная с начальной точки.

x0.x = [0 0];
[sol,fval,exitflag] = solve(prob,x0)
Solving problem using fmincon.

Local minimum found that satisfies the constraints.

Optimization completed because the objective function is non-decreasing in 
feasible directions, to within the value of the optimality tolerance,
and constraints are satisfied to within the value of the constraint tolerance.
sol = struct with fields:
    x: [2x1 double]

fval = 0.0457
exitflag = 
    OptimalSolution

Осмотрите точку решения.

sol.x
ans = 2×1

    0.7864
    0.6177

Входные аргументы

свернуть все

Объект оптимизации, указанный как один из следующих:

  • OptimizationProblem объект - show(obj) отображает переменные для решения, целевой функции, ограничений и переменных границ.

  • EquationProblem объект - show(obj) отображает переменные для решения, уравнения для решения и границы переменных.

  • OptimizationExpression объект - show(obj) отображает выражение оптимизации.

  • OptimizationVariable объект - show(obj) отображает переменные оптимизации. Этот экран не указывает типы переменных или границы; здесь отображаются только переменные размеры и имена индексов (если таковые имеются).

  • OptimizationConstraint объект - show(obj) отображает выражение зависимости.

  • OptimizationEquality объект - show(obj) отображает выражение равенства.

  • OptimizationInequality объект - show(obj) отображает выражение неравенства.

Представлен в R2019b