Skip to content

[DOC] Add a description for each parameter in cuopt_cli #1030

@nguidotti

Description

@nguidotti

When calling the cuopt_cli, most parameters have an empty description on what it does. Additionally, the user does not know the range of values a parameter can assume, hence, can it can pass invalid values to the solver. This might prevents the user to properly tune it or enable the required features for their application.

❯ cuopt_cli                                                   
filename: 1 argument(s) expected. 0 provided.
Usage: cuopt_cli [--help] [--version] [--initial-solution VAR] [--relaxation] [--presolve] [--pdlp-precision VAR] [--iteration-limit VAR] [--pdlp-solver-mode VAR] [--method VAR] [--num-cpu-threads VAR] [--augmented VAR] [--folding VAR] [--dualize VAR] [--ordering VAR] [--barrier-dual-initial-point VAR] [--mip-cut-passes VAR] [--mip-mixed-integer-rounding-cuts VAR] [--mip-mixed-integer-gomory-cuts VAR] [--mip-knapsack-cuts VAR] [--mip-clique-cuts VAR] [--mip-strong-chvatal-gomory-cuts VAR] [--mip-reduced-cost-strengthening VAR] [--num-gpus VAR] [--mip-batch-pdlp-strong-branching VAR] [--presolve VAR] [--mip-determinism-mode VAR] [--random-seed VAR] [--mip-reliability-branching VAR] [--time-limit VAR] [--work-limit VAR] [--absolute-dual-tolerance VAR] [--relative-dual-tolerance VAR] [--absolute-primal-tolerance VAR] [--relative-primal-tolerance VAR] [--absolute-gap-tolerance VAR] [--relative-gap-tolerance VAR] [--mip-absolute-tolerance VAR] [--mip-relative-tolerance VAR] [--mip-integrality-tolerance VAR] [--mip-absolute-gap VAR] [--mip-relative-gap VAR] [--primal-infeasible-tolerance VAR] [--dual-infeasible-tolerance VAR] [--mip-cut-change-threshold VAR] [--mip-cut-min-orthogonality VAR] [--infeasibility-detection VAR] [--strict-infeasibility VAR] [--per-constraint-residual VAR] [--save-best-primal-so-far VAR] [--first-primal-feasible VAR] [--mip-scaling VAR] [--mip-heuristics-only VAR] [--log-to-console VAR] [--crossover VAR] [--eliminate-dense-columns VAR] [--cudss-deterministic VAR] [--dual-postsolve VAR] [--log-file VAR] [--solution-file VAR] [--user-problem-file VAR] [--presolve-file VAR] filename

Positional arguments:
  filename                           input mps file [required]

Optional arguments:
  -h, --help                         shows help message and exits 
  -v, --version                      prints version information and exits 
  --initial-solution                 path to the initial solution .sol file [nargs=0..1] [default: ""]
  --relaxation                       solve the LP relaxation of the MIP 
  --presolve                         enable/disable presolve (default: true for MIP problems, false for LP problems) 
  --pdlp-precision                   PDLP precision mode. default: native type, single: FP32 internally, double: FP64 explicitly, mixed: mixed-precision SpMV (FP32 matrix, FP64 vectors). [nargs=0..1] [default: "-1"]
  --iteration-limit                  [nargs=0..1] [default: 2147483647]
  --pdlp-solver-mode                 [nargs=0..1] [default: 4]
  --method                           [nargs=0..1] [default: 0]
  --num-cpu-threads                  [nargs=0..1] [default: -1]
  --augmented                        [nargs=0..1] [default: -1]
  --folding                          [nargs=0..1] [default: -1]
  --dualize                          [nargs=0..1] [default: -1]
  --ordering                         [nargs=0..1] [default: -1]
  --barrier-dual-initial-point       [nargs=0..1] [default: -1]
  --mip-cut-passes                   [nargs=0..1] [default: 10]
  --mip-mixed-integer-rounding-cuts  [nargs=0..1] [default: -1]
  --mip-mixed-integer-gomory-cuts    [nargs=0..1] [default: -1]
  --mip-knapsack-cuts                [nargs=0..1] [default: -1]
  --mip-clique-cuts                  [nargs=0..1] [default: -1]
  --mip-strong-chvatal-gomory-cuts   [nargs=0..1] [default: -1]
  --mip-reduced-cost-strengthening   [nargs=0..1] [default: -1]
  --num-gpus                         [nargs=0..1] [default: 1]
  --mip-batch-pdlp-strong-branching  [nargs=0..1] [default: 0]
  --presolve                         [nargs=0..1] [default: -1]
  --mip-determinism-mode             [nargs=0..1] [default: 0]
  --random-seed                      [nargs=0..1] [default: -1]
  --mip-reliability-branching        [nargs=0..1] [default: -1]
  --time-limit                       [nargs=0..1] [default: inf]
  --work-limit                       [nargs=0..1] [default: inf]
  --absolute-dual-tolerance          [nargs=0..1] [default: 0.0001]
  --relative-dual-tolerance          [nargs=0..1] [default: 0.0001]
  --absolute-primal-tolerance        [nargs=0..1] [default: 0.0001]
  --relative-primal-tolerance        [nargs=0..1] [default: 0.0001]
  --absolute-gap-tolerance           [nargs=0..1] [default: 0.0001]
  --relative-gap-tolerance           [nargs=0..1] [default: 0.0001]
  --mip-absolute-tolerance           [nargs=0..1] [default: 0.0001]
  --mip-relative-tolerance           [nargs=0..1] [default: 0.0001]
  --mip-integrality-tolerance        [nargs=0..1] [default: 1e-05]
  --mip-absolute-gap                 [nargs=0..1] [default: 1e-10]
  --mip-relative-gap                 [nargs=0..1] [default: 0.0001]
  --primal-infeasible-tolerance      [nargs=0..1] [default: 1e-10]
  --dual-infeasible-tolerance        [nargs=0..1] [default: 1e-10]
  --mip-cut-change-threshold         [nargs=0..1] [default: -1]
  --mip-cut-min-orthogonality        [nargs=0..1] [default: 0.5]
  --infeasibility-detection          [nargs=0..1] [default: false]
  --strict-infeasibility             [nargs=0..1] [default: false]
  --per-constraint-residual          [nargs=0..1] [default: false]
  --save-best-primal-so-far          [nargs=0..1] [default: false]
  --first-primal-feasible            [nargs=0..1] [default: false]
  --mip-scaling                      [nargs=0..1] [default: true]
  --mip-heuristics-only              [nargs=0..1] [default: false]
  --log-to-console                   [nargs=0..1] [default: true]
  --crossover                        [nargs=0..1] [default: false]
  --eliminate-dense-columns          [nargs=0..1] [default: true]
  --cudss-deterministic              [nargs=0..1] [default: false]
  --dual-postsolve                   [nargs=0..1] [default: true]
  --log-file                         [nargs=0..1] [default: ""]
  --solution-file                    [nargs=0..1] [default: ""]
  --user-problem-file                [nargs=0..1] [default: ""]
  --presolve-file                    [nargs=0..1] [default: ""]

Metadata

Metadata

Assignees

Labels

awaiting responseThis expects a response from maintainer or contributor depending on who requested in last comment.docImprovements or additions to documentation

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions