At LAIKA, scheduling starts with a bidding process, during which departments estimate the work necessary to create each asset by breaking them down into a list of tasks with durations, resource assignments, and dependencies on other tasks. These tasks lists are then brought into our production database and leveled to ensure that each task is completed in time for other departments to complete their work, each asset is delivered in time for its scene shoot date, and that no group or person within each department is overloaded with tasks. Balancing these goals is an incredibly difficult and time-consuming job that takes years of experience to master, especially given the complexity of a physical production schedule. LAIKA's current project consists of 12,000 tasks spread across 300 physical assets, and balancing the workloads of 60 people with 15 different skill sets.
With our previous scheduling solution, we ran into major limitations. Initial bidding often took weeks, data could easily get out of sync when doing updates, and hand-leveling such an enormous dataset is laborious. Every push or pull in the order of tasks to benefit one group tends to come at the expense every other group. Perhaps even worse, a hand-adjusted schedule can be quickly made obsolete from daily changes in the shooting schedule, R&D timeline, or to the story itself. In improving the process, we also wanted to be smart about our development and not re-invent our entire workflow.
Since Shotgun is already central to how we work, we kept a familiar UI so Shotgun users can continue to work as they always have, but with access to custom tools when they need extra features, like auto scheduling and leveling. We also found Consilium, a new solution that leverages machine learning for resource balance and leveling. The technology (since acquired by the Shotgun team at Autodesk) enables a user to create different scheduling scenarios, where they specify parameters for how many tasks should be assigned to a resource in as little as a few seconds. Once the user has entered their targets and pressed schedule, its scheduling engine searches for a way to adjust task start dates for the schedule while still satisfying all constraints and dependencies, so that each resource is as close as possible to its target curve. When we started overhauling our workflow, Consilium was a standalone program, but now its powerful machine learning abilities are being integrated directly with Shotgun as a Generative Scheduling feature.
The first time we successfully got a schedule from Consilium back into Shotgun was a big ‘aha moment.’ Instead of having to manually level out 12,000 tasks, we were able to just press a button and get a schedule round trip back to Shotgun. And with Consilium functionality being built directly into Shotgun, I’d imagine even greater gains will be realized in the near future.
Consilium’s machine learning technology is being used in production at LAIKA for managing tasks in several departments, most notably as the means for scheduling the Puppets department. Whereas a human-leveled schedule takes weeks to build, with machine learning, we are able to generate scenarios in less than a minute and receive more efficient results. For example, provided the same data and 3.5-year time frame to shoot a film, a human-leveled schedule projected that 334 assets would be needed while using machine learning to level the schedule projected 251 assets. Considering each asset is physically created by hand, that’s a significant difference. With machine learning, we can also easily adjust the parameters for schedules for other scenarios, discovering that shaving a year of the project timeline would require the creation of 308 assets and reducing the timeline by six months would require the creation of 270 assets, all in a matter of minutes.