Skip to content

Support for parametric LPs #1

@chrhansk

Description

@chrhansk

For a research project I need to solve LPs which are parametric in their respective variable bounds, i.e. of the type

min c^T x,
s.t. lhs <= Ax <= rhs
l(a) <= x <= u(a)

where l(a) and u(a) are convex combinations in the parameter a in [0, 1]. Essentially, I would like to compute all vertices on the piecewise linear solution path over a and use them in a subsequent step.

I started to write a parametric solver based on SoPlex, but I think the API is lacking some functionality that I require.

Notably, it seems that LP bases cannot be directly modified by adding / removing variables or constraints. The enter() method of the solver is private and therefore inaccessible. Getting the Basis, manipulating it and setting it afterwards is likely to be inefficient, since it presumably discards the current factorization of the basis matrix.

Could you make it possible for a user to manually enter variables or constraints into the basis?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions