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] [--large-nnz-threshold VAR] [--num-cpu-threads VAR] [--augmented VAR] [--folding VAR] [--dualize VAR] [--ordering VAR] [--dual-simplex-initial-perturbation VAR] [--dual-simplex-remove-perturbation VAR] [--primal-simplex-pricing 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-dual-degenerate-feasibility-pump VAR] [--mip-primal-degenerate-pivots VAR] [--mip-dual-degenerate-pivots VAR] [--mip-rins VAR] [--mip-rens VAR] [--mip-mutation 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] [--multigpu-pdlp-partitioner VAR] [--mip-determinism-mode VAR] [--random-seed VAR] [--mip-reliability-branching VAR] [--mip-symmetry VAR] [--mip-scaling VAR] [--barrier-presolve-bound-free-variables VAR] [--barrier-adaptive-regularization 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-primal-regularization VAR] [--barrier-dual-regularization VAR] [--barrier-step-scale VAR] [--barrier-initial-point-safeguard 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] [--sequence-solve 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  --large-nnz-threshold                                     [nargs=0..1] [default: 50000000]
 21  --num-cpu-threads                                         [nargs=0..1] [default: -1]
 22  --augmented                                               [nargs=0..1] [default: -1]
 23  --folding                                                 [nargs=0..1] [default: -1]
 24  --dualize                                                 [nargs=0..1] [default: -1]
 25  --ordering                                                [nargs=0..1] [default: -1]
 26  --dual-simplex-initial-perturbation                       [nargs=0..1] [default: -1]
 27  --dual-simplex-remove-perturbation                        [nargs=0..1] [default: -1]
 28  --primal-simplex-pricing                                  [nargs=0..1] [default: 1]
 29  --barrier-dual-initial-point                              [nargs=0..1] [default: -1]
 30  --postsolve-info                                          [nargs=0..1] [default: -1]
 31  --mip-cut-passes                                          [nargs=0..1] [default: 10]
 32  --mip-mixed-integer-rounding-cuts                         [nargs=0..1] [default: -1]
 33  --mip-mixed-integer-gomory-cuts                           [nargs=0..1] [default: -1]
 34  --mip-knapsack-cuts                                       [nargs=0..1] [default: -1]
 35  --mip-flow-cover-cuts                                     [nargs=0..1] [default: -1]
 36  --mip-clique-cuts                                         [nargs=0..1] [default: -1]
 37  --mip-zero-half-cuts                                      [nargs=0..1] [default: -1]
 38  --mip-implied-bound-cuts                                  [nargs=0..1] [default: -1]
 39  --mip-strong-chvatal-gomory-cuts                          [nargs=0..1] [default: -1]
 40  --mip-reduced-cost-strengthening                          [nargs=0..1] [default: -1]
 41  --mip-dual-degenerate-feasibility-pump                    [nargs=0..1] [default: -1]
 42  --mip-primal-degenerate-pivots                            [nargs=0..1] [default: -1]
 43  --mip-dual-degenerate-pivots                              [nargs=0..1] [default: -1]
 44  --mip-rins                                                [nargs=0..1] [default: -1]
 45  --mip-rens                                                [nargs=0..1] [default: -1]
 46  --mip-mutation                                            [nargs=0..1] [default: -1]
 47  --mip-objective-step                                      [nargs=0..1] [default: 1]
 48  --num-gpus                                                [nargs=0..1] [default: 1]
 49  --mip-batch-pdlp-strong-branching                         [nargs=0..1] [default: 0]
 50  --mip-batch-pdlp-reliability-branching                    [nargs=0..1] [default: 0]
 51  --mip-strong-branching-simplex-iteration-limit            [nargs=0..1] [default: -1]
 52  --presolve                                                [nargs=0..1] [default: -1]
 53  --multigpu-pdlp-partitioner                               [nargs=0..1] [default: 0]
 54  --mip-determinism-mode                                    [nargs=0..1] [default: 0]
 55  --random-seed                                             [nargs=0..1] [default: -1]
 56  --mip-reliability-branching                               [nargs=0..1] [default: -1]
 57  --mip-symmetry                                            [nargs=0..1] [default: -1]
 58  --mip-scaling                                             [nargs=0..1] [default: 2]
 59  --barrier-presolve-bound-free-variables                   [nargs=0..1] [default: -1]
 60  --barrier-adaptive-regularization                         [nargs=0..1] [default: -1]
 61  --time-limit                                              [nargs=0..1] [default: inf]
 62  --work-limit                                              [nargs=0..1] [default: inf]
 63  --absolute-dual-tolerance                                 [nargs=0..1] [default: 0.0001]
 64  --relative-dual-tolerance                                 [nargs=0..1] [default: 0.0001]
 65  --absolute-primal-tolerance                               [nargs=0..1] [default: 0.0001]
 66  --relative-primal-tolerance                               [nargs=0..1] [default: 0.0001]
 67  --absolute-gap-tolerance                                  [nargs=0..1] [default: 0.0001]
 68  --relative-gap-tolerance                                  [nargs=0..1] [default: 0.0001]
 69  --mip-absolute-tolerance                                  [nargs=0..1] [default: 1e-06]
 70  --mip-relative-tolerance                                  [nargs=0..1] [default: 1e-12]
 71  --mip-integrality-tolerance                               [nargs=0..1] [default: 1e-05]
 72  --mip-absolute-gap                                        [nargs=0..1] [default: 1e-10]
 73  --mip-relative-gap                                        [nargs=0..1] [default: 0.0001]
 74  --primal-infeasible-tolerance                             [nargs=0..1] [default: 1e-10]
 75  --dual-infeasible-tolerance                               [nargs=0..1] [default: 1e-10]
 76  --mip-cut-change-threshold                                [nargs=0..1] [default: -1]
 77  --mip-cut-min-orthogonality                               [nargs=0..1] [default: 0.5]
 78  --barrier-primal-regularization                           [nargs=0..1] [default: -1]
 79  --barrier-dual-regularization                             [nargs=0..1] [default: -1]
 80  --barrier-step-scale                                      [nargs=0..1] [default: 0.9]
 81  --barrier-initial-point-safeguard                         [nargs=0..1] [default: 10]
 82  --mip-semi-continuous-big-m                               [nargs=0..1] [default: 1e+10]
 83  --infeasibility-detection                                 [nargs=0..1] [default: false]
 84  --strict-infeasibility                                    [nargs=0..1] [default: false]
 85  --per-constraint-residual                                 [nargs=0..1] [default: false]
 86  --save-best-primal-so-far                                 [nargs=0..1] [default: false]
 87  --first-primal-feasible                                   [nargs=0..1] [default: false]
 88  --mip-heuristics-only                                     [nargs=0..1] [default: false]
 89  --log-to-console                                          [nargs=0..1] [default: true]
 90  --crossover                                               [nargs=0..1] [default: false]
 91  --eliminate-dense-columns                                 [nargs=0..1] [default: true]
 92  --cudss-deterministic                                     [nargs=0..1] [default: false]
 93  --dual-postsolve                                          [nargs=0..1] [default: true]
 94  --sequence-solve                                          [nargs=0..1] [default: false]
 95  --barrier-iterative-refinement                            [nargs=0..1] [default: true]
 96  --mip-probing                                             [nargs=0..1] [default: true]
 97  --log-file                                                [nargs=0..1] [default: ""]
 98  --solution-file                                           [nargs=0..1] [default: ""]
 99  --user-problem-file                                       [nargs=0..1] [default: ""]
100  --presolve-file                                           [nargs=0..1] [default: ""]

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