00001
00002
00003 #ifndef _MC_LP_PARAM_H
00004 #define _MC_LP_PARAM_H
00005
00006 enum MC_SPCycleCutGen {
00007 MC_NeverGenerateSPCycleCuts = 0,
00008 MC_GenerateSPCycleCutsAsLastResort = 1,
00009 MC_AlwaysGenerateSPCycleCuts = 2
00010 };
00011
00012 enum MC_MstCycleCutGen {
00013 MC_NeverGenerateMstCycleCuts = 0,
00014 MC_GenerateMstCycleCutsAsLastResort = 1,
00015 MC_AlwaysGenerateMstCycleCuts = 2
00016 };
00017
00018 enum MC_LpSolver {
00019 MC_UseVol = 0x01,
00020 MC_UseClp = 0x02
00021 };
00022
00023 struct MC_lp_par {
00024 enum chr_params{
00025 DoEdgeSwitchHeur,
00026 ReportAllSPCycleCuts,
00027
00028 SwitchToSimplex,
00029 ExplicitSlacksInOpt,
00030 OnceOptAlwaysOpt,
00031
00032 end_of_chr_params
00033 };
00034 enum int_params{
00035 LpSolver,
00036
00037 MaxDepth,
00038
00039 MstCycleCutGeneration,
00040 SPCycleCutGeneration,
00041
00042 StructureSwitchHeur,
00043 MstHeurNum,
00044 CycleCutHeurNum,
00045 MaxCycleCutNum,
00046 SB_CandidateNum,
00047 HeurSwitchImproveRound,
00048 TailoffGapRelMinItcount,
00049 TailoffLbAbsMinItcount,
00050 TailoffLbRelMinItcount,
00051
00052 MaxCutsAddedPerIterVol,
00053 MaxCutsAddedPerIterSim,
00054 MaxPresolveIterVol,
00055 MaxPresolveIterSim,
00056
00057 Vol_ascentFirstCheck,
00058 Vol_ascentCheckInterval,
00059 Vol_printFlag,
00060 Vol_printInterval,
00061 Vol_greenTestInterval,
00062 Vol_yellowTestInterval,
00063 Vol_redTestInterval,
00064 Vol_alphaInt,
00065 Vol_maxSubGradientIterations,
00066
00067 end_of_int_params
00068 };
00069 enum dbl_params{
00070 IntegerTolerance,
00071
00072 MinIsingCutViolation,
00073 MinMstCycleCutViolation,
00074 MinSPCycleCutViolation,
00075
00076 MaxPerturbInMstCycleCutGen,
00077 MaxPerturbInMstHeur,
00078 TailoffGapRelMinImprovement,
00079 TailoffLbAbsMinImprovement,
00080 TailoffLbRelMinImprovement,
00081
00082 Vol_lambdaInit,
00083 Vol_alphaInit,
00084 Vol_alphaFactor,
00085 Vol_alphaMin,
00086 Vol_primalAbsPrecision,
00087 Vol_gapAbsPrecision,
00088 Vol_gapRelPrecision,
00089 Vol_granularity,
00090 Vol_minimumRelAscent,
00091
00092 end_of_dbl_params
00093 };
00094 enum str_params{
00095 str_dummy,
00096
00097 end_of_str_params
00098 };
00099 enum str_array_params{
00100
00101 str_array_dummy,
00102
00103 end_of_str_array_params
00104 };
00105 };
00106
00107
00108 #endif