@@ -61,6 +61,7 @@ println(read("options.txt", String))
61
61
62
62
The current option list is:
63
63
```
64
+
64
65
# Presolve option: "off", "choose" or "on"
65
66
# [type: string, advanced: false, default: "choose"]
66
67
presolve = choose
@@ -77,6 +78,10 @@ parallel = choose
77
78
# [type: double, advanced: false, range: [0, inf], default: inf]
78
79
time_limit = inf
79
80
81
+ # Compute cost, bound, RHS and basic solution ranging: "off" or "on"
82
+ # [type: string, advanced: false, default: "off"]
83
+ ranging = off
84
+
80
85
# Limit on cost coefficient: values larger than this will be treated as infinite
81
86
# [type: double, advanced: false, range: [1e+15, inf], default: 1e+20]
82
87
infinite_cost = 1e+20
@@ -115,23 +120,27 @@ objective_target = -inf
115
120
116
121
# random seed used in HiGHS
117
122
# [type: HighsInt, advanced: false, range: {0, 2147483647}, default: 0]
118
- highs_random_seed = 0
123
+ random_seed = 0
124
+
125
+ # number of threads used by HiGHS (0: automatic)
126
+ # [type: HighsInt, advanced: false, range: {0, 2147483647}, default: 0]
127
+ threads = 0
119
128
120
129
# Debugging level in HiGHS
121
130
# [type: HighsInt, advanced: false, range: {0, 3}, default: 0]
122
131
highs_debug_level = 0
123
132
124
133
# Analysis level in HiGHS
125
- # [type: HighsInt, advanced: false, range: {0, 31 }, default: 0]
134
+ # [type: HighsInt, advanced: false, range: {0, 63 }, default: 0]
126
135
highs_analysis_level = 0
127
136
128
137
# Strategy for simplex solver
129
138
# [type: HighsInt, advanced: false, range: {0, 4}, default: 1]
130
139
simplex_strategy = 1
131
140
132
- # Strategy for scaling before simplex solver : off / on (0/1)
133
- # [type: HighsInt, advanced: false, range: {0, 4 }, default: 2 ]
134
- simplex_scale_strategy = 2
141
+ # Simplex scaling strategy : off / choose / equilibration / forced equilibration / max value 0 / max value 1 (0/1/2/3/4/5 )
142
+ # [type: HighsInt, advanced: false, range: {0, 5 }, default: 1 ]
143
+ simplex_scale_strategy = 1
135
144
136
145
# Strategy for simplex crash: off / LTSSF / Bixby (0/1/2)
137
146
# [type: HighsInt, advanced: false, range: {0, 9}, default: 0]
@@ -157,13 +166,13 @@ simplex_update_limit = 5000
157
166
# [type: HighsInt, advanced: false, range: {0, 2147483647}, default: 2147483647]
158
167
ipm_iteration_limit = 2147483647
159
168
160
- # Minimum number of threads in parallel execution
169
+ # Minimum level of concurrency in parallel simplex
161
170
# [type: HighsInt, advanced: false, range: {1, 8}, default: 1]
162
- highs_min_threads = 1
171
+ simplex_min_concurrency = 1
163
172
164
- # Maximum number of threads in parallel execution
173
+ # Maximum level of concurrency in parallel simplex
165
174
# [type: HighsInt, advanced: false, range: {1, 8}, default: 8]
166
- highs_max_threads = 8
175
+ simplex_max_concurrency = 8
167
176
168
177
# Enables or disables solver output
169
178
# [type: bool, advanced: false, range: {false, true}, default: true]
@@ -185,9 +194,9 @@ log_file = Highs.log
185
194
# [type: bool, advanced: false, range: {false, true}, default: false]
186
195
write_solution_to_file = false
187
196
188
- # Write the primal and dual solution in a pretty ( human-readable) format
189
- # [type: bool , advanced: false, range: {false, true }, default: false ]
190
- write_solution_pretty = false
197
+ # Write the solution in style: 0=>Raw (computer-readable); 1=>Pretty ( human-readable)
198
+ # [type: HighsInt , advanced: false, range: {0, 1 }, default: 0 ]
199
+ write_solution_style = 0
191
200
192
201
# Whether symmetry should be detected
193
202
# [type: bool, advanced: false, range: {false, true}, default: true]
@@ -229,10 +238,6 @@ mip_report_level = 1
229
238
# [type: double, advanced: false, range: [1e-10, inf], default: 1e-06]
230
239
mip_feasibility_tolerance = 1e-06
231
240
232
- # MIP epsilon tolerance
233
- # [type: double, advanced: false, range: [1e-15, inf], default: 1e-09]
234
- mip_epsilon = 1e-09
235
-
236
241
# effort spent for MIP heuristics
237
242
# [type: double, advanced: false, range: [0, 1], default: 0.05]
238
243
mip_heuristic_effort = 0.05
@@ -261,13 +266,17 @@ mps_parser_type_free = true
261
266
# [type: HighsInt, advanced: true, range: {-1, 1}, default: -1]
262
267
keep_n_rows = -1
263
268
264
- # Largest power-of-two factor permitted when scaling the constraint matrix for the simplex solver
269
+ # Scaling factor for costs
270
+ # [type: HighsInt, advanced: true, range: {-20, 20}, default: 0]
271
+ cost_scale_factor = 0
272
+
273
+ # Largest power-of-two factor permitted when scaling the constraint matrix
265
274
# [type: HighsInt, advanced: true, range: {0, 20}, default: 10]
266
- allowed_simplex_matrix_scale_factor = 10
275
+ allowed_matrix_scale_factor = 10
267
276
268
- # Largest power-of-two factor permitted when scaling the costs for the simplex solver
277
+ # Largest power-of-two factor permitted when scaling the costs
269
278
# [type: HighsInt, advanced: true, range: {0, 20}, default: 0]
270
- allowed_simplex_cost_scale_factor = 0
279
+ allowed_cost_scale_factor = 0
271
280
272
281
# Strategy for dualising before simplex
273
282
# [type: HighsInt, advanced: true, range: {-1, 1}, default: -1]
@@ -281,18 +290,34 @@ simplex_permute_strategy = -1
281
290
# [type: HighsInt, advanced: true, range: {0, 2147483647}, default: 1]
282
291
max_dual_simplex_cleanup_level = 1
283
292
293
+ # Max level of dual simplex phase 1 cleanup
294
+ # [type: HighsInt, advanced: true, range: {0, 2147483647}, default: 2]
295
+ max_dual_simplex_phase1_cleanup_level = 2
296
+
284
297
# Strategy for PRICE in simplex
285
298
# [type: HighsInt, advanced: true, range: {0, 3}, default: 3]
286
299
simplex_price_strategy = 3
287
300
301
+ # Strategy for solving unscaled LP in simplex
302
+ # [type: HighsInt, advanced: true, range: {0, 2}, default: 1]
303
+ simplex_unscaled_solution_strategy = 1
304
+
288
305
# Perform initial basis condition check in simplex
289
306
# [type: bool, advanced: true, range: {false, true}, default: true]
290
307
simplex_initial_condition_check = true
291
308
309
+ # No unnecessary refactorization on simplex rebuild
310
+ # [type: bool, advanced: true, range: {false, true}, default: true]
311
+ no_unnecessary_rebuild_refactor = true
312
+
292
313
# Tolerance on initial basis condition in simplex
293
314
# [type: double, advanced: true, range: [1, inf], default: 1e+14]
294
315
simplex_initial_condition_tolerance = 1e+14
295
316
317
+ # Tolerance on solution error when considering refactorization on simplex rebuild
318
+ # [type: double, advanced: true, range: [-inf, inf], default: 1e-08]
319
+ rebuild_refactor_solution_error_tolerance = 1e-08
320
+
296
321
# Threshold on dual steepest edge weight errors for Devex switch
297
322
# [type: double, advanced: true, range: [1, inf], default: 10]
298
323
dual_steepest_edge_weight_log_error_threshold = 10
@@ -305,6 +330,10 @@ dual_simplex_cost_perturbation_multiplier = 1
305
330
# [type: double, advanced: true, range: [0, inf], default: 1]
306
331
primal_simplex_bound_perturbation_multiplier = 1
307
332
333
+ # Dual simplex pivot growth tolerance
334
+ # [type: double, advanced: true, range: [1e-12, inf], default: 1e-09]
335
+ dual_simplex_pivot_growth_tolerance = 1e-09
336
+
308
337
# Matrix factorization pivot threshold for substitutions in presolve
309
338
# [type: double, advanced: true, range: [0.0008, 0.5], default: 0.01]
310
339
presolve_pivot_threshold = 0.01
0 commit comments