Automatic Differentiation and Its Role in
Simulation-Based Optimization