advance {1}[1] #ADVIND. No auto. Normally {0,1,2}, but requires a basis supplied by user, so N/A. Cat.
barrier_algorithm {0,1,2,3}[0] #BARALG. No auto. Some numerical issues. Cat.
barrier_colnonzeros {0}[0] #BARCOLNZ. 0=Auto, poorly informed. N+. {0,5,20,80,320,1280}
barrier_convergetol {1e-08}[1e-08] #BAREPCOMP. No auto. Numerical, left at default. R+, >= 1e-12
barrier_crossover {-1,0,1,2}[0] #BARCROSSALG. 0=Auto. Cat. 
barrier_limits_corrections {-1}[-1] #BARMAXCOR. -1=Auto. Numerical, left at default. {-1,0,N+}
barrier_limits_growth {1e+6,1e+8,1e+10,1e+12,1e+14}[1e+12] #BARGROWTH. No auto. Somewhat numerical.  R+, >=1.0
barrier_ordering {0,1,2,3} [0] #BARORDER. 0=Auto. Cat.
barrier_qcpconvergetol {1e-07}[1e-07] #BARQCPEPCOMP. No auto. Numerical, left at default. R+, >= 1e-12
barrier_startalg {1,2,3,4}[1] #BARSTARTALG. No auto. Cat.
emphasis_memory {yes,no}[no] #MEMORYEMPHASIS. No auto. Binary.
emphasis_mip {0,1,2,3,4}[0] #MIPEMPHASIS. No auto. Binary.
emphasis_numerical {yes,no}[no] #NUMERICALEMPHASIS. No auto. Binary.
feasopt_mode{0,1,2,3,4,5}[0] #FEASOPTMODE. No auto. Cat.
feasopt_tolerance{1e-04,1e-06,1e-08}[1e-06] #EPRELAX. Not sure if this is a tuning parameter. R+, >1e-8
lpmethod {0,1,3,4,5,6}[0] #LPMETHOD. 0=Auto. Cat. If threads = 1 (for us always) 2 is the same as 0.
mip_cuts_cliques {-1,0,1,2,3}[0] # CLIQUES. 0=Auto. Cat.
mip_cuts_covers {-1,0,1,2,3}[0] #COVERS. 0=Auto. Cat.
mip_cuts_disjunctive {-1,0,1,2,3}[0] #DISJCUTS. 0=Auto. Cat.
mip_cuts_flowcovers {-1,0,1,2}[0] #FLOWCOVERS. 0=Auto. Cat.
mip_cuts_gomory {-1,0,1,2}[0] #FRACCUTS. 0=Auto. Cat.
mip_cuts_gubcovers {-1,0,1,2}[0] #GUBCOVERS. 0=Auto. Cat.
mip_cuts_implied {-1,0,1,2}[0] #IMPLBD. 0=Auto. Cat.
mip_cuts_mircut {-1,0,1,2}[0] #MIRCUTS. 0=Auto. Cat.
mip_cuts_pathcut {-1,0,1,2}[0] #FLOWPATHS. 0=Auto. Cat.
mip_limits_aggforcut {0,1,2,3,5,10} [3] #AGGCUTLIM. No auto.
mip_limits_cutpasses {0}[0] #CUTPASS. 0=Auto. Poorly informed. {-1,0,1,4,16,64} 
mip_limits_cutsfactor {1,2,4,8,16}[4] #CUTSFACTOR. No auto. R+
mip_limits_gomorycand {50,100,200,400,800}[200] #FRACCAND. No auto. N+
mip_limits_gomorypass {0}[0] #FRACPASS. 0=Auto. poorly informed. N+. {0,1,4,16,64}
mip_limits_polishtime {0}[0] #POLISHTIME. This is an important parameter, but only for optimization problems, not for prooving optimality. It should also be set relative to allowed runtime.
mip_limits_probetime {2,5,10,100,1e+75}[1e+75] #PROBETIME. No auto. R+. Setting this fairly low should allow us to use aggressive probing up to a cutoff time.
mip_limits_repairtries {0}[0] #REPAIRTRIES. Only if user provides MIP starting solution. No auto. N+. N/A
mip_limits_strongcand {2,5,10,20,40}[10] #STRONGCANDLIM. No auto. N+
mip_limits_strongit {0}[0] #STRONGITLIM. 0=Auto. N+. Poorly informed. {0,5,10,20,40,80} 
mip_limits_submipnodelim {125,250,500,1000,2000}[500] #SUBMIPNODELIM. No auto. N+
mip_ordertype {0,1,2,3}[0] #MIPORDIND. No auto. Cat.
mip_strategy_backtrack {0.99, 0.999, 0.9999, 0.99999, 0.999999}[0.9999] #BTTOL. No auto. R+ in interval 0 to 1.
mip_strategy_bbinterval {0,2,4,7,15,30}[7] #BBINTERVAL. N+_0. No auto.
mip_strategy_branch {-1,0,1}[0] #BRDIR. 0=Auto. Cat.
mip_strategy_dive {0,1,2,3}[0] #DIVETYPE. 0=Auto. Cat.
mip_strategy_file {0,1}[1] #NODEFILEIND. No auto. Cat.  DISALLOW values 2 and 3 => they write files to disk (stuff will break and we run out of space)
mip_strategy_heuristicfreq {-1,0,5,10,20,40,80}[0] #HEURFREQ. 0=Auto. 20 may be good setting. N+
mip_strategy_lbheur {yes,no} [no] #LBHEUR. No auto. Binary.
mip_strategy_nodeselect {0,1,2,3}[1] #NODESEL. No auto. Cat.
mip_strategy_order{yes,no}[yes] #MIPORDIND. No auto. Binary.
mip_strategy_presolvenode {-1,0,1,2}[0] #PRESLVND. 0=Auto. Cat.
mip_strategy_probe {-1,0,1,2,3}[0] #PROBE. 0=Auto. Cat. But if I remember correctly, this is one of the most important tuning params.
mip_strategy_rinsheur {-1,0,5,10,20,40,80}[0] #RINSHEUR. 0=Auto. N+. 20 might be a good value.
mip_strategy_startalgorithm {0,1,2,3,4,5,6}[0] #STARTALG. 0=Auto. Cat.
mip_strategy_subalgorithm {0,1,2,3,4,5}[0] #SUBALG. 0=Auto. Cat.
mip_strategy_variableselect {-1,0,1,2,3,4}[0] #VARSEL. 0=Auto. Cat.
network_netfind {1,2,3}[2] #NETFIND. No auto. Cat.
network_pricing {0,1,2}[0] #NETPPRIIND. 0=Auto, but currently equivalent to (now thus hidden) option 3. Cat.
preprocessing_aggregator {-1}[-1] #AGGIND. -1=Auto. poorly informed. N+ {-1,0,1,4,16}
preprocessing_boundstrength {-1,0,1}[-1]  #BNDSTRENIND. -1=Auto. Cat. 
preprocessing_coeffreduce {0,1,2}[2]  #COEREDIND. No auto. Cat.
preprocessing_dependency {-1,0,1,2,3}[-1] #DEPIND. -1=Auto. Cat.
preprocessing_dual {-1,0,1}[0] #PREDUAL. 0=Auto. Cat.
preprocessing_fill {2,5,10,20,40}[10] #AGGFILL. No auto.
preprocessing_numpass {-1}[-1] #PREPASS. -1=Auto. N+. Poorly informed. 0 is redundant (no preproc)) {-1,1,2,4,8,16}
preprocessing_presolve {yes,no}[yes] #PREIND. No auto. Binary.
preprocessing_qpmakepsd {yes,no}[yes] #QPMAKEPSDIND. No auto. Binary.
preprocessing_reduce {0,1,2,3}[3] #REDUCE. No auto. Cat.
preprocessing_relax {-1,0,1}[-1] #RELAXPREIND. -1=Auto. Cat.
preprocessing_repeatpresolve {-1,0,1,2,3}[-1] #REPEATPRESOLVE. -1=Auto. Cat.
preprocessing_symmetry {-1,0,1,2,3}[-1] #SYMMETRY. -1=Auto. Cat.
qpmethod {0,1,2,3,4}[0] #QPMETHOD. 0=Automatic. Cat.
read_scale {-1,0,1}[0] #SCAIND. No auto. Cat.
sifting_algorithm {0,1,2,3,4}[0] #SIFTALG. 0=Auto. Cat.
simplex_crash {-1,0,1}[1] #CRAIND. No auto. Cat.
simplex_dgradient {0,1,2,3,4,5}[0] #DPRIIND. 0=Auto. Cat.
simplex_limits_perturbation {0}[0] #PERLIM. 0=Auto. Poorly informed. N+ {0,10,100,1000}
simplex_limits_singularity {2,5,10,20,40}[10] #SINGLIM. No auto. N+ 
simplex_perturbation {no 1e-06, yes 1e-06}[no 1e-06] #PERIND. Very annoying, two variables in one! PERIND is the indicator, leave the constant at its value. No auto. Binary & R+ for the two params.
simplex_pgradient {-1,0,1,2,3,4}[0] #PPRIIND. No auto. Cat. 
simplex_pricing {0}[0] #PRICELIM. 0=Auto. N+. Size of simplex pricing candidate list. Poorly informed. {0,5,10,20,40,80} 
simplex_refactor {0} [0] #REINV. 0=Auto. N+. Simplex refactorization interval. Hoyt's LP notes say Chvtal suggests an optimal refactorization interval of 16. {0,4,8,16,32,64}
simplex_tolerances_feasibility {1e-06}[1e-06] # EPINT. Numerical - use default for now. R+, > 1e-5
simplex_tolerances_markowitz {0.01}[0.01] # EPMRK. No auto. Numerical - use default for now. R+ in interval 0.0001 to 0.99999.
simplex_tolerances_optimality {1e-06}[1e-06] # EPOPT. Numerical - use default for now. R+, > 1e-5

Conditionals:
mip_limits_gomorycand | mip_cuts_gomory in {0,1,2} # mip_cuts_gomory just can't be -1
mip_limits_strongcand | mip_strategy_variableselect in {3}
mip_limits_strongit | mip_strategy_variableselect in {3}
mip_limits_submipnodelim | mip_strategy_rinsheur in {0,5,10,20,40,80} # RINSHEUR not -1
mip_strategy_bbinterval | mip_strategy_nodeselect in {2}
preprocessing_numpass | preprocessing_presolve in {yes}
mip_strategy_order | mip_ordertype in {1,2,3}
