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
+45-12
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.
130
139
131
140
### Changes in preprocessor macros
132
141
@@ -162,6 +171,7 @@ Interface changes
162
171
- new parameter "propagating/symmetry/handlesignedorbitopes" to control whether special symmetry handling techniques for orbitopes whose columns can be (partially) reflected shall be applied
163
172
- new parameter "propagating/symmetry/usesimplesgncomp" to control whether symmetry components all of whose variables are simultaneously reflected by a symmetry shall be handled by a special inequality
164
173
- new parameter "propagating/symmetry/dispsyminfo" to control whether information about which symmetry handling methods are applied are printed
174
+
- new parameter "presolving/implint/convertintegers" to control whether implied integrality should also be detected for enforced integral variables
165
175
- new parameter "presolving/implint/columnrowratio" indicates the ratio of rows/columns where the row-wise network matrix detection algorithm is used instead of the column-wise network matrix detection algorithm
166
176
- new parameter "presolving/implint/numericslimit" determines the limit for absolute integral coefficients beyond which the corresponding rows and variables are excluded from implied integrality detection
"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).
181
196
182
197
### Data structures
183
198
@@ -284,15 +299,31 @@ Miscellaneous
284
299
285
300
- updated description of paramater misc/usesymmetry
286
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
+
287
318
@section RN922 SCIP 9.2.2
288
319
*************************
289
320
290
321
Fixed bugs
291
322
----------
292
323
293
-
- 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
294
325
- free memory leaking singleton arrays for ignored variables in SCIPapplyHeurDualval()
295
-
- 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
296
327
- fixed timeouts due to race conditions when using TPI=omp
297
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
298
329
- respect fixing if variable is declared binary in bounds section of mps file
@@ -301,12 +332,18 @@ Fixed bugs
301
332
- adds missing NULL check for Benders' subproblems in feasalt cut
302
333
- apply objective scale to pseudoboolean non-linear terms
303
334
- impose pseudoboolean cost bound without intermediate casting
304
-
- flatten aggregation graph before finishing presolving to accelerate evaluating an empty solution
305
-
- respect fixed resultants in binvarGetActiveProbindex() of branch_relpscost.c
306
-
- drop fixed resultants when copying pseudoboolean constraint to avert segmentation fault
307
-
- correct matrix entry when resolving aggregated variables in checkSystemGF2() of cons_xor.c
308
-
- corrected symmetry detection graph of cons_and.c, cons_or.c, and cons_xor.c
309
-
- correct redundancy filter in consdataCreateRedundant() of cons_bounddisjunction.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
343
+
- fix conflict resolution for one particular case in cons_indicator
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
310
347
311
348
Build system
312
349
------------
@@ -324,9 +361,6 @@ Build system
324
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
325
362
- fix that make install SHARED=true missed to install libscipbase
326
363
327
-
Miscellaneous
328
-
-------------
329
-
330
364
@section RN921 SCIP 9.2.1
331
365
*************************
332
366
@@ -341,7 +375,6 @@ Fixed bugs
341
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
342
376
- respect maximal separation rounds setting by running remaining delayed separators in last round
343
377
- replace terms consistently in applyFixings() of cons_linear to handle infinite aggregations
344
-
- fixed bug with SOS2 constraints of size that avoided a correct enforcing
0 commit comments