Dip  0.92.4
sym_lp_params.h
Go to the documentation of this file.
1 /*===========================================================================*/
2 /* */
3 /* This file is part of the SYMPHONY MILP Solver Framework. */
4 /* */
5 /* SYMPHONY was jointly developed by Ted Ralphs (ted@lehigh.edu) and */
6 /* Laci Ladanyi (ladanyi@us.ibm.com). */
7 /* */
8 /* (c) Copyright 2000-2019 Ted Ralphs. All Rights Reserved. */
9 /* */
10 /* This software is licensed under the Eclipse Public License. Please see */
11 /* accompanying file for terms. */
12 /* */
13 /*===========================================================================*/
14 
15 #ifndef _LP_PARAMS_H
16 #define _LP_PARAMS_H
17 
18 #include "sym_constants.h"
19 #include "sym_timemeas.h"
20 
21 /*---------------------------------------------------------------------------*\
22 | The list of parameters associated with processing a node in the branch and |
23 | cut tree. See the README file for an explanation of the parameters |
24 \*---------------------------------------------------------------------------*/
25 
26 typedef struct CUT_TIME_OUT{
30 
31 typedef struct CGL_PARAMS{
32  /* Cut generation in LP */
47 
60 
73 
76 
84 
93 }cgl_params;
94 
95 typedef struct LP_PARAMS{
96  int verbosity;
97  double granularity;
98  int use_cg;
102  double time_limit;
103  int debug_lp;
104 
106  /* TRUE: save the base model after root solve and then load it each time we
107  * start a new chain (dive). FALSE: load the model from scratch. Basis
108  * information is loaded separately in both cases for a warm start. Cant be
109  * set by user.
110  */
112 
113  /* these two are passed directly to the lp solver */
114  int scaling;
115  int fastmip;
116 
117  /*
118  * should we do initial_solve() or dual_simplex() when we start a new
119  * chain. both have pros and cons and asm4 is not sure what to do.
120  */
122 
123 
125  /* ZERO_ONE_PROBLEM / INTEGER_PROBLEM / MIXED_INTEGER_PROBLEM */
128 
130 
132 
136 
139 
140  /* parameters constraining the growth of the matrix */
147 
152 
153  /* parameters governing tailing off checking */
160 
165 
166  int branch_on_cuts; /* TRUE / FALSE */
168 
171 
177 
180 
181  /* Reduced cost and logical fixing parameters */
188 
189  /* CGL parameters */
191 
192  /* Parameters affecting branching */
194 
195  /*Defaults for the user supplied routines*/
217 
218  int rel_br_threshold; /* how many times to do strong branching
219  on each variable before using pseudo
220  cost estimates */
221  int rel_br_cand_threshold; /* how many candidates to solve
222  using strong branching without
223  any improvement in score before
224  stopping */
225  int rel_br_max_solves; /* stop after these many LP-solve calls
226  regardless of improvement */
227 
234 
235  /* Multi-criteria parameters */
239  double mc_rho; /* For augmented Chebyshev norm */
240  double mc_gamma; /* Weight on first objective */
241  double mc_tau; /* Weight on second objective */
242 
244 
245 
248 
249  /* feasibility pump parameters */
258  double fp_min_gap;
259  double fp_fix_ratio;
260 
261  /* rounding */
265 
266  /* shifting */
270 
271  /* local search */
274  double ls_min_gap;
275  double ls_fix_ratio;
276 
277  /* restricted search */
285  double fr_incr_ratio;
286  double fr_min_gap;
289 
290  /* rins search */
294  double rs_min_gap;
297 
298  /* restricted/rinse search mode */
301 
302  /* local branching */
305  double lb_min_gap;
309 
310  /* diving search */
328  double ds_incr_ratio;
332  double ds_min_gap;
333 
334  /* to avoid nested for loops, check if userind's are in order */
336 }lp_params;
337 
338 #endif
double fp_min_gap
int try_to_recover_from_error
int generate_cgl_twomir_cuts_freq
Definition: sym_lp_params.h:54
int use_chain_strategy
Definition: sym_lp_params.h:85
int max_not_fixable_to_add_max
int generate_cgl_clique_cuts
Definition: sym_lp_params.h:42
double fractional_diving_ratio
int rel_br_chain_backtrack
int max_cut_num_per_iter
double shifting_min_gap
int chain_trial_freq
Definition: sym_lp_params.h:89
int oddhole_max_depth
Definition: sym_lp_params.h:82
double rel_br_max_imp
int generate_cgl_knapsack_cuts_freq
Definition: sym_lp_params.h:50
int ds_crossover_enabled
int rel_br_cand_threshold
double fr_incr_ratio
int use_sos_branching
double rs_min_gap
double all_cuts_time_out
Definition: sym_lp_params.h:28
int ds_rank_fix_enabled
int ds_euc_enabled
int problem_type
int rel_br_max_solves
int generate_cgl_gomory_cuts
Definition: sym_lp_params.h:35
int landp_generated_in_root
Definition: sym_lp_params.h:72
double granularity
Definition: sym_lp_params.h:97
int shifting_enabled
int rs_mode_enabled
int best_violation_length[CGL_NUM_GENERATORS]
double strong_branching_high_low_weight
double strong_branching_red_ratio
struct CUT_TIME_OUT cut_time_out
int ds_fractional_enabled
int generate_cgl_landp_cuts
Definition: sym_lp_params.h:46
double fr_min_c_fixed_ratio
int strong_br_all_candidates_level
double fp_time_limit
double lb_min_gap
int twomir_max_depth
Definition: sym_lp_params.h:80
double fp_max_initial_time
int fr_max_nodes
double mc_gamma
int generate_cgl_lift_and_project_cuts
Definition: sym_lp_params.h:45
int generate_cgl_redsplit_cuts
Definition: sym_lp_params.h:36
double ls_fix_ratio
int base_constraints_always_effective
int user_set_strong_branching_cand_num
int rel_br_threshold
int discard_slack_cuts
int lift_and_project_generated_in_root
Definition: sym_lp_params.h:71
cut_time_out later_lp
int lb_first_feas_enabled
int generate_cgl_probing_cuts
Definition: sym_lp_params.h:39
int use_hot_starts
int gomory_generated_in_root
Definition: sym_lp_params.h:61
int tried_long_cuts
int twomir_generated_in_root
Definition: sym_lp_params.h:67
int ds_rank_enabled
int shall_we_branch_default
int probing_generated_in_root
Definition: sym_lp_params.h:65
double time_limit
int ls_frequency
int send_feasible_solution_default
int redsplit_generated_in_root
Definition: sym_lp_params.h:62
int tailoff_max_no_iterative_impr_iters_root
int do_primal_heuristic
double gap_as_last_gap_frac
int rs_lp_iter_limit
int probing_max_depth
Definition: sym_lp_params.h:78
int max_cut_num_per_iter_root
int is_feasible_default
int generate_cgl_gomory_cuts_freq
Definition: sym_lp_params.h:48
double rel_br_min_imp
int ds_vlength_enabled
int fp_max_cycles
int gomory_max_depth
Definition: sym_lp_params.h:77
int ds_vlength_fix_enabled
int mat_col_compress_num
int ds_root_enabled
int fr_dive_level
double gap_as_ub_frac
int generate_cgl_redsplit_cuts_freq
Definition: sym_lp_params.h:49
int select_candidates_default
int max_depth_for_cgl_cuts
Definition: sym_lp_params.h:34
int rounding_frequency
double ls_min_gap
int clique_max_depth
Definition: sym_lp_params.h:81
double best_violation[CGL_NUM_GENERATORS]
int use_branching_prep
int do_logical_fixing
int strong_branching_cand_num_min
int max_chain_trial_num
Definition: sym_lp_params.h:88
int load_balance_compare_candidates
double chain_weighted_gap
Definition: sym_lp_params.h:91
int lb_frequency
double fp_flip_fraction
int should_reuse_lp
int sos_branching_max_level
int mc_add_optimality_cuts
int load_balance_level
int generate_cgl_lift_and_project_cuts_freq
Definition: sym_lp_params.h:58
int ineff_cnt_to_delete
int fractional_diving_num
int user_set_max_presolve_iter
double tailoff_obj_frac
int ds_crossover_fix_enabled
int chain_check_index
Definition: sym_lp_params.h:90
int generate_cgl_flowcover_cuts_freq
Definition: sym_lp_params.h:56
int generate_cgl_twomir_cuts
Definition: sym_lp_params.h:41
struct LP_PARAMS lp_params
double mc_tau
int no_impr_in_obj
int generate_cgl_oddhole_cuts
Definition: sym_lp_params.h:38
double ds_solve_ip_col_ratio
int rel_br_override_max_solves
double fr_max_c_fixed_ratio
int ds_pc_enabled
int max_chain_backtrack
Definition: sym_lp_params.h:87
int not_fixed_storage_size
int generate_cgl_mir_cuts_freq
Definition: sym_lp_params.h:53
int rel_br_override_default
double mat_col_compress_ratio
cut_time_out first_lp
int max_non_dual_feas_to_add_min
int ds_coeff_enabled
double max_not_fixable_to_add_frac
int max_not_fixable_to_add_min
int generate_cgl_clique_cuts_freq
Definition: sym_lp_params.h:55
int strong_branching_cand_num_max
int ds_guided_enabled
double rounding_min_gap
int rs_max_nodes
int generate_cgl_cuts
Definition: sym_lp_params.h:33
int should_warmstart_chain
double ds_incr_ratio
double mc_rho
int max_non_dual_feas_to_add_max
int chain_status
Definition: sym_lp_params.h:86
int flowcover_generated_in_root
Definition: sym_lp_params.h:69
double fr_min_gap
int generate_cgl_oddhole_cuts_freq
Definition: sym_lp_params.h:51
int mc_find_supported_solutions
double first_cut_time_out
Definition: sym_lp_params.h:27
int branch_on_cuts
int tailoff_obj_backsteps
double ds_solve_ip_min_gap
int generate_cgl_rounding_cuts_freq
Definition: sym_lp_params.h:57
double fp_display_interval
int ds_frequency
double mat_row_compress_ratio
int flowcover_max_depth
Definition: sym_lp_params.h:79
double fr_max_int_fixed_ratio
int should_use_rel_br
double fr_min_int_fixed_ratio
int generate_cgl_probing_cuts_freq
Definition: sym_lp_params.h:52
int generate_cgl_rounding_cuts
Definition: sym_lp_params.h:44
int mat_row_compress_num
int generate_cgl_mir_cuts
Definition: sym_lp_params.h:40
int shifting_frequency
int find_first_feasible
int ds_guided_fix_enabled
#define CGL_NUM_GENERATORS
int mir_generated_in_root
Definition: sym_lp_params.h:66
int rs_dive_level
struct CGL_PARAMS cgl_params
int probing_root_max_look
Definition: sym_lp_params.h:75
int fr_frequency
int cut_pool_check_freq
int oddhole_generated_in_root
Definition: sym_lp_params.h:64
double rs_min_int_fixed_ratio
int rounding_generated_in_root
Definition: sym_lp_params.h:70
int fixed_to_ub_before_logical_fixing
int compare_candidates_default
int fp_poor_sol_lim_fac
int max_presolve_iter
int load_balance_iterations
int fr_first_feas_enabled
int fp_frequency
int knapsack_max_depth
Definition: sym_lp_params.h:83
int select_child_default
double tailoff_gap_frac
int is_userind_in_order
int ineffective_constraints
int eff_cnt_before_cutpool
int keep_description_of_pruned
double fixed_to_ub_frac_before_logical_fixing
int clique_generated_in_root
Definition: sym_lp_params.h:68
cgl_params cgl
int multi_criteria
int max_cut_length
double rs_min_c_fixed_ratio
int generate_cgl_knapsack_cuts
Definition: sym_lp_params.h:37
int display_solution_default
int limit_strong_branching_time
int lp_data_mip_is_copied
double ds_min_gap
double chain_br_weighted_gap
Definition: sym_lp_params.h:92
int ds_euc_fix_enabled
int sensitivity_analysis
int strong_br_min_level
int probing_is_expensive
Definition: sym_lp_params.h:74
int set_obj_upper_lim
Definition: sym_lp_params.h:99
int generate_cgl_landp_cuts_freq
Definition: sym_lp_params.h:59
int tailoff_gap_backsteps
double tailoff_absolute
double fp_fix_ratio
int ds_fractional_fix_enabled
int generate_cgl_flowcover_cuts
Definition: sym_lp_params.h:43
int rounding_enabled
int min_root_cut_rounds
int do_reduced_cost_fixing
int pack_lp_solution_default
int knapsack_generated_in_root
Definition: sym_lp_params.h:63
int lb_dive_level
double max_non_dual_feas_to_add_frac