Modeling Two-Dimensional Guillotine Cutting Problems via Integer Programming