49 using namespace Gecode::Int;
50 using namespace Gecode::Int::Unary;
55 for (
int i=p.
size();
i--; ) {
62 for (
int i=p.
size();
i--;) {
82 for (
int i=s.
size();
i--; )
91 using namespace Gecode::Int;
92 using namespace Gecode::Int::Unary;
95 for (
int i=fix.
size();
i--; ) {
103 if (home.
failed())
return;
105 for (
int i=t.
size();
i--;)
110 unary(home, flex, fix, icl);
113 for (
int i=flex.
size();
i--;)
114 tasks[
i].init(t[
i],flex[i],fix[i]);
122 using namespace Gecode::Int;
123 using namespace Gecode::Int::Unary;
128 for (
int i=p.
size();
i--; ) {
133 bool allMandatory =
true;
134 for (
int i=m.
size();
i--;) {
136 allMandatory =
false;
143 if (home.
failed())
return;
145 for (
int i=s.
size();
i--; )
146 t[
i].init(s[
i],p[i],m[i]);
155 using namespace Gecode::Int;
156 using namespace Gecode::Int::Unary;
161 for (
int i=fix.
size();
i--; ) {
171 if (home.
failed())
return;
172 bool allMandatory =
true;
173 for (
int i=m.
size();
i--;) {
175 allMandatory =
false;
180 unary(home,t,flex,fix,icl);
184 for (
int i=flex.
size();
i--; )
185 tasks[
i].init(flex[
i],fix[i],m[i]);
189 for (
int i=flex.
size();
i--;)
190 tasks[
i].init(t[
i],flex[i],fix[i],m[i]);
199 using namespace Gecode::Int;
200 using namespace Gecode::Int::Unary;
203 if (home.
failed())
return;
204 for (
int i=p.
size();
i--; ) {
208 for (
int i=p.
size();
i--;) {
216 for (
int i=p.
size();
i--;)
218 unary(home,s,pp,icl);
221 for (
int i=s.
size();
i--; )
222 t[
i].init(s[
i],p[i],e[i]);
230 using namespace Gecode::Int;
231 using namespace Gecode::Int::Unary;
235 if (home.
failed())
return;
236 for (
int i=p.
size();
i--; ) {
239 bool allMandatory =
true;
240 for (
int i=m.
size();
i--;) {
242 allMandatory =
false;
247 unary(home,s,p,e,icl);
250 for (
int i=s.
size();
i--; )
251 t[
i].init(s[
i],p[i],e[i],m[i]);