gcg::Stabilization Class Reference

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

gcg::Stabilization::Stabilization ( SCIP *  scip,
PricingType pricingtype,
SCIP_Bool  hybridascent 
)

constructor

Parameters
scipSCIP data structure
pricingtypethe pricing type when the stabilization should run
hybridascentenable hybridization of smoothing with an ascent method?

Definition at line 56 of file class_stabilization.cpp.

gcg::Stabilization::Stabilization ( )

constructor

gcg::Stabilization::~Stabilization ( )
virtual

destructor

Definition at line 74 of file class_stabilization.cpp.

References GCGgetNMasterConss(), GCGmasterGetOrigprob(), and GCGsepaGetNCuts().

Member Function Documentation

void gcg::Stabilization::activateMispricingSchedule ( )

enabling mispricing schedule

Definition at line 1114 of file class_stabilization.cpp.

SCIP_RETCODE gcg::Stabilization::consGetDual ( int  i,
SCIP_Real *  dual 
)

gets the stabilized dual solution of constraint at position i

Parameters
iindex of the constraint
dualreturn pointer for dual value

Definition at line 243 of file class_stabilization.cpp.

References PricingType::consGetDual(), GCGgetMasterConss(), GCGgetNMasterConss(), and GCGmasterGetOrigprob().

Referenced by updateAlpha(), and updateStabilityCenter().

SCIP_Real gcg::Stabilization::convGetDual ( int  i)

gets the stabilized dual of the convexity constraint at position i

Definition at line 309 of file class_stabilization.cpp.

References PricingType::consGetDual(), GCGgetConvCons(), GCGgetNIdenticalBlocks(), GCGgetNPricingprobs(), and GCGmasterGetOrigprob().

void gcg::Stabilization::disablingMispricingSchedule ( )

disabling mispricing schedule

Definition at line 1121 of file class_stabilization.cpp.

SCIP_Bool gcg::Stabilization::isInMispricingSchedule ( ) const

is mispricing schedule enabled

Definition at line 1129 of file class_stabilization.cpp.

SCIP_Bool gcg::Stabilization::isStabilized ( )

returns whether the stabilization is active

Definition at line 1106 of file class_stabilization.cpp.

SCIP_Real gcg::Stabilization::linkingconsGetDual ( int  i)

gets the dual of variable linking constraints at index i update node

Definition at line 224 of file class_stabilization.cpp.

References PricingType::consGetDual(), GCGgetNVarLinkingconss(), GCGgetVarLinkingconss(), and GCGmasterGetOrigprob().

Referenced by updateAlpha(), and updateStabilityCenter().

SCIP_RETCODE gcg::Stabilization::rowGetDual ( int  i,
SCIP_Real *  dual 
)

gets the stabilized dual solution of cut at position i

Parameters
iindex of the row
dualreturn pointer for dual value

Definition at line 275 of file class_stabilization.cpp.

References GCGsepaGetMastercuts(), GCGsepaGetNCuts(), and PricingType::rowGetDual().

Referenced by updateAlpha(), and updateStabilityCenter().

SCIP_RETCODE gcg::Stabilization::setLinkingConss ( SCIP_CONS **  linkingconss,
int *  linkingconsblock,
int  nlinkingconss 
)

sets the variable linking constraints in the master

Parameters
linkingconssarray of linking master constraints
linkingconsblockblock of the linking constraints
nlinkingconsssize of the array
SCIP_RETCODE gcg::Stabilization::setNConvconsvals ( int  nconvconssnew)

increases the number of new convexity constraints

Definition at line 211 of file class_stabilization.cpp.

Referenced by SCIP_DECL_PRICERINITSOL().

SCIP_RETCODE gcg::Stabilization::setNLinkingconsvals ( int  nlinkingconssnew)

increases the number of new variable linking constraints

Parameters
nlinkingconssnewnumber of new linking constraints

Definition at line 189 of file class_stabilization.cpp.

Referenced by SCIP_DECL_PRICERINITSOL().

void gcg::Stabilization::updateAlphaMisprice ( )

updates the alpha after unsuccessful pricing

Definition at line 477 of file class_stabilization.cpp.

SCIP_RETCODE gcg::Stabilization::updateHybrid ( )

Definition at line 455 of file class_stabilization.cpp.

void gcg::Stabilization::updateNode ( )

update information for hybrid stablization with dual ascent

update information for hybrid stabilization with dual ascent

Definition at line 440 of file class_stabilization.cpp.

SCIP_RETCODE gcg::Stabilization::updateStabilityCenter ( SCIP_Real  lowerbound,
SCIP_Real *  dualsolconv,
GCG_COL **  pricingcols 
)

updates the stability center if the bound has increased

Parameters
lowerboundlower bound due to lagrange function corresponding to current (stabilized) dual vars
dualsolconvcorresponding feasible dual solution for convexity constraints
pricingcolscolumns of the pricing problems

Definition at line 325 of file class_stabilization.cpp.

References consGetDual(), GCGgetNMasterConss(), GCGgetNPricingprobs(), GCGgetNVarLinkingconss(), GCGisPricingprobRelevant(), GCGmasterGetOrigprob(), GCGsepaGetNCuts(), linkingconsGetDual(), and rowGetDual().

SCIP_RETCODE gcg::Stabilization::updateSubgradientProduct ( GCG_COL **  pricingcols)

update subgradient product

Parameters
pricingcolssolutions of the pricing problems

Definition at line 1136 of file class_stabilization.cpp.