Fixes to agent portfolio forecasting capabilities#173
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR implements two significant updates to agents' capability to forecast future system portfolios and dispatch outcomes:
Forecasting balance-of-system investment
The previous logic for forecasting investment by the balance of system (i.e. all agents aside from the current agent) was previously bugged. This PR removes some faulty logic and simplifies the calculation to reduce endemic misprediction (the "3-year forecasting failure").
Forecasting dispatch outcomes for novel units
"novel unit": any unit type which does not currently exist in the system generation mix, but which is allowed to be selected for new construction by agents
Agents need some method of developing expectations about the market performance of novel units. Since they do not currently exist, running a dispatch calculation on the current system portfolio doesn't intrinsically produce data on how novel units would perform.
Previously, 1 unit per novel unit type would be added to the system portfolio mix as a dummy in order to directly simulate their market participation. This causes problems because it posits capacity additions which are not planned by anybody, artificially depressing the price-based capacity investment signal.
This PR removes this "fake units" approach. Currently, this means that novel units have 0 forecasted revenue, so they are never selected. New logic to replace this will be implemented in an upcoming PR.