id	summary	reporter	owner	description	type	status	priority	milestone	component	resolution	keywords	cc	work_issues	upstream	reviewer	author	merged	dependencies	stopgaps
12736	More solver options for GLPK	john_perry	ncohen	"Several requests for solver options to use as parameters for GLPK prompt us to allow the user to set quite a few parameters.

In addition, the name for the solver parameter in ticket #12309 (`preprocessing`) isn't very accurate (we didn't think it through carefully enough at the time) so that option will change, too.

I propose to change/enable the following solver options. See the GLPK documentation for details on each option, and note that most have two names: one to correspond to GLPK, one for legibility.

* glpk's solver
  * default is `glp_intopt`, as at present
  * `simplex_first`: setting this to `True` makes the solver invoke `glp_simplex` before `glp_intopt`
    * useful to avoid problems in glpk
    * '''replaces''' current `preprocessing` parameter
  * `simplex_only`: setting this to `True makes the solver invoke `glp_simplex` '''instead''' of `glp_intopt`

* glpk's `intopt` solver
  * `msg_level` or `verbosity`
  * `br_tech` or `branching`
  * `bt_tech` or `backtracking`
  * `pp_tech` or `preprocessing`
  * `fp_heur` or `feasibility_pump`
  * `gmi_cuts` or `gomory_cuts`
  * `mir_cuts` or `mixed_int_rounding_cuts`
  * `cov_cuts` or `mixed_cover_cuts`
  * `clq_cuts` or `clique_cuts`
  * `tol_int` or `absolute_tolerance`
  * `tol_obj` or `relative_tolerance`
  * `mip_gap` or `mip_gap_tolerance`
  * `tm_lim` or `time_limit`
  * `out_freq` or `output_frequency`
  * `presolve` or `mip_presolver`
  * `binarize`

* glpk's `simplex` solver
  * `msg_level` or `verbosity`
  * `meth` or `primal_v_dual`
  * `pricing`
  * `r_test` or `ratio_test`
  * `tol_bnd` or `tolerance_primal`
  * `tol_dj` or `tolerance_dual`
  * `tol_piv` or `tolerance_pivot`
  * `obj_ll` or `obj_lower_limit`
  * `obj_ul` or `obj_upper_limit`
  * `it_lim` or `iteration_limit`
  * `tm_lim` or `time_limit`
  * `out_frq` or `output_frequency`
  * `out_dly` or `output_delay`
  * `presolve`

Feel free to suggest better names, or that we stick with only the GLPK names, etc.

'''Apply''':
  * [attachment:trac_12736_more_solver_options_for_glpk.patch]
  * [attachment:trac_12736.patch]"	enhancement	closed	major	sage-5.1	linear programming	fixed	solver parameters	ncohen r.gaia.cs		N/A	Nathann Cohen, John Perry	John Perry, Nathann Cohen	sage-5.1.beta0	#12309	
