Будьте осторожны при записи цели и ограничительных функций. Промежуточные итерации могут привести к точкам, которые неосуществимы (не удовлетворяйте ограничения). Если вы пишете цель или ограничительные функции, которые принимают выполнимость, эти функции могут ошибка или давать неожиданные результаты.
Например, если вы пускаете квадратный корень или логарифм x и x < 0, результат не действителен. Можно стараться избегать этой ошибки установкой 0
как нижняя граница на x. Тем не менее, промежуточная итерация может нарушить, это связало.
Некоторые алгоритмы решателя удовлетворяют связанные ограничения в каждой итерации:
fmincon
interior-point
, sqp
и алгоритмы trust-region-reflective
lsqcurvefit
алгоритм trust-region-reflective
lsqnonlin
алгоритм trust-region-reflective
fminbnd
Если вы устанавливаете нижнюю границу, равную верхней границе, итерации могут нарушить эти ограничения.
Следующие решатели и алгоритмы могут нарушить связанные ограничения в промежуточных итерациях:
fmincon
алгоритм active-set
Решатель fgoalattain
Решатель fminimax
Решатель fseminf