infeasibility

Нарушение ограничений в точке

Описание

пример

infeas = infeasibility(constr,pt) возвращает объем нарушения ограничения constr в точке pt.

Примеры

свернуть все

Проверяйте, удовлетворяет ли точка ограничению.

Настройте переменные оптимизации и два ограничения.

x = optimvar('x');
y = optimvar('y');
cons = x + y <= 2;
cons2 = x + y/4 <= 1;

Проверяйте ли точка x = 0, y = 3 удовлетворяет ограничению под названием cons. Точка выполнима, когда ее недопустимость является нулем.

pt.x = 0;
pt.y = 3;
infeas = infeasibility(cons,pt)
infeas = 1

Точка не выполнима относительно этого ограничения.

Проверяйте выполнимость относительно другого ограничения.

infeas = infeasibility(cons2,pt)
infeas = 0

Точка выполнима относительно этого ограничения.

Проверяйте, удовлетворяет ли точка ограничению, которое имеет несколько условий.

Настройте переменную оптимизации и вектор ограничений.

x = optimvar('x',3,2);
cons = sum(x,2) <= [1;3;2];

Проверяйте ли точка pt.x = [1,-1;2,3;3,-1] удовлетворяет этим ограничениям.

pt.x = [1,-1;2,3;3,-1];
infeas = infeasibility(cons,pt)
infeas = 3×1

     0
     2
     0

Точка не выполнима относительно второго ограничения.

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

свернуть все

Ограничение оптимизации, заданное как OptimizationEquality объект, OptimizationInequality объект или OptimizationConstraint объект. constr может представлять одно ограничение или массив ограничений.

Пример: constr = x + y <= 1 одно ограничение когда x и y скалярные переменные.

Пример: constr = sum(x) == 1 массив ограничений когда x массив двух или больше размерностей.

Укажите, чтобы оценить, заданный как структура с именами полей, которые совпадают с именами переменных оптимизации для переменных оптимизации в ограничении. Размер каждого поля в pt должен совпадать с размером соответствующей переменной оптимизации.

Пример: pt.x = 5*eye(3)

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

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

свернуть все

Недопустимость ограничения, возвращенного как действительный массив. Каждая нулевая запись представляет допустимое ограничение, и каждая положительная запись представляет неосуществимое ограничение. Размер infeas совпадает с размером ограничения constr. Для примера нескалярного infeas, смотрите Вычисляют Несколько Ограничительных Нарушений.

Предупреждение

Подход, основанный на проблеме не поддерживает комплексные числа в целевой функции, нелинейных равенствах или нелинейных неравенствах. Если функциональное вычисление имеет комплексное число, как раз когда промежуточное значение, конечный результат может быть неправильным.

Введенный в R2017b