Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collective Issue for GAMS related issues #907

Open
OFR-IIASA opened this issue Jan 16, 2025 · 1 comment
Open

Collective Issue for GAMS related issues #907

OFR-IIASA opened this issue Jan 16, 2025 · 1 comment
Labels
gams Related to the GAMS core formulation

Comments

@OFR-IIASA
Copy link
Contributor

OFR-IIASA commented Jan 16, 2025

What is this about?

The issue is aimed at collecting any known issues related to the GAMS code and their impact on model behavior:

  • Technology last year: There is no definitive way to determine the last vintage year of a technology as the technical_lifetime which could provide this information, is required to be defined for all activity years in addition to the vintage years to account for relation_activity entries. Hence only by additionally retrieving the input and output, assuming they are defined correctly, can the end of lifetime be determined.

  • Technology inclusion in optimization: Technologies are required to have either of three parameters to be included in the optimization: input, output or relation_activity. But also there are technologies that have relation_new_capacity or relation_total_capacity entries only or some which are add-on technologies and only have emission_factor entries. This means that currently, a lot of excess dummy parameters clutter the model to meet the inclusion requirements (Incomplete identification of "active" technologies. #868).

  • Share constraints: For each share total, only a single set of share technologies can be defined. This means that if for single set of technologies i,e. 7 renewable bins, multiple shares need to be defined i.e. for each individual technology, the entire set of shares needs to be redefined multiple 7 times.

  • Share constraints can only be defined across the same commodities/modes: A share constraint can only be create based on the same input or output commodity. This means a share for total final energy cannot be added, unless a dummy commodity is created which accounts for all commodities contributing to total final energy.

  • Cost of relation related costs are not included in base technology levelized cost (relation_cost is not included in the calculation of levelized_cost #667)

  • Renewable formulation: Currently there is no parameter to allow for the adding an activity_lower/upper or dynamic constraints style bound to the renewable_potential.

  • Technical lifetime can only be defined as an integer: due to the current GAMS formulation, adding non-integer technical lifetime results in a gdx compilation error.

  • Bound emission can only be defined as an upper-bound: The parameter bound_emission should actually be renamed to bound_emission_up and an option should be added for adding a bound_emission_lo.

  • Emission scaling factor: The emission scaling factor seems to only work if it is set to 1; other values are disregarded (tests needed to confirm).

  • Share constraints set to zero: Whenever the share_*_up is set to zero, as GAMS disregards 0 values, the bound is ignored. An additional parameter is_share_*_up is needed (share_commodity_up set to 0 inactive #902).

  • Capacity related dynamic constraints: dynamic constraints growth_lo/up and initial_lo/up as well as corresponding soft constraints can only be assigned for activity and new_capacity for technologies. A similar formulation is also required for total_capacity (Additional dynamic and soft constraints for total_capacity #869).

  • When using the slack for debugging purposes, the options are very limited. First, the SLACK options only cover a limited amount of equations and second of all, there is no option to constraint sets of technologies or regions, which means that the slack will be applied to "all" technologies and "all" regions, often providing more reductions (slack) than actually required (Add optional relaxation ("slack" variables) for new features #160).

@OFR-IIASA OFR-IIASA added the gams Related to the GAMS core formulation label Jan 16, 2025
@khaeru
Copy link
Member

khaeru commented Jan 16, 2025

Excellent, thanks for this comprehensive list.

@behnam-zakeri you mentioned in the meeting that you also had some items in mind. Can you please either add them, if they are distinct, or indicate +1 to those in Oliver's list?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gams Related to the GAMS core formulation
Projects
None yet
Development

No branches or pull requests

2 participants