From c11d3904de2f83eb5808afdb5a84ee7b09e92241 Mon Sep 17 00:00:00 2001 From: Truls Flatberg Date: Sun, 27 Oct 2024 17:00:16 +0100 Subject: [PATCH 1/3] Updated figures plus pdf versions --- docs/papers/joss/simple.pdf | Bin 0 -> 8571 bytes docs/papers/joss/simple.png | Bin 922 -> 782 bytes docs/papers/joss/two_complex.pdf | Bin 0 -> 4217 bytes docs/papers/joss/two_complex.png | Bin 27193 -> 23132 bytes docs/papers/joss/twolevel.pdf | Bin 0 -> 1932 bytes docs/papers/joss/twolevel.png | Bin 2341 -> 2083 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/papers/joss/simple.pdf create mode 100644 docs/papers/joss/two_complex.pdf create mode 100644 docs/papers/joss/twolevel.pdf diff --git a/docs/papers/joss/simple.pdf b/docs/papers/joss/simple.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8e46b3949b30e1d6c3a32ff3e4cff69001a22d42 GIT binary patch literal 8571 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 literal 0 HcmV?d00001 diff --git a/docs/papers/joss/simple.png b/docs/papers/joss/simple.png index de28aa3d01cde189504d912deebb1375ed105419..41b2ccc56d2c8b081a708cc42d891ba277648dac 100755 GIT binary patch literal 782 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJC+i)-e$>Sx}yMPp1lDE4H!+#K5uy^@n1_q|X zo-U3d6?5L+wa*9+lxX`{d?|p*>PEy~)1{G8?Utf@Xf_!}6L zn~i>PhgEMheLH7=0LM?WS(E?fCg1am$bP#ZPCRMDjRigbnx?J{@luR;Dc`hx+aEjo z_j8KRowt3=xxStEmB+lVtY4;19HAyn&PD|SV!^jNnc6)|7Swh+I`V?U%aciX@1P7cX?X3 za_j5o&Xo*m%2hcA>(&(K{k;3#Jns34gNuJJ_D|Den{zJ3rJwiMjSF{QF4vE*|NTAT z^!?pd^Q3m0-1+_@s&@Lx4hiX=?JlK@Z@*r%>)z)VCNp|oY&=-uZDwEUqg49l=C`u+ z&)~%fq?cj&A+2a%o0N$JidfebBvF z-tJx4_1$OB|2{TjrS{65Nxz&nOd_29AXCGC`Tu`-$cb$Ni2*9zbN}w-D+9T-RyGYq{AQPw-@vtsimBGbR#e( zCP+MUfvhM`YaaVsnOG|p>7-fK0R_Px(-N#T`n^k5_-cNC9&Ug9wJEFIkAHGMlu{O znhk$(hrPdb?`YKS>~80MzR#Y#^V7UPH+$AH$*aGe+)lG4e-U4E^Xk>7it#GtMbE$e z`pzAmy>@HabNla2=aZW))#iU^{iGYe{_Bh5H$QXVuHL)pjkBwW^qGh2TbN(3`SZK_ z*1db*4ppxIYGO9yu=Sco-T3`gyEA76c}2#&&g*+2th*R!$gHSr&D7%81&`kyY>t&SkZF+xkc67ViWg}^sd|~Nw{yyv5JBr_2+-xxO+sy|R zv+w-P-0$OK`!Ody{r^4d>A&RmR=;aIx#bMo@!Oa8UkjLDWyJxq_Soz>vuEF{`fyzM z{Iloj_x4n-e}Az!{$G}n?&gCZ%?c}DUMWlupSFx$GS}!WP^9e9vFq`FeunS7U;E?6 zL3R0aHDBI&H}}{T|5^eu`=Ype{g00YkIx-^cfQ|CQ#@|&u1zL?uf5jidCI7E*-ly} q-2EWakN=;~pQn2QBAi(3nKQ1eW@w+5dJLG^7(8A5T-G@yGywo7>6JzR diff --git a/docs/papers/joss/two_complex.pdf b/docs/papers/joss/two_complex.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4cd0ccd9d62f5946dd75896655cb1c9f9654d02c GIT binary patch literal 4217 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%0Ame59?9W*S7 zV20O_ZCrYEG+zwYrLj0Ziepr^h8V*y-IEgwxavRi0}Hnd0#1TCuB6NCb$oKCgI#Bsu*~wcq@JcfQLIFe z$6|wi>|lBFeP&T{TlrUC!Nxo6tc0dYAGnMBFUTxxIG_PtJ$;f(7Z2K-X!ei>bSVK zNt0t`|Bh{|mkD@V0DFRNQzS23ZjX=;uwTKgR|FW5E91ydMJWM*Rngfo?MB;boI+?QS^VJ+pfG{vnl%zVPldy7~a%bYHx(|FZkhdqbSSgU!2Sd};qMY2pA4{+I+g@v#ffx*! zze-QxE|_k*k)Q2*CwATbtILj-bie-A27!_F(u8{7W@6^}&h65=`}AcY?+Fjh8j2T{ zgahrjyUc2Gf3)MGs&}?zKNA+$yPeiAj6LEXOupAMJ_e2bFvuPFLff6QVB_Q<~ zo++twFsr^1BRm}}Q0k7=24nf7xzYRjrrm4ST??4)PpF;7R1H0IWYo%PfNvB|vM=!s zuKAm`=U&#b=U6@CcqY2ghKA@__iuK7Zt^dBq~+!Rk`454{r#mIGh>v~KUE{E@PD#! zqD~XnKol7IU)pYhEudg&u(Z|BH;lc!FkmS3H@RA#PF`RrV zB?1E7jE6xW((BX=*0d>{m$B?;1kOcby?{Om;K-cR=5rz)R}v#ADW;ofS^ixl8e`{; T@%JX@BpPN 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
    3j0JZRa9*2v(H;gKEQf;xFa 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 F_dg~FZAAb8 literal 27193 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%0Af)Ny%nM6$*ep^R^&>ry5x(V&ai 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 diff --git a/docs/papers/joss/twolevel.pdf b/docs/papers/joss/twolevel.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ca0156b201e23828cf5d3270a8e5cf6d99308bca GIT binary patch literal 1932 zcmY!laBGd1jBpNcxq-p`_c9JCS+91wTu+S0CaJdiI? z-E?)v^9d&t>+O%3u`LQ*A7&fe8~d$#{mScki}=6%QoN)(?SXv$J9+WH6?^yplK;=~ z?`yodR@8*1@B9C}J;eIpaH!QK(`R;B$sa5$9_;V$uKRnk`M+0&{pJ7n-#slq#r}W! z;&c9syD!|gxl*!}Mfu00dgTeH{!Tcx!^rK!-kwuRQ$>1CiO;W9^I%%Sm9oYlKPY=) zf5p;kFK!jdc1>pL{azKyqV#;b$9z$){kAp?6U|Sqb;_&#V12)Q^Sa{f=YA`fmd;8& z_4C90yD9r)&x$8a&RDl}>!GQ_!O73}csT8;aya?^>$yXYhS#0e*xp?bu}I*;Cb^@t zmnfEsSL~MfedoJ*e&f5CHQ_I2ElVdJov1o7Kc<7q;NGUT*EdQb%FA zbN*XyZd_PvcXd+58Lb+fDe{YLzeW5KiMb$GqqDj~r~7eJ&YY;*tPUz#uTDH%B~lk= zw)9TQjcsK&nler2s5MM56L;W9Yre5FJvTG|HDi>5P+EL^LsGcnqc1MAWplS5Uij^C zB7?^Lv-$okvzcy-|3544u&ly}H7n};R+c$k|LnQ8@O;1dDM!QMc7g5%_lt{mN@v}^ z!@Jd|T)Q*cSXI|PYJs#i(5WXU2h5w8|FYn_TEG0!b>GT3zpVV=^g~#rxV&jelQ2th zc^A;JH}CGbG;`_JScY9+#HI5#gwFEx;aa&!Gr4Y~184S(cYYD(T6x*wQI3_RL z?64#wI=)~{?Wcl$a&Q;Syz{b)Cu?6fN5zzx3W1uZw;D6~JdIC;?ORHDV7 z1smm_r5X4aCmgqA6*=f+a>-N%==+TyVs&L5GY^5(w_liXhTpX9EdSJH(|;{&D?$pb zBC$}pbJGv=&$hAaf0vd2z56%+C!MORT&Z~}&@2pOfigcR$Af5Kp0_kL0?C7T#_*y6 zTo|}kl(+|%01E;I8yk=S5a=fw067Z!&W;L(3i`>3KoVFy040DV5JAl`hnu6IA5vM6 zs-W+mloec(3pN#6=2!sLK*}6H1w*ieTV_#liGm4~jlUc+4mNnu^{neD69bzCV=Sis zK&C_eXJ`gnHeXEmJNlCxw zDb48cZB-Pv`~+qv=J~>_zTB{0@S zv0xoR`S~RZhKBIS^~_7lS1>dH^N}mKcw!+Fy;NY1PW}F(wwoPheWVmR~8inb};*!Lol8Pdr`wh(vOu1B5UH#p- E0AesQF#rGn literal 0 HcmV?d00001 diff --git a/docs/papers/joss/twolevel.png b/docs/papers/joss/twolevel.png index 1de1f1510ca8babe23aac7256a66bd59d2989143..dae028032846f282a7a6a38b45f30de1589a5742 100755 GIT binary patch literal 2083 zcmdT_YfO`86#j-{6~>U&Nl;OP2*QA(2vV8UDOzf|7UfzjPVVJS5lL4%Ks30afl86P zOcbFEk%Co9J1(OjAP9~s1uURYptMMpmbTFD(;rKiS+f1x@+R+l&Pm?$oadY;IawZV zNFA+hS^xm(pq!mB0I+U1Xj3<8fOk~{u^W6ge1}Fl0qPIu7ORp10Faj`r*BVREEbL7 zqVmEFTNW9XAt51_mWdQH3VD0QuO9BDvoEPGFVe)Oz~JIJ>;0aOpG9S%f4fvS9(TBY zzRdvk&>m`|Hl{HXJtGcLT{U`|GV9Vd55iBJ4))j=JsTdu@^Jqmus^Nzop3~7DaV#x zNxay7KUOj|J4-a@a5!HAz~pH+*#-bm@i$rkKLlxL1G{gwXaE~c>Hr{p(|uAizDFmY}z2J73k}Kv?UmXd2 z&eC&sUns2wy;4y?C2>!jWqkUY0!JYq#{QAkp8}Y6^tIk3&gl63jiaxJ##(B%?&#Zl6g2k6{Vf2!o1DdhC>#zGud^L)7(bEREzB0_lr@oJ6o& zOmeJ1#U>YTt1Svx$_l_AiVepSp3mQ4EHWtiWuys$th|+-hSrX)iNOUXs}&q!s82<+ z4iuHmWikzu=$~|qBWr!sqzr;W`o{vDN@v<@Bz8<$z>hT#ynSJU! z?6_R_EY3^b4%y0=4#2CTU$+djMk5^e+aD}ckJsNVG~MZsaWG|3j(wV*b4K*?!R>~y z3yg<^3(bo^Qg$iF2Ln2-Eb!HS35lolR+szL!=&(_(Tw&z=asrr@5^%J|HqPWLjyl!Z}eq2Zy5x+}&g>CPFl#7C_de{B89 z-g~%nC?7VJ<&p`G^$NRwwu+IzcjIYO?Yw_qOit&+m}afNYJw6~Z?*ZR`c^ES~&UV^6zTfyaO6YK%u4j+C9 zI>I%0uK0d6S=2VTDZf`yzt@Mau7HE-g-3i%Yw_j{gypvdVy?0~WsydxkV+qP@XZ>U zWTyR=JQYD}%0G#u=-Z`|hFe;|Ko(zp8mmb&NMqGZ0DTW!AW=WJG3R9QBju-CHApZJrtC2_*;At5)w} z+}6-&qhTLKtey#~{!Kd_X|*@jkZCPme7b#_PZTuQOKlBy;XIX`vJIeeo{--v;CXyC z_vem?RlCmlxvP0-L9=99K9SR-I{u)!YI-8p!bK#T{)hq7rrYHZZYH^%1ThTs-+IE8 zUr3YZ#YZH9a$^*gkD*tw;)kLe^@v56WUy#MSNA=8X&-eA^PZ^#RlgH>cWTLFs=0=P{5T literal 2341 zcmd5;eN@s{AOEFol&kqHD<&qkwz8%3r8eDMW=_i*`IZ@=iP(#qB9fYEB3j~dYPe_1 ze4%{Zv&ckoA*uM_OD5S;T&dsy#feBp0t$+v$bO#fbRM4l@jQQa?m73~^S$?+&-eTJ ze82a5bAtl>Hd??e007u{^oZ|q05IPU?t9jmfpf+5CVy~w^EATG7cj1lN)GKh0IU-p z_4PiHdTV+lk}gQLeKg~olL>iGeYxgx{5prV?h(ncsM9NJVzZ%cKj(7~DJ-FGxR!5j zl8+=khT&d>$?nLnQK6PlH+{cdutK7yz)H7Sres0BYl5>>40@y(4hh<;oktKXx?$z=O40 zfrBL-X23ct6aYk-y#;JP_WE49>7t#TYsa8;;i^-uO-jLo-E79R5<0pVLSm54FLpKc z8WS&i1!aL2DG4vBRk1+JGx8I=$4ZFPg@FGjJ~xme!nd-+POvwC=JTH>8WH|EpJ6ji>G5?!JCsN$Syi;r%N*=-?hgR6$CMLwFLtD*!$mzSyAULx1RYYv7z#9Qx%ddSAF{% zV%Helk-J@o^|rlbl6{l#Rnq^4c(v0Lb zXGG`8Zf~Wfj9Ef?xY6|f8zHp9l;aD-Dobil&lIS&rdu8;p3~%DTEz7HUwVZD?$sVm z1jX=q)r1Z5fNW@cAjb!wubs*G6h$tDtI$dGJR=c%3SucYImM(>vyF+M-(yauQd+L zUj4N_ASSYa#x5$Ev))q5qA|u{7WCridOE97*1|hHy0~ncVI0&jk~gw1Ogx{u4?`s2 z85eCoOH2FpCp@co{C?xma{mGTuDyvD`CeHtCwqq(bM01XrvjDj}1KAc1@=s|5YrGGwp}e=Uh6(Q&aJLZMxqUUDVe3cK z79v4ciO7fc#~Sd~ea)4ML8zWKGJdhI+s+Y1k#lLVkWi9a*g;8moV*zIH3!C-?DVH6Y zE|XmkD05nwozG3mXp0`Ai`r5Xe3oDZfzDLDygk{@BQbW&(wX{9dtJrjjNkjA-n{hV z1o8M{2u7H!ov2~1S$3o_w~YKOQ*K3pXCkm!kl!JCnh zL+SFoQbc_jby(z*u8xwZ?%T$Teq$NO9$OD^GnLdD+{r$wVJ3GcLCPW9S1fc@35;pW z1}ROB@kr>N+oweF_tt17E><62LF;OJ=>A}3dIoKY#_tH7d{Vv!c)-oAn24^5TO4 From 0143fc46df20647723717ef9929cd3922bae9f88 Mon Sep 17 00:00:00 2001 From: Truls Flatberg Date: Sun, 27 Oct 2024 17:00:49 +0100 Subject: [PATCH 2/3] Code example, minor changes and some extra links --- docs/papers/joss/paper.md | 52 ++++++++++++++++++++++++++++++--------- 1 file changed, 41 insertions(+), 11 deletions(-) diff --git a/docs/papers/joss/paper.md b/docs/papers/joss/paper.md index 06d16a0..2af74c9 100644 --- a/docs/papers/joss/paper.md +++ b/docs/papers/joss/paper.md @@ -43,17 +43,17 @@ The package is already used in several optimization packages developed at [SINTE For complex optimization models, a significant amount of code is typically used to track the relationships between time periods, further complicated if stochastic versions of the model is developed. Time constraints can be tricky to get correct, and can be a source of subtle bugs, in particular when more complicated structures are involved in models with linking constraints between time periods or scenarios, such as when keeping track of storage inventory over time. -Modellers typically use extra indices to keep track of time and scenarios, making the code harder to read, maintain anf change to support other or multiple time structures. This complexity can be an obstacle during development, testing and debugging, as it is easier to work with simpler time structures. +Modellers typically use extra indices to keep track of time and scenarios, making the code harder to read, maintain and change to support other or multiple time structures. This complexity can be an obstacle during development, testing and debugging, as it is easier to work with simpler time structures. By abstracting out the time structures and providing a common interface, TimeStruct allows the modeller to concentrate on other properties of the model, keeping the code simpler while supporting a large variety of time structures (pure operational, strategic/investment periods and operational periods, including operational uncertainty and/or strategic uncertainty). -By providing a common interface with time structure semantics simplifies running a single model for different time structures, and may be used to develop decomposition techniques to exploit specific structures. +By providing a common interface with time structure semantics, TimeStruct simplifies running a single model for different time structures, and may be used to develop decomposition techniques to exploit specific structures. # Example of use For a full overview of the functionality of TimeStruct, please see the online [documentation](https://sintefore.github.io/TimeStruct.jl/stable/). -During development and for operational analyses, simple time structures where e.g. time is divided into discrete time periods with (operational) decision variables in time period, can be useful. With TimeStruct, such structures can be easily used in any optimization model. The example in \autoref{fig:simple} shows the basic time structure SimpleTimes which represents a continuous period of time divided into individual time periods of varying duration. The length of each time period is obtained by the `duration(t)` function. +During development and for operational analyses, simple time structures where e.g. time is divided into discrete time periods with (operational) decision variables in time period, can be useful. With TimeStruct, such structures can be easily used in any optimization model. The example in \autoref{fig:simple} shows the basic time structure `SimpleTimes` which represents a continuous period of time divided into individual time periods of varying duration. The length of each time period is obtained by the `duration(t)` function. ![Simple time structure with only operational periods.\label{fig:simple}](simple.png) @@ -61,27 +61,57 @@ One of the main motivations for the development of TimeStruct is to support mult ![A typical two-level time structure.\label{fig:twolevel}](twolevel.png) +Using the interfaces defined in `TimeStruct` it is easy to write models that are valid across different time structures. +The following example shows a simple model with a production variable, $x$, defined for all operational time periods and a constraint on the maximum total production cost for each strategic period: +```julia +using JuMP, TimeStruct +function create_model(periods::TimeStructure, cost::TimeProfile, max_cost) + model = Model() + @variable(model, x[periods]) + for sp in strat_periods(periods) + @constraint(model, sum(cost[t] * x[t] for t in sp) <= max_cost) + end + return model +end +``` +This model will be valid for both examples above, producing one constraint for the `SimpleTimes` and three constraints for +the strategic periods of the `TwoLevel` example. +```julia +latex_formulation(create_model(SimpleTimes([1, 1, 1, 5, 5]), FixedProfile(3), 10)) +``` +$$ +3 x_{t1} + 3 x_{t2} + 3 x_{t3} + 3 x_{t4} + 3 x_{t5} \leq 10 +$$ +```julia +latex_formulation(create_model(TwoLevel(3, SimpleTimes(5,1)), FixedProfile(3), 10)) +``` +$$ +\begin{aligned} +& 3 x_{sp1-t1} + 3 x_{sp1-t2} + 3 x_{sp1-t3} + 3 x_{sp1-t4} + 3 x_{sp1-t5} \leq 10\\ + & 3 x_{sp2-t1} + 3 x_{sp2-t2} + 3 x_{sp2-t3} + 3 x_{sp2-t4} + 3 x_{sp2-t5} \leq 10\\ + & 3 x_{sp3-t1} + 3 x_{sp3-t2} + 3 x_{sp3-t3} + 3 x_{sp3-t4} + 3 x_{sp3-t5} \leq 10\\ +\end{aligned} +$$ + Different time structures may be combined to construct more complex structures, consider as an example the combination of a `TwoLevel` time structure with more complex operational structures like `RepresentativePeriods` and `OperationalScenarios`. These may be used alone or in combination, as shown in \autoref{fig:two_complex}. ![A more complex two-level time structure.\label{fig:two_complex}](two_complex.png) -TODO: pdf versions of figures before submission. +TODO: change to pdf versions of figures before submission. `TimeStruct.jl` also provides data structures for representing parameter data, providing efficient representation and indexing by time period for data with varying level of redundancy. Functionality for computation of disount factors for each time period to facilitate calculation of present values is also included. # Example applications -TimeStruct is used in multiple optimization models developed at SINTEF. One early application is in [EnergyModelsX](https://github.com/EnergyModelsX/) [@hellemo2024energymodelsx], simplifying the code in `EnergyModelsBase.jl` considerably, and allowing to add capabilities for stochastic programming versions of the model with little extra effort, see e.g. [@bodal2024hydrogen; @kitch2024optimal;@svendsmark2024developing] for examples of applications of EnergyModelsX. +TimeStruct is used in multiple optimization models developed at SINTEF. One early application is in [EnergyModelsX](https://github.com/EnergyModelsX/) [@hellemo2024energymodelsx], simplifying the code in `EnergyModelsBase.jl` considerably, and allowing to add capabilities for stochastic programming versions of the model with little extra effort, see e.g. [@bodal2024hydrogen;@svendsmark2024developing] for examples of applications of EnergyModelsX. +It has also been used in the logistics models developed in the project 'Sirkulær masseforvaltning' for planning in the +rock and gravel industry, as well as for hydrogen facility location optimization in the 'ZeroKyst' project. Ongoing +activities in the EU funded projects 'H2GLASS' and 'FLEX4FACT' involves the use of TimeStruct [@kitch2024optimal]. -TODO: Add references for these: -- Used in Sirkulær Masseforvaltning -- Used in ZeroKyst # Acknowledgements -TODO: Project URLs for ZeroKyst and MaritimeNH3 - -The development of `TimeStruct` was funded by the Research Council of Norway through the projects [ZeroKyst]() ([328721](https://prosjektbanken.forskningsradet.no/project/FORISS/328721)), [MaritimeNH3]() ([328679](https://prosjektbanken.forskningsradet.no/project/FORISS/328679)) and [Clean Export](https://www.sintef.no/en/projects/2020/cleanexport/) ([308811](https://prosjektbanken.forskningsradet.no/project/FORISS/308811)) +The development of `TimeStruct` was funded by the Research Council of Norway through the projects [ZeroKyst](https://zerokyst.no/en/) ([328721](https://prosjektbanken.forskningsradet.no/project/FORISS/328721)), [MaritimeNH3](https://www.sintef.no/en/projects/2021/maritimenh3-enabling-implementation-of-ammonia-as-a-maritime-fuel/) ([328679](https://prosjektbanken.forskningsradet.no/project/FORISS/328679)) and [Clean Export](https://www.sintef.no/en/projects/2020/cleanexport/) ([308811](https://prosjektbanken.forskningsradet.no/project/FORISS/308811)) # References From bb52352ebf85c22dc2b60d67f500881ce94173ed Mon Sep 17 00:00:00 2001 From: Lars Hellemo Date: Sun, 27 Oct 2024 20:47:14 +0100 Subject: [PATCH 3/3] Change to pdf, add links in introduction. --- docs/papers/joss/paper.md | 12 +++++------- docs/papers/joss/simple.png | Bin 782 -> 0 bytes docs/papers/joss/two_complex.png | Bin 23132 -> 0 bytes docs/papers/joss/twolevel.png | Bin 2083 -> 0 bytes 4 files changed, 5 insertions(+), 7 deletions(-) delete mode 100755 docs/papers/joss/simple.png delete mode 100755 docs/papers/joss/two_complex.png delete mode 100755 docs/papers/joss/twolevel.png diff --git a/docs/papers/joss/paper.md b/docs/papers/joss/paper.md index 2af74c9..e41eb3b 100644 --- a/docs/papers/joss/paper.md +++ b/docs/papers/joss/paper.md @@ -1,5 +1,5 @@ --- -title: 'TimeStruct.jl; flexible multi-horizon time modelling in optimization models' +title: 'TimeStruct.jl -- flexible multi-horizon time modelling in optimization models' tags: - Julia - JuMP @@ -37,7 +37,7 @@ bibliography: paper.bib TimeStruct allows reuse of much of the code considering tracking of time and allows the main equations to be modelled in a straight-forward manner while supporting a wide range of time structures and easily switching between e.g. simple deterministic operational models and stochastic programming versions of the same model. -The package is already used in several optimization packages developed at [SINTEF], e.g. EnergyModelsX, ZeroKyst and MaritimeNH3. (TODO: links/references) +The package is already used in several optimization packages developed at [SINTEF](https://www.sintef.no/en/), e.g. [EnergyModelsX](https://github.com/EnergyModelsX/), [ZeroKyst](https://zerokyst.no/en/) and [MaritimeNH3](https://www.sintef.no/en/projects/2021/maritimenh3-enabling-implementation-of-ammonia-as-a-maritime-fuel/). # Statement of need @@ -55,11 +55,11 @@ For a full overview of the functionality of TimeStruct, please see the online [d During development and for operational analyses, simple time structures where e.g. time is divided into discrete time periods with (operational) decision variables in time period, can be useful. With TimeStruct, such structures can be easily used in any optimization model. The example in \autoref{fig:simple} shows the basic time structure `SimpleTimes` which represents a continuous period of time divided into individual time periods of varying duration. The length of each time period is obtained by the `duration(t)` function. -![Simple time structure with only operational periods.\label{fig:simple}](simple.png) +![Simple time structure with only operational periods.\label{fig:simple}](simple.pdf) One of the main motivations for the development of TimeStruct is to support multi-horizon time structures [@kaut2014multi]. As a simple example, the time structure `TwoLevel` allows for a two level approach, combining an ordered sequence of strategic periods (typically used for binary capacity expansion) with given duration and an associated operational time structure (for operational decisions using the available capacity in the associated strategic period) as illustrated in \autoref{fig:twolevel}. -![A typical two-level time structure.\label{fig:twolevel}](twolevel.png) +![A typical two-level time structure.\label{fig:twolevel}](twolevel.pdf) Using the interfaces defined in `TimeStruct` it is easy to write models that are valid across different time structures. The following example shows a simple model with a production variable, $x$, defined for all operational time periods and a constraint on the maximum total production cost for each strategic period: @@ -95,9 +95,7 @@ $$ Different time structures may be combined to construct more complex structures, consider as an example the combination of a `TwoLevel` time structure with more complex operational structures like `RepresentativePeriods` and `OperationalScenarios`. These may be used alone or in combination, as shown in \autoref{fig:two_complex}. -![A more complex two-level time structure.\label{fig:two_complex}](two_complex.png) - -TODO: change to pdf versions of figures before submission. +![A more complex two-level time structure.\label{fig:two_complex}](two_complex.pdf) `TimeStruct.jl` also provides data structures for representing parameter data, providing efficient representation and indexing by time period for data with varying level of redundancy. Functionality for computation of disount factors for each time period to facilitate calculation of present values is also included. diff --git a/docs/papers/joss/simple.png b/docs/papers/joss/simple.png deleted file mode 100755 index 41b2ccc56d2c8b081a708cc42d891ba277648dac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 782 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
      3j0JZRa9*2v(H;gKEQf;xFa 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 F_dg~FZAAb8 diff --git a/docs/papers/joss/twolevel.png b/docs/papers/joss/twolevel.png deleted file mode 100755 index dae028032846f282a7a6a38b45f30de1589a5742..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2083 zcmdT_YfO`86#j-{6~>U&Nl;OP2*QA(2vV8UDOzf|7UfzjPVVJS5lL4%Ks30afl86P zOcbFEk%Co9J1(OjAP9~s1uURYptMMpmbTFD(;rKiS+f1x@+R+l&Pm?$oadY;IawZV zNFA+hS^xm(pq!mB0I+U1Xj3<8fOk~{u^W6ge1}Fl0qPIu7ORp10Faj`r*BVREEbL7 zqVmEFTNW9XAt51_mWdQH3VD0QuO9BDvoEPGFVe)Oz~JIJ>;0aOpG9S%f4fvS9(TBY zzRdvk&>m`|Hl{HXJtGcLT{U`|GV9Vd55iBJ4))j=JsTdu@^Jqmus^Nzop3~7DaV#x zNxay7KUOj|J4-a@a5!HAz~pH+*#-bm@i$rkKLlxL1G{gwXaE~c>Hr{p(|uAizDFmY}z2J73k}Kv?UmXd2 z&eC&sUns2wy;4y?C2>!jWqkUY0!JYq#{QAkp8}Y6^tIk3&gl63jiaxJ##(B%?&#Zl6g2k6{Vf2!o1DdhC>#zGud^L)7(bEREzB0_lr@oJ6o& zOmeJ1#U>YTt1Svx$_l_AiVepSp3mQ4EHWtiWuys$th|+-hSrX)iNOUXs}&q!s82<+ z4iuHmWikzu=$~|qBWr!sqzr;W`o{vDN@v<@Bz8<$z>hT#ynSJU! z?6_R_EY3^b4%y0=4#2CTU$+djMk5^e+aD}ckJsNVG~MZsaWG|3j(wV*b4K*?!R>~y z3yg<^3(bo^Qg$iF2Ln2-Eb!HS35lolR+szL!=&(_(Tw&z=asrr@5^%J|HqPWLjyl!Z}eq2Zy5x+}&g>CPFl#7C_de{B89 z-g~%nC?7VJ<&p`G^$NRwwu+IzcjIYO?Yw_qOit&+m}afNYJw6~Z?*ZR`c^ES~&UV^6zTfyaO6YK%u4j+C9 zI>I%0uK0d6S=2VTDZf`yzt@Mau7HE-g-3i%Yw_j{gypvdVy?0~WsydxkV+qP@XZ>U zWTyR=JQYD}%0G#u=-Z`|hFe;|Ko(zp8mmb&NMqGZ0DTW!AW=WJG3R9QBju-CHApZJrtC2_*;At5)w} z+}6-&qhTLKtey#~{!Kd_X|*@jkZCPme7b#_PZTuQOKlBy;XIX`vJIeeo{--v;CXyC z_vem?RlCmlxvP0-L9=99K9SR-I{u)!YI-8p!bK#T{)hq7rrYHZZYH^%1ThTs-+IE8 zUr3YZ#YZH9a$^*gkD*tw;)kLe^@v56WUy#MSNA=8X&-eA^PZ^#RlgH>cWTLFs=0=P{5T