scipy.optimize.

LinearConstraint#

класс scipy.optimize.LinearConstraint(A, lb=-inf, ub=inf, keep_feasible=False)[источник]#

Линейное ограничение на переменные.

Ограничение имеет общую форму неравенства:

lb <= A.dot(x) <= ub

Здесь вектор независимых переменных x передается как ndarray формы (n,), а матрица A имеет форму (m, n).

Можно использовать равные границы для представления ограничения равенства или бесконечные границы для представления одностороннего ограничения.

Параметры:
A{array_like, sparse array}, shape (m, n)

Матрица, определяющая ограничение.

lb, ubплотный array_like, опционально

Нижние и верхние пределы ограничения. Каждый массив должен иметь форму (m,) или быть скаляром, в последнем случае граница будет одинаковой для всех компонентов ограничения. Используйте np.inf с соответствующим знаком для указания одностороннего ограничения. Установите компоненты lb и ub равно для представления ограничения равенства. Обратите внимание, что можно смешивать ограничения разных типов: интервальные, односторонние или равенства, устанавливая разные компоненты lb и ub по мере необходимости. По умолчанию lb = -np.inf и ub = np.inf (без ограничений).

keep_feasibleплотный array_like булевых значений, опционально

Сохранять ли компоненты ограничений выполнимыми на протяжении всех итераций. Единое значение устанавливает это свойство для всех компонентов. По умолчанию False. Не влияет на ограничения-равенства.

Методы

residual(x)

Вычислить невязку между функцией ограничения и пределами