List of options

presolve

  • Presolve option: "off", "choose" or "on"
  • Type: string
  • Default: "choose"

solver

  • Solver option: "simplex", "choose", "ipm" or "pdlp". If "simplex"/"ipm"/"pdlp" is chosen then, for a MIP (QP) the integrality constraint (quadratic term) will be ignored
  • Type: string
  • Default: "choose"

parallel

  • Parallel option: "off", "choose" or "on"
  • Type: string
  • Default: "choose"

run_crossover

  • Run IPM crossover: "off", "choose" or "on"
  • Type: string
  • Default: "on"

time_limit

  • Time limit (seconds)
  • Type: double
  • Range: [0, inf]
  • Default: inf

ranging

  • Compute cost, bound, RHS and basic solution ranging: "off" or "on"
  • Type: string
  • Default: "off"

infinite_cost

  • Limit on |cost coefficient|: values greater than or equal to this will be treated as infinite
  • Type: double
  • Range: [1e+15, inf]
  • Default: 1e+20

infinite_bound

  • Limit on |constraint bound|: values greater than or equal to this will be treated as infinite
  • Type: double
  • Range: [1e+15, inf]
  • Default: 1e+20

small_matrix_value

  • Lower limit on |matrix entries|: values less than or equal to this will be treated as zero
  • Type: double
  • Range: [1e-12, inf]
  • Default: 1e-09

large_matrix_value

  • Upper limit on |matrix entries|: values greater than or equal to this will be treated as infinite
  • Type: double
  • Range: [1, inf]
  • Default: 1e+15

primal_feasibility_tolerance

  • Primal feasibility tolerance
  • Type: double
  • Range: [1e-10, inf]
  • Default: 1e-07

dual_feasibility_tolerance

  • Dual feasibility tolerance
  • Type: double
  • Range: [1e-10, inf]
  • Default: 1e-07

ipm_optimality_tolerance

  • IPM optimality tolerance
  • Type: double
  • Range: [1e-12, inf]
  • Default: 1e-08

objective_bound

  • Objective bound for termination of the dual simplex solver
  • Type: double
  • Range: [-inf, inf]
  • Default: inf

objective_target

  • Objective target for termination of the MIP solver
  • Type: double
  • Range: [-inf, inf]
  • Default: -inf

random_seed

  • Random seed used in HiGHS
  • Type: integer
  • Range: {0, 2147483647}
  • Default: 0

threads

  • Number of threads used by HiGHS (0: automatic)
  • Type: integer
  • Range: {0, 2147483647}
  • Default: 0

user_bound_scale

  • Exponent of power-of-two bound scaling for model
  • Type: integer
  • Range: {-2147483647, 2147483647}
  • Default: 0

user_cost_scale

  • Exponent of power-of-two cost scaling for model
  • Type: integer
  • Range: {-2147483647, 2147483647}
  • Default: 0

simplex_strategy

  • Strategy for simplex solver 0 => Choose; 1 => Dual (serial); 2 => Dual (PAMI); 3 => Dual (SIP); 4 => Primal
  • Type: integer
  • Range: {0, 4}
  • Default: 1

simplex_scale_strategy

  • Simplex scaling strategy: off / choose / equilibration / forced equilibration / max value 0 / max value 1 (0/1/2/3/4/5)
  • Type: integer
  • Range: {0, 5}
  • Default: 1

simplex_dual_edge_weight_strategy

  • Strategy for simplex dual edge weights: Choose / Dantzig / Devex / Steepest Edge (-1/0/1/2)
  • Type: integer
  • Range: {-1, 2}
  • Default: -1

simplex_primal_edge_weight_strategy

  • Strategy for simplex primal edge weights: Choose / Dantzig / Devex / Steepest Edge (-1/0/1/2)
  • Type: integer
  • Range: {-1, 2}
  • Default: -1

simplex_iteration_limit

  • Iteration limit for simplex solver when solving LPs, but not subproblems in the MIP solver
  • Type: integer
  • Range: {0, 2147483647}
  • Default: 2147483647

simplex_update_limit

  • Limit on the number of simplex UPDATE operations
  • Type: integer
  • Range: {0, 2147483647}
  • Default: 5000

simplex_max_concurrency

  • Maximum level of concurrency in parallel simplex
  • Type: integer
  • Range: {1, 8}
  • Default: 8

output_flag

  • Enables or disables solver output
  • Type: boolean
  • Default: "true"

log_to_console

  • Enables or disables console logging
  • Type: boolean
  • Default: "true"

solution_file

  • Solution file
  • Type: string
  • Default: ""

log_file

  • Log file
  • Type: string
  • Default: ""

write_solution_to_file

  • Write the primal and dual solution to a file
  • Type: boolean
  • Default: "false"

write_solution_style

  • Style of solution file (raw = computer-readable, pretty = human-readable): -1 => HiGHS old raw (deprecated); 0 => HiGHS raw; 1 => HiGHS pretty; 2 => Glpsol raw; 3 => Glpsol pretty; 4 => HiGHS sparse raw
  • Type: integer
  • Range: {-1, 4}
  • Default: 0

glpsol_cost_row_location

  • Location of cost row for Glpsol file: -2 => Last; -1 => None; 0 => None if empty, otherwise data file location; 1 <= n <= num_row => Location n; n > num_row => Last
  • Type: integer
  • Range: {-2, 2147483647}
  • Default: 0

write_model_file

  • Write model file
  • Type: string
  • Default: ""

write_model_to_file

  • Write the model to a file
  • Type: boolean
  • Default: "false"

mip_detect_symmetry

  • Whether MIP symmetry should be detected
  • Type: boolean
  • Default: "true"

mip_allow_restart

  • Whether MIP restart is permitted
  • Type: boolean
  • Default: "true"

mip_max_nodes

  • MIP solver max number of nodes
  • Type: integer
  • Range: {0, 2147483647}
  • Default: 2147483647

mip_max_stall_nodes

  • MIP solver max number of nodes where estimate is above cutoff bound
  • Type: integer
  • Range: {0, 2147483647}
  • Default: 2147483647

mip_improving_solution_save

  • Whether improving MIP solutions should be saved
  • Type: boolean
  • Default: "false"

mip_improving_solution_report_sparse

  • Whether improving MIP solutions should be reported in sparse format
  • Type: boolean
  • Default: "false"

mip_improving_solution_file

  • File for reporting improving MIP solutions: not reported for an empty string \"\"
  • Type: string
  • Default: ""

mip_max_leaves

  • MIP solver max number of leave nodes
  • Type: integer
  • Range: {0, 2147483647}
  • Default: 2147483647

mip_max_improving_sols

  • Limit on the number of improving solutions found to stop the MIP solver prematurely
  • Type: integer
  • Range: {1, 2147483647}
  • Default: 2147483647

mip_lp_age_limit

  • Maximal age of dynamic LP rows before they are removed from the LP relaxation in the MIP solver
  • Type: integer
  • Range: {0, 32767}
  • Default: 10

mip_pool_age_limit

  • Maximal age of rows in the MIP solver cutpool before they are deleted
  • Type: integer
  • Range: {0, 1000}
  • Default: 30

mip_pool_soft_limit

  • Soft limit on the number of rows in the MIP solver cutpool for dynamic age adjustment
  • Type: integer
  • Range: {1, 2147483647}
  • Default: 10000

mip_pscost_minreliable

  • Minimal number of observations before MIP solver pseudo costs are considered reliable
  • Type: integer
  • Range: {0, 2147483647}
  • Default: 8

mip_min_cliquetable_entries_for_parallelism

  • Minimal number of entries in the MIP solver cliquetable before neighbourhood queries of the conflict graph use parallel processing
  • Type: integer
  • Range: {0, 2147483647}
  • Default: 100000

mip_feasibility_tolerance

  • MIP feasibility tolerance
  • Type: double
  • Range: [1e-10, inf]
  • Default: 1e-06

mip_heuristic_effort

  • Effort spent for MIP heuristics
  • Type: double
  • Range: [0, 1]
  • Default: 0.05

mip_rel_gap

  • Tolerance on relative gap, |ub-lb|/|ub|, to determine whether optimality has been reached for a MIP instance
  • Type: double
  • Range: [0, inf]
  • Default: 0.0001

mip_abs_gap

  • Tolerance on absolute gap of MIP, |ub-lb|, to determine whether optimality has been reached for a MIP instance
  • Type: double
  • Range: [0, inf]
  • Default: 1e-06

mip_min_logging_interval

  • MIP minimum logging interval
  • Type: double
  • Range: [0, inf]
  • Default: 5

ipm_iteration_limit

  • Iteration limit for IPM solver
  • Type: integer
  • Range: {0, 2147483647}
  • Default: 2147483647

pdlp_native_termination

  • Use native termination for PDLP solver: Default = false
  • Type: boolean
  • Default: "false"

pdlp_scaling

  • Scaling option for PDLP solver: Default = true
  • Type: boolean
  • Default: "true"

pdlp_iteration_limit

  • Iteration limit for PDLP solver
  • Type: integer
  • Range: {0, 2147483647}
  • Default: 2147483647

pdlp_e_restart_method

  • Restart mode for PDLP solver: 0 => none; 1 => GPU (default); 2 => CPU
  • Type: integer
  • Range: {0, 2}
  • Default: 1

pdlp_d_gap_tol

  • Duality gap tolerance for PDLP solver: Default = 1e-4
  • Type: double
  • Range: [1e-12, inf]
  • Default: 0.0001