Detailed Description
Definition at line 44 of file class_stabilization.h.
#include <class_stabilization.h>
Public Member Functions | |
Stabilization (SCIP *scip, PricingType *pricingtype, SCIP_Bool hybridascent) | |
Stabilization () | |
virtual | ~Stabilization () |
SCIP_RETCODE | consGetDual (int i, SCIP_Real *dual) |
SCIP_RETCODE | rowGetDual (int i, SCIP_Real *dual) |
SCIP_Real | convGetDual (int i) |
SCIP_RETCODE | updateStabilityCenter (SCIP_Real lowerbound, SCIP_Real *dualsolconv, GCG_COL **pricingcols) |
void | updateAlphaMisprice () |
void | updateAlpha () |
SCIP_Bool | isStabilized () |
void | activateMispricingSchedule () |
void | disablingMispricingSchedule () |
SCIP_Bool | isInMispricingSchedule () const |
SCIP_RETCODE | setLinkingConss (SCIP_CONS **linkingconss, int *linkingconsblock, int nlinkingconss) |
SCIP_RETCODE | setNLinkingconsvals (int nlinkingconssnew) |
SCIP_RETCODE | setNConvconsvals (int nconvconssnew) |
SCIP_Real | linkingconsGetDual (int i) |
void | updateNode () |
SCIP_RETCODE | updateHybrid () |
SCIP_RETCODE | updateSubgradientProduct (GCG_COL **pricingcols) |
Constructor & Destructor Documentation
◆ Stabilization() [1/2]
gcg::Stabilization::Stabilization | ( | SCIP * | scip, |
PricingType * | pricingtype, | ||
SCIP_Bool | hybridascent | ||
) |
constructor
- Parameters
-
scip SCIP data structure pricingtype the pricing type when the stabilization should run hybridascent enable hybridization of smoothing with an ascent method?
Definition at line 57 of file class_stabilization.cpp.
◆ Stabilization() [2/2]
gcg::Stabilization::Stabilization | ( | ) |
constructor
◆ ~Stabilization()
|
virtual |
destructor
Definition at line 75 of file class_stabilization.cpp.
Member Function Documentation
◆ consGetDual()
SCIP_RETCODE gcg::Stabilization::consGetDual | ( | int | i, |
SCIP_Real * | dual | ||
) |
gets the stabilized dual solution of constraint at position i
- Parameters
-
i index of the constraint dual return pointer for dual value
Definition at line 248 of file class_stabilization.cpp.
References PricingType::consGetDual(), GCGgetMasterConss(), GCGgetNMasterConss(), and GCGmasterGetOrigprob().
Referenced by updateStabilityCenter().
◆ rowGetDual()
SCIP_RETCODE gcg::Stabilization::rowGetDual | ( | int | i, |
SCIP_Real * | dual | ||
) |
gets the stabilized dual solution of cut at position i
- Parameters
-
i index of the row dual return pointer for dual value
Definition at line 280 of file class_stabilization.cpp.
References GCGsepaGetMastercuts(), GCGsepaGetNCuts(), and PricingType::rowGetDual().
Referenced by updateStabilityCenter().
◆ convGetDual()
SCIP_Real gcg::Stabilization::convGetDual | ( | int | i | ) |
gets the stabilized dual of the convexity constraint at position i
Definition at line 314 of file class_stabilization.cpp.
References PricingType::consGetDual(), GCGgetConvCons(), GCGgetNIdenticalBlocks(), GCGgetNPricingprobs(), and GCGmasterGetOrigprob().
◆ updateStabilityCenter()
SCIP_RETCODE gcg::Stabilization::updateStabilityCenter | ( | SCIP_Real | lowerbound, |
SCIP_Real * | dualsolconv, | ||
GCG_COL ** | pricingcols | ||
) |
updates the stability center if the bound has increased
- Parameters
-
lowerbound lower bound due to lagrange function corresponding to current (stabilized) dual vars dualsolconv corresponding feasible dual solution for convexity constraints pricingcols columns of the pricing problems
Definition at line 330 of file class_stabilization.cpp.
References consGetDual(), GCGgetNMasterConss(), GCGgetNPricingprobs(), GCGgetNVarLinkingconss(), GCGisPricingprobRelevant(), GCGmasterGetOrigprob(), GCGsepaGetNCuts(), linkingconsGetDual(), and rowGetDual().
◆ updateAlphaMisprice()
void gcg::Stabilization::updateAlphaMisprice | ( | ) |
updates the alpha after unsuccessful pricing
Definition at line 482 of file class_stabilization.cpp.
◆ updateAlpha()
void gcg::Stabilization::updateAlpha | ( | ) |
updates the alpha after successful pricing
Definition at line 490 of file class_stabilization.cpp.
◆ isStabilized()
SCIP_Bool gcg::Stabilization::isStabilized | ( | ) |
returns whether the stabilization is active
Definition at line 1122 of file class_stabilization.cpp.
◆ activateMispricingSchedule()
void gcg::Stabilization::activateMispricingSchedule | ( | ) |
enabling mispricing schedule
Definition at line 1130 of file class_stabilization.cpp.
◆ disablingMispricingSchedule()
void gcg::Stabilization::disablingMispricingSchedule | ( | ) |
disabling mispricing schedule
Definition at line 1137 of file class_stabilization.cpp.
◆ isInMispricingSchedule()
SCIP_Bool gcg::Stabilization::isInMispricingSchedule | ( | ) | const |
is mispricing schedule enabled
Definition at line 1145 of file class_stabilization.cpp.
◆ setLinkingConss()
SCIP_RETCODE gcg::Stabilization::setLinkingConss | ( | SCIP_CONS ** | linkingconss, |
int * | linkingconsblock, | ||
int | nlinkingconss | ||
) |
sets the variable linking constraints in the master
- Parameters
-
linkingconss array of linking master constraints linkingconsblock block of the linking constraints nlinkingconss size of the array
◆ setNLinkingconsvals()
SCIP_RETCODE gcg::Stabilization::setNLinkingconsvals | ( | int | nlinkingconssnew | ) |
increases the number of new variable linking constraints
- Parameters
-
nlinkingconssnew number of new linking constraints
Definition at line 190 of file class_stabilization.cpp.
◆ setNConvconsvals()
SCIP_RETCODE gcg::Stabilization::setNConvconsvals | ( | int | nconvconssnew | ) |
increases the number of new convexity constraints
Definition at line 216 of file class_stabilization.cpp.
◆ linkingconsGetDual()
SCIP_Real gcg::Stabilization::linkingconsGetDual | ( | int | i | ) |
gets the dual of variable linking constraints at index i update node
Definition at line 229 of file class_stabilization.cpp.
References PricingType::consGetDual(), GCGgetNVarLinkingconss(), GCGgetVarLinkingconss(), and GCGmasterGetOrigprob().
Referenced by updateStabilityCenter().
◆ updateNode()
void gcg::Stabilization::updateNode | ( | ) |
update information for hybrid stablization with dual ascent
◆ updateHybrid()
SCIP_RETCODE gcg::Stabilization::updateHybrid | ( | ) |
Definition at line 460 of file class_stabilization.cpp.
◆ updateSubgradientProduct()
SCIP_RETCODE gcg::Stabilization::updateSubgradientProduct | ( | GCG_COL ** | pricingcols | ) |
update subgradient product
- Parameters
-
pricingcols solutions of the pricing problems
Definition at line 1152 of file class_stabilization.cpp.