EnergySystemsModellingLab / EnergySystemsModellingLab/MUSE2
Cryptic error for infeasible investment options
- 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
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