Будьте осторожны при записи цели и ограничительных функций. Промежуточные итерации могут привести к точкам, которые неосуществимы (не удовлетворяйте ограничениям). Если вы пишете цель или ограничительные функции, которые принимают выполнимость, эти функции могут ошибка или давать неожиданные результаты.
Например, если вы пускаете квадратный корень или логарифм 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
решатель