 So, today's class we will take a look at and continue to look at formulating non-linear relationships specifically how to build these table functions. So, yesterday that can capture various non-linear relationships using table functions, what do you mean by that? So, let us see formulating non-linear relations. We will go in to look specifically at table function. So, what you want to do is many functions are of the form y equal to f of x, right some function of x, y is some particular function of x, but we do not know the exact analytical expression for this function of x. So, we specify the function as a lookup table is what you want to do is just say that y is got as an effect of x on y which you are just specifying as a table, just specify as a table. So, this effect we want to specify as a table. So, what we mean by table is that we want to give these pairs of x 1 comma y 1, x 2 comma y 2 and so on where x is your input and y is your output. We want to specify the set of values and then use it in a simulation. So, instead of specifying the function directly we are specifying some combination you know when this is x is the effect of x on y and we allow the simulation to either interpolate between these values between x 1 and x 2 or extrapolate if it is beyond less than x 1 or greater than x 2 because x 1 is your independent variable this is your dependent variable. So, this is what you are going to do, but when we specify this you know given some arbitrary description if you want to figure out how to go about doing that. So, we will learn it through an example today, but there are certain steps that we can follow to come up with possible shapes for this kind of lookup functions that should be increasing function decreasing there are only so many possible shapes we can give the function. So, we will kind of follow a pretty laid out procedure which will help guide our thinking process using which we can come up with various possible shapes for the function. So, I will just kind of read out the guideline. So, first step let us start working with normalized input and output. In yesterday's example that we saw if you have done an units check you would have find an units error because you have got an input of density and output was some dimensionless fraction. So, it becomes very difficult when suppose that we want to apply it for some other scenario then it becomes quite difficult. So, one way to overcome that is we start normalizing the input to the output. So, normalize the function. So, input to the dimensional ratio of the input to the reference function. So, what we mean by that? So, steps to build a table function or rather guidelines, steps or guidelines first one is we want to do is normalize. So, instead of y equal to f of x let us use. So, instead of y equal to f of x let us use y equal to y star into function of x divided by x star. So, let me rewrite it here properly y equal to y star function of x divided by x star. So, so in this case we are assuming your y star and your x star are known constants and they serve as our reference values. Typically we may assume that you know when when the value is x star then the output should be y star. Suppose we know reference value in that case then we normalize it saying that ok. Now, let us take a once we normalize this is the actual value of x, it will be the reference value of x. So, we are normalizing it and output we then multiply with the reference value of y to get the actual value of y. So, this is the typical way we are going to normalize. So, the input to the function. So, now the input to the function became a dimensionless ratio and output of the function will also be a dimensionless quantity right. So, step 2 before we is while we are constructing normalization we are we are going to need to have something called as reference points right. So, for example, we may say that you know when x is equal to x star it implies that y must be equal to y star. Pretty much what you are doing is you are saying that this curve passes through 1 comma 1 that is this curve which is a dimensionless ratio which is going to pass through 1 comma 1 only then we will get x if when x is equal to x star y equal to y star. So, this could be reference points does 0 comma 0 occur when x is 0 does y become 0 or y become 1. Some reference values will be known whatever the function that we are taking what we are talking about right, but remember this function let me see the function takes dimensionless ratio of input to input reference and output is dimensionless effect of modifying your output reference y star input reference is x star input to x star. So, the function actually takes dimensional ratio of the input x star to the ratio of the input and output is dimensional effect of modifying your y star. So, the input and out output is your kind of scaling right. So, to get the true value on y we need to multiply from the with the reference value of y star and before we give input to the function we are taking the ratio between the x and x star where x star is the reference for the input ok. This is an example for the reference points. Once you have the reference points, suppose we have a few points then we can think of what we call as reference, reference policies. Suppose for example, here we say reference point is when x is x star then y equal to y star this implies that the curve passes through 1 comma 1. When you think of a reference policy then I can think of you know is there a meaning for say a 45 degree line that is for a 1 percentage change in your x value then from the reference this y also change correspondingly same 1 percent. So, then it is a 45 degree line. If it changes higher then I am going to have a line with higher slope or if it change lower then I am going to have a line with a lower slope right. So, those kind of policies is what we are going to think about. This is just an example it could be a 45 degree line or 45 degree line may not make any sense. So, this is how the next we will start thinking about reference policies. Then we will use these reference policies to identify possible infeasible regions when x is very low can y take a say value 1. If that is never going to occur then we know ok these regions are actually infeasible to us. So, we can use it to narrow down the possible shapes for the function or possible values the function can take. So, along the reference policy we also need to think of what happens at the extremes when x takes a really low value say like minus infinity then is there a value that y should take or is it when x is goes less than 0 what happens at 0 what happens at plus infinity what happens. So, that whatever values that x is going to change because we do not know in actual simulation what is going to happen we do not know, but the output of y should make some sense right. So, then we think of these extreme conditions. So, though we are starting here there is a hidden step which I did not mention and normalize. While we normalize first we have to identify our y star and x star and start identifying what are those ratios first right. So, that will be like hidden steps here then we normalize we will learn it through an example. So, let us go back to our slides. Step one is to normalize, step two is identify reference points for values of function determined by definition. Identify some reference policy these are lines or curves corresponding to standard or extreme policies that you aware of can use this to identify infeasible regions. Then we consider extreme conditions from reality, from theory, from stated reasonable expectations yeah correct yeah. If it is a based on some assumption that assumption has to be based on something right why are you assuming that is it something reasonable to assume, is it supported as some theory or something then we go with it. The next guideline specify domain of the independent variable, they told x is independent variable. So, what is its domain? It is going to take value between 0 to 1 minus m v 2 plus infinity or 0 to infinity what is the range? So, that we can operate within that what happens if it goes outside it is clearer. Once you do that then we start to identify possible shapes of the function within the feasible region. Then we specify values for our best estimate of function, use increments small enough to draw the shapes, get the desired smoothness. Then based on that run your model and test behaviors for the various formulations which are couple of different curves we can try to simulate and see whether that behavior changes drastically based on that actual curve values. Many times you are interested in the actual behavior of system may not be particularly interested in the last final value. So, to see the patterns of behavior it may be very it may not be that sensitive to the shape of the curve, check of input moves outside the range etcetera. So, that we can identify errors, and test sensitive results to possible variations in the shapes as well as the values of the function. These are general guidelines to build a table function there is too much to remember everything right away. So, let us learn it through an example where let us take up some simple scenario and try to go ahead on how we can think it through and build some possible shapes. Let us consider an example. Let us consider firm operating make to order system, orders are accumulating backlog until they are completed and shipped. So, as soon as order comes they go into backlog and then product production is determined by the backlog and target delivery delay. So, as soon as order comes is put in backlogs then people take a look at the backlog and they say ok, based on target delivery delay and the backlog they are going to determine the production rate. Shipments are determined by size of the production rate by limited by firms production capacity ok. It is quite obvious to see that there is only one stock backlog. So, as soon as order comes it goes into backlog right. As long as you see the backlog exists then people start to work and based on the target delivery, target delivery delay they decide to work faster or slower and once they complete the work they have to ship it. The shipment is determined by size of production rate, but limited by the firm's production capacity. So, desired production rate can be defined as backlog divided by target delivery delay. Now, but shipment is a function of production, desired production function of capacity that part is not clear. So, one other thing you might have all encountered is you must all have visited McDonald's, KFC, Pizza Hut right. They are all make to order right. They do not before make things beforehand. That is exactly what is happening. The firm order comes as soon as it is order is there then they start producing. I am sure they have some benchmarks when you order this it should take so much time. So, based on that they start to work, but their pace is limited by their capacity right and then they are going to and as soon as order is delivered then you take it and leave right. It is pretty much a system that we are trying to model here, but now what is the shipment rate that is going to be governed by their production speed or by their based on desired production. Desired production based on customer orders right. During Russia there is a lot of orders, but also it is also defined by their capacity. There is only some three people working you know how long it is going to take, because if there is only one person is going to work then that is the time it is going to take correct. So, it is so that is a kind of real life analogy you can think of and if you have been looking at system there even the order is very visible. They usually type it in the computer and it gets visible in the room in the back end or they put kind of postage kind of things also they put tags they put and that is when they actually see that is literally the backlog that you are seeing there. And for each activity they usually have benchmarks saying what is going to be target delay you know once order comes it is a fast food joint. So, they have to ensure it is fast. So, maybe instead of this example it says a week as a time unit, but it could be a 5 minutes or 1 hour or whatever it is pizza is 40 minutes. So, suppose to reach you in 40 minutes right. So, it is defined by the capacity as well as the desired production. So, that is what we are going to do. And we are going to follow the same steps that we saw in defining this. First let us draw this example. So, let us get a stock flow visualization of the model. So, let us go with a very familiar with this. So, let us stick to that orders come in shipments produce a backlog based on the backlog we have already told that we have something called as desired production. Desired production is also influenced by target delivery delay. Then we have the normal capacity. There is a reason I am calling it normal capacity. This is the kind of model we have right now. Let us call this desired production target delivery delay D star. So, delivery delay D star. Normal capacity as I think you can just give it a C. If you want to measure the actual delivery delay, then how will we do it? How will I compute it? Target delivery delay is input given. What is the target I mean the delivery delay? How will I measure it? What is it? Yeah. So, in this how will I compute it analytically or simulate it? Yeah, backlog divided by shipments should give you a delivery delay right. So, we can just keep it as delivery delay DD, backlog divided by shipments. Here desired production divided by target delivery delay. So, let us put a minus there. This is the setting that we have. What are backlog? You can just call it B for backlogs. So, in this say suppose the backlog you are measuring in terms of say say bottles or something. So, if that is a unit of measure, then desired production is bottles per week is what they are producing. So, then what should be unit for capacity? How do you measure capacity? Same units as production. Capacity also can be bottles per week assuming bottles or widgets or SKUs or burgers or pizzas whatever boxes or cartons. Whatever unit you are taking for backlog, the same units is backlog by say cartons per time. Capacity also will be say cartons per time, the same units gets followed. Now, we want to do the first step of normalizing it right. So, some of these equations are known, but we do not know is if you know for a fixed capacity and fixed production values, then we can compare it, but that is going to keep changing that is the production is going to keep changing right. Now, what do you want to normalize? This is what we want to normalize. So, we have shipments is a function of desired production, shipments is a function of capacity. This is what we want to normalize. Let us see how we go about trying to do this normalization. Let us go in the reverse. So, let us define a new variable called as say capacity utilization ok. Let us define, let us define a variable called as capacity utilization. When you have fuel come across capacity utilization, so what you are saying is how much of the capacity has actually been utilized. So, once you define that capacity utilization, then your shipment should nothing but a product of the normal capacity multiplied by the utilization of the capacity correct. So, much of the capacity I am using, I am using 80 percent of the capacity. That means, the shipment should be 80 percent of the capacity into the actual capacity right. So, that should give me your shipments. So, based on that, let us define shipments as normal capacity multiplied by capacity utilization. So, this normal capacity we already know, capacity utilization is what we do not know, but you already got something which is a dimensionless effect of the outcome which is reference value y star. So, this is your outcome of your function f of whatever it is right. So, this is outcome of the function which is the dimensional effect of the outcome on the reference value right. So, this is the dimensionless output. Now, let us see the input side. On the side of the input, we have desired production ok. At any point, we will be able to compare the desired production versus the capacity on hand correct. Suppose, I have orders for 1000 and I have capacity to do 1000, then I am say yeah I am good or if you have capacity to do 1000 and my desired production is only 500, then I know I am overcapacitated right. I have enough bandwidth to complete that order correct. So, that means, what we are doing? We are actually comparing the desired production with the normal capacity ok. And it is since both are the same units, suppose you take a ratio of it, then we know as compared to that normal capacity, what is my desired production? Is it above that or below that or how far much below, how far much above, I can make the comparison correct. And then relate that with my capacity utilization. So, now let us define ratio of desired production divided by normal, normal capacity. So, this ratio you can come up with some name. So, why both are different? Suppose, desired production is lower than my normal capacity, then we say ok they must be able to produce the order in the as per the target delivery delay. If the desired production is much larger than the capacity, then we do not know they will produce as per capacity, but it never typically works like that. And it is because as we get busy and busy things what can you say your marginal improvement comes down right. So, this is the total activity that you need to do within the given time based on this capacity. So, let us just call this ratio by a new term called as schedule pressure. Now, finally, the normalized function or the table function is going to be defined table function will be defined for this term that capacity utilization is a function of schedule pressure, it is nothing, but a function of desired production by capacity. And we look at it when we want the final shipment just nothing, but normal capacity into capacity utilization which is capacity into function of desired production by its capacity is what we are going to build. So, the table function we are going to build is what should be the capacity utilization as schedule pressure changes over the normal capacity. When schedule pressure is very low to the capacity, then what is what should be value of utilization? If schedule pressure is comparable to capacity, then what is the utilization? If schedule pressure is higher than capacity, then what should be the utilization? So, those are things that we are going to think about. So, now, both input and output are now became dimensionless. Now, let us modify our SDV model to represent this. Desired production, delivery delay, when we are defining a new variable called as schedule pressure, it is a function of that as well as the capacity, then we have a capacity utilization. So, lack of space I am just writing it like this, plus minus plus plus plus C of C, let us call it SP, yeah, then we already have our delivery delay also, ok. So, this is how our model is going to look. Only changes are here, schedule pressure and CU has been added and causal links are made so that we can get all the functions that we just wrote in the previous slide. So, step 2 is to identify the reference points, right. So, that is our step 2. Now, there are a couple of ways to define these reference points and policies.