Command line options
Here are listed the options to qCoral. On the command line, the values for options are specified in the form '--long=value' or '--long value'. The value is mandatory for all options except booleans. Booleans are set to true if no value is specified.
Model Counting
- --mcSeed num
Seed to be used by the RNG. num is a long "longs", separated by commas. Default value is 99076487270974053l.
- --mcMaxSamples num
Global sampling budget. num is a long. Default is 100000. Obs: In previous versions, this parameter defined the number of samples taken for every subproblem/partition.
- --cachePavingResults
Cache RealPaver paving results. Default is false. Enabled by default when using the iterative algorithm (run_qcoral.sh/coral.counters.refactoring.Runner).
- --mcPartitionAndCache
Partition/cache constraints sent to the selected model counter. Default is false. Enabled by default when using the iterative algorithm (run_qcoral.sh/coral.counters.refactoring.Runner).
- --mcCallIntSolPartition
Call interval solver for each partition. Default is false. Enabled by default when using the iterative algorithm (run_qcoral.sh/coral.counters.refactoring.Runner).
Iterative sampling
- --mcIterativeImprovement
Uses the iterative approach described in our FSE'15 paper to estimate probabilities. Default is false.
- --mcTargetVariance double
qCORAL will stop when the global variance is smaller than double. Default is 1E-16.
- --mcInitialPartitionBudget num
Number of samples taken in the bootstrap stage. Default is 1000.
- --mcSamplesPerIncrement num
Number of samples taken in each iteration after the bootstrap. Default is 10000.
- --mcAllocateBudgetProportionally
Allocate samples to each subproblem proportionally to their derivative. Default is false.
- --mcProportionalBoxSampleAllocation
Allocate samples to each box proportionally to their respective variance. Default is false.
- --mcNonRankedIterativeImprovement
Don't rank the partitions and improve all subproblems uniformly. Default is false.
- --mcDumbRankingHeuristic
Allocate samples to each subproblem proportionally to their variance. Default is false.
Interval Solver
- --realPaverLocation path
Path to realPaver executable.
- --intervalSolverPrecision precision
Precision used by the interval solver (1E-precision). precision must be an integer. Default is 3.
- --intervalSolverTimeout timeout
Max time for the interval solver to answer the query (in ms). timeout must be an integer. Default is 2000.
Deprecated Options
These options may be used by previous implementations of qCORAL (which still may be accessible in the source code - see scripts/runDWCounter.sh and coral.counters.DistributionAwareQCoral, but are not relevant in the current version.
- --mcMinSamplesPerBox num
Minimum number of sampling points to be used for each box. Default is 0.
- --mcDistributeSamples
Set distinct amounts of samples for each box based on volume. Default is false.
- --mcSkipPaving
Don't use an interval solver before running the model counter. Default is false.
- --mcMergeBoxes
Merge all boxes returned by the interval solver. Default is false.
- --normalize
Normalize results. Default is true.
- --mcDisableCache
Disable caching. Default is false.
- --mcNumExecutions numExecs
Number of times to run the model counter. Default is 1.
- --mcSeedFile file
File with seeds to use for reseeding the rng at the end of each run - make sure to have enough seeds!. Default is "".
- --mcResetRngEachSimulation
Reset rng at the end of each simulation. Default is true.
- --mathematicaGA
Use global adaptive integration with Mathematica (if false, use monte carlo). Default is false.
- --mcUseMathematica
Use Mathematica to compute the volume. Default is false.
- --mcDiscretizationRegions num
Number of regions when using discretization. Default is 6.
- --mcDiscretize
Estimate using discretization. Creates N^n_vars new constraints for each original constraint. Default is false.
- --mcDiscretizeWithMateusApproach
Estimate using discretization. Splits the domain of each subproblem in N^n_vars regions. Faster than mcDiscretize. Default is false.
- --rangeLO lo
Default lower bound of input variables. lo must be an integer. Default is -10000.
- --rangeHI hi
Default upper bound of input variables. hi must be an integer. Default is 10000.
- --fixed100Domain
Makes the domain of all variables = [[-100,100]]. Default is false.
- --domainFile
Read the domain of the variables from the input file. Default is false.
After each constraint, qCoral will read the domain for the variables of that constraint. The domain must be in the format [{$LO,$HI},...]. Domains will be attributed to the variables following the order of their IDs. Example:
DLE(DCONST(45),DVAR(r_1));DLE(DVAR(r_1),DCONST(49));DLE(DCONST(80),DVAR(r_2));DLE(DVAR(r_2),DCONST(160)); [{45.0, 90.0}, {80.0, 200.0}]
In this case, the domain of variable $r_1 is [45,90], and the domain of $r_2 is [80,200].