EnergySystemsModellingLab / EnergySystemsModellingLab/MUSE2

Cryptic error for infeasible investment options

Open
#1,403 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
8
Forks
5
Avg merge
1d 2m
Merged PRs (30d)
37

Description

[simple_modified 2.zip](https://github.com/user-attachments/files/29805666/simple_modified.2.zip)

The attached model fails with `Could not find optimal result: Infeasible` during investment appraisal.

I believe this is due to the presence of lower availability constraints, meaning that the asset cannot supply the remaining demands without exceeding them. The capacity constraint is set up to bound supply to _less than or equal to_ demand (the idea being that it should max out demand as much as it can, so long as it has positive activity coefficients), but with lower availability constraints it's possible that this constraint cannot be met, making the problem infeasible. Three possible solutions:
- we exclude this investment option and allow the simulation to continue (possibly raising a warning)
- we relax (possibly remove entirely) the supply constraint, allowing this asset to be appraised. The appraisal metric would then have to take into account how much of the supplied commodity is actually demanded, which would penalise any wasteful assets
- find a way to calculate the max capacity that avoids having to oversupply, and cap capacities based on this. We already cap capacities based on current DLC and investment limits, so it would just be an additional cap, or a modification to the DLC calculation

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the failure with the attached simple_modified 2.zip model and trace the investment appraisal path that reports “Could not find optimal result: Infeasible.” Compare the lower availability and supply constraints, then establish which of the three proposed behaviors is accepted as done: exclude the option, relax supply, or cap capacity to avoid oversupply.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.