Hi.
I've finally decided to use gecode instead of gecode/J so that I could
modify the existing classes dfs.icc, reco-stack.icc and search.hh
rather
than implement the whole from nothing.
Ok, that will make it easier for us to help you debugging, too.
I've managed to get the way to the solution found, that is the list of
alternatives to follow. But I don't really understand how to
rebuild the
stack.
In my opinion, I have to push a new ReCoNode in the stack for each
alternative.
Yes, in principle, that's what you have to do. However, each ReCoNode
contains a counter _alt that stores the alternative this node
currently represents. So if you commit to alternative 1, you'd have
to push a ReCoNode with _alt = 1. You will have to change some
interfaces there in order to be able to set _alt.
[...]
Once the stack is rebuild, I thought I could simply call the method
next().
Yes, that should work.
I don't get any error, but the program simply stops when j = 1 but I
don't know why...
Do you mean when i=1? Or do you mean a different j?
I would guess that if the nodes don't have the correct alternative
stored in them, this can already be a problem. Another problem is
that you will need at least one copy somewhere on the stack. That's
the second argument to rcs.push. If there is no copy, recomputation
does not work. So your first call to push should look like this
rcs.push(cur, cur->clone());
I hope you'll get it working using these hints.
Cheers,
Guido
--
Guido Tack
Programming Systems Lab, Saarland University, Germany
http://www.ps.uni-sb.de/~tack
_______________________________________________
Gecode users mailing list
[EMAIL PROTECTED]
https://www.gecode.org/mailman/listinfo/gecode-users