Skip to content

[Feature] Infeasibility diagnosis #41

@caleb-sitton-inl

Description

@caleb-sitton-inl

Motivation

When an infeasible problem is provided to DOVE, no information is provided regarding the reason for its infeasibility. An error arises when flow values are extracted from the model that do not exist.

Design

An infeasibility diagnosis tool in the model builder could be helpful to users. One strategy for this would be to deactivate individual constraints and attempting to resolve the problem. This would identify which constraints may be contributing to the infeasibility of the problem. Another strategy would be to track the maximum and minimum flows of each resource into and out of each component at each timestep. Whenever this yields an illogical result (e.g., a minimum resource input being greater than a maximum capacity), the tool would alert the user of the issue. Implementation of this strategy would be more difficult, but it would provide more specific information to the user.

Impact

There would likely be an additional optional keyword argument to the System.solve() method specifying that the infeasibility diagnosis tool should be run.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority-minortasks or issues that are not time-sensitive or critical

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions