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

Start up costs & min/max runtimes #16

Merged
merged 8 commits into from
Mar 7, 2018
Merged

Conversation

ckaldemeyer
Copy link
Member

This provides examples on how to use start up costs and min/max runtimes.

@ckaldemeyer
Copy link
Member Author

The review goes along with PR https://github.com/oemof/oemof/pull/446.

@ckaldemeyer ckaldemeyer changed the base branch from master to dev February 8, 2018 09:58
@ckaldemeyer
Copy link
Member Author

@ckaldemeyer ckaldemeyer changed the base branch from master to dev just now

Just to remain in the workflow..

@ckaldemeyer ckaldemeyer changed the base branch from dev to master February 12, 2018 11:58
@jnnr
Copy link
Member

jnnr commented Mar 6, 2018

Thanks for your contribution! Its a nice feature. I tested the examples and they look fine. Only three remarks/questions:

  • startup_shutdown.py: The demand profile in data.csv should include one period in time where the demand stays up for longer than 3 hours. In that case, the powerplant with cheaper variable cost but higher startup/shutdown cost starts contributing. I adapted that and could push it, if you are ok?
  • min_max_runtimes.py: A question: Does initial_status=1mean that the actual value equals one or that the powerplant is running? Seems to be the latter. Also, is there any constraint or something that causes to run the 'expensive_powerplant' at the final timestep. In the plot I get, it runs again after shutdown and without demand.
  • Why are the plants called cheap and expensive if they have the same variable cost?

@ckaldemeyer
Copy link
Member Author

ckaldemeyer commented Mar 6, 2018

startup_shutdown.py: The demand profile in data.csv should include one period in time where the demand stays up for longer than 3 hours. In that case, the powerplant with cheaper variable cost but higher startup/shutdown cost starts contributing. I adapted that and could push it, if you are ok?

Yep. Thanks!

min_max_runtimes.py: A question: Does initial_status=1mean that the actual value equals one or that the powerplant is running? Seems to be the latter.

Yes, it is the latter.

Also, is there any constraint or something that causes to run the 'expensive_powerplant' at the final timestep. In the plot I get, it runs again after shutdown and without demand.

The initial status is also set in the end as explained in the docstring:

    (0 = off, 1 = on). For minimum up and downtimes, the initial status
    is set for the respective values in the edge regions e.g. if a
    minimum uptime of four timesteps is defined, the initial status is
    fixed for the four first and last timesteps of the optimization period.

Should we adapt the naming or is it o.k. like this!?

Why are the plants called cheap and expensive if they have the same variable cost?

I just made that up quickly. Do you have suggestions!? Go ahead ;-)

@ckaldemeyer
Copy link
Member Author

Thanks for your suggestions and review!

@ckaldemeyer
Copy link
Member Author

startup_shutdown.py: The demand profile in data.csv should include one period in time where the demand stays up for longer than 3 hours. In that case, the powerplant with cheaper variable cost but higher startup/shutdown cost starts contributing. I adapted that and could push it, if you are ok?

Yep. Thanks!

min_max_runtimes.py: A question: Does initial_status=1mean that the actual value equals one or that the powerplant is running? Seems to be the latter.

Yes, it is the latter.

Also, is there any constraint or something that causes to run the 'expensive_powerplant' at the final timestep. In the plot I get, it runs again after shutdown and without demand.

The initial status is also set in the end as explained in the docstring:

(0 = off, 1 = on). For minimum up and downtimes, the initial status
is set for the respective values in the edge regions e.g. if a
minimum uptime of four timesteps is defined, the initial status is
fixed for the four first and last timesteps of the optimization period.

Should we adapt the naming or is it o.k. like this!?

Why are the plants called cheap and expensive if they have the same variable cost?

I just made that up quickly. Do you have suggestions!? Go ahead ;-)

I have now merged the functionality into the dev.

@jnnr @uvchik : Feel free to change as you like and merge afterwards if you are fine!

@uvchik
Copy link
Member

uvchik commented Mar 7, 2018

It is just an example and if it works and looks okay we can merge it.

@uvchik uvchik merged commit d574c85 into master Mar 7, 2018
@uvchik uvchik deleted the features/min-max-runtimes branch March 7, 2018 09:40
@ckaldemeyer
Copy link
Member Author

It is just an example and if it works and looks okay we can merge it.

If @jnnr has naming improvements, he can change it directly! I am fine with it anyway..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants