Rolling horizon implementation

Archive of Gamsworld Google Group
Post Reply
Archiver
User
User
Posts: 7876
Joined: 7 years ago

Rolling horizon implementation

Post by Archiver »


Dear modelers,

I would like to implement a rolling horizon optimisation. The principle is illustrated in the attachment.

The goal is to simulate a whole period while splitting it into several subperiods for calculation time and working memory reasons.

The given inputs are the demand for the hole period. One set therefore should reflect the whole time, e.g.: set time /1*21/

Splitting the period in 3 parts would lead to 3 iterations: set iter /1*3/

I would like to have one time step overlap, so that the results of this time step can be fixed in the next iteration. Each iteration has 8 time steps(t): set t /1*8/

Now i would like to construct a loop, where the input parametes get updated wih each iteration.

At the end I would like to have the results for the whole considered period.

Has anybody an idea or an example how to implement this in GAMS or is it maybe easier to call GAMS from MATLAB?

Thanks in advance

--
Attachments
rolling horizon.pdf
(74.3 KiB) Downloaded 333 times
Archiver
User
User
Posts: 7876
Joined: 7 years ago

RE: Rolling horizon implementation

Post by Archiver »


Hello stranger (how are you???)



You can use something like this



Set time / t1*t21 /

Set iter / i1*i3 /

Set ittime(iter,time) time periods in each iteration / i1.(t1*t8), i2.(t8*t15), i3.(t15*t22)

Set otime(time) optimization time period used in model



Equations …

Eq1(time)$otime(time).. expression



Loop(iter,

Otime(time) = ittime(iter,time);

Solve …

Var.fx(otime) = var.l(time);

);



Regards



Arne



-------------------------------------------

Arne Stolbjerg Drud

ARKI Consulting & Development A/S

Bagsvaerdvej 246A, DK-2880 Bagsvaerd, Denmark

Phone: (+45) 44 49 03 23, Fax: (+45) 44 49 03 33, email: adrud@arki.dk



From: gamsworld@googlegroups.com [mailto:gamsworld@googlegroups.com] On Behalf Of ebbay2001@web.de
Sent: Tuesday, February 11, 2014 5:16 PM
To: gamsworld@googlegroups.com
Subject: Rolling horizon implementation



Dear modelers,

I would like to implement a rolling horizon optimisation. The principle is illustrated in the attachment.

The goal is to simulate a whole period while splitting it into several subperiods for calculation time and working memory reasons.

The given inputs are the demand for the hole period. One set therefore should reflect the whole time, e.g.: set time /1*21/

Splitting the period in 3 parts would lead to 3 iterations: set iter /1*3/

I would like to have one time step overlap, so that the results of this time step can be fixed in the next iteration. Each iteration has 8 time steps(t): set t /1*8/

Now i would like to construct a loop, where the input parametes get updated wih each iteration.

At the end I would like to have the results for the whole considered period.

Has anybody an idea or an example how to implement this in GAMS or is it maybe easier to call GAMS from MATLAB?

Thanks in advance

--
To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/groups/opt_out.

--
To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/groups/opt_out.
Archiver
User
User
Posts: 7876
Joined: 7 years ago

Re: Rolling horizon implementation

Post by Archiver »


Hi there,

what if you have a large number of iteration? what is the best way to define each period?

On Tuesday, February 11, 2014 11:15:46 AM UTC-5, ebba...@web.de wrote:

Dear modelers,

I would like to implement a rolling horizon optimisation. The principle is illustrated in the attachment.

The goal is to simulate a whole period while splitting it into several subperiods for calculation time and working memory reasons.

The given inputs are the demand for the hole period. One set therefore should reflect the whole time, e.g.: set time /1*21/

Splitting the period in 3 parts would lead to 3 iterations: set iter /1*3/

I would like to have one time step overlap, so that the results of this time step can be fixed in the next iteration. Each iteration has 8 time steps(t): set t /1*8/

Now i would like to construct a loop, where the input parametes get updated wih each iteration.

At the end I would like to have the results for the whole considered period.

Has anybody an idea or an example how to implement this in GAMS or is it maybe easier to call GAMS from MATLAB?

Thanks in advance

--
To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/d/optout.
Post Reply