[gecode-users] splitting branching in full enumeration and first-fail check

Christian Schulte cschulte at kth.se
Mon Jan 28 10:38:41 CET 2013


Yes, that should do the trick as assign only creates a single alternative
(so there will be no branching on B).

Christian

--
Christian Schulte, www.ict.kth.se/~cschulte/


-----Original Message-----
From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of Martin Mann
Sent: Monday, January 28, 2013 10:36 AM
To: 'gecode user list'
Subject: Re: [gecode-users] splitting branching in full enumeration and
first-fail check


Great! Thanks Christian!

Had a look into MPG yesterday but somehow skipped it.. Thanks for the help
and exactly the piece of code I was looking for! :)

If I am right the following statements at the end of my Space constructor
should do right?

   branch( *this, A, ..);
   assign( *this, B, ..);

So the overall reported solutions should show all valid assignments for A
but for each only one valid assignment for B, right?

Please let me know if I am wrong and thanks again for the quick help!

Cheers,
Martin



Am 28.01.2013 10:00, schrieb Christian Schulte:
> That should be easy enough: set up a search engine with branching on A.
> Suppose you get a solution there (a space): then post the simple 
> assignment branching on B on use a different search engine to find a
solution there.
>
> You might want to read about assignment branchings in MPG.
>
> Best
> Christian
>
> --
> Christian Schulte, www.ict.kth.se/~cschulte/
>
>
> -----Original Message-----
> From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On 
> Behalf Of Martin Mann
> Sent: Sunday, January 27, 2013 12:09 PM
> To: gecode user list
> Subject: [gecode-users] splitting branching in full enumeration and 
> first-fail check
>
>
> Dear Gecoders,
>
> I am working on a small problem where the CSP variables are split into 
> two subsets A and B.
>
> For set A, a full enumeration of all valid assignments is wanted while 
> for set B a single check for a valid assignment is sufficent.
>
> Some years ago with Gecode 1.3 I wrote my own branching that did the 
> latter part.
> Thus, first normal branch on A followed by pseudo-branching on B. The 
> latter stopped the subsearch for B after the first solution was found 
> such that the search in A was continued and so on.
>
> So my question: is there a direct support for such a scheme in Gecode 3.7?
> Or do I have to find my old branching implementation and make it ready 
> for the new version? I am crossing fingers you have something ready.. 
> :/
>
> Thanks for your help,
> Martin
>


_______________________________________________
Gecode users mailing list
users at gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users




More information about the users mailing list