Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/v9-minor'
Browse files Browse the repository at this point in the history
  • Loading branch information
scip-ci committed Jun 2, 2024
2 parents 8163eed + d05596d commit 8706483
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 24 deletions.
20 changes: 7 additions & 13 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,6 @@ Known bugs
Features
--------

- Added constraint handler that checks and enforces bounds on original variables which have been fixed or aggregated in the transformed problem.
- added constraint handler that checks and enforces bounds on original variables which have been fixed or aggregated in the transformed problem
- allow for implicit integer variables in xor constraints
- implemented symmetry detection callbacks for cons_pseudoboolean
Expand All @@ -86,22 +85,15 @@ Features
Performance improvements
------------------------

- Use sassy+nauty as default symmetry computation package.

Build system
------------

### Cmake

- cmake now automatically downloads and installs the latest release version of SoPlex from GitHub if it is not found directly
- changed the default symmetry computation package from sassy+bliss to sassy+nauty

Fixed bugs
----------

Examples and applications
-------------------------

- TSP: remove `gzstream.h/hpp` and parse gzipped file differently
- TSP: removed `gzstream.h/hpp` and parse gzipped files differently

Interface changes
-----------------
Expand All @@ -113,8 +105,8 @@ Interface changes

### New API functions

- New function SCIPgetExprActivityNonlinear() to get activity of nonlinear constraint.
- New function SCIPincludeConshdlrFixedvar() to include new constraint handler that checks bounds on fixed original variables.
- new function SCIPgetExprActivityNonlinear() to get activity of nonlinear constraint
- new function SCIPincludeConshdlrFixedvar() to include new constraint handler that checks bounds on fixed original variables

### Command line interface

Expand All @@ -133,7 +125,7 @@ Interface changes

### New data structures

- SCIP_Status is extended by SCIP_STATUS_PRIMALLIMIT and SCIP_STATUS_DUALLIMIT to indicate termination at limits/primal and limits/dual respectively
- enum SCIP_Status has been extended by SCIP_STATUS_PRIMALLIMIT and SCIP_STATUS_DUALLIMIT to indicate termination at limits/primal and limits/dual respectively

Build system
------------
Expand All @@ -142,6 +134,8 @@ Build system

### Cmake

- cmake now automatically downloads and installs the latest release version of SoPlex from GitHub if it is not found directly

Testing
-------

Expand Down
1 change: 0 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,6 @@ elseif(SYM STREQUAL "nauty" OR SYM STREQUAL "snauty")
set(SYM_PIC_LIBRARIES ${NAUTY_DIR}/nauty/nauty.a)
else()
add_subdirectory(src/nauty)
set(SYM_LIBRARIES nauty)
set(SYM_PIC_LIBRARIES nauty)
set(NAUTY_TARGET nauty)
endif()
Expand Down
13 changes: 10 additions & 3 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1068,21 +1068,27 @@ if(SHARED)
set(ZIMPL_NEEDED 0)
target_link_libraries(libscip PRIVATE ${ZIMPL_PIC_LIBRARIES} ${LPS_PIC_LIBRARIES} ${SYM_PIC_LIBRARIES})
add_executable(scip main.c ${scipsources} ${objscipsources} ${lpisources} ${tpisources} ${symsources})
if(DEFINED NAUTY_TARGET)
target_link_libraries(scip PRIVATE ${NAUTY_TARGET})
endif()
else()
set(SOPLEX_NEEDED ${SOPLEX_FOUND})
set(ZIMPL_NEEDED ${ZIMPL_FOUND})
if(DEFINED BLISS_TARGET)
target_link_libraries(libscip PRIVATE ${ZIMPL_LIBRARIES} ${LPS_LIBRARIES})
elseif(DEFINED NAUTY_TARGET)
target_link_libraries(libscip PRIVATE ${ZIMPL_LIBRARIES} ${LPS_LIBRARIES})
else()
target_link_libraries(libscip PRIVATE ${ZIMPL_LIBRARIES} ${LPS_LIBRARIES} ${SYM_LIBRARIES})
endif()
add_executable(scip main.c)
if(DEFINED BLISS_TARGET)
target_link_libraries(scip libscip ${BLISS_TARGET})
target_link_libraries(scip PUBLIC libscip ${BLISS_TARGET})
elseif(DEFINED NAUTY_TARGET)
target_link_libraries(scip libscip ${NAUTY_TARGET})
target_link_libraries(scip PUBLIC libscip)
target_link_libraries(scip PRIVATE ${NAUTY_TARGET})
else()
target_link_libraries(scip libscip)
target_link_libraries(scip PUBLIC libscip)
endif()
endif()

Expand All @@ -1105,6 +1111,7 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
endif()

target_link_libraries(scip
PUBLIC
${SYM_LIBRARIES}
$<$<BOOL:${SCIP_WITH_ZLIB}>:ZLIB::ZLIB>
${Readline_LIBRARY}
Expand Down
5 changes: 5 additions & 0 deletions src/nauty/nausparse.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@

#define TMP

//SV disable warning due to cast of unsigned int* to sparsegraph* in SG_VDE macro
#ifdef __clang__
#pragma clang diagnostic ignored "-Wcast-align"
#endif

/* #define ONE_WORD_SETS not sure about this! See notes.txt. */
#include "nausparse.h"

Expand Down
10 changes: 7 additions & 3 deletions src/nauty/nauty.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,14 @@ it is necessary to check they are correct.
#if !TLS_SUPPORTED
#error "TLS is requested but not available"
#else
#ifndef _WIN32
#define TLS_ATTR _Thread_local
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201102L
#define TLS_ATTR _Thread_local
#elif defined(_MSC_VER)
#define TLS_ATTR __declspec(thread)
#elif defined(__GNUC__) || defined(__INTEL_COMPILER) || defined(__SUNPRO_CC) || defined(__IBMCPP__)
#define TLS_ATTR __thread
#else
#define TLS_ATTR __declspec(thread)
#error "Do not know how to define TLS_ATTR"
#endif
#define HAVE_TLS 1
#endif
Expand Down
8 changes: 4 additions & 4 deletions tests/src/symmetry/compute.c
Original file line number Diff line number Diff line change
Expand Up @@ -2656,14 +2656,14 @@ Test(test_compute_symmetry, expr10, .description = "compute signed permutation s
exampleExpr5(TRUE);
}

/* TEST 29 */
Test(test_compute_symmetry, expr11, .description = "compute permutation symmetries for an example containing nonlinear constraints")
/* TEST 29 */ /* disabled because failing with snauty, #3709 */
Test(test_compute_symmetry, expr11, .description = "compute permutation symmetries for an example containing nonlinear constraints", .disabled = true)
{
exampleExpr6(FALSE);
}

/* TEST 30 */
Test(test_compute_symmetry, expr12, .description = "compute signed permutation symmetries for an example containing nonlinear constraints")
/* TEST 30 */ /* disabled because failing with snauty, #3709 */
Test(test_compute_symmetry, expr12, .description = "compute signed permutation symmetries for an example containing nonlinear constraints", .disabled = true)
{
exampleExpr6(TRUE);
}
Expand Down

0 comments on commit 8706483

Please sign in to comment.