Date post: | 26-Apr-2018 |
Category: |
Documents |
Upload: | truongduong |
View: | 220 times |
Download: | 2 times |
Introduction to Operations Research(Week 4: Linear Programming:
More on Simplex and Post-Optimality)
Jose Rui Figueira
Instituto Superior TecnicoUniversidade de Lisboa
March 7-8, 2016
This slides are currently available for personal use of IST LEGI FIOstudents in an unpublished draft form only. The slides cannot becopied, reproduced, or distributed in any form.
Part
The Termination of the Simplex
Method and Other Aspects
Contents
1. Introduction
2. Non-degenerate LPs: Theoretical results
3. Degeneracy and cycling
4. Avoiding degeneracy: The perturbation method
5. Avoiding cycling
6. The computational behavior of the simplex method
7. Numerical stability of the simplex method
8. Conclusions
1. Introduction
Brief Introduction
I The simplex algorithm tries to increase the value of a non-basic variable xk.When there is no degeneracy, then xk will be positive after pivoting, whichleads to the improvement of the objective value function and the algorithmterminates after a finite number of iterations.
I When in presence of degeneracy, cycling may occurs. In such a situation,there is a sequence of pivots that starts from some basic feasible solution andends exactly at the same basic feasible solution. Simplex algorithm cyclesforever.
I How to prevent degeneracy? How to prevent cycling?
I What is the computational behavior of the simplex algorithm in theworst-case?
I What about the stability of the simplex algorithm?
J.R. Figueira (IST) FIO March 7-8, 2016 5 / 50
2. Non-degenerate LPs: Theoretical results
Comments and Remarks
I If we are sure that all the basic feasible solutions are not degenerate thefollowing result holds.
If all basic feasible solutions are non-degenerate, then the simplex algorithmterminates (after performing a finite number of iterations), regardless of thechoice of the candidate entering variables (and the corresponding leavingvariables).
Theorem 1 (Termination of the simplex algorithm).
I The issue is that in practice we do not know wether an LP is free ofdegenerate basic feasible solutions.
I Degeneracy should be avoided since it may lead to cycling.
I Let us illustrate these two concepts.
J.R. Figueira (IST) FIO March 7-8, 2016 6 / 50
3. Degeneracy and cycling
An Example by Klee-Minty
max z(x) = 3/4x1 − 20x2 + 1/2x3 + 6x4 + 3
subject to: 1/4x1 − 8x2 − x3 + 9x4 6 0
1/2x1 − 12x2 − 1/2x3 + 3x4 6 0
x3 6 1
x1, x2, x3, x4 > 0
After introducing the slack variables, x5, x6, and x7, the following sequence of basesoccurs: (Please verify by making the necessary pivoting operations in the simplexTabeaus.)
1. x>B := (x5, x6, x7) := (0, 0, 1) and z = 3.
2. x>B := (x1, x6, x7) := (0, 0, 1) and z = 3.
3. x>B := (x1, x2, x7) := (0, 0, 1) and z = 3.
4. x>B := (x3, x2, x7) := (0, 0, 1) and z = 3.
5. x>B := (x3, x4, x7) := (0, 0, 1) and z = 3.
6. x>B := (x5, x4, x7) := (0, 0, 1) and z = 3.
7. x>B := (x5, x6, x7) := (0, 0, 1) and z = 3.
J.R. Figueira (IST) FIO March 7-8, 2016 7 / 50
4. Avoiding degeneracy: The perturbation method
Comments and Remarks
I Consider the following two problems, named P and Pε, respectively (ε is asmall enough positive value).
maxx∈Rn
{c>x : Ax = b, x ≥ 0
}(P)
maxx∈Rn
{c>x : Ax = bε, x ≥ 0
}(Pε)
I where the components of the perturbed RHS vector bε are the following
b1 + ε, b2 + ε2, . . . , bi + εi, . . . , bm + εm.
I The following result holds.
The simplex algorithm terminates for Pε. Moreover, if Pε is unbounded,then P is also unbounded; and, if Pε has an optimal solution, then thecorresponding basis is also optimal for P.
Theorem 2 (Termination of the simplex algorithm regained).
J.R. Figueira (IST) FIO March 7-8, 2016 8 / 50
5. Avoiding cycling
Comments and Remarks
I Good news: We do not really to have to deal with a concrete ε.
I Two important rules can be used to prevent cycling:
Lexicographic rule. Applied to the leaving variable (more details are needed).
Bland’s rule. Consider the strictly negative cj. The entering variable is the onecorresponding to the smallest index j. When in presence of ties for theselection of the leaving variable, chose the one with the smallest index i.
I The following result holds.
The simplex method terminates, if the Bland’s (lexicographic) rule is ap-plied when solving P.
Theorem 3 (Alternative termination result).
J.R. Figueira (IST) FIO March 7-8, 2016 9 / 50
6. The computational behavior of the simplex method
Comments and Remarks
I Each solution provided by the simplex algorithm is a basic feasible solutionwith m basic variables (the number of functional constraints).
I The number of ways of selecting m basic variables out of n is equal ton!/(n−m)!m!, which is an upper bound on the number of basic feasiblesolutions.
I How many vertices can be visited by the simplex algorithm in the worst case?
I Klee and Minty (1972) created an LP with n variables and n constraints and2n vertices.
I The standard simplex algorithm passes through each one of the extremepoints before reaching the optimal solution (the exponential running timebehavior of simplex algorithm for general LPs).
I The example was built by distorting a cube (hypercube).
J.R. Figueira (IST) FIO March 7-8, 2016 10 / 50
6. The computational behavior of the simplex method
The Klee-Minty Example
max z(x) = 2n−1x1 + 2n−2x2 + 2n−3x3 + . . . + 2xn−1 + xn
subject to: x1 6 54x1 + x2 6 258x1 + 4x2 + x3 6 125...
.
.
....
2nx1 + 2n−1x2 + 2n−2x3 + . . . + 4xn−1 + xn 6 5n
x1, x2, x3, . . . xn−1, xn > 0
J.R. Figueira (IST) FIO March 7-8, 2016 11 / 50
7. Numerical stability of the simplex method
Comments and Remarks
I For implementation purposes, the revised simplex method is preferable (tothe full tableau method) due to its smaller memory requirements and smalleraverage running time.
I The revised simplex method is a variant of the simplex method in thematrix-vector form.
I We know the importance of the B−1 in this method.
I Every time this matrix is updated there is a risk of introducing roundoff ortruncation errors, which accumulate and might eventually lead to highlyinaccurate results.
I There are several ways of dealing with this problem, but they are out of thecontents of this course.
J.R. Figueira (IST) FIO March 7-8, 2016 12 / 50
8. Conclusions
The future of simplex algorithms
Simplex for large size LPs.
I Improved revised versions of the simplex.
I Use the dual revised simplex.
I Exploiting parallelism.
J.R. Figueira (IST) FIO March 7-8, 2016 13 / 50
Part
Finding an Initial Basic
Feasible Solution
Contents
1. Introduction
2. A small example
3. The problem in the equality form
4. Introducing artificial variables
5. Solving the Big−M model by the simplex method
6. The two-phases application of the simplex method
7. Conclusions
1. Introduction
Brief Introduction
I For a large amount of LPs, we do not dispose of a “good” starting basicfeasible solution.
I It occurs in particular whenever the LP contains a positive RHS andconstraints of the types > and =.
I There are two well-known techniques to find a feasible basic solutions whenthe polyhedron is not empty. But, if it is the case these techniques are ableto provide such an information.
I These two techniques are: the successive application of the simplex methodin two-phases and solving the big−M model.
I IOR Tutorial:http://www.mhhe.com/engcs/industrial/hillier/iortutorial/install/instruction.html
I References: [Bazaraa et al., 1990, Goldfarb and Todd, 1989,Hillier and Lieberman, 2005, Taha, 2010].
J.R. Figueira (IST) FIO March 7-8, 2016 16 / 50
2. A small example
An Example: Equality-Inequality Form
min z(x1, x2) = x1 + 1/4x2
subject to: 3x1 + x2 = 34x1 + 3x2 > 6
x1 + 2x2 6 4x1, x2 > 0
I It is easy to see that we cannot start with the standard solution x1 = x2 = 0.
I This solution is not feasible.
I The first and the second constraints are not standard (as in the previousLectures).
I How to deal with the problem?
J.R. Figueira (IST) FIO March 7-8, 2016 17 / 50
2. A small example
Graphical Method
x1
x2
0 1 2 3 40
1
2
3
4
D
C
A B
J.R. Figueira (IST) FIO March 7-8, 2016 18 / 50
3. The problem in the equality form
An Example: Equality Form
Consider the problem in an equality form. The variable considered to transform aninequality of the type > into an equation is called a surplus variable. Slack andsurplus variables have a substantive meaning.
min z(x1, x2, x3, x4) = x1 + 1/4x2 − 0x3 + 0x4
subject to: 3x1 + x2 = 34x1 + 3x2 − x3 = 6
x1 + 2x2 + x4 = 4x1, x2, x3, x4 > 0
Let us try to construct an initial basis:? = 3 − 3x1 − x2
? = 6 − 4x1 − 3x2 + x3
x4 = 4 − x1 − 2x2
It is not possible!J.R. Figueira (IST) FIO March 7-8, 2016 19 / 50
4. Introducing artificial variables
Artificial Variables
Consider only the constraints and add two artificial variables:
3x1 + x2 + a1 = 34x1 + 3x2 − x3 + a2 = 6x1 + 2x2 + x4 = 4x1, x2, a1, x3, a2, x4 > 0
Now, construct an initial basis:a1 = 3 − 3x1 − x2
a2 = 6 − 4x1 − 3x2 + x3
x4 = 4 − x1 − 2x2
Artificial variables have no meaning. They should be removed from the basis assoon as possible. If they still in the basis at the optimum, then the problem hasno feasible solutions.
J.R. Figueira (IST) FIO March 7-8, 2016 20 / 50
5. Solving the Big−M model by the simplex method
Comments and Remarks
I The main objective is to remove artificial variables from the basis.
I When it is possible, we get a first basic feasible solution.
I If the artificial variables cannot be removed, the problem has no feasiblesolutions.
I In Big−M method we should form the following objective function (M is alarge enough positive value).
min z(x) = x1 + 1/4x2 + Ma1 − 0x3 + Ma2 + 0x4.
I The next step is just to apply simplex method as we know it.
I If the problem is a maximization problem, the coefficients in the objectivefunction are as follows −Ma1,...
I When an artificial variable leaves the basis we do not need to update itscolumn, unless we need to perform some kind of post-optimality analysis.
I Next slide contains the resolution of the example.
J.R. Figueira (IST) FIO March 7-8, 2016 21 / 50
5. Solving the Big−M model by the simplex method
cj 1 1/4 M 0 M 0Basis xj x1 x2 a1 x3 a2 x4 bi Ratio
M a1
�� ��3 1 1 0 0 0 3 (3/3 = 1)⇒M a2 4 3 0 −1 1 0 6 (6/4 = 1.5)0 x4 1 2 0 0 0 1 4 (4/1 = 4)
t = 0 zj 7M 4M M −M M 0A cj (7M− 1) ⇑ (4M− 1/4) 0 −M 0 0 9M
1 x1 1 1/3 0 0 0 1 (1 : 1/3 = 3)
M a2 0�� ��5/3 −1 1 0 2 (2 : 5/3 = 6/5)⇒
0 x4 0 5/3 0 0 1 3 (3 : 5/3 = 9/5)t = 1 zj 1 (1 + 5M)/3 −M M 0
B cj 0 (5M/3 + 1/12) ⇑ −M 0 0 1 + 2M
1 x1 1 0 1/5 0 3/5 (3/5 : 1/5 = 3)1/4 x2 0 1 −3/5 0 6/5 · · · · · · · · ·
0 x4 0 0�� ��1 1 1 (1/1 = 1)⇒
t = 2 zj 1 1/4 1/20 0C cj 0 0 1/20 ⇑ 0 9/10
1 x1 1 0 0 −1/5 2/51/4 x2 0 1 0 3/5 9/5
0 x3 0 0 1 1 1t = 3 zj 1 1/4 0 −1/20
D cj 0 0 0 −1/20 17/20
J.R. Figueira (IST) FIO March 7-8, 2016 22 / 50
6. The two-phases application of the simplex method
Comments and Remarks
I The objective is the same: find a starting feasible basis, if possible.
I This should be done in two phases.
I The first phase consist of minimizing the following objective function (it isalways a minimization).
min a1 + a2.
I If the optimal value of this objective function is zero, it means we found astarting basic feasible solutions and we can go to the second phase.Otherwise, the problem has no feasible solutions.
I In Phase II, optimize the original objective function from the optimal solutionof Phase I.
min z(x) = x1 + 1/4x2.
I When the original problem is a maximization problem, the second phase isalso a maximization problem.
I Let us consider the same example.
J.R. Figueira (IST) FIO March 7-8, 2016 23 / 50
6. The two-phases application of the simplex method
Phase I: (Consider the first objective function)
cj 0 0 1 0 1 0Basis xj x1 x2 a1 x3 a2 x4 bi Ratio
1 a1
�� ��3 1 1 0 0 0 3 (3/3 = 1)⇒1 a2 4 3 0 −1 1 0 6 (6/4 = 1.5)0 x4 1 2 0 0 0 1 4 (4/1 = 4)
t = 0 zj 7 4 1 −1 1 0A cj 7 ⇑ 4 0 −1 0 0 9
0 x1 1 1/3 0 0 0 1 (1 : 1/3 = 3)
1 a2 0�� ��5/3 −1 1 0 2 (2 : 5/3 = 6/5)⇒
0 x4 0 5/3 0 0 1 3 (3 : 5/3 = 9/5)t = 1 zj 1 5/3 −1 1 0
B cj 0 5/3 ⇑ −1 0 0 2
0 x1 1 0 1/5 0 3/50 x2 0 1 −3/5 0 6/50 x4 0 0 1 1 1
t = 2 zj 0 0 0 0C cj 0 0 0 0 0
At the end the objective function has value zero. Go to Phase II.
J.R. Figueira (IST) FIO March 7-8, 2016 24 / 50
6. The two-phases application of the simplex method
Phase II: (Consider the last tableau of Phase I)
cj ? ? ? ?Basis xj x1 x2 x3 x4 bi Ratio
? x1 1 0 1/5 0 3/5? x2 0 1 −3/5 0 6/5? x4 0 0 1 1 1
zj ? ? ? ?cj ? ? ? ? ?
cj 1 1/4 0 0Basis xj x1 x2 x3 x4 bi Ratio
1 x1 1 0 1/5 0 3/51/4 x2 0 1 −3/5 0 6/5
0 x4 0 0�� ��1 1 1
t = 0 zj 1 1/4 1/20 0C cj 0 0 1/20 0 9/10
1 x1 1 0 0 −1/5 2/51/4 x2 0 1 0 3/5 9/5
0 x3 0 0 1 1 1t = 1 zj 1 1/4 0 −1/20
D cj 0 0 0 −1/20 17/20
J.R. Figueira (IST) FIO March 7-8, 2016 25 / 50
7. Conclusions
Some conclusions
I These two techniques are used when there is no an obvious starting solution.
I You should apply the two techniques to a problem with no feasible solutions(see PB Classes).
I Unless post-optimality analysis will be required, you can discard the columnsof artificial variables once they leave the basis.
I Apply the two techniques to minimization as well as to maximizationproblems.
J.R. Figueira (IST) FIO March 7-8, 2016 26 / 50
Part
Post-Optimality and Economic
Interpretation
Contents
1. Introduction
2. A general product-mix allocation problem
3. Characterizing the resources
4. Sensitivity analysis: Graphical approach
5. Sensitivity analysis: Tabular computations
6. Sensitivity analysis: Matrix-vector computations
7. Conclusions
1. Introduction
Brief Introduction
I The economic interpretation of the data and the results is extremelyimportant.
I Some post-optimality analysis can help in doing it.
I Post-optimality includes: adding/removing variables or/and constraints,discrete changes in data, parametric techniques, robustness analysis, stabilityanalysis, sensitivity analysis,...
I We shall deal with sensitivity analysis for each cj and bi, consideredseparately.
I In such a kind of analysis we are interested in identifying the range thatallows to maintain the structure of the optimal solution (i.e, basic andnon-basic variables will not change).
J.R. Figueira (IST) FIO March 7-8, 2016 29 / 50
2. A general product-mix allocation problem
A Classical Maximization Problem
The CorkMaxPro Company is the largest Portuguese producer andexporter of cork made products. Over the last five years, the com-pany has gradually expanded the geography and the volume of itsproduction activities, which consist of producing a product mix (i.e., de-signing and making the product lines or assortments that the companyoffers to its clients), here generically denoted by P1, . . ., Pj, . . ., and Pn.
The company’s plants possess several resources, R1, . . ., Ri, . . ., andRm, to make the different assortments. The quantity available of eachresource is, b1, . . ., bi, . . ., and bm, respectively. The allocation of resourcesto the production is as follows: allocate aij units of the resource Ri to makeone unit of the assortment Pj.
The market absorbs all the production and the revenue per unit ofproduct sold is cj Euros. The Company’s CEO needs to know the next yearproduction plan (activity levels) in such a way that the resource constraintsshould be taken into account and the overall revenue to be earned from theselling of the assortments in the market should be maximized.
Example 2 (A Classical Product Mix Resource Allocation Problem).
J.R. Figueira (IST) FIO March 7-8, 2016 30 / 50
2. A general product-mix allocation problem
Relevant Information from the Problem Description
I Sets:
P = {P1, . . . , Pj, . . . , Pn} is the set of products.
R = {R1, . . . , Ri, . . . , Rm} is the set of resources.
I Indices:
j ∈ {1, . . . , n} is the set of the product indices.
i ∈ {1, . . . , m} is the set of the resources indices.
I Parameters (Data):
bi is the available amount of resource Ri, i = 1, . . . , m.
aij is the amount of resource Ri, i = 1, . . . , m, allocated to the
production of one unit of product Pj, j = 1, . . . , n.
cj is the per unit revenue earned when Pj is sold, j = 1, . . . , n.
I Decision Variables:
xj is the amount of product Pj, j = 1, . . . , n, to be produced.
I . . .J.R. Figueira (IST) FIO March 7-8, 2016 31 / 50
2. A general product-mix allocation problem
The Linear Programming (LP) Model
maximize z(x) = c1x1 + . . . + cjxj + . . . + cnxn
subject to: a11x1 + . . . + a1jxj + . . . + a1nxn 6 b1...
......
ai1x1 + . . . + aijxj + . . . + ainxn 6 bi...
......
am1x1 + . . . + amjxj + . . . + amnxn 6 bm
x1, . . . xj, . . . xn > 0
J.R. Figueira (IST) FIO March 7-8, 2016 32 / 50
3. Characterizing the resources
Some definitions (1)
From a technical point of view, in linear programming, a (non-negative)slack variable, say xn+i (or si instead), is a variable that is added to a (lowerthan or equal) inequality type constraint, ∑n
j=1 aijxj 6 bi, to transform it in
an equality type constraint:
ai1x1 + . . . + aijxj + . . . + ainxn + si = bi, si > 0
From an economic point of view, si represents theunused amount of resource availability, bi.
Definition 1 (Slack Variables).
J.R. Figueira (IST) FIO March 7-8, 2016 33 / 50
3. Characterizing the resources
Some definitions (2)
A constraint, i, is said biding when
ai1x1 + . . . + aijxj + . . . + ainxn = bi.
In other words, when the whole amount of resource Ri, bi, was allocatedto the production of Pj, for j = 1, . . . , n. In this situation si = 0.
When si > 0 the constraint is called non-biding. In such a case:
ai1x1 + . . . + aijxj + . . . + ainxn < bi,
and some amount of resource remains unused.
Definition 2 (Biding Constraints).
J.R. Figueira (IST) FIO March 7-8, 2016 34 / 50
3. Characterizing the resources
Some definitions (3)
A resource Ri is called scarce if it is associated with a biding constraint,i.e., when si = 0. Otherwise, it is called abundant (si > 0).
Definition 3 (Scarce and Abundant Resources).
This classification of resources is very important for an economical interpretationof the problem.
J.R. Figueira (IST) FIO March 7-8, 2016 35 / 50
3. Characterizing the resources
Simplex method: Graphical Illustration
x1
x2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 150
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
201
1
2
23
3
4 4
5
5
6 6A
B C
D
J.R. Figueira (IST) FIO March 7-8, 2016 36 / 50
3. Characterizing the resources
Comments and Remarks
I Constraint 1 is biding: resource R1 is scarce (Silicone).
I Constraint 2 is biding: resource R2 is scarce (Hight-Tech machine).
I Constraint 3 is non-biding: resource R3 is abundant (Robot 1).
I Constraint 4 is non-biding: resource R4 is abundant (Robot 2).
I In what follow, these information are very important.
J.R. Figueira (IST) FIO March 7-8, 2016 37 / 50
4. Sensitivity analysis: Graphical approach
Relevant Questions: Sensitivity Analysis to the RHS
I When performing the sensitivity analysis of the availability of Resource 1, wedo not care about the other data (ceteris paribus condition):
bmin1 6 b1 6 bmax
1 .
I As for a scarce resource, the most relevant question is to know how much wecan increase its availability (this leads always to improve the value of theobjective function).
I As for an abundant resource, the most relevant question is to know howmuch we can decrease its availability (this does not change the value ofobjective function).
I For instance, during crises periods, it is also important to how much we candecrease the availability of a scarce resource (this leads always to adegradation of the value of the objective function).
I Increase the availability of an abundant resource is not relevant (it can beincreased till infinite).
J.R. Figueira (IST) FIO March 7-8, 2016 38 / 50
4. Sensitivity analysis: Graphical approach
Graphical Illustration: Upper Bound of b1
x1
x2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 150
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
201
1
2
23
3
4 4
5
5
6 6
D H
J.R. Figueira (IST) FIO March 7-8, 2016 39 / 50
4. Sensitivity analysis: Graphical approach
Graphical Illustration: Lower bound of b1
x1
x2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 150
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
201
1
2
23
3
4 4
5
5
6 6
D
C
J.R. Figueira (IST) FIO March 7-8, 2016 40 / 50
4. Sensitivity analysis: Graphical approach
Comments and Remarks
I Compute bmax1 . Observe the graphical representation.
- When increasing the resource availability we can reach point H = (8, 3.5).
- At this point the availability is 19.5.
- Thus, bmax1 = 19.5.
I At point H the value of the objective function is 38.
- When increasing the availability of R1 from 18 to 19.5, the objective functionincreases from 37 to 38.
- The unitary impact is thus (38− 37)/(19.5− 18) = 2/3.
I Compute bmin1 .
- The availability of R1 can be decreased till point C = (3, 6).
- Thus, bmin1 = 12.
I Conclusion: 12 6 b1 6 19.5.
J.R. Figueira (IST) FIO March 7-8, 2016 41 / 50
4. Sensitivity analysis: Graphical approach
Upper bound of c1 Lower bound of c2
x1
x2
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 150
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
201
1
2
23
3
4 4
5
5
6 6
D
J.R. Figueira (IST) FIO March 7-8, 2016 42 / 50
4. Sensitivity analysis: Graphical approach
Objective function coefficients
I In the sensitivity analysis of cj, we should stay at point D.
I If we rotate clockwise the objective function we can reach the cmax1 .
I It reaches its maximum value when the slope of the objective function is thesame as the slope of the Constraint 1.
I It suffices to perform such a slope analysis.
I From the objective function:
cmax1 x1 + 4x2 = K ⇔ x2 = K/4− (cmax
1 /4)x1
I From the Equation 1:
2x1 + x2 = 18 ⇔ x2 = 18− 2x1
I Conclusion:−cmax
1 /4 = −2 ⇔ cmax1 = 8.
J.R. Figueira (IST) FIO March 7-8, 2016 43 / 50
5. Sensitivity analysis: Tabular computations
cj 3 4 0 0 0 0Basis xj x1 x2 x3 x4 x5 x6 bi Ratio
0 x3 2 1 1 0 0 0 18 + ∆10 x4 1 2 0 1 0 0 150 x5 1 0 0 0 1 0 80 x6 0
�� ��1 0 0 0 1 6 ⇒t = 0 zj 0 0 0 0 0 0
A zj − cj −3 −4 ⇑ 0 0 0 0 0
0 x3 2 0 1 0 0 −1 12 + ∆1
0 x4
�� ��1 0 0 1 0 −2 3 ⇒0 x5 1 0 0 0 1 0 84 x2 0 1 0 0 0 1 6
t = 1 zj 0 4 0 0 0 4B zj − cj −3 ⇑ 0 0 0 0 4 24
0 x3 0 0 1 −2 0�� ��3 6 + ∆1 ⇒
3 x1 1 0 0 1 0 −2 30 x5 0 0 0 −1 1 2 54 x2 0 1 0 0 0 1 6
t = 2 zj 3 4 0 3 0 −2C zj − cj 0 0 0 3 0 −2 ⇑ 33
J.R. Figueira (IST) FIO March 7-8, 2016 44 / 50
5. Sensitivity analysis: Tabular computations
cj 3 4 0 0 0 0Basis xj x1 x2 x3 x4 x5 x6 bi Ratio
0 x6 0 0 1/3 −2/3 0 1 2 + 1/3∆13 x1 1 0 2/3 −1/3 0 0 7 + 2/3∆10 x5 0 0 −2/3 1/3 1 0 1− 2/3∆14 x2 0 1 −1/3 2/3 0 0 4− 1/3∆1
t = 3 zj 3 4 2/3 5/3 0 0D zj − cj 0 0 2/3 5/3 0 0 37 + 2/3∆1
I Construct the system: 2 + 1/3∆1 > 0 (∆1 > −6)7 + 2/3∆1 > 0 (∆1 > −21/2)1− 2/3∆1 > 0 (∆1 6 3/2)4− 1/3∆1 > 0 (∆1 6 12)
I Thus, −6 6 ∆1 6 1.5
I Consequently,12 6 b1 6 19.5
J.R. Figueira (IST) FIO March 7-8, 2016 45 / 50
5. Sensitivity analysis: Tabular computations
cj (3 + δ1) 4 0 0 0 0Basis xj x1 x2 x3 x4 x5 x6 bi Ratio
0 x6 0 0 1/3 −2/3 0 1 2(3 + δ1) x1 1 0 2/3 −1/3 0 0 7
0 x5 0 0 −2/3 1/3 1 0 14 x2 0 1 −1/3 2/3 0 0 4
t = 3 zj (3 + δ1) 4 (2/3 + 2/3δ1) (5/3− 1/3δ1) 0 0D zj − cj 0 0 (2/3 + 2/3δ1) (5/3− 1/3δ1) 0 0 37 + 7δ1
I Construct the system: {2/3 + 2/3δ1 > 0 (δ1 > −1)5/3− 1/3δ1 > 0 (δ1 6 5)
I Thus, −1 6 δ1 6 5
I Consequently,2 6 c1 6 8
J.R. Figueira (IST) FIO March 7-8, 2016 46 / 50
6. Sensitivity analysis: Matrix-vector computations
Matrix computations
I As for b1 we have to guarantee that B−1b∆1 ≥ 0.1/3 −2/3 0 12/3 −1/3 0 0−2/3 1/3 1 0−1/3 2/3 0 0
18 + ∆11586
≥
0000
⇔
2 + 1/3∆17 + 2/3∆11− 2/3∆14− 1/3∆1
≥
0000
I As for the coefficients of the objective function there are two cases:
Our x1 is basic: (cδ1B )>B−1N− (cδ1
B )> ≥ 0.
When xj is non-basic we have: zj − (cj + δj) > 0
J.R. Figueira (IST) FIO March 7-8, 2016 47 / 50
7. Conclusions
Results
I Resource R1: 12 6 b1 6 19.5.
I Resource R2: 12 6 b2 6 18.
I Resource R3: 7 6 b3 6 +∞.
I Resource R4: 4 6 b4 6 +∞.
I Coefficient of x1: 2 6 c1 6 8.
I Coefficient of x2: 1.5 6 c2 6 6.
J.R. Figueira (IST) FIO March 7-8, 2016 48 / 50
Part
Bibliography
References
Bazaraa, M., Jarvis, J., and Sherali, H. (1990).
Linear Programming and Network Flows.John Wiley & Sons, New York, USA, second edition.
Goldfarb, D. and Todd, M. J. (1989).
Linear programming.In Nemhauser, G. L., Rinnoy Kan, A. H. G., and Todd, M. J., editors, Optimization, volume 1 of Handbooks in Operations Research andManagement Science, pages 141–170. North Holland, Amsterdam, The Netherlands.
Hillier, F. and Lieberman, G. (2005).
Introduction to Operations Research.The McGraw-Hill Companies, Inc., New York, USA, eighth edition.
Taha, H. (2010).
Operations Research: An Introduction.Prentice-Hall, Upper Saddle River, New Jersey, USA, 9th edition.