You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG
+42-14Lines changed: 42 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -28,6 +28,10 @@ Features
28
28
- added decomposition kernel search (DKS) heuristic (disabled by default). This heuristic implements a kernel search framework and can be used
29
29
both as a construction heuristic as well as an improvement heuristic. In addition, existing decomposition information can be utilized by this heuristic.
30
30
- symmetry detection does not treat implicit integer variables separately anymore, but computes symmetries based on the variable type inferred from variable bounds and implied integrality
31
+
- when solving a SCIP problem with additional decomposition information (for example, when reading a DEC file) and enabling decomposition/applybenders,
32
+
the problem is now solved in a Benders' decomposition relaxator; instead of decomposing the original SCIP instance, the relaxator builds the decomposed problem in
33
+
sub-SCIPs and solves it via default Benders' Decomposition; a solution to the original (undecomposed) problem is now made available by the relaxator;
34
+
the SCIP shell dialog "display statistics" now also prints the statistics from solving the Benders' decomposition in the relaxator
31
35
32
36
Performance improvements
33
37
------------------------
@@ -68,6 +72,7 @@ Interface changes
68
72
- the callback SCIP_DECL_EXPRINTEGRALITY, which returns the integrality of an expression, had its fourth argument change from SCIP_Bool* to SCIP_IMPLINTTYPE*, to represent implied integrality in nonlinear expressions, that is an implied integral type of an auxiliary variable if the expression were assigned to it
69
73
- new event SCIP_EVENTTYPE_DUALBOUNDIMPROVED is generated whenever the global dual bound is improved
70
74
- new event mask SCIP_EVENTTYPE_GAPUPDATED for catching updates in primal or dual bound
75
+
- added new sorting functions SCIPsortRealPtrPtr(), ...
71
76
72
77
### Deleted and changed API methods
73
78
@@ -87,6 +92,8 @@ Interface changes
87
92
- SCIPexprSetIntegrality(): set argument generalized from SCIP_Bool integral to SCIP_IMPLINTTYPE integrality (4th position)
88
93
- Temporarily for SCIP 10 only: Creating a variable SCIPcreateVar() with type SCIP_VARTYPE_IMPLINT creates a variable of type SCIP_VARTYPE_CONTINUOUS and implied integral type SCIP_IMPLINTTYPE_WEAK instead
89
94
- Temporarily for SCIP 10 only: SCIPchgVarType() converts a call with type SCIP_VARTYPE_IMPLINT into a call of SCIPchgVarImplType() with type SCIP_IMPLINTTYPE_WEAK
95
+
- SCIPapplyBendersDecomposition has been removed. This was originally used to apply Benders' decomposition from a
96
+
supplied decomposition structure. The application of Benders' decomposition now occurs in benders_relax.
90
97
91
98
### New API functions
92
99
@@ -127,6 +134,8 @@ Interface changes
127
134
- added SCIPvarsCountTypes() to determine the variable type count distribution for an array of variables
128
135
- added SCIPeventGetOldImplType() and SCIPeventGetNewImplType() to query the new event SCIP_EVENTTYPE_IMPLTYPECHANGED
129
136
- added SCIPexprGetIntegrality(), which in addition to the existing function SCIPexprIsIntegral() provides information about the presence of weakly implied integral variables
137
+
- added SCIPincludeRelaxBenders(), which is used to include the Benders' decomposition relaxator.
138
+
- added SCIPgetMasterProblemRelaxBenders() for retrieving the master problem SCIP instance from the Benders' decomposition relaxator.
"heuristics/dks/redcostlogsort", "heuristics/dks/objcutoff", and "heuristics/dks/runbinprobsonly" to control heuristic decomposition kernel search
191
+
- new parameters "relaxing/benders/continueorig" and "relaxing/benders/nodelimit" for controlling the behaviour of the
192
+
Benders' decomposition relaxator. The "continueorig" parameter indicates whether the original problem should continue
193
+
solving after the completion of the Benders' decomposition algorithm if the problem is not solved to optimality. The
194
+
"nodelimit" parameter allows the user to provide a node limit for the Benders' decomposition master problem (by
195
+
default the limits from the original SCIP instance are copied to the master problem).
182
196
183
197
### Data structures
184
198
@@ -285,15 +299,31 @@ Miscellaneous
285
299
286
300
- updated description of paramater misc/usesymmetry
287
301
302
+
@section RN923 SCIP 9.2.3
303
+
*************************
304
+
305
+
Fixed bugs
306
+
----------
307
+
308
+
Build system
309
+
------------
310
+
311
+
### Cmake
312
+
313
+
### Makefile
314
+
315
+
Miscellaneous
316
+
-------------
317
+
288
318
@section RN922 SCIP 9.2.2
289
319
*************************
290
320
291
321
Fixed bugs
292
322
----------
293
323
294
-
- fixed definition of slack variables of >= constraints and ranged rows in LP interface to Gurobi (lpi_grb.c)
324
+
- fixed definition of slack variables of >= constraints and ranged rows in LP interface to Gurobi
295
325
- free memory leaking singleton arrays for ignored variables in SCIPapplyHeurDualval()
296
-
- use epsilon tolerance for bound implications of dual substitutions in dualPresolve() of cons_linear.c
326
+
- use epsilon tolerance for bound implications of dual substitutions in dualPresolve() of cons_linear
297
327
- fixed timeouts due to race conditions when using TPI=omp
298
328
- fixed issues with indexing of concurrent solvers when a solver finishes (because SCIP is too fast) before others have been created when using TPI=tny
299
329
- respect fixing if variable is declared binary in bounds section of mps file
@@ -302,16 +332,18 @@ Fixed bugs
302
332
- adds missing NULL check for Benders' subproblems in feasalt cut
303
333
- apply objective scale to pseudoboolean non-linear terms
304
334
- impose pseudoboolean cost bound without intermediate casting
305
-
- flatten aggregation graph before finishing presolving to accelerate evaluating an empty solution
306
-
- respect fixed resultants in binvarGetActiveProbindex() of branch_relpscost.c
307
-
- drop fixed resultants when copying pseudoboolean constraint to avert segmentation fault
308
-
- correct matrix entry when resolving aggregated variables in checkSystemGF2() of cons_xor.c
309
-
- corrected symmetry detection graph of cons_and.c, cons_or.c, and cons_xor.c
310
-
- correct redundancy filter in consdataCreateRedundant() of cons_bounddisjunction.c
311
-
- replaced unreliable comparison of node pointers by node numbers in prop_genvbounds.c
312
-
- allocate memory for all integral variables to avoid segmentation faults in applyCliqueFixings() of heur_clique.c
335
+
- flatten aggregation graph before finishing presolve to accelerate evaluating an empty solution
336
+
- respect fixed resultants in binvarGetActiveProbindex() of branch_relpscost
337
+
- drop fixed resultants when copying pseudoboolean constraint
338
+
- correct matrix entry when resolving aggregated variables in checkSystemGF2() of cons_xor
339
+
- corrected symmetry detection graph of cons_and, cons_or, cons_xor, and cons_indicator
340
+
- correct redundancy filter in consdataCreateRedundant() of cons_bounddisjunction
341
+
- replaced unreliable comparison of node pointers by node numbers in prop_genvbounds
342
+
- allocate memory for all integral variables in applyCliqueFixings() of heur_clique
313
343
- fix conflict resolution for one particular case in cons_indicator
314
344
- make interface to nauty thread safe
345
+
- use relative epsilon tolerance to check Farkas row in SCIPlpGetDualfarkas() to avoid invalid cutoff
346
+
- fixed bug with SOS2 constraints of size that avoided a correct enforcing
315
347
316
348
Build system
317
349
------------
@@ -329,9 +361,6 @@ Build system
329
361
- fix use of SANITIZE=full for debug builds with GCC on Linux: removed -fsanitize=leak because it cannot be used together with -fsanitize=address
330
362
- fix that make install SHARED=true missed to install libscipbase
331
363
332
-
Miscellaneous
333
-
-------------
334
-
335
364
@section RN921 SCIP 9.2.1
336
365
*************************
337
366
@@ -346,7 +375,6 @@ Fixed bugs
346
375
- added copy callbacks for presolvers dualagg and redvub, branching rules lookahead and cloud, primal heuristics dualval and repair, propagator nlobbt, and separators gauge and convexproj
347
376
- respect maximal separation rounds setting by running remaining delayed separators in last round
348
377
- replace terms consistently in applyFixings() of cons_linear to handle infinite aggregations
349
-
- fixed bug with SOS2 constraints of size that avoided a correct enforcing
0 commit comments