minimize(method='Powell')#

scipy.optimize.minimize(fun, x0, args=(), метод=None, jac=None, hess=None, hessp=None, границы=None, ограничения=(), tol=None, callback=None, опции=None)

Минимизация скалярной функции одной или нескольких переменных с использованием модифицированного алгоритма Пауэлла.

Параметры:
funcallable

Целевая функция для минимизации:

fun(x, *args) -> float

где x является одномерным массивом с формой (n,) и args является кортежем фиксированных параметров, необходимых для полного определения функции.

x0ndarray, форма (n,)

Начальное приближение. Массив вещественных элементов размера (n,), где n это количество независимых переменных.

argsкортеж, необязательный

Дополнительные аргументы, передаваемые в целевую функцию и её производные (fun, jac и hess функции).

методstr или callable, опционально

Настоящая документация относится конкретно к method='powell', но другие варианты доступны. См. документацию для scipy.optimize.minimize.

границыпоследовательность или Bounds, опционально

Границы переменных решения. Существует два способа указания границ:

  1. Экземпляр Bounds класс.

  2. Последовательность (min, max) пары для каждого элемента в x. None используется для указания отсутствия границы.

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

опцииdict, optional

Словарь опций решателя. Все методы принимают следующие общие опции:

maxiterint

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

dispbool

Установите True для вывода сообщений о сходимости.

См. специфичные для метода опции для method='powell' ниже.

callbackвызываемый объект, необязательный

Вызывается после каждой итерации. Сигнатура:

callback(xk)

где xk является текущим вектором параметров.

Возвращает:
resOptimizeResult

Результат оптимизации, представленный как OptimizeResult объект. Важные атрибуты: x массив решения, success логический флаг, указывающий, успешно ли завершился оптимизатор, и message который описывает причину завершения. См. OptimizeResult для описания других атрибутов.

Смотрите также

Для документации по остальным параметрам см. scipy.optimize.minimize

Опции:
——-
dispbool

Установите True для вывода сообщений о сходимости.

xtolfloat

Относительная ошибка в решении xopt допустимый для сходимости.

ftolfloat

Относительная ошибка в fun(xopt) допустимый для сходимости.

maxiter, maxfevint

Максимально допустимое количество итераций и вычислений функции. По умолчанию будет N*1000, где N это количество переменных, если ни maxiter или maxfev установлено. Если оба maxiter и maxfev установлены, минимизация остановится при первом достижении.

direcndarray

Начальный набор векторов направления для метода Пауэлла.

return_allbool, необязательно

Установите в True, чтобы вернуть список лучшего решения на каждой из итераций.