-
Notifications
You must be signed in to change notification settings - Fork 138
Open
Labels
awaiting responseThis expects a response from maintainer or contributor depending on who requested in last comment.This expects a response from maintainer or contributor depending on who requested in last comment.bugSomething isn't workingSomething isn't working
Description
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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
awaiting responseThis expects a response from maintainer or contributor depending on who requested in last comment.This expects a response from maintainer or contributor depending on who requested in last comment.bugSomething isn't workingSomething isn't working