@@ -124,36 +124,30 @@ void HighsMipAnalysis::mipTimerUpdate(
124124 // If IPM has not been run first, then check that simplex call
125125 // counts are consistent with valid_basis and presolve
126126 if (valid_basis) {
127- mipTimerAdd (kMipClockSimplexBasisSolveLp ,
128- sub_solver_call_time.num_call [kSubSolverSimplexBasis ],
129- sub_solver_call_time.run_time [kSubSolverSimplexBasis ]);
130127 assert (sub_solver_call_time.num_call [kSubSolverSimplexNoBasis ] == 0 );
131- } else if (presolve) {
132- mipTimerAdd (kMipClockSimplexBasisSolveLp ,
133- sub_solver_call_time.num_call [kSubSolverSimplexBasis ],
134- sub_solver_call_time.run_time [kSubSolverSimplexBasis ]);
135- mipTimerAdd (kMipClockSimplexNoBasisSolveLp ,
136- sub_solver_call_time.num_call [kSubSolverSimplexNoBasis ],
137- sub_solver_call_time.run_time [kSubSolverSimplexNoBasis ]);
138- } else {
139- mipTimerAdd (kMipClockSimplexNoBasisSolveLp ,
140- sub_solver_call_time.num_call [kSubSolverSimplexNoBasis ],
141- sub_solver_call_time.run_time [kSubSolverSimplexNoBasis ]);
128+ } else if (!presolve) {
142129 assert (sub_solver_call_time.num_call [kSubSolverSimplexBasis ] == 0 );
143130 }
144131 } else {
145132 // IPM has been run first, then at least one of the simplex call
146133 // counts should be zero
147- assert (sub_solver_call_time.num_call [kSubSolverSimplexBasis ] *
148- sub_solver_call_time.num_call [kSubSolverSimplexNoBasis ] ==
149- 0 );
150- mipTimerAdd (kMipClockSimplexBasisSolveLp ,
151- sub_solver_call_time.num_call [kSubSolverSimplexBasis ],
152- sub_solver_call_time.run_time [kSubSolverSimplexBasis ]);
153- mipTimerAdd (kMipClockSimplexNoBasisSolveLp ,
154- sub_solver_call_time.num_call [kSubSolverSimplexNoBasis ],
155- sub_solver_call_time.run_time [kSubSolverSimplexNoBasis ]);
134+ assert (sub_solver_call_time.num_call [kSubSolverSimplexBasis ] == 0 ||
135+ sub_solver_call_time.num_call [kSubSolverSimplexNoBasis ] == 0 );
156136 }
137+
138+ mipTimerAdd (kMipClockSimplexBasisSolveLp ,
139+ sub_solver_call_time.num_call [kSubSolverSimplexBasis ],
140+ sub_solver_call_time.run_time [kSubSolverSimplexBasis ]);
141+ mipTimerAdd (kMipClockSimplexNoBasisSolveLp ,
142+ sub_solver_call_time.num_call [kSubSolverSimplexNoBasis ],
143+ sub_solver_call_time.run_time [kSubSolverSimplexNoBasis ]);
144+ mipTimerAdd (kMipClockPrimalSimplexBasisSolveLp ,
145+ sub_solver_call_time.num_call [kSubSolverPrimalSimplexBasis ],
146+ sub_solver_call_time.run_time [kSubSolverPrimalSimplexBasis ]);
147+ mipTimerAdd (kMipClockPrimalSimplexNoBasisSolveLp ,
148+ sub_solver_call_time.num_call [kSubSolverPrimalSimplexNoBasis ],
149+ sub_solver_call_time.run_time [kSubSolverPrimalSimplexNoBasis ]);
150+
157151 if (sub_solver_call_time.num_call [kSubSolverHipo ]) {
158152 const HighsInt mip_clock = analytic_centre
159153 ? kMipClockHipoSolveAnalyticCentreLp
0 commit comments