|
EllAlgo 1.6.13
|
State machine for the discrete cutting-plane method. More...
#include <cutting_plane.hpp>
Public Types | |
| enum class | Result { Continue , NoSoln , NoMoreAlt } |
Public Member Functions | |
| OptimQState (A invalid) | |
| Construct a new OptimQState object. | |
| auto | x_best () const -> const A & |
| Get the best-so-far solution. | |
| auto | x_best () -> A & |
| Get the best-so-far solution (mutable). | |
| auto | retry () const -> bool |
| Whether the next assessment is a retry (reuse cached point). | |
| void | on_shrunk (A x) |
| Transition on a newly obtained (shrunk) best solution. | |
| auto | on_update (const CutStatus status, const bool more_alt) -> Result |
| Transition on the space update result. | |
State machine for the discrete cutting-plane method.
Encapsulates the mutable state of cutting_plane_optim_q: the best-so-far solution x_best and the retry phase flag. The on_update transition maps a CutStatus (plus the oracle's more_alt hint) onto a control-flow outcome.
| A | Array type of the decision variables |
|
strong |
|
inlineexplicit |
Construct a new OptimQState object.
| [in] | invalid | Sentinel (NaN) value for the initial x_best |
|
inline |
Transition on a newly obtained (shrunk) best solution.
| [in] | x | The new best discrete point (moved in) |
|
inline |
Transition on the space update result.
| [in] | status | CutStatus returned by space.update_q |
| [in] | more_alt | Whether the oracle has more alternative cuts |
|
inline |
Whether the next assessment is a retry (reuse cached point).
|
inline |
Get the best-so-far solution (mutable).
|
inline |
Get the best-so-far solution.