The Monte Carlo simulation estimates the probability of different outcomes in a process that cannot easily be predicted because of the potential for random variables.
Discrete combinatorial optimization has a central role in many scientific disciplines, however, for hard problems we lack linear time algorithms that would allow us to solve very large instances.