Gecode is an open source C++ toolkit for developing constraint-based systems (2019)

64 pointsposted 19 hours ago
by gjvc

19 Comments

nlewycky

11 hours ago

Gecode won the minizinc challenges from inception of the challenge in 2008 until 2012, but these days or-tools wins gold every year 2013 to 2024, and in 2024 swept gold in all categories.

Why is gecode interesting? Why use it over or-tools?

https://www.minizinc.org/challenge/

stargrazer

12 hours ago

Interesting, but why post it? Nothing seems to have been committed/updated in about 6 years. There are a number of PRs outstanding. Is it still in use?

The forum implies that not much maintenance happened after the passing of the primary contributor, even if there were good intentions.

Are there other constraint solvers which have subsumed this one?

osivertsson

7 hours ago

I did not know Christian Schulte had passed away! That is sad news that reaches me now five years on from his passing.

https://intra.kth.se/en/eecs/nyheter/in-memory-of-christian-...

I met Christian at a conference in Lund back in 2005 as I was doing my master thesis within the constraint programming area. He came across as both very knowledgeable and very kind and caring. RIP Christian.

ur-whale

15 hours ago

A short C++ example of gecode in use on their home page would be real nice.

mzl

13 hours ago

Adding to wavemode, the Sudoku example is a good starting point: https://github.com/Gecode/gecode/blob/master/examples/sudoku...

In the documentation (https://www.gecode.org/doc-latest/MPG.pdf) there are a lot of worked examples as well.

CamperBob2

10 hours ago

    for (int i=0; i<nn; i++) {
      distinct(*this, m.row(i), opt.ipl());
      distinct(*this, m.col(i), opt.ipl());
    }
Weird way to use C++, passing *this to everything explicitly, but maybe they have a reason.

nurettin

7 hours ago

Qt does this as well. It is a common way of preserving a parent-child relationship.

ur-whale

12 hours ago

Yes, I found those.

The point is to make the example front and center on the homepage so as to very quickly show what this is about to the casual passer-by.

wavemode

13 hours ago

ur-whale

12 hours ago

Thanks for pointing those out, I did in fact find them because my interest level was high enough that I went digging in the github repo.

But as I explain above, a key thing for tech. things like this, which are interesting in an of themselves, is to hook the casual passer-by by very quickly showing him/her what it is about.

For this, you want a very short example front and center on your homepage to get people with little time to see what the stuff can actually do.

user

7 hours ago

[deleted]

aninteger

13 hours ago

For some reason I pictured this software as a system for developing memory or CPU constrained software. Like granting only 1 mb of memory and maybe having functions executed in a certain number of "clock ticks"