Discrete-Time Optimal Control Problems