Skip to content

Make presolvers and integrations instance-level #644

@gianlucagallo

Description

@gianlucagallo

Hi,
I’m working on a parallel optimization workflow where different threads, or even different phases of the same workflow, need to configure and use distinct solver setups (different presolvers, different integrations, etc.).

Right now, ExpressionsBasedModel uses static methods for controlling presolvers and solver integrations, such as:

ExpressionsBasedModel.clearPresolvers();
ExpressionsBasedModel.resetPresolvers();
ExpressionsBasedModel.clearIntegrations();
ExpressionsBasedModel.addIntegration(LinearSolver.INTEGRATION);

Feature request
Would it be possible to refactor presolvers and solver integration handling so that they are instance-level rather than static/global?

This change would make the library much more flexible and suitable for concurrent optimization tasks where different models require different solver strategies and need to run in parallel.

Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions