@@ -452,6 +452,7 @@ struct HighsOptionsStruct {
452452 std::string mip_improving_solution_file;
453453 bool mip_root_presolve_only;
454454 HighsInt mip_lifting_for_probing;
455+ HighsInt mip_search_concurrency;
455456
456457 // Logging callback identifiers
457458 HighsLogOptions log_options;
@@ -591,10 +592,11 @@ struct HighsOptionsStruct {
591592#endif
592593 mip_improving_solution_save (false ),
593594 mip_improving_solution_report_sparse(false ),
594- // clang-format off
595595 mip_improving_solution_file(" " ),
596596 mip_root_presolve_only(false ),
597- mip_lifting_for_probing(-1 ) {};
597+ mip_lifting_for_probing(-1 ),
598+ // clang-format off
599+ mip_search_concurrency(0 ) {};
598600 // clang-format on
599601};
600602
@@ -1168,6 +1170,11 @@ class HighsOptions : public HighsOptionsStruct {
11681170 &mip_min_logging_interval, 0 , 5 , kHighsInf );
11691171 records.push_back (record_double);
11701172
1173+ record_int = new OptionRecordInt (
1174+ " mip_search_concurrency" , " Concurrency to use in MIP search" , advanced,
1175+ &mip_search_concurrency, 1 , 2 , kMipSearchConcurrencyLimit );
1176+ records.push_back (record_int);
1177+
11711178 record_int = new OptionRecordInt (
11721179 " ipm_iteration_limit" , " Iteration limit for IPM solver" , advanced,
11731180 &ipm_iteration_limit, 0 , kHighsIInf , kHighsIInf );
0 commit comments