Multi-Parametric Programming: Volume 1: Theory, Algorithms, and Applications