Next, let's talk about Problem Description. Now we know what's the real issue, some scheduling problems. Somehow, we need to get into more details. We need to define our problems because there must be all kinds of weird rules, weird objectives that workers or the managers in the company are talking about. They may have 10 different objectives. Somehow, they want their customers to be more satisfied. They want their customers to be happy, they want their workers to be happy, they want their workers to go home as early as possible, while they want their workers to have equally side jobs. You may also see that many of the objectives are actually conflicting. As a modular, as an operations researcher, we need to go into the details, we need to talk to those managers, and then hopefully we're able to reach some kind of consensus about some issues that should be taken into the model, some issues should not. There is no way for a model to take care of all the issues in practice. We take care of those important issues, so that's an example. Somehow, we need to formally describe the problem, precisely describe the problem. What exactly is the decision we want to make? Basically, it's the following; for each CSR, we should tell him or her which days to have days off. There may be 30 days in the next month. There are weekends that of course, you don't need to work, but besides weekends it may still be possible for any one of us to take some days off, so we need to take that into consideration. Also, for each workday of a CSR, so that means the CSR is assigned o work on that day. We should tell her or him when to start work, when to leave the office, and when to take a break. Regarding this, the company must already have some kind of policies. In practice, they have shifts. Shifts are some kind of scheduled times. That defines when to start, when to leave, and what's the break time. For example, maybe the company is using this kind of shifts, so if you are assigned to shift one, it's going to ask you to start to work, to check-in at 8:00 AM, and then you might leave at 5:00 PM, and you have a one hour break between 12:00 and 13:00. Then maybe you start to work a little bit later because some people need to be there to answer phone calls during that particular half-hour, and then you may have a different lunch break. Of course, for two persons, even if they start and leave at the same time as long as their lunch break are at different times, they are considered as different shifts. One very typical way for formulating this kind of personnel scheduling problem is to first list a set of shifts, and then the decision we're going to make is to assign one shift to each CSR for each day. Of course, holidays are exceptions. For those workdays, for each CSR we need to tell him or her what to do, and what to do has been assigned to shifts. We assign one shift to each CSR. There should be a special shift which is called shift zero. For example, that means a day off. This may be a visualization of shifts. For each shift, for example, shift zero you don't have any work hours. In that case, you are going to be having a day off. Then for shift one, you first work for three hours, and then have a break, and then have five additional hours. You may have the first four hours, and then one hour of break and another four hours and so on. You probably already see some interesting things. Using these kinds of combinations, you are able to create many different kinds of shifts. In this particular example, we are listing 16 different shifts. But in some companies, you may have hundreds of passable shifts. That's possible. If that's the case, you know that your integer program will have a lot of decision variables. That may be too complicated in some sense. If that's the case then you need to cut down the complexity of your problem. You need to cut down the complexity of your model, you need to maybe, for example, among those passable shifts in your model you may only consider the most important subsets. It's always the case that we see some kind of 20-80 rules. Twenty-eighty percent of workers are assigned to only 20 percent of all passable shifts in average in each day. That's quite possible. Most workers work in some regular ways, only in some special situations, some special workers work in some special ways. You don't need to consider all those special things, just focus on major things. That's typically something that we need to do for modeling. By the way, if someone is working that is called work hours, and the rest of the hours, leave hours. Our objective is to minimize the total shortage. Among all those passable objectives, somehow you need to choose one. The company told us that, well, what do we really want utmost is to minimize the total shortage, so what's that? The number of CSRs needed in a time period is known. Let's say this is A. For example, on a particular day, suppose in the morning between 9:00 and 10:00, need two CSRs. After we assign shifts to two CSRs, we may also calculate the number of CSRs being on duty, that's called B. In that case, let's talk about this example. Let's assume I have seven CSRs, and I ask them to take shifts in this way. CSR 1, to not need to come to work for today. CSRs 2 and 3, they start to work at 9:00, for the others, they start to work at later times, and so on. If that's the case, then we're going to see two persons that work in a particular time slot, but it actually needs three. In that case, the amount of shortage would be the maximum of A minus B, the number you need minus the number you have. The maximum of A minus B is zero, so that means if you have more persons than you need, the shortage is zero instead of a negative number. In this case, what we are talking about is that we are able to calculate the number of workers we have. Here we have two, here we have three, here we have five, here we only have three because two of them are having a lunch break. For each time slot, for each period, you know the number of workers on duty. You also know the number of demands you need. You may see that in some periods we have a shortage, and then in some periods, we have no shortage. Even if the number of workers is greater than the number of demands, your shortage is zero instead of a negative number. That's our objective.