\brief Main-function * \relates QCP */
| 278 | * \relates QCP |
| 279 | */ |
| 280 | int |
| 281 | main(int argc, char* argv[]) { |
| 282 | QCPOptions opt("QCP"); |
| 283 | |
| 284 | opt.branching(QCP::BRANCH_AFC_SIZE); |
| 285 | opt.branching(QCP::BRANCH_SIZE, "size"); |
| 286 | opt.branching(QCP::BRANCH_AFC_SIZE, "afc"); |
| 287 | #ifdef GECODE_HAS_CBS |
| 288 | opt.branching(QCP::BRANCH_CBS_MAX_SD, "maxSD"); |
| 289 | #endif |
| 290 | |
| 291 | opt.ipl(IPL_DOM); |
| 292 | |
| 293 | opt.propagation(QCP::PROP_DISTINCT); |
| 294 | opt.propagation(QCP::PROP_BINARY, "binary", |
| 295 | "only binary disequality constraints"); |
| 296 | opt.propagation(QCP::PROP_DISTINCT, "distinct", |
| 297 | "distinct constraints"); |
| 298 | |
| 299 | opt.instance(name[0]); |
| 300 | |
| 301 | opt.parse(argc,argv); |
| 302 | if (!Spec(opt.instance()).valid()) { |
| 303 | std::cerr << "Error: unknown instance" << std::endl; |
| 304 | return 1; |
| 305 | } |
| 306 | Script::run<QCP,DFS,QCPOptions>(opt); |
| 307 | return 0; |
| 308 | } |
| 309 | |
| 310 | namespace { |
| 311 |