Alex is spot on here: but let me expand a little. You might have used the cost() member function for B&B. However the cost() member function is just implemented in terms of the constrain() member function. So what I would do is the following: - Have a integer variable array cost containing the two cost variables you have in mind. - implement a constrain(const Space& _b) member function: _b refers to the so-far best solution. Cast this to your script type, say b. Then this just posts rel(*this, cost, IRT_LQ, b.cost); This enforces that this->cost is lexicographically smaller then the so far best cost b.cost.
That's it. More on the constrain() function you can find in Chapter 2 of MPG. Cheers Christian -- Christian Schulte, www.gecode.org/~schulte Professor of Computer Science, KTH, cschu...@kth.se Expert Researcher, SICS, cschu...@sics.se -----Original Message----- From: users-boun...@gecode.org [mailto:users-boun...@gecode.org] On Behalf Of Alexander Schiendorfer Sent: Friday, January 29, 2016 12:06 PM To: users@gecode.org Subject: Re: [gecode-users] users Digest, Vol 124, Issue 6 Hi Juan, it seems to me that you're searching for lexicographic branch-and-bound. There is a global constraint lex_lesseq that you might want to consider for posting in the constrain method of a Space. Cheers, Alex On 29.01.2016 12:00, users-requ...@gecode.org wrote: > Send users mailing list submissions to > users@gecode.org > > To subscribe or unsubscribe via the World Wide Web, visit > http://www.gecode.org/cgi-bin/mailman/listinfo/users > or, via email, send a message with subject or body 'help' to > users-requ...@gecode.org > > You can reach the person managing the list at > users-ow...@gecode.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of users digest..." > > > Today's Topics: > > 1. Best way to implement multi-criterion optimization in Gecode? > (Juan Carlos Hernandez) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Thu, 28 Jan 2016 12:30:54 +0100 > From: Juan Carlos Hernandez <jchernandez.mad...@gmail.com> > To: users@gecode.org > Subject: [gecode-users] Best way to implement multi-criterion > optimization in Gecode? > Message-ID: > <CAFd=f3eau+xpqjo02kpt9swibpjxkifw-f2so-4me+x4kv7...@mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > Hi everyone, > > > I am trying to use Gecode to solve a multi-criterion problem > > > minimize (F1(x,z), F2(x,z) ) > > subject to constraints on x,z > > > The objectives are ordered in order of importance, so I would like to > first solve the problem P1 > > > minimize F1(x,z) > > subject to original constraints on x,z > > > and then consider the modified problem P2 > > > minimize F2(x,z) > > subject to original constraints on x,z > > F1(x,z) = F1opt > > > where F1opt is the optimal value of P1. > > > What is the most efficient way to implement this in Gecode? > > > > I am now doing two completely separate searches, in the sense that I > create a new Space and run BAB on it for each of the problems. I am > sure that this cannot be the most efficient way of dealing with the > problem, but am unable to figure out how to do it "the right way". > Essentially, when solving P2 I should be able to make use of the work done while solving P1... > > > Any feedback is very much appreciated! > > > Thanks, > > JC > -------------- next part -------------- An HTML attachment was > scrubbed... > URL: > <http://www.gecode.org/pipermail/users/attachments/20160128/06e6ff75/a > ttachment-0001.html> > > ------------------------------ > > _______________________________________________ > Gecode users mailing list > users@gecode.org > https://www.gecode.org/mailman/listinfo/gecode-users > > > End of users Digest, Vol 124, Issue 6 > ************************************* -- Alexander Schiendorfer, M.Sc. Institute for Software & Systems Engineering Raum 3043, Gebäude N Universität Augsburg Web: http://www.informatik.uni-augsburg.de/lehrstuehle/swt/se/staff/aschiendorfer / Tel.: +49 (821) 598 - 2196 E-Mail: alexander.schiendor...@informatik.uni-augsburg.de _______________________________________________ Gecode users mailing list users@gecode.org https://www.gecode.org/mailman/listinfo/gecode-users _______________________________________________ Gecode users mailing list users@gecode.org https://www.gecode.org/mailman/listinfo/gecode-users