Quickstart Guide#

cuopt_cli is built as part of the libcuopt package. Choose your install method below; the selector is pre-set for the CLI (it uses the same libcuopt install). Copy the command and run it in your environment. See Installation for all interfaces and options.

Installation#

To see all available options and their descriptions:

cuopt_cli --help

This will display the complete list of command-line arguments and their usage:

 1Usage: cuopt_cli [--help] [--version] [--initial-solution VAR] [--relaxation] [--params-file VAR] [--mps-reader VAR] [--dump-hyper-params] [--dump-params] [--pdlp-precision VAR] [--iteration-limit VAR] [--node-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] [--postsolve-info VAR] [--mip-cut-passes VAR] [--mip-mixed-integer-rounding-cuts VAR] [--mip-mixed-integer-gomory-cuts VAR] [--mip-knapsack-cuts VAR] [--mip-flow-cover-cuts VAR] [--mip-clique-cuts VAR] [--mip-zero-half-cuts VAR] [--mip-implied-bound-cuts VAR] [--mip-strong-chvatal-gomory-cuts VAR] [--mip-reduced-cost-strengthening VAR] [--mip-rins VAR] [--mip-objective-step VAR] [--num-gpus VAR] [--mip-batch-pdlp-strong-branching VAR] [--mip-batch-pdlp-reliability-branching VAR] [--mip-strong-branching-simplex-iteration-limit VAR] [--presolve VAR] [--distributed-pdlp-partitioner VAR] [--mip-determinism-mode VAR] [--random-seed VAR] [--mip-reliability-branching VAR] [--mip-symmetry VAR] [--mip-scaling 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] [--barrier-step-scale VAR] [--mip-semi-continuous-big-m VAR] [--infeasibility-detection VAR] [--strict-infeasibility VAR] [--per-constraint-residual VAR] [--save-best-primal-so-far VAR] [--first-primal-feasible VAR] [--mip-heuristics-only VAR] [--log-to-console VAR] [--crossover VAR] [--eliminate-dense-columns VAR] [--cudss-deterministic VAR] [--dual-postsolve VAR] [--barrier-iterative-refinement VAR] [--mip-probing VAR] [--log-file VAR] [--solution-file VAR] [--user-problem-file VAR] [--presolve-file VAR] filename
 2
 3Positional arguments:
 4  filename                                                  input problem file; format dispatched by extension (case-insensitive). Supported: .lp, .mps, .qps and their .gz / .bz2 / .lz4 compressed variants (e.g. .lp.gz, .mps.bz2, .qps.lz4). [required]
 5
 6Optional arguments:
 7  -h, --help                                                shows help message and exits 
 8  -v, --version                                             prints version information and exits 
 9  --initial-solution                                        path to the initial solution .sol file [nargs=0..1] [default: ""]
10  --relaxation                                              solve the LP relaxation of the MIP 
11  --params-file                                             path to parameter config file (key = value format, supports all parameters) [nargs=0..1] [default: ""]
12  --mps-reader                                              MPS reader implementation: default uses the production parser; experimental-fast uses the experimental SIMD parser for free-format LP/MIP/QP/QCQP (SOCP) .mps/.qps files and their .gz/.bz2/.lz4 compressed variants [nargs=0..1] [default: "default"]
13  --dump-hyper-params                                       print hyper-parameters only in config file format and exit 
14  --dump-params                                             print all parameters in config file format and exit 
15  --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"]
16  --iteration-limit                                         [nargs=0..1] [default: 2147483647]
17  --node-limit                                              [nargs=0..1] [default: 2147483647]
18  --pdlp-solver-mode                                        [nargs=0..1] [default: 4]
19  --method                                                  [nargs=0..1] [default: 0]
20  --num-cpu-threads                                         [nargs=0..1] [default: -1]
21  --augmented                                               [nargs=0..1] [default: -1]
22  --folding                                                 [nargs=0..1] [default: -1]
23  --dualize                                                 [nargs=0..1] [default: -1]
24  --ordering                                                [nargs=0..1] [default: -1]
25  --barrier-dual-initial-point                              [nargs=0..1] [default: -1]
26  --postsolve-info                                          [nargs=0..1] [default: -1]
27  --mip-cut-passes                                          [nargs=0..1] [default: 10]
28  --mip-mixed-integer-rounding-cuts                         [nargs=0..1] [default: -1]
29  --mip-mixed-integer-gomory-cuts                           [nargs=0..1] [default: -1]
30  --mip-knapsack-cuts                                       [nargs=0..1] [default: -1]
31  --mip-flow-cover-cuts                                     [nargs=0..1] [default: -1]
32  --mip-clique-cuts                                         [nargs=0..1] [default: -1]
33  --mip-zero-half-cuts                                      [nargs=0..1] [default: -1]
34  --mip-implied-bound-cuts                                  [nargs=0..1] [default: -1]
35  --mip-strong-chvatal-gomory-cuts                          [nargs=0..1] [default: -1]
36  --mip-reduced-cost-strengthening                          [nargs=0..1] [default: -1]
37  --mip-rins                                                [nargs=0..1] [default: -1]
38  --mip-objective-step                                      [nargs=0..1] [default: 1]
39  --num-gpus                                                [nargs=0..1] [default: 1]
40  --mip-batch-pdlp-strong-branching                         [nargs=0..1] [default: 0]
41  --mip-batch-pdlp-reliability-branching                    [nargs=0..1] [default: 0]
42  --mip-strong-branching-simplex-iteration-limit            [nargs=0..1] [default: -1]
43  --presolve                                                [nargs=0..1] [default: -1]
44  --distributed-pdlp-partitioner                            [nargs=0..1] [default: 0]
45  --mip-determinism-mode                                    [nargs=0..1] [default: 0]
46  --random-seed                                             [nargs=0..1] [default: -1]
47  --mip-reliability-branching                               [nargs=0..1] [default: -1]
48  --mip-symmetry                                            [nargs=0..1] [default: -1]
49  --mip-scaling                                             [nargs=0..1] [default: 2]
50  --time-limit                                              [nargs=0..1] [default: inf]
51  --work-limit                                              [nargs=0..1] [default: inf]
52  --absolute-dual-tolerance                                 [nargs=0..1] [default: 0.0001]
53  --relative-dual-tolerance                                 [nargs=0..1] [default: 0.0001]
54  --absolute-primal-tolerance                               [nargs=0..1] [default: 0.0001]
55  --relative-primal-tolerance                               [nargs=0..1] [default: 0.0001]
56  --absolute-gap-tolerance                                  [nargs=0..1] [default: 0.0001]
57  --relative-gap-tolerance                                  [nargs=0..1] [default: 0.0001]
58  --mip-absolute-tolerance                                  [nargs=0..1] [default: 0.0001]
59  --mip-relative-tolerance                                  [nargs=0..1] [default: 0.0001]
60  --mip-integrality-tolerance                               [nargs=0..1] [default: 1e-05]
61  --mip-absolute-gap                                        [nargs=0..1] [default: 1e-10]
62  --mip-relative-gap                                        [nargs=0..1] [default: 0.0001]
63  --primal-infeasible-tolerance                             [nargs=0..1] [default: 1e-10]
64  --dual-infeasible-tolerance                               [nargs=0..1] [default: 1e-10]
65  --mip-cut-change-threshold                                [nargs=0..1] [default: -1]
66  --mip-cut-min-orthogonality                               [nargs=0..1] [default: 0.5]
67  --barrier-step-scale                                      [nargs=0..1] [default: 0.9]
68  --mip-semi-continuous-big-m                               [nargs=0..1] [default: 1e+10]
69  --infeasibility-detection                                 [nargs=0..1] [default: false]
70  --strict-infeasibility                                    [nargs=0..1] [default: false]
71  --per-constraint-residual                                 [nargs=0..1] [default: false]
72  --save-best-primal-so-far                                 [nargs=0..1] [default: false]
73  --first-primal-feasible                                   [nargs=0..1] [default: false]
74  --mip-heuristics-only                                     [nargs=0..1] [default: false]
75  --log-to-console                                          [nargs=0..1] [default: true]
76  --crossover                                               [nargs=0..1] [default: false]
77  --eliminate-dense-columns                                 [nargs=0..1] [default: true]
78  --cudss-deterministic                                     [nargs=0..1] [default: false]
79  --dual-postsolve                                          [nargs=0..1] [default: true]
80  --barrier-iterative-refinement                            [nargs=0..1] [default: true]
81  --mip-probing                                             [nargs=0..1] [default: true]
82  --log-file                                                [nargs=0..1] [default: ""]
83  --solution-file                                           [nargs=0..1] [default: ""]
84  --user-problem-file                                       [nargs=0..1] [default: ""]
85  --presolve-file                                           [nargs=0..1] [default: ""]

Please refer to Convex Optimization Settings and MIP Settings for more details on default values and other options.