So now we have successfully made one iteration or made one time of improvement. So now we are at (4, 0, 2, 0). Now let's try to do this again. We now want to move to our next basis, okay? So for these thing, what we want to do again is that we know currently x1 and x3 they're basic variables, x2 and x4 they are non basic. So one of x2 and x4 should enter, and we want to see which one should we enter. If you look at these numbers, you may probably have one thought, saying that if we increase x2, that's going to somehow increase z. And if we increase x4, the impacts are so obvious. So that's try to enter x2. Well, if we enter x2, and the keep x4 remains zero, that's what's going to happen. The second row would tell us that our x2 may be increased to at most 8. Why is that? Because when x2 increases, your x1 would decrease, okay? And when x2 is increased by 2, your x1 would decrease by 1. And x1 currently is 4. So that means our x2 may be increased at most to 8, okay? That's an information we get from the second constraint. But then in the first constraint, well, there comes some problem. When we increase x2, okay? Both x1 and x3 would be changed or would be affected somehow. So if that's the case, how may we know how x1 and x2 would change? x1 and x2 they are both positive now. So we have no way to deal with that when we only look at constraint 1. So in that case, we need to consider constraint 1 and considering 2 at the same time. Also according to constraint 2 what we have? When x2 goes up by 1, and x4 remains 0, we know x1 would decrease by 1/2, okay? According to constraint 2. Suppose we know that when x2 is increased by 1, X1 would be decreased by 1/2. Now we are able to see what's going to happen on X3. If according to constraint 1, when x2 goes up by 1, and x1 goes down by 1/2, x3 should go down by 3/2. Why is that? Because that's the only way for us to maintain the equality, right? So if we know that when we do that extra, x3 would decrease by 3/2. We also know that x3 currently is 2, then we know x2 can be increased by at most 4/3. So 4/3 is one upper bound, and 8 is another upper bound. So we know if we increase x2, x2 would be increased to 4/3, okay? So that somehow again allows us to do some changes. Previously, the basic variables are x1 and x3. And we found that we want to enter x2, okay? So x2 would enter. And once we do that the first variable that would hit 0 is x3. So we would replace x3 by x2. And our new basis would become (x1,x2), okay? That's why here you see that the two positive values are for x1 and x2, okay? So we may also take a look at the impact on z. So the z value would become 32/2, okay? Why do we know that? Because all you need to do is to plug in your solution back to your zeros constraint. And once you do that, you immediately would see that your z would be 32/2. And we also see that, well, it's not having to do z2 +4/3 multiplied by 3. Because of what? 4/3 is the amount you may increase x2. -3 is the quantity or the coefficient for x2. But you may see that when you increase x2, you don't really just get some benefit from here, because you also change x1 at the same time. So the impact on z actually also need to take the consideration of x1 Into the calculation. So overall, I hope you also feel the process to be very tedious and very time consuming. When you increase x2, you not only need to look at constraint 2. When you want to look at constraint 1, constraint 2 again need to be considered. And also for the impact on z, you also need to take x1 into consideration. So all of these somehow is not a good property, is not a good behavior. So we need to have some Some more advanced ways to dealing with all of this, okay? So the thing we just did has two flaws, as we mentioned. For constraints, when we increase the nonbasic variable x2 it effects both x1 and x3. That makes us uneasy to discuss what's the impact on x3, okay? x3 does not appear in constraint 2. So x1 corresponds to x2 is easy, but that also needs to be considered For us to see how x3 responds to x2, so that's not a good idea. For the objective function the same thing. When we increase x2, it has impact on x1, and x1 is in constraint 0. The impact of z must be calculated by combining the impacts from x1 and x2. So now we want to make the process easier to be done. That's required, because for these two by two problem, maybe we may still use this judgment, that judgment, according to this,according to that. But if we have thousands of variable and thousands of constraints, we really need a better way to do this, so that eventually we may get an efficient representation of these algorithms. So how can we do that? Let's take a look at the idea.