Uploaded by zeynpkose

Midterm-Preparation-Notes--Fall-2020 +

advertisement
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.
Download