Skip to content

Commit 4126855

Browse files
committed
Merge branch 'v9-minor'
2 parents c6ccb40 + 1ca110f commit 4126855

9 files changed

+22
-0
lines changed

Diff for: CHANGELOG

+7
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,18 @@ Fixed bugs
105105
----------
106106

107107
- fixed bug in detection of double lex matrices due to wrong memory allocation
108+
- fixed bug where parameter `limits/objectivestop` was copied to subscips in plugins which have different objectives
108109

109110

110111
Miscellaneous
111112
-------------
112113

114+
Build system
115+
------------
116+
117+
### Cmake
118+
119+
- removed replacement of the settings of RelWithDebInfo
113120

114121

115122
@section RN900 SCIP 9.0.0

Diff for: pclint/scip.lnt

+1
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@
120120
// is likely uninitialized
121121
-emacro(530,va_*)
122122
-ecall(530,vsnprintf)
123+
-emacro(530,SCIPalloc*)
123124

124125
// ignoring return value of function
125126
-esym(534,printf,fprintf,fclose,fputs,fputc,fseek,fflush,strcat,strcpy,SCIPfclose,SCIPfseek,memset,memcpy,memmove)

Diff for: src/scip/cons_components.c

+1
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,7 @@ SCIP_RETCODE createSubscip(
494494
/* disable solution limits */
495495
SCIP_CALL( SCIPsetIntParam(*subscip, "limits/solutions", -1) );
496496
SCIP_CALL( SCIPsetIntParam(*subscip, "limits/bestsol", -1) );
497+
SCIP_CALL( SCIPresetParam(*subscip, "limits/objectivestop") );
497498

498499
/* reduce the effort spent for hash tables; however, if the debug solution is enabled and valid in this subtree,
499500
* hash tables are needed for installing the debug solution

Diff for: src/scip/heur_dualval.c

+3
Original file line numberDiff line numberDiff line change
@@ -971,6 +971,9 @@ SCIP_RETCODE createSubSCIP(
971971
/* copy parameter settings */
972972
SCIP_CALL( SCIPcopyParamSettings(scip, heurdata->subscip) );
973973

974+
/* disable objective stop in subscip */
975+
SCIP_CALL( SCIPresetParam(heurdata->subscip, "limits/objectivestop") );
976+
974977
/* create problem in sub-SCIP */
975978

976979
/* get name of the original problem and add "dualval" */

Diff for: src/scip/heur_lpface.c

+2
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,8 @@ SCIP_RETCODE setSubscipLimits(
475475
/* set also the other two limits */
476476
SCIP_CALL( SCIPsetRealParam(subscip, "limits/time", timelimit) );
477477
SCIP_CALL( SCIPsetRealParam(subscip, "limits/memory", memorylimit) );
478+
/* disable objective stop */
479+
SCIP_CALL( SCIPresetParam(subscip, "limits/objectivestop") );
478480

479481
return SCIP_OKAY;
480482
}

Diff for: src/scip/heur_repair.c

+3
Original file line numberDiff line numberDiff line change
@@ -940,6 +940,9 @@ SCIP_RETCODE applyRepair(
940940
SCIP_CALL( SCIPsetRealParam(subscip, "limits/memory", memorylimit) );
941941
SCIP_CALL( SCIPsetObjlimit(subscip,1.0) );
942942

943+
/* disable objective stop */
944+
SCIP_CALL( SCIPresetParam(subscip, "limits/objectivestop") );
945+
943946
/* forbid recursive call of heuristics and separators solving sub-SCIPs */
944947
SCIP_CALL( SCIPsetSubscipsOff(subscip, TRUE) );
945948

Diff for: src/scip/heur_subnlp.c

+1
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,7 @@ SCIP_RETCODE createSubSCIP(
392392
SCIP_CALL( SCIPresetParam(heurdata->subscip, "limits/solutions") );
393393
SCIP_CALL( SCIPresetParam(heurdata->subscip, "limits/time") );
394394
SCIP_CALL( SCIPresetParam(heurdata->subscip, "limits/totalnodes") );
395+
SCIP_CALL( SCIPresetParam(heurdata->subscip, "limits/objectivestop") );
395396

396397
/* we remember here which way (continuous or not) we went, in case all binary and integer vars get fixed in root */
397398
heurdata->continuous = SCIPgetNBinVars(heurdata->subscip) == 0 && SCIPgetNIntVars(heurdata->subscip) == 0;

Diff for: src/scip/heuristics.c

+3
Original file line numberDiff line numberDiff line change
@@ -988,6 +988,9 @@ SCIP_RETCODE SCIPcopyLargeNeighborhoodSearch(
988988
/* copy parameter settings */
989989
SCIP_CALL( SCIPcopyParamSettings(sourcescip, subscip) );
990990

991+
/* disable objective stop in subscip since objective might be changed */
992+
SCIP_CALL( SCIPresetParam(subscip, "limits/objectivestop") );
993+
991994
/* create linear constraints from LP rows of the source problem */
992995
SCIP_CALL( createRows(sourcescip, subscip, varmap) );
993996
}

Diff for: src/scip/scip_copy.c

+1
Original file line numberDiff line numberDiff line change
@@ -3326,6 +3326,7 @@ SCIP_RETCODE SCIPcopyLimits(
33263326
SCIP_CALL( SCIPsetIntParam(targetscip, "limits/solutions", -1) );
33273327
SCIP_CALL( SCIPsetLongintParam(targetscip, "limits/stallnodes", -1LL) );
33283328
SCIP_CALL( SCIPsetLongintParam(targetscip, "limits/totalnodes", -1LL) );
3329+
SCIP_CALL( SCIPsetRealParam(targetscip, "limits/objectivestop", SCIP_INVALID) );
33293330

33303331
return SCIP_OKAY;
33313332
}

0 commit comments

Comments
 (0)