fmin_slsqp#
- scipy.optimize.fmin_slsqp(функция, x0, eqcons=(), f_eqcons=None, ieqcons=(), f_ieqcons=None, границы=(), fprime=None, fprime_eqcons=None, fprime_ieqcons=None, args=(), iter=100, acc=1e-06, iprint=1, disp=None, full_output=0, эпсилон=np.float64(1.4901161193847656e-08), callback=None)[источник]#
Минимизация функции с использованием последовательного программирования методом наименьших квадратов
Функция интерфейса Python для подпрограммы оптимизации SLSQP, изначально реализованной Дитером Крафтом.
- Параметры:
- функциявызываемая функция f(x,*args)
Целевая функция. Должна возвращать скалярное значение.
- x01-D ndarray из float
Начальное приближение для независимой переменной(ых).
- eqconsсписок, необязательный
Список функций длины n, таких что eqcons[j](x,*args) == 0.0 в успешно оптимизированной задаче.
- f_eqconsвызываемый f(x,*args), опционально
Возвращает 1-D массив, в котором каждый элемент должен равняться 0.0 в успешно оптимизированной задаче. Если указан f_eqcons, eqcons игнорируется.
- ieqconsсписок, необязательный
Список функций длины n, таких что ieqcons[j](x,*args) >= 0.0 в успешно оптимизированной задаче.
- f_ieqconsвызываемый f(x,*args), опционально
Возвращает 1-D ndarray, в котором каждый элемент должен быть больше или равен 0.0 в успешно оптимизированной задаче. Если указан f_ieqcons, ieqcons игнорируется.
- границысписок, необязательный
Список кортежей, задающих нижнюю и верхнюю границы для каждой независимой переменной [(xl0, xu0),(xl1, xu1),…] Бесконечные значения будут интерпретироваться как большие числа с плавающей запятой.
- fprimecallable
f(x,*args), опционально Функция, вычисляющая частные производные от func.
- fprime_eqconscallable
f(x,*args), опционально Функция вида
f(x, *args)который возвращает массив m на n нормалей ограничений равенства. Если не предоставлен, нормали будут аппроксимированы. Массив, возвращаемый fprime_eqcons, должен иметь размер ( len(eqcons), len(x0) ).- fprime_ieqconscallable
f(x,*args), опционально Функция вида
f(x, *args)которая возвращает массив размером m на n нормалей ограничений-неравенств. Если не предоставлена, нормали будут аппроксимированы. Массив, возвращаемый fprime_ieqcons, должен иметь размер (len(ieqcons), len(x0)).- argssequence, optional
Дополнительные аргументы, передаваемые в func и fprime.
- iterint, необязательный
Максимальное количество итераций.
- accfloat, опционально
Запрошенная точность.
- iprintint, необязательный
Уровень детализации fmin_slsqp :
iprint <= 0 : Тихая работа
iprint == 1 : Вывод сводки по завершении (по умолчанию)
iprint >= 2 : Выводить статус каждой итерации и сводку
- dispint, необязательный
Переопределяет интерфейс iprint (предпочтительно).
- full_outputbool, необязательно
Если False, возвращает только минимизатор функции func (по умолчанию). В противном случае выводит итоговую целевую функцию и сводную информацию.
- эпсилонfloat, опционально
Шаг для оценок производных методом конечных разностей.
- callbackвызываемый объект, необязательный
Вызывается после каждой итерации, как
callback(x), гдеxявляется текущим вектором параметров.
- Возвращает:
- выходndarray из float
Финальный минимизатор функции func.
- fxndarray из float, если full_output истинно
The final value of the objective function.
- егоint, если full_output равно true
Количество итераций.
- imodeint, если full_output равно true
Режим выхода из оптимизатора (см. ниже).
- smodeстрока, если full_output истинно
Сообщение, описывающее режим выхода из оптимизатора.
Смотрите также
minimizeИнтерфейс к алгоритмам минимизации многомерных функций. См. ‘SLSQP’ метод в частности.
Примечания
Режимы завершения определены следующим образом:
-1: Требуется оценка градиента (g & a)0: Оптимизация успешно завершена1: Требуется вычисление функции (f & c)2: Больше ограничений равенства, чем независимых переменных3: Более 3*n итераций в подзадаче LSQ4: Несовместимые ограничения-неравенства5: Вырожденная матрица E в подзадаче МНК6: Сингулярная матрица C в подзадаче МНК7: Вырожденная по рангу подзадача с ограничениями-равенствами HFTI8: Positive directional derivative for linesearch9: Достигнут предел итераций
Примеры
Примеры приведены в учебнике.