An activity may only require one single resource from a set of alternative resources during its execution, without specifying which one. We declare the resource constraints in the same manner as in previous examples, except that the activities masonry
and plumbing
require one of the workers in our alternative resource set (workers[1]
or workers[2]
).
/* POST THE RESOURCE CONSTRAINTS. */
model.add(carpentry.requires(workers[0]));
model.add(ceiling.requires(workers[0]));
model.add(roofing.requires(workers[0]));
model.add(windows.requires(workers[0]));
model.add(facade.requires(workers[0]));
model.add(masonry.requires(workers[1]));
model.add(plumbing.requires(workers[2]));
model.add(garden.requires(workers[3]));
model.add(painting.requires(workers[3]));
model.add(moving.requires(workers[3]));