CascadeTransition struct
#include <gtopt/cascade_options.hpp>
Transition configuration: how a cascade level receives information from the previous level.
Public functions
- auto merge(const CascadeTransition& opts) -> void
Public variables
- OptInt inherit_feasibility_cuts
- OptInt inherit_optimality_cuts
- OptInt inherit_targets
- OptReal optimality_dual_threshold
- OptReal target_min_atol
- Minimum absolute tolerance for target band. Default: 1.0.
- OptReal target_penalty
- Elastic penalty cost per unit violation of target. Default: 500.
- OptReal target_rtol
- Relative tolerance for target band. Default: 0.05 (5%).
Variable documentation
OptInt gtopt:: CascadeTransition:: inherit_feasibility_cuts
Carry forward feasibility cuts from previous level. Same semantics as inherit_optimality_cuts.
OptInt gtopt:: CascadeTransition:: inherit_optimality_cuts
Carry forward optimality cuts (Benders cuts) from previous level. The value controls when inherited cuts are dropped ("forgotten"):
- absent or 0: do not inherit
- -1: inherit and keep forever
- N > 0: inherit but forget after N training iterations, then re-solve with only self-generated cuts
OptInt gtopt:: CascadeTransition:: inherit_targets
Add elastic state variable target constraints from previous solution. Same semantics as inherit_optimality_cuts:
- absent or 0: do not inherit
- -1: inherit and keep forever
- N > 0: inherit but remove target constraints after N training iterations
OptReal gtopt:: CascadeTransition:: optimality_dual_threshold
Minimum |dual| threshold for transferring cuts. Cuts with |dual| < threshold are considered inactive and skipped. Default: 0.0 (transfer all cuts regardless of dual).