Python interface function for the SLSQP Optimization subroutine
originally implemented by Dieter Kraft.

Parameters:

func:callable f(x,*args)

Objective function. Must return a scalar.

x0:1-D ndarray of float

Initial guess for the independent variable(s).

eqcons:list, optional

A list of functions of length n such that
eqcons[j](x,*args) == 0.0 in a successfully optimized
problem.

f_eqcons:callable f(x,*args), optional

Returns a 1-D array in which each element must equal 0.0 in a
successfully optimized problem. If f_eqcons is specified,
eqcons is ignored.

ieqcons:list, optional

A list of functions of length n such that
ieqcons[j](x,*args) >= 0.0 in a successfully optimized
problem.

f_ieqcons:callable f(x,*args), optional

Returns a 1-D ndarray in which each element must be greater or
equal to 0.0 in a successfully optimized problem. If
f_ieqcons is specified, ieqcons is ignored.

bounds:list, optional

A list of tuples specifying the lower and upper bound
for each independent variable [(xl0, xu0),(xl1, xu1),…]
Infinite values will be interpreted as large floating values.

fprime:callable f(x,*args), optional

A function that evaluates the partial derivatives of func.

fprime_eqcons:callable f(x,*args), optional

A function of the form f(x, *args) that returns the m by n
array of equality constraint normals. If not provided,
the normals will be approximated. The array returned by
fprime_eqcons should be sized as ( len(eqcons), len(x0) ).

fprime_ieqcons:callable f(x,*args), optional

A function of the form f(x, *args) that returns the m by n
array of inequality constraint normals. If not provided,
the normals will be approximated. The array returned by
fprime_ieqcons should be sized as ( len(ieqcons), len(x0) ).

args:sequence, optional

Additional arguments passed to func and fprime.

iter:int, optional

The maximum number of iterations.

acc:float, optional

Requested accuracy.

iprint:int, optional

The verbosity of fmin_slsqp :

iprint <= 0 : Silent operation

iprint == 1 : Print summary upon completion (default)

iprint >= 2 : Print status of each iterate and summary

disp:int, optional

Over-rides the iprint interface (preferred).

full_output:bool, optional

If False, return only the minimizer of func (default).
Otherwise, output final objective function and summary
information.

epsilon:float, optional

The step size for finite-difference derivative estimates.

callback:callable, optional

Called after each iteration, as callback(x), where x is the
current parameter vector.