Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/v9-minor'
Browse files Browse the repository at this point in the history
  • Loading branch information
scip-ci committed Mar 21, 2024
2 parents 70a1a68 + ac9bea9 commit b44b36e
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,8 @@ Fixed bugs
- enable parameter limits/restarts by allowing to reach the restart limit in restartAllowed()
- handle normalizing linear constraints in presolving with more caution to avoid numerical difficulties for integer variables with large coefficients
- use quad precision to calculate residual activity bounds to reduce numerical errors for large variable bounds in cons_linear.c
- in SCIPsolveProbingLP() when objective has been changed do not return cutoff due to exceeding the cutoff bound
- set probing LP to be a relaxation only when objective has not been changed

Miscellaneous
-------------
Expand Down
5 changes: 3 additions & 2 deletions src/scip/scip_probing.c
Original file line number Diff line number Diff line change
Expand Up @@ -745,7 +745,8 @@ SCIP_RETCODE solveProbingLP(
/* load the LP state (if necessary) */
SCIP_CALL( SCIPtreeLoadProbingLPState(scip->tree, scip->mem->probmem, scip->set, scip->transprob, scip->eventqueue, scip->lp) );

SCIPlpSetIsRelax(scip->lp, TRUE);
/* the LP is a relaxation if and only if the objective has not been changed */
SCIPlpSetIsRelax(scip->lp, !scip->tree->probingobjchanged);

/* solve probing LP */
SCIP_CALL( SCIPlpSolveAndEval(scip->lp, scip->set, scip->messagehdlr, scip->mem->probmem, scip->stat,
Expand Down Expand Up @@ -785,7 +786,7 @@ SCIP_RETCODE solveProbingLP(
/* the LP is infeasible or the objective limit was reached */
if( !(*lperror) && (SCIPlpGetSolstat(scip->lp) == SCIP_LPSOLSTAT_INFEASIBLE
|| SCIPlpGetSolstat(scip->lp) == SCIP_LPSOLSTAT_OBJLIMIT ||
(SCIPlpGetSolstat(scip->lp) == SCIP_LPSOLSTAT_OPTIMAL
(SCIPlpGetSolstat(scip->lp) == SCIP_LPSOLSTAT_OPTIMAL && !scip->tree->probingobjchanged
&& SCIPisGE(scip, SCIPgetLPObjval(scip), SCIPgetCutoffbound(scip)))) )
{
/* analyze the infeasible LP (only if all columns are in the LP and no external pricers exist) */
Expand Down

0 comments on commit b44b36e

Please sign in to comment.