[gecode-users] Unary constraint not-first-not-last propagation does not cancel optional tasks

Christian Schulte cschulte at kth.se
Mon Feb 17 15:59:46 CET 2014


Hi Bauke,

No, they can't, in the current setup this would make the propagator
incorrect. The reasoning is as follows: while the task is still optional,
one is not allowed to prune anything. The reason why the code still lingers
on as a comment is that if one introduces an additional wrapper in forms of
task variables, this kind of reasoing could be used.

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 Conijn, B.J.
Sent: Friday, February 14, 2014 2:08 PM
To: users at gecode.org
Subject: [gecode-users] Unary constraint not-first-not-last propagation does
not cancel optional tasks

Hi,

In not-first-not-last.hpp I found the following piece of code and I was
wondering why those two lines have been commented out. While running the
tests with those two lines included, those lines get executed and the test
still succeeds. Can those two lines be safely included?

if (t[i].mandatory()) {
         GECODE_ME_CHECK(t[i].lct(home,lct[i]));
} else if (lct[i] < t[i].ect()) {
   //        GECODE_ME_CHECK(t[i].excluded(home));
   //        t[i].cancel(home,p); t[i]=t[--n];
}

Kind regards,

Bauke

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




More information about the users mailing list