00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef BlisHelp_h_
00027 #define BlisHelp_h_
00028
00029 #include "AlpsEncoded.h"
00030
00031 #include "Blis.h"
00032
00033 class CoinWarmStartBasis;
00034 class OsiRowCut;
00035 class BlisConstraint;
00036 class BlisModel;
00037
00038
00039
00041 BlisConstraint * BlisOsiCutToConstraint(const OsiRowCut *rowCut);
00042
00044 BlisReturnStatus BlisStrongBranch(BlisModel *model, double objValue, int colInd, double x,
00045 const double *saveLower, const double *saveUpper,
00046 bool &downKeep, bool &downFinished, double &downDeg,
00047 bool &upKeep, bool &upFinished, double &upDeg);
00048
00050 int BlisEncodeWarmStart(AlpsEncoded *encoded, const CoinWarmStartBasis *ws);
00051
00053 CoinWarmStartBasis *BlisDecodeWarmStart(AlpsEncoded &encoded,
00054 AlpsReturnStatus *rc);
00055
00057 double BlisHashingOsiRowCut(const OsiRowCut *rowCut,
00058 const BlisModel *model);
00059
00061 bool BlisParallelCutCut(OsiRowCut * rowCut1,
00062 OsiRowCut * rowCut2,
00063 double threshold = 1.0);
00064
00066 bool BlisParallelCutCon(OsiRowCut * rowCut,
00067 BlisConstraint * con,
00068 double threshold = 1.0);
00069
00071 bool BlisParallelConCon(BlisConstraint * con1,
00072 BlisConstraint * con2,
00073 double threshold = 1.0);
00074
00075
00076 #endif