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
00027 #ifndef BlisHelp_h_
00028 #define BlisHelp_h_
00029
00030 #include "AlpsEncoded.h"
00031
00032 class CoinWarmStartBasis;
00033 class OsiRowCut;
00034 class BlisConstraint;
00035 class BlisModel;
00036
00037
00038
00040 BlisConstraint * BlisOsiCutToConstraint(const OsiRowCut *rowCut);
00041
00043 OsiRowCut * BlisConstraintToOsiCut(const BlisConstraint * con);
00044
00046 int BlisStrongBranch(BlisModel *model, double objValue, int colInd, double x,
00047 const double *saveLower, const double *saveUpper,
00048 bool &downKeep, bool &downFinished, double &downDeg,
00049 bool &upKeep, bool &upFinished, double &upDeg);
00050
00052 int BlisEncodeWarmStart(AlpsEncoded *encoded, const CoinWarmStartBasis *ws);
00053
00055 CoinWarmStartBasis *BlisDecodeWarmStart(AlpsEncoded &encoded,
00056 AlpsReturnStatus *rc);
00057
00059 double BlisHashingOsiRowCut(const OsiRowCut *rowCut,
00060 const BlisModel *model);
00061
00063 bool BlisParallelCutCut(OsiRowCut * rowCut1,
00064 OsiRowCut * rowCut2,
00065 double threshold = 1.0);
00066
00068 bool BlisParallelCutCon(OsiRowCut * rowCut,
00069 BlisConstraint * con,
00070 double threshold = 1.0);
00071
00072
00073 #endif