next up previous external Back to SYMPHONY Home Page
Next: LP parameters Up: Parameter file Previous: Master Process parameters

Tree Manager parameters

TM_verbosity - integer (0).
The verbosity of TM.

lp_exe, cg_exe, cp_exe - strings (``glp_c'', ``cg'', ``cp'').
The name of the executable files of the LP, CG, and CP processes. Note: when running in parallel using PVM, these executables (or links to them) must reside in the PVM_ROOT/bin/PVM_ARCH/ directory. Also, be sure to note that the executable names may have extensions that depend on the configuration of the modules so these defaults may not work!

lp_debug, cg_debug, cp_debug - boolean (all FALSE).
Whether the processes should be started under a debugger or not.

max_active_nodes - integer (1).
The maximum number of active search tree nodes, equal to the number of LP and CG tandems to be started up.

max_cp_num - integer (0).
The maximum number of cut pools to be used.

lp_mach_num, cg_mach_num, cp_mach_num - integers (all 0).

The number of processors in the virtual machine to run LP (CG/CP) processes. If this value is 0 then the processes will be assigned to processors in round-robin order. Otherwise the next xx_mach_num lines describe the processors where the LP (CG/CP) processes must run. The keyword - value pairs on these lines must be TM_xx_machine and the name or IP address of a processor (the processor names need not be distinct). In this case the actual processes are assigned in a round robin fashion to the processors on this list.

This feature is useful if a specific software package is needed for some process, but that software is not licensed for every node of the virtual machine or if a certain process must run on a certain type of machine due to resource requirements.

use_cg - boolean (FALSE).
Whether to use a cut generator or not. This should be set to FALSE if COMPILE_IN_CG is set to TRUE in the make file.

TM_random_seed - integer (17).
A random seed just for TM.

unconditional_dive_frac - double (0.1).
The fraction of the nodes on which SYMPHONY randomly dives unconditionally into one of the children.

diving_strategy - integer (COMP_BEST_K).
The strategy employed when deciding whether to dive or not. The COMP_BEST_K strategy computes the average lower bound on the best diving_k search tree nodes and decides to dive if the objective value of the child to be dived into does not exceed this average by more than the fraction diving_threshold. (Currently this is the only implemented strategy.)

diving_k, diving_threshold - integer, double (20, 0.1).
See above.

node_selection_rule - integer (LOWEST_LP_FIRST).
The rule for selecting the next search tree node to be processed. This rule selects the one with lowest lower bound. Other possible values are: HIGHEST_LP_FIRST, BREADTH_FIRST_SEARCH and DEPTH_FIRST_SEARCH.

keep_description_of_pruned - integer (DISCARD).
Whether to keep the description of pruned search tree nodes or not. The only real reasons to do this are (1) if the user wants to write out a proof of optimality using the logging function, or (2) for debugging. Otherwise, keeping the pruned nodes around just takes up memory. There are two options if it is desired to keep them around. First, they can be written to disk and freed from memory ( KEEP_ON_DISK). In this case, the line following keep_description_of_pruned should be a line containing the keyword pruned_node_file_name with its corresponding value being the name of a file to which a description of the pruned nodes can be written. The file does not need to exist and will be over-written if it does not exist. Alternatively, the user can set the value to of this parameter to KEEP_IN_MEMORY, in which case all pruned nodes will be kept in memory and written out to the regular log file if that option is chosen. This is really only useful for debugging.

logging - boolean (FALSE).
Whether or not to write out the state of the search tree and all other necessary data to disk periodically in order to allow a warm start in the case of a system crash. In case logging is desired, the following two lines of the param file should contain the keywords tree_log_file_name and cut_log_file_name along with corresponding file names. These will be the files used to record the search tree and related data and the list of cuts needed to reconstruct the tree.

logging_interval - integer (1800).
Interval (in seconds) between writing out the log files.

cp_warm_start - boolean (0).
Used to allow the tree manager to make a warm start by reading in previously written log files. If this option is set, then the two line following must start with the keywords warm_start_tree_file_name and warm_start_cut_file_name and include the appropriate file names as the corresponding values.

price_in_root - boolean (FALSE).
Whether to price out variables in the root node before the second phase starts (called repricing the root).

trim_search_tree - boolean (FALSE).
Whether to trim the search tree before the second phase starts or not. Useful only if there are two phases. (It is very useful then.)

colgen_in_first_phase, colgen_in_second_phase - integers (both 4).
The column generation (or pricing out) strategy in the first phase of the algorithm. The default is to generate no columns before branching or fathoming. (I.e., both the BEFORE_BRANCH__DO_NOT_GENERATE_COLS and the FATHOM__DO_NOT_GENERATE_COLS__DISCARD bits are set in colgen_strat[0].)

time_limit - integer (0).
Number of seconds of wall-clock time allowed for solution. When this time limit is reached, the solution process will stop and the best solution found to that point, along with other relevant data, will be ouput. A time limit of zero means there is no limit.


next up previous external
Next: LP parameters Up: Parameter file Previous: Master Process parameters

Ted Ralphs
Fri Feb 11 13:47:59 CST 2000