In an applied project we are working on currently, we want to use robust or stochastic programming in order to enhance the performance of the systems (by reference to certain metrics). As you may already know, robust/stochastic optimizations allow to model the randomness impact of certain factors on a system behavior (in my case, its performance).

On the other hand, solving robust/stochastic problems is costly in time/resources or both: my question is how frequently the problem needs to be solved in order to provide up-to-date paramaters for the system to operate at maximized/required performance? What would be the best/most efficient interaction scenario for the system to trigger the problem solving process?

Any feedback on previous experience or similar work would be very appreciated.

  • $\begingroup$ This depends a lot on what the model is and how frequent the data is changing? Can you add a little bit more detail about the specific problem and model? $\endgroup$ – user3680510 Jul 21 at 11:47

This heavily depends on the application at hand and could vary all the way from milliseconds to months. It all comes down to rigorously defining the specs.

Many parameters are in play:

  • How long does your feedback loop need to be, i.e., how often does your system need to update?
  • How high is the uncertainty and how does it grow over time?
  • Do you know the statistical distribution of the uncertainty? If not, can you derive it with statistical confidence?
  • How often does new data come in? For a chemical process that could be milliseconds, for price/demand optimisation it could be days/weeks/months.
  • How frequently can your physical system actually update? For instance, in factories some machines can take two days to shut down/start up.

Unfortunately there's no silver bullet here, your team will have to do bespoke engineering work to figure out the answers to these questions and create a solution that fits the physical system. You need to derive bounds for the uncertainty and then make sure the solution is robust enough for the specs at hand.

Once you figure out the specs, the rest is simply a matter of picking the right algorithm/tools to meet said specs.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.