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 class CoinWarmStartBasis;
00032 class OsiRowCut;
00033 class BlisConstraint;
00034 class BlisModel;
00035
00036
00037
00039 BlisConstraint * BlisOsiCutToConstraint(const OsiRowCut *rowCut);
00040
00042 OsiRowCut * BlisConstraintToOsiCut(const BlisConstraint * con);
00043
00045 int BlisStrongBranch(BlisModel *model, double objValue, int colInd, double x,
00046 const double *saveLower, const double *saveUpper,
00047 bool &downKeep, bool &downFinished, double &downDeg,
00048 bool &upKeep, bool &upFinished, double &upDeg);
00049
00051 int BlisEncodeWarmStart(AlpsEncoded *encoded, const CoinWarmStartBasis *ws);
00052
00054 CoinWarmStartBasis *BlisDecodeWarmStart(AlpsEncoded &encoded,
00055 AlpsReturnStatus *rc);
00056
00058 double BlisHashingOsiRowCut(const OsiRowCut *rowCut,
00059 const BlisModel *model);
00060
00062 bool BlisParallelCutCut(OsiRowCut * rowCut1,
00063 OsiRowCut * rowCut2,
00064 double threshold = 1.0);
00065
00067 bool BlisParallelCutCon(OsiRowCut * rowCut,
00068 BlisConstraint * con,
00069 double threshold = 1.0);
00070
00071
00072 #endif