Abstract:
Modern decision support methods handle uncertainty or hypothesis about operating conditions, using one of two techniques viz. probabilistic formulation and constraints based method, which is the subject of the present invention. A large number of applications use linear constraints to specify uncertainty. These linear constraints are the set of linear inequalities, which are used to define the demand/supply in the area of supply chains. The set of linear inequalities forms a polytope, the volume of which represents the information content. The present invention deals with the application of computational geometrical methods to find the set theoretic relationship—subset, intersection and disjointness among the polytopes and then present a visualization technique to represent these relationships among polytopes. This invention proposes a decision support system and method to visualize the relationship among the polytopes to help with decision support. A specific embodiment is a Decision Support System for Supply Chain Management.

Description:
FIELD OF THE INVENTION 
       [0001]    This invention proposes a decision support system and method to visualize the relationship among the polytopes in order to help with decision support. In specific, the visualization system includes a relational algebra visualize used to provide various methodical points of assistance to users making decisions. 
       DISCUSSION OF PRIOR ART 
       [0002]    US2002107819A proposes a Strategic Planning and Optimization System that uses historical sales data to predict optimal prices and similar factors for meeting a number of business goals. Unlike previous systems that allow a user to model prices and other factors based on physical constraints, the present invention allows the optimization to occur against the background of one or more strategic objectives. Such objectives, such a price image, are not set by physical constraints but instead are imposed by the user with the notion that they will provide a strategic and ultimately an economic advantage. The system allows the analysis of the costs and benefits of such management imposed strategic objectives. 
         [0003]    Two major techniques for handling uncertainty in algorithms are Stochastic Programming [BGN*04] [SAG*03] and Robust Programming [BT06] [BN98]. The word “uncertainty” is taken to mean insufficient knowledge—all parameters cannot be specified completely. Stochastic Programming uses a probabilistic formulation of the world and single/dual stage optimization (with recourse) can be used to optimize expected values of the size, capacity, cost etc. The probability distribution that is assumed affects the outcome of the result and the distribution is difficult to estimate in practice. Robust programming assumes a set of scenarios (a scenario is a set of values for all the parameters), and optimizes the worst-case value of the metric over the set of scenarios. The limitation of Robust Programming is the generation of set of scenarios. Prior work in this field has extended and applied the robust programming formulations in the context of supply chains, credit risk, and finance and so on. This prior work mitigates the scenario specification difficulty, by specifying sets of scenarios as a hierarchical set of ensembles, each ensemble being specified by linear or in general convex constraints, these constraints having domain specific meaning. These ensembles provide a framework for decision support—determination of relationships between ensembles provides a framework for analyzing the relationships between different sets of assumptions about uncertainty. The proposed invention finds the relationships between these ensembles (that drive the robust optimization) and also, presents a visualization technique, which is useful in decision support. 
         [0004]    Robust programming in the simplest form adds uncertainty to an optimization problem specified as a linear program (this formulation encompasses many optimizations, including path optimizations, flow optimizations, topological optimizations, etc): 
         [0000]      MinC t X 
         [0000]      Ax&lt;=b 
         [0000]    The uncertainty can be in the elements of matrix A, right hand side b, or cost coefficients C. These uncertainties represent limited knowledge about system parameters (e.g. future demand), and the optimization has to be the best taking all these possibilities into account. It is easy to show that all these uncertainties can be represented by constraints on A only, keeping C and b fixed [BT06]. Different assumptions about the uncertainties on the matrix elements A ij  lead to different classes of problems, ranging from linear programming itself to quadratic/Second Order Cone Programming (SOCP)/Semi-Definite Programming (SDP) formulations (in cases of quadratic constraints) [BT06]. 
         [0005]    In a large class of applications, the constraints on the matrix elements, cost coefficients, right hand sides, etc. are linear (or quadratic) constraints. For example, in supply chains, the R.H.S b represents demands, which have to be often forecasted. Aggregates of these demands, differences between related demands/sets of demands etc can be forecasted better than each individual element, leading to linear constraints [PA03]. In such cases, the robust programming problem is to optimize the metric under linear (or quadratic) constraints on the matrix elements). In general this results in upper/lower bounds on the metric as the parameters vary satisfying the constraints. These bounds can be determined using techniques of convex optimization developed in the last decade by [BT06] [BN98] [BN99] [BN00]. 
         [0006]    Clearly, the bounds produced by robust optimization techniques are valid for only the particular constraint set assumed—the specific ensemble of scenarios is illustrated in  FIG. 1  of the accompanying drawings (better and more illustrative diagram, with multiple polytopes and associated bounds—maybe show the contour lines of C T x, also show a simple example right here with 2 goods). Different ensembles (sets of constraints) will result in general in different answers. Comparison amongst different answers requires both qualitative and quantitative comparison amongst the ensembles, which is handled using polytope geometric algorithms. Qualitative comparisons are set-theoretic—subset, intersections and disjointness, reflecting more specific assumptions, overlapping assumptions, and totally separate assumptions about the future respectively. Quantitative comparisons are handled using information theoretic concepts. 
       SUMMARY OF THE INVENTION 
       [0007]    The present invention has several advantages, including the ability to handle ensembles composed of an infinite number of scenarios, representing an infinite set of assumptions about the future. Additionally, the use of polytope (in general convex body) geometric algorithms enables one to compare different sets of assumptions both qualitatively (using subset, intersection, and disjointness relations between two polytopes) and quantitatively (polytope volume) facilitating decision support. The main challenge is dimensionality of the polytopes (or in general convex bodies)—large problems can have millions of dimensions, challenging the fastest polytope geometry algorithms known to date. This invention illustrates the applicability of existing computational geometry algorithms, for the comparison and visualization of different polytopes corresponding to different sets of future assumptions, for medium scale problems with 1000&#39;s of variables. Described herein are key elements of a software package based on the above, for decision analysis and optimization. These techniques will become more useful as more powerful computational geometry algorithms are developed. 
         [0008]    Visualization of sets of N-dimensional Convex Polytopes is extremely challenging. In classical set theory, the relation between polytopes treated as sets (subset, disjointness, intersection) is shown using Venn diagrams. This cannot be meaningfully applied for representing the relationship among high-dimensional polytopes, due to complex relationships encountered between polytopes, and associated clutter in the Venn Diagram. There is a parallel coordinate technique [ID90] [C195], which represents an N-dimensional object in 2-dimensional space, but this is not intuitive to the decision maker, and looses information. Moreover, the problem that has been dealt here has polytopes specified by linear constraints, the vertices of which are unknown. Computing the vertices [AD00] is itself an exponential process, and does not scale to thousands to millions of dimensions. There is a visualization scheme that is presented in [CI01] to find the solution of a 3-D linear programming problem, but that is meant to understand the solution process and not the relations among polytopes. Work at Cornell University [CU] on supply chains, deals with non-linear relationships among thousands of parts at hundreds of location using animations and not with the representation of relationships among convex polytopes representing uncertainty. The contribution herein, is applying relational algebraic concepts to find relations between polytopes and also a visualization technique for these relations. This contribution enables different sets of assumptions about the future to be compared in a global manner, without comparing only sample points belonging to different sets (local comparison). As such it offers a powerful tool for decision analysis and optimization under uncertainty, a topic of current interest. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0009]      FIG. 1  illustrates a Convex Polytope in which each of the point inside the polytope forms a scenario; 
           [0010]      FIG. 2  illustrates a subset; 
           [0011]      FIG. 3  illustrates an intersection; 
           [0012]      FIG. 4  illustrates disjoint sets; 
           [0013]      FIG. 5  illustrates the volume of information content; 
           [0014]      FIG. 6  illustrates the supply chain; 
           [0015]      FIG. 7  illustrates a graphical visualization for algorithm for subset; 
           [0016]      FIG. 8  illustrates a graphical visualization for algorithm for intersection; 
           [0017]      FIG. 9  illustrates the runtime for intersection relation between constraint sets; 
           [0018]      FIG. 10  illustrates the runtime for subset relations between sets; 
           [0019]      FIG. 11  illustrates runtime for K-way intersection relations between sets; 
           [0020]      FIG. 12  illustrates the input analysis phase; and 
           [0021]      FIG. 13  illustrates the Time Series of Relations, together with inter-polytope max distances. 
       
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     Qualitative and Quantitative Set Comparisons 
       [0022]    Qualitative Set theoretic Relationships: 
         [0023]    Qualitative set theoretic relationship between polytopes is illustrated below.  FIGS. 2 ,  3  and  4  show polytopes in 2-Dimensions, usually the constraint sets specified for large applications consists of tens of thousands or even million variables forming an N-dimensional polytope. While the present work is specified in terms of linear constraints and associated polytopes, the results are valid for general convex constraints and associated N-dimensional convex bodies, provided more sophisticated algorithms based on convex optimization (REF) are used. 
         [0024]    Subset: This is the case when one of the polytope forms a subset of other (FIG.  2 )—the larger polytope includes all the possibilities about the future corresponding to the smaller, and may have some more also. In this case, the volume of information content (explained in section 3.2) in the larger polytope is more than the smaller one, which implies that larger polytope is more uncertain. By adding more constraints to the larger polytope, more information is added and hence uncertainty decreases. 
         [0025]    Intersection: In this case, the polytopes intersect each other (FIG.  3 )—there are some commonalities that exist between the assumptions about the future represented by the polytopes. These commonalities refer to those sets of parameters that satisfy both the constraint sets. 
         [0026]    Disjoint: The polytopes do not intersect; they are disjoint sets ( FIG. 4 ). In other word s, there is no commonality amongst assumptions represented by these polytopes. 
       Quantitative Information Estimates: 
       [0027]      FIG. 5  shows two scenario ensembles,—A and B, B being a subset of A. Bounds on the metric of interest as the parameters varying inside B clearly are tighter than the bounds that vary inside the larger polytope A. The amount of information represented by the polytopes A and B, can be quantified as follows. Assume that in the lack of information, all scenarios in large region R are equally probable. R is taken to be of finite volume (for simplicity initially) V max . Then the constraints specifying any convex polytope CP (e.g. A) specify a subset of Region R, of Volume V CP . The amount of information provided by the constraints specifying the convex polytope can be equated to the Shannon [Sha48] surprisal of scenarios falling within CP given by 
         [0000]    
       
         
           
             
               
                 
                   I 
                   = 
                   
                     log 
                      
                     
                         
                     
                      
                     2 
                      
                     
                       ( 
                       
                         
                           V 
                           max 
                         
                         
                           V 
                           Cp 
                         
                       
                       ) 
                     
                      
                     
                         
                     
                      
                     bits 
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
         [0028]    Relative comparison of the information content among different polytopes (Say for A and B in  FIG. 5 ) can be done by comparing their relative volume as follows 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       I 
                       1 
                     
                     - 
                     
                       I 
                       2 
                     
                   
                   = 
                   
                     log 
                      
                     
                         
                     
                      
                     2 
                      
                     
                       ( 
                       
                         
                           V 
                           
                             CP 
                              
                             
                                 
                             
                              
                             2 
                           
                         
                         
                           V 
                           
                             CP 
                              
                             
                                 
                             
                              
                             1 
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0029]    An algorithm to compute the volume of convex bodies is given in [LV03]. This algorithm is of the Order O(n 4 ), which does not scale to the problem addressed herein, since problems with 1000&#39;s of dimensions are commonplace. However, most meaningful and easily interpreted ensembles are composed of simple linear constraints, with sums of parameters, differences, etc, and special techniques for such structured polytopes can be used to scale to the large number of dimensions encountered in this application. Due to the large number of dimensions, it is also evident that the volume cannot be represented using a reasonable number of digits; rather its logarithm is used. 
       An Example—Supply Chain Management 
       [0030]    The concepts explained above are applied by taking Supply chain as an example. A typical supply chain consisting of supplier, factory and market is as shown in  FIG. 6 . It may consist of other intermediate nodes like warehouse, dealers etc. A supply chain necessarily involves decision about future operations like demands, supplies etc. However, forecasting for large number of commodities is difficult, especially for new products. Techniques of robust optimization are applied, by specifying the ensembles using linear constraints (which are the aggregates or the differences) on demand variables, supply variables, production variables, warehouse capacity variables etc. The number of linear constraints is typically smaller than the number of variables. By specifying the linear constraints on demand, it is possible to find the optimum supplies needed through the techniques of robust optimization [BT06] [BN98] [BN99] [BN00]. As shown in  FIG. 6 , d 1 , d 2  and d 3  are the demands that are uncertain. For ease of explanation, Let us consider only demands d 1  and d 2 . For specificity, assume that d 1  is one brand of soap and d 2  is its competitor. Now, these demands can be expressed in the form of linear constraints as follows 
         [0031]    1. Limits per demand, e.g. for demand  1   
         [0000]      Min 1&lt;=d1&lt;=Max1.       This specifies only a priori knowledge about the limits on demand  1  (for toothpaste and/or its competitor).         
         [0033]    2. Substitutive demands 
         [0000]      Min2 &lt;=d 1 +d 2&lt;=Max2       As the demand for soap one increases, the demand for the other has to decrease so as to maintain the constraints with the specified limits, reflecting total industry size constraints.         
         [0035]    3. Complementary demands 
         [0000]      Min3 &lt;=d 1 −d 2&lt;=Max3       As the demand for one brand of soap increases, the demand for other brand also has to increase for the difference to be within the specified limits such a constraint reflects a competitive response of the second brand to the first brands increase.         
         [0037]    These linear constraints form a polytope. There may be several different polytopes corresponding to different constraint sets. For example, consider the following three constraint sets: 
       Case 1: Constraint Set—CP 1   
       [0038]      200 &lt;=d 1 +d 2&lt;=400 
         [0000]      0 &lt;=d 1 −d 2&lt;=200 
         [0000]      0 &lt;=d 2 −d 1&lt;=200 
       Case 2: Constraint Set—CP 2   
       [0039]      250 &lt;=d 1 +d 2&lt;=350 
         [0000]      0 &lt;=d 1 −d 2&lt;=100 
         [0000]      0 &lt;=d 2 −d 1&lt;=100 
       Case 3: Constraint Set—CP 3   
       [0040]      250 &lt;=d 1 +d 2&lt;=350 
         [0000]      0 &lt;=d 1 −d 2&lt;=100 
         [0000]      0 &lt;=d 2 −d 1&lt;=300 
         [0041]    Now, it is evident that CP 2  is a subset of CP 1  and also CP 2  is subset of CP 3 , where as CP 3  intersects with CP 1 . The notion of subset says that one is more specific than the other, implying one is less uncertain than the other and the intersection says that there are a set of commonalities among the two sets. Now, these set theoretic relationships among these polytopes are found by applying methods described in section 5 and represented graphically as mentioned in section 6. This two dimensional example can be solved by most LP solvers, but in large applications like supply chains, millions of variables exist, necessitating solvers like CPLEX. 
         [0042]    Quantification of the relative information content between the sets CP 1  and CP 2 , CP 2  and CP 3 , and between CP 3  and CP 1  is done using algorithms for polytope volume (Equation 2) and the results are given below (volume here is the area of the polytope in 2 dimensions).
       Volume of CP 1 −V CP1 =38500 square units.   Volume of CP 2 −V CP2 =10125 square units.   Volume of CP 3 −V CP3 =20625 square units.   Information in CP 2  relative to CP 1 :       
 
         [0000]        I   1   −I   1 =log 2   V   CP1   /V   CP2 =1.92 bits       Information in CP 2  relative to CP 3 :         
         [0000]        I   2   −I   3 =log 2   V   CP3   /V   CP2 =1.02 bits       Information in CP 1  relative to CP 3 :         
         [0000]        I   3   −I   1 =log 2   V   CP1   /V   CP3 =0.9 bits 
         [0049]    This quantifies the relative uncertainty in different polytopes. 
       Qualitative Decision Support—Relational Algebra of Convex Polytopes 
       [0050]    A set theoretic relational algebra for polytopes (which generalizes to convex bodies) can be developed as follows. This relational algebra can be used in a query language for decision support as shown below. 
         [0051]    Query Language: Let A 1 , A 2 , A 3  . . . denote polytopes (or convex bodies) corresponding to different sets of assumptions about the future. A query can be written in sum-of-products form as 
         [0000]      Q=ΣΠA i1 A i2 A i3  . . .
 
         [0000]    Where the product operation is intersection of polytopes and the sum the union (this results in non-convex bodies, and has to be handled carefully by enumeration for small number of terms). The subset and disjointness operations can also be specified using intersection as shown below in Algorithm No. 1. For example, the query—Is there at least one future possibility in Ensemble A, or is there one in the intersection of B and C and D is answered by the satisfiability of Q 
         [0000]    
       
      
       Q=A+BCD  
      
     
         [0052]    Decision support involves answering the satisfiability of Q for at least one point in the polytopes, corresponding to one possible realization of the future as per the assumptions outlined by Q. 
         [0053]    Executing this query requires fast techniques for fundamental set-theoretic operations of polytopes—pair wise intersection, subset, and disjoint ness, and their generalizations to multiple polytopes, which is shown as follows (Pair wise). Note that all three operations are reduced to finding the intersection below: 
         [0054]    First, suppose P and Q(P c and  Q c  are the complement of the sets P and Q) are two sets then
       1 If P∩Q=φ, then P and Q are disjoint   2 If P∩Q c =φ and Q∩P c ≠φ then P is a proper subset of Q   3 If QΩP c =φ and P∩Q c ≠φ then Q is a proper subset of P       
 
         [0058]    Based on the above Algorithm No. 1 results, 
       Algorithm No. 1: Subset, Intersection and Disjointness Among Convex Polytopes 
       [0000]    
       
         
           
             1. Take two constraint sets 1  at a time (say P and Q). 2    
             2. Combine the linear inequalities from both P and Q to form a new set R. Check for feasibility using an LP Solver 3    1 The terms Constraint sets and Convex Polytopes are used interchangeably 2 Each constraint set consists of linear inequalities and both the constraint sets are not the same, if it is same then it can be checked before the executing the algorithm. 3 QSOPT, and the industry standard CPLEX were both used in the present work. 
             3. If R is Infeasible then P and Q are disjoint sets, stop. Else, Continue. 
             4. Take each inequality from set P, reverse the inequality sign and add it to set Q, to form a set Q′. 
             5. Check for the feasibility of set Q′ at step 4. 
             6. If Q′ is infeasible for every inequality added from P to Q with inequality sign reversed then Q is subset of P. 
             7. If Q′ is feasible for at least one inequality added from P to Q, then Take each inequality from set Q, reverse the inequality sign and add it to set P, to form a set P′. 
             8. Check for the feasibility of set P′ at step 7. 
             9. If P′ is infeasible for every inequality added from Q to P with inequality sign reversed, then P is subset of Q 
             10. Again, if feasibility exists for at least one inequality, then P and Q intersect each other. 
           
         
       
     
         [0069]    The proof of Algorithm No. 1 is simple and omitted for brevity. The Order of the algorithm is O(m+n) calls to a linear programming (LP) Solver, with m and n being the number of linear inequalities in the two constraint sets P and Q respectively. If there are p constraint sets, then the Order of the algorithm will be O((m+n)p 2 ) to check the relationship between all pairs. The algorithm can of course be speeded up by using special structure in the constraints, etc. 
         [0070]    In passing, it may be noted that the large number of computational geometry algorithms that find the intersection of polytopes predominantly use vertices and/or points to compute the intersection [MP78], (which can also be used to find the subset). However, the number of vertices is exponential in the number of constraints, which makes these methods inapplicable in the present application domain. One is unaware of similar work connecting the fields of computational geometry and decision support, at least in these applications. 
       Algorithm No. 2: Multi-way Disjointness, Intersection, and Subset 
       [0071]    Algorithm No. 1 yields a yes-no answer, but does not yield a representation of the intersection of two polytopes (if non-null). This representation is required for a cascaded query (A∩B∩C). Algorithm No. 3 explicitly constructs this representation, allowing a multiple way intersection to be determined. The algorithm basically determines which of the constraints defines the intersection, and which do not. 
       Algorithm No. 3: (Intersection Representation) Finding the Minimum Number of Linear Equations Forming the Intersection 
       [0000]    
       
         
           
             1. Take two constraint sets at a time (say P and Q). * 
             2. Take each inequality from set P, reverse the inequality sign and add it to set Q to form set Q′. 
             3. Check for the feasibility of set Q′ at step 2. 
             4. If set Q′ is feasible, store the inequality (This inequality is forming intersection with the other polytope that is added from P to Q). 
             5. Repeat steps 2-4 by adding each inequality from set Q to set P, which forms set P′.
 
* Each constraint set consists of linear inequalities and both the constraint sets are not same.
 
           
         
       
     
         [0077]    The algorithm is of the Order O(m+n) call to the LP Solver where m and n is the number of constraints in P and Q respectively. The estimation of polytope volume to yield quantitative information content estimates is the topic of forth coming publications—sampling methods through domain specific methods can be used. 
       Graphical Visualization of Relations 
       [0078]    Once the relationships between all pairs of polytopes is determined, using the algorithm No. 1, these relationships among the constraint sets are graphically represented using the following conventions (see  FIG. 7 ).
       1. Each constraint set is represented as a square box. They are arranged in a circular layout.   2. A directed arrow is used to represent that one constraint set is the subset of the other. For example, as shown in  FIG. 7  constraint set 3 is subset of constraint set 2.   3. A double directed arrow is used to represent that one constraint set is intersecting with the other. For example, constraint set 1 intersects constraint set 2 in  FIG. 7     4. If the constraint sets are equal then a straight line from one set to another is used to represent the relation of equality. Constraint set 3 and constraint set 0 are equal as shown in  FIG. 7 .   5. Disjoint constraint sets are not connected by any lines.       
 
         [0084]    The graph obtained from algorithm No. 1 might be non-planar (usually for more than 5 constraint sets), but this is inevitable when representing topological properties of high-dimensional spaces in spaces of lower dimension. Multi-way intersection results in cliques of double arrows—this is shown in  FIG. 8  for a 3-way intersection. Determination of multiway intersections is done under user control, since the number of possible combinations is exponential in the number of sets of constraints N and the order of intersection M—the number of combinations of M constraint sets out of N total constraint sets. 
       Experimental Results: 
       [0085]    A Java implementation of algorithm No. 1 was developed, and tested using polytopes resulting from a supply chain optimization. Linear constraint sets (considering demand as variables) are generated randomly by varying the number of variables and number of constraints. The algorithm was profiled on IBM Machine with Intel 1.4 GHz, 512 MB RAM, and a disk speed of 4200 rpm. The readings have been taken by varying the number of—constraint sets, variables and inequalities.  FIG. 9  and  FIG. 10  shows the runtime considering two, three and four constraint sets (ensembles). Note that four ensembles correspond to four sets of assumptions about the future, each of which involves thousands to millions of variables, and many tens of constraints amongst them.  FIG. 9  shows the time to determine all pair-wise intersections between the polytopes, if present,  FIG. 10 , likewise determines which ensemble is a subset of another, if such a relation exists. It can be seen that the time taken by the algorithm for four intersecting sets with 1000 variables and 62 constraints each is around 20 seconds and the time taken for 4 sets which are subset of each other is around 9.3 seconds (with 1000 variables in each set and 62,52,42,32 constraints in four sets respectively). Other metrics can be evaluated from the figures and Table 1.  FIG. 11  shows runtime for the algorithm No. 2, it can be seen that for a single 4 way intersection the time taken for 1000 variables is around 5.5 minutes and for a single 3 way intersection the time taken is around 80 seconds. Larger problems with millions of variables can potentially be handled using high speed large-scale multiprocessors. 
         [0000]    
       
         
               
             
               
               
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 Time Taken for Different sets. 
               
             
          
           
               
                   
                   
                   
                 Standard 
                 Deviation 
               
               
                 Re- 
                   
                 Mean Time for 
                 Deviation 
                 from 
               
               
                 sult 
                   
                 Algorithm 
                 from Mean 
                 mean as 
               
               
                 No 
                 Forms 
                 (seconds) 
                 (seconds) 
                 % age 
               
               
                   
               
               
                 1 
                 Two 
                 1.145 (1.57) 
                 0.097 (0.166) 
                  8.5% (10.6%) 
               
               
                   
                 Intersecting 
               
               
                   
                 sets 1a   
               
               
                 2 
                 Two Subset 
                 0.854 (1.28) 
                 0.153 (1.155) 
                 17.92% (18.2%)  
               
               
                   
                 sets 2a   
               
               
                 3 
                 Four 
                  20.47 (21.98) 
                 0.88 (1.14) 
                 4.56% (5.61%) 
               
               
                   
                 Intersecting 
               
               
                   
                 Sets 1b   
               
               
                 4 
                 Four Subset 
                 9.38 (9.7) 
                  1.38 (1.388) 
                 14.17% (14.24%) 
               
               
                   
                 sets 3##   
               
               
                   
               
               
                 Figures in bracket indicate the overall time or % age for the algorithm including Visualization 
               
               
                   1 62 in each set 
               
               
                   2 62 and 52 in each set 
               
               
                   3 62, 52, 42, 32 in each set 
               
               
                   a No. of Variables - 100 
               
               
                   b No. of variables - 1000 
               
             
          
         
       
     
       Embodiment in a Supply Chain Network Analytics Package 
       [0086]    Based on the above description, an embodiment in a supply chain network analytics package, possibly operating in real time, is described herein. We shall refer to this as the SCMA package. A critical problem in the practice of supply chain analysis/optimization is that different assumptions result in different answers, and one is at a loss how to compare them together. SCMA enables us to thoroughly analyze this dilemma, both at the assumption (input) stage, and at the output stage. 
         [0087]    The basic operation of SCMA is as follows. (Refer  FIG. 12 ). 
         [0088]    First, a set of constraints is created, based on either
       User Input  106 , creating constraints in constraint specification/generation module  103 .   Prediction  107  from historical time series data, plus a-priori information about the constraints. In other language, the input analysis engine  119  looks at the database  104  and creates an model of its contents—these are the constraints derived from the point data. In this embodiment, the invention is a database-modeling engine, which transforms point data into constraints.   Transformation  102  from me-existing constraints, preserving information content (or increasing/decreasing it).       
 
         [0092]    Each set of constraints in polytope module  100  (forming a polytope if all constraints are linear) is an assumption about the supply chains operating conditions, exemplarily in the future. Multiple sets of constraints can be created (CP 1 , CP 2 , CP 3 , in polytope module  100 ), referring to different assumptions about the future. 
         [0093]    Then, SCMA&#39;s analysis, done in the input analyzer  119  is performed using the following steps (not necessarily in this order)—
       1. Analysis of each assumption (polytope) by itself for information content—this is the information estimator  108  as described in our earlier PCT application published under No. WO/2007/007351.   2. Analysis of different assumptions (polytopes) in extended relational algebra module  109  to determine if
           Are two assumptions totally different—disjoint sets?   Do they have something in common—intersecting?   Is one a superset of the other, which is more general?   
            This is done in SCMA, which shows a graphical representation of answers to these questions (as in  FIGS. 7 and 8 ) for a variety of polytopes representing different assumptions about the supply chain&#39;s operation.   3. Analysis of Sequences of constraints:
           In the case of constraints sets (polytopes) evolving with time, or other index variables, SCMA&#39;s extended relational algebra module  109 , plots the evolution of the relations between the polytopes. While this can be solved by repeatedly calling the basic algorithms outlined above, these can be considerably speeded up by using methods of incremental linear programming, wherein small changes in constraints sets do not necessarily change the basis globally.     FIG. 13  indicates three polytopes evolving with time and the relations change as a, b, c are intersecting in the first two time steps, but a is disjoint and b and c are intersecting in the third step (the convention of  FIGS. 7 and 8  is not used for clarity, and the relationships are stated in textual form in  FIG. 13 ). The distance min/max/between analytic, centers is depicted by lines between a, b, and c, and continuously shown increasing and can be determined by methods of convex optimization as described earlier. The sequence depicted need not be with respect to time, but can be with respect to product id, node id, etc.   
           4. Metric-based Analysis: In addition to set theoretic properties, metric-based properties (distance, volume) can also be evaluated, to obtain further information. We refer to this facility as the extended relational algebra engine.
           a. In the case of polytopes A and B, it is of interest to determine how far apart they are. This can be solved by the linear program given below. C A /B A  is the constraint set/right hand side for A, C B /B B  for B, and X is a point in A and Y in B.   
               
 
         [0000]      A={X:C A X&lt;=B A } 
         [0000]      B={Y:C B Y&lt;=B B } 
         [0000]      Min∥X−Y∥
 
         [0000]      C A X&lt;=B A    
         [0000]      C B Y&lt;=B B              Maximizing instead of minimizing finds the points in the two polytopes farthest from each other, and this can be used to normalize the minimum distance. Instead of the min of absolute value another norm like the L 2  norm can be used also, using convex optimization. Note that this can be used even if the polytopes are intersecting (min is always zero, and max can be determined)   In addition to the min/max distance between polytopes, the distances between two random points inside each, distance between analytic centers (using convex optimization), distances between each polytope and any or all the constraints of the other, etc can all be found using techniques well-known in the state-of-art (having runtimes polynomial in the problem size).       b. In the case of A being a subset of B, we need to know how smaller (relatively) A is compared to B. This can be estimated from volume estimation methods, comparing the volume of A to B by sampling algorithms   c. In the case of A and B being neither disjoint nor subsets, we would like to know what percentage of A and B are in the intersection, which can be analyzed using volume estimation methods, using either A or B as a normalizing volume.         
         [0108]    In addition to the distances and volumes, projections of the polytope along the axes or random directions can be used to determine their geometric relations. 
         [0109]    The relational algebra relations (subset, disjoint, intersecting), together with associated min/max distances between polytopes, and their volume, form the basis for input analysis.  FIG. 13  also has the distances marked. 
         [0110]    In a real time supply chain, inputs are read from the SCM database  104  in  FIG. 12 , which is updated in real time. The answers from input analysis can be used to trigger responses  111  in  FIG. 12 , where exemplarily orders are triggered if stock levels are too low, or demand levels are high. 
       SCMA Database 
       [0111]    SCMA operates on sets of constraints derived from exemplarily historical data in a database  104  in  FIG. 12 . The constraints are arbitrary linear or convex constraints, in demand, supply, inventory, or other variables, each variable exemplarily corresponding to a product, a node and a time instant. The number of variables in the different constraints (constraint dimensionality) need not be the same. Zero dimensional constraints (points) specify all parameters exactly. One-dimensional constraints restrict the parameters to lie on a straight line, 2-D ones on a plane, etc. 
         [0112]    These constraint sets are the atomic constituents of an ensemble of polytopes, which are made using combinations of them, as shown in the examples below:
       P 1 =C 1  AND C 2     P 2 =C 1  AND C 3     P 3 =P 1  AND P 2         
 
         [0116]    Note that the third polytope is succinctly written as the intersection of P 1  and P 2 . The set of all the polytopes (of various dimensions), together with the constraints forms a database of constraints, part of which is attached to polytope module  100  (but not shown to avoid cluttering the diagram), and part of which is in query database  110 . This database of constraints drives the complete decision support system. These constraints and polytopes can be time dependent also. The constraint database is stored in a compressed form, by using one or more of:
       1. Standard Compression Techniques like Lempel-Ziv.   2. Optimizing Polytope Representation in terms of other polytopes, i.e. using the most succinct representation, determined using algebraic simplification.       
 
         [0119]    Then these polytopes are analyzed to determine their qualitative and quantitative relations with each other, as outlined in the description above. 
       Database Optimizations. 
       [0120]    In addition to one-shot analyses of relationship between polytopes, decision support systems have to support repeated analyses of different relations made up of the same constraint sets. Let A, B, C, D, and X be constraint sets (polytopes). Then in a decision support system, we would like to verify the truth of 
         [0000]      A≠φ
 
         [0000]      B≠φ
 
         [0000]      C≠φ
 
         [0000]      A⊂B
 
         [0000]      A⊂C
 
         [0000]      B⊂C
 
         [0000]    
       
      
       X=B×C  
      
     
         [0000]    
       
      
       D=A×X∪B  
      
     
         [0000]        B ×( A×X )=φ
 
         [0000]        A ×( B×C )− D=B  
 
         [0121]    One method is to explicitly compute these expressions ab-initio from the relational algebra methods presented in the thesis. However, the existence of common subexpressions between the X=B×C, and A×(B×C)−D enables us to pre-compute the relation X=B×C (this is an intersection of two constraint sets, which can be obtained by methods like those described in Algorithm 5.3), and use it directly in the relation A×(B×C)−D. Common sub-expression elimination methods (well known in compiler technology) can be used to profitably identify good common subexpressions. These methods require the costs of the atomic operations to determine a good breakup of a large expression into smaller expression, and these costs are the costs of atomic polytope operations (disjoint, subset, and intersection) as outlined in the description above. These costs depend of course on the sizes of the constraint sets—the number of variables, and constraints, etc. 
         [0122]    These precomputed relations are stored in a query database  110  in  FIG. 12 , and read off when required. The database is indexed by a combination of the expression&#39;s operators and operands, which is equivalent to converting the literal expression string into a numeric index, using possibly hashing. Caching strategies are used to quickly retrieve portions of this database, which are frequently used. Since the atomic operations on polytopes are time consuming, pre-computation has the potential of considerably increasing analysis speed. This pre-computation can be done off-line, before the actual analysis is performed. 
         [0123]    We note that the relational algebra operators—subset, disjoint, intersection can be used at the conditions in a relational database generalized join. If X and Y are tables containing constraint sets (polytopes), the generalized join X         Y, is defined as all those tuples (x,y), such that x (a constraint set in X) is a subet of, disjoint from, or intersecting y (a constraint set in Y) respectively. This extends the relational databases to handle the richer relational algebra of polytopes (or general convex bodies if nonlinear convex constraints are allowed). 
       Exemplary Application of SCMA 
       [0124]    Below we give an example of the utility of the SCMA embodiment of this invention. Consider the task of optimizing a supply chain for unknown future demand. Depending on the future prediction model, the teams involved in the prediction, etc, very different answers can be obtained. For example, for expansion of a retail chain, some future assumptions are possibly:
       The total sales of the company will increase by at least Rs 1000 crores to no more than Rs 2000 crores, AND   The product mix will be no more than 5% different from what it is. AND   The industry revenue will experience a minimum of 3% and a maximum of 10% growth.       
 
       OR 
       [0000]    
       
         
           
             The product mix will migrate by at least 10% to higher paying products, AND 
             The total disposable income available to spend on goods by the customers will not change by more than 10% AND 
             The industry profit will experience a minimum of 4% and a maximum of 20% growth.
 
The first set of assumptions is over variables (Company Sales, Product Mix, Industry Revenue. The second set is over variables (Product Mix, Consumer Disposable Income, Industry Profit). The only variable common is the Product Mix. Clearly optimization under these two sets of assumptions is likely to yield very different answers. Which is correct? The relational algebra engine helps us resolve this dilemma by examining first, if these two sets of assumptions have anything in common (intersecting), or are totally different (disjoint). Then the common set can be separated, and the differences examined for further analysis as outlined in the description.
 
           
         
       
     
       REFERENCES 
       [0000]    
       
         1. [BGN*04] Benisch M., Greenwald A., Naroditskiy V., Tschantz M C., A  Stochastic Programming Approach to Scheduling in TAC SCM , Proceedings of the 5 th  ACM conference on Electronic Commerce, 2004. 
         2. [SAG*03] Santaso T, Ahmed S, Goetschalckx M, Shapiro A,  A Stochastic Programming Approach for Supply Chain Network Design Under Uncertainty , Technical Report, School of Industrial &amp; Systems Engineering, Georgia Institute of Technology, 2003 
         3. [BT06] Bertsimas Thiele.  Robust and Data - Driven Optimization: Modern Decision - Making under Uncertainty . Tutorials in Operations Research, INFORMS, 2006. 
         4. [BN98] Ben-Tal, A., and Nemirovski, A.,  A Robust Convex Optimization. Mathematics of Operations Research,  1998. 
         5. [BN99] Ben-Tal, A., and Nemirovski, A.,  Robust Solutions to Uncertain Linear Programs , Operations Research Letters, Volume 25, August 1999. 
         6. [BN00] Ben-Tal, A., and Nemirovski, A.,  Robust Solutions of Linear Programming Problems contaminated with uncertain data , Mathematical Programming, 2000 
         7. [MP78] David E. Muller and Franco P. Preparata.,  Finding Intersection of Two Convex Polyhedra . Theoretical Computer Science, Vol. 7, 1978. 
         8. [CI01] Jean Pierre Charalambos and Ebroul Izquierdo,  Linear Programming Concept Visualization , Proceedings of the Fifth International Conference on Information Visualisation, 2001. 
         9. [AD00] David Avis and Luc Devroye,  Estimating the Number of Vertices of a Polyhedron , Information Processing Letters, February 2000. 
         10. [LV03] Lovász L., and Vempala S.,  Simulated Annealing in Convex Bodies and an O* ( n   4 )  Volume Algorithm , Proceedings of the 44th Annual IEEE Symposium on Foundations of Computer Science, 2003. 
         11. [ID90] Inselberg A., and Dimsdale B.,  Parallel Coordinates: A Tool for Visualizing Multi - Dimensional Geometry , IEEE Visualization Conf., 1990, 361-378. 
         12. [CI95] Chatterjee A., and Inselberg A., Visualizing multi-dimensional polytopes and topologies for tolerances, Doctoral Thesis, ACM, 1995 
         13. [Sha48] Shannon C. E.,  A Mathematical Theory of Communication , The Bell System Technical Journal, Vol. 27, 1948. 
         14. [PA03]. Prasanna G. N. S., and A Vishwanath, Traffic Constraints Instead of Traffic Matrices: Capabilities of a New Approach to Traffic Characterization, ITC, 2003. 
         15. [CU] Cornell University website for dynamic modeling of supply chain http://www.orie.cornell.edu/orie/research/casestudy/profile.cfm?id=6983.