Skip to content

Commit c12d6d0

Browse files
committed
Merge remote-tracking branch 'origin/v10-minor'
2 parents 06cd905 + 58faa11 commit c12d6d0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+83
-2473
lines changed

CHANGELOG

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ Interface changes
7474
```
7575
SCIP 10 still supports using SCIP_VARTYPE_IMPLINT for backward compatibility, see SCIPcreateVar() and SCIPchgVarType() for more details.
7676
SCIP 11 will remove SCIP_VARTYPE_IMPLINT.
77+
- SCIPsubversion() is deprecated and will be removed
7778

7879
### New and changed callbacks
7980

@@ -99,7 +100,6 @@ Interface changes
99100
- ndelconss added to arguments for SCIPcleanupConssLinear() and SCIPcleanupConssKnapsack() to directly delete empty redundant constraints before creating problem matrix
100101
- copyiisfinders added to arguments for SCIPcopyPlugins() (16th position)
101102
- SCIPcreateConsOrbitope() deleted two arguments and changed position of another argument
102-
- deprecated SCIPsubversion(), will be removed
103103
- SCIPvarCalcDistributionParameters(): argument impltype added (5th position)
104104
- SCIPpermuteProb(): argument permuteimplvars has been replaced by new arguments permutebinimplvars, permuteintimplvars, and permutecontimplvars
105105
- SCIPgetLPBranchCands(): implied integral variables with integrality constraints are included in nlpcands stored in lpcands at the back
@@ -132,6 +132,15 @@ Interface changes
132132
- the declaration of SCIPprintOrigProblem() and SCIPprintTransProblem() moved from scip_solvingstats.h to scip_prob.h
133133
- SCIPnlpiOracleGetJacobianSparsity() has been renamed to SCIPnlpiOracleGetJacobianRowSparsity() and now expect two more arguments: colnlflags and nnlnz
134134
- SCIPnlpiOracleGetHessianLagSparsity() and SCIPnlpiOracleEvalHessianLag() now expect one more argument: colwise
135+
- removed previously deprecated functions SCIPhashtableClear(), SCIPcomputeArraysIntersection(), SCIPcomputeArraysSetminus(),
136+
SCIPgetRandomInt(), SCIPgetRandomReal(), SCIPgetRandomSubset(), SCIPpermuteIntArray(), SCIPpermuteArray(),
137+
SCIPvarGetLbAtIndex(), SCIPvarGetUbAtIndex(), SCIPvarGetBdAtIndex(), SCIPvarWasFixedAtIndex(),
138+
SCIPaddCut(), SCIPcreateRow(), SCIPcreateEmptyRow(), SCIPlpfeastol(), SCIPchgLpfeastol(),
139+
SCIPsolveParallel(), SCIPwriteImplicationConflictGraph(), SCIPallowDualReds(), SCIPallowObjProp(),
140+
SCIPcreateConsQuadratic(), SCIPcreateConsBasicQuadratic(), SCIPaddConstantQuadratic(), SCIPaddLinearVarQuadratic(), SCIPaddQuadVarQuadratic(), SCIPaddQuadVarLinearCoefQuadratic(), SCIPaddSquareCoefQuadratic(), SCIPaddBilinTermQuadratic(), SCIPgetNlRowQuadratic(), SCIPchgLhsQuadratic(), SCIPchgRhsQuadratic(),
141+
SCIPcreateConsAbspower(), SCIPcreateConsBasicAbspower(), SCIPgetNlRowAbspower(),
142+
SCIPcreateConsSOC(), SCIPcreateConsBasicSOC(), SCIPgetNlRowSOC(),
143+
- removed previously deprecated NLP termination status codes SCIP_NLPTERMSTAT_TILIM, SCIP_NLPTERMSTAT_ITLIM, SCIP_NLPTERMSTAT_LOBJLIM, SCIP_NLPTERMSTAT_NUMERR, SCIP_NLPTERMSTAT_EVALERR, SCIP_NLPTERMSTAT_MEMERR, SCIP_NLPTERMSTAT_LICERR
135144

136145
### New API functions
137146

@@ -194,6 +203,7 @@ Interface changes
194203
- removed SCIP_VARTYPE_IMPLINT_CHAR
195204
- added SCIP_PROPTIMING_NONE propagator timing to never call
196205
- added SCIP_HEURTIMING_NONE heuristic timing to never call
206+
- removed use of NO_RAND_R
197207

198208
### Command line interface
199209

@@ -267,6 +277,7 @@ Deleted files
267277
-------------
268278

269279
- removed lpi_spx1.cpp
280+
- removed cons_abspower.{h,c}, cons_quadratic.{h,c}, and cons_soc.{h,c}
270281

271282
Testing
272283
-------

INSTALL.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -802,12 +802,6 @@ On some systems, the `sigaction()` method is not available.
802802
In this case, you have to either add `-DNO_SIGACTION` to the FLAGS in the appropriate `make/make.*` file, or to compile with `make USRFLAGS=-DNO_SIGACTION`.
803803
Make sure, the file `src/scip/interrupt.c` is recompiled.
804804

805-
### No support for rand_r method
806-
807-
On some systems, the `rand_r()` method is not available.
808-
In this case, you have to either add `-DNO_RAND_R` to the FLAGS in the appropriate `make/make.*` file, or to compile with `make USRFLAGS=-DNO_RAND_R`.
809-
Make sure, the file `src/scip/misc.c` is recompiled.
810-
811805
### No support for strtok_r method
812806

813807
On some systems, the `strtok_r()` method is not available.

Makefile

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -674,7 +674,6 @@ SCIPPLUGINLIBOBJ= scip/benders_default.o \
674674
scip/compr_largestrepr.o \
675675
scip/compr_weakcompr.o \
676676
scip/concsolver_scip.o \
677-
scip/cons_abspower.o \
678677
scip/cons_and.o \
679678
scip/cons_benders.o \
680679
scip/cons_benderslp.o \
@@ -700,9 +699,7 @@ SCIPPLUGINLIBOBJ= scip/benders_default.o \
700699
scip/cons_orbitope_full.o \
701700
scip/cons_orbitope_pp.o \
702701
scip/cons_pseudoboolean.o \
703-
scip/cons_quadratic.o \
704702
scip/cons_setppc.o \
705-
scip/cons_soc.o \
706703
scip/cons_sos1.o \
707704
scip/cons_sos2.o \
708705
scip/cons_superindicator.o \

applications/Scheduler/src/cons_optcumulative.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3626,7 +3626,7 @@ SCIP_DECL_CONSRESPROP(consRespropOptcumulative)
36263626
/* collect all activities which are were locally assigned to that machine before the bound change was made */
36273627
for( v = 0; v < consdata->nvars; ++v )
36283628
{
3629-
if( SCIPvarGetLbAtIndex(consdata->binvars[v], bdchgidx, FALSE) > 0.5 )
3629+
if( SCIPgetVarLbAtIndex(scip, consdata->binvars[v], bdchgidx, FALSE) > 0.5 )
36303630
{
36313631
vars[nvars] = consdata->vars[v];
36323632
binvars[nvars] = consdata->binvars[v];
@@ -3644,7 +3644,7 @@ SCIP_DECL_CONSRESPROP(consRespropOptcumulative)
36443644
{
36453645
for( v = 0; v < consdata->nvars; ++v )
36463646
{
3647-
if( SCIPvarGetLbAtIndex(consdata->binvars[v], bdchgidx, FALSE) > 0.5 )
3647+
if( SCIPgetVarLbAtIndex(scip, consdata->binvars[v], bdchgidx, FALSE) > 0.5 )
36483648
{
36493649
SCIP_CALL( SCIPaddConflictBinvar(scip, consdata->binvars[v]) );
36503650

doc/xternal.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1796,7 +1796,7 @@
17961796
* The CONSINITLP callback is executed before the first LP relaxation is solved.
17971797
* It should add the LP relaxations of all "initial" constraints to the LP. The method should scan the constraints
17981798
* array for constraints that are marked initial via calls to SCIPconsIsInitial() and put the LP relaxation
1799-
* of all initial constraints to the LP with calls to SCIPaddCut().
1799+
* of all initial constraints to the LP with calls to SCIPaddRow().
18001800
*
18011801
* @subsection CONSSEPALP
18021802
*
@@ -1805,7 +1805,7 @@
18051805
* the current LP solution.
18061806
* The method is called in the LP solution loop, which means that a valid LP solution exists.
18071807
*
1808-
* Usually, a separation callback searches and produces cuts, that are added with a call to SCIPaddCut().
1808+
* Usually, a separation callback searches and produces cuts, that are added with a call to SCIPaddRow().
18091809
* If the cut should be remembered in the global cut pool, it may also call SCIPaddPoolCut().
18101810
* If the cut is constructed via multiple calls to SCIPaddVarToRow(), then performance can be improved by calling
18111811
* SCIPcacheRowExtensions() before these additions and SCIPflushRowExtensions() after.
@@ -1833,7 +1833,7 @@
18331833
* the given primal solution.
18341834
* The method is not called in the LP solution loop, which means that there is no valid LP solution.
18351835
*
1836-
* Usually, a separation callback searches and produces cuts, that are added with a call to SCIPaddCut().
1836+
* Usually, a separation callback searches and produces cuts, that are added with a call to SCIPaddRow().
18371837
* If the cut should be remembered in the global cut pool, it may also call SCIPaddPoolCut().
18381838
* If the cut is constructed via multiple calls to SCIPaddVarToRow(), then performance can be improved by calling
18391839
* SCIPcacheRowExtensions() before these additions and SCIPflushRowExtensions() after.
@@ -1897,7 +1897,7 @@
18971897
* variables are 0.0). It uses <code>SCIPinferVarLbCons(scip, z, 1.0, c, 0)</code> to apply this assignment (an
18981898
* inference information tag is not needed by the constraint handler and is set to 0). In the conflict analysis, the
18991899
* constraint handler may be asked to resolve the lower bound change on \f$z\f$ with constraint \f$c\f$, that was
1900-
* applied at a time given by a bound change index "bdchgidx". With a call to <code>SCIPvarGetLbAtIndex(z,
1900+
* applied at a time given by a bound change index "bdchgidx". With a call to <code>SCIPgetVarLbAtIndex(z,
19011901
* bdchgidx)</code>, the handler can find out, that the lower bound of variable \f$z\f$ was set to 1.0 at the given
19021902
* point of time, and should call <code>SCIPaddConflictUb(scip, x, bdchgidx)</code> and <code>SCIPaddConflictUb(scip, y,
19031903
* bdchgidx)</code> to tell SCIP, that the upper bounds of \f$x\f$ and \f$y\f$ at this point of time were the reason for
@@ -2697,7 +2697,7 @@
26972697
* It should try to generate general purpose cutting planes in order to separate the current LP solution.
26982698
* The method is called in the LP solution loop, which means that a valid LP solution exists.
26992699
*
2700-
* Usually, the callback searches and produces cuts, that are added with a call to SCIPaddCut().
2700+
* Usually, the callback searches and produces cuts, that are added with a call to SCIPaddRow().
27012701
* If the cut should be added to the global cut pool, it calls SCIPaddPoolCut().
27022702
* If the cut is constructed via multiple calls to SCIPaddVarToRow(), then performance can be improved by calling
27032703
* SCIPcacheRowExtensions() before these additions and SCIPflushRowExtensions() after.
@@ -2726,7 +2726,7 @@
27262726
* relaxations that want to separate an intermediate primal solution vector. Thus, if you do not want to support
27272727
* such external plugins, you do not need to implement this callback method.
27282728
*
2729-
* Usually, the callback searches and produces cuts, that are added with a call to SCIPaddCut().
2729+
* Usually, the callback searches and produces cuts, that are added with a call to SCIPaddRow().
27302730
* If the cut should be added to the global cut pool, it calls SCIPaddPoolCut().
27312731
* If the cut is constructed via multiple calls to SCIPaddVarToRow(), then performance can be improved by calling
27322732
* SCIPcacheRowExtensions() before these additions and SCIPflushRowExtensions() after.
@@ -7228,7 +7228,7 @@
72287228
* infervar), the corresponding bound change (@p bdchgidx, @p boundtype), and the integer (@p inferinfo) that has been
72297229
* supplied during propagation.
72307230
*
7231-
* One can use SCIPvarGetUbAtIndex() or SCIPvarGetLbAtIndex() to detect the bounds before or after the propagation that
7231+
* One can use SCIPgetVarUbAtIndex() or SCIPgetVarLbAtIndex() to detect the bounds before or after the propagation that
72327232
* should be investigated. Then the bounds that were involved should be passed to SCIP via SCIPaddConflictLb() and
72337233
* SCIPaddConflictUb(). If there is more than one valid explanation of infeasibility, either one can be used.
72347234
* Typically, smaller explanations tend to be better.
@@ -7346,7 +7346,7 @@
73467346
* on one problem in parallel. To use this feature \SCIP has to be compiled with an additional make option to
73477347
* enable the threading functionality (e.g. TPI=tny, see \ref MAKE).
73487348
* Then, a concurrent solve can be started by using the <code>concurrentopt</code> command instead of the <code>optimize</code> command
7349-
* in the \SCIP shell, or by calling the interface function SCIPsolveParallel().
7349+
* in the \SCIP shell, or by calling the interface function SCIPsolveConcurrent().
73507350
* To configure the behavior of the concurrent solving mode there are new parameters in the category <code>concurrent/</code>
73517351
* and <code>parallel/</code> which will be explained here shortly.
73527352
*

examples/LOP/src/cons_lop.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -975,7 +975,7 @@ SCIP_DECL_CONSRESPROP(consRespropLOP)
975975
assert( vars[index2][index1] == infervar );
976976

977977
/* if the variable was fixed to 0 */
978-
if ( SCIPvarGetUbAtIndex(infervar, bdchgidx, FALSE) > 0.5 && SCIPvarGetUbAtIndex(infervar, bdchgidx, TRUE) < 0.5 )
978+
if ( SCIPgetVarUbAtIndex(scip, infervar, bdchgidx, FALSE) > 0.5 && SCIPgetVarUbAtIndex(scip, infervar, bdchgidx, TRUE) < 0.5 )
979979
{
980980
SCIPdebugMsg(scip, " -> reason for x[%d][%d] == 0 was x[%d][%d] = 1.\n", index2, index1, index1, index2);
981981
/* the reason was that x[i][j] was fixed to 1 */
@@ -985,7 +985,7 @@ SCIP_DECL_CONSRESPROP(consRespropLOP)
985985
}
986986

987987
/* if the variable was fixed to 1 */
988-
if ( SCIPvarGetLbAtIndex(infervar, bdchgidx, FALSE) < 0.5 && SCIPvarGetLbAtIndex(infervar, bdchgidx, TRUE) > 0.5 )
988+
if ( SCIPgetVarLbAtIndex(scip, infervar, bdchgidx, FALSE) < 0.5 && SCIPgetVarLbAtIndex(scip, infervar, bdchgidx, TRUE) > 0.5 )
989989
{
990990
SCIPdebugMsg(scip, " -> reason for x[%d][%d] == 1 was x[%d][%d] = 0.\n", index2, index1, index1, index2);
991991
/* the reason was that x[i][j] was fixed to 0 */
@@ -1012,7 +1012,7 @@ SCIP_DECL_CONSRESPROP(consRespropLOP)
10121012
assert( vars[index3][index1] == infervar );
10131013

10141014
/* the variable should have been fixed to 0 */
1015-
assert( SCIPvarGetUbAtIndex(infervar, bdchgidx, FALSE) > 0.5 && SCIPvarGetUbAtIndex(infervar, bdchgidx, TRUE) < 0.5 );
1015+
assert( SCIPgetVarUbAtIndex(scip, infervar, bdchgidx, FALSE) > 0.5 && SCIPgetVarUbAtIndex(scip, infervar, bdchgidx, TRUE) < 0.5 );
10161016

10171017
/* the reason was that x[index1][index2] and x[index2][index3] were fixed to 1 */
10181018
SCIPdebugMsg(scip, " -> reason for x[%d][%d] == 0 was x[%d][%d] = x[%d][%d] = 1.\n", index3, index1, index1, index2, index2, index3);

examples/LOP/src/genRandomLOPInstance.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@
3232
#include <assert.h>
3333

3434

35-
/* the following is copied from <scip/misc.c> */
35+
/* the following is copied from an old version of scip/misc.c */
36+
37+
#ifdef _WIN32
38+
#define NO_RAND_R
39+
#endif
3640

3741
/* define own random numbers or take library version depending on the following define */
3842
#ifdef NO_RAND_R

make/make.mingw.x86.gnu.dbg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FLAGS += -DSCIP_NO_SIGACTION -DNO_RAND_R -DSCIP_NO_STRTOK_R -DNO_STRERROR_R -DSCIP_ROUNDING_FE
1+
FLAGS += -DSCIP_NO_SIGACTION -DSCIP_NO_STRTOK_R -DNO_STRERROR_R -DSCIP_ROUNDING_FE
22
OFLAGS += -O0 -ffp-contract=off -g
33
CFLAGS += $(GCCWARN) -Wno-strict-aliasing -Wno-missing-declarations -Wno-missing-prototypes
44
CXXFLAGS += $(GXXWARN) -Wno-strict-aliasing

make/make.mingw.x86.gnu.opt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FLAGS += -DNDEBUG -DSCIP_NO_SIGACTION -DNO_RAND_R -DSCIP_NO_STRTOK_R -DNO_STRERROR_R -DSCIP_ROUNDING_FE
1+
FLAGS += -DNDEBUG -DSCIP_NO_SIGACTION -DSCIP_NO_STRTOK_R -DNO_STRERROR_R -DSCIP_ROUNDING_FE
22
OFLAGS += -O3 -ffp-contract=off -mtune=native -fomit-frame-pointer
33
CFLAGS += $(GCCWARN) -Wno-strict-aliasing -Wno-missing-declarations -Wno-missing-prototypes
44
CXXFLAGS += $(GXXWARN) -Wno-strict-aliasing

make/make.mingw.x86.gnu.opt-gccold

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FLAGS += -DNDEBUG -DSCIP_NO_SIGACTION -DNO_RAND_R -DSCIP_NO_STRTOK_R -DNO_STRERROR_R -DSCIP_ROUNDING_FE
1+
FLAGS += -DNDEBUG -DSCIP_NO_SIGACTION -DSCIP_NO_STRTOK_R -DNO_STRERROR_R -DSCIP_ROUNDING_FE
22
OFLAGS += -O3 -ffp-contract=off -fomit-frame-pointer
33
CFLAGS += $(GCCWARN) -Wno-strict-aliasing -Wno-missing-declarations -Wno-missing-prototypes
44
CXXFLAGS += $(GXXWARN) -Wno-strict-aliasing

0 commit comments

Comments
 (0)