BlisHelp.h
Go to the documentation of this file.
1 /*===========================================================================*
2  * This file is part of the BiCePS Linear Integer Solver (BLIS). *
3  * *
4  * BLIS is distributed under the Eclipse Public License as part of the *
5  * COIN-OR repository (http://www.coin-or.org). *
6  * *
7  * Authors: *
8  * *
9  * Yan Xu, Lehigh University *
10  * Ted Ralphs, Lehigh University *
11  * *
12  * Conceptual Design: *
13  * *
14  * Yan Xu, Lehigh University *
15  * Ted Ralphs, Lehigh University *
16  * Laszlo Ladanyi, IBM T.J. Watson Research Center *
17  * Matthew Saltzman, Clemson University *
18  * *
19  * *
20  * Copyright (C) 2001-2013, Lehigh University, Yan Xu, and Ted Ralphs. *
21  * All Rights Reserved. *
22  *===========================================================================*/
23 
24 //#############################################################################
25 
26 #ifndef BlisHelp_h_
27 #define BlisHelp_h_
28 
29 #include "AlpsEncoded.h"
30 
31 #include "Blis.h"
32 
33 class CoinWarmStartBasis;
34 class OsiRowCut;
35 class BlisConstraint;
36 class BlisModel;
37 
38 //#############################################################################
39 
42 
44 BlisReturnStatus BlisStrongBranch(BlisModel *model, double objValue, int colInd, double x,
45  const double *saveLower, const double *saveUpper,
46  bool &downKeep, bool &downFinished, double &downDeg,
47  bool &upKeep, bool &upFinished, double &upDeg);
48 
50 int BlisEncodeWarmStart(AlpsEncoded *encoded, const CoinWarmStartBasis *ws);
51 
54  AlpsReturnStatus *rc);
55 
57 double BlisHashingOsiRowCut(const OsiRowCut *rowCut,
58  const BlisModel *model);
59 
61 bool BlisParallelCutCut(OsiRowCut * rowCut1,
62  OsiRowCut * rowCut2,
63  double threshold = 1.0);
64 
66 bool BlisParallelCutCon(OsiRowCut * rowCut,
67  BlisConstraint * con,
68  double threshold = 1.0);
69 
72  BlisConstraint * con2,
73  double threshold = 1.0);
74 
75 
76 #endif
bool BlisParallelCutCon(OsiRowCut *rowCut, BlisConstraint *con, double threshold=1.0)
Check if a row cut parallel with a constraint.
Row Cut Class.
Definition: OsiRowCut.hpp:29
AlpsReturnStatus
Definition: Alps.h:118
int BlisEncodeWarmStart(AlpsEncoded *encoded, const CoinWarmStartBasis *ws)
Pack coin warm start into an encoded object.
bool BlisParallelCutCut(OsiRowCut *rowCut1, OsiRowCut *rowCut2, double threshold=1.0)
Check if a row cut parallel with another row cut.
bool BlisParallelConCon(BlisConstraint *con1, BlisConstraint *con2, double threshold=1.0)
Check if a row cut parallel with a constraint.
This data structure is to contain the packed form of an encodable knowledge.
Definition: AlpsEncoded.h:25
BlisConstraint * BlisOsiCutToConstraint(const OsiRowCut *rowCut)
Convert a OsiRowCut to a Blis Contraint.
CoinWarmStartBasis * BlisDecodeWarmStart(AlpsEncoded &encoded, AlpsReturnStatus *rc)
Unpack coin warm start from an encoded object.
double BlisHashingOsiRowCut(const OsiRowCut *rowCut, const BlisModel *model)
Compute and return a hash value of an Osi row cut.
BlisReturnStatus
Definition: Blis.h:48
The default COIN simplex (basis-oriented) warm start class.
int BlisStrongBranch(BlisModel *model, double objValue, int colInd, double x, const double *saveLower, const double *saveUpper, bool &downKeep, bool &downFinished, double &downDeg, bool &upKeep, bool &upFinished, double &upDeg)
Strong branching on a variable colInd.