Thursday, April 04, 2013

Stochasticity, Randomness and Uncertainty

Operations Research area can be divided into two parts, deterministic and stochastic.
The line between these two areas is getting blur these days.
Stochastic programming is one of examples that is located in between.

Some people use stochastic, random and uncertain interchangeably.
People out of OR community may do so. And, they may not even know the word, 'stochastic'.
But, I saw even within our OR community, people make mistakes.

When we solve some optimization problems, we need to know the system and its' parameters, such as demand, lead time and so on in supply chain system, for example.
When we know the exact numbers or it is ok to set them as fixed numbers, we use the numbers as known parameters. And, it will be a deterministic problem.
However, when we don't know the exact figures, and when it will not be fine to set them as fixed numbers, what should we do?
Yes, probably, we need stochastic.

Then, a Question, here. Do we employ 'Stochastic', when we are lack of information, because we don't know what it will be?
No. Indeed, it is opposite.

Stochastic model requires much more information on the system than deterministic one does, assuming we are dealing with the exact same problem.      
We need to know the random factors' probability distributions. And, distribution cannot be expressed by couple of numbers. (Mean and standard deviation are not good enough unless we know the type of the distribution.)
When we don't know what the variable will be, yes, it is 'uncertain'.
When we have no idea at all on what it will be, it can NOT be 'stochastic'.
Uncertainty includes Stochasticity, obviously.

Of course, there is research areas within, we call, 'stochastic' OR, without knowing exact distributions, such as Beysian update and worse case scenario. But, still you need to know something about the uncertain variables.

I don't either have a clear distinction of 'random' from 'uncertain' and 'stochastic'
My feeling on 'random' is more close to stochastic than to uncertain (non stochastic).
Any idea on definition of 'randomness' and/or any thought welcomed.

P.S. Some people say stochastic problem is more difficult than deterministic one. It is true if the system and models are exactly same. But, that's why research problems on deterministic are far more difficult than the research problems in stochastic, if you look at the models itself, ignoring the variables are deterministic or stochastic.  


  1. I suspect that the people working with fuzzy sets and fuzzy logic (in the mathematical sense, not the congressional sense) would consider "uncertain" and "random" to be quite different.

  2. In my experience, we in OR do distinguish "risk" and "uncertainty". "Risk" is associated with parameters whose value may be unknown, but whose distribution is known. This is the realm of stochastic programming. A common stochastic programming objective is to maximize an expected value subject to constraints. "Uncertainty" is when parameters have values that are unknown and do not come from known distributions. That is the realm of robust optimization. A common robust optimization objective is to get the best outcome in the face of the worst-case realization of the parameter values.

    Note that almost any deterministic model has analogs that involve risk or uncertainty. Many, many of these models are of real-world interest. So in general, I would say that stochastic and robust models are harder than deterministic ones. But deterministic ones can certainly be hard enough.