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 Oct 30, 2024
2 parents 400700d + 855ed6f commit c782589
Show file tree
Hide file tree
Showing 19 changed files with 79 additions and 358 deletions.
21 changes: 5 additions & 16 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -185,20 +185,14 @@ Miscellaneous
Fixed bugs
----------

- skip constraint propagation if the residual activity bound cancels the side precision in tightenVarBounds() of cons_linear.c
- use indices of negation counterparts and accept fixings when ordering and-resultants of pseudoboolean constraints
- skip linear constraint propagation if the residual activity bound cancels the side precision
- correct bound tracking to make the evaluation of primal-dual-integrals work
- update locks on model variables before removing pseudoboolean constraints in consPresolPseudoboolean()
- skip aggregations on fixed variables in milp presolver to avoid errors for earlier versions of PaPILO
- use indices of negation counterparts and accept fixings when ordering and-resultants of pseudoboolean constraints
- update locks on model variables before removing pseudoboolean constraints in presolve
- reformulate soft pseudoboolean constraints with linear constraints if the indicator decomposition is disabled
- in lpi_highs set the presolve option in lpiSolve() to not reset the model status directly after solving the LP
- update constraints and hashmap after each multi-aggregation to avoid key error in removeDoubleAndSingletonsAndPerformDualpresolve() of cons_setppc.c

Unit tests
----------

Testing
-------
- add workaround for recent HiGHS versions resetting the model status when changing the presolve option after a solve
- avoid hashmap key error in removal of doubletons and singletons in dual presolve of setppc constraints by updating constraints and corresponding hashmaps after each multi-aggregation

Build system
------------
Expand All @@ -207,16 +201,11 @@ Build system

- attempted to fix detection of CPLEX library on macOS and Windows systems

### Makefile

Miscellaneous
-------------

- adjusted Gurobi interface for Gurobi 12

Known bugs
----------

@section RN911 SCIP 9.1.1
*************************

Expand Down
76 changes: 0 additions & 76 deletions applications/Scheduler/src/cons_optcumulative.c
Original file line number Diff line number Diff line change
Expand Up @@ -1146,13 +1146,6 @@ SCIP_RETCODE addRelaxation(

consdata->relaxadded = TRUE;

#if 0
if( !conshdlrdata->rowrelax )
{
SCIP_CALL( SCIPrestartSolve(scip) );
}
#endif

return SCIP_OKAY;
}

Expand Down Expand Up @@ -1877,75 +1870,6 @@ SCIP_RETCODE enfopsCons(
return SCIP_OKAY;
}

#if 0
/** enforce the LP or pseudo solution */
static
SCIP_RETCODE enfoCons(
SCIP* scip, /**< SCIP data structure */
SCIP_CONS* cons, /**< constraint to be checked */
SCIP_Bool* violated, /**< pointer to store if the constraint is violated */
SCIP_Bool* rowadded /**< pointer to store if a row was added */
)
{
SCIP_CONSDATA* consdata;
SCIP_VAR** binvars;
SCIP_VAR** vars;
int* demands;
int* durations;
SCIP_Bool auxiliary;
SCIP_Bool cutoff;
int nvars;

assert(scip != NULL);
assert(cons != NULL);
assert(violated != NULL);

SCIPdebugMessage("check optcumulative constraints <%s>\n", SCIPconsGetName(cons));

consdata = SCIPconsGetData(cons);
assert(consdata != NULL);

SCIP_CALL( SCIPallocBufferArray(scip, &binvars, consdata->nvars) );
SCIP_CALL( SCIPallocBufferArray(scip, &vars, consdata->nvars) );
SCIP_CALL( SCIPallocBufferArray(scip, &durations, consdata->nvars) );
SCIP_CALL( SCIPallocBufferArray(scip, &demands, consdata->nvars) );

/* collect information of all activities which are assigned to that machine in the given solution */
collectSolActivities(scip, consdata, NULL, binvars, vars, durations, demands, &nvars, &auxiliary);

if( nvars > 0 )
{
/* check the cumulative condition */
SCIP_CALL( SCIPcheckCumulativeCondition(scip, NULL, nvars, vars,
durations, demands, consdata->capacity, consdata->hmin, consdata->hmax, violated, cons, FALSE) );

if( *violated )
{
#if 0
/* create row */
SCIP_CALL( createRow(scip, SCIPconsGetName(cons), binvars, vars, durations, demands, nvars,
consdata->capacity, TRUE, &cutoff) );
#endif
/* reset constraint age since it successfully detected infeasibility */
SCIP_CALL( SCIPresetConsAge(scip, cons) );
}
else
{
/* increase constraint age since it did not detected infeasibility */
SCIP_CALL( SCIPincConsAge(scip, cons) );
}
}

/* free all buffers */
SCIPfreeBufferArray(scip, &demands);
SCIPfreeBufferArray(scip, &durations);
SCIPfreeBufferArray(scip, &vars);
SCIPfreeBufferArray(scip, &binvars);

return SCIP_OKAY;
}
#endif

/** upgrade constraints to an cumulative constraint */
static
SCIP_RETCODE upgradeCons(
Expand Down
29 changes: 0 additions & 29 deletions applications/Scheduler/src/heur_optcumulative.c
Original file line number Diff line number Diff line change
Expand Up @@ -253,9 +253,6 @@ SCIP_RETCODE applyOptcumulative(
SCIP_Real upperbound;
SCIP_Real pseudoobj;
SCIP_Bool infeasible;
#if 0
int depth;
#endif

assert(heur != NULL);
assert(heurdata != NULL);
Expand All @@ -264,9 +261,6 @@ SCIP_RETCODE applyOptcumulative(
infeasible = FALSE;

*result = SCIP_DIDNOTFIND;
#if 0
depth = SCIPgetDepth(scip);
#endif

/* start probing */
SCIP_CALL( SCIPstartProbing(scip) );
Expand Down Expand Up @@ -545,29 +539,6 @@ SCIP_RETCODE applyOptcumulative(
if( stored )
*result = SCIP_FOUNDSOL;
}
#if 0
else
{
/* check that code */
int v;

SCIP_CALL( SCIPinitConflictAnalysis(scip) );

for( v = 0; v < heurdata->machines[m]; ++v )
{
SCIP_CALL( SCIPaddConflictBinvar(scip, heurdata->binvars[m][v]) );
SCIP_CALL( SCIPaddConflictLb(scip, heurdata->vars[m][v], NULL) );
SCIP_CALL( SCIPaddConflictUb(scip, heurdata->vars[m][v], NULL) );
}

/* analyze the conflict */
#if 0
SCIP_CALL( SCIPanalyzeConflict(scip, depth, NULL) );
#endif
SCIP_CALL( SCIPanalyzeConflict(scip, 0, NULL) );
SCIP_CALL( SCIPfreeSol(scip, &sol) );
}
#endif
}

/* exit probing mode */
Expand Down
Loading

0 comments on commit c782589

Please sign in to comment.