From 221489acddce5cf224379d5f5900fcc2b23fc643 Mon Sep 17 00:00:00 2001 From: Oscar Dowson Date: Wed, 5 Jan 2022 11:07:51 +1300 Subject: [PATCH] Bump to HiGHS v1.1.1 (#76) --- Project.toml | 6 ++--- README.md | 65 +++++++++++++++------------------------------------- 2 files changed, 21 insertions(+), 50 deletions(-) diff --git a/Project.toml b/Project.toml index 0b6feec..8563eef 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "HiGHS" uuid = "87dc4568-4c63-4d18-b0c0-bb2238e4078b" -version = "0.3.0" +version = "0.3.1" [deps] HiGHS_jll = "8fd58aa0-07eb-5a78-9b36-339c94fd15ea" @@ -8,9 +8,9 @@ MathOptInterface = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [compat] -HiGHS_jll = "=1.1.0" +HiGHS_jll = "=1.1.1" MathOptInterface = "0.10.4" -julia = "1.3" +julia = "1.6" [extras] Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" diff --git a/README.md b/README.md index 99e1cc9..2987a87 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,6 @@ println(read("options.txt", String)) The current option list is: ``` - # Presolve option: "off", "choose" or "on" # [type: string, advanced: false, default: "choose"] presolve = choose @@ -78,10 +77,6 @@ parallel = choose # [type: double, advanced: false, range: [0, inf], default: inf] time_limit = inf -# Compute cost, bound, RHS and basic solution ranging: "off" or "on" -# [type: string, advanced: false, default: "off"] -ranging = off - # Limit on cost coefficient: values larger than this will be treated as infinite # [type: double, advanced: false, range: [1e+15, inf], default: 1e+20] infinite_cost = 1e+20 @@ -122,25 +117,21 @@ objective_target = -inf # [type: HighsInt, advanced: false, range: {0, 2147483647}, default: 0] random_seed = 0 -# number of threads used by HiGHS (0: automatic) -# [type: HighsInt, advanced: false, range: {0, 2147483647}, default: 0] -threads = 0 - # Debugging level in HiGHS # [type: HighsInt, advanced: false, range: {0, 3}, default: 0] highs_debug_level = 0 # Analysis level in HiGHS -# [type: HighsInt, advanced: false, range: {0, 63}, default: 0] +# [type: HighsInt, advanced: false, range: {0, 31}, default: 0] highs_analysis_level = 0 # Strategy for simplex solver # [type: HighsInt, advanced: false, range: {0, 4}, default: 1] simplex_strategy = 1 -# Simplex scaling strategy: off / choose / equilibration / forced equilibration / max value 0 / max value 1 (0/1/2/3/4/5) -# [type: HighsInt, advanced: false, range: {0, 5}, default: 1] -simplex_scale_strategy = 1 +# Strategy for scaling before simplex solver: off / on (0/1) +# [type: HighsInt, advanced: false, range: {0, 4}, default: 2] +simplex_scale_strategy = 2 # Strategy for simplex crash: off / LTSSF / Bixby (0/1/2) # [type: HighsInt, advanced: false, range: {0, 9}, default: 0] @@ -166,13 +157,13 @@ simplex_update_limit = 5000 # [type: HighsInt, advanced: false, range: {0, 2147483647}, default: 2147483647] ipm_iteration_limit = 2147483647 -# Minimum level of concurrency in parallel simplex +# Minimum number of threads in parallel execution # [type: HighsInt, advanced: false, range: {1, 8}, default: 1] -simplex_min_concurrency = 1 +highs_min_threads = 1 -# Maximum level of concurrency in parallel simplex +# Maximum number of threads in parallel execution # [type: HighsInt, advanced: false, range: {1, 8}, default: 8] -simplex_max_concurrency = 8 +highs_max_threads = 8 # Enables or disables solver output # [type: bool, advanced: false, range: {false, true}, default: true] @@ -194,8 +185,12 @@ log_file = Highs.log # [type: bool, advanced: false, range: {false, true}, default: false] write_solution_to_file = false -# Write the solution in style: 0=>Raw (computer-readable); 1=>Pretty (human-readable) -# [type: HighsInt, advanced: false, range: {0, 1}, default: 0] +# Write the solution in a pretty (human-readable) format +# [type: bool, advanced: false, range: {false, true}, default: false] +write_solution_pretty = false + +# Write the solution in style: 0=>Raw; 1=>Pretty; 2=>Mittlemann +# [type: HighsInt, advanced: false, range: {0, 2}, default: 0] write_solution_style = 0 # Whether symmetry should be detected @@ -266,17 +261,13 @@ mps_parser_type_free = true # [type: HighsInt, advanced: true, range: {-1, 1}, default: -1] keep_n_rows = -1 -# Scaling factor for costs -# [type: HighsInt, advanced: true, range: {-20, 20}, default: 0] -cost_scale_factor = 0 - -# Largest power-of-two factor permitted when scaling the constraint matrix +# Largest power-of-two factor permitted when scaling the constraint matrix for the simplex solver # [type: HighsInt, advanced: true, range: {0, 20}, default: 10] -allowed_matrix_scale_factor = 10 +allowed_simplex_matrix_scale_factor = 10 -# Largest power-of-two factor permitted when scaling the costs +# Largest power-of-two factor permitted when scaling the costs for the simplex solver # [type: HighsInt, advanced: true, range: {0, 20}, default: 0] -allowed_cost_scale_factor = 0 +allowed_simplex_cost_scale_factor = 0 # Strategy for dualising before simplex # [type: HighsInt, advanced: true, range: {-1, 1}, default: -1] @@ -290,34 +281,18 @@ simplex_permute_strategy = -1 # [type: HighsInt, advanced: true, range: {0, 2147483647}, default: 1] max_dual_simplex_cleanup_level = 1 -# Max level of dual simplex phase 1 cleanup -# [type: HighsInt, advanced: true, range: {0, 2147483647}, default: 2] -max_dual_simplex_phase1_cleanup_level = 2 - # Strategy for PRICE in simplex # [type: HighsInt, advanced: true, range: {0, 3}, default: 3] simplex_price_strategy = 3 -# Strategy for solving unscaled LP in simplex -# [type: HighsInt, advanced: true, range: {0, 2}, default: 1] -simplex_unscaled_solution_strategy = 1 - # Perform initial basis condition check in simplex # [type: bool, advanced: true, range: {false, true}, default: true] simplex_initial_condition_check = true -# No unnecessary refactorization on simplex rebuild -# [type: bool, advanced: true, range: {false, true}, default: true] -no_unnecessary_rebuild_refactor = true - # Tolerance on initial basis condition in simplex # [type: double, advanced: true, range: [1, inf], default: 1e+14] simplex_initial_condition_tolerance = 1e+14 -# Tolerance on solution error when considering refactorization on simplex rebuild -# [type: double, advanced: true, range: [-inf, inf], default: 1e-08] -rebuild_refactor_solution_error_tolerance = 1e-08 - # Threshold on dual steepest edge weight errors for Devex switch # [type: double, advanced: true, range: [1, inf], default: 10] dual_steepest_edge_weight_log_error_threshold = 10 @@ -330,10 +305,6 @@ dual_simplex_cost_perturbation_multiplier = 1 # [type: double, advanced: true, range: [0, inf], default: 1] primal_simplex_bound_perturbation_multiplier = 1 -# Dual simplex pivot growth tolerance -# [type: double, advanced: true, range: [1e-12, inf], default: 1e-09] -dual_simplex_pivot_growth_tolerance = 1e-09 - # Matrix factorization pivot threshold for substitutions in presolve # [type: double, advanced: true, range: [0.0008, 0.5], default: 0.01] presolve_pivot_threshold = 0.01