An Extensive Simplex Method for Mapping Global Feasibility Liang Zhu and David Kazmer Department of Mech. & Ind. Engineering University of Massachusetts Amherst 1 Abstract An algorithm is presented for mapping the global feasible space of multi-attribute systems to support decision modeling and selection. Given n decision variables, the feasible space of a linear model is an n-dimensional polyhedron constituted by a set of extreme points. The polyhedron can be represented in a connected graph structure where all extreme points are traversed exactly once from any initial point through the pivot operations. Since the expected number of extreme points is no more than 2n, the traverse extreme point (TEP) algorithm described requires exponential time instead of factorial time in an exhaustive combinatorial search. 2 Key Words Multi-attribute decision making, Optimization, Global Feasible Space, Extreme Points 1 3 Introduction The linear model has an important role in decision making. While some problems can directly be formulated in linear form (e.g. many problems in the domain of Financial Management and Industrial Engineering), others can be simplified by their correspondent linear approximation. In many cases, the linear approximation provides a vital hint to the behavior and solution of truly non-linear problems. This statement could be enhanced by the popularity of the Newton-Raphson method that uses the Jacobian matrix to dominate a non-linear function value (Reklaitis, Ravindran et al. 1983). With one explicit objective, the linear problem can be well solved by the Simplex method (Dantzig 1998). However, such a single representative objective may not be available in the real problem formulation, which generally has multiple objectives that are coupled and competitive with each other, like time, cost, and reliability. It is not trivial to combine these objectives together. Without the knowledge of the relationship between these multiple objectives, the conventional practice of multiplying or adding the weighted objectives rarely gives the satisfied solution. As such, it is valuable to explore the feasible space constituted by the multi-objective problem itself. Once the practitioner acquires the efficient frontier for multiple objectives, he/she can then select preferred decisions for compromising these objectives. The linear formulation typically contains some constraints on the decision variables. A common restriction is the "nonnegativity" of the physical variables, called the primary constraints. Additional constraints might also represent other limitations, like the resource supply, the process condition, and the performance improvement from previous projects. Often times, the boundary of the constraint is not a pre-defined crisp 2 number. Depending on the overall performance, the constraint limits could be loosened or tightened from the initial specifications. Therefore, the global feasible space needs to be examined for the potential refinement of the constraints. Sometimes it is difficult to differentiate between the objective and the constraints. Some attributes might serve as both. For example, while the project cost is expected to be under the budget as a constraint, the lower cost is obviously preferred as an objective when other performance measures are satisfied. As a matter of solution and usage convenience, therefore, all objectives are expressed in the form of constraints. The limits on these constraints could be 0 for nonnegative attributes or other exaggerated values. The traverse extreme point (TEP) algorithm, presented in this paper, computes the global feasibility for both independent decision variables and dependent performance measures. Consider a linear model with only two nonnegative decision variables: x1 - 2x2 ≤ 3 (1) x1 + x2 ≤ 6 x1 + 4x2 ≤ 12 x1, x2 ≥ 0 Figure 1 shows that each constraint divides 2-dimensional Euclidean space E2 into two regions, called halfspaces. Hence a halfspace is a collection of points that satisfy the constraint, Hi = {(x1, x2) | ai1 x1 + ai2 x2 ≤ bi}. The intersection of all the halfspaces composes the feasible space H; in the case of Equation 1, H = H1 ∩ H2 ∩ H3 ∩ H4 ∩ H5. Given any two points A(x1, x2) ∈ Hi and A'(x1', x2') ∈ Hi, for λ ∈ [0, 1], λA + (1 - λ)A' = 3 λ(ai1 x1 + ai2 x2) + (1-λ)(ai1 x1' + ai2 x2') ≤ λbi + (1-λ)bi ≤ bi, i.e., λA + (1 - λ)A' ∈ Hi. Therefore, the feasible space H is convex. The convex property is the basis to efficiently solve the feasible space. Since H is bounded by straight lines through E2, it is a convex polygon constituted by the corner points or the extreme points. Although every two constraints in E2 may result in a basic solution, only the basic feasible solution is an extreme point. The labeled points in Figure 1 are all basic solutions, but F is not an extreme point of the feasible space since it is not a feasible solution. As shown in Figure 1, the feasible space of Equation 1 is the polygon ABCDE. Building the feasible space in this example is equivalent to solving the five extreme points. H5 : Primary constraint x2 ≥ 0 x2 H3 : x E 1 + 4x 2 ≤ 12 H 2: D x 1 + Feasible Space x 2 ≤ 6 C A B :x1 H1 - 2x 2 ≤3 F x1 H4 : Primary constraint x1 ≥ 0 Figure 1. Feasible space constituted by the constraints The above concept can be extended to En. Consider a linear model with m constraints and n decision variables, m1 of them are in the form ai1 x1 + ai2 x2 + ... + ain xn ≤ bi i = 1, ..., m1 (2) m2 of them are in the form 4 aj1 x1 + aj2 x2 + ... + ajn xn ≥ bj j = 1, ..., m2 m3 of them are in the form ak1 x1 + ak2 x2 + ... + akn xn = bk k = 1, ..., m3 Where, x1, ..., xn ≥ 0, b1, ..., bm ≥ 0, and m = m1 + m2 + m3. Note that the decision variables in the above equation are all nonnegative. The method can be generalized to any linear model with a trivial normalization process on the real variable xi (e.g., xi = xa - xb, where xa, xb ≥ 0). As mentioned previously, all objectives have been formulated as constraints with limits corresponding to their minimum acceptable performance levels. Each constraint in Equation 2 can be associated with one hyperplane in En, a generalized notion of a straight line in E2 and a plane in E3. The halfspace in En is the collection of points defined by the hyperplane. Hi = {(x1, x2, ..., xn) | ai1 x1 + ai2 x2 + ... + ain xin ≤ bi}. The feasible space H is the intersection of all halfspaces, H = H1 ∩ H2 ∩ ... ∩ Hm. It is important to note that the dimension of the feasible space would shrink to En-m3, given m3 equalities in Equation 3. Regardless, H is convex by the similar proof as in E2. The extreme point of this convex polyhedron is an intersection point of n hyperplanes. Similar to the 2-dimensional case, though any n hyperplanes may result in a basic solution, only the point located inside all halfspaces (the basic feasible solution) is an extreme point. There are C(n+m, n) distinctive basic solutions out of n primary constraints and m additional constraints in Equation 2. One approach is to solve all these combinations and test their feasibility (Zhu and Kazmer 2000). Being NP hard, the number of iterations 5 radically increases with the number of decision variables and constraints, not to mention that one iteration takes θ(n3) to solve a system of n linear equations (Cormen, Leiserson et al. 1990). Considering that the basic feasible solution is only a small subset of the basic solution, this paper presents an efficient algorithm by excluding the consideration of the basic infeasible solutions. 4 Traverse extreme point By adding a slack or surplus variable in the inequality, Equation 2 can be formulated in the equality form: ai1 x1 + ai2 x2 + ... + ain xn + xn+1 = bi i = 1, ..., m1 aj1 x1 + aj2 x2 + ... + ajn xn - xn+m1 = bj j = 1, ..., m2 ak1 x1 + ak2 x2 + ... + akn xn = bk k = 1, ..., m3 (3) More restrictedly, in the canonical form: x1 + a11' xm+1 + a12' xm+2 + ... + a1n' xm+n = b1' (4) x2 + a21' xm+1 + a22' xm+2 + ... + a2n' xm+n = b2' ... xm + am1' xm+1 + am2' xm+2 + ... + amn' xm+n = bm' x1, ..., xn+m ≥ 0 b1', ..., bm' ≥ 0 Or in the matrix format, Ax=b (5) 6 x ≥ 0, b ≥ 0 Where, ⎧1 0 ... 0 a11' ⎪ ' ⎪0 1 ... 0 a 21 A= ⎨ ... ⎪ ⎪⎩0 0 ... 1 a m' 1 a12' ... ' 22 ... a ... a ' m2 ... ⎧ x1 ⎫ ⎪ ... ⎪ ' ⎪ ⎪ a1n ⎫ ⎪ ⎪ x ⎪ m a 2' n ⎪ ⎪ ⎪ ⎬ , x = ⎨ x m +1 ⎬ , b = ⎪x ⎪ ⎪ ' ⎪ ⎪ m+2 ⎪ a mn ⎭ ⎪ ... ⎪ ⎪x ⎪ ⎩ m+n ⎭ ⎛ b1 ' ⎞ ⎜ ⎟ ⎜ b2 ' ⎟ ⎜ ... ⎟ ⎜ ⎟ ⎜ b '⎟ ⎝ m⎠ For the purpose of presentation, Equations 4-5 assume that no equality exists in Equation 2 (m3 = 0). Although it seems to be different from Equations 4-5, Equations 2-3 can be transformed to the canonical form as discussed subsequently. The variable x1, ..., xm which appear with a unit coefficient in only one equation and with zeros in all the other equations are called the dependent variables xd = (xd1, ..., xdm). In the canonical form, there is one such basic variable in every constraint equation. The other n variables xm+1, ..., xm+n are called the independent variables xi = (xi1, ..., xin). Obviously, x = xd + xi, and xd ∪ xi = ∅. As shown in Equations 4-5, one basic feasible solution can trivially be acquired when xi = 0 and xd = b. On the other hand, the choice of xm+1, ..., xm+n as independent variables was purely for convenience. In fact, any variable could be the independent variable through some elementary row operations which multiply and add the rows in Equation 5. Given the total n+m variables, independent variables xi can have C(n+m, n) different sets. Note that this selection of independent variables is equivalent to choosing active constraints in acquiring one basic 7 solution. However, the concept of independent variable sets facilitates the efficient traversal to other basic feasible solutions. Assuming that the feasible space H is a closed convex polyhedron (the open condition is an extreme case discussed later), H can be viewed as a connected graph G = (V, E) with each vertex Vi representing one extreme point xi = ( xd1i ,..., xd mi , xi1i ,..., xini ) . According to the previous definition of the extreme point, Vi is the intersection point of n hyperplanes. Note that any one of n hyperplanes of Vi can be replaced by an additional hyperplane to obtain the adjacent vertex Vj. Hence Vi can have C(n, 1) = n adjacent vertices. In term of independent variables, each vertex Vi has a distinct set of independent variables xii = ( xi1i ,..., xini ) (xii ∈ xi). Thus, the adjacent vertex Vj differs from Vi in exactly one independent variable. The traversal from Vi to its adjacent vertices can be accomplished as a pivot operation in the form of tableau. Table 1 shows an example of the tableau for Equation 1. Similar to the simplex method, the tableau is filled with aij and bi. Each row represents one constraint. In this case, xdA = (x3, x4, x5) and xiA = (x1, x2). First, x1 is assumed to leave the set of the independent variables. There are three alternatives in xd to choose as an entering variable. Each of them represents one constraint blocking the leaving variable x1. Quantitatively, the blocking distance di is represented by bi/ai1. In order to satisfy every constraint, the minimum positive blocking distance is required. In this case, min{b1/a11, b2/a21, b3/a31} = b1/a11 = 3. Hence xd1 = x3 is chosen, xdB = (x1, x4, x5) and xiB = (x3, x2). The pivot element is 1 as circulated in Table 1. Similarly, min{b1/a12, b2/a22, b3/a32} = b3/a31 for x2 leaving. Therefore xd3 = x5 is the entering variable, xdC = (x3, x4, x2) and xiC = (x1, x5). 8 Table 1. Exploration the adjacent vertices for Equation 1 x A x1 x2 x3 x4 x5 b b/a 1 b/a 2 x3 1 -2 1 0 0 3 3 -1.5 x4 1 1 0 1 0 6 6 6 x5 1 4 0 0 1 12 12 3 0 0 3 6 12 Following the same approach, all vertices and extreme points are computed as in Table 2. The extreme point associated with each pivot element is labeled near the element. As shown in the table, not all pivot operations are necessary since the pivot might result in previously resolved extreme point. Considering that all extreme points are connected in a graph structure, they can be traversed exactly once in a breadth-first searching scheme. Table 2. All extreme points for Equation 1 9 x3 x4 x5 x A x1 x2 x3 x4 x5 b b/a 1 b/a 2 1B -2 1 0 0 3 3 -1.5 1 1 0 1 0 6 6 6 1 4E 0 0 1 12 12 3 0 0 3 6 12 b/a 2 b/a 3 0 0 3 -1.5 3 0 -2 C 3 1A -1 1 0 3 1 -3 0 6 -1 0 1 9 1.5 -9 3 0 0 3 9 b/a 1 b/a 5 1.5 0 1 0 0.5 9 6 18 0.75 D 0 0 1 3 4 -12 0.25 1 0 0 -0.25 0.25 A 3 12 12 0 3 9 3 0 b/a 3 b/a 4 5 15 7.5 1 x x x x B E C D 1 0 0.33333333 0.66666667 -0.3333333 0.33333333B 0 0 1 0 1 -3 3 0 0 1D -2 1 3 3 -1.5 5 1 0 0 3 b/a 4 b/a 5 1C 0 0 1 -1.5 3 0 0 -2 E 1.33333333 -0.3333333 3 1 4 3 -12 0 1 0 -0.3333333 0.33333333 2 -6 6 4 2 3 0 0 Based on the above discussion, the traverse-extreme-point algorithm (TEP) is next presented. The algorithm uses the adjacency list to represent the connected graph G for the feasible space (Cormen, Leiserson et al. 1990). Compared to the adjacency-matrix representation, the adjacency list is preferred due to its simplicity and small number of edges. It maintains several additional data with each extreme point xe = {x1, ..., xn+m} in the graph besides the adjacency list xe.Adj. The set of dependent/independent variables of xe is stored in the variable xe.xd/xe.xi, the predecessor is xe.p, and the distance to the initial vertex xs is xe.depth. The algorithm also uses a queue Q to manage the collection of 10 the extreme points that have at least one unexplored neighbor. The procedure starts with an initial vertex xs and its set of independent variables xi = {xi1, xi2, ..., xin}⊂ xs. TEP(xs, xi) 1 V[G] ← {xs} 2 Q ← {xs} 3 xs.p ← ∅, xs.depth ← 0 4 xs.xi ← xi 5 xs.xd ← xs - xs.xi 6 while Q ≠ ∅ 7 xe ← Head[Q] 8 for each xi ∈ xe.xi 9 j ← Min {bi/aij: bi/aij > 0} 10 xi[i] ← xe.xd [j] 11 xf ← Head[Q] 12 PIVOT ← TRUE 13 while (xf ≠ ∅) AND PIVOT 14 if xi = xf.xi then 15 add xe in xf.Adj, 16 PIVOT ← FALSE add xf in xe.Adj 11 xf ← xf.next 17 18 if PIVOT then 19 xf ← new extreme point pivoting around aij 20 xf.xi ← xi 21 xf.xd ← xe.xd, 22 V[G] ← xf 23 PUSH(Q, xf) 24 add xe in xf.Adj, 25 xf.p ← xe, 26 xf.xd [j] ← xe.xi[i] add xf in xe.Adj xf.depth ← xe.depth + 1 POP(Q) The algorithm works as follows. Lines 1-5 initialize the graph with the first extreme point. The main loop of the program is contained in lines 6-26. The loop iterates as long as there remains an uncompleted extreme point in Q. With the queue data structure, the program avoids recursion which is often costly. Lines 8-26 iterate each independent variables xi of xe to expand the graph of the extreme points. After finding the j_th constraint that blocks xi, Lines 9-10 locate the proper dependent variables xe.xd[j] (not xj). Lines 13-17 examine if the adjacent vertex of xe already exists in Q. If not, the new extreme point xf with the solution pivoting around aij is added into G and Q in Lines 19-25. Line 26 pops out xe after all its adjacent vertices have been explored. 12 5 Correctness of traversing algorithm f Given any extreme point xe = (b1e ,..., bme , 01 ,02 ,..., 30) , let x be the adjacent vertex n×0 obtained from the TEP. Without the loss of generality, let xm+j (1 ≤ j ≤ n) leave and xi (1 ≤ i ≤ m) enter the independent variable of xe. f ,02 ,..., ,02 ,... xf = (b1f ,..., bi −f 1 ,0, bi +f 1 ,..., bme , 01 30, bi , 01 30) ( j −1)×0 (6) ( n − j )×0 Where ⎧ e bie e ⎪bk − e a kj aij ⎪⎪ f bk = ⎨0 ⎪ bie ⎪ e ⎪⎩ aij Since k = 1,..., i − 1, i + 1,..., m k = i, m + 1,..., m + j − 1, m + j + 1,..., m + n k = m+ j bie bke bke > 0 , bkf ≥ 0 (k = 1, ..., j, ..., m). ≤ for all e e e aij a kj a kj ⎧1 ⎪ ⎪ ⎪ And, Ae xf = ⎨0 ⎪ ⎪ ⎪⎩0 ... 0 ... 0 ... ... ... 1 ... 0 a11e aije ... a1ej ... ... aije ... ... ... e e ... 0 ... 1 a m1 ... a mj ... a1en ⎫ ⎪ ... ⎪ ⎪ ... aine ⎬ ⎪ ... ⎪ e ... a mn ⎪⎭ ⎧ b1e − a1ej × bie aije ⎫ ⎪ ⎪ ... ⎪ ⎪ ⎪ ⎪ 0 ⎪ ⎪ ⎧b1e ⎫ ... ⎪ ⎪ ⎪ ⎪ ⎪⎪b e − a e × b e a e ⎪⎪ ⎪⎪ ... ⎪⎪ e m mj i ij e ⎨ ⎬ = ⎨bi ⎬ = b 0 ⎪ ⎪ ⎪ ... ⎪ ⎪ ⎪ ⎪ ⎪ ... ⎪ ⎪ ⎪⎩bme ⎪⎭ e e bi aij ⎪ ⎪ ⎪ ⎪ ... ⎪ ⎪ ⎪⎩ ⎪⎭ 0 Hence xf is another basic feasible solution of the original problem. Since xe and xf could be any arbitrary extreme point and its correspondent adjacency, all solutions obtained in 13 the described TEP are the basic feasible solutions of Equation 4-5. Moreover, all extreme points are connected and reachable from the initial vertex xs. Assume that one extreme point xr is not reachable from xs. Let Hs denote the polyhedron including xs. Then xr is disconnected to Hs in En. Since both xr and Hs are inside the entire feasible space H, the convex property of H is conflicted to the disconnection statement. Therefore the assumption is wrong. All extreme points are reachable from xs. The above discussions prove that the TEP reaches all extreme points starting from xs. Moreover, let d(xe, xs) denote the shortest-path distance from xe to xs as the minimum number of edges in any paths from xe to xs. The TEP actually computes the shortest-path distance between every vertex to xs. Lemma: Suppose the queue Q = {V1, V2, .., Vr} during the execution of the TEP, where V1 is the head and Vr is the tail. Then V1.depth ≤ V2.depth ≤ ... ≤ Vr.depth ≤ V1.depth + 1. Proof: The proof is by induction on the number of queue operations. Initially, when the queue contains only xs, the lemma certainly holds. Assume V1.depth ≤ V2.depth ≤ ... ≤ Vr.depth ≤ V1.depth + 1. If the head V1 of the queue is popped out, the new head is V2. Since V1.depth ≤ V2.depth, Vr.depth ≤ V1.depth + 1 ≤ V2.depth + 1. The remaining inequalities are unaffected. If a new vertex Vr+1 is pushed into the queue, Vr+1.depth = xf.depth = xe.depth = V1.depth + 1 according to Line 20 of the algorithm. Therefore Vr.depth ≤ Vr+1.depth and the remaining inequalities are unaffected. Thus, the lemma is always true during the execution of the TEP. ♦ 14 Theorem 1: For any vertex xe, xe.depth is the shortest-path distance d(xe, xs) from xe to the initial extreme point xs in TEP. Proof: Denote Vk as the set of vertices at distance k from xs. The proof proceeds by induction on k. When k = 0, V0 = {xs}. xs.depth = 0. The basis holds. Assuming that xe.depth = d(xe, xs) for xe ∈ Vk-1, now let us consider an arbitrary vertex xv ∈ Vk, where k ≥ 1. From the previous lemma, all vertices pushed into the queue monotonically increase the depth. It implies that all vertices in Vk-1 are pushed into the queue before xv. Moreover, xv is discovered by xu ∈ Vk-1. (xv can not be discovered earlier, otherwise any adjacent vertex xu ∈ Vk-2 would give d(xv, xs) = d(xu, xs) + 1 = k-2 + 1 ≠ k.) By the time that xu becomes the head of the queue, xv.depth = xu.depth + 1 = d(xu, xs) + 1 = k. Since xv is an arbitrary vertex, the inductive hypothesis is proved. ♦ 6 Analysis Since the pivot operation requires O(m(n+m)) time to update every element of A in Equation 4, Line 19 of the code dominates the running time of the TEP. The graph structure is maintained such that the pivot operation will occur only once when the extreme point is first created. Therefore the total time is proportional to the number of the extreme points in the feasible space. As proved by (Berenguer and Smith 1986), the mean number of extreme points of a randomly generated feasible space is no more than 2n for any number of constraints and decision variables. Therefore, the presented algorithm works in exponential time, compared to the factorial time of the exhaustive combination 15 method. For instance, a small system with n = 20 and m = 30 additional constraints would take no more than 1.05×106 pivot operations in the TEP, while the exhaustive combination method needs to generate 4.71×1013 basic solutions 7 7.1 Discussion Initial extreme point As described in the TEP, an initial extreme point is assumed as input. There actually exist a couple of methods that generate the first extreme point. One of them is the two-phase method (Press, Teukolsky et al. 1992). Denoting that the artificial variables zi = bi - xi - ai1 xm+1 - ... - ain xm+n (zi ≥ 0, i = 1, ..., m) and the auxiliary objective function z' = z1 + z2 + ... + zm in Equation 4, the new system is a typical linear programming problem in the canonical form where xi = (x1, ..., xn+m), and xd = (z1, ..., zm). The simplex method can solve the problem and provide an solution with the minimized z'. Noting that z' will be minimized to 0 only if all nonnegative zi are assigned 0 and fit in independent variables xi' = (z1, ..., zm, xi1', ..., xin'), an extreme point xi = (xi1', ..., xin') of Equation 4 can then be acquired by simply eliminating zi from xi'. The bonus of the two-phase method is the identification of an empty feasible space. If the first phase does not produce zero values for all zi, it signals that there is no initial basic feasible solution, i.e., empty feasible space. As a linear programming problem proved by Stephen Smale (Smale 1983), the identification of an empty feasible space is statistically no larger than the order of m or n. 16 7.2 Unboundedness and degeneracy The TEP computes the blocking distance bi/aij in Line 9. There are some special cases. First, aij could be negative or zero. Then xi could indefinitely increase without violating the nonnegativity of other variables, i.e., the feasible space is unbounded for increasing xi. As such, xe is labeled as unbounded and the procedure moves on to the next vertex. In addition, bi could be 0. Geometrically, it means more than n hyperplanes intersected at the same point. The case is also exhibited for multiple tied blocking distances. If so, the extreme point xe could be assigned an alias for different sets of independent variables. Therefore, the pesudo code is modified as following: 9 xi ← xe.xi, xd ← xe.xd 9.1 j ← 0, b_min ← ∞ 9.2 for k ← 1 to n 9.3 9.4 9.5 if (aik > 0) AND (bk/aik < b_min) then j ← k, b_min ← bk/aik if b_min = ∞ then 9.6 xe.Unbounded ← TRUE 9.7 continue 9.8 9.9 else if b_min = 0 then xi[i] ← xe.xd [j] 17 9.10 xe.Alias_xi ← xi 9.11 continue 10 xi[i] ← xe.xd [j] 11 xf ← Head[Q] 12 PIVOT ← TRUE 13 while (xf ≠ ∅) AND PIVOT if (xi = xf.xi OR xf.Alias_xi OR more xf.Alias_xi) then 14 ... 7.3 From decision variables to multiple performance attributes Remember that the objective functions are included in the form of constraints. Due to the duality of the linear model, all extreme points in the feasible decision space can be mapped to the feasible attribute space. Then the global Pareto Optimal boundary, or efficient frontier, for multiple attributes is identified (Zhu and Kazmer 2000). Figure 2 is an example of the trade-off between two performance attributes cost and time. Assuming that less cost and time are favored, the feasible attribute space provides the Pareto Optimal boundary ABCD to trade-off cost and time. Based on the established relationship between cost and time, the decision maker can then select the desired solution according to his/her own preference. It is important to note that the tradeoff is obtained upon the established feasible space rather than imposing arbitrary weight factors on multi-attributes. For instance, the solution C could be selected with its low cost and relatively fast time. 18 Cost A Feasible Space B C D Time Figure 2. Decision making with the performance space 8 Conclusion The global feasible space is important in making the decision with multiple objectives and fuzzy constraints. The paper presents an extensive simplex method to solve the global feasible space for a linear model. By adopting a pivot operation similar to the Simplex method, the algorithm traverses every basic feasible solution exactly once. The method is superior to the exhaustive combination method because it only computes the basic feasible solution. Moreover, the graph structure of all basic feasible solution is beneficial to many applications. For example, the volume of the feasible space may be a critical index to evaluate risk and uncertainty of a formulated problem. Also, the feasible space can be established for a set of specified performance attributes to solve the inverse problem. Especially, the shortest path between two solutions provides the least change of the decision alternatives. 19 9 Acknowledgement This research is supported by National Science Foundation, grant #9702797, through the Division of Design, Manufacture, and Industrial Innovation. 10 References Berenguer, S. E. and R. L. Smith (1986). “Expected Number of Extreme Points of a Random Linear Program.” Mathematical Programming: 129-134. Cormen, T. H., C. E. Leiserson, et al. (1990). Introduction to Algorithms, The MIT Press. Dantzig, G. B. (1998). Linear Programming and Extensions, Princeton University Press. Press, W. H., S. A. Teukolsky, et al. (1992). Numerical recipes in C: the art of scientific computing, Cambridge University Press. Reklaitis, G. V., A. Ravindran, et al. (1983). Engineering Optimization Methods and Application, John Wiley & Sons. Smale, S. (1983). “On the Average Number of Steps of the Simplex Method of Linear Programming.” Mathematical Programming: 241-262. Zhu, L. and D. Kazmer (2000). A performance-based reprsentation of constraint based reasoning and decision based design. Proceedings of ASME Design Enigneering Technical Conference, 12th International Conference on Design Theory and Methodology, Baltimore, Maryland, DETC2000/DTM-14556. 20
© Copyright 2024