Skip to content

Latest commit

 

History

History
65 lines (48 loc) · 2.33 KB

File metadata and controls

65 lines (48 loc) · 2.33 KB

TimeStruct.jl

DOI Build Status codecov Stable In Development

TimeStruct is a Julia package that supports the efficient development of optimization models with multi-horizon time modeling and possible uncertainty. The package is designed to be used in combination with JuMP for optimization modeling in Julia.

Installation

TimeStruct.jl is a registered Julia package. Install it using the package manager:

using Pkg
Pkg.add("TimeStruct")

Or in the Julia REPL package mode (press ]):

pkg> add TimeStruct

Example

The following shows a simple example of usage. For further details, refer to the documentation.

using JuMP
using TimeStruct

periods = SimpleTimes(10, 1)    # 10 periods of length 1
income = FixedProfile(5.0)      # Fixed income profile 

model = Model()
@variable(model, x[periods] >= 0)

@constraint(model, sum(x[t] for t in periods) <= 4)
@objective(model, Min, sum(income[t] * x[t] for t in periods))

Citation

If you find TimeStruct useful in your work, we kindly request that you cite the following paper:

@article{Flatberg2025,
  doi = {10.21105/joss.07578},
  url = {https://doi.org/10.21105/joss.07578},
  year = {2025},
  publisher = {The Open Journal},
  volume = {10},
  number = {107},
  pages = {7578},
  author = {Truls Flatberg and Julian Straus and Lars Hellemo},
  title = {TimeStruct.jl -- flexible multi-horizon time modelling in optimization models},
  journal = {Journal of Open Source Software}
} 

Acknowledgements

This material is based upon work supported by the Research Council of Norway through the projects ZeroKyst (328721), MaritimeNH3 (328679) and CleanExport (308811).