|
27 | 27 |
|
28 | 28 | using std::fabs; |
29 | 29 |
|
| 30 | +HighsMipSolver::HighsMipSolver(const HighsMipSolver& mip_solver_) |
| 31 | + : HighsMipSolver(mip_solver_.callback_, mip_solver_.options_mip_, |
| 32 | + mip_solver_.model_) {} |
| 33 | + |
| 34 | +HighsMipSolver::HighsMipSolver(HighsCallback* callback, |
| 35 | + const HighsOptions* options, const HighsLp* lp) |
| 36 | + : callback_(callback), |
| 37 | + options_mip_(options), |
| 38 | + model_(lp), |
| 39 | + orig_model_(lp), |
| 40 | + solution_objective_(kHighsInf), |
| 41 | + submip(false), |
| 42 | + submip_level(0), |
| 43 | + rootbasis(nullptr), |
| 44 | + pscostinit(nullptr), |
| 45 | + clqtableinit(nullptr), |
| 46 | + implicinit(nullptr) {} |
| 47 | + |
30 | 48 | HighsMipSolver::HighsMipSolver(HighsCallback& callback, |
31 | 49 | const HighsOptions& options, const HighsLp& lp, |
32 | 50 | const HighsSolution& solution, bool submip, |
@@ -260,16 +278,16 @@ void HighsMipSolver::run() { |
260 | 278 |
|
261 | 279 | // I'd like to do this, since it extends to multiple workers... |
262 | 280 | // |
263 | | - // std::vector<HighsMipSolver> worker_mipsolvers; |
264 | | - // worker_mipsolvers.push_back(HighsMipSolver{*callback_, *options_mip_, |
265 | | - // *model_, |
266 | | - // null_solution, false, 0}); |
267 | | - // HighsMipSolver& worker_mipsolver = worker_mipsolvers[0]; |
| 281 | + std::vector<HighsMipSolver> worker_mipsolvers; |
| 282 | + worker_mipsolvers.push_back(HighsMipSolver{ |
| 283 | + *callback_, *options_mip_, *model_, null_solution, false, 0}); |
| 284 | + HighsMipSolver& worker_mipsolver = worker_mipsolvers[0]; |
268 | 285 |
|
269 | 286 | // ... but currently can only do this |
270 | 287 | // |
271 | | - HighsMipSolver worker_mipsolver(*callback_, *options_mip_, *model_, |
272 | | - null_solution, false, 0); |
| 288 | + // HighsMipSolver worker_mipsolver(*callback_, *options_mip_, *model_, |
| 289 | + // null_solution, false, 0); |
| 290 | + |
273 | 291 | worker_mipsolver.rootbasis = this->rootbasis; |
274 | 292 | HighsPseudocostInitialization pscostinit(mipdata_->pseudocost, 1); |
275 | 293 | worker_mipsolver.pscostinit = &pscostinit; |
|
0 commit comments