Strategic planning and optimization system7020617Abstract A computer-based method for characterizing relationships between a primary goal and an auxiliary goal in an enterprise planning model includes representing the primary goal by a primary objective function, the primary objective function being dependent upon a set of operational variables. The objective function is resolved to yield a plurality of sets of operational decisions. A plurality of auxiliary goal values associated with a plurality of primary goal values in response to said plurality of sets of operational decisions is presented in a data structure. The computer-based method allows the analysis of the costs and benefits of the auxiliary goal imposed upon the primary goal. Claims What is claimed is: Description BACKGROUND OF THE INVENTION
The User Defined Measures include a weighted mix of any of the previously defined aggregate measures. Note that the task of selecting the Primary Objective from the Aggregate Measure Table may also include the further task of selecting whether the Objective is to be maximized or minimized. Strategic Objectives are also included in the Aggregate Measure Table and are selected by the user. The system gives the user the option of ranking the multiple Strategic Objectives in terms of weights to prioritize multiple strategic objectives or in terms of a target value for a particular Strategic Objective. When presented with a target value for a Strategic Objective, the system operates to find the proper weight for the Objective that will yield the target value after optimization. When presented with the weight of a Strategic Objective, the system proceeds to optimize the model in light of that weight. Finally, some of the entries on the Aggregate Measures Table are neither decision variables per se nor Strategic Objectives per se. Rather, they are Tactical Constraints which operate as decision-level constraints with a possible strategic import. Typical Tactical Constraints include a maximum or minimum price for an item or class of items, and a defined relationship between prices (for example, the price of item n must be less than or equal to the price of item m. Overall ceilings or floors can also be set for Tactical Constraints; for example, the system can be constrained so that the overall price change is less than a given percentage. Optimization Methods The automated planning model operates by calculating the outcomes for a large number of individual scenarios involving the selected decision variables as determined by items from the Aggregate Measures Table as well as Strategic Objectives and Tactical Constraints. Various Optimization Methods or algorithms can be employed. The best choice of optimization method depends on the characteristics of the specific model being implemented. In most cases the best result is obtained by allowing the user to select several optimization methods and to compare the results obtained by using a variety of methods on the same data set (goals and strategic objectives from the Aggregate Measures Table in combination with actual historical sales data). The general optimization methods include Ant Algorithms, Genetic Algorithms, Tabu Searches, Branch and Bound, Clustering Methods and Simulated Annealing. Because new optimization schemes are constantly developed, the system allows for the incorporation of any user defined Optimization Method. For specific planning models methods that are more efficient than the general optimization methods may exist. In an enterprise planning model where both the primary objective and the strategic objectives have no terms that impact the same decision variables, each decision variable can be independently optimized, thereby saving a tremendous amount of time. In some cases it is even possible to produce a simple analytic expression for the optimum values. As shown in FIG. 3, a system includes: an input device 101 such as a keyboard, through which a user enters commands, inputs functions, etc.; a display device 102 for displaying tables, etc.; a storage device 103 such as hard disk drive for storing results and enterprise data; a memory 104 for storing program instructions, tables and results; and a processor 105 for performing various kinds of processing and controlling the overall operation of the system. Of course, this representation is merely schematic and all or part of the system may exist as a network device. It will be understood that the described embodiments of the present invention are embodied as computer instructions stored in memory 104 and executed by processor 105. These instructions can also be stored on a computer readable medium, such as a floppy disk, CD ROM, etc., and can also be transmitted in a network such as the internet, an intranet, etc., via a carrier wave embodying the instructions. Operation of the Invention The operation of a preferred embodiment of the present invention will now be described in brief with reference to FIGS. 4 and 5 before being described in detail with reference to FIGS. 6 to 9. A menu as shown in FIG. 4 is presented to the user on the display 102. At this time, the user enters one of the following selections through the input device 101: '1' to select from the Aggregated Measure Table, '2' to perform the constraint mapping, '3' to perform the preprocessing, '4' to perform the scenario analysis, '5' to output results to the storage device 103, and 'Q' to terminate use of the system. Other appropriate user interfaces covering other methods and formats of input can, of course, be used. The processor 105 receives the entered information, and the situation of the system is passed to one of the appropriate steps described below, according to the inputted value. This is represented schematically in FIG. 5. (Step 1001): Goal/Objective Selection At this step, the user selects a primary goal or objective to be analyzed, along with secondary goal(s) and strategic objective(s). A convenient manner of making the selection is use of the Aggregate Measures Table. The system is aware of the composite nature of many of the entries and derives multiple goals and strategic objectives from one or more table entries. Alternatively, the goal(s) and strategic objective(s) can be individually selected from separate Goals and Strategic Objective tables. The details thereof are discussed below in conjunction with FIG. 6. Normally the principal goal is denoted as the "Primary Goal or Objective". There may actually be more than one primary goal selected in which case the goals are either treated in order with successive optimizations or are given different weights and optimized simultaneously. Besides the simple or compound primary goal, there may be an additional Strategic Objective. With a Strategic Objective, the Primary Goal is optimized for a Strategic Objective target or over a range of target values for the Strategic Objective. Keep in mind that the primary goal/objective is subject to actual physical limitations/constraints whereas there are no direct physical constraints on the Strategic Objective. By looking at how the Primary Objective is altered by the Strategic Objective, the manager obtains a clear picture of the economic cost of implementing the Strategic Objective. The Strategic Objective may also be compound wherein the various strategic components are given different weights. (Step 1101) After the user selects the primary goal to be realized—e.g., maximization of gross profits. This goal is represented by a primary objective function Π which depends upon a set of variables {Xi}, each of which represent a single operational decision. For example, in the field of retail, a primary goal is normally the gross profit, ##EQU2##
(Step 1102) Where the user has selected a Strategic Objective, this acts as an additional constraint on the enterprise model. This constraint should represent some global, large-scale objective that is not included in the primary objective function Π that provides the definition of the primary goal. The Strategic Objective is represented by a constraint function φ, and should depend on the same set of variables {Xi} that the primary objective function Π depends upon, or some subset thereof. Ideally the constraint function φ should be defined so that it reflects some aggregate property that the variables should attain. Significantly, the constraint function φ can be virtually any function that the user feels is important. For example, the equation for the gross profit, which is given above, can be used as the primary objective function whose value is maximized by adjusting prices on all items. Once maximized, the result is a set of prices for each item that maximizes the overall gross profit. On the other hand, the user might also like to set prices so as to achieve a particular level of sales—i.e., a Strategic Objective of achieving a particular level of sales. A suitable strategic constraint function for the total amount of sales, can be defined as ##EQU3##
The primary goal/objective of the present invention can be any standard goal (or a compound goal) of an enterprise planning model, such as the maximization of gross profits. The Strategic Objective (or compound strategic objectives) can be any strategic factors that the user seeks to analyze in conjunction with the primary goal/objective, for example, increase or decrease of price image. As an example, a retail pricing manager may seek to set prices such that gross profits are maximized while at the same time, meeting the store's other long term goals, such as maintaining a particular price image. It will be appreciated by those having ordinary skill in the art that prior art enterprise planning models are limited by the physical constraints of the enterprise planning model. Thus, the operational decisions that are recommended by the model will likely deviate from strategic considerations that are not specifically built into the enterprise planning model. This is a primary reason that retailers have traditionally avoided the use of demand models to help them price their products; namely, the results cannot reflect the company's overall strategic policies. As will be appreciated by this discussion, by incorporating strategic objectives into the enterprise model, the present invention provides an enterprise planning model that goes far beyond the physical constraints of traditional enterprise planning models. (Step 1002): Constraint Mapping With a Primary Goal and a Strategic Objective the behavior of the Primary Goal is determined over a range of values of the Strategic Objective. In the situation mentioned above above, gross profits would be maximized (optimized) over a range of expected market share values. These data points are then recorded in a Constraint Table that is used to set bounds for the model. The details of the Constraint Mapping routine are discussed below in conjunction with FIG. 13. (Step 1003): Preprocessing To provide the system with an efficient method to analyze various scenarios for achieving the primary and auxiliary goals (i.e., Scenario Analysis, discussed below), the data generated in the Constraint Mapping step are preprocessed. The details thereof are discussed below in conjunction with FIG. 11. (Step 1004): Scenario Analysis Next the system defines a set of scenarios, i.e., projected values for the Strategic Objective that the user would like to achieve. For each scenario defined, a set of operational decisions are provided that maximize the Primary Goal while simultaneously satisfying the Strategic Objective. This step is performed for each scenario selected by the user. The details thereof are discussed below in conjunction with FIG. 12. Referring to the example provided above, the present invention provides the pricing manager with the necessary information to achieve both the Primary Goal (e.g., maximize gross profits) and a Strategic Objective (e.g., increase market share)—results that are not provided in prior art enterprise models. (Step 1005): Output Results The operational decisions, primary goal, and auxiliary goal determined for each scenario are placed in the storage device 103. Thus, in the retail pricing example given above, the retail pricing manager would be provided with the optimum prices for each item to be sold that would allow the store to meet both the Primary Goal of maximizing gross profits, and the Strategic Objective of increasing market share. By optimizing gross profit over a range of possible market shares the manager can see how much profit must be given up for each incremental increase in market share. This is vital in making informed strategic decisions. Goal Selection A preferred embodiment of this routine will be described with reference to FIGS. 6 and 7. The user is presented with a menu on display 102, such as illustrated in FIG. 7, to prompt the user through the Goal Selection routine as illustrated in FIG. 6. It should be appreciated that other appropriate methods and formats of input can, of course, be used, and that the menu presented in FIG. 7 is presented for illustrative purposes only. The addition of a Strategic Objective to the enterprise model allows the user to analyze enterprise planning decisions otherwise not available in the prior art. For example, when pricing their products, retail pricing managers generally seek to have their prices reflect a certain image of their stores. A discount retailer would like its prices to be perceived as being lower than other retailers. This so-called "price image" is an example of a strategic constraint; it does not correspond to any physical constraint on the prices, and it does not directly correspond to any single decision made by a enterprise planning model. Instead, it is a function of all the prices in the market, and it represents a higher-level property that the pricing manager would like to be able to choose and control with precision. As illustrated in FIG. 7, a preferred embodiment includes, in addition to other Strategic Objectives, a mathematical definition of the price image. Thus, the present invention could be used to control the prices predicted by any demand model to ensure that a particular desired price image is attained. A preferred definition of a price image is ##EQU4##
The price image can be used in conjunction with the present invention to address a long-standing problem with retail demand modeling. Retailers have found that if a demand model is used to optimize prices on items to yield the greatest gross profit, the model will invariably choose prices that are higher than what a human price manager would have intuitively chosen. The typical outcome is that, in the short term, shoppers continue to buy products at these higher prices, and this does in fact yield a higher gross profit. However, over the long term, customers become aware that the price image of the store has risen, and eventually turn to other stores. Thus, controlling the price image from the outset can prevent this problem with different consumer responses on different time scales. By determining one's price image from existing prices, a retailer could then use a demand model, in the context of the present invention, to obtain greater profit even while maintaining the same overall price image. Constraint Mapping Because a strategic constraint (Strategic Objective), such as price image, does not represent a physical restriction on the system, it is not necessary that it be met rigorously. Rather, it is more desirable to vary the constraint over a range of scenarios, and then determine which set of predicted decisions aligns most favorably with the Primary Goal and the Strategic Objective. The object is to have control over the decisions being made, without being locked to a single set of decisions. For this reason, it is not practical to use conventional constraint-based optimizations, which are usually employed for physical constraints. A more efficient method for treating strategic constraints is described below. By obtaining solutions over a broad range of scenarios, the user of the invention obtains a picture of how the optimal predictions vary according to changes in the desired large-scale goal. After seeing this picture, the user may target a specific large-scale scenario to be realized and subsequently obtain the set of decisions that are the most optimal, given the constraints of that particular scenario. The method can be used with a wide variety of models and objective functions. The input to this routine includes the primary goal as represented by the primary objective function Π, the set of independent variables {Xi} that affect the Primary Objective function Π, and a mathematical definition, i.e., the constraint function φ for the Strategic Objective, all of which are stored in memory 104 and/or storage 103. A preferred embodiment of this routine will be described with reference to FIG. 8. (Step 1201) At this step, the user is prompted to select the extent to which the Strategic Objective will affect the Primary Goal. To achieve this, the user enters a minimum value ψmin, a maximum value ψmax, and the resolution δψ which represents step increments to be tested between ψmin and ψmax. FIG. 10 illustrates user prompts that may be displayed on display 102 in this step. The actual value of each of these variables will depend upon the particular situation being studied. To begin the constraint mapping, the value for ψ is initialized to ψmin. In addition, the system can be allowed to automatically select a range of ψmin to ψmax that is based on general ranges shown to be useful. (Step 1202) A loop is begun in which the variable ψ takes on values between ψmin and ψmax incremented by δψ. (Step 1203) The routine constructs an effective objective function: Πeff=Π-φψ. It is important to note Πeff depends on the same variables {Xi} as the primary objective function, and represents an effective goal. As can be seen above, the effective objective function is constructed by taking the primary objective function and subtracting the constraint function as weighted by the value of ψ. (Step 1204) At this step, the effective objective function Πeff is maximized with respect to all the independent variables, and the enterprise data stored in the storage device 103. A useful method of maximizing Πeff is the method of simulated annealing because it is one of the few techniques available for solving discrete, nonlinear, high-dimensional functions. This technique is known in the art and is documented in the following reference, which is herein incorporated by reference: W. Press et. al., Numerical Recipes: The Art of Scientific Computing, Cambridge University Press, New York (1992). The simulated annealing technique is well suited for this problem for several reasons. In a typical situation there are possibly thousands of independent variables that correspond to thousands of operational decisions, and there are very few techniques that can optimize an objective function with this many variables in an efficient amount of time. In addition, the primary objective function and the constraint (strategic) function will typically depend upon many discrete variables, for example, price which can only change in units of cents. The simulated annealing technique is able to handle this complication, and in fact is ideally suited for optimizations involving discrete variables. Other optimization routines can be utilized and may be more efficient in some situations, for instance, when the types of decisions that influence the objective function are captured by continuous variables, or when the system to be studied is very small. The variable ψ serves the purpose of being a reward or a penalty. When the value of ψ is equal to zero, the effect of the auxiliary function on the aforementioned optimization procedure is not felt at all, and optimization of the effective objective function amounts to an unconstrained optimization of the primary goal. Therefore, it would generally be useful to define ψmin, ψmax, and δψ such that ψ is zero during at least one point in the iteration procedure. If the value of ψ is large and positive, then the constraint acts as a penalty, and the optimization will be skewed towards a solution that results in a lower numerical value of the constraint function. If the value of ψ is large and negative, then the constraint acts as a reward, and the optimization will be skewed towards a solution that results in a higher numerical value of the constraint function. The magnitude of ψ serves to fix the relative weight of the constraint, and accordingly different values for ψ will result in different numerical values of the constraint that will be attained which the objective function is optimized. (Step 1205) The output from step 1204 is the maximized value of Πeff and the resulting values for the independent variables {Xi}. These independent variables are stored in an Optimum Value table in the Table portion 116 of memory 104. The values of the constraint function φ and the primary objective function Π are determined from these variables, and subsequently, Π, φ, and ψ are all stored in the Constraint Overview table in the Table portion 116 of memory 104, as shown in FIG. 5B. Next, the value of ψ is incremented by δψ, and a judgment is made as to whether ψ is greater than ψmax. If it is not, the routine goes back to step 1202. If it is, the Constraint Mapping procedure terminates. The information stored in the Constraint Overview table provides a concise summary of the behavior of the target market—i.e., a summary of the effect that the Strategic Objective will have on the Primary Goal. These data may be stored in a file or printed, or passed on to another routine. For example, since the table contains various Primary Goal values for each set of values determined from the Strategic Objective, data from the table may be used as input to a visualization routine or package. In one embodiment, the user is provided with an intuitive, graphical view of the dependence of the Primary Goal on the target value of the Strategic Objective, as illustrated in FIG. 16 or FIG. 1. After obtaining data in the Constraint Overview table, and possibly visualizing it or comprehending it in some other manner, the user may choose to terminate the operation of the system, or proceed to the Preprocessing Routine. Preprocessing Routine In one embodiment, before the data contained in the Constraint Overview table are used to generate a forecast for a specific scenario (see discussion of Scenario Analysis below), it is preprocessed into a computationally efficient form. This step generates information for use in subsequent operations. Without preprocessing, the subsequent Scenario Analysis routine would have to be performed in a much less efficient manner, and the additional computation time would likely be undesirable for the user. A preferred embodiment of this routine will be described with reference to FIG. 11. (Step 1301) A list {ψiextr} is created, and ψmin is made the first entry in the list. (Step 1302) The values of ψ in the Constraint Overview table are scanned from ψmin to ψmax. Anytime an extremum is found, that is, a point where the constraint function φ attains a local minimum or maximum, the value of ψ at this point is added to the list {ψiextr}. As will be discussed further below, the local minimums and maximums are obtained so that any value in the weighting range, ψmin to ψmax, can be efficiently interpolated. (Step 1303) ψmax is made the last entry in {ψiextr}. The list {ψiextr} contains the ψ value of endpoints of successive segments in the Constraint Overview table where the constraint function φ representing the Strategic Objective, is monotonic increasing or monotonic decreasing. In the trivial case where the constraint function φ is monotonic increasing or monotonic decreasing throughout the entire list, then {ψiextr} contains only the lowest and highest values of ψ, respectively, in the Constraint Overview table. Scenario Analysis Routine An embodiment of the Scenario Analysis routine will be described with respect to FIG. 12. (Step 1401) The user selects a set of scenarios—i.e., specifies values for the Strategic Objective that the user would like to see attained—for example, a particular gross margin or level of total sales. (Step 1402) Control of the system is first passed to the Bounding routine. The input to this routine is the Constraint Overview table obtained in the mapping routine, and all the values of the constraint to be targeted, as well as the list {ψiextr}. The outputs from the Bounding routine are the values ψlow and ψhigh which correspond to the entries in the table which bound all target values of the constraint function φ. (Step 1403) If a particular target value occurs in more than one place in the Constraint Overview table, that is, if there are multiple solutions, then each of these becomes a scenario of its own, and is added onto the list of targeted constraint values. If the values of ψlow and ψhigh for a particular constraint target are null, this indicates that the desired scenario is not contained within the bounds of the Constraint Overview table. In this case, the situation of the routine skips directly to step 1406. If the user wishes to analyze the particular scenario that was rejected, then the Constraint Mapping routine may be run again, with different values of ψmin and ψmax order to extend the range of the analysis. If this extended map still does not capture the desired scenario, then it is likely that the user has chosen to analyze a scenario that is impossible to attain. (Step 1404) For each scenario that does not have null values for the bounds, the values ωlow, ψhigh, the particular constraint target and the Constraint Overview table are passed to the Interpolation Routine. The output from this routine is an estimate of the value of ψ (denoted ψest) that, when used to optimize the effective objective function, will yield a value of the constraint function φ close to constraint target. (Step 1405) The effective objective function is constructed: Πeff=Π-φψest. Πeff is optimized with respect to all the independent variables. Again, an effective method is the simulated annealing technique, though others could be used. The output from the optimization routine includes the optimized values of the independent variables, such as the price and quantity for each item, and the resulting values of the objective function and constraint function. The resulting constraint value is the one that most closely matches the target constraint value. The level of agreement will depend in part upon the nature of the system being analyzed and in part on the resolution of the mapping. (Step 1406) The values of the independent variables, the resulting objective function and the constraint function are stored in the Target Value table. A judgment is made as to whether all the scenarios have been analyzed. If they have not, the situation of the routine returns to 1404; otherwise, the Scenario Analysis routine terminates. Although in the routine described above, the Interpolation routine was used to obtain the estimate ψest, in an alternative embodiment this quantity may be determined by used of a root-finding technique. Many such techniques are well known in the art, and the particular choice will depend upon the known qualities of the system. One particular root-finding technique that is appropriate for discontinuous functions is the Van Wijngaarden-Dekker-Brent method, which is documented in W. Press et. al., Numerical Recipes: The Art of Scientific Computing, Cambridge University Press, New York (1992), and is herein incorporated by reference. The use of a root-finding technique is particularly desirable if the desired constraint target needs to be met with high accuracy. However, the root-finding technique will be computationally intensive for virtually every optimization of the effective objective function Πeff. By contrast, the Interpolation routine makes use of data that have already been calculated and stored in the Constraint Overview table, making the scenario analysis computationally efficient. FIG. 16 provides an example of how the predicted profits from a demand model could vary according to the price image of the particular group of items. By using competitive data, a retail pricing manager could find out the price image of all the other stores competing in the market with their store. For example, suppose the manager determines that the store should have a price image of -6.0 (measured relative to the market), this corresponds to choosing a value -6.0 from the horizontal axis, and then having the system optimize prices such that the point X on the graph is attained, realizing a profit of $38,000. Note that the manager can also use this display to determine how much more profit a less negative price image would yield. Bounding Routine The purpose of the Bounding Routine is to determine the location in the Constraint Overview table in which the target value for the constraint functions can be found. The input to this routine is the Constraint Overview table, the constraint target value and the list of local minimums and maximums for ψ, denoted {ψiextr} The output from this routine is the entries in the table that bound these target values. A preferred embodiment of this routine will be described with reference to FIG. 13. (Step 1501) For each segment defined by {ψiextr}, a bisection routine is performed to determine if the constraint target is contained in that segment. (Step 1502) If the constraint target is contained in that segment, then the bisection determines which entries in the Constraint Overview table corresponds to the bounds on the constraint target. These bounds, denoted as ψlow and ψhigh, for the lower and upper bounds, respectively, are stored in a list {φibound}. If the constraint target is not contained in that segment, then a null value is returned. A judgment is made as to whether all the listed segments defined by {ψiextr} have been analyzed. If they have not, the control of the routine is returned to step 1501. If they have, {φibound} is returned to the calling routine, including the cases where these variables are null. Using the data from FIG. 9 as an example, {φibound} for a particular list of target values for φ is shown. Interpolation Routine This routine utilizes known interpolation techniques to interpolate a value of ψ from the Constraint Overview Table. The input to this routine includes of: the Constraint Overview table; the specified target values for the constraint functions, given by φtarg, and the values ψlow and ψhigh which bound the location in the table where the desired solution is to be targeted. The output from this routine is the value ψest, which is an interpolated value of a function ψ(φ) that is constructed from the part of the table containing ψlow and ψhigh. In general, this interpolated value can be constructed from any prior art interpolation routine, as long as the routine makes use of the data in the Constraint Overview table that is near the entries ψlow and ψhigh; otherwise, the accuracy of the interpolation will be compromised. Below is shown one embodiment of this interpolation routine with reference to FIG. 14. (Step 1601) The two values ψlow and ψhigh are assigned to the variables α2 and α3, respectively. The values of corresponding entries of ψ in the table are assigned to β2 and β3, respectively. The value of the constraint function φ in the Constraint Overview table immediately below α2 is assigned to α1, and the matching value of the constraint function φ is assigned to β1. The value of ψ in the Constraint Overview table immediately above α3 is assigned to α4, and the matching value of φ assigned to β4. This is elucidated more clearly in FIG. 15. Note that this process is not affected by whether the Constraint Overview table is monotonic or not; the distinction is only used to determine whether or not there is a possibility of multiple solutions. (Step 1602) The values α1-4 and β1-4 are used to construct an interpolated function α(β). This fourth-order interpolation is then used to obtain an approximation ψest=α(φtarg). An effective method for doing this is Neville's algorithm, which is described in W. Press et. al., Numerical Recipes: The Art of Scientific Computing, Cambridge University Press, New York (1992), and is herein incorporated by reference. The estimated value ψest is then returned to the calling routine. If the values ψlow and ψhigh are located near the ends of the Constraint Overview table, such that there does not exist two values in the table which are lower or higher than φtarg, then the values for the α's and the β's would need to be chosen in a slightly different manner. If there is only one value of φ in the Constraint Overview table that was lower than φtarg, then this one would be made β1, the next three entries higher than φtarg would be made β2 through β4, and the α's would be chosen accordingly. If there is only one value of φ in the Constraint Overview table that was higher than φtarg, then this one would be made β4, and the next three entries lower than φtarg would be made β1 through β3, and the α's would be chosen accordingly. If the Constraint Overview table contains fewer than 4 entries of φ, then the fourth-order interpolation would have to be replaced with a lower-order method, such as linear interpolation. Having thus described a preferred embodiment of the Method for Controlled Optimization of Enterprise Planning Models, it should be apparent to those skilled in the art that certain advantages of the within method have been achieved. It should also be appreciated that numerous modifications, adaptations, and alternative embodiments thereof may be made within the scope and spirit of the present invention. For example, the method described above may be extended to situations in which there is more than one Strategic Objective to be applied simultaneously. Instead of one constraint function φ, representing one auxiliary goal, there would be a set {φi} of them—one constraint function for each Streategic Objective. Instead of a single variable ψ there would be a set {ψi}, each member of which corresponds to one of the Strategic Objectives. The effective objective function would thus be defined as: ##EQU5## and the map would exist in two or more dimensions, each of which corresponds to one of the Strategic Objectives. The values of the ψj would each be varied such that the multidimensional space spanned by them is captured by a discrete mapping within specified bounds ψjmin and ψjmax on each of the ψj. The simulated annealing technique could be used to perform the optimization of the effective objective function Πeff. Finally, the Constraint Overview table would hold data for the entire multi-dimensional map. For the Scenario Analysis routine, a scenario would include of a group of target values {φitarg}j that each of the constraint functions should attain simultaneously. The effective objective function would again be constructed in a manner similar to the one described above. The main difference for the multiple constraint implementation is the determination of {ψiest}j, which are the values for the {ψi} that yield the targets {φitarg}j. The Preprocessing, Bounding, and Interpolation routines would need to be adapted for multidimensional systems. However, once {ψiest}j has been determined, the optimization of Πeff is again performed to yield the values for the independent variables that yield the desired φitarg}j while optimizing the primary objective function Π. The following claims are thus to be understood to include what is specifically illustrated and described above, what is conceptually equivalent, what can be obviously substituted and also what essentially incorporates the essential idea of the invention. Those skilled in the art will appreciate that various adaptations and modifications of the just-described preferred embodiment can be configured without departing from the scope of the invention. The illustrated embodiment has been set forth only for the purposes of example and that should not be taken as limiting the invention. Therefore, it is to be understood that, within the scope of the appended claims, the invention may be practiced other than as specifically described herein.
|
Same subclass Same class Consider this |
||||||||||
