Mixed-Integer Optimal Control: Computational Algorithms and Applications