Interview with Malfrine Das, Algorithm Engineer at Kinta

March 2022

Operations Research is a growing field that attempts to find solutions to some of our world’s most complicated problems, one of which manufacturers are deeply aware of: production scheduling. At Kinta, we are proud to have top-notch Operations Research engineers on the team who are tackling this challenge head on. To give a window into what goes on at Kinta behind the scenes, we are excited to share this interview with our very own Malfrine Das, Algorithm Engineer at Kinta.

Q: Thank you so much for taking the time to chat with us Malfy. I’m really looking forward to learning more about your work and the intricacies of production scheduling. I’d love to start off with learning a bit more about you.

MD: Thanks! I’m excited to be here. So a bit about me… I did my undergraduate studies in chemical engineering at the University of Alberta. While there, I had an internship at a research facility where we were trying to identify optimal cleaning schedules for reactors. It was my first introduction to using programming and math to optimize problems and I absolutely loved it. Since that experience, I’ve sought out operations challenges everywhere and proceeded to pursue a Master’s in the field. A few years later, I graduated from Cornell with a Master’s in Operations Research and Information Engineering and I haven’t looked back since. I worked at a couple of other places working on OR problems, but when I came across Kinta, I immediately really liked the idea of building an application around scheduling. Scheduling for manufacturing is a very complex problem and I was fascinated by the way Kinta was solving it. I was eager to contribute. 

Q: What a great way to find your passion and pursue it. Now we hear about Artificial Intelligence (AI) smart algorithms daily, but could you expand a little on what Operations Research (OR) is? And what is the distinction between OR/AI?

MD: AI has become a big buzzword and a catchall, so I’m not surprised you see it everywhere. In a nutshell, AI is using a program or software with learning capabilities to intelligently make decisions for you. AI learns about a system and then tries to behave “optimally” in that system. For example a chess AI learns strategies using deep neural networks by playing many simulations. But neural networks don’t work well for production scheduling. So instead, we codify the scheduling rules and assist our AI to learn as it goes about identifying strategies to create good schedules.

This is the space where the field of Operations Research (OR) lives. We model a system’s rules and then ask our AI how to behave optimally within it. Neural networks, and machine learning in general, take a more statistical black-box approach while OR takes a more mathematical, interpretable approach. They can be used in conjunction as well so they’re not mutually exclusive.

Q: That makes a lot of sense. So from an OR and optimization perspective, how should we think about a factory and its production schedule?

MD: Manufacturers across the globe will know that a factory is a place where complex decisions are made with complex requirements. In OR, the challenge of creating schedules has been studied widely - it is known as the job shop scheduling problem - and a ton of research has gone into how you create the best schedules. You can think of factories as these systems I described earlier: there is usually some type of objective that needs to be reached with a long list of constraints that need to be satisfied. Applying OR techniques to the job shop problem makes a lot of sense if you think of factories as a system where you need to make optimized decisions. 

Q: Why is a factory’s production schedule in particular an interesting OR problem to you?

MD: Scheduling is a very hard problem to solve. You cannot brute force your way to a good schedule - you need to be smart about it - but even the best academic solutions that we have right now are not guaranteed to give you an optimal schedule. That complexity is fascinating to me from a mathematical perspective, but also reminds me to think of these problems in a practical way. When it comes to solutions created by AI, we often encounter the black box problem: we have a solution, but it took us forever to calculate and we’re not even sure why some things were scheduled that way. So it all comes down to “how can I solve this problem in a way to quickly and consistently get great but not necessarily perfect schedules that are easy to understand for everyone?” At the end of the day, real people need to use and understand our schedules, so our approach cannot be purely academic.

Q: I see how calculating the perfectly optimal schedule can be too time consuming and hard to interpret, but as of now, how do you define what is a “good enough” schedule?

MD: I think it’s very important that when you build an AI-powered schedule, that you have some level of interpretability, because humans are suspicious of schedules that they haven’t built themselves. We strive to give our clients enough context and reporting as to why certain things were done so we can get full buy-in from the humans that will be implementing the schedule.

Only after we achieve that do we focus on the optimality of a schedule. We do still want something far better than a human can create, and in much less time. That’s where AI and OR shine because these tools can handle much more complexity than a human.

Q: You mentioned that the algorithm iterates and gets better over time. Can you talk a little more about how the algorithm learns? How does Kinta approach building quality production schedules?

MD: We have a toolbox of techniques we use to generate schedules and we employ different strategies based on the size of the factory and the size of jobs. So we integrate constraint programming for some factories, while for others we’ll use complex heuristics and greedy search methods based on KPIs. As I mentioned earlier, each factory is unique, so each implementation and the heuristics we use are unique as well. 

For each factory, our algorithm learns how to create better schedules each time it schedules a job. For example, when the algorithm tries to place a job on the schedule and it fails, it’ll learn that the job cannot fit there. It registers why that is the case and it will try to schedule it in different spots accordingly. Additionally, it tracks KPIs for schedules and learns which decisions result in better KPIs as it swaps jobs around and tinkers at the schedule.

We don't have a silver bullet that can magically schedule all factories, but I’d say that like our algorithm, we’re continually learning. And as we come across more different factories we’ll get more strategies to add to our toolbox of techniques. 

Q: This has been incredibly informative so far. Here’s the final question that we’ve all been waiting to ask: what sets Kinta apart from other solutions?

MD: As I mentioned, at Kinta, we care deeply about actionable and executable solutions and we use every approach to generate schedules from simple heuristics to OR to AI. Our engineering team has diverse academic backgrounds so we approach the problem from many perspectives. We use absolutely everything in our arsenal and it helps us create bespoke solutions for our many different types of clients. 

The result is AI that is capable of considering inventory, labor, tools, machine, and demand all while generating a unique schedule to a given factory’s KPIs. Most solutions, especially a tool like Excel, won’t give you that out of the box. Our KPIs are also infinitely customizable - it can be minimizing delays, conserving energy or maximizing profits, whatever that factory needs. 

The user’s experience really is our number one priority and at the end of the day we always want to come back to our core principles of interpretability, flexibility and actionable and executable schedules.

Q: Thank you so much for your time and thoughtful answers. I’ve definitely learned a lot.

MD: Thanks for having me! I’d be happy to answer any questions that readers might have once we publish this.