Comments (2)
  • Add a Comment
  • Edit
  • More Actions v
  • Quarantine this Entry

1 JacobFeldman commented Permalink

Thank you, J-F. It brings great memories when I used your CP tools to create various real-world solvers. One curious situation was when 2+3 was not equal to 5 but to "a little bit less". My initial scheduler could not send the same team to do two jobs at the same location after the lunch. It caused the obvious constraint violation: Job-1 required 2 hours, Job-2 required 3 hours, and they had only 4 working hours after the lunch. But when our automatic scheduler set Job-1 to start next morning, it annoyed a scheduling manager. He manually overwrote this decision and sent this team to do both jobs at the same day after the lunch. As he said, "I know they will do it anyway". He knew that data (job duration) was not perfect but he also knew real-world context. It would be naive to ask them to change the data: instead they needed a more flexible tool. So, we added "unavailability tolerance" defined by users for different job types. After being in production for a while, we soften a lot of initially hard constraints to make our scheduler a really useful tool for everyday scheduling.

Another side of the same problem is when a user does not officially share with you constraints used in the real-world. For example, our scheduler assigned a job to start at 3:35 PM. We could not understand why this annoyed a user: there were enough time and resources to do the job and to get back to HQ before the end of the shift. Finally the manager told us that "nobody starts a new job after 3:30PM" but they refused to state this as an official rule. We simply added a new constraint "Do not start a new job if there is less than X minutes to the end of the shift" allowing a customer to define X. Later on we added this to the optimization objective too.
Anyway, I also have a lot of similar stories to share, but one fact has been proven: Optimization technology (CP/LP/MIP) is much more flexible than any other technique to accommodate complex real-world decisioning.

2 JeanFrancoisPuget commented Permalink

Hi Jacob, oldies but goldies...

Thank you for providing more examples.
You are right, not only business people state wishes as hard constraints, but they hide some hard constraints as well, either on purpose (eg can't put in writing as it would be unlawful) or because they are so obvious that they forget about these. Discovering all relevant constraints can take time and requires interaction with business users as you describe it.