| 610 | |
| 611 | |
| 612 | Options::Options(const char* n) |
| 613 | : BaseOptions(n), |
| 614 | |
| 615 | _model("model","model variants"), |
| 616 | _symmetry("symmetry","symmetry variants"), |
| 617 | _propagation("propagation","propagation variants"), |
| 618 | _branching("branching","branching variants"), |
| 619 | _decay("decay","decay factor",1.0), |
| 620 | _seed("seed","random number generator seed",1U), |
| 621 | _step("step","step distance for float optimization",0.0), |
| 622 | |
| 623 | _search("search","search engine variants"), |
| 624 | _solutions("solutions","number of solutions (0 = all)",1), |
| 625 | _threads("threads","number of threads (0 = #processing units)", |
| 626 | Search::Config::threads), |
| 627 | _c_d("c-d","recomputation commit distance",Search::Config::c_d), |
| 628 | _a_d("a-d","recomputation adaptation distance",Search::Config::a_d), |
| 629 | _d_l("d-l","discrepancy limit for LDS",Search::Config::d_l), |
| 630 | _node("node","node cutoff (0 = none, solution mode)"), |
| 631 | _fail("fail","failure cutoff (0 = none, solution mode)"), |
| 632 | _time("time","time (in ms) cutoff (0 = none, solution mode)"), |
| 633 | _assets("assets","#portfolio assets (#engines)",0), |
| 634 | _slice("slice","portfolio slice (in #failures)",Search::Config::slice), |
| 635 | _restart("restart","restart sequence type",RM_NONE), |
| 636 | _r_base("restart-base","base for geometric restart sequence", |
| 637 | Search::Config::base), |
| 638 | _r_scale("restart-scale","scale factor for restart sequence", |
| 639 | Search::Config::slice), |
| 640 | _r_limit("restart-limit","restart cutoff (0 = none, solution mode)"), |
| 641 | _nogoods("nogoods","whether to use no-goods from restarts",false), |
| 642 | _nogoods_limit("nogoods-limit","depth limit for no-good extraction", |
| 643 | Search::Config::nogoods_limit), |
| 644 | _relax("relax","probability for relaxing variable", 0.0), |
| 645 | _interrupt("interrupt","whether to catch Ctrl-C (true) or not (false)", |
| 646 | true), |
| 647 | |
| 648 | _mode("mode","how to execute script",SM_SOLUTION), |
| 649 | _samples("samples","how many samples (time mode)",1), |
| 650 | _iterations("iterations","iterations per sample (time mode)",1), |
| 651 | _print_last("print-last", |
| 652 | "whether to only print the last solution (solution mode)", |
| 653 | false), |
| 654 | _out_file("file-sol", "where to print solutions " |
| 655 | "(supports stdout, stdlog, stderr)","stdout"), |
| 656 | _log_file("file-stat", "where to print statistics " |
| 657 | "(supports stdout, stdlog, stderr)","stdout"), |
| 658 | _trace(0) |
| 659 | |
| 660 | #ifdef GECODE_HAS_CPPROFILER |
| 661 | , |
| 662 | _profiler("cp-profiler", "use this execution id and port (comma separated) with CP-profiler") |
| 663 | #endif |
| 664 | { |
| 665 | |
| 666 | _mode.add(SM_SOLUTION, "solution"); |
| 667 | _mode.add(SM_TIME, "time"); |
| 668 | _mode.add(SM_STAT, "stat"); |
| 669 | _mode.add(SM_GIST, "gist"); |