Skip to content

CuOpt

NVIDIA cuOpt is a GPU-accelerated solver for mixed integer programming (MIP) problems developed by NVIDIA. It leverages CUDA for high-performance optimization, providing significant speedups over CPU-based solvers for large-scale problems.

Compatible Backends

Backend Default
CudaqGpu

Parameters

Parameter Type Default Description
CUOPT_TIME_LIMIT int 1 The time limit in seconds for the solver.
CUOPT_ABS_RELATIVE_GAP float 1e-10 Absolute tolerance: Best Objective - Dual Bound <= absolute tolerance.
CUOPT_MIP_ABSOLUTE_GAP float 1e-4 Relative tolerance: abs(Best Objective - Dual Bound) / abs(Best Objective) <= relative tolerance.

Initialization

Python
from luna_quantum.solve.parameters.algorithms.optimization_solvers.cuopt import CuOpt

algorithm = CuOpt(
    backend=None,
    time_limit=1,
    abs_relative_gap=1e-10,
    mip_absolute_gap=1e-4
)

Usage

Python
from luna_quantum.algorithms import CuOpt

algorithm = CuOpt()
solve_job = algorithm.run(model, name="my-solve-job")

Custom Configuration

Python
from luna_quantum.algorithms import CuOpt
from luna_quantum.solve.parameters.backends import CudaqGpu

algorithm = CuOpt(
    backend=CudaqGpu(),
    time_limit=60,
    abs_relative_gap=1e-8,
    mip_absolute_gap=1e-6
)
solve_job = algorithm.run(model, name="my-solve-job")