17 PARAM(help, bool, "help", false, "Prints this help")\
18 PARAM(filename, std::string, "input.cnf ", "", "Input CNF file") \
19 PARAM(cpus, int, "c", 32, "Number of solver threads to launch") \
20 PARAM(timeout, int, "t", -1, "Timeout in seconds") \
21 PARAM(verbosity, int, "v", 0, "Verbosity level") \
22 PARAM(test, bool, "test", false, "Use Test working strategy") \
23 PARAM(noModel, bool, "no-model", false, "Disable model output") \
24 PARAM(enableDistributed, bool, "dist", false, "Enable distributed solving, thus initializes MPI") \
26 CATEGORY("Portfolio options") \
27 PARAM(solver, std::string, "solver", "kkkcl", "Portfolio of solvers") \
28 PARAM(simple, bool, "simple", false, "Use PortfolioSimple") \
29 PARAM(enableMallob, bool, "mallob", false, "Emulate Mallob's Sharing Strategy In PortfolioSimple") \
31 CATEGORY("Solving options") \
32 PARAM(maxDivNoise, int, "max-div-noise", 1000, "Maximum noise for random engine in diversification") \
33 PARAM(glucoseSplitHeuristic, int, "glc-split-heur", 1, "Split heuristic") \
34 PARAM(defaultClauseBufferSize, int, "default-clsbuff-size", 1000, "Default ClauseBuffer size") \
35 PARAM(localSearchFlips, int, "ls-flips", -1, "Number of local search flips") \
37 CATEGORY("Sharing options") \
38 PARAM(maxClauseSize, int, "max-cls-size", 60, "Maximum size of clauses to be added in ClauseDatabase") \
39 PARAM(initSleep, int, "init-sleep", 10'000, "Initial sleep time in microseconds for a Sharer") \
40 PARAM(sharingStrategy, int, "shr-strat", 1, "Strategy selection for local sharing (ongoing re-organization)") \
41 PARAM(globalSharingStrategy, int, "gshr-strat", 1, "Global sharing strategy") \
42 PARAM(sharingSleep, int, "shr-sleep", 500'000, "Sleep time for sharer after each round") \
43 PARAM(globalSharingSleep, int, "gshr-sleep", 600'000, "Sleep time for sharer after each round of global sharing") \
44 PARAM(oneSharer, bool, "one-sharer", false, "Use only one sharer") \
45 PARAM(globalSharedLiterals, int, "gshr-lit", 2000, "Number of literals shared globally") \
46 PARAM(sharedLiteralsPerProducer, int, "shr-lit-per-prod", 1500, "Number of literals shared per producer. It is mainly used for local sharing") \
47 PARAM(simpleShareLimit, int, "simple-limit", 10, "Simple share clause size limit") \
48 PARAM(importDB, std::string, "importDB", "d", "Solver import dabatase type")\
49 PARAM(importDBCap, unsigned, "importDB-cap", 10'000, "Solver import dabatase capacity")\
51 CATEGORY("Hordesat options") \
52 PARAM(hordeInitialLbdLimit, unsigned, "horde-initial-lbd", 2, "Initial LBD value for producers") \
53 PARAM(hordeInitRound, unsigned, "horde-init-round", 1, "Rounds before HordesatSharingAlt starts") \
55 CATEGORY("Mallob options") \
56 PARAM(mallobSharingsPerSecond, int, "mallob-shr-per-sec", 2, "Number of shares per second") \
57 PARAM(mallobMaxBufferSize, int, "mallob-gshr-max-lit", 250'000, "Maximum number of literals shared globally") \
58 PARAM(mallobResharePeriod, int, "mallob-reshare-period-us", 15'000'000, "Reshare period in microseconds for ExactFilter") \
59 PARAM(mallobLBDLimit, int, "mallob-lbd-limit", 60, "Mallob LBD limit") \
60 PARAM(mallobSizeLimit, int, "mallob-size-limit", 60, "Mallob size limit") \
61 PARAM(mallobMaxCompensation, float, "max-mallob-comp", 5.0f, "Maximum Mallob compensation") \
63 CATEGORY("SBVA options") \
64 PARAM(sbvaTimeout, int, "sbva-timeout", 500, "SBVA timeout") \
65 PARAM(sbvaCount, int, "sbva-count", 12, "SBVA threads count") \
66 PARAM(sbvaPostLocalSearchers, int, "ls-after-sbva", 2, "Local search solvers after SBVA") \
67 PARAM(sbvaMaxClause, int, "sbva-max-clause", 10'000'000, "SBVA maximum clause count") \
68 PARAM(sbvaMaxAdd, int, "sbva-max-add", 0, "SBVA maximum additions") \
69 PARAM(sbvaNoShuffle, bool, "no-sbva-shuffle", false, "Disable SBVA shuffle") \
71 CATEGORY("PRS options") \
72 PARAM(prsCircuitVar, int, "prs-circuit-var", 100'000, "PRS circuit variable limit") \
73 PARAM(prsGaussVar, int, "prs-gauss-var", 100'000, "PRS Gauss variable limit") \
74 PARAM(prsCardVar, int, "prs-card-var", 100'000, "PRS cardinality variable limit") \
75 PARAM(prsCircuitCls, int, "prs-circuit-cls", 1'000'000, "PRS circuit clause limit") \
76 PARAM(prsGaussClsSize, int, "prs-gauss-cls-size", 6, "PRS Gauss clause size limit") \
77 PARAM(prsGaussCls, int, "prs-gauss-cls", 1'000'000, "PRS Gauss clause limit") \
78 PARAM(prsBinCls, int, "prs-bin-cls", 10'000'000, "PRS binary clause limit") \
79 PARAM(prsCardCls, int, "prs-card-cls", 1'000'000, "PRS cardinality clause limit") \
83 #define PARAM(name, type, parsed_name, default_value, description) \
84 type name = default_value;
85 #define CATEGORY(description)
90 static void init(
int argc,
char** argv);
91 static void printHelp();
92 static void printParams();
Definition Parameters.hpp:82