42 using namespace Gecode;
70 : n(opt.
size()), noOfTriples((n*(n-1))/6),
71 triples(*this, noOfTriples,
IntSet::empty, 1, n, 3, 3) {
73 for (
int i=0;
i<noOfTriples;
i++) {
74 for (
int j=
i+1; j<noOfTriples; j++) {
79 rel(*
this, (x & y) == atmostOne);
88 if (opt.
model() == MODEL_NONE) {
99 }
else if (opt.
model() == MODEL_MATCHING) {
106 }
else if (opt.
model() == MODEL_SEQ) {
126 linear(*
this,
IntArgs(6,(n+1)*(n+1),n+1,1,-(n+1)*(n+1),-(n+1),-1),
136 for (
int i=0;
i<noOfTriples;
i++) {
137 os <<
"\t[" <<
i <<
"] = " << triples[
i] << std::endl;
142 triples.update(*
this, share, s.
triples);
147 return new Steiner(share,*
this);
163 opt.
parse(argc,argv);
164 Script::run<Steiner,DFS,SizeOptions>(
opt);