00001 /*===========================================================================*/ 00002 /* */ 00003 /* This file is part of the SYMPHONY MILP Solver Framework. */ 00004 /* */ 00005 /* SYMPHONY was jointly developed by Ted Ralphs (tkralphs@lehigh.edu) and */ 00006 /* Laci Ladanyi (ladanyi@us.ibm.com). */ 00007 /* */ 00008 /* (c) Copyright 2000-2008 Ted Ralphs. All Rights Reserved. */ 00009 /* */ 00010 /* This software is licensed under the Common Public License. Please see */ 00011 /* accompanying file for terms. */ 00012 /* */ 00013 /*===========================================================================*/ 00014 00015 #ifndef _TM_PARAMS_H 00016 #define _TM_PARAMS_H 00017 00018 #include "sym_proto.h" 00019 00020 /*===========================================================================*\ 00021 * The params structure contains all of the user-specified parameters 00022 * to be read in from the parameter file. 00023 \*===========================================================================*/ 00024 00025 typedef struct TM_PARAMS{ 00026 int verbosity; 00027 double granularity; 00028 char lp_exe[MAX_FILE_NAME_LENGTH +1]; 00029 char cg_exe[MAX_FILE_NAME_LENGTH +1]; 00030 char cp_exe[MAX_FILE_NAME_LENGTH +1]; 00031 int lp_debug; 00032 int cg_debug; 00033 int cp_debug; 00034 int max_active_nodes; 00035 int max_cp_num; 00036 00037 /* if a ..._machine_num is not 0 and there MUST be that many machine 00038 names listed in ..._machines (one name can be listed more than once) */ 00039 int lp_mach_num; 00040 char **lp_machs; 00041 int cg_mach_num; 00042 char **cg_machs; 00043 int cp_mach_num; 00044 char **cp_machs; 00045 00046 int use_cg; 00047 00048 int random_seed; 00049 double unconditional_dive_frac; 00050 int diving_strategy; 00051 int diving_k; 00052 double diving_threshold; 00053 int node_selection_rule; 00054 00055 int keep_description_of_pruned; 00056 int vbc_emulation; 00057 char vbc_emulation_file_name[MAX_FILE_NAME_LENGTH +1]; 00058 int warm_start; 00059 int warm_start_node_limit; 00060 int warm_start_node_level; 00061 double warm_start_node_level_ratio; 00062 double warm_start_node_ratio; 00063 int logging; 00064 int logging_interval; 00065 int cp_logging; 00066 char pruned_node_file_name[MAX_FILE_NAME_LENGTH +1]; 00067 char warm_start_tree_file_name[MAX_FILE_NAME_LENGTH +1]; 00068 char warm_start_cut_file_name[MAX_FILE_NAME_LENGTH +1]; 00069 char tree_log_file_name[MAX_FILE_NAME_LENGTH +1]; 00070 char cut_log_file_name[MAX_FILE_NAME_LENGTH +1]; 00071 int price_in_root; 00072 int trim_search_tree; 00073 00074 int colgen_strat[2]; /* the column generattion strategy for the LP 00075 in the two phases */ 00076 int not_fixed_storage_size; 00077 double time_limit; 00078 double gap_limit; 00079 int node_limit; 00080 int find_first_feasible; 00081 00082 int sensitivity_analysis; 00083 00084 }tm_params; 00085 00086 #endif