#include <BCP_lp_param.hpp>
Inheritance diagram for BCP_lp_par:
Public Types | |
BranchOnCuts | |
If true, BCP supports branching on cuts by providing potential branching candidates for the user. | |
CompareNewCutsToOldOnes | |
If true then the LP process will check each newly received cut whether it already exists in the local cut pool or not. | |
CompareNewVarsToOldOnes | |
If true then the LP process will check each newly arrived variable whether it already exists in the local variable pool or not. | |
DoReducedCostFixingAtZero | |
If true the BCP will attempt to do reduced cost fixing only for variables currently at zero. | |
DoReducedCostFixingAtAnything | |
If true the BCP will attempt to do reduced cost fixing for any variable, no matter what is their current value. | |
MaintainIndexedVarPricingList | |
Indicate whether BCP is supposed to track the indexed variables yet to be priced out. | |
MessagePassingIsSerial | |
Indicates whether message passing is serial (all processes are on the same processor) or not. | |
ReportWhenDefaultIsExecuted | |
Print out a message when the default version of an overridable method is executed. | |
SendFathomedNodeDesc | |
Whether to send back the description of fathomed search tree nodes to the Tree Manager. | |
NoCompressionAtFathom | |
Whether we should refrain from compressing the problem description right before a fathomed node's description is sent back to the tree manager. | |
end_of_chr_params | |
NiceLevel | |
What should be the "niceness" of the LP process. | |
ScaleMatrix | |
Indicates how matrix scaling should be performed. | |
IndexedToPriceStorageSize | |
Indicates the number of entries stored in a BCP_indexed_pricing_list . | |
SlackCutDiscardingStrategy | |
The slack cut discarding strategy used in the default version of the function purge_slack_pool() . | |
CutEffectiveCountBeforePool | |
A cut has to remain effective through this many iterations in the LP before it is sent to the Cut Pool process. | |
CutPoolCheckFrequency | |
The Cut Pool is queried for violated valid inequalities after the first LP relaxation is solved and then after every this many iterations. | |
VarPoolCheckFrequency | |
The Variable Pool is queried for columns that improve the formulation after the first LP realxation is solved, and then after every this many iterations. | |
IneffectiveConstraints | |
Indicates which constraints should be considered ineffective. | |
IneffectiveBeforeDelete | |
How many times in a row a constraint must be found ineffective before it is marked for deletion. | |
MaxNonDualFeasToAdd_Min | |
The number of non dual-feasible colums that can be added at a time to the formulation is a certain fraction (MaxNonDualFeasToAdd_Frac ) of the number of columns in the current formulation. | |
MaxNonDualFeasToAdd_Max | |
See the description of the previous parameter. | |
MaxIndexedToPriceToAdd_Min | |
When the tableau is total dual feasible some of variables from the list of the not yet fixed indexed variables are added to the formulation so that the list can be shorter in the descendant nodes (or may become empty). | |
MaxIndexedToPriceToAdd_Max | |
See the description of the previous parameter. | |
CutViolationNorm | |
How cut violation should be computed. | |
MaxCutsAddedPerIteration | |
The maximum number of violated valid inequalities that can be added per iteration. | |
MaxVarsAddedPerIteration | |
The maximum number of variables that can be added per iteration. | |
MaxLeftoverCutNum | |
The maximum number of violated but not added cuts to be kept from one iteration to the next. | |
DeletedColToCompress_Min | |
The number of columns that must be marked for deletion before matrix compression can occur. | |
DeletedRowToCompress_Min | |
The number of rows that must be marked for deletion before matrix compression can occur. | |
MaxPresolveIter | |
Upper limit on the number of iterations performed in each of the children of the search tree node when presolving branching candidates. | |
StrongBranch_CloseToHalfNum | |
Specifies how many branching variables with values close to half between two integers should be chosen by the built-in branching variable selection routine select_branching_candidates() (if this routine is used at all). | |
StrongBranch_CloseToOneNum | |
Specifies how many branching variables with values close to an integer should be chosen by the built-in branching variable selection routine select_branching_candidates() (if this routine is used at all). | |
BranchingObjectComparison | |
Specifies the rule used for built-in branching object comparison (if the buit-in routine is used at all). | |
ChildPreference | |
Specifies the rule used for selecting one of the children of the search tree node for diving. | |
FeasibilityTest | |
Specifies which built-in MIP feasibility testing routine should be invoked (if a buit-in routine is used at all). | |
InfoForCG | |
Indicates what part of the primal solution is sent to the Cut Generator process if the BCP_lp_user::pack_primal_solution() method is not overridden. | |
InfoForVG | |
Indicates what part of the dual solution is sent to the Variable Generator process if the BCP_lp_user::pack_dual_solution() method is not overridden. | |
end_of_int_params | |
Granularity | |
The minimum difference between the objective value of any two feasible solution (with different objective values). | |
DeletedColToCompress_Frac | |
The fraction of columns that must be marked for deletion before matrix compression can occur. | |
DeletedRowToCompress_Frac | |
The fraction of rows that must be marked for deletion before matrix compression can occur. | |
MaxNonDualFeasToAdd_Frac | |
The number of non dual-feasible colums that can be added to the formulation at a time cannot exceed this fraction of the the number of columns in the curent formulation. | |
MaxIndexedToPriceToAdd_Frac | |
When the tableau is total dual feasible and variables from the list of the not yet fixed indexed variables are added to the formulation, the number of such columns is limited to this fraction of the columns currently in the formulation. | |
MaxLeftoverCutFrac | |
The maximum fraction of the violated but not added cuts to be kept from one iteration to the next. | |
IntegerTolerance | |
Values not further from an integer value than the value of this parameter are considered to be integer. | |
FirstLP_FirstCutTimeout | |
This and the following three parameters control how long the LP process waits for generated cuts. | |
LaterLP_FirstCutTimeout | |
This parameter specifies the time to wait for the first generated cut at iterations that are not the first at a search tree node. | |
FirstLP_AllCutsTimeout | |
This parameter specifies the time to wait for cuts at the first LP relaxation at a search tree node. | |
LaterLP_AllCutsTimeout | |
This parameter specifies the time to wait for cuts at iterations that are not the first at a search tree node. | |
FirstLP_FirstVarTimeout | |
This and the following three parameters control how long the LP process waits for generated variables. | |
LaterLP_FirstVarTimeout | |
This parameter specifies the time to wait for the first generated variable at iterations that are not the first at a search tree node. | |
FirstLP_AllVarsTimeout | |
This parameter specifies the time to wait for variables at the first LP relaxation at a search tree node. | |
LaterLP_AllVarsTimeout | |
This parameter specifies the time to wait for variables at iterations that are not the first at a search tree node. | |
end_of_dbl_params | |
LogFileName | |
The filename all the output should go to. | |
end_of_str_params | |
str_array_dummy | |
end_of_str_array_params | |
enum | chr_params { BranchOnCuts, CompareNewCutsToOldOnes, CompareNewVarsToOldOnes, DoReducedCostFixingAtZero, DoReducedCostFixingAtAnything, MaintainIndexedVarPricingList, MessagePassingIsSerial, ReportWhenDefaultIsExecuted, SendFathomedNodeDesc, NoCompressionAtFathom, LpVerb_First, LpVerb_AddedCutCount, LpVerb_AddedVarCount, LpVerb_ChildrenInfo, LpVerb_ColumnGenerationInfo, LpVerb_CutsToCutPoolCount, LpVerb_VarsToVarPoolCount, LpVerb_FathomInfo, LpVerb_IterationCount, LpVerb_RelaxedSolution, LpVerb_FinalRelaxedSolution, LpVerb_LpMatrixSize, LpVerb_LpSolutionValue, LpVerb_MatrixCompression, LpVerb_NodeTime, LpVerb_PresolvePositions, LpVerb_PresolveResult, LpVerb_ProcessedNodeIndex, LpVerb_ReportCutGenTimeout, LpVerb_ReportVarGenTimeout, LpVerb_ReportLocalCutPoolSize, LpVerb_ReportLocalVarPoolSize, LpVerb_RepricingResult, LpVerb_VarTightening, LpVerb_RowEffectivenessCount, LpVerb_StrongBranchPositions, LpVerb_StrongBranchResult, LpVerb_GeneratedCutCount, LpVerb_GeneratedVarCount, LpVerb_Last, end_of_chr_params } |
Character parameters. More... | |
enum | int_params { NiceLevel, ScaleMatrix, IndexedToPriceStorageSize, SlackCutDiscardingStrategy, CutEffectiveCountBeforePool, CutPoolCheckFrequency, VarPoolCheckFrequency, IneffectiveConstraints, IneffectiveBeforeDelete, MaxNonDualFeasToAdd_Min, MaxNonDualFeasToAdd_Max, MaxIndexedToPriceToAdd_Min, MaxIndexedToPriceToAdd_Max, CutViolationNorm, MaxCutsAddedPerIteration, MaxVarsAddedPerIteration, MaxLeftoverCutNum, DeletedColToCompress_Min, DeletedRowToCompress_Min, MaxPresolveIter, StrongBranch_CloseToHalfNum, StrongBranch_CloseToOneNum, BranchingObjectComparison, ChildPreference, FeasibilityTest, InfoForCG, InfoForVG, end_of_int_params } |
Integer parameters. More... | |
enum | dbl_params { Granularity, DeletedColToCompress_Frac, DeletedRowToCompress_Frac, MaxNonDualFeasToAdd_Frac, MaxIndexedToPriceToAdd_Frac, MaxLeftoverCutFrac, IntegerTolerance, FirstLP_FirstCutTimeout, LaterLP_FirstCutTimeout, FirstLP_AllCutsTimeout, LaterLP_AllCutsTimeout, FirstLP_FirstVarTimeout, LaterLP_FirstVarTimeout, FirstLP_AllVarsTimeout, LaterLP_AllVarsTimeout, end_of_dbl_params } |
Double parameters. More... | |
enum | str_params { LogFileName, end_of_str_params } |
String parameters. More... | |
enum | str_array_params { str_array_dummy, end_of_str_array_params } |
There are no string array parameters. More... | |
Verbosity Parameters. | |
These are all true/false parameters; if the parameter value is set then the corresponding information is printed. |
These parameters can be set in the original parameter file by including the following line:
BCP_{parameter name} {parameter value}
.
Definition at line 14 of file BCP_lp_param.hpp.
Character parameters.
All of these variables are used as booleans (true = 1, false = 0).
Reimplemented in BCP_parameter_set< BCP_lp_par >.
Definition at line 17 of file BCP_lp_param.hpp.
Integer parameters.
NiceLevel |
What should be the "niceness" of the LP process.
In a *nix environment the LP process will be reniced to this level. |
ScaleMatrix |
Indicates how matrix scaling should be performed.
This parameter is directly passed to the LP solver's |
IndexedToPriceStorageSize |
Indicates the number of entries stored in a BCP_indexed_pricing_list .
|
SlackCutDiscardingStrategy |
The slack cut discarding strategy used in the default version of the function purge_slack_pool() .
|
CutEffectiveCountBeforePool |
A cut has to remain effective through this many iterations in the LP before it is sent to the Cut Pool process.
|
CutPoolCheckFrequency |
The Cut Pool is queried for violated valid inequalities after the first LP relaxation is solved and then after every this many iterations.
|
VarPoolCheckFrequency |
The Variable Pool is queried for columns that improve the formulation after the first LP realxation is solved, and then after every this many iterations.
|
IneffectiveConstraints | Indicates which constraints should be considered ineffective. |
IneffectiveBeforeDelete |
How many times in a row a constraint must be found ineffective before it is marked for deletion.
|
MaxNonDualFeasToAdd_Min |
The number of non dual-feasible colums that can be added at a time to the formulation is a certain fraction (MaxNonDualFeasToAdd_Frac ) of the number of columns in the current formulation.
However, if the computed number is outside of the range |
MaxNonDualFeasToAdd_Max |
See the description of the previous parameter.
|
MaxIndexedToPriceToAdd_Min |
When the tableau is total dual feasible some of variables from the list of the not yet fixed indexed variables are added to the formulation so that the list can be shorter in the descendant nodes (or may become empty).
These parameters play the same role in limiting the number of such variables as the two previous parameters for the non dual feasible variables. |
MaxIndexedToPriceToAdd_Max |
See the description of the previous parameter.
|
CutViolationNorm | How cut violation should be computed. |
MaxCutsAddedPerIteration |
The maximum number of violated valid inequalities that can be added per iteration.
|
MaxVarsAddedPerIteration |
The maximum number of variables that can be added per iteration.
|
MaxLeftoverCutNum |
The maximum number of violated but not added cuts to be kept from one iteration to the next.
Also see the MaxLeftoverCutFrac parameter. |
DeletedColToCompress_Min |
The number of columns that must be marked for deletion before matrix compression can occur.
Matrix compressions also subject to a minimum number of marked columns as a fraction of the current number of columns (see |
DeletedRowToCompress_Min |
The number of rows that must be marked for deletion before matrix compression can occur.
Matrix compressionis also subject to a minimum number of marked columns as a fraction of the current number of columns (see |
MaxPresolveIter |
Upper limit on the number of iterations performed in each of the children of the search tree node when presolving branching candidates.
This parameter is passed onto the LP solver. If the parameter is set to -1 then the branching candidates are not presolved and the first branching candidate is chosen (if there is any). |
StrongBranch_CloseToHalfNum |
Specifies how many branching variables with values close to half between two integers should be chosen by the built-in branching variable selection routine select_branching_candidates() (if this routine is used at all).
This number is passed onto the |
StrongBranch_CloseToOneNum |
Specifies how many branching variables with values close to an integer should be chosen by the built-in branching variable selection routine select_branching_candidates() (if this routine is used at all).
This number is passed onto the |
BranchingObjectComparison |
Specifies the rule used for built-in branching object comparison (if the buit-in routine is used at all).
|
ChildPreference | Specifies the rule used for selecting one of the children of the search tree node for diving. |
FeasibilityTest |
Specifies which built-in MIP feasibility testing routine should be invoked (if a buit-in routine is used at all).
|
InfoForCG |
Indicates what part of the primal solution is sent to the Cut Generator process if the BCP_lp_user::pack_primal_solution() method is not overridden.
|
InfoForVG |
Indicates what part of the dual solution is sent to the Variable Generator process if the BCP_lp_user::pack_dual_solution() method is not overridden.
|
end_of_int_params |
Reimplemented in BCP_parameter_set< BCP_lp_par >.
Definition at line 162 of file BCP_lp_param.hpp.
Double parameters.
Granularity |
The minimum difference between the objective value of any two feasible solution (with different objective values).
|
DeletedColToCompress_Frac |
The fraction of columns that must be marked for deletion before matrix compression can occur.
Matrix compression is also subject to a minimum number of marked columns (see |
DeletedRowToCompress_Frac |
The fraction of rows that must be marked for deletion before matrix compression can occur.
Matrix compression is also subject to a minimum number of marked rows (see |
MaxNonDualFeasToAdd_Frac |
The number of non dual-feasible colums that can be added to the formulation at a time cannot exceed this fraction of the the number of columns in the curent formulation.
However, this limit can be overruled by the hard bounds |
MaxIndexedToPriceToAdd_Frac |
When the tableau is total dual feasible and variables from the list of the not yet fixed indexed variables are added to the formulation, the number of such columns is limited to this fraction of the columns currently in the formulation.
However, this limit might be overruled by the hard bounds |
MaxLeftoverCutFrac |
The maximum fraction of the violated but not added cuts to be kept from one iteration to the next.
Also see the MaxLeftoverCutNum parameter. |
IntegerTolerance |
Values not further from an integer value than the value of this parameter are considered to be integer.
|
FirstLP_FirstCutTimeout |
This and the following three parameters control how long the LP process waits for generated cuts.
The parameters specify waiting times (in seconds) separately for the first and later LP relaxations at a search tree node, and also the time to receive the first cut vs all the cuts. |
LaterLP_FirstCutTimeout |
This parameter specifies the time to wait for the first generated cut at iterations that are not the first at a search tree node.
See the remarks at |
FirstLP_AllCutsTimeout |
This parameter specifies the time to wait for cuts at the first LP relaxation at a search tree node.
See the remarks at |
LaterLP_AllCutsTimeout |
This parameter specifies the time to wait for cuts at iterations that are not the first at a search tree node.
See the remarks at |
FirstLP_FirstVarTimeout |
This and the following three parameters control how long the LP process waits for generated variables.
These parameters are analogous to the ones that control the waiting time for generated cuts. See the remarks at |
LaterLP_FirstVarTimeout |
This parameter specifies the time to wait for the first generated variable at iterations that are not the first at a search tree node.
See the remarks at |
FirstLP_AllVarsTimeout |
This parameter specifies the time to wait for variables at the first LP relaxation at a search tree node.
See the remarks at |
LaterLP_AllVarsTimeout |
This parameter specifies the time to wait for variables at iterations that are not the first at a search tree node.
See the remarks at |
end_of_dbl_params |
Reimplemented in BCP_parameter_set< BCP_lp_par >.
Definition at line 329 of file BCP_lp_param.hpp.
String parameters.
Reimplemented in BCP_parameter_set< BCP_lp_par >.
Definition at line 447 of file BCP_lp_param.hpp.
There are no string array parameters.
Reimplemented in BCP_parameter_set< BCP_lp_par >.
Definition at line 455 of file BCP_lp_param.hpp.