Optimization Techniques for Problem Solving in Uncertainty