Dear Christian, Oh, that's another problem. I redefine the master() function as described at page 161, if (cri.solution() == 0 ) cri.nogoods().post(*this) so that do not restart if a solution is found. The infinite loop still there. The only way to stop it is to "return false" rather than "return true".
It seems the "if" condition is not useful. I am really confused about that. Zichen On Tue, Dec 16, 2014 at 11:22 PM, Christian Schulte <cschu...@kth.se> wrote: > Hmmmm, I had a look and that should work. I will look into a little later > (after Christmas). > > > > However: it will work when you do not restart on a solution. Then, the > combination of all solution search together with restarts is not really > that meaningful, is it? > > > > Cheers > > Christian > > > > -- > > Christian Schulte, Professor of Computer Science, KTH, > www.gecode.org/~schulte/ > > > > *From:* ziche...@gmail.com [mailto:ziche...@gmail.com] *On Behalf Of *Zhu > Zichen's cse > *Sent:* Tuesday, December 16, 2014 4:14 PM > *To:* cschu...@kth.se > *Cc:* users@gecode.org > *Subject:* Re: [gecode-users] A problem for restart > > > > Dear Christian, > > > > Here are the codes. Many thanks. > > > > Zichen > > > > On Tue, Dec 16, 2014 at 11:04 PM, Christian Schulte <cschu...@kth.se> > wrote: > > Hi Zichen, > > > > MPG does not make a promise here: it says "the solution might not be found > again" but it does not give you a guarantee. But for your example I would > have to know how nqueen_rbs looks like. > > > > Cheers > > Christian > > > > -- > > Christian Schulte, Professor of Computer Science, KTH, > www.gecode.org/~schulte/ > > > > *From:* users-boun...@gecode.org [mailto:users-boun...@gecode.org] *On > Behalf Of *Zhu Zichen's cse > *Sent:* Tuesday, December 16, 2014 3:43 PM > *To:* users@gecode.org > *Subject:* [gecode-users] A problem for restart > > > > Dear all, > > > > I met a problem when using ​restart in Gecode. > > > > I simply use restart to find all solutions for 4-Queens while use the same > heuristic after each restart: > > ./nqueen_rbs -restart geometric -restart-scale 2 -restart-base 10 -nogoods > 1 -nogoods-limit 128 4 > > > > But I got into an infinite loop which keeps printing the first solution. > > > > According to the newest version of document "MPG" (page 160), the master() > function posts no-goods when the a solution is found. This means the same > solution will not be found again. > > > > I rewrite the master() function by changing the last line "return true" > into "return false", now all solutions are generated without trapped into a > loop. > > > > I am wondering why the infinite loop happens and whether Gecode has truly > recorded previous solutions as nogoods as the document says. > > > > Thanks for help. > > > > Zichen > > [image: Image removed by sender.] > > >
_______________________________________________ Gecode users mailing list users@gecode.org https://www.gecode.org/mailman/listinfo/gecode-users