@@ -287,6 +287,11 @@ const string kReadSolutionFileString = "read_solution_file";
287287// String for HiGHS log file option
288288const string kLogFileString = " log_file" ;
289289
290+ // Strings for HiPO system option
291+ const string kHipoSystemString = " hipo_system" ;
292+ const string kHipoAugmentedString = " augmented" ;
293+ const string kHipoNormalEqString = " normaleq" ;
294+
290295struct HighsOptionsStruct {
291296 // Run-time options read from the command line
292297 std::string presolve;
@@ -345,8 +350,9 @@ struct HighsOptionsStruct {
345350 bool log_to_console;
346351 bool timeless_log;
347352
348- // Options for IPM solver
353+ // Options for IPM solvers
349354 HighsInt ipm_iteration_limit;
355+ std::string hipo_system;
350356
351357 // Options for PDLP solver
352358 bool pdlp_scaling;
@@ -511,6 +517,7 @@ struct HighsOptionsStruct {
511517 log_to_console(false ),
512518 timeless_log(false ),
513519 ipm_iteration_limit(0 ),
520+ hipo_system(" " ),
514521 pdlp_scaling(false ),
515522 pdlp_iteration_limit(0 ),
516523 pdlp_e_restart_method(0 ),
@@ -668,9 +675,10 @@ class HighsOptions : public HighsOptionsStruct {
668675
669676 record_string = new OptionRecordString (
670677 kSolverString ,
671- " Solver option: \" simplex\" , \" choose\" , \" hipo\" , \" ipm\" or \" pdlp\" . "
678+ " Solver option: \" simplex\" , \" choose\" , \" hipo\" , \" ipm\" or "
679+ " \" pdlp\" . "
672680 " If "
673- " \" simplex\" /\" ipm\" /\" pdlp\" is chosen then, for a MIP (QP) the "
681+ " \" simplex\" /\" ipm\" /\" hipo \" / \" pdlp\" is chosen then, for a MIP (QP) the "
674682 " integrality "
675683 " constraint (quadratic term) will be ignored" ,
676684 advanced, &solver, kHighsChooseString );
@@ -1194,6 +1202,12 @@ class HighsOptions : public HighsOptionsStruct {
11941202 &ipm_iteration_limit, 0 , kHighsIInf , kHighsIInf );
11951203 records.push_back (record_int);
11961204
1205+ record_string = new OptionRecordString (
1206+ kHipoSystemString ,
1207+ " HiPO Newton system option: \" augmented\" , \" normaleq\" or \" choose\" ." ,
1208+ advanced, &hipo_system, kHighsChooseString );
1209+ records.push_back (record_string);
1210+
11971211 record_bool = new OptionRecordBool (
11981212 " pdlp_scaling" , " Scaling option for PDLP solver: Default = true" ,
11991213 advanced, &pdlp_scaling, true );
0 commit comments