328
European Journal of Operational Research 29 (1987) 328-335 North-Holland
A forward convex-simplex method Jonathan D. STANLEY Dept. of Business Administration,
University of Wisconsin, Eau Claire, WI 54701, U.S.A.
Abstract: Forward algorithms provide a managerially practical way to solve multiperiod problems by solving progressively longer finite horizon subproblems. Many procedures of this nature already exist for special structures. Aronson, Thompson, and Morton have developed a forward simplex method for general staircase-structured linear programs. In this paper this method is extended to the case in which the objective function is convex. Keywords: Convex programming,
I. Implementing
inventory, planning, production
the convex-simplex method
A. Description of the method
In 1967 Zangwill [9] developed a mathematical programming method which he called the convexsimplex method because it was designed to solve the problem of minimizing a convex objective function subject ot linear constraints. This paper extends to nonlinear functions the forward linear programming method of Aronson, Morton, and Thompson [1,2]. All computational work was done on a DEC 2060 computer at Carnegie-Mellon University. The code, which uses several subroutines from Aronson’s code, is written in FORTRAN 77. The basic convex-simplex method was also used successfully by Noel and Baiman in their research in an agency problem [3]. In the convex-simplex method the reduced gradient vector plays the role of the reduced cost in the ordinary simplex method. Two scalars a* and b*, and an index v are calculated from the reduced gradient r and are defined as follows:
v=
indexiatwhicha*= -r i ifa*&b*, index i at which b* = r,x, if a*
A brief description of the algorithm is as follows: First a feasible solution is found. The gradient is calculated at this point. Then the reduced gradient is computed. When a* >, b*, a nonbasic variable at zero will be increased, and when a * < b* a positive nonbasic vector will be decreased. After the search direction d and maximum step size D* are found, the line search is done and a new feasible solution is computed. The algorithm terminates when the parameters a* and b* equal 0. (In practice termination occurs when they both become less than some small positive number.) When a* = b* = 0 a Kuhn-Tucker point is achieved. It can also be proved that this method will converge to such a point [9]. Following the method of Gaver and Thompson [5] we introduce an artificial variable in order to transform a system of linear inequalities involving equality, Q , and z constraints into an equivalent one involving just < constraints.
a*=max{-r,:r,
b*=max{r,x,:r,>O},
Received June 1985; revised April 1986 0377-2217/87/$3.50
A special line search technique using information about the derivatives of the cubic objective
0 1987, Elsevier Science Publishers B.V. (North-Holland)
J. D. Stanley
/ A fonvard
function replaced the golden section technique used in earlier work [8]. The computational complexity of this procedure is not as great as that for the golden section search used earlier. Let g(w) be the line search function to be minimized and let w be the step size. For each line search the three coefficients of g’(w) must be evaluated, the real roots (if the discriminant D > 0) found, and the appropriate case determined. At most two function evaluations must be made in each iteration as compared to many more in the iterative golden section method. Note that the analysis in this section makes no assumption about convexity of the objective function and therefore may be used appropriately to minimize locally any differentiable function subject to linear constraints. We also note here that this procedure may be extended to 3rd and 4th degree polynomials. Computational results for this implementation of the convex simplex method are reported in detail in [8].
II. Production problems and the forward method
A. The model discussed
The specific production cost model considered in this paper is that used by Jay Aronson [l]. Aronson’s model is in turn a special case of the general linear programming model of Buffa and Miller [4] where back-ordering is not permitted. The problem is formulated with an objective function representing a cost of production and storage to be minimized subject to various constraints. This model has as its decision variables for each time period t: Undertime Overtime Hiring Firing
= V,, = V;, = H,, =F,.
Ending inventory = I,, Workforce = w,, Production = P,,
Neither the production variable P, nor the workforce variable w appears in the objective function, but are employed as pass-on variables or appear in pass-on constraints, constraints which contain variables from different time periods. The
convex-simplex
329
method
problem is then: Min
cvU, + cVV; + c,Hf
+
cFF,~
+
cII;,
subject to: W,- w;-,-H,+F,=O, P,-w-v,+u, I,-, -1,+p, W T+l
=o, = D,,
r=l,...,T+l,
=
w,,
zT
=
I e,
t=l
T,
t=l:::::T,
where W,, We, I,,, I, are the beginning and ending workforce and inventory levels. Demands D, are non-negative. The model departs from Aronson’s in the use of non-linear functions for H,, F,, and I,. Increasing marginal costs in hiring and firing are frequently encountered particularly where skilled workers are required. This occurs because, in the case of hiring, a search for a comparatively rare individual must be initiated. When several such individuals are sought the search area must be increased substantially. The cost of locating, the cost of recruiting, and the cost of actually bringing these workers on board all increase as each worker must be attracted from farther away. Firing costs are similar. When just one or two must be laid off it is not hard to find a few workers who are already considering retirement or a job change or are barely competent, but when hundreds must be laid off many of those will be competent, and many will be reluctant to leave. In addition the ability of the community-to absorb a large number of newly unemployed will be severely taxed while a handful would scarcely be noticed. Long term labor relations will be affected adversely because large layoffs are memorable. Inventory costs in the short and intermediate term are constrained by the fixed amount of warehouse space available. Consideration of the physical handling requirements shows the reasonableness of increasing marginal costs. For example, at first material is placed on shelves so that any item can be removed without touching any of the others. Beyond that level items must be stacked on top of each other increasing the average time for retrieval. Finally when shelf space is exhausted, material is stacked in the aisles where it becomes an even more serious impediment. Beyond these physical problems there is evidence that inventory tends to mask problems in a production system.
330
J.D. Stanley / A jotward convex-simplex method
B. Description of the forward method
1. Introduction There are two main advantages to using a forward algorithm. One is that the existence of planning horizons readily becomes apparent. This fact is useful because it tells the manager how far into the future he must look to be reasonably sure that the optimal decision for the current period is correct. The second advantage is that once a planning horizon is found, the portion of the tableau representing time before this horizon may be discarded in the next iteration. The result is that the computational time for solving longer problems is substantially reduced. Although we do not know how to prove the existence of horizons for problems such as this one, we know empirically that they occur. The forward convex-simplex method, like the forward simplex method makes use of these horizons to speed computation. The forward convex-simplex method, in the implementation tested here, did not use the wraparound tableau employed by Aronson [l]. This undoubtedly could be done and would permit the solution of longer problems, with the result that we would see more clearly the asymptotically linear computational time. For the forward algorithm it is necessary to introduce an artificial variable and up to two additional constraints in every period. By doing this it is possible to find a feasible solution to a t-period problem, solve this, and then augment the current tableau to obtain the initial tableau for the t + 1 period problem. Adding just one artificial variable for the whole problem does not allow this period-by-period solution procedure with the result that planning horizon information c¬ be obtained.
A B
41) 42) 43
A B A
A d(T-1) B A d(T) Figure 1. Block structure diagram of the constraint matrix of the general staircase linear program
lem is augmented the pass-on columns for the t-period problem and the local columns for the t + 1 period are added. 3. Degeneracy and the implementation gorithm
of the al-
A requirement of the original convex-simplex method of Zangwill [lo, p. 1671 is that each time a new feasible solution X is found, the basis must be updated so that the m largest components of the new feasible solution are in the basis. This requirement is consistent with and actually can be thought of as an extension of he case of linear programming in which the basis also contains the m largest components. In the linear programming case the non-basics are zero and the basic components are positive, or zero if there is a degeneracy. Zangwill notes that because of degeneracy, it may not be possible to place all of the m largest components in the basis, and that the basis will then have to be formed the m + 1 largest components, or failing that from the m + 2 largest, or.. . , etc. This requirement is needed in the proof of convergence, in particular in the proof of the closure of the algorithmic map. In the problems considered in this study degeneracy is frequently present and cannot be assumed away. Furthermore because of the way in which
2. Constraint matrix structure The rows and columns of the constraint matrix are arranged so that the local variables occur first in each block. Figure 2, taken from [l], illustrates the structure in more detail. Notice that the off-diagonal blocks are denoted B. A vector which includes the demand d(t) for each period is shown at the right. When the l-period problem is solved only the local columns are used. Whenever a t-period prob-
local pass-in local
c01urnns local pass-on
Columns local pass-on
41) A(2) 0
0 0 0
A
0 A(3) A(4)
0 B(1) 0
local pass-in local
Rows
B
Figure 2. Partitioning of the A and B matrices for the general staircase linear program.
J.D. Stanley
/ A forward
feasible tableaux are augmented it may happen that it is impossible to get the m largest components in the basis. For this reason an alternative approach in implementing the convex-simplex method described by Simmons [7] was used. 4. Summary of the FCS algorithm
The scheme described below depicts the general iteration; there are some slight differences in the first iteration in each augmentation. The stopping rule, a * = b* = 0, is only approximately achieved. When both and a * and b* are less than some small positive number (0.001) optimality is considered to have been achieved. Briefly the main convex-simplex module operates as follows: 1. Find gradient at current feasible solution x. 2. Find reduced gradient and parameters a*, and b*.
3. 4. 5. 6. 7. 8. 9.
If a * = b* = 0, and if the current period is the last, stop; otherwise augment the tableau, find a feasible solution, and go to step 1. If a* and b* are not both 0, go to step 3: Find search direction d. Find maximum extent of step size D. If D = 0, swap a positive non-basic variable with a smaller basic variable, and go to step 1. Find step size w > 0 (line search). Calculate new x: x * x + wd Pivot according to rule. Go to step 1.
5. Horizon detection and stopping rules
When the optimal solution to a t period problem is found, this solution is recorded along with the optimal solutions for the t - 1 and t - 2 period problems. The three most recent solutions are saved whenever t > 3. The first period solutions of the three solutions are compared first. If all three agree then the second period solutions are compared and so on until a period in which a disagreement is found. The choice of the three periods is arbitrary. Experimentation with four or more periods could also be undertaken. Two periods do not seem to be enough to give meaningful horizons consistently, while three seems to work well.
cotwex-simplex
method
331
C. Results of computational testing 1. Empirical results for the forward method: Type I
The forward method was used to solve production planning problems of two types. Type 1 refers to a variation in which, in the objective function, the hiring and firing costs are pure quadratic functions with no linear terms. Type 2 problems are discussed in subsection 2. For both types 1 and 2, cyclic and approximately cyclic demand patterns were investigated. All problems were based on four period cycles. For approximately cyclic as well as purely cyclic cases, planning horizons occurred at the completion of every cycle, while the corresponding forecast horizon was six periods longer. Other results for the purely cyclic patterns are reported in [8]. Three 10 period, three 20 period, and three 30 period approximately ‘cyclical problems were solved by both the forward and standard methods. The forward method required 3 to 4 times the time the standard method did on the 10 period problems, but on the 30 period problems the standard method took 12% to 74% longer. Again the agreement in the optimal objective functions is good, though not perfect; the maximum discrepancy in the nine problems was 0.05%. 2. Empirical results for the forward method; Type 2
The forward method was tested on problems whose hiring and firing objective function terms had linear as well as quadratic terms. We call this a ‘type 2’ problem. Type 2 problems with purely cyclic and with approximately cyclic demand patterns were tested, but again only the approximately cyclic case is presented here. The purely cyclic case is discussed in [8]. Eighteen randomly generated problems of type 2 were solved Three problems of each of six problem sizes are aggregated to obtain six mean CPU times for both the forward and standard methods. These times and a measure of the accuracy of the techniques are shown in the Table 1. The column “Number of significant figures” gives the number of significant figures of agreement between the optimal objective function values. If this number is not the same for all three problems a range is given. Nine is the greatest number of places that were printed. out for these
332
J.D. Stanley
/ A forward
Table 1 Summary table for objective function having hiring and firing costs with linear as well as quadratic terms: Approximately cyclic case Number of periods
Number of problems
5 10 15 20 25 30
Number of signficiant figures
Mean CPU time in seconds forward standard
7-8 9 9 9 5-9 7-9
0.643 2.878 7.379 13.439 18.730 26.611
0.456 3.281 11.777 22.539 45.90 82.074
convex-simplex
method
by N and the number of time periods by T. The problem then can be stated as:
subject to: 1. Et-Q+ s/;=D,, 2. P,E,-,-P,E,-,-E,+H,-F,=O, 3. b,E, < B,, 4. C,E, d G,, 5. L,<
5 E:‘< v,,
6. E,, l/,-b, problems, so that it is possible that true accuracy may be greater than this wherever a nine occurs in this cohmln. The linear terms in the cost function mean that the hypersurface is less bowl-shaped so that the exact minimum is more easily found, and it is likely that this accounts for the greater accuracy in the type 2 problems. Even so, examination of the intermediate solutions shows that the feasible solution does not proceed from extreme point to extreme point as in linear programming but encounters interior solutions along the way. III. Goal programming via the forward method
A. Introduction In this part the forward convex-simplex method is used to solve goal programming problems, specifically a formulation of a muitiperiod manpower planning problem. As in Part II adjacent time periods are linked by pass-on variables and pass-in constraints. The model assumes that we seek to minimize total hiring, firing, overtime, and undertime costs over several time periods. It is supposed that there are several classes or grades to which a worker could belong and that workers may move from one rank to another over time. In this section the manpower planning model used in essentially that used by Aronson [l]. Aronson’s model in turn is based on a model used in a TIMS study by Niehaus, Scholtz, and Thompson [6]. In this problem the number of ranks is denoted
H,, F, > 0,
where integer t ranges from 1 to T, integer i ranges from 1 to N, and E, is an N-vector (with components designated by the superscript j) representing the workforce in period t in each of the N categories of worker. Workforce is the only pass-on variable. Vectors Et, q, V;, H, and F, are similarly defined as manpower level, undertime, overtime, hiring, and firing respectively. The functions u, v, h, f give the cost associated with each of the variables U, V, H, F and are subscripted to indicate a possible dependence on the employee class and the time period. The first constraint requires that demand be met in each period for each category of worker. In the second constraint P, is an N X N matrix representing the probability of moving into a given rank from any other rank or of staying in the same rank. Pz represents the probability of moving out of a certain rank into any other rank. Basically the two matrices say that the number of workers in any given class is the algebraic sum of the number promoted or demoted to this rank less the number promoted or demoted from this rank plus the number hired minus the number fired. The third and fourth constraints are the budget constraint and the ‘in grade’ constraint, a constraint limiting the total workforce in any period which attaches possibly different weights to each rank. The fifth constraint places upper and lower bounds on total manpower in each period. Aronson uses this model in the special case when N = 2 [l] and this is also the case in this paper. There h, f, U, and v are linear functions, while here they are assumed to be convex. In this study constraints 3, 4, and 5 are omitted in variations 1 and 2.
J.D. Stanley
/A
fonvard
B. Empirical results
333
method
Table 2 Summary table showing comparison of forward and convexsimplex methods: Approximately cyclic demands
1. Introduction
The forward convex-simplex method was tested on two variations of the basic manpower planning problem discussed in the previous section, on two variations of an overtime constrained problem, and on a problem in which there are four classes. All these results are compared with solutions obtained by the standard convex-simplex method. For both variations of the basic manpower planning problem, several randomly generated problems were solved for each variation. For the first variation, 18 problems were solved for the six problem sixes 3, 6, 9, 12, 15, 18. For the second variation an additional three randomly generated problems of size 21 were solved. Since demand D in this model is a vector (which in the problems studied in this paper consists of two components) two demands are randomly generated (independently of each other) in each period. The demand pattern for both components consists of a cyclic portion whose cycle length is four periods plus a random portion. The two variations of the problem considered here differ only in the part of the constraint matrix which deals with interperiod transfers from one employment grade to another. 2. Computational results-Basic
convex-simplex
variations
Below in Table 2 are displayed the computational results for the 18 randomly generated problems of the first variation and the 21 problems of the second variation. Three randomly generated problems for each problem size were solved in both variations. The forward method is faster than the standard for every problem size (although the difference for three period problems is not significant) and this advantage increases as problem size increases. The forward method failed to detect any planning horizons in any of the 3 or 6 period problems of either variation. The initial planning and forecast horizons were found for 11 of the 12 remaining first variation problems and for 13 of the 15 remaining second variation problems. Even in problems in which no horizons were found the forward method performed substantially better than the standard.
Number of periods
First variation mean CPU time in seconds forward standard
Second variation mean CPU time in seconds: forward
standard
3 6 9 12 15 18 21
0.473 1.458 3.275 5.996 7.780 9.848
0.398 2.467 3.432 6.773 10.345 17.745 25.607
0.447 5.150 8.810 19.726 39.740 68.487 108.712
0.490 2.673 9.355 21.115 41.091 73.165
In the standard method a substantial amount of time is taken up in finding an initial feasible solution. For every problem of either variation nine periods or more in length, the forward method finds the optimal solution before the standard method attains feasibility. 3. A manpower planning problem constraints
with overtime
In this section a comparison of the forward and standard convex simplex method is made for a larger manpower planning problem. This problem has eighteen periods, but it differs from the previously considered problems in two respects. First, each period has an additional constraint placing an upper bound on total overtime from both classes of workers in any period. Second, the objective function is a cubic rather than a quadratic polynomial. Demands are again approximately cyclic. Two slightly different runs of this problem were made, using high and low undertime costs. Undertime costs are incurred when workers must be paid when there is no work to be done. High undertime costs are more typical in situations where labor union rules require a certain level of employment. The effect of the lower undertime cost was quite minor in this problem; the optimal objective function fell about 0.7% on the second run. (Overtime constraints were tight at the optimum for both problems). Total CPU time was 11.657 seconds for the forward method vs. 100.666 seconds for the standard convex simplex method. The ac-
334
J.D. Stanley
/A
fonvard
Table 3 Comparison of CPU time for forward and standard convexsimplex methods: Approximately cyclic demands Number of periods
Number of significant figures
CPU time (in seconds) forward
standard
2 3 4 5 6
8 I 7 8 5
0.800 1.629 3.612 6.773 8.929
1.394 3.638 7.961 16.753 31.237
curacy was quite good; the discrepancy in the objective function at the optimum in both runs between the forward and standard methods was about 0.0001%. 4. Manpower planning with two pay grades
Most problems encountered in practical settings involve a considerable degree of complexity. For example it may be there are more than just two employment grades or the employment grades may be subdivided into smaller classifications such as salary range. In this section the latter possibility is modelled; each of the two employment grades is divided into two subclasses, which may be thought of as low and high salary ranges. The constraints are the same as before but constraints on the number of workers now exist for the total number of workers in each employment grade. Thus the size of the one period problem is doubled from the basic manpower planning problem discussed in subsection 2; each period now has 20 variables and 10 constraints. A smaller number of periods in the problem were examined in compensation for the larger one period problem size. The problems studied here ranged in size from two to six periods; the results are given in Table 3.
C. General conclusions In contrast to the results given in Part II, for all variations of’ the manpower of the manpower planning problem the forward method was faster on average than the standard method for every problem size considered. (This is probably not
convex-simplex
method
true for problems less than three periods in length.) The superiority of the forward method on the manpower power planning problems as opposed to the production smoothing problems may be due to the fact that pass-on variables (inventory) appear in the objective function in the former but not the latter. For the production models described in Part II, the forward method was slower for small problems, but faster for larger problems, the breakeven problem size depending on the specific model (Type 1 or Type 2). In all cases the advantage of the forward method over the standard method increases substantially with problem size. As a consequence of the greater efficiency of the forward method, an optimal solution for a longer problem is obtained before the standard method even achieves feasibility. The addition of overtime constraints and the generalization to a cubic objective function did not significantly affect the above conclusions. The forward method is seen to be more efficient than the standard method on more complex problems involving two pay grades in each of the two employment classes. In sum the forward method operates more efficiently in solving a variety of production and manpower planning problems and at the same time can give valuable planning horizon information not obtainable from the ordinary convex-simplex method.
References [l] Aronson, J.E., Forward Linear Programming, Ph.D. Thesis, Graduate School of Industrial Administration, Carnegie-Mellon Univ., Pittsburgh, PA, April 1980. [2] Aronson, J.E., Morton, T.E. and Thompson, G.L., “A forward algorithm and planning horizon procedure for the production smoothing problem without inventory”, European Journal of Operational Research 15 (3) (1984) 348-365. [3] Baiman, S., and Noel, J., “Noncontrollable costs and responsibility accounting”, working paper, Graduate School of Industrial Administration, Carnegie-Mellon Univ., Jan. 1984. [4] Buffa, ES. and Miller, J.G., Production-Inuenrory,y ~ysterns: Planning and ConIrol, Irwin, Homewood, 3rd Edn., 1919. [5] Gaver, Donald, P. and Thompson, G.L., Programming and Probability Models in Operations Research, Brooks/ Cole, 1913, p. 178 [6] Niehaus, R.J., Scholtz, D. and Thompson, G.L., Managerial
Tests
of
Conversational
Manpobver
Planning
J.D. Stanley
/ A fonvard
Models. TIMS Studies in the Management Sciences 8, North-Holland, Amsterdam, 1978, 153-171. [7] Simmons, Donald, M., Nonlinear Programming for Operafions Research, Prentice-Ha& EngIewood Cliffs, NJ. [8] Stanley, J.D., A Forward Conuex-Simplex Mediod, Ph.D. thesis, Carnegie-Mellon Univ., 1984.
convex-simplex
method
I., “The convex-simplex method”, 14 (3) (1967) 221-238. Willard I., Nonlinear Programming: A Unified Prentice-HaII, EngIewood Cliffs, NJ, 1969.
[9] ZangwiU, Willard [lo]
Management Zangwill, Approach,
335
Science