IE 202: Introduction to Modeling and Optimization - Fall 2020 Dear IE202 Students, The following is a ”must know” list prior to your midterm. It is intended to guide you while you prepare for the exam. (I get the question ”how should I study for this course?” a lot) You should view this list of items only as minimum requirements. It also consists of typical mistakes that I have witnessed through the years. Please avoid them as they will be harshly penalized. Have fun and good luck!!! 1. Modeling • Ingredients of a model, objective function, decision variables, parameters, and constraints. • Difference between continuous and integer variables, difference between linear and integer programming models • Difference between parameters and decision variables. The parameters are given values, you should never use them in your constraint set (force them to be nonnegative etc., you or your model have no control over them) • All the models that you provide should be in linear form (whether we specifically ask or not) • Never multiply decision variables. Binary decision variables can only take one of two values, 0 or 1, but which value is still to be decided. So you can’t multiply binary variables with other variables • Never use strict inequalities like <, > in your models, these are not linear • Always present your model in the form we presented them in class. First define your parameters (if any), then your decision variables, then the model in the order of objective function, constraints and then the variable domain restrictions • Know your linearizations, how to linearize min max, absolute values etc. • Make sure you use your indexing properly, if you use say index i in the summation, you should not have this constraint for every i (as i is already tied in the summation) • If you know how to model the examples we discussed in class as well as the study set questions, you should be capable of doing the modeling question I will provide in the exam. • Know how to define additional binary variables to take care of logical constraints • When you use binary variables, try both values of the variable to ensure that the constraint you provide indeed does the job • If the variables correspond to discrete items like books, cars, people etc. the obvious choice would be the use of integer variables • When you write ”or” constraints, you combine them into 2 contstraints and ensure that one holds through the use of binary variables. When you do this make sure only one of the constraints is tight and the other one is redundant, again, try the two different values of the binary variable to make sure • You should never have stand alone variables in the objective function, their values can be made anything you like so most probably you forgot to tie them up in the constraints • Just because you define your decision variables properly does not mean your model is correct, you should ensure the proper relationship through the constraints, e.g. if xij corresponds to say the number of shipments from factory i to warehouse j, and warehouses are established in limited number, you should guarantee that whenever xij takes positive value, the location variable corresponding to warehouse j takes value 1 through the constraints • One of the common mistakes in the midterm was to define decision variables properly but not relate them with the constraints. If you have a binary variable which indicates whether a machine is in use or not, you need to enforce it to value 1 whenever any job is assigned to this machine. If you did not receive full credit on the modeling question in Midterm, you probably lost points with a comment ”relations?” Please check the solutions for the midterm to understand this comment properly 2. Graphical Solution • Draw the feasible region properly, for each constraint make sure you indicate the arrow pointing towards the feasible region of this constraint • Label your axes properly • Know your isoprofit (isocost) lines, improving directions • For any feasible point on the exterior, know how to characterize its ”cone of exit”. It is the cone of directions that will take you away from the feasible region at this point. • If you want to show that a corner point is uniquely optimal, you should show that the improving direction is in the ”interior” of the cone of exit in this point, i.e., if you move along the improving direction from this point, you exit the feasible region. For unique optimality, you need the improving direction to be one of the interior directions in this cone, and not one of the extreme directions, otherwise you might have alternative optima • Given a feasible region, make sure you can come up with proper objective coefficients that will make the required statements correct, i.e., a specific corner point is uniquely optimal, there exist alternate optima, the LP is unbounded etc. • There is a difference between the feasible region being unbounded and the LP being unbounded • When you solve a given LP using the graphical method or the simplex method, as an answer provide the optimal solution (or the set of optimal solutions) and the optimal solution value • If you have alternative optimal solutions, the optimal set will be the convex combination of the two corner optimal solutions, know how to write this set properly 3. Convexity • Know the definitions of a convex set, convex combination, extreme point • Given a set you should be able to decide whether it is convex or not. If you have to argue that it is not convex, you need to provide 2 points in the set for which some convex combination is not in the set. To prove convexity, you need to show that an arbitrary convex combination of two arbitrary points in the set belongs to the set • Know fundamental thm of LP: Given an LP with a feasible region with nonnegativity constraints, if the LP has a feasible solution, there exists a feasible extreme point; if the LP has an optimal solution, there exists an optimal extreme point • Any LP either has exactly 1 solution or infinitely many solutions since the convex combination of any two solutions is also in the feasible region, i.e., the feasible region of an LP is convex 4. Simplex Method • The fundamental theorem states that we can limit our search for the optimal solution within the list of extreme points. However, extreme points are geometric concepts, we need a way to algebraically characterize them and hence we started talking about basic solutions • There exists a one to one correspondence between the extreme points of a feasible region and the basic feasible solutions of the corresponding LP • Basic solutions are only defined for a system of equations (not inequalities) and we assumed that our LPs will first be brought to standard form. • Know canonical max, canonical min and standard form LPs. Given any LP, it is easy to convert to any one of these forms without loss of generality • Know the definition of a basic solution, a basic feasible solution. For the system of equations Ax = b we assume that A which is m × n has full row rank, i.e. , rank(A) = m; otherwise we can’t talk about basic solutions • In a basic solution vector x, variables are partitioned into 2, basic and nonbasic. Basic variables correspond to columns of A which are linearly independent. So once the nonbasic variables are set equal to zero, there is a unique solution B −1 b for the basic variables. • Know the definition of a basis matrix B, e.g., it is simply the columns from the A matrix corresponding to the basic variables in the basic solution vector • A basic vector in which each one of the basic variables has a nonnegative value is a basic feasible solution • Simplex method is a general method for solving any LP in standard form satisfying the rank requirements • Simplex method has to start with a basic feasible solution at hand. It moves from one bfs to a neighboring one which has a better value • Know the definition of neighboring or adjacent basic feasible solutions • In tableau format we have the system of equations represented in an equivalent form; this form helps us to easily decide which nonbasic variable is advantageous and should be exchanged for a basic variable when moving to an adjacent solution • For tableau format (canonical), at every simplex iteration, we need the objective function represented only in terms of the nonbasic variables and each of the basic variables again represented in terms of the nonbasic variables • In tableau format, all the columns under basic variables in constraints are identity columns; all the row 0 coefficients of basic variables are equal to 0 • The current value of the basic variables is depicted in the RHS cell of row 0; it is cB B −1 b • Know why we do the ratio test • Know the definition of a degenerate bfs; why could degeneracy be problematic for the simplex method; what is being done when degeneracy is an issue • The coefficient of the entering variable tells us how much the objective will improve per increment in this entering (non-basic) variable. The result of the ratio test tells us how much the entering variable can be incremented without hurting the nonnnegativity of the current basic variables. Since only one nonbasic variable will change from zero, we don’t have to worry about the remaining ones. If there is degeneracy, then the ratio test might result in zero value. If this is the case, it corresponds to a degenerate pivot, and after the elementary row operations the tableau you get corresponds to exactly the same bfs and the same RHS value (one zero component exchanges role with another zero component). Your basis (set of basic columns) and ultimately partition of basic and nonbasic variables do change even in a degenerate pivot step though • The simplex method in short wants to move from one bfs to a neighboring one at every iteration; to accomplish this it moves from one basis (set of basic variables) to a neighboring one with only one basic column replaced. However, two neighboring basis matrices might correspond to the same bfs under degeneracy, so under degeneracy some void simplex iterations might take place • After an entering variable and a leaving variable are chosen, the tableau has to be converted to the canonical form corresponding to the current set of basic variables. For this a sequence of elementary row operations are conducted • The result of the ratio test could be zero, a positive value or no finite bound. If there is no finite bound, the tableau corresponds to an unbounded LP. Know how to characterize from such a tableau feasible solutions with very large (say for max problem) objective functions values • Know when to decide whether there exist alternative optimal solutions or not; for the potential of alternate optima, you should have reached the final tableau with a nonbasic variable having a zero row zero value. However, just this does not guarantee the existence of alternate optima. The corresponding ratio test result if this variable enters should be not equal to zero. Otherwise, after pivoting, you won’t get a different bfs • If the LP has all ≤ constraints, then adding a slack variable to each constraint, and taking each one of these slack variables as the starting variables would constitute a ready made starting bfs • If not all constraints are ≤, know how to use big-M or 2-phase to find an initial starting (artificial) bfs and apply simplex method to solve such LPs • In either method, remember to cancel the coefficients of the starting basic variables in row zero • If the big-M results in unboundedness or optimality, the conclusion for the original problem is the same as long as there are no positive valued artificial variables in the final tableau; if such variables are present we conclude infeasibility • Phase I objective is always the same independent of the min or max objective of the original LP. It is simply the summation of artificial variables. As such, the result of Phase I will always be optimality; either with zero objective value (in which case original LP is feasible and you move to the second phase) or positive value in which original is infeasible and there is no need to go to second phase • At the end of Phase I, you might have an artificial basic variable in the final tableau with value equal to zero; before moving to the second phase, do a void simplex iteration and exchange this artificial variable with a legitimate original variable (one such example was present in one of the study sets) • In the second phase, remember to use the original objective function and remember to cancel out the coefficients of current basic variables in row zero • Know the formulas of the simplex tableau; If your current basis is B, original constraints are premultiplied with B −1 and after this multiplication you premultiply with cB and add them to the original objective row. This corresponds to converting the tableau to canonical form, with identity columns under basic variables and zero Row 0 coefficients • If you have B −1 and original standard form data, you should be able to construct the tableau corresponding to basis B using these formulas. • Consider a tableau corresponding to some basis B, i.e., some intermediate stage during simplex. If you know what the starting basic variables were for simplex (or any set of columns corresponding to the identity matrix in the beginning of simplex), under these variables you can read off B −1 directly; similarly in Row zero you should be able to read off the dual vector cB B −1 under such columns. Note that if the starting variables did not have zero Row 0 coefficients initially, you might see their original coefficients along with cB B −1 values as well, e.g., such as big-M values 5. Duality • Know how to take the dual of an arbitrary LP • Know WDT, Corollary1, Corollary 2 and SDT. You should be able to state them for any primal-dual pair as well as prove them just like we did in class for any primal-dual pair • Given the optimal tableau, you should be able to read off B −1 and the dual problem solution w = cB B −1 • To show that a vector solves LP optimally, you first need to show that it is feasible, then it has to be at least as good as any other feasible solution • WDT Cor 1 states that if two feasible primal dual solutions have the same obj values then they are optimal, not the other way round. SDT states that if one has an optimal solution so will the other; Please remember these statements whenever you have to use them to show things • Any result we have shown in class can be referred to (without proof) to answer questions, i.e., convincing that a statement is True • Complementary slackness theorem is the most powerful of all. Make sure you know how to use the duality theorems properly. All of them have the conclusion true for a feasible primal dual pair, e.g., if a primal dual pair of vectors which are feasible respectively for P and D satisfy the CS conditions, only then they are optimal for P and D. There could very well be x and w vectors satisfying CS conditions but not being feasible. The theorem states nothing for such vectors. Strong duality and weak duality theorems also have the feasibility requirement. Please refer to midterm questions for common mistakes along these lines. Just because a bfs corresponding to B exists, it does not mean that cB B −1 will be dual feasible • If you are asked to solve a problem without simplex (without any provided solution vectors), typically you need to find the optimal solution either for the primal or for the dual with the graphical method. Either the primal or the dual should have two variables then. • CS theorem can be used in a variety of ways. We know that for optimality, we should have 2 feasible solutions satisfying the conditions. Contrarily, if we have two feasible solutions satisfying the CS conditions, we can declare them as optimal. So if you know for example the optimal solution for one problem, to solve the other optimally, you should construct a solution using CS conditions and show that this solution is feasible. To prove optimality of a feasible solution, again you should construct a complementary solution (satisfying CS conditions) and show that it is also feasible. If there exists no complementary solution, then this feasible solution cannot be optimal. Note that for some LPs, the CS theorem will not say much. Consider an LP (say primal) which is unbounded. For any feasible solution in this LP, we should not be able to construct a complementary feasible dual solution, otherwise the current primal solution could be declared optimal. • During simplex (say primal simplex), say with a current basis B, the vectors −1 B b x= 0 and w = cB B −1 satisfy CS conditions at every simplex iteration. However, only the x vector is feasible at every iteration. Once the w becomes feasible for the dual problem, we stop with optimality. Conversely, with dual-simplex, w is feasible for every iteration and x is not, i.e., some component in this x vector is negative. At the end of dual simplex iterations, we gain primal feasibility as well. 6. GENERAL • Please review all the resources in Piazza as well as the Q&A discussions as they have invaluable preparation material for the midterm. • In order to show that a statement is true, make sure that you argue convincingly. You are free to refer to any of the results we have shown in class without duplicating their proofs. However, you should use them properly. • In order to show that a statement is false, provide a small example where the statement fails.