Code Monkey home page Code Monkey logo

Comments (7)

ndrwnaguib avatar ndrwnaguib commented on June 16, 2024

The same incompatibility shows in gcg/src/dec_isomorph.cpp and gcg/src/bliss_automorph.cpp

from scip.

fschloesser avatar fschloesser commented on June 16, 2024

Dear @ndrwnaguib
Using the latest version 0.77 from https://users.aalto.fi/~tjunttil/bliss/download.html the error does not appear in my compilation.
The downloadable packages are built with the github version of bliss https://github.com/ds4dm/Bliss mentioned in the installation section https://www.scipopt.org/doc-8.0.0/html/md_INSTALL.php. This does also not fail in compilation for me. What are you doing differently than me?
Best,
Franzi

from scip.

ndrwnaguib avatar ndrwnaguib commented on June 16, 2024

Hi Franzi; I am also using bliss 0.77, the second rc though.

Name            : bliss
Version         : 0.77-2
Description     : A library for computing automorphism groups and canonical forms of graphs
Architecture    : x86_64
URL             : https://users.aalto.fi/~tjunttil/bliss/
Licenses        : GPL3
Groups          : None
Provides        : None
Depends On      : gmp
Optional Deps   : None
Required By     : None
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 362.86 KiB
Install Reason  : Installed as a dependency for another package
Install Script  : No
Validated By    : Signature

I'm not sure why we have different results; especially that the change took effect starting from version 0.75 (according to the release notes)

from scip.

fschloesser avatar fschloesser commented on June 16, 2024

Hey @ndrwnaguib
How did you install bliss, and are the include files that cmake finds the correct ones or do you possibly have old include files lying around somewhere on your system?
To me, the signature of the find_automorphisms call looks correct in the scip code, as is takes the three arguments mentioned in the documentation. But @pfetsch is the expert here.
Best,
Franzi

from scip.

ndrwnaguib avatar ndrwnaguib commented on June 16, 2024

Franzi, thanks for the follow up; I installed it from the Arch Linux official repositories.

To me, the signature of the find_automorphisms call looks correct in the scip code, as is takes the three arguments mentioned in the documentation.

I think the documentation lists the third parameter as std::function<bool()> type though, with the following description:

If the terminate function argument is given, it is called in each search tree node: if the function returns true, then the search is terminated and thus not all the automorphisms may have been generated. The terminate function may be used to limit the time spent in bliss in case the graph is too difficult under the available time constraints. If used, keep the function simple to evaluate so that it does not consume too much time.

In the referenced SCIP line, it's being used as (void*) (and statically casted to BLISS_data later on); the compilation fails to convert SCIP call to the function to conform with the signature of my bliss implementation however.

from scip.

pfetsch avatar pfetsch commented on June 16, 2024

As far as I can see, the code takes the new interface into account, see the part starting with

#if BLISS_VERSION_MAJOR >= 1 || BLISS_VERSION_MINOR >= 76

in scip/compute_symmetry_bliss.cpp. The corresponding call in this case is

G.find_automorphisms(stats, reportglue, term);

where term is the callback function.

Can you please check whether the define is true in your case (it should be with Bliss version 0.77).

from scip.

ndrwnaguib avatar ndrwnaguib commented on June 16, 2024

@pfetsch, thanks for noting that, it is not there. I was building 7.0.3 instead of 8.0.0. The latest SCIP version should be working however considering the lines you referenced; thank you.

from scip.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.