You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: paper/paper.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ authors:
14
14
orcid:
15
15
affiliation: 1
16
16
- name: Adam R. Brandt
17
-
orcid:
17
+
orcid:0000-0002-2528-1473
18
18
affiliation: 1
19
19
affiliations:
20
20
- name: Department of Energy Resources Engineering, Stanford University
@@ -25,22 +25,22 @@ bibliography: paper.bib
25
25
26
26
# Summary
27
27
28
-
``ClustForOpt`` is an extensible framework for time-series aggregation in julia. It provides a type system for temporal data that can easily be integrated with the formulation of optimization problems, and provides an implementation of the most commonly used clustering methods and extreme value selection methods for temporal data. It provides simple integration of multiple attributes (e.g. wind availability, solar availability, and electricity demand) in a single aggregation process.
28
+
``ClustForOpt`` is an extensible framework for time-series aggregation in julia. It is designed specifically to perform time series aggregation for energy systems optimization problems, though could be adapated to be used with arbitrary time series datasets. ``ClustForOpt``provides a type system for temporal data that can easily be integrated with the formulation of optimization problems, and provides an implementation of the most commonly used clustering methods and extreme value selection methods for temporal data. ``ClustForOpt`` provides simple integration of multiple attributes (e.g. wind availability, solar availability, and electricity demand) in a single aggregation process.
29
29
30
-
Its unique design allows for scientific comparison of the performance of different time-series aggregation methods, both in terms of the statistical error measure and in terms of optimization outcome.
30
+
The unique design of ``ClustForOpt`` allows for scientific comparison of the performance of different time-series aggregation methods, both in terms of the statistical error measure and in terms of optimization outcome.
31
31
The choice of temporal modeling, especially of time-series aggregation methods, can have significant impact on overall optimization outcome, which in the end is used to make policy and business decisions. It is thus important to not view time-series aggregation and optimization model formulation as two seperate, consecutive steps, but to integrate time-series aggregation into the overall process of building an optimization model in an iterative manner. ``ClustForOpt`` allows for this iterative integration in a simple way.
32
32
33
33
``ClustForOpt`` provides two sample optimization problems to illustrate the integration of time-series aggregation and optimization problem formulation through our type system.
34
34
However, it is generally thought to be independent of the application at hand, and others are encouraged to use the package as a base for their own optimization problem formulation.
35
-
The julia package [``CapacityExpansion``](https://github.com/YoungFaithful/CapacityExpansion.jl) provides a detailed generation and transmission capacity expansion model built upon ``ClustForOpt``, and illustrates its capabilities in conjunction with a complex optimization problem formulation.
35
+
The Julia package [``CapacityExpansion``](https://github.com/YoungFaithful/CapacityExpansion.jl) provides a detailed generation and transmission capacity expansion model built upon ``ClustForOpt``, and illustrates its capabilities in conjunction with a complex optimization problem formulation.
36
36
37
37
The clustering methods that are implemented in ``ClustForOpt`` follow the framework presented by @Teichgraeber:2019, and the extreme value selection methods follow the framework presented by @Lindenmeyer:2019. Using these frameworks allows ``ClustForOpt`` to be generally extensible to new aggregation methods in the future.
38
38
39
39
To the best of our knowledge, time-series aggregation has been included in two open-source packages to date, both in written in python.
40
40
@TSAM provides an implementation of several time-series aggregation methods in python.
41
41
Calliope [@Pfenninger:2018] is a capacity expansion modeling software in python that includes time-series aggregation for the use case of generation and transmission capacity expansion modeling.
42
42
43
-
ClustForOpt is the first package to provide time-series aggregation in julia. This is advantageous because it can be used in conjunction with the JuMP [@Dunning:2017] package in julia, which provides an excellent modeling language for optimization problems. Furthermore, ClustForOpt includes both clustering and extreme value selection and integrates them into the same output type. This is important in order to retain the characteristics of the time-series that are relevant to many optimization problems.
43
+
``ClustForOpt`` is the first package to provide time-series aggregation in Julia. This is advantageous because it can be used in conjunction with the JuMP [@Dunning:2017] package in Julia, which provides an excellent modeling language for optimization problems. Furthermore, ClustForOpt includes both clustering and extreme value selection and integrates them into the same output type. This is important in order to retain the characteristics of the time-series that are relevant to many optimization problems.
44
44
45
45
At this point, we would like to point to the key features that ``ClustForOpt`` provides. Implementation details can be found in the software's documentation.
46
46
@@ -56,7 +56,7 @@ At this point, we would like to point to the key features that ``ClustForOpt`` p
56
56
57
57
Generally, optimization is concerned with the maximization or minimization of a certain objective subject to a number of constraints. The range of optimization problems ``ClustForOpt`` is applicable to is broad.
58
58
They generally fall into the class of design and operations problems, also called planning problems or two-stage optimization problems. In these problems, decisions on two time horizons have to be made: Long-term design decisions, as to what equipment to buy, and short-term operating decisions, as to when to operate that equipment. Because the two time horizons are intertwined, operating decisions impact the system design, and vice versa. Operating decisions are of temporal nature, and the amount of temporal input data for these optimization problems often makes them computationally intractable.
59
-
Usually, time series of length N (e.g. hourly electricity demand for one year, where N=8760) are split into $\hat{K}$ periods of length $T=\frac{N}{\hat{K}}$ (e.g. $\hat{K}=365$ daily periods, with $T=24$), and each of the $\hat{K}$ periods is treated independently in the operations stage of the optimization problem. Using time-series aggregation methods, we can represent the data with $K < \hat{K}$ periods, which results in reduced computational complexity.
59
+
Usually, time series of length N (e.g. hourly electricity demand for one year, where N=8760) are split into $\hat{K}$ periods of length $T=\frac{N}{\hat{K}}$ (e.g. $\hat{K}=365$ daily periods, with $T=24$), and each of the $\hat{K}$ periods is treated independently in the operations stage of the optimization problem. Using time-series aggregation methods, we can represent the data with $K < \hat{K}$ periods, which results in reduced computational complexity and improved modeling performance.
60
60
61
61
Many of the design and operations optimization problems that time-series aggregation has been applied to are in the general domain of energy systems optimization. These problems include generation and transmission capacity expansion problems [@Nahmmacher:2016; @Pfenninger:2017], local energy supply system design problems [@Bahl:2017; @Kotzur:2018], and individual technology design problems [@Brodrick:2017; @Teichgraeber:2017].
62
62
Time series of interest in these problems include energy demands (electricity, heating, cooling), electricity prices, wind and solar availability factors, and temperatures.
@@ -69,6 +69,6 @@ Because it keeps track of the chronology of the periods, it can also be used to
69
69
``ClustForOpt`` has been used in several research projects to date. It has been used to compare both conventionally-used clustering methods and shape-based clustering methods and their characteristics [@Teichgraeber:2019], and also to compare extreme value selection methods [@Lindenmeyer:2019].
70
70
It has also been used to analyze temporal modeling detail in energy systems modeling with high renewable energy penetration [@Kuepper:2019].
71
71
``ClustForOpt`` also serves as input to [``CapacityExpansion``](https://github.com/YoungFaithful/CapacityExpansion.jl), a scalable capacity expansion model in julia.
72
-
Furthermore, ``ClustForOpt`` has been used as an educational tool. It is frequently used for class projects in Stanford's Optimization of Energy Systems class, and has also served as a basis for the capacity expansion studies evaluated in homeworks for Stanford's Advanced Methods in Modeling for Climate and Energy Policy class.
72
+
Furthermore, ``ClustForOpt`` has been used as an educational tool. It is frequently used for class projects in the Stanford University course "Optimization of Energy Systems", and has also served as a basis for the capacity expansion studies evaluated in homeworks for Stanford University course "Advanced Methods in Modeling for Climate and Energy Policy".
0 commit comments