pdfo.OptimizeResult#
- class pdfo.OptimizeResult[source]#
Result structure of the DFO algorithms.
- Attributes:
- x: ndarray, shape (n,)
Solution array.
- success: bool
Whether the optimizer exited successfully.
- status: int
Flag characterizing the exit condition.
Status
Message
0
The lower bound for the trust region radius is reached.
1
The target function value is achieved.
2
A trust region step failed to reduce the quadratic model.
3
The objective function has been evaluated
maxfev
times.4, 7, 8, 9
Rounding errors become severe in the Fortran code.
13
All variables are fixed by the constraints.
14
A linear feasibility problem has been received and solved.
15
A linear feasibility problem has been received but failed.
-1
NaN occurs in x.
-2
The objective/constraint function returns NaN or nearly infinite values (only in the classical mode).
-3
NaN occurs in the models.
-4
Constraints are infeasible.
The exit flags 5, 6, 10, 11, and 12 are possible in the Fortran code but cannot be returned by
pdfo
or its solvers.- message: str
Message related to the exit condition flag. If
options['quiet']
is set toTrue
, this message will not be printed.- fun: float
Returns the computed objective function value at the solution x.
- nfev: int
Number of function evaluations.
- constrviolation: float
Constraint violation at the solution x. It is set to
0
if the problem is unconstrained.- fhist: ndarray, shape (nfev,)
History of the objective function evaluations performed during the computation. Its size is nfev and is ordered by iteration. Its minimum among the feasible point should be fun.
- chist: ndarray, shape (nfev,)
History of the constraint violations computed during the computation. If the problem is unconstrained, chist is set to
None
.- constr_value: ndarray or list of ndarrays
Values of the constraint functions at the returned x. It can be one of the two cases below depending on how the constraints variable is specified at the input.
If constraints is a dictionary or an instance of
NonlinearConstraint
orLinearConstraint
, then constr_value is an ndarray, whose value isconstraints['fun'](x)
,constraints.fun(x)
, orconstraints.A * x
.If constraints is a list of dictionaries or instances of
NonlinearConstraint
orLinearConstraint
, then constr_value is a list of ndarrays described in 1, each of which is the value of the corresponding component in constraints.
If a nonlinear constraint is trivial (i.e., it has \(-\infty\) as lower bound and \(\infty\) as upper bound), then its is represented by NaN in constr_value, because such constraints are not evaluated during the computation. Trivial nonlinear constraints with unknown dimensions (for example,
{'type': 'eq', 'fun': None}
orNonlinearConstraint(fun, None, None)
) are represented by empty arrays in constr_value.- method: str
The name of the method that was used to solve the problem.
- constr_modified: bool
An indicator specifying if the constraints have been modified during the algorithm (LINCOA may modify the constraints if it cannot find a feasible starting point).
- warnings: list
A recording of every warning raised during the computation.
Methods
clear
()copy
()fromkeys
(iterable[, value])Create a new dictionary with keys from iterable and values set to value.
get
(key[, default])Return the value for key if key is in the dictionary, else default.
items
()keys
()pop
(key[, default])If the key is not found, return the default if given; otherwise, raise a KeyError.
popitem
(/)Remove and return a (key, value) pair as a 2-tuple.
setdefault
(key[, default])Insert key with a value of default if key is not in the dictionary.
update
([E, ]**F)If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
values
()