- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# /home/coin/SVN-release/Blis-0.91.0/Blis/src/Blis.h

Go to the documentation of this file.

    00001 /*===========================================================================*
    00002  * This file is part of the BiCePS Linear Integer Solver (BLIS).             *
    00003  *                                                                           *
    00004  * BLIS is distributed under the Common Public License as part of the        *
    00005  * COIN-OR repository (http://www.coin-or.org).                              *
    00006  *                                                                           *
    00007  * Authors:                                                                  *
    00008  *                                                                           *
    00009  *          Yan Xu, Lehigh University                                        *
    00010  *          Ted Ralphs, Lehigh University                                    *
    00011  *                                                                           *
    00012  * Conceptual Design:                                                        *
    00013  *                                                                           *
    00014  *          Yan Xu, Lehigh University                                        *
    00015  *          Ted Ralphs, Lehigh University                                    *
    00016  *          Laszlo Ladanyi, IBM T.J. Watson Research Center                  *
    00017  *          Matthew Saltzman, Clemson University                             *
    00018  *                                                                           *
    00019  *                                                                           *
    00020  * Copyright (C) 2001-2009, Lehigh University, Yan Xu, and Ted Ralphs.       *
    00021  * All Rights Reserved.                                                      *
    00022  *===========================================================================*/
    00023
    00024 //#############################################################################
    00025
    00026 #ifndef Blis_h_
    00027 #define Blis_h_
    00028
    00029 //#############################################################################
    00030
    00031 enum BlisLpStatus{
    00032    BlisLpStatusOptimal,
    00033    BlisLpStatusAbandoned,
    00034    BlisLpStatusPrimalInfeasible,
    00035    BlisLpStatusDualInfeasible,
    00036    BlisLpStatusPrimalObjLim,
    00037    BlisLpStatusDualObjLim,
    00038    BlisLpStatusIterLim,
    00039    BlisLpStatusUnknown
    00040 };
    00041
    00042 //#############################################################################
    00043
    00044 enum BlisReturnStatus {
    00045    BlisReturnStatusOk = 0,
    00046    BlisReturnStatusErrLp,
    00047    BlisReturnStatusInfeasible,
    00048    BlisReturnStatusUnbounded,
    00049    BlisReturnStatusOverObjLim,
    00050    BlisReturnStatusFeasible,
    00051    BlisReturnStatusBranch,
    00052    BlisReturnStatusUnknown
    00053 };
    00054
    00055 #if 0
    00056 #define BLIS_ERR_LP         100
    00057 #define BLIS_INF            200
    00058 #define BLIS_UNBOUND        201
    00059 #define BLIS_OPTIMAL          0
    00060 #define BLIS_UNKNOWN        202
    00061 #endif
    00062
    00063 //#############################################################################
    00064
    00065 enum BlisCutStrategy{
    00066    BlisCutStrategyNotSet = -1,
    00067    BlisCutStrategyNone = 0,
    00068    BlisCutStrategyRoot,
    00069    BlisCutStrategyAuto,
    00070    BlisCutStrategyPeriodic
    00071 };
    00072
    00073 enum BlisHeurStrategy{
    00074    BlisHeurStrategyNotSet = -1,
    00075    BlisHeurStrategyNone = 0,
    00076    BlisHeurStrategyRoot,
    00077    BlisHeurStrategyAuto,
    00078    BlisHeurStrategyPeriodic,
    00079    BlisHeurStrategyBeforeRoot // Before solving first relaxation
    00080 };
    00081
    00082 #if 0
    00083 #define BLIS_NOT_SET       -555
    00084 #define BLIS_ROOT            -2
    00085 #define BLIS_AUTO            -1
    00086 #define BLIS_NONE             0
    00087 #endif
    00088
    00089 //#############################################################################
    00090
    00091 enum BlisHotStartStrategy{
    00092    BlisHotStartBranchIncorrect,
    00093    BlisHotStartBranchCorrect
    00094 };
    00095
    00096 //#############################################################################
    00097
    00098 enum BlisBranchingStrategy{
    00099    BlisBranchingStrategyMaxInfeasibility,
    00100    BlisBranchingStrategyPseudoCost,
    00101    BlisBranchingStrategyReliability,
    00102    BlisBranchingStrategyStrong
    00103 };
    00104
    00105
    00106 //#############################################################################
    00107
    00108 enum BlisSolutionType {
    00109     BlisSolutionTypeBounding,
    00110     BlisSolutionTypeBranching,
    00111     BlisSolutionTypeDiving,
    00112     BlisSolutionTypeHeuristic,
    00113     BlisSolutionTypeStrong
    00114 };
    00115
    00116 //#############################################################################
    00117
    00119 enum BlisBranchingObjectType {
    00120     BlisBranchingObjectTypeNone = 0,
    00121     BlisBranchingObjectTypeInt,
    00122     BlisBranchingObjectTypeSos
    00123 };
    00124
    00125 //#############################################################################
    00126
    00127 #define BLIS_CUT_DISABLE            20
    00128
    00129 #define BLIS_HEUR_ROUND_DISABLE     1000000
    00130
    00131 #define BLIS_PSEUDO                 21
    00132
    00133 //#############################################################################
    00134
    00135 #endif