Skip to content

Commit abc7d08

Browse files
committed
Merge branch '3942-fix-invalid-solution-for-infeasible-instance-violation-right-hand-side-is-violated-by-46' into 'v92-bugfix'
Resolve "Invalid solution for infeasible instance - violation: right hand side is violated by 46.5100000000002" See merge request integer/scip!3910
2 parents edc41c9 + 4af818d commit abc7d08

File tree

4 files changed

+20
-2
lines changed

4 files changed

+20
-2
lines changed

CHANGELOG

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Fixed bugs
2121
- adjust bound before checking feasibility in SCIPvarAddVlb() and SCIPvarAddVub() to detect integrality cutoff
2222
- choose incumbent solution as reference in varFixingsRins() and varFixingsDins() of heur_alns.c to ensure integrality
2323
- consider variable type in selectInitialVariableRandomly() of heur_gins.c to count integral variables
24+
- correct fractionality sign when standardizing bounds in simplifyInequalities() of cons_linear.c
2425

2526
Build system
2627
------------

check/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -518,6 +518,7 @@ set(pairs_Issue
518518
"instances/Issue/3934.cip\;-5007\;conflict_off_reduced_presolving_subrestart"
519519
"instances/Issue/3935.cip\;-24793.9840277416\;default"
520520
"instances/Issue/3940.cip\;-2549.22\;unscaled_tolerance"
521+
"instances/Issue/3942.cip\;0\;default"
521522
)
522523

523524
#

check/instances/Issue/3942.cip

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
STATISTICS
2+
Problem name : instance
3+
Variables : 3 (0 binary, 3 integer, 0 implicit integer, 0 continuous)
4+
Constraints : 0 initial, 4 maximal
5+
OBJECTIVE
6+
Sense : minimize
7+
VARIABLES
8+
[integer] <x0>: obj=0, original bounds=[-200,200]
9+
[integer] <x1>: obj=0, original bounds=[-200,200]
10+
[integer] <x2>: obj=0, original bounds=[-200,200]
11+
CONSTRAINTS
12+
[linear] <_C1>: +73<x0>[I] -36<x1>[I] +80<x2>[I] <= 4120;
13+
[linear] <_C2>: +4.5<x0>[I] -82<x1>[I] -98<x2>[I] <= 2483.99;
14+
[linear] <_C4>: +54<x0>[I] +0.5<x1>[I] +30<x2>[I] <= 468;
15+
[linear] <_C5>: -18<x0>[I] +60<x1>[I] -48<x2>[I] <= -12910;
16+
END

src/scip/cons_linear.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12206,7 +12206,7 @@ SCIP_RETCODE simplifyInequalities(
1220612206
/* swap bounds for 'standard' form */
1220712207
if( !SCIPisFeasZero(scip, lb) )
1220812208
{
12209-
ub = lb;
12209+
ub = -lb;
1221012210
val *= -1;
1221112211
}
1221212212

@@ -12299,7 +12299,7 @@ SCIP_RETCODE simplifyInequalities(
1229912299
/* swap bounds for 'standard' form */
1230012300
if( !SCIPisFeasZero(scip, lb) )
1230112301
{
12302-
ub = lb;
12302+
ub = -lb;
1230312303
val *= -1;
1230412304
}
1230512305

0 commit comments

Comments
 (0)