/home/coin/svn-release/OptimizationSuite-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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Enumerator:
BCP_TotalDualFeasible 
BCP_TotalDualFeasible_HasAllIndexed 
BCP_TotalDualFeasible_NotAllIndexed 
BCP_NotTotalDualFeasible 

Definition at line 234 of file BCP_enum.hpp.

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.

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.

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 15 Mar 2015 for Coin-All by  doxygen 1.6.1