0
$\begingroup$

What is the difference between online and offline optimal control? I got confused in concept. I am working on an stochastic optimization algorithm that is based on dividing the time horizon into equal time intervals and solving a finite horizion optimization for each intervals,then I want to expand this algorithm to optimal control, when can I claim that my method is online?

$\endgroup$
0
$\begingroup$

The term comes from the machine-learning community, and is simply a variation of the name online learning. The major difference between this and offline learning is that you feed your data-sets in sequentially instead in a single batch process. For optimisation, it often means that you are doing optimisation with a model you know to be inaccurate, and each step you want to both perform your optimisation as well as improve your model (essentially you do online-learning of your model), for example by checking the predicted state with the actual state, or the predicted cost with the actual cost.

Note also that the terms online and offline optimisation are sometimes used less formally to simply mean run-time or not. I.e. a common challenge in model-predictive control is that computing the solutions can sometimes be too slow: then a possible approach is to compute solutions for the entire state-space of interest offline, and then simply implementing it as a look-up table. The challenge here is computing the entire state-space will be infeasible for many systems of interest (especially if the state-space is continuous) due to the curse of dimensionality.

| cite | improve this answer | |
$\endgroup$
  • $\begingroup$ How do you know the term comes from the machine learning community? I found the term "online optimization" used in a control theory context in this paper from 1995. I haven't found an earlier use of the term "online learning". $\endgroup$ – littleO Jan 17 '18 at 4:52
  • $\begingroup$ I don't actually and could be wrong. I just have heard it more often used in the first context, and only in the second context in the field of MPC. In the first context, I'm quite sure it comes from the machine learning community, simply because it has no meaning in control. In the second, it probably comes from the controls community. I would argue that depending on the meaning intended, it comes from the one or the other community. Make sense? $\endgroup$ – Steve Heim Jan 17 '18 at 8:04
0
$\begingroup$

I believe it is fair to use the term online for your method since using the finite horizon window, you only calculate the optimal solution within your time horizon. As such, your controller may (and will) change as your system evolves and your horizon moves.

| cite | improve this answer | |
$\endgroup$

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.