1

I am currently working on a paper in which I am statistically comparing dynamic optimization algorithms like SDDP, Actor-Critics etc. In this regard, should I be running SDDP algorithm for my deterministic multi-stage optimization problem once (if it is a deterministic solver) or should I be running it multiple times (like 50 times in case it has a stochastic component to it)?

It is very important to note that my problem is a deterministic (not stochastic) multi stage optimization problem, meaning it has only one scenario.

SecretAgentMan
  • 1,895
  • 2
  • 13
  • 39

1 Answers1

2

It depends on the implementation.

Irrespective of whether the model has one scenario or many, it's possible to code an implementation of SDDP that is deterministic in the sense that it will return the same optimal policy if run multiple times with the same random seed.

It's also possible to code an implementation that is stochastic and potentially returns different optimal policies each time.

Even if your SDDP code is deterministic, it also depends on whether the underlying optimization solver is reproducible. For example, in Gurobi's default configuration it may choose a non-deterministic concurrent algorithm when solving an LP: https://www.gurobi.com/documentation/10.0/refman/method.html This can cause you to visit a different sequence of states in the forward pass and add a different sequence of cuts.

Oscar Dowson
  • 971
  • 5
  • 6