File tree Expand file tree Collapse file tree 8 files changed +21
-14
lines changed Expand file tree Collapse file tree 8 files changed +21
-14
lines changed Original file line number Diff line number Diff line change @@ -47,7 +47,7 @@ boost-soplex-scip:
47
47
- export CFLAGS=""
48
48
- export CXXFLAGS=""
49
49
# boost
50
- - wget https://boostorg.jfrog .io/artifactory/main /release/${BOOST_VERSION}/source/boost_$(echo ${BOOST_VERSION} | tr . _).tar.gz -O ${BOOST_DIR}.tar.gz
50
+ - wget https://archives.boost .io/release/${BOOST_VERSION}/source/boost_$(echo ${BOOST_VERSION} | tr . _).tar.gz -O ${BOOST_DIR}.tar.gz
51
51
- mkdir -p ${BOOST_DIR}
52
52
- tar -xzf ${BOOST_DIR}.tar.gz -C ${BOOST_DIR} --strip-components=1
53
53
- cd ${BOOST_DIR}
Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ Fixed bugs
21
21
----------
22
22
23
23
- keep restricted solver limit settings in modifier setting when resetting
24
+ - avoid fixing trivially infeasible bounds and sides to keep feasibility status
24
25
25
26
Build system
26
27
------------
Original file line number Diff line number Diff line change @@ -50,7 +50,7 @@ namespace bugger
50
50
return !problem.getColFlags ( )[ col ].test (ColFlag::kFixed )
51
51
&& !problem.getColFlags ( )[ col ].test (ColFlag::kLbInf )
52
52
&& !problem.getColFlags ( )[ col ].test (ColFlag::kUbInf )
53
- && this ->num .isZetaEq (problem.getLowerBounds ( )[ col ], problem.getUpperBounds ( )[ col ]);
53
+ && this ->num .isZetaGE (problem.getLowerBounds ( )[ col ], problem.getUpperBounds ( )[ col ]);
54
54
}
55
55
56
56
bool
Original file line number Diff line number Diff line change @@ -53,7 +53,9 @@ namespace bugger
53
53
bool rhsinf = problem.getRowFlags ( )[ row ].test (RowFlag::kRhsInf );
54
54
REAL lhs { problem.getConstraintMatrix ( ).getLeftHandSides ( )[ row ] };
55
55
REAL rhs { problem.getConstraintMatrix ( ).getRightHandSides ( )[ row ] };
56
- if ( ( lhsinf || rhsinf || !this ->num .isZetaEq (lhs, rhs) ) && ( ( !lhsinf && !this ->num .isZetaIntegral (lhs) ) || ( !rhsinf && !this ->num .isZetaIntegral (rhs) ) ) )
56
+ if ( ( lhsinf || rhsinf || !this ->num .isZetaEq (lhs, rhs) )
57
+ && ( ( !lhsinf && !this ->num .isZetaIntegral (lhs) )
58
+ || ( !rhsinf && !this ->num .isZetaIntegral (rhs) ) ) )
57
59
return true ;
58
60
const auto & data = problem.getConstraintMatrix ( ).getRowCoefficients (row);
59
61
for ( int index = 0 ; index < data.getLength ( ); ++index )
Original file line number Diff line number Diff line change @@ -47,10 +47,11 @@ namespace bugger
47
47
bool
48
48
isObjectiveAdmissible (const Problem<REAL>& problem, const int & col) const
49
49
{
50
- return !this ->num .isZetaZero (problem.getObjective ( ).coefficients [ col ])
51
- && ( problem.getColFlags ( )[ col ].test (ColFlag::kLbInf )
52
- || problem.getColFlags ( )[ col ].test (ColFlag::kUbInf )
53
- || !this ->num .isZetaEq (problem.getLowerBounds ( )[ col ], problem.getUpperBounds ( )[ col ]) );
50
+ return !problem.getColFlags ( )[ col ].test (ColFlag::kFixed )
51
+ && !this ->num .isZetaZero (problem.getObjective ( ).coefficients [ col ])
52
+ && ( problem.getColFlags ( )[ col ].test (ColFlag::kLbInf )
53
+ || problem.getColFlags ( )[ col ].test (ColFlag::kUbInf )
54
+ || !this ->num .isZetaEq (problem.getLowerBounds ( )[ col ], problem.getUpperBounds ( )[ col ]) );
54
55
}
55
56
56
57
ModifierStatus
Original file line number Diff line number Diff line change @@ -48,9 +48,9 @@ namespace bugger
48
48
isSideAdmissible (const Problem<REAL>& problem, const int & row) const
49
49
{
50
50
return !problem.getRowFlags ( )[ row ].test (RowFlag::kRedundant )
51
- && ( problem.getRowFlags ( )[ row ].test (RowFlag::kLhsInf )
52
- || problem.getRowFlags ( )[ row ].test (RowFlag::kRhsInf )
53
- || ! this ->num .isZetaEq (problem.getConstraintMatrix ( ).getLeftHandSides ( )[ row ], problem.getConstraintMatrix ( ).getRightHandSides ( )[ row ]) );
51
+ && ( problem.getRowFlags ( )[ row ].test (RowFlag::kLhsInf )
52
+ || problem.getRowFlags ( )[ row ].test (RowFlag::kRhsInf )
53
+ || this ->num .isZetaLT (problem.getConstraintMatrix ( ).getLeftHandSides ( )[ row ], problem.getConstraintMatrix ( ).getRightHandSides ( )[ row ]) );
54
54
}
55
55
56
56
ModifierStatus
Original file line number Diff line number Diff line change @@ -47,9 +47,10 @@ namespace bugger
47
47
bool
48
48
isVariableAdmissible (const Problem<REAL>& problem, const int & col) const
49
49
{
50
- return problem.getColFlags ( )[ col ].test (ColFlag::kLbInf )
51
- || problem.getColFlags ( )[ col ].test (ColFlag::kUbInf )
52
- || !this ->num .isZetaEq (problem.getLowerBounds ( )[ col ], problem.getUpperBounds ( )[ col ]);
50
+ return !problem.getColFlags ( )[ col ].test (ColFlag::kFixed )
51
+ && ( problem.getColFlags ( )[ col ].test (ColFlag::kLbInf )
52
+ || problem.getColFlags ( )[ col ].test (ColFlag::kUbInf )
53
+ || this ->num .isZetaLT (problem.getLowerBounds ( )[ col ], problem.getUpperBounds ( )[ col ]) );
53
54
}
54
55
55
56
ModifierStatus
Original file line number Diff line number Diff line change @@ -55,7 +55,9 @@ namespace bugger
55
55
bool ubinf = problem.getColFlags ( )[ col ].test (ColFlag::kUbInf );
56
56
REAL lb { problem.getLowerBounds ( )[ col ] };
57
57
REAL ub { problem.getUpperBounds ( )[ col ] };
58
- return ( lbinf || ubinf || !this ->num .isZetaEq (lb, ub) ) && ( ( !lbinf && !this ->num .isZetaIntegral (lb) ) || ( !ubinf && !this ->num .isZetaIntegral (ub) ) );
58
+ return ( lbinf || ubinf || !this ->num .isZetaEq (lb, ub) )
59
+ && ( ( !lbinf && !this ->num .isZetaIntegral (lb) )
60
+ || ( !ubinf && !this ->num .isZetaIntegral (ub) ) );
59
61
}
60
62
61
63
ModifierStatus
You can’t perform that action at this time.
0 commit comments