/home/coin/SVN-release/CoinAll-1.1.0/Bcp/src/include/BCP_enum.hpp File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  BCP_slack_cut_discarding { BCP_DiscardSlackCutsAtNewNode, BCP_DiscardSlackCutsAtNewIteration }
 This enumerative constant describes when to purge the slack cut pool (in the LP process). More...
enum  BCP_CutViolationNorm { BCP_CutViolationNorm_Plain, BCP_CutViolationNorm_Distance, BCP_CutViolationNorm_Directional }
 This enumerative constant describes how to compute the "violation" of a generated cut. More...
enum  BCP_object_t { BCP_CoreObj, BCP_IndexedObj, BCP_AlgoObj, BCP_NoObj }
 This enumerative constant describes the possible types of objects (variables and cuts). More...
enum  BCP_column_generation { BCP_DoNotGenerateColumns_Fathom, BCP_DoNotGenerateColumns_Send, BCP_GenerateColumns }
 This enumerative constant describes what to do when a search tree node becomes fathomable for the current set of columns. More...
enum  BCP_storage_t { BCP_Storage_NoData, BCP_Storage_Explicit, BCP_Storage_WrtParent, BCP_Storage_WrtCore }
 This enumerative constant describes how to store certain data for a search tree node. More...
enum  BCP_obj_status {
  BCP_ObjNoInfo = 0x00, BCP_ObjDoNotSendToPool = 0x01, BCP_ObjCannotBeBranchedOn = 0x02, BCP_ObjNotRemovable = 0x04,
  BCP_ObjToBeRemoved = 0x08, BCP_ObjInactive = 0x10
}
 This enumerative constant gives the status of an object (variable or cut). More...
enum  BCP_primal_solution_description { BCP_PrimalSolution_Nonzeros, BCP_PrimalSolution_Fractions, BCP_PrimalSolution_Full }
 This enumerative constant describes how the primal solution should be packed into a buffer if the default packing routine is used. More...
enum  BCP_dual_solution_description { BCP_DualSolution_Nonzeros, BCP_DualSolution_Full }
 This enumerative constant describes how the dual solution should be packed into a buffer if the default packing routine is used. More...
enum  BCP_var_t { BCP_BinaryVar, BCP_IntegerVar, BCP_ContinuousVar }
 This enumerative constant describes the integrality type of a variable. More...
enum  BCP_IneffectiveConstraints { BCP_IneffConstr_None, BCP_IneffConstr_NonzeroSlack, BCP_IneffConstr_ZeroDualValue }
 This enumerative constant describes which constraints should be considered ineffective after solving an LP relaxation. More...
enum  BCP_feasibility { BCP_NotFeasible, BCP_Feasible, BCP_HeuristicFeasible }
 This enumerative constant describes the possible return codes of the function that tests MIP feasibility of a solution to an LP relaxation. More...
enum  BCP_feasibility_test { BCP_Binary_Feasible, BCP_Integral_Feasible, BCP_FullTest_Feasible }
 This enumerative constant describes which built-in feasibility-testing routine should be invoked. More...
enum  BCP_dual_status { BCP_TotalDualFeasible = 1, BCP_TotalDualFeasible_HasAllIndexed = 1, BCP_TotalDualFeasible_NotAllIndexed = 2, BCP_NotTotalDualFeasible = 0 }
enum  BCP_pricing_status {
  BCP_PriceNothing = 0x00, BCP_PriceAlgoVars = 0x01, BCP_PriceUntilLastIndexedToPrice = 0x02, BCP_PriceAfterLastIndexedToPrice = 0x04,
  BCP_PriceIndexedVars
}
 This enumerative constant describes what sort of columns to generate in case column generation is requested. More...
enum  BCP_object_origin {
  BCP_Object_Leftover, BCP_Object_Branching, BCP_Object_FromGenerator, BCP_Object_FromPool,
  BCP_Object_FromTreeManager
}
 This enumerative constant describes the origin (originating process) of an object (variable or cut). More...
enum  BCP_object_compare_result { BCP_ObjsAreSame, BCP_FirstObjIsBetter, BCP_SecondObjIsBetter, BCP_DifferentObjs }
 This enumerative constant describes the possible outcomes when comparing two objects (variables or cuts). More...


Enumeration Type Documentation

enum BCP_slack_cut_discarding

This enumerative constant describes when to purge the slack cut pool (in the LP process).

Possible values are:

Enumerator:
BCP_DiscardSlackCutsAtNewNode  Purge the slack cuts when the LP starts processing a new search tree node.
BCP_DiscardSlackCutsAtNewIteration  Purge the slack cuts at every iteration while processing search tree nodes.

(Note that purging will be performed more often in this case.)

Definition at line 15 of file BCP_enum.hpp.

enum BCP_CutViolationNorm

This enumerative constant describes how to compute the "violation" of a generated cut.

Possible values are:

Enumerator:
BCP_CutViolationNorm_Plain  The violation is interpreted in the normal sense, i.e., max(0, max(lb-lhs, lhs-ub)).
BCP_CutViolationNorm_Distance  The violation is the distance of the fractional point from the cut.
BCP_CutViolationNorm_Directional  The violation is the directional (in the direction of the objective distance of the fractional point from the cut.

Definition at line 31 of file BCP_enum.hpp.

enum BCP_object_t

This enumerative constant describes the possible types of objects (variables and cuts).

Enumerator:
BCP_CoreObj  Base object.
BCP_IndexedObj  Indexed object.
BCP_AlgoObj  Algorithmic object.
BCP_NoObj  No object type is given.

Definition at line 49 of file BCP_enum.hpp.

enum BCP_column_generation

This enumerative constant describes what to do when a search tree node becomes fathomable for the current set of columns.

Enumerator:
BCP_DoNotGenerateColumns_Fathom  Do fathom the node.
BCP_DoNotGenerateColumns_Send  Do not generate columns, but send back the node to the Tree Manager for processing in the next phase.
BCP_GenerateColumns  Attempt column generation.

If new columns are found, continue processing this search tree node, otherwise fathom it.

Definition at line 67 of file BCP_enum.hpp.

enum BCP_storage_t

This enumerative constant describes how to store certain data for a search tree node.

Examples for such data include warmstart information, current lower and upper bounds.

Enumerator:
BCP_Storage_NoData  No data is stored.
BCP_Storage_Explicit  The data stored is an explicit listing of values.
BCP_Storage_WrtParent  The data stored is with respect to the same kind of data in the parent of the search tree node.

(In this case only the changes are stored.)

BCP_Storage_WrtCore  The data stored is with respect to the original description of the base problem (as was given by the user).

Definition at line 86 of file BCP_enum.hpp.

enum BCP_obj_status

This enumerative constant gives the status of an object (variable or cut).

It is comprised of some constants representing different properties; the actual status is the OR of these constants.

Enumerator:
BCP_ObjNoInfo  No special information is given about the object.
BCP_ObjDoNotSendToPool  The object does not need to be sent to the variable/cut pool.
BCP_ObjCannotBeBranchedOn  The object cannot be branched on.
BCP_ObjNotRemovable  The object is not removable from the LP formulation, even if the object becomes inactive.

E.g., every object that has been branched on has this flag set.

BCP_ObjToBeRemoved  The object is to be removed next time when the formulation is compressed.

For instance, the object can be marked for removal when it becomes inactive, or before branching.

BCP_ObjInactive  The object is inactive.

Inactivity for variables means that the variable is fixed to one of its bounds, for cuts it means that the corresponding constraint is free in the formulation.

Definition at line 107 of file BCP_enum.hpp.

enum BCP_primal_solution_description

This enumerative constant describes how the primal solution should be packed into a buffer if the default packing routine is used.

Enumerator:
BCP_PrimalSolution_Nonzeros  Pack only those variables that are currently at nonzero levels.
BCP_PrimalSolution_Fractions  Pack only those variables that are currently at fractional (i.e., non-integral) levels.
BCP_PrimalSolution_Full  Pack all primal variables.

Definition at line 135 of file BCP_enum.hpp.

enum BCP_dual_solution_description

This enumerative constant describes how the dual solution should be packed into a buffer if the default packing routine is used.

Enumerator:
BCP_DualSolution_Nonzeros  Pack only those variables that are currently at nonzero levels.
BCP_DualSolution_Full  Pack all dual variables.

Definition at line 150 of file BCP_enum.hpp.

enum BCP_var_t

This enumerative constant describes the integrality type of a variable.

Enumerator:
BCP_BinaryVar  Binary (0-1) variable.
BCP_IntegerVar  General integer variable.
BCP_ContinuousVar  Continuous variable.

Definition at line 163 of file BCP_enum.hpp.

enum BCP_IneffectiveConstraints

This enumerative constant describes which constraints should be considered ineffective after solving an LP relaxation.

Enumerator:
BCP_IneffConstr_None  None of the constraints are ever considered ineffective.

That is, once a constraint is added to the formulation it will remain there.

BCP_IneffConstr_NonzeroSlack  Constraints with nonzero (primal) slack value are considered ineffective.
BCP_IneffConstr_ZeroDualValue  Constraints with dual variables at level zero are considered ineffective.

Note that for any primal-dual solution pair that is optimal for the LP relaxation, this set of constraints is a superset of the previous set.

Definition at line 179 of file BCP_enum.hpp.

enum BCP_feasibility

This enumerative constant describes the possible return codes of the function that tests MIP feasibility of a solution to an LP relaxation.

Enumerator:
BCP_NotFeasible  The solution is not MIP feasible.
BCP_Feasible  The solution is MIP feasible.
BCP_HeuristicFeasible  The solution is not MIP feasible but the user was able to derive a MIP feasible solution from it (e.g.

by rounding). In this case, the feasible solution will be sent to the Tree Manager.

Definition at line 200 of file BCP_enum.hpp.

enum BCP_feasibility_test

This enumerative constant describes which built-in feasibility-testing routine should be invoked.

This assumes the user does not override the feasibility-testing method. Note that the last option could be used for any problem. However, if we do know the integrality types of the variables then specifying the corresponding option leads to a more efficient code.

Enumerator:
BCP_Binary_Feasible  The problem is feasible if all primal variables take values 0 or 1.

(Use this if and only if every variable is binary.)

BCP_Integral_Feasible  The problem is feasible if all primal variables are integral.

(Use this if and only if every variable is integral.)

BCP_FullTest_Feasible  The problem is feasible if all non-continuous variables are integral.

Definition at line 219 of file BCP_enum.hpp.

enum BCP_dual_status

Enumerator:
BCP_TotalDualFeasible 
BCP_TotalDualFeasible_HasAllIndexed 
BCP_TotalDualFeasible_NotAllIndexed 
BCP_NotTotalDualFeasible 

Definition at line 234 of file BCP_enum.hpp.

enum BCP_pricing_status

This enumerative constant describes what sort of columns to generate in case column generation is requested.

This is a bitmap, various bits indicating whether to generate that type.

Enumerator:
BCP_PriceNothing  Generate nothing.

Sort of stupid to request column generation and set this.

BCP_PriceAlgoVars  Generate algorithmic variables.
BCP_PriceUntilLastIndexedToPrice  Generate indexed variables but only check those in the yet-to-be-priced-named-variables buffer.
BCP_PriceAfterLastIndexedToPrice  Generate indexed variables, both those in the yet-to-be-priced-indexed-variables buffer, and those with user index bigger than the largest user index in the buffer.
BCP_PriceIndexedVars  If either one of the previous two is set then we have to price indexed variables.

Definition at line 249 of file BCP_enum.hpp.

enum BCP_object_origin

This enumerative constant describes the origin (originating process) of an object (variable or cut).

Enumerator:
BCP_Object_Leftover  The object was left over in the local variable or cut pool of the LP process from the previous iteration.
BCP_Object_Branching  The object originates from a branching object.

(The object is generated in the LP process.)

BCP_Object_FromGenerator  The object was generated by a variable or cut generator.
BCP_Object_FromPool  The object is from a variable or cut pool.
BCP_Object_FromTreeManager  The object is from the Tree Manager.

Definition at line 274 of file BCP_enum.hpp.

enum BCP_object_compare_result

This enumerative constant describes the possible outcomes when comparing two objects (variables or cuts).

Two objects are comparable if they expand to the same column/row with the possible exception of their objective coefficient/bounds.
A cut is "better" than another (comparable) cut if its bounds define a subinterval of the interval defined by the bounds of the comparable cut.
THINK*: How to compare variables?

Enumerator:
BCP_ObjsAreSame  The two objects are the same.
BCP_FirstObjIsBetter  The two objects are comparable but the first object is better.
BCP_SecondObjIsBetter  The two objects are comparable but the second object is better.
BCP_DifferentObjs  The two objects are not comparable or neither is better than the other.

Definition at line 301 of file BCP_enum.hpp.


Generated on Sun Nov 14 14:07:08 2010 for Coin-All by  doxygen 1.4.7