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] [--presolve] [--params-file VAR] [--dump-hyper-params] [--dump-params] [--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-implied-bound-cuts VAR] [--mip-strong-chvatal-gomory-cuts VAR] [--mip-reduced-cost-strengthening 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] [--mip-determinism-mode VAR] [--random-seed VAR] [--mip-reliability-branching 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] [--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] [--log-file VAR] [--solution-file VAR] [--user-problem-file VAR] [--presolve-file VAR] filename
 2
 3Positional arguments:
 4  filename                                                  input mps file [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  --presolve                                                enable/disable presolve (default: true for MIP problems, false for LP problems) 
12  --params-file                                             path to parameter config file (key = value format, supports all parameters) [nargs=0..1] [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  --pdlp-solver-mode                                        [nargs=0..1] [default: 4]
18  --method                                                  [nargs=0..1] [default: 0]
19  --num-cpu-threads                                         [nargs=0..1] [default: -1]
20  --augmented                                               [nargs=0..1] [default: -1]
21  --folding                                                 [nargs=0..1] [default: -1]
22  --dualize                                                 [nargs=0..1] [default: -1]
23  --ordering                                                [nargs=0..1] [default: -1]
24  --barrier-dual-initial-point                              [nargs=0..1] [default: -1]
25  --mip-cut-passes                                          [nargs=0..1] [default: 10]
26  --mip-mixed-integer-rounding-cuts                         [nargs=0..1] [default: -1]
27  --mip-mixed-integer-gomory-cuts                           [nargs=0..1] [default: -1]
28  --mip-knapsack-cuts                                       [nargs=0..1] [default: -1]
29  --mip-clique-cuts                                         [nargs=0..1] [default: -1]
30  --mip-implied-bound-cuts                                  [nargs=0..1] [default: -1]
31  --mip-strong-chvatal-gomory-cuts                          [nargs=0..1] [default: -1]
32  --mip-reduced-cost-strengthening                          [nargs=0..1] [default: -1]
33  --num-gpus                                                [nargs=0..1] [default: 1]
34  --mip-batch-pdlp-strong-branching                         [nargs=0..1] [default: 0]
35  --mip-batch-pdlp-reliability-branching                    [nargs=0..1] [default: 0]
36  --mip-strong-branching-simplex-iteration-limit            [nargs=0..1] [default: -1]
37  --presolve                                                [nargs=0..1] [default: -1]
38  --mip-determinism-mode                                    [nargs=0..1] [default: 0]
39  --random-seed                                             [nargs=0..1] [default: -1]
40  --mip-reliability-branching                               [nargs=0..1] [default: -1]
41  --mip-scaling                                             [nargs=0..1] [default: 1]
42  --time-limit                                              [nargs=0..1] [default: inf]
43  --work-limit                                              [nargs=0..1] [default: inf]
44  --absolute-dual-tolerance                                 [nargs=0..1] [default: 0.0001]
45  --relative-dual-tolerance                                 [nargs=0..1] [default: 0.0001]
46  --absolute-primal-tolerance                               [nargs=0..1] [default: 0.0001]
47  --relative-primal-tolerance                               [nargs=0..1] [default: 0.0001]
48  --absolute-gap-tolerance                                  [nargs=0..1] [default: 0.0001]
49  --relative-gap-tolerance                                  [nargs=0..1] [default: 0.0001]
50  --mip-absolute-tolerance                                  [nargs=0..1] [default: 0.0001]
51  --mip-relative-tolerance                                  [nargs=0..1] [default: 0.0001]
52  --mip-integrality-tolerance                               [nargs=0..1] [default: 1e-05]
53  --mip-absolute-gap                                        [nargs=0..1] [default: 1e-10]
54  --mip-relative-gap                                        [nargs=0..1] [default: 0.0001]
55  --primal-infeasible-tolerance                             [nargs=0..1] [default: 1e-10]
56  --dual-infeasible-tolerance                               [nargs=0..1] [default: 1e-10]
57  --mip-cut-change-threshold                                [nargs=0..1] [default: -1]
58  --mip-cut-min-orthogonality                               [nargs=0..1] [default: 0.5]
59  --infeasibility-detection                                 [nargs=0..1] [default: false]
60  --strict-infeasibility                                    [nargs=0..1] [default: false]
61  --per-constraint-residual                                 [nargs=0..1] [default: false]
62  --save-best-primal-so-far                                 [nargs=0..1] [default: false]
63  --first-primal-feasible                                   [nargs=0..1] [default: false]
64  --mip-heuristics-only                                     [nargs=0..1] [default: false]
65  --log-to-console                                          [nargs=0..1] [default: true]
66  --crossover                                               [nargs=0..1] [default: false]
67  --eliminate-dense-columns                                 [nargs=0..1] [default: true]
68  --cudss-deterministic                                     [nargs=0..1] [default: false]
69  --dual-postsolve                                          [nargs=0..1] [default: true]
70  --log-file                                                [nargs=0..1] [default: ""]
71  --solution-file                                           [nargs=0..1] [default: ""]
72  --user-problem-file                                       [nargs=0..1] [default: ""]
73  --presolve-file                                           [nargs=0..1] [default: ""]

Please refer to LP, QP, and MILP Settings for more details on default values and other options.