-
Notifications
You must be signed in to change notification settings - Fork 105
Description
Hi all,
Thanks for your great work in developing cuopt.
I would like to ask if you could provide a feature in the C/C++ API for expanding an existing LP problem by adding additional constraints and variables and/or modifying existing constraints and variables (changing a matrix coefficient, an objective coefficient or a constraint/variable bound).
There seems to be something in the python API regarding adding constraints/variables, but I have not seen anything related in the C API. For the latter, it seems that the only way for modifying an LP problem is to delete the existing instance and build/solve from scratch the augmented one. In the C++ API, there are several get-type functions in the class optimization_problem_t which return non-cost references to containers e.g. :
rmm::device_uvector<f_t>& get_constraint_matrix_values();
Could these be used for augmenting the existing problem? Would that be safe?
Most simplex solvers support problem modifications since these provide runtime benefits if the primal/dual of the initial problem stays feasible in the modified instance. It would be very nice to have this also in cuopt, if possible.
Thanks,
C.