Optimizing Surgical Scheduling Through Integer Programming and Robust Optimization