• Tidak ada hasil yang ditemukan

By decreasing the unit cost of consumed resources

Dalam dokumen Operations Research An Introduction (Halaman 134-139)

phase II. Use the feasible solution from Phase I as a starting basic feasible solution for the original problem

Step 1. Select a zero artificial variable to leave the basic solution and designate its row as the pivot row. The entering variable can be any nonbasic nonartificial vari-

2. By decreasing the unit cost of consumed resources

In most situations, the price per unit is dictated by market conditions and may be difficult to increase at will. On the other hand, reducing the consumption of resources is a more viable option because the manufacturer may be able to reduce cost by mak- ing the production process more efficient.

Determination of the optimality ranges. We now turn our attention to determin- ing the conditions that will keep a solution optimal. The development is based on the definition of reduced cost.

In the TOYCO model, let d

1

, d

2

, and d

3

represent the change in unit revenues for toy trucks, trains, and cars, respectively. The objective function then becomes

Maximize z

= 1

3

+ d12x1 + 1

2

+ d22x2 + 1

5

+ d32x3

We first consider the general situation in which all the objective coefficients are changed simultaneously.

With the simultaneous changes, the z-row in the starting tableau appears as:

Basic x1 x2 x3 x4 x5 x6 Solution

z -3 -d1 -2- d2 -5- d3 0 0 0 0

Basic x1 x2 x3 x4 x5 x6 Solution z 4 -14 d2 +32 d3- d1 0 0 1+ 12 d2 2 -14 d2 +12 d3 0 1350 +100d2 +23d3

x2 -14 1 0 12 -14 0 100

x3 32 0 1 0 12 0 230

x6 -14 0 0 -2 1 1 20

When we generate the simplex tableaus with the same sequence of entering and leaving variables used in the original model (before the changes d

j

are made), the optimal iteration will appear as follows (convince yourself that this is indeed the case by carrying out the simplex row operations):

The new optimal tableau is the same as in the original optimal tableau, except for the reduced costs (z-equation coefficients). This means that changes in the

objective-function coefficients can affect the optimality of the problem only. (Com-

pare with Section 3.6.2, where changes in the right-hand side affect feasibility only.)

You really do not need to carry out the simplex row operation to compute the new reduced costs. An examination of the new z-row shows that the coefficients of

dj

are taken directly from the constraint coefficients of the optimum tableau. A con- venient way for computing the new reduced cost is to add a new top row and a new leftmost column to the optimum tableau, as shown by the shaded areas in the following illustration.

d1 d2 d3 0 0 0

Basic x1 x2 x3 x4 x5 x6 Solution

1 z 4 0 0 1 2 0 1350

d2 x2 -14 1 0 12 -14 0 100

d3 x3 3

2 0 1 0 1

2 0 230

0 x6 2 0 0 -2 1 1 20

The entries in the top row are the change d

j

associated with variable x

j

. For the leftmost column, the top element is 1 in the z-row followed by d

i

basic variable x

i

. Keep in mind that d

i =

0 for slack variable x

i

.

To compute the new reduced cost for any variable (or the value of z), multiply

the elements of its column by the corresponding elements in the leftmost column,

3.6 Sensitivity Analysis 135

add them up, and subtract the top-row element from the sum. For example, for x

1

, we have

Reduced cost for x

1 =

[4

*

1

+ 1-142 * d2 + 32 * d3 +

2

*

0]

- d1

=

4

- 14

d

2 + 32

d

3 - d1

The current solution remains optimal so long as the new reduced costs (z- equation coefficients) remain nonnegative (maximization case). We thus have the following simultaneous optimality conditions corresponding to nonbasic x

1

, x

4

, and x

5

:

4

- 14

d

2 + 32

d

3 - d1 Ú

0 1

+ 12

d

2 Ú

0 2

- 14

d

2 + 12

d

3 Ú

0

Remember that the reduced cost for a basic variable is always zero, as the modified optimal tableau shows.

To illustrate the use of these conditions, suppose that the objective function of TOYCO is changed from z

=

3x

1 +

2x

2 +

5x

3

to z

=

2x

1 + x2 +

6x

3

. Then,

d1 =

2

-

3

= -

$1, d

2 =

1

-

2

= -

$1, and d

3 =

6

-

5

=

$1. Substitution in the given conditions yields

4

- 14

d

2 + 32

d

3 - d1 =

4

- 141-

1

2 + 321

1

2 - 1-

1

2 =

6.75

7

0

1

satisfied

2

1

+ 12

d

2 =

1

+ 121-

1

2 =

.5

7

0

1

satisfied

2

2

- 14

d

2 + 12

d

3 =

2

- 141-

1

2 + 121

1

2 =

2.75

7

0

1

satisfied

2

The results show that the proposed changes will keep the current solution (x

1 =

0,

x2 =

100, x

3 =

230) optimal (with a new value of z

=

1350

+

100d

2 +

230d

3

= 1350

+

100

* -1 +

230

*

1

=

$1480). If any condition is not satisfied, a new solu- tion must be determined (see Chapter 4).

The preceding discussion has dealt with the maximization case. The only differ- ence in the minimization case is that the reduced costs (z-equations coefficients) must be

0 to maintain optimality.

The optimality ranges dealing with changing d

j

one at a time can be developed from the simultaneous optimality conditions.

12

For example, suppose that the objective coefficient of x

2

only is changed to 2

+ d2

—meaning that d

1 = d3 =

0. The simultane- ous optimality conditions thus reduce to

4

- 14

d

2 Ú

0

1d2

16 1

+ 12

d

2 Ú

0

1d2 Ú -2

2

- 14

d

2 Ú

0

1d2

8

s 1 -2 … d2

8

12The individual ranges are standard outputs in all LP software. Simultaneous conditions usually are not part of the output, presumably because they are cumbersome for large problems.

In a similar manner, you can verify that the individual changes

1

3

+ d12

and

1

5

+ d32

for x

1

and x

3

yield the optimality ranges d

1

4 and d

3 Ú -83

, respectively.

The given individual conditions can be translated to total unit revenue ranges.

For example, for toy trucks (variable x

2

), the total unit revenue is 2

+ d2

, and its opti- mality range

-

2

d2

8 translates to

$0

… 1

Unit revenue of toy truck

2 …

$10

It assumes that the unit revenues for toy trains and toy cars remain fixed at $3 and $5, respectively.

It is important to notice that the changes d

1

, d

2

, and d

3

may be within their allow- able individual ranges without satisfying the simultaneous conditions and vice versa. For example, consider z

=

6x

1 +

8x

2 +

3x

3

. Here d

1 =

6

-

3

=

$3, d

2 =

8

-

2

=

$6, and d

3 =

3

-

5

= -

$2, which are all within the permissible individual ranges (

-∞ 6 d1

4,

-

2

d2

8, and

-83d3 6 ∞). However, the corresponding simul-

taneous conditions yield

4

- 14

d

2 + 32

d

3 - d1 =

4

- 141

6

2 + 321-

2

2 -

3

= -

3.5

6

0

1

not satisfied

2

1

+ 12

d

2 =

1

+ 121

6

2 =

4

7

0

1

satisfied

2

2

- 14

d

2 + 12

d

3 =

2

- 141

6

2 + 121-

2

2 = -

.5

6

0

1

not satisfied

2

remarks. The feasibility ranges presented in Section 3.6.2 and the optimality ranges developed in Section 3.6.3 work fine so long as the sensitivity analysis situation calls for changing the parameters of the problem one at a time, a rare occurrence in prac- tice. The fact of the matter is that this limited usefulness is dictated by how far math- ematics allows us to go before the results become too unwieldy. So, what should one do

in practice to carry out meaningful sensitivity analyses that entail making simultaneous changes anywhere in the model? The good news is that advances in computing and in

mathematical programming languages (e.g., AMPL) now make it possible to solve huge LPs rather quickly. Thus, a viable option is to solve complete LP scenarios completely, and then compare the answers. Of course, a great deal of thought must be given to constructing viable scenarios that will allow testing model changes in a systematic and logical manner.

3.6.4 sensitivity Analysis with tORA, solver, and AmPL

We now have all the tools to decipher the output provided by LP software, particularly with regard to sensitivity analysis. We will use the TOYCO example to demonstrate the TORA, Solver, and AMPL output.

TORA’s LP output report provides the sensitivity analysis data automatically as shown in Figure 3.11 (file toraTOYCO.txt). The output includes the reduced costs and the dual prices as well as their allowable optimality and feasibility ranges.

Figure 3.12 provides the Solver TOYCO model (file solverTOYCO.xls) and its

sensitivity analysis report. After you click Solve in the Solver parameters dialogue box,

you can request the sensitivity analysis report in the new dialogue box Solver results.

3.6 Sensitivity Analysis 137

You can then click Sensitivity report 1 to view the results. The report is similar to that of TORA’s, with three exceptions: (1) the reduced cost carries an opposite sign, (2) it uses the name shadow price instead of dual price, and (3) the optimality ranges are for the changes d

j

and D

i

only, rather than for the original objective coefficients and constraint right-hand sides. The differences are minor, and the interpretation of the re- sults remains the same.

***Sensitivity Analysis***

Variable CurrObjCoeff MinObjCoeff MaxObjCoeff Reduced Cost

x1: 3.00 -infinity 7.00 4.00

x2: 2.00 0.00 10.00 0.00

x3: 5.00 2.33 infinity 0.00

Constraint Curr RHS Min RHS Max RHS Dual Price

1(<): 430.00 230.00 440.00 1.00

2(<): 460.00 440.00 860.00 2.00

3(<): 420.00 400.00 infinity 0.00

FiGure 3.11

TORA sensitivity analysis for the TOYCO model

FiGure 3.12

Excel Solver sensitivity analysis report for the TOYCO model

In AMPL, the sensitivity analysis report is readily available. File amplTOYCO.txt provides the code necessary to determine the sensitivity analysis output. It requires the following additional statements (the report is sent to file a.out):

option solver cplex;

option cplex_options ‘sensitivity’;

solve;

#---sensitivity analysis display oper.down,oper.current,oper.up,oper.dual>a.out;

display x.down,x.current,x.up,x.rc>a.out;

The CPLEX option statements are needed to obtain the standard sensitivity analysis report. In the TOYCO model, the indexed variables and constraints use the root names

x and oper, respectively. Using these names, the suggestive suffixes .down, .current, and .up in the display statements automatically generate the formatted

sensitivity analysis report in Figure 3.13. The suffixes .dual and .rc provide the dual price and the reduced cost, respectively.

: oper.down oper.current oper.up oper.dual :=

1 230 430 440 1

2 440 460 860 2

3 400 420 1e+20p 0

: x.down x.current x.up x.rc :=

1 -1e+20 3 7 -4

2 0 2 10 0

3 2.33333 5 1e+20 0

FiGure 3.13

AMPL sensitivity analysis report for the TOYCO model

3.7 cOmPutAtiOnAL issues in LineAR PROGRAmminG

13

This chapter has presented the details of the simplex algorithm. Subsequent chapters present other algorithms: the dual simplex (Chapter 4), the revised simplex (Chapter 7), and the interior point (Chapter 22 on the website). Why the variety? The reason is that each algorithm has specific features that can be beneficial in the development of robust computer codes.

An LP code is deemed robust if it satisfies two fundamental requirements:

Dalam dokumen Operations Research An Introduction (Halaman 134-139)