|
ZonoOpt 2.4.1
|
Solution data structure for optimization routines in ZonoOpt library. More...
#include <SolverDataStructures.hpp>
Public Member Functions | |
| std::string | print () const |
| displays solution as string | |
Public Attributes | |
| bool | converged = false |
| true if optimization has converged (proved optimal for external solvers; satisfied tolerances for internal) | |
| zono_float | dual_residual = std::numeric_limits<zono_float>::infinity() |
| dual residual, corresponds to optimality | |
| std::shared_ptr< ExternalSolverResults > | external_results |
| bool | infeasible = false |
| true if optimization problem is provably infeasible | |
| int | iter = 0 |
| number of iterations | |
| zono_float | J = -std::numeric_limits<zono_float>::infinity() |
| objective | |
| zono_float | primal_residual = std::numeric_limits<zono_float>::infinity() |
| primal residual, corresponds to feasibility | |
| double | run_time = 0.0 |
| time to compute solution (seconds) | |
| double | startup_time = 0.0 |
| time to factorize matrices and run interval contractors | |
| Eigen::Vector< zono_float, -1 > | u |
| ADMM dual variable. | |
| Eigen::Vector< zono_float, -1 > | x |
| ADMM primal variable, approximately equal to z when converged. | |
| Eigen::Vector< zono_float, -1 > | z |
| solution vector | |
Solution data structure for optimization routines in ZonoOpt library.
The fields z, J, run_time, converged, and infeasible are always populated regardless of which solver computed the solution. Fields below labeled "admm-specific" carry meaningful values only when the internal solver was used; when an external solver (Gurobi, SCIP, ...) was used, external_results points to the solver-native solution metadata and the admm-specific fields are left at their defaults.
|
inline |
displays solution as string
| bool ZonoOpt::OptSolution::converged = false |
true if optimization has converged (proved optimal for external solvers; satisfied tolerances for internal)
| zono_float ZonoOpt::OptSolution::dual_residual = std::numeric_limits<zono_float>::infinity() |
dual residual, corresponds to optimality
| std::shared_ptr<ExternalSolverResults> ZonoOpt::OptSolution::external_results |
Polymorphic solver-native solution metadata. nullptr when the internal solver was used; otherwise points to a GurobiSolverResults, SCIPSolverResults, etc. Inspect via dynamic_cast (C++) or isinstance (Python).
| bool ZonoOpt::OptSolution::infeasible = false |
true if optimization problem is provably infeasible
| int ZonoOpt::OptSolution::iter = 0 |
number of iterations
| zono_float ZonoOpt::OptSolution::J = -std::numeric_limits<zono_float>::infinity() |
objective
| zono_float ZonoOpt::OptSolution::primal_residual = std::numeric_limits<zono_float>::infinity() |
primal residual, corresponds to feasibility
| double ZonoOpt::OptSolution::run_time = 0.0 |
time to compute solution (seconds)
| double ZonoOpt::OptSolution::startup_time = 0.0 |
time to factorize matrices and run interval contractors
| Eigen::Vector<zono_float, -1> ZonoOpt::OptSolution::u |
ADMM dual variable.
| Eigen::Vector<zono_float, -1> ZonoOpt::OptSolution::x |
ADMM primal variable, approximately equal to z when converged.
| Eigen::Vector<zono_float, -1> ZonoOpt::OptSolution::z |
solution vector