Hi Gustavo, sorry, the tutorial documentation was wrong. There is no support for posting n-ary set operations with arbitrary relations. You have to decompose by hand using an auxiliary variable. Thanks for pointing this out!
Cheers, Guido Gustavo GutiƩrrez wrote: > Hello, > > In the document "Modeling with Gecode", section 5.2.3 "Set > operations" you say that: > > rel(home, SOT_UNION, x, SRT_SUP, y); > > Enforces a union relation of all the elements of x (an array of set > variables) to be a subset of set variable y. When I tried to use > this constraint I got an error from the compiler saying that such a > function does not exist: > > error: no matching function for call to 'rel(GdPIPSolver&, > Gecode::SetOpType, Gecode::SetVarArray&, Gecode::SetRelType, > Gecode::SetVar&)' > > The line in my code producing the error is: > > rel(*this,SOT_UNION,supliers,SRT_SUB,nT); > > being suppliers the array of set variables and nT a set variable. > > When I open the documentation (the part linked from the first > paragraph of the section 5.2.3) I notice that the only methods that > take a SetOpType as a second parameter are: > > void Gecode::rel (Space &home, SetOpType op, const SetVarArgs &x, > SetVar y) > Post propagator for $ y = \diamond_{\mathit{op}} x$. > void Gecode::rel (Space &home, SetOpType op, const SetVarArgs &x, > const IntSet &z, SetVar y) > Post propagator for $ y = \diamond_{\mathit{op}} x > \diamond_{\mathit{op}} z$. > > Which of course do not match with the documented function. Am I > missing something?, probably I am looking at the wrong place an is > an stupid mistake. > > > Regards, > Gustavo > _______________________________________________ > Gecode users mailing list > us...@gecode.org > https://www.gecode.org/mailman/listinfo/gecode-users _______________________________________________ Gecode users mailing list us...@gecode.org https://www.gecode.org/mailman/listinfo/gecode-users