Hi, everyone this is Ling-Chieh Kung, and thank you for still being here. This is the end of this course and this is the last week. In this week, we're going to give you a brief summary of what we have done in this course and give you some descriptions about future directions. Okay, lets start. First let's do some summary and the discussions about what we have done in this course, operations research, mathematical modeling, linear integer, whatever programming, and some discussions. Very quickly we may use this two-by-two table to categorize all the things we have mentioned in this course. Pretty much we are talking about programming, mathematical programming, right? At the beginning we first talked about linear programming in week two. In week two, in that situation, all the objective functions and the constraints, they're linear functions, and all the variables are fractional or continuous. Then in week three we add integer variables into the formulation. The formulations, the functional forms are still linear, but with integer variables, we are able to do a lot of different things, right? Remember, we may then select a task to do, we may then arrange who to do something in a specific time slot. We may do if else, we may do either or we may do setup cost and so on, and so on, thanks to integer programming. Then week four, we go back to continuous variables, but now we allow constraints in objective functions to be non-linear, so in that case, we may do a lot of things. We may deal with functions like this, like this, like this, like this, any kind of nonlinear functions are included in the field or in the subject of nonlinear programming. Lastly, if we further consider integer variables in nonlinear formulation, then there can be non-linear integer programming. This is still a field that is under-development. Today if you present any nonlinear integer programming to any scholar in the field, they consider it as difficult, only some, just a few special cases, people know how to solve them. In general people don't know how to effectively solve nonlinear integer programs. That's why in this course we focus on the other three, where people already have enough knowledge about them. Here we list typical applications. For linear programming the most important focus of course is resource allocation. You have limited amount of woods, you have limited amount of labor time, and you allocate them to different kinds of products; you can produce desk, you can produce chair and so on. You allocate your limited resources to particular activities. We mentioned about production planning in multiple periods, you may decide when to produce, what's the amount to produce, you may decide whether you want to produce in advance and then spend some inventory cost to carry inventory to the future to fulfill future demands, that can also be helped with linear programming. In integer programming, we mentioned the several different examples, for example machine scheduling. You have multiple machines, and you have multiple jobs, you assign jobs to machines and ask them about when to start to do this job, what's the order of doing all these jobs and so on and so on. Because you need to assign a job to a machine, you need to do this matching, that's a binary thing, and that's integer programming. We also mentioned about facility location, right? You will have several different locations to build your facility, let's say you have ten locations, you're going to choose some of them to build your facility in each location, either you build it or not, that's why we say it's an integer programming problem. It's integer decision, you cannot build just three floors with no ceiling, it doesn't work, so that's integer programming. We mentioned about nonlinear programming, for example, product pricing. Because almost always when you are doing the pricing problem, you control your price in an optimal way, the price should not be too low, if the price is too low the margin is too small, you are not going to make money. If your price is too high, then the demand would be low; you are not going to make money. Almost always, the price affect your profit in these non-monotone way. Your price is too low, the margin is too low. If your price is too high, demands is too low. You try to balance between these two things. We also introduced about inventory problems. For inventory problems, typically the same thing. You don't want to have too low inventory level. Then your understocking cost would be too high. Customers show up and they cannot get anything. You don't want to store a lot because then you have overstocking cost. There are a lot of things that cannot be sold, you'll just waste your money. For non-linear integer programs, we did not give you specific examples, but may be you may imagine how to integrate integer programs into non-linear formulations. There are all kinds of these examples in practice or in literature, or in academia. In academia, many professors are working on this. If you are also interested in this, maybe you'll want to take some further courses. We mentioned about mathematical programming to support business decision-making. We mentioned about defining a problem, formulate a model, solve the model, so that eventually get suggestion from models. We talked about formulation for a lot of time. We talked about when model generate some solutions, what may we do? Something like that. That's really something we want to do and that's really difficult. Because in practice, if you really want to apply operations research, you need to select a good issue. You need to have enough data and your data collection may take some time. You need to have right persons to do this. You need to be able to interpret the result of your model, and eventually you need to connect the result with business practice. That's why OR is really difficult. You not just need to know the theory, know the model. You also need to know your business. Otherwise, it does not work. All these are very important. We all agree. We mentioned all of this in this particular course. There are something else. Lets see what's that. Let's take a look at this story. In the book published in 2017, the following story was mentioned. It mentions about a practice called Clopening that was reported in the United States. What's this? This means close and opening. This happens if a company assigns one of it's employee to work late at night to close a store and then gets up very early to prepare for opening in the next day. Imagine Starbucks, McDonald's, Walmart or whatever. For example, Starbucks, if you working a Starbucks, you have your schedule. Sometimes you work in the morning part, sometimes you work in the afternoon part, something like that. The clopening somehow means you'll not just work in the evening part, you are assigned to be the last person to leave your store. You check everything, check electricity, check the refrigerators, make sure everything is fine, and then you close your store, lock it and then go home, that's very late. Unfortunately, the company also asked you to be the first person to get into your store to open the store, to do the cleaning, to do all the preparations at the beginning of the next day. That means today you go home 11:00 PM, tomorrow you will come to your office 6:00 AM, something like that. That would be a very tough time for you and obviously worker hates it. Ideally, if I am assigned to be the last person to leave my store tomorrow, I should have an afternoons shift or evening shift, something like that. But it turns out that many company is doing something like this. Not just Starbucks, McDonald's, Walmart, and so on, they all have this kind of policies. Well, workers hate i t. If we are thinking about the situation of workers, we also feel that's too tough. So this policy was reported and the discussed. People say, hey, Starbucks, you should not do this blah, blah, blah. In 2014, these companies, they were reported and they say, ''Oh, it's okay. We're going to adjust our scheduling policies and we promise to add a constraint into our models to eliminate clopening.'' When we see a sentence like this, pretty much we know what happens. If you are running a company like McDonald's, Starbucks, Walmart. If you're scale is like this, you have so many thousands of people that you'll need to assign their schedules. You are not going to do this by hands right? You're going to do this with a computer, with a model, with a scheduling algorithm, or with Operations Research. You have your module, you have your computer system. You input your objectives, you input the constraints, your scheduling policies, and then this computer program will generate a schedule for you to do some adjustments and then to execute. If you say, I want to minimize the total cost, something like that, then this algorithm is going to try to find the best way to save your money and the clopening may turns out to be an apt one of the optimal policy. That's why these companies say, "Okay I'm not going to do that anymore. I'm going to add a constraint into our model." Saying that if a worker is the last one to leave for today, tomorrow, he cannot be the first one to enter. Then you already have some experience. You understand how these may be added into a constraint,that can be done. Unfortunately, one year later, there are some follow-up reports and then they reveal that Starbucks and some other companies, they still are not doing that. They are still asking their staffs, asking their employees to do clopening. Somehow, that's weird, and that this author says, "I considered scheduling software as one of the more appalling weapons of math destruction." The term he used is math destruction somehow means, he says, when we use an algorithm to solve this personnel scheduling problem, we would ignore something people need, but cannot be formulated into a mathematical model. If that's the case, then it's possible that the software, the algorithm is actually not helping us, is actually destroying us. This is the argument. Certainly, as an operations researcher, I agree and disagree. Operations Research, Big Data, mathematics, all these things are tools. It just depends on how people use it. If we are running a company and if we believe workers are important, workers health are important. If we believe clopening should not happen, actually, we have the right tool to prevent it, right? We can ask the model to prevent this, then the model will prevent it. If you are using a person to do the scheduling, if you asked him to prevent it, he may be unable to do that because his computing power is limited. But if you formulate a model saying that you cannot do clopening, then actually the model will just 100 percent follow you. Whether clopening can be avoided or not has nothing to do with the tool, has nothing to do with operations research. It really depends on whether the decision-maker, whether the model there, whether people want that to happen or not. Why clopening appeared in a solution proposed by personnel scheduling software? Because we allow it to happen. We programmer, we modeler, we allow it to happen, then it happens. If we disallow it, then it will not happen. Why people choose not to do it maybe is because they consider the organization profit, whatever is more important. That does not mean when you are applying operations research, you will also do that. You may have your own objective, you may have your own rule. If you want to prevent Big Data in Operations Research from being a [inaudible] destruction, you obviously have the chance, has the right to do it because the tool is just a tool. You are the person to use it. You may decide whether you put profit as the first priority or you put the CSR as the first priority or you'll put customer satisfaction as the first priority, or your worker satisfaction as the first priority or you somehow mixed them is all up to people. I need to emphasize, again, computers are useful, models are useful, Operations Research are useful but the most important thing is how we people use them. That's the most important thing.