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

Multi-stage optimization with investment periods of varying lengths may result in incorrect discount factors #671

Closed
ran1988 opened this issue Mar 30, 2024 · 4 comments · Fixed by #672
Assignees

Comments

@ran1988
Copy link

ran1988 commented Mar 30, 2024

DF = \frac{1}{(1+WACC)^{L*(p-1)}}

I have reviewed the calculation method for the discount factor and noticed that it assumes equal lengths for each investment period. If I want to perform an optimization with [5,5,5,10] investment periods, what should I do?

@sambuddhac
Copy link
Collaborator

PR #672 fixes this

@lbonaldo
Copy link
Collaborator

lbonaldo commented Apr 1, 2024

Thank you, @ran1988, for opening this issue. To perform an optimization with periods of different length, you need to edit the StageLengths parameter of the multi_stage_settings.yml:

StageLengths: [10,10,10] # Length of each model stage (years)

The implementation of the discount factor calculation included in the initialize_cost_to_go function works with periods of different length, and we updated the docstring to reflect the code. Please let us know if this addresses your question.

@ran1988
Copy link
Author

ran1988 commented Apr 5, 2024

Thank you for your attention and efforts! I have performed a optimization with the updated initialize_cost_to_go function, but it still didn't solve the problem.
The revised code is : "DF = \frac{1}{(1+WACC)^{L_{p}*(p-1)}}"
If a [5,5,5,10] investment period setting is applied, then the DF for the fourth stage is 1/(1+wacc)^30. It should be 1/(1+wacc)^15, isn't it?

@ran1988
Copy link
Author

ran1988 commented Apr 13, 2024

The latest update works! Thanks!

@ran1988 ran1988 closed this as completed Apr 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants