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, опционально Границы переменных решения. Существует два способа указания границ:
Экземпляр
Boundsкласс.Последовательность
(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, чтобы вернуть список лучшего решения на каждой из итераций.