coin-Bcp
Public Types | List of all members
BCP_tm_par Struct Reference

Parameters used in the Tree Manager process. More...

#include <BCP_tm_param.hpp>

Inheritance diagram for BCP_tm_par:
Inheritance graph
[legend]

Public Types

enum  chr_params {
  DebugLpProcesses, DebugCgProcesses, DebugVgProcesses, DebugCpProcesses,
  DebugVpProcesses, GenerateVars, MessagePassingIsSerial, ReportWhenDefaultIsExecuted,
  TrimTreeBeforeNewPhase, RemoveExploredBranches, VerbosityShutUp, TmVerb_First,
  TmVerb_AllFeasibleSolutionValue, TmVerb_AllFeasibleSolution, TmVerb_BetterFeasibleSolutionValue, TmVerb_BetterFeasibleSolution,
  TmVerb_BestFeasibleSolution, TmVerb_NewPhaseStart, TmVerb_PrunedNodeInfo, TmVerb_TimeOfImprovingSolution,
  TmVerb_TrimmedNum, TmVerb_FinalStatistics, TmVerb_ReportDefault, TmVerb_Last,
  end_of_chr_params
}
 Character parameters. More...
 
enum  int_params {
  WarmstartInfo, MaxHeapSize, TmVerb_SingleLineInfoFrequency, TreeSearchStrategy,
  NiceLevel, LpProcessNum, CgProcessNum, CpProcessNum,
  VgProcessNum, VpProcessNum, TmTimeout, LPscheduler_MaxNodeIdNum,
  LPscheduler_MaxSbIdNum, LPscheduler_MinSbIdNum, end_of_int_params
}
 Integer parameters. More...
 
enum  dbl_params {
  UnconditionalDiveProbability, QualityRatioToAllowDiving_HasUB, QualityRatioToAllowDiving_NoUB, Granularity,
  MaxRunTime, TerminationGap_Absolute, TerminationGap_Relative, UpperBound,
  LPscheduler_OverEstimationStatic, LPscheduler_SwitchToRateThreshold, LPscheduler_FactorTimeHorizon, LPscheduler_OverEstimationRate,
  LPscheduler_MaxNodeIdRatio, end_of_dbl_params
}
 Double parameters. More...
 
enum  str_params {
  SaveRootCutsTo, ReadRootCutsFrom, ExecutableName, LogFileName,
  end_of_str_params
}
 String parameters. More...
 
enum  str_array_params {
  LpMachines, CgMachines, VgMachines, CpMachines,
  VpMachines, end_of_str_array_params
}
 ??? More...
 

Detailed Description

Parameters used in the Tree Manager process.

These parameters can be set in the original parameter file by including the following line:
BCP_{parameter name} {parameter value}

Definition at line 10 of file BCP_tm_param.hpp.

Member Enumeration Documentation

Character parameters.

Most of these variables are used as booleans (true = 1, false = 0).

Enumerator
DebugLpProcesses 

Indicates whether to debug LP processes or not.

Values: 1 (true), 0 (false). Default: 0.

DebugCgProcesses 

Indicates whether to debug Cut Generator processes or not.

Values: 1 (true), 0 (false). Default: 0.

DebugVgProcesses 

Indicates whether to debug Variable Generator processes or not.

Values: 1 (true), 0 (false). Default: 0.

DebugCpProcesses 

Indicates whether to debug Cut Pool processes or not.

Values: 1 (true), 0 (false). Default: 0.

DebugVpProcesses 

Indicates whether to debug Variable Pool processes or not.

Values: 1 (true), 0 (false). Default: 0.

GenerateVars 

Indicates whether to variable generation will take place or not.

Values: 1 (true), 0 (false). Default: 0.

MessagePassingIsSerial 

Indicates whether message passing is serial (all processes are on the same processor) or not.

Values: 1 (true), 0 (false). Default: 0.

ReportWhenDefaultIsExecuted 

Print out a message when the default version of an overridable method is executed.

Default: 1.

TrimTreeBeforeNewPhase 

Indicates whether to trim the search tree before a new phase.

Values: 1 (true), 0 (false). Default: 0.

RemoveExploredBranches 

Indicates whether that part of the tree that's completely explored should be freed as soon as possible.

This conserves memory, but may make it harder to track what's happening in the tree. Values: 1 (true), 0 (false). Default: 1.

VerbosityShutUp 

A flag that instructs BCP to be (almost) absolutely silent.

It zeros out all the XxVerb flags even if the verbosity flag is set to 1 later in the parameter file. Exceptions (flags whose status is not changed) are: TmVerb_SingleLineInfoFrequency, TmVerb_FinalStatistics and TmVerb_BestFeasibleSolution. Default: 0.

TmVerb_First 

Verbosity flags for the tree manager.

Just a marker for the first TmVerb

TmVerb_AllFeasibleSolutionValue 

Print the value of any integer feasible solution found.

(BCP_tm_prob::process_message)

TmVerb_AllFeasibleSolution 

Invoke the user-written "display_feasible_solution" function if any* feasible solution is found.

(BCP_tm_prob::process_message)

TmVerb_BetterFeasibleSolutionValue 

Print the value of the integer solution when a solution better than the current best solution is found.

(BCP_tm_prob::process_message)

TmVerb_BetterFeasibleSolution 

Invoke the user-written "display_feasible_solution" function if a better integral feasible solution is found.

(BCP_tm_prob::process_message)

TmVerb_BestFeasibleSolution 

Invoke "display_feasible_solution" user routine for the best feasible solution after the entire tree is processed.

(BCP_tm_wrapup)

TmVerb_NewPhaseStart 

Print the "Starting phase x" line.

(BCP_tm_tasks_before_new_phase)

TmVerb_PrunedNodeInfo 

Print information about nodes that are pruned by bound in the tree manager.

These nodes would be returned by the LP if they were sent there, so prune them in the TM instead. (BCP_tm_start_one_node)

TmVerb_TimeOfImprovingSolution 

Print the time (and the solution value and solution if the above paramters are set appropriately) when any/better solution is found.

(BCP_tm_prob::process_message)

TmVerb_TrimmedNum 

Print the number of nodes trimmed between phases.

(BCP_tm_trim_tree_wrapper)

TmVerb_FinalStatistics 

Print statistics: running time, tree size, best solution value.

(For the best solution set TmVerb_BestFeasibleSolution.

TmVerb_ReportDefault 

Print out a message when the default version of an overridable method is executed.

Default: 1.

TmVerb_Last 

Just a marker for the last TmVerb.

end_of_chr_params 

Definition at line 13 of file BCP_tm_param.hpp.

Integer parameters.

Enumerator
WarmstartInfo 

Specifies how warmstart information should be stored in the TM.

Possible valueas: BCP_WarmstartNone, BCP_WarmstartRoot, BCP_WarmstartParent. The first is obvious, the second means the root node's warmstart info should be sent out along with each node, the last means the parent's warmstart info should be sent out. Default: BCP_WarmstartParent

MaxHeapSize 

The maximum size of the memory heap the TM can use.

If the TM reaches this limit then it converts an LP process into a TS (storage) process). If positive, it's the number of megabytes. 0 indicates the TM should attempt to find this out. -1 indicates that no TS process should be created. Default: -1.

TmVerb_SingleLineInfoFrequency 

At every this many search tree node provide a single line info on the progress of the search tree.

If <= 0 then never. Default: 0.

TreeSearchStrategy 

Which search tree enumeration strategy should be used.

Values: 0 (BCP_BestFirstSearch), 1 (BCP_BreadthFirstSearch), 2 (BCP_DepthFirstSearch). Default: 0

NiceLevel 

How resource-hog the processes should be.

Interpretation is system dependent, and the value is passed directly to the renice() function. Usually the bigger the number the less demanding the processes will be.

LpProcessNum 

The number of LP processes that should be spawned.

CgProcessNum 

The number of Cut Generator processes that should be spawned.

CpProcessNum 

The number of Cut Pool processes that should be spawned.

Values:

VgProcessNum 

The number of Variable Generator processes that should be spawned.

VpProcessNum 

The number of Variable Pool processes that should be spawned.

TmTimeout 

???

LPscheduler_MaxNodeIdNum 

Parameters related to scheduling the LP processes.

LPscheduler_MaxSbIdNum 

Max how many SB nodes should the scheduler give to an LP process.

LPscheduler_MinSbIdNum 

Parameters related to scheduling the LP processes.

end_of_int_params 

Definition at line 103 of file BCP_tm_param.hpp.

Double parameters.

Enumerator
UnconditionalDiveProbability 

The probability with which the LP process is directed to dive.

Values: Default:

QualityRatioToAllowDiving_HasUB 

The LP process is allowed to dive if the ratio between the quality (for now the presolved objective value) of the child to be kept and the best quality among the candidate nodes is not larger the this parameter.

This ratio is applied if an upper bound already exists. Values: Default:

QualityRatioToAllowDiving_NoUB 

Same as above, but this value is used if an upper bound does not exist yet.

Values: Default:

Granularity 

??? Values: Default:

MaxRunTime 

Maximum allowed running time.

TerminationGap_Absolute 

??? Values: Default:

TerminationGap_Relative 

??? Values: Default:

UpperBound 

??? Values: Default:

LPscheduler_OverEstimationStatic 

Parameters related to scheduling the LP processes.

LPscheduler_SwitchToRateThreshold 
LPscheduler_FactorTimeHorizon 
LPscheduler_OverEstimationRate 
LPscheduler_MaxNodeIdRatio 
end_of_dbl_params 

Definition at line 152 of file BCP_tm_param.hpp.

String parameters.

Enumerator
SaveRootCutsTo 

The name of the file where those cuts should be saved that were in the root node in the 0-th phase at the end of processing the root node.

ReadRootCutsFrom 

The name of the file where cuts to be added to the root description should be read ot from.

ExecutableName 

The name of the executable that's running (and that should be spawned on the other processors.

LogFileName 

???

end_of_str_params 

Definition at line 186 of file BCP_tm_param.hpp.

???

Enumerator
LpMachines 

???

CgMachines 

???

VgMachines 

???

CpMachines 

???

VpMachines 

???

end_of_str_array_params 

Definition at line 203 of file BCP_tm_param.hpp.


The documentation for this struct was generated from the following file: