Optimization is a very specialized field and can also be a complex area. As I was teach from the beginning, one main point is that the choice of the adequate algorithm depends on the formulation, as well as how to formulate it depend on the algorithm to use.
With this, I will try to start answer this question with my perspective and hope others, more specialized than me, may complement this answer or give others.
In deterministic optimization the input data for the given problem is known accurately. It is considered e.g. in many structural optimization problems.
There are a plenty of problems where the input data for the given problem is NOT known accurately. Then, the optimization under uncertainty, or stochastic optimization, is chosen in a way that the uncertainty be considered under assumption of a given (assumed known) probability distributions. E.g. it is the case where the human behavior has influence in the performance being optimized like for e.g. in economic applications.
Exists an intermediate special type of problem where parameters are known but only within certain bounds. For theses cases Robust optimization techniques are usually more adequate. E.g. cases where a structure is sometimes loaded differently in different scenarios, which do not occur simultaneously. In robust optimization, is like one is looking for a compromise between different optimums found in each scenario without calculating necessarily these different optimums.
It is not unusual that one gets a kind of problems that are computationally very very hard. Then the time spent in computations (e.g. line search techniques) is not adequate and there is some evidence that for these problems, heuristic search techniques (e.g. randomness is used to find better solutions) are better methods. Examples of heuristic optimization methods are simulated annealing, genetic algorithm and evolutionary algorithms.
If the examples mentioned are too generic, particular applications of specific interest can be easily found (with some spent of time) in the research literature.
if you use deterministic steps to find the answer, it will be deterministic optimization and it's the same for stochastic. and I believe that there is no basic deference between stochastic and heuristic optimizations.
the better question is what is the type of our optimization problem. is it stochastic or deterministic. Choose the optimization algorithm directly depends on the problem.
Miguel Matos Neves thank you for your great answer.
@ all:
How would you compare the deterministic with the stochastic computing effort?
In stochastic problems there is not only one unique transition of states but a variety of possible ones.
This also increases the number of necessary calculations.
I am currently preparing a presentation and would like to communicate this topic in an understandable way. Because just to say that the solution of stochastic problems takes longer is not clear enough ...
Do you have own experiences or sources for such a comparison?
Deterministic optimization does not consider any uncertainties (eg. Variable energy sources, customer loads) whereas stochastic optimization models the uncertainties with appropriate probability distributions (e.g weibull for wind speed, beta distribution for solar irradiance, normal distribution for load).
Robust optimization is also similar to stochastic optimization with one major difference i.e. the probability of uncertainties are unknown.
Lastly, heuristic is just a search technique which can be used with any optimizations mentioned above to get the solution
The definition of stochastic optimisation is not unique. One is derived from stochastic programming and refers to the optimisation of problems in which the values of the objective function or the constraints or both are affected by stochastic quantities. However, you can find a more general definition in which the optimisation process itself is stochastic, although objective and constraints can be deterministic. The reason why this broader definition applies is that the optimisation process intrinsically assumes that objective and constraints depend on variables that are treated as stochastic and the distribution of the variables evolves as the optimisation progresses.
Robust optimisation is generally referring to a problem in which some quantities are uncertain and you want to minimise a cost function for the worst possible value induced by a realisation of the uncertain quantities. Determinative optimisation does not actually exist as a discipline, there is a version of Brain Storm Optimisation called Determinative.
Heuristic optimisation refers to methods that use some form of heuristics to define search directions and stopping criterion.