Skip to content

[BUG] Pure virtual method called when using BatchSolve(...) #944

@araml

Description

@araml

When running batch solve after setting the variables to CONTINUOUS you get eventually a pure virtual method called with termination

Steps/Code to reproduce bug

This snippet reproduces it on my machine pretty often, using flugpl which is a very small MIP problem https://miplib.zib.de/instance_details_flugpl.html

import numpy as np

import cuopt_mps_parser
from cuopt.linear_programming.problem import CONTINUOUS, solver
from cuopt.linear_programming.solver_settings import SolverSettings
from cuopt.linear_programming.solver.solver_parameters import (
    solver_params,
    CUOPT_ABSOLUTE_DUAL_TOLERANCE,
    CUOPT_PDLP_SOLVER_MODE,
    CUOPT_PRESOLVE
)
from cuopt.linear_programming.solver_settings import (
    PDLPSolverMode
)

if __name__ == '__main__':
    test_path: str = 'flugpl.mps'

    settings = SolverSettings()
    settings.set_parameter('log_to_console', False)
    settings.set_parameter(CUOPT_PRESOLVE, 0)
    settings.set_parameter(CUOPT_PDLP_SOLVER_MODE, PDLPSolverMode.Stable2)
    settings.set_parameter(CUOPT_ABSOLUTE_DUAL_TOLERANCE, 1e-4)

    problems = []
    for i in range(10):
        problems.append(cuopt_mps_parser.ParseMps(test_path))
    for p in problems:
        for j in range(len(p.variable_types)):
            p.variable_types[j] = CONTINUOUS

    lower_bounds = np.array(problems[0].get_variable_lower_bounds())
    for j in range(10000):
        print(f'Iteration number {j}')
        sol, tim = solver.BatchSolve(problems, settings)
        print(tim)

Expected behavior
No crash

Environment details (please complete the following information):

  • Environment location: Ubuntu 24.04 LTS
  • Method of cuOpt install: pip3/poetry

Metadata

Metadata

Assignees

Labels

awaiting responseThis expects a response from maintainer or contributor depending on who requested in last comment.bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions