So welcome to module three summary for Course Two. Jimmy, what's happening in the story? >> Wow, Zhuge Liang has finally agreed to join Liu Bei's Camp after he visited him three times and also, Liu Bei has formed an alliance with Sun Quan. Nothing much seems to have happened, but actually our heroes are getting ready to strike hard on Cao Cao. >> So technically this is about scheduling, which is one of the most important applications of discrete optimization. The scheduling problems occur everywhere. And we start with just basic scheduling, where we really just have tasks and resources. And these actually are very easy problems to solve. We can solve huge basic scheduling problems and there are specific algorithms, which will do that very efficiently. >> If we also add unary resources into such problems, we get the disjunctive scheduling problem. We also talk about how we can make use of the disjunctive global constraint into helping us in solving such problems more efficiently. >> Yes, and once we add this unary resources then we've taken our problems from easy to NP hard. So these are disjunctive resource problems can be very, very complicated to solve. >> Unary resources could only be accessed by a task at any one time, but we usually have multiple copies of such unary resources. And then we also, and then we will have a cumulative scheduling problem. >> So the cumulative scheduling problem, where you have multiple identical resources, is very common. So where we need say, three people to some tasks, or five people to do another task. And we only have a set number of people and in order to do that, we're going to introduce the cumulative global constraint. Which is exactly going to capture this kind of sub part of the problem. >> Then we have all the tools we need to attack a real world project scheduling problem. >> Absolutely. The cumulative will give us what we need for the last part, so after this, we also looked at sequence dependent scheduling. So very commonly in some kind of scheduling problems, we have something where one task's duration will depend on the previous task or the next task. And so, in order to be able to model those problems. We need to be able to keep track for each task, what's the next task? >> Okay. Everything we talk about in this module, they are applications. >> So, yes, we've looked at job (shop) scheduling. It's probably the most studied scheduling problem, which is a disjunctive scheduling problem. And then, we've also seen resource constraint project scheduling. Which is basically scheduling a real project with cumulative and unary resources. And then finally, we've seen sequence dependent scheduling. Where we have more complicated interactions between individual tasks. >> Okay. Let's talk about workshop. >> Yep. >> We knew that Zhuge Liang was visited three times by Liu Bei. Let's see how we could help Liu Bei to visit Zhuge Liang the last time. Essentially, Liu Bei would like to visit all of Zhuge Liang associates before hand to get advice from them. And also to ask them to help persuade Zhuge Liang to join his camp and in this problem, we're going to see all kinds of precedent constraints. And then, some of the associates cannot be visited on weekends and this is going to be a very complex problem. >> Yes and then, that'll set us up for the assignment, which is another scheduling problem. This time, Liu Bei's future wife is asking him to schedule her potential suitors. But actually the aim of this scheduling is, for her to hide as many kung-fu lessons from her mother as she can. So this is going to be a complex scheduling problem with a very, actually difficult objective to optimize because it's quite a complex one. >> Okay, we hope to see you after the next module.