Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Sensitivity Analysis of a Linear Program: Understanding LINDO Output, Monografías, Ensayos de Matemáticas

An interpretation of the LINDO output for a sensitivity analysis of a linear program. The farmer's problem of determining the optimal mix of corn, tankage, and alfalfa for pigs with given nutritional requirements at minimum cost is discussed. the meaning of the LP optimal found message, objective function value, variable value, reduced cost, and dual prices in the LINDO output.

Qué aprenderás

  • What is the objective function value in the LINDO output?
  • What is the meaning of the LP optimal found message in the LINDO output?
  • What are the reduced costs and dual prices in the LINDO output?

Tipo: Monografías, Ensayos

2019/2020

Subido el 08/11/2022

patokiller-revenge
patokiller-revenge 🇵🇪

11 documentos

1 / 6

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Sensitivity Analysis: A Sample LINDO Output
Consider the linear program:
Minimize z= 84x1+72x2+60x3
Subject to:
90x1+20x2+40x3200 (1)
30x1+80x2+60x3180 (2)
10x1+20x2+60x3150 (3)
x1,x2,x30 .
This problem comes from Exercise 3.6-4. Briefly, the scenario that gives rise to this formu-
lation is as follows. A farmer wishes to determine the quantities of the available types of
feed, which are corn, tankage, and alfalfa, that should be given to each pig. Since pigs will
eat any mix of these feed types, the objective is to determine which mix will meet a given
set of basic nutritional requirements at a minimum cost. The decision variables are:
x1= kilograms of corn,
x2= kilograms of tankage, and
x3= kilograms of alfalfa.
The basic nutritional ingredients are: carbohydrates, protein, and vitamins; and their re-
spective requirements are expressed in constraints (1)–(3) above. Finally, the costs per
kilogram of feed types, 84, 72, and 60, are in cents.
Now, launch LINDO and enter the problem as:
MIN 84 X1 + 72 X2 + 60 X3
ST
90 X1 + 20 X2 + 40 X3 > 200
30 X1 + 80 X2 + 60 X3 > 180
10 X1 + 20 X2 + 60 X3 > 150
END
where X1, X2, and X3 correspond, respectively, to x1,x2, and x3.
Next, click on the “Solve” menu and then select “Solve”. Click on “Yes” in the “Do Range
(Sensitivity) Analysis?” dialog box. The following report should now be displayed in the
“Reports Window”:
1
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Sensitivity Analysis of a Linear Program: Understanding LINDO Output y más Monografías, Ensayos en PDF de Matemáticas solo en Docsity!

Sensitivity Analysis: A Sample LINDO Output

Consider the linear program:

Minimize z = 84 x 1 +72x 2 +60x 3 Subject to: 90 x 1 +20x 2 +40x 3 ≥ 200 (1) 30 x 1 +80x 2 +60x 3 ≥ 180 (2) 10 x 1 +20x 2 +60x 3 ≥ 150 (3) x 1 , x 2 , x 3 ≥ 0.

This problem comes from Exercise 3.6-4. Briefly, the scenario that gives rise to this formu- lation is as follows. A farmer wishes to determine the quantities of the available types of feed, which are corn, tankage, and alfalfa, that should be given to each pig. Since pigs will eat any mix of these feed types, the objective is to determine which mix will meet a given set of basic nutritional requirements at a minimum cost. The decision variables are:

x 1 = kilograms of corn,

x 2 = kilograms of tankage, and

x 3 = kilograms of alfalfa.

The basic nutritional ingredients are: carbohydrates, protein, and vitamins; and their re- spective requirements are expressed in constraints (1)–(3) above. Finally, the costs per kilogram of feed types, 84, 72, and 60, are in cents.

Now, launch LINDO and enter the problem as:

MIN 84 X1 + 72 X2 + 60 X

ST

90 X1 + 20 X2 + 40 X3 > 200

30 X1 + 80 X2 + 60 X3 > 180

10 X1 + 20 X2 + 60 X3 > 150

END

where X1, X2, and X3 correspond, respectively, to x 1 , x 2 , and x 3.

Next, click on the “Solve” menu and then select “Solve”. Click on “Yes” in the “Do Range (Sensitivity) Analysis?” dialog box. The following report should now be displayed in the “Reports Window”:

LP OPTIMUM FOUND AT STEP 2

OBJECTIVE FUNCTION VALUE

VARIABLE VALUE REDUCED COST

X1 1.142857 0.

X2 0.000000 17.

X3 2.428571 0.

ROW SLACK OR SURPLUS DUAL PRICES

NO. ITERATIONS= 2

RANGES IN WHICH THE BASIS IS UNCHANGED:

OBJ COEFFICIENT RANGES

VARIABLE CURRENT ALLOWABLE ALLOWABLE

COEF INCREASE DECREASE

X1 84.000000 51.000000 37.

X2 72.000000 INFINITY 17.

X3 60.000000 11.272726 22.

RIGHTHAND SIDE RANGES

ROW CURRENT ALLOWABLE ALLOWABLE

RHS INCREASE DECREASE

4 150.000000 7.142857 INFINITY

We will interpret this output from top to bottom.

The Simplex algorithm went through two iterations to produce the optimal solution. The optimal objective-function value is 241.7143 (cents). LINDO automatically introduces slack or surplus variables to convert inequality constraints into equalities. The numbering of the rows starts with the number 1, as opposed to 0. Thus, ROW 1 refers to the objective- function row, ROW 2 refers to (functional) constraint (1), and so on; correspondingly, the slack or surplus variables will also be numbered this way. For this problem, three

as the amount by which the value of z will decrease if we increase the value of that nonbasic variable by 1 (while holding all other nonbasic variables at 0). The adjective “reduced” is used because such a cost is relative to a specific tableau, i.e., is from the viewpoint of the particular current basic feasible solution. The 1-unit increment in the nonbasic variable is nominal, in that we are only contemplating an increase, even when it is not feasible to do so. The reduced cost for a basic variable is defined as 0. Mechanically, this is because basic variables always have a coefficient of 0 in the objective-function row; and conceptually, this is because the basic variables are already “participating” in the current solution (and therefore we do not attempt to bring them into the basis).

Thus, the final tableau tells us that it is not optimal to include any tankage in the mix. Moreover, if we insist on having tankage in the mix, then the cost per kilogram of tankage is 17.714 cents. Like the concept of shadow price, this cost is relative to our current optimal solution, i.e., it has nothing to do with the “market” cost of tankage (which is at 72 cents per kilogram).

Next, we move on to the values listed in the DUAL PRICES column. The term “dual prices” is equivalent to shadow prices. (Every linear program has an associated dual linear program, and the concept of dual prices originates from the dual linear program. We will not discuss the dual of a linear program, as it is a more-advanced topic.) Recall (from parts (a) and (b) in the previous example) that the shadow price associated with the RHS constant of an original constraint (or with the availability of a resource) is defined as the amount by which the optimal objective-function value will improve if we increase the value of that constant by 1. (Again, this 1-unit increment is nominal.) In the current problem, the original functional constraints are of the “≥” type. For such a constraint, an increase in the RHS constant corresponds to a tightening of that constraint; hence, the increase will (typically) result in a degradation of the optimal objective-function value. Indeed, the reported dual prices for ROW 2 and ROW 3 are negative.

Thus, for every unit of increase in the nutritional requirement for carbohydrates, the cost of the optimal mix will increase by 0.771429 cents. Similarly, the corresponding increase in cost associated with protein is 0.485714. That the dual price for vitamins equals 0 is a consequence of the fact that the optimal mix already exceeds the vitamins requirement by a margin of 7.142857 (that is, the surplus variable SLK 4 equals 7.142857 in the optimal solution).

Interestingly, the reported dual prices are the negatives of the coefficients of SLK 2, SLK 3, and SLK 4 in ROW 1, in the final tableau. This is not a coincidence, and it can be attributed to the fact that the coefficients in the surplus-variable columns are negatives of those in the artificial-variable columns, which are introduced as part of Phase I of the solution process. We will not pour over the somewhat technical details.

Next, we examine the RANGES IN WHICH THE BASIS IS UNCHANGED. Here, THE BASIS refers to the optimal basis; and two sets of ranges are displayed, one for the original objective-function coefficients and one for the original RHS constants.

Consider the range for X2 first. Recall (from part (d) in the previous example) that if the objective-function coefficient of a variable is revised to a new value, then the revision is directly reflected in the coefficient of that variable in ROW 1 of the final tableau. In the example here, this means that if the cost of tankage is revised by δ, to 72 + δ, then the coefficient of X2 in ROW 1 of the final tableau will be revised to 17.714 + δ. Moreover, since X2 is nonbasic, no further revision in the final tableau is necessary. It follows that δ has to be less than − 17 .714 to make the new coefficient negative, i.e., to make it desirable to include tankage in the mix. Indeed, LINDO reports that the objective-function coefficient of X2 should stay inside the interval [72 − 17. 714285 , 72 + ∞), or [54. 285715 , ∞), in order for the current basis, and solution, to remain optimal

Interestingly, the maximum possible decrease of 17.714 is identical to the reduced cost of X2. That these two values are in agreement is expected, as they are derived from two (different-sounding but) equivalent viewpoints.

Next, suppose the cost of corn is revised by δ, from 84 to 84 + δ. A similar argument shows that this will imply a corresponding revision of the coefficient of X1 in ROW 1 to 0 + δ. Since X1 is basic, doing so will disqualify X1 as the basic variable for ROW 3. Hence, as in part (f) of the previous example, one needs to execute a pivot in the X1-column to eliminate the new entry δ (assuming it is nonzero). This pivot will result in a new set of coefficients in ROW 1; and therefore, we need to limit the scope of δ to ensure that these new coefficients remain nonnegative (i.e., to ensure that the current basis remains optimal). A little bit of calculations (which we leave out) now shows that δ should stay within the interval [− 37. 19997 , 51 .000]; and this corresponds to the LINDO statement for the range of the objective-function coefficient of X1.

The specified range for the objective-function coefficient of X3 is interpreted similarly: If the cost of alfalfa is revised from 60 to 60 + δ, then δ should stay within the interval [− 22. 666666 , 11 .272726] in order for the current tableau (and solution) to remain optimal.

Finally, we examine the ranges for the original RHS constants. For ROW 2, LINDO reports that if the RHS constant 200, which is the carbohydrates requirement, is re- vised to 200 + δ, then the current basis will remain optimal for all δ inside the interval [− 80. 000000 , 24 .999998]. Similarly, the scopes of δ for ROW 3 and ROW 4, or for protein and vitamins, are reported as [− 6. 000000 , 120 .000000] and [−∞, 7 .142857], respectively. The supporting calculations for these statements are similar to what we did in parts (a) and (b) in the previous example.