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

Initialization

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

algorithm = CuOpt(
    backend=None,
    time_limit=3600,
    mip_absolute_gap=1e-10,
    mip_relative_gap=0.0001,
    mip_absolute_tolerance=1e-06,
    mip_relative_tolerance=1e-12,
    mip_integrality_tolerance=1e-05,
    absolute_primal_tolerance=0.0001,
    relative_primal_tolerance=0.0001,
    absolute_dual_tolerance=0.0001,
    relative_dual_tolerance=0.0001,
    absolute_gap_tolerance=0.0001,
    relative_gap_tolerance=0.0001
)

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")