Optimizing User Preferences While Scheduling Meetings