@@ -86,8 +86,9 @@ HighsInt HighsSeparation::separationRound(HighsDomain& propdomain,
8686 // additional probing in parallel case
8787 if (&propdomain == &mipdata.domain ) {
8888 lp->getMipSolver ().timer_ .start (implBoundClock);
89- mipdata.implications .separateImpliedBounds (
90- *lp, lp->getSolution ().col_value , mipdata.cutpool , mipdata.feastol );
89+ mipdata.implications .separateImpliedBounds (*lp, lp->getSolution ().col_value ,
90+ *mipworker_.cutpool_ ,
91+ mipdata.feastol );
9192 lp->getMipSolver ().timer_ .stop (implBoundClock);
9293 }
9394
@@ -103,7 +104,7 @@ HighsInt HighsSeparation::separationRound(HighsDomain& propdomain,
103104 if (&propdomain == &mipdata.domain ) {
104105 lp->getMipSolver ().timer_ .start (cliqueClock);
105106 mipdata.cliquetable .separateCliques (lp->getMipSolver (), sol.col_value ,
106- mipdata. cutpool , mipdata.feastol );
107+ *mipworker_. cutpool_ , mipdata.feastol );
107108 lp->getMipSolver ().timer_ .stop (cliqueClock);
108109 }
109110
@@ -124,7 +125,7 @@ HighsInt HighsSeparation::separationRound(HighsDomain& propdomain,
124125 HighsLpAggregator lpAggregator (*lp);
125126
126127 for (const std::unique_ptr<HighsSeparator>& separator : separators) {
127- separator->run (*lp, lpAggregator, transLp, mipdata. cutpool );
128+ separator->run (*lp, lpAggregator, transLp, *mipworker_. cutpool_ );
128129 if (mipworker_.globaldom_ .infeasible ()) {
129130 status = HighsLpRelaxation::Status::kInfeasible ;
130131 return 0 ;
@@ -137,8 +138,8 @@ HighsInt HighsSeparation::separationRound(HighsDomain& propdomain,
137138 else
138139 ncuts += numboundchgs;
139140
140- mipdata. cutpool . separate (sol.col_value , propdomain, cutset,
141- mipdata.feastol , mipdata.cutpools );
141+ mipworker_. cutpool_ -> separate (sol.col_value , propdomain, cutset,
142+ mipdata.feastol , mipdata.cutpools );
142143
143144 if (cutset.numCuts () > 0 ) {
144145 ncuts += cutset.numCuts ();
@@ -158,8 +159,7 @@ HighsInt HighsSeparation::separationRound(HighsDomain& propdomain,
158159 return ncuts;
159160}
160161
161- void HighsSeparation::separate (HighsMipWorker& worker,
162- HighsDomain& propdomain) {
162+ void HighsSeparation::separate (HighsDomain& propdomain) {
163163 HighsLpRelaxation::Status status = lp->getStatus ();
164164 const HighsMipSolver& mipsolver = lp->getMipSolver ();
165165
@@ -179,7 +179,7 @@ void HighsSeparation::separate(HighsMipWorker& worker,
179179 // mipsolver.mipdata_->total_lp_iterations += nlpiters;
180180
181181 // todo:ig more stats for separation iterations?
182- worker .heur_stats .lp_iterations += nlpiters;
182+ mipworker_ .heur_stats .lp_iterations += nlpiters;
183183
184184 // printf("separated %" HIGHSINT_FORMAT " cuts\n", ncuts);
185185
@@ -206,6 +206,6 @@ void HighsSeparation::separate(HighsMipWorker& worker,
206206
207207 // mipsolver.mipdata_->cutpool.performAging();
208208 // ig: using worker cutpool
209- worker .cutpool_ ->performAging ();
209+ mipworker_ .cutpool_ ->performAging ();
210210 }
211211}
0 commit comments