Skip to content

sintefore/TimeStruct.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 modelling and possible uncertainty. The package is designed to be used in combination with the JuMP package for optimization modeling in Julia.

Installation

] add TimeStruct

Example

The following shows a simple example of usage. For further details we 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))

Cite

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

@misc{TimeStruct.jl,
  author       = {Flatberg, Truls and Hellemo, Lars},
  title        = {{TimeStruct.jl: Flexible time structures in optimization modelling}},
  month        = Jan,
  year         = 2024,
  doi          = {10.5281/zenodo.10511398},
  publisher    = {Zenodo},
  url          = {https://zenodo.org/records/10511398}
}

Acknowledgements

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

About

Flexible time structures for optimization modeling

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages