Partitioning Algorithm for Preemptive Goal Programs

Một phần của tài liệu Operations research methodologies a ravi ravindran, CRC press, 2009 scan (Trang 136 - 140)

Linear goal programming problems can be solved efficiently by the partitioning algorithm developed by Arthur and Ravindran [14,15]. It is based on the fact that the definition of preemptive priorities implies that higher order goals must be optimized before lower order goals are even considered. Their procedure consists of solving a series of linear programming subproblems by using the solution of the higher priority problem as the starting solution for the lower priority problem.

The partitioning algorithm begins by solving the smallest subproblemS1, which is com- posed of those goal constraints assigned to the highest priorityP1 and the corresponding

Yes

No Set K = 1

Are there real constraints?

K = K + 1

Read the objective function and the goal constraints

for Pk

Select the initial basic feasible

solution

Perform phase 1

Print optimal solution Eliminate

columns with positive relative-cost coefficients

Perform simplex operation Is the solution

optimal?

Are there more priorities?

Do alternate solutions exist?

Calculate the achievements

of the remaining goals and priorities

Yes Yes

No No

Yes No

FIGURE 5.3 Flowchart of the partitioning algorithm.

terms in the objective function. The optimal tableau for this subproblem is then examined for alternate optimal solutions. If none exist, then the present solution is optimal for the original problem with respect to all the priorities. The algorithm then substitutes the values of the decision variables into the goal constraints of the lower priorities to calculate their attainment levels, and the problem is solved. However, if alternate optimal solutions do exist, the next set of goal constraints (those assigned to the second highest priority) and their objective function terms are added to the problem. This brings the algorithm to the next largest subproblem in the series, and the optimization resumes. The algorithm contin- ues in this manner until no alternate optimum exists for one of the subproblems or until all priorities have been included in the optimization. The linear dependence between each pair of deviational variables simplifies the operation of adding the new goal constraints to the optimal tableau of the previous subproblem without the need for a dual-simplex iteration.

When the optimal solution to the subproblem Sk−1 is obtained, a variable elimination step is preformed prior to the addition of goal constraints of priority k. The elimination step involves deleting all nonbasic columns that have a positive relative cost (Cj>0) in the optimal tableau ofSk−1from further consideration. This is based on the well-known linear programming (LP) result that a nonbasic variable with a positive relative cost in an optimal tableau cannot enter the basis to form an alternate optimal solution. Figure 5.3 gives a flowchart of the partitioning algorithm.

TABLE 5.2 Solution to SubproblemS1

P1:cj 0 0 1 1

cB Basis x1 x2 d1 d+1 b

1 d+1 2 3 1 1 80

P1:c Row 2 3 0 2 Z1= 80

0 x2 2

3 1 1

3 1 3

80 3

P1:c Row 0 0 1 1 Z1= 0

TABLE 5.3 Solution to SubproblemS2

P2:cj 0 0 0 1

cB Basis x1 x2 d3 d+3 b

0 x2 2

3 1 0 0 80

3

0 d3 1

3 0 1 1 70

3

P2:c Row 0 0 0 1 Z2= 0

We now illustrate the partitioning algorithm using Example 5.2. The subproblemS1 for priorityP1 to be solved initially is given below:

S1: Minimize Z1=d1 +d+1

Subject to: 2x1+ 3x2+d1 −d+1 = 80 x1, x2, d1, d+1 0

The solution to subproblem S1 by the simplex method is given in Table 5.2. However, alternate optima exist to subproblem S1 (the nonbasic variable x1 has a relative cost of zero). As the relative costs for d+1 and d1 are positive, they cannot enter the basis later;

else they destroy the optimality achieved for priority 1. Hence, they are eliminated from the tableau from further consideration.

We now add the goal constraint assigned to the second priority (Equation 5.57):

x1+x2+d3 −d+3 = 50

Sincex2 is a basic variable in the present optimal tableau (Table 5.2), we perform a row operation on the above equation to eliminatex2, and we get

1

3x1+d3 −d+3 =70

3 (5.58)

Equation 5.58 is now added to the present optimal tableau after deleting the columns cor- responding tod1 andd+1. This is shown in Table 5.3. The objective function of subproblem S2is given by

MinimizeZ2=d+3

As the right-hand side of the new goal constraint (Equation 5.57) remained nonnegative after the row reduction (Equation 5.58), d3 was entered as the basic variable in the new tableau (Table 5.3). If, on the other hand, the right-hand side had become negative, the row would be multiplied by1 andd+3 would become the new basic variable. Table 5.3 indicates

TABLE 5.4 Solution to SubproblemS3

P3:cj 0 0 0 1 1

cB Basis x1 x2 d3 d2 d+2 b

0 x2 2

3 1 0 0 0 80

3

0 d3 1

3 0 1 0 0 70

3

1 d2 1

3 0 0 1 1 40

3 P3: ¯c Row 1

3 0 0 0 2

0 x2 0 1 0 2 2 0

0 d3 0 0 1 1 1 10

0 x1 1 0 0 3 3 40

P3: ¯c Row 0 0 0 1 1 Z3= 0

that we have found an optimal solution toS2. As alternate optimal solutions exist, we add the goal constraint and objective corresponding to priority 3. We also eliminate the column corresponding tod+3. The goal constraint assigned toP3, given by

x1+x2+d2 −d+2 = 40

is added after elimination of x2. This is shown in Table 5.4. Nowx1 can enter the basis to improve the priority 3 goal, while maintaining the levels achieved for priorities 1 and 2.

Then d2 is replaced byx1 and the next solution becomes optimal for subproblem S3 (see Table 5.4). Moreover, the solution obtained is unique. Hence, it is not possible to improve the goal corresponding to priority 4, and we terminate the partitioning algorithm. It is only necessary to substitute the values of the decision variables (x1= 40 and x2= 0) into the goal constraint forP4 (Equation 5.56) to getd+4 = 160. Thus, the cost goal is not achieved and the minimum cost of production is $160.

Integer Goal Programs

Arthur and Ravindran [16] show how the partitioning algorithm for linear GP problems can be extended with a modified branch and bound strategy to solve both pure and mixed integer GP problems. The variable elimination scheme used in the PAGP algorithm is not applicable for integer goal programs. They demonstrate the applicability of the branch and bound algorithm with constraint partitioning for integer goal programs with a multiple objective nurse scheduling problem [17].

Nonlinear Goal Programs

Saber and Ravindran [18] present an efficient and reliable method called the partitioning gra- dient based (PGB) algorithm for solving nonlinear GP problems. The PGB algorithm uses the partitioning technique developed for linear GP problems and the generalized reduced gradient (GRG) method to solve single objective nonlinear programming problems. The authors also present numerical results by comparing the PGB algorithm against a modified pattern search method for solving several nonlinear GP problems. The PGB algorithm found the optimal solution for all test problems proving its robustness and reliability, whereas the pattern search method failed in more than half the test problems by converging to a nonop- timal point.

Kuriger and Ravindran [19] have developed three intelligent search methods to solve nonlinear GP problems by adapting and extending the simplex search, complex search, and pattern search methods to account for multiple criteria. These modifications were largely accomplished by using partitioning concepts of goal programming. The paper also includes computational results with several test problems.

Một phần của tài liệu Operations research methodologies a ravi ravindran, CRC press, 2009 scan (Trang 136 - 140)

Tải bản đầy đủ (PDF)

(498 trang)