Movie Production Scheduler

This year OpenRules was approached by a film production company that wanted to optimize their movie production scheduling process. They wanted us to build a scheduler that receives the following input: multiple scenes, estimated time to prep and film the scenes, shooting locations, day and night shifts, all characters, cast members with their availability and associated costs, production units, and other related information. The objective of the scheduler is to schedule a production process over a certain period subject to time constraints, actor preferences, location availability, union requirements, and various soft and hard constraints. We’ve successfully and quickly developed a working prototype that satisfied major customer’s requirements and produced good schedules for this particular client. Then we expanded this development to a generic Movie Production Scheduler now available for solving similar scheduling problems with more custom constraints and preferences.

As we did have experience of solving similar scheduling and resource allocation problems in the past, we knew that such systems should be very flexible to frequent changes in resource availability, user preferences, satisfaction of manual assignments, and finding reasonable compromises between contradictory optimization objectives. Re-scheduling while minimizing the changes in previously produced schedules is a very important requirement for the practical use of this system.

We applied our general purpose Rule Scheduler to build a generic Movie Production Scheduler as a flexible and expandable framework for the creation of schedules based on specific movie production requirements and various hard and soft constraints. The framework is designed to support multi-objective optimization that allows a producer to assign importance (relative weights) to different scheduling constraints and minimize the overall constraint violation while keeping the total expenditure down.

Each custom scheduler can be deployed on the cloud as a RESTful service. The more time we give to the scheduling service the better results we may receive.

This development demonstrated again the efficiency of the generic approach that integrates Rule Engines and Constraint Solvers.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.