optim_maximize

optim_maximize(
    objective,
    lower=None,
    upper=None,
    initial=None,
    method='de',
    seed=None,
    control=None,
    gradient=None,
    constraints=None,
    inner=None,
)

Maximize a user-written objective. See :func:optim_minimize for the arguments.

Every method is accepted, including "augmented_lagrange". Numerics v2.2.0 scales the primary objective inside the augmented Lagrangian while leaving constraint penalties direction neutral.

Examples

>>> from corehydropy import optim_maximize
>>> def peak(p):
...     return -((p[0] - 2) ** 2 + (p[1] + 1) ** 2)
>>> fit = optim_maximize(peak, lower=[-10, -10], upper=[10, 10], seed=7)
>>> import numpy as np
>>> np.round(fit.parameters, 3)
array([ 2., -1.])