оценить

Выполните выражение оптимизации

Синтаксис

val = evaluate(expr,pt)

Описание

пример

val = evaluate(expr,pt) возвращает значение выражения оптимизации expr в значении pt.

Примеры

свернуть все

Создайте выражение оптимизации в двух переменных.

x = optimvar('x',3,2);
y = optimvar('y',1,2);
expr = sum(x,1) - 2*y;

Выполните выражение в точке.

xmat = [3,-1;
    0,1;
    2,6];
sol.x = xmat;
sol.y = [4,-3];
val = evaluate(expr,sol)
val = 1×2

    -3    12

Решите линейную проблему программирования.

x = optimvar('x');
y = optimvar('y');
prob = optimproblem;
prob.Objective = -x -y/3;
prob.Constraints.cons1 = x + y <= 2;
prob.Constraints.cons2 = x + y/4 <= 1;
prob.Constraints.cons3 = x - y <= 2;
prob.Constraints.cons4 = x/4 + y >= -1;
prob.Constraints.cons5 = x + y >= 1;
prob.Constraints.cons6 = -x + y <= 2;

sol = solve(prob)
Optimal solution found.
sol = struct with fields:
    x: 0.6667
    y: 1.3333

Найдите значение целевой функции при решении.

val = evaluate(prob.Objective,sol)
val = -1.1111

Входные параметры

свернуть все

Выражение оптимизации, заданное как объект OptimizationExpression.

Пример: expr = 5*x+3, где x является OptimizationVariable

Значения переменных в выражении, заданном как структура. Структура pt имеет следующие требования:

  • Все переменные в expr совпадают с именами полей в pt.

  • Значения соответствующих имен полей являются числовыми.

Например, pt может быть решением задачи оптимизации, как возвращено solve.

Пример: pt.x = 3, pt.y = -5

Типы данных: struct

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

свернуть все

Числовое значение выражения, возвращенного как двойное.

Введенный в R2017b