[gecode-users] Display the values of a set of variable without duplicates
Guido Tack
tack at gecode.org
Sat Jun 1 18:40:39 CEST 2013
I guess the problem is that you only want to see x,y but you need to search on z,k first? That's a bit more tricky.
You can use a restart search engine, which restarts after each solution. Then for each solution you add the negation of the solution as a constraint in the root, e.g. (not (x==1 and y==1)). I'm not sure how well this scales if you have many solutions, but it could be worth a try.
Cheers,
Guido
On 31/05/2013, at 12:04, Christian Schulte <cschulte at kth.se> wrote:
> Hi,
>
> I am not sure whether I understand your question correctly. But you can
> exchange the order of the search engine (that is, in my previous reply swap
> e1 and e2).
>
> Best
> Christian
>
> --
> Christian Schulte, Professor of Computer Science, KTH,
> www.ict.kth.se/~cschulte/
>
>
> -----Original Message-----
> From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
> Of Amina Kemmar
> Sent: Friday, May 31, 2013 10:00 AM
> To: users at gecode.org
> Subject: [gecode-users] Display the values of a set of variable without
> duplicates
>
> Hello,
>
> I already asked for the following problem:
>
> According to the variables defined in our model (x,y,z,k), I obtained the
> following solutions :
> 1,1,2,3
> 1,1,5,6
> 1,1,7,9
> 1.1,8,8
> I am interested to the values of the two variable x and y, so I want to
> avoid the enumeration of the three last solution in order to display just
> the first solution.
>
> I got the following response:
>
> One way to do it is as follows:
> - You create a space s that only has a brancher for x and y
> - You create a search engine e1 for s and find a solution, say s1
> - You post a brancher in s1 for z and k.
> - You create a search engine e2 for s and find just a single solution!
> - You can then also get more solutions from e1 and repeat the previous two
> steps.
>
> Thank you for the solution, it works very well, but I have an other problem
> which is the enumeration order of the variables x, y, z and k. I must begin
> the branching from the variables z and k, then x, y (In this way, Gecode
> enumerates quickly the solutions but for the first order "x,y,z,k", it takes
> about 30 minutes to enumerate the first solution).
> Is there an other solution?
>
> Thank you.
> -----
> Amina
>
>
> _______________________________________________
> Gecode users mailing list
> users at gecode.org
> https://www.gecode.org/mailman/listinfo/gecode-users
>
>
> _______________________________________________
> Gecode users mailing list
> users at gecode.org
> https://www.gecode.org/mailman/listinfo/gecode-users
More information about the users
mailing list