JuliaCon 2023

TimeStruct.jl: multi horizon time modelling in JuMP
07-27, 11:20–11:30 (US/Eastern), 32-082

This talk will present TimeStruct.jl, a package developed to support the modeling of optimization problems in JuMP involving time structurers with different resolution on an operational and strategic level. The package also supports multiple operational scenarios and strategic tree structures to model uncertainty at both operational and strategic level.


The package TimeStruct.jl provides functionality for the efficient development of JuMP models with a flexible time structure. The package provides multiple time structures with a uniform interface from the modeling perspective. A time structure is iterable over its time periods and these can be used for getting data values from associated time profiles.

The time structures have a two level structure with both a strategic and an operational level, with support for multiple operational scenarios and an associated probability for each scenario. A typical application is energy models where e.g. you can have multiple scenarios for wind availability. At the strategic level it is also possible to represent uncertainty by having a tree structure for the strategic decisions.

Using the TimeStruct.jl package allows for an efficient development of optimization models where the model can be validated on simple time structures before changing to more complex time structures without modifying the model implementation.