Learning and Optimization for Sequential and Real-Time Decision Making