RETAIL STORE PERFORMANCE OPTIMIZATION SYSTEM
FIELD OF THE INVENTION [0001] This invention generally relates to marketing systems for giving individual discounts to customers. More particularly, this invention relates to a system for simulating and optimizing the performance of a retail store in relation to profits, sales volume, and customer satisfaction.
BACKGROUND OF THE INVENTION
[0002] As competition in the retail industry increases, retailers want to optimize store performance. For sectors such as grocery retail that have tighter profit margins and where customer loyalty is dependent on product prices, it is important to understand customer behavior and to manage customer relationships appropriately. In marketing to these sectors, there are several approaches to customer relationship management. These approaches include clustering and one-to-one marketing. [0003] The clustering approach groups or segments customers by one or more attributes such as demographics. These attributes may have little correlation to the buying behavior of the customer. Further, not all customers in a particular group would necessarily have the same buying behavior. [0004] The one-to-one marketing approach is a customer relationship management system that aims to build customer loyalty by trying to sell as many as products as possible to one customer at a time. One-to-one marketing aims to treat each customer as an individual rather than a part of a segment. Frequent flyer programs offered by airliners are one example of one-to-one marketing. There are similar types of loyalty programs offered by on-line music retailers.
[0005] Many grocery chains offer customer loyalty programs which use the clustering approach. More than half of all U.S households participate in some type of loyalty card program for grocery shopping. A loyalty card program enables a consumer to obtain product discounts when the "card" is presented at the retail store. However, these loyalty programs apply one or more blanket couponing techniques by giving the same coupons or discounts to all of their subscribers. In these techniques, the information about each individual's shopping behavior generally is underutilized, because data from multiple consumers is aggregated and averaged. These techniques usually assume that most people have similar product and price preferences. However, humans are different. Each individual has his or her own preference of products and price levels.
[0006] Some grocery chains use one-to-one marketing. In the grocery business, almost every customer is a repeat buyer and grocery goods are consumed at an essentially constant rate. Usually, there are sufficient data to model each regular customer's shopping behavior. Grocery chains that offer one-to-one marketing programs typically model each customer separately to provide him or her individual coupons that could improve a store's performance. There are various modeling directions to model individual customer behaviors including ?m'te mixture models and multivariate continuous models. In finite mixture models, shopping behavior is obtained by combining basic transaction behaviors obtained from the data. However, many finite mixture models provide poor approximations. Multivariate continuous models typically use Bayesian Reasoning, Markov Chain Monte Carlo, and other methods incorporating observable household characteristics data, such as demographics.
[0007] The Internet is another medium in which one-to-one marketing can occur.
Online grocery stores can benefit from targeted couponing by analyzing their customer's shopping, behavior and even their customers' browsing behavior using click-stream data. Several software applications are available to log a user's browsing movements on a website. These movements can later be used for customer modeling. In the retail industry, most supermarkets use customer loyalty cards to obtain market data and provide documents. Several companies have started to analyze this data for one-to-one marketing. Some supermarkets already have identified over 5,000 "needs segments" among their customers and have improved inventory management, product selection, pricing and discounts. Other supermarkets have more than 1.8 terabytes of market data and are able to analyze markets to obtain customer purchasing behavior.
[0008] While several one-to-one marketing programs have been proposed, these approaches usually do not optimize the store performance in relation to the discounts. The reason is that the customer shopping behavior models are probabilistic and usually have a search space consisting of at least 30,000 products and 1,000 customers. This search space makes finding optimal discounts for each customer computationally difficult even for high-performance optimization methods. As a consequence, store performance optimization usually remains at the assortment and layout optimization level, where the number of the products as well as their store layout is considered.
[0009] In addition, one-to-one marketing programs typically are difficult to optimize given the presence of many variables and lack of knowledge regarding the performance and location of the optimal and sub-optimal points in the search space. In addition, some domains may be stochastic by nature, which makes providing
optimal solutions a difficult task. Most optimization approaches are very ineffective when computing individual discounts to optimize store performance.
SUMMARY
[0010] This invention provides a retail store performance optimization system having a simulator and an individual discount or optimization system. The simulator provides one or more individual discounts and determines the retail store performance in relation to the individual discounts. The individual discounts are responsive to models of each customer's shopping behavior, product price variables, and a store's strategy to improve performance. The individual discount or optimization system uses a modified simulated annealing operation to determine the optimal or better individual discounts for each customer that have the minimum or maximum value of an object function for optimizing retail store performance.
[0011] The retail store performance optimization system has a simulator connected to a customer-product database, a user input device, and an optimization system. The customer-product database stores product price variables and outputs from customer models. The user input device receives a store strategy. The optimization system determines one or more individual discounts for each customer. The simulator provides a result in response to input parameters from the customer-product database, the user input device, and the optimization system. The result includes one or more individual discounts for each customer and the retail store performance in relation to the individual discounts.
[0012] In a method for optimizing the performance of a retail store, the retail store is modeled. A store strategy is defined. One or more customer models are generated.
One or more agent-based simulations are performed. An individual discount for each customer is identified. The individual discount optimizes the retail store performance. The individual discount may be a coupon and/or rebate.
[0013] An individual discount system for optimizing retail store performance has a modified simulated annealing operation to determine an individual discount in response to an objective function and one or more customer models. The individual discount may be a coupon and/or rebate. The modified simulated annealing operation has a deterministic selection of initial starting points and/or a weighted relation of next generation starting points.
[0014] In a method for optimizing retail store performance with individual discounts, input parameters are selected for a modified simulated annealing operation. A search space is divided in response to the input parameters. Initial starting points are generated in the search space. A random neighbor is selected for such initial starting point. An average fitness of the initial starting points is evaluated. New starting points are generated in response to the average fitness. An optimal individual discount is determined in response to the new starting parts. The individual discount may be a coupon and/or rebate.
[0015] Other systems, methods, features, and advantages of the invention will be or will become apparent to one skilled in the art upon examination of the following figures and detailed description. All such additional systems, methods, features, and advantages are intended to be included within this description, within the scope of the invention, and protected by the accompanying claims.
BRIEF DESCRIPTION OF THE FIGURES
[0016] The invention may be better understood with reference to the following figures and detailed description. The components in the figures are not necessarily to scale, emphasis being placed upon illustrating the principles of the invention.
Moreover, like reference numerals in the figures designate corresponding parts throughout the different views. [0017] Figure 1 represents a block diagram or flow chart of a simulation and optimization system according to an embodiment. [0018] Figure 2 represents a block diagram or flow chart of a simulation and optimization system according to another embodiment. [0019] Figure 3 represents a view of a Graphical User Interface (GUI).
[0020] Figure 4 represents an output screen showing the results of the simulation and optimization system. [0021] Figure 5 represents a block diagram or flow chart of an individual discount system for providing individual discounts to optimize retail store performance. [0022] Figure 6 is a flowchart of a method for optimizing retail store performance with individual discounts.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0023] Figure 1 represents a block diagram or flow chart of a simulation and optimization system 100 that optimizes retail store performance by giving individual discounts. A store model is constructed 102 by modeling the products in the store, the purchasing and stocking costs of the products, and the replenishment rates of the products. A store strategy is defined 104 by the relative importance of three factors —
profits, sales volume, and customer loyalty. Other factors may be used. Customer models or agents are generated 106 from transactional and/or other data. These models represent individual customer shopping behaviors, such as shopping frequency, buying probability of each product, and the customer's satisfaction function. Agent-based simulations identify 108, optionally with input from an optimization system 110 and the store model 102, the set of discounts 112 for each customer to optimize the store's performance. The optimization system 110 determines the optimal discounts 112 to maximize or increase the store's performance in response to the store strategy 104. While a particular configuration is shown or discussed, other configurations may be used including those with fewer or additional components and operations.
[0024] The simulation and optimization system 100 uses an agent-based modeling and simulation approach that is different from a store optimization research approach, which uses complex mathematical equations to account for revenues, costs, and sales volume. Agent-based modeling uses only equations governing the micro-social structure (i.e., shopping behavior of each individual). The overall macroscopic structure of the system is generated from the bottom-up. In an agent-based approach, the revenue, costs, and sales volume are determined by summing up each individual customer's shopping activity such as his or her shopping frequency and spending.
[0025] Figure 2 represents a block diagram or flowchart of another simulation and optimization system 200 to optimize retail store performance by giving individual discounts. The simulation and optimization system 200 has a simulator 208 that provides results (individual discounts and the expected retail store performance from the individual discounts) 212 in response to inputs from a customer-product database
214, a Graphical User Interface (GUI) 216, and an optimization system 210. The GUI 216 accepts user inputs 204 from one or more users or managers of the store whose performance optimization is desired. The optimization system 210 determines the optimal or better discounts for each customer to satisfy a store strategy. The simulator 208 determines the retail store performance in response to the individual discounts. While a particular configuration is shown and discussed, the simulation and optimization system 200 may have other configurations including those with fewer additional components. Individual discounts include coupons, rebates, and similar price reductions or bulk purchases of a product or products. Individual discounts are responsive to the shopping behavior of a particular customer. Group discounts, which may be given to customers individually, are responsive to the shopping behavior of multiple customers (e.g., the customers within a zip code receive a cents-off coupon for a product). Price reductions and bulk purchases include cents-off coupons, buy-one-get-one-free offers, and the like. Individual discounts may be provided in a physical form such as on paper, plastic, or the like for presentation to a cashier when a customer purchases items at a retail store. Individual discounts also may be provided in electronic form as a stored data file that the customer accesses when the customer purchases items at a retail store. To access the discounts, the customer may provide a key code or password such as name, telephone, address, a combination thereof, and the like. Individual discount also may be provided in a combined physical and electronic form such as when the individual discounts are provided in the form of a stored data file that a customer accesses via a customer loyalty card. The individual discounts may be provided in other forms.
[0027] The customer-product database 214 holds or stores product price variables 202 and outputs from customer models 206. In one aspect, the customer-product database 214 is implemented by Microsoft® Access® software from Microsoft Corporation. Other database formats may be used. The product price variables 202 include the purchasing costs and the stock keeping cost for each product. The purchasing cost is the acquisition cost of that product to the store. The stock keeping or inventory cost is the cost for the store to keep one quantity of that product for one day.
[0028] Customer models 206 are mathematical representations of shopping behavior for each customer. A customer model can be composed of one or more parameters such as shopping frequency (for example, once per week on Saturdays), buying probability for each product, consumption rate of each product (for example, two gallons of milk per week), price sensitivity for each product, product dependency or substitutions, and a satisfaction function.
[0029] The customer models 206 are generally probabilistic, meaning that shopping behavior can be anticipated up to a certain possibility. For example, if the customer comes into the store, there is a 90% probability that the customer will buy milk. Price sensitivity defines the customer's response to a price change. For example, if the customer is highly price sensitive to a price change in ground beef, a moderate discount would increase his probability of buying ground beef. A customer may have different price sensitivities for each product. For example, a customer who is highly price sensitive to beef may be low price sensitive to eggs.
[0030] Product dependencies represent each customer's product groups for substitutes and complements. With substitute products, if a customer buys one product, the customer will not buy the other product. For a particular customer, for example,
multiple products of Coca-Cola may be substitutes for each other, and the customer may buy either of several Coca-Cola products. When a store manager gives a discount coupon to that customer for one product to increase the buying probability of that product, the store manager also decreases the buying probability of another product for that customer. With complementary products, the dependency relationship is directly proportional. For example, if buying macaroni increases the buying probability of cheddar cheese (for preparation of macaroni and cheese), then having a discount on either of macaroni or cheddar cheese will increase or complement the buying probability of the other product.
[0031] A satisfaction function represents a customer's satisfaction level after shopping is completed. The satisfaction function may depend on favorite items and their prices. For example, a customer may not be satisfied fully if a favorite product is more expensive than previously believed. The satisfaction function level is represented as a percentage. For completely satisfied customers, the satisfaction level is 100. The satisfaction level affects the next arrival time of the customer at the store. The customer may skip shopping at the store if the satisfaction level is too low.
[0032] Figure 3 represents a view of the GUI 216 that gathers inputs supplied by a user and provides these inputs to the simulator 208. The GUI 216 may be another user input device. The user may input the number of days to simulate (simulation period) 320, the replenishment cycle of the products 322, the replenishment threshold of the products 324, the replenishment site of the products 326, the number of times to simulate one shopping day 328, and the store strategy 104. Other inputs or parameters may be also be entered by a user.
[0033] The replenishment parameters determine the supply rate of a product, such as the truck arrival rate to resupply the store with the product. For example, the replenishment rate may be four days, the replenishment threshold may be 200 items, and the replenishment site may be 300 items. In this example, the product stock or amount in the store is checked once every four days. If the product stock is less than 200 items, another 300 items are added.
[0034] Since shopping behavior is probabilistic, the shopping process is simulated several times to obtain average output values and other statistical properties, such as standard deviations. The user can enter the simulation size as an input.
[0035] In addition, a user can supply the store strategy to be optimized or individual discounts. The store strategy is in terms of profits, sales volume, and customer satisfaction, which may be adjusted. The store strategy may be based on other or different parameters. User defined individual discounts may be used to simulate and compare store performance with a new discount or other discount price strategy. The user can also retrieve past simulation parameters and related results from the simulation history database 218 (See Figure 2), which also may use Microsoft® Access® or another database format.
[0036] In Figure 2, the simulator 208 simulates the shopping behavior for a period of time and in response to the various input parameters. A typical simulation of a shopping day for each individual customer at a retail store includes: the customer comes to the store; the customer looks at the prices of the item in the store; the customer buys products based on the buying probability, the satisfaction function or the satisfaction level; and the customer leaves the store. Buying probability is
influenced by discounts and the customer's price sensitivity towards particular products. Other simulations may be used.
[0037] The simulation is applied for all customers who come to the store on the same day. The numerical method used in the simulation is Monte Carlo simulation. Other numerical methods may be used. The sampled process parameters of the simulation include each customer's shopping behavior, which consists of price sensitivities, buying probabilities, and the likelihood of arrival to the store. Other parameters may be used. This simulation can be repeated several times depending on user's preference to obtain an average, a standard deviation, and other statistical values for the shopping process.
[0038] Figure 4 represents an output screen showing results of the simulation and optimization system. The results or outputs include average and standard deviation values for estimated revenues, costs (inventory and product purchase), sales volume, customer satisfaction, and minimum customer satisfaction. The results also include the sales and profit performance compared to a non-discounted pricing strategy, as well as the inventory change of each product over time and the inventory cost of each product. For each customer, the results or outputs include the discounted products and discounted amount, the average satisfaction level, and the average quantity bought of each product. In addition, for each customer, the results also include the change in average spending compared to the non-discount strategy as well as the change in average satisfaction in percent compared to the non-discount strategy. Other results may be obtained. These results may be saved in the simulation history database 218 (see Figure 2).
[0039] Figure 5 represents a block diagram or flow chart of an individual discount system 510 for providing individual discounts to optimize retail store performance. In the individual discount or optimization system 510, a modified simulated annealing operation 532 provides the best or optimal individual discounts 540 in response to an objective function 536, input parameters 538, and customer models 506. While particular configurations are shown and discussed, other configurations may be used including those with fewer or additional components.
[0040] The modified simulated annealing operation 532 determines the best or optimal individual discounts for optimizing retail store performance. The simulated annealing operation is a randomized local search for finding optimal solutions. Modified simulated annealing derives from the roughly analogous physical process of heating and slowly cooling a substance to obtain a crystalline structure. The modified simulated annealing operation 532 finds a solution in the set of all possible solutions that has the minimum or maximum value of the objective function 536. The objective function 536 is a mathematical representation of a retail store strategy. The objective function is associated with a particular optimization objective, such as store performance, that determines how good a result or solution is. After the store strategy or objective function 536 is defined, the modified simulated annealing operation 532 finds a set of individual discounts which satisfy the store strategy.
[0041] The objective function 536 is composed of several relative objectives such as profits, sales volume and customer satisfaction. Other objectives may be used. A grocery store manager or other authority decides the store strategy based on the relative importance of these goals or objectives. Some goals are contradictory. For example, a store manager could maximize customer satisfaction by reducing all prices
to zero, but that would eliminate any profit. What determines overall store performance is the relative importance of each objective. This relative importance can be defined or set by using a coefficient, a weight, for each objective. For example, an objective function may be the following system:
[0042] f{x, y, z) = 0.2 * x + 0.5 * y + 0.3 * z .
[0043] The variables x, y and z are the objectives (which can be profits, sales volume and customer satisfaction). The weights for these objectives are 0.2, 0.5 and 0.3. In this example, objective y has the most importance. The total value of all weights is equal to 1.
[0044] Input parameters 538 are the numeric values required by the modified simulated annealing operation 532. The input parameters 538 include the number of subpopulations, subpopulation size, starting temperature, temperature reduction rate, and cooling temperature. The input parameters 538 may include other values.
[0045] Customer models 506 are the mathematical representations of customers' shopping behavior. There is one model supplied for each customer. A customer model can contain a customer's shopping frequency (i.e., once a week on Saturdays), price sensitivity, consumption rate for each product, preferred product groups, and the like. Several other parameters can also be included in a customer's model to represent his or her shopping behavior accurately. The individual discounts 540 are provided by the modified simulated annealing operation 532 to maximize retail store performance based on the supplied objective function 536.
[0046] Figure 6 is a flowchart of a method for optimizing retail store performance with individual discounts. The method provides a modified simulated annealing operation where there is a deterministic selection of starting points and a weighted selection of new starting points with each generation. The deterministic and weighted selections enable the modified simulated annealing operation to determine the individual discounting very efficiently.
[0047] The method for optimizing retail store performance finds a maximum value of an objective function, as discussed above. However, the method for optimizing retail store performance may also be modified to find a minimum value of an objective function.
[0048] At start-up, the starting temperature ^, temperature reduction rate r, and cooling temperature Tc are selected 650. The starting temperature 7^, temperature reduction rate r, and the cooling temperature Tc are selected arbitrarily and control the number of generations or iterations of the modified simulated annealing operation. The use of temperatures or a temperature reduction rate has no relation to physical reality, but in keeping with the modification of a modified simulated annealing operation, allows a user to determine the number of iterations or the length of a "run" of the modified simulated annealing operation. With each iteration, as discussed further below, the temperature reduction rate r reduces the starting temperature Ts or successive temperature values. The modified simulated annealing operation stops when the temperature is equal to or less than the cooling temperature Tc.
[0049] The number of subpopulations and the subpopulation size m are selected 652.
The search space is divided 654 into n equal parts. The total number of starting points S will be n * m. The search space for an algorithm for a retail store may have up to
50,000 products and 5,000 customers. From each partition of the search space, m number of starting points S are randomly generated 656. This deterministic selection of the initial starting points enables all parts of the search space to be explored.
[0050] The operating temperature T0 is set 658 to the starting temperature Ts. A random neighbor S is picked 660 for each starting point S. A random neighbor S is a point in the partition of the search space adjacent to the starting point S in that partition. For example, points (1,0) and (1,1) are neighbors.
[0051] The difference Δ between the objective function ^) as applied to the random neighbor S and as applied to the starting point S is calculated 662 as follows:
[0052] Δ = /(S')-/(S)
[0053] For a maximizing function, a difference value greater than zero means that a particular solution in a particular iteration is approaching the goal set by the objective function, while a difference less than zero means that the particular solution does not approach the goal set by the objective function. For a minimizing function, the opposite is true.
[0054] The difference Δ is compared 664 to zero. If the difference is greater than or equal to zero, then the starting point S is set 666 to random neighbor S . If the difference is less than zero, then the starting point S is set 668 to random neighbor S with a probability of exp (Δ / TQ ) .
[0055] The average fitness AF of the whole population is evaluated 670. The average fitaess AF is an average of the objective function f(x) as applied to each of the starting points, an average f(s) value of the whole population. The average fitaess AF is
determined by calculating the objective function as applied to each starting point f(s) and dividing the summation of all the objective functions by the total number of starting points as represented by the following equation:
[0056] Each starting point S is copied 672 to the next generation or iteration in response to the relation between the objective function as applied to the starting point
f(s) and the average fitaess AF. Each starting point is copied 7ω" times to the
AF
next generation. The value of , a real number, is rounded-up, rounded-down,
AF or may be rounded-up in one instance and rounded-down in another instance, to an integer. The weighted selection of the next generation of starting points would then eliminate starting points having fitness values f(s) below the average fitaess AF, replacing these points with starting points having fitaess values above the average fitaess AF. The convergence for an optimal solution is obtained more quickly since more promising regions of the search space are explored as points having a fitaess value below the average are replaced with more promising points.
[0057] The operating temperature To is adjusted 674 by the temperature reduction rate
r. The new operating temperature T0 is set to equal the previous operating
temperature To times the temperature reduction rate r. The new operating temperature
T0 is compared 674 to the cooling temperature Tc. If the new operating temperature
T0 is greater than the cooling temperatare Tc, a new random neighbor S is picked 660
for each starting point S and the modified simulated annealing operation continues. If
the new operating temperature T0 is less than or equal to the cooling temperature Tc,
then the solution is returned 678.
[0058] EXAMPLE
[0059] A standard modified simulated annealing operation to illustrate the general principle of the method is illustrated. This example has four iterations. Even though " the "temperature" and "temperature reduction rate" have no physical reality, the method uses them to control the number of iterations and the length of a particular operation. This example does not utilize the average fitaess or weights discussed above.
[0060] The objective is to maximize f(x, y, z) = 2*x - 3*y + z2, in which
[0061] x ε [0,3]
[0062] y ε [0,3]
[0063] z ε [0,3]
[0064] Ts = 10; Tc=l; r=0.5.
[0065] First Iteration or Generation
[0066] To = 10
[0067] Starting point S = (l, 1, 1)
[0068] f(S) = 2*(l)-3(l)+(l)2
[0069] f(S) = 0
[0070] random neighbor S'=(l, 2, 0)
[0071] f(S') = 2*(l)-3(2)+(0) 2
[0074] Δ = -4 - 0
[0075] Δ = -4 <=0
[0076] Probability: exp (-4/10) = 0.67
[0077] The random number sampled from the [0, 1] interval is 0.43
[0078] 0.43 < 0.67 then change the point S with S'
[0079] S = (l,2,0),f(S') = -4
[0080] T0 = 10*0.5
[0081] To =5
[0082] Second Iteration or Generation
[0083] To = 5
[0084] S =(1,2,0)
[0085] random neighbor S '=(2, 1, 1)
[0086] f(S') = 2*(2)-3(l)+(l)2
[0087] f(S') = 2
[0088] Δ = f(S')-f(S)
[0089] Δ = 2-(-4)
[0090] Δ = 6>0
[0091] Since Δ > 0 take (2, 1, 1) as the new S
[0092] S = (2,l,l)
[0093] T0 = 5*0.5
[0094] To =2.5
[0095] Third Iteration or Generation
[0096] To = 2.5
[0097] S = (2, 1,1)
[0098] random neighbor S'=(3, 0, 1)
[0099] f(S') = 2*(3)-3(0)+(l)2
[00100] f(S') = 7
[00101] Δ = f(S')-f(S)
[00102] Δ = 7-(2)
[00103] Δ = 5>0
[00104] Since Δ > 0 take (3, 0, 1) as the new S
[00105] S = (3,0,l)
[00106] 70 = 2.5*0.5
[00107] To =1.25
[00108] Fourth Iteration
[00109] To =1.25
[00110] S = (3,0, 1)
[00111] random neighbor S'=(3, 1, 2)
[00112] f(S') = 2*(3)-3(l)+(2)2
[00113] f(S') = 7
[00114] Δ = f(S')-f(S)
[00115] Δ = 7-(7)
[00116] Δ = 0
[00117] Probability: exp (-0/1.25) = 1
[00118] The random number sampled from the
[00119] 0.8 < 1 so select a random neighbor
[00120] S = (3,l,2),f(S) = 7
[00121] T0 =1.25*0.5
[00122] To = 0.625 < Tc
[00123] Return Solution Found
[00124] STOP
[00125] While the preceding example depicts a standard modified simulated annealing operation, one embodiment of a modified simulated annealing operation selects a plurality of starting points in order to search the search space more efficiently. The modified method works in the following manner. A plurality of points is selected, the selection being made in a random or in a deterministic manner. By deterministic is meant that there is a particular method or formula used to pick the points, e.g. the central point in each of the n parts of the search space, or the point whose added coordinates form the smallest sum, or the point whose added coordinates form the largest sum. Other deterministic formulae or criteria may be used.
[00126] For each point selected, also select a random neighbor, a neighbor defined as differing by not more than 1 integer in each dimension of the search space. Evaluate Δ, and based on whether Δ is less than zero, or greater than or equal to zero, pick the point or its nearest neighbor. Then evaluate AF, the average fitaess as defined above. Based on the average fitness, copy or map points to the next iteration. The "average fitaess" is the sum of the objective function for each point divided by the number of points. Each starting point is copied to the next generation by its f(s) (objective function) divided by the AF. As stated above, this value may be rounded up, rounded down, or sometimes rounded up and sometimes rounded down. Points having a function value less than the average are not copied to the next iteration. Thus, the convergence to an optimal solution is achieved.
[00127] In addition to retail store performance, the modified simulated annealing operation may be applied to stock portfolio selection. With a limited amount of money, there are specific numbers of stocks and bonds that can be bought. Each stock and bond has a risk factor and an expected return for a specified period of time. The decision functions on risk taken and expected return can be formulated as:
[00128] Maximize f(x) = x [00129] Minimize f(y) — y
[00130] where [00131] x is the overall expected return of the invested stocks and/or bonds and [00132] v is the overall risk factor associated with these stocks and/or bonds
[00133] The decision is focused on which stocks and/or bonds to buy and what amount should be invested in each stock and/or bond.
[00134] The modified simulated annealing operation could provide an optimal solution by identifying the stocks and bonds and the amount of spending that will give the maximum return and minimum risk. Several starting points are generated. Each point represents a combined set of stocks and bonds and the amount of spending on each stock and bond. Then, using the modified simulated annealing operation previously described, the optimal selection of bonds and stocks and the amount of spending needed can be found.
[00135] Optimal Design of a Factory Floor:
[00136] In a similar manner, the modified simulated annealing operation may be applied to the design of a factory floor. To design a factory floor with a specified number of machines, each machine has a specification based on the time required to produce a specific part and the cost of the machine. The objective is to determine the combination of machines to use that minimizes spending and the overall time required to produce parts. The objective function is:
[00137] Minimize f(x, y) = x + y [00138] where [00139] x is the overall time spent on producing products, and [00140] y is the overall spending on the machines used.
[00141] A modified simulated annealing operation can provide the combination of machines that will provide an optimal design. Several starting points are selected in the decision space. Each point represents a set of machines. Then using the modified simulated annealing operation, the optimum configuration of the factory floor is determined. Of course, in using a modified simulated annealing operation for
optimizing performance of a store, the variables in the objective function will be those associated with coupons, pricing, price sensitivity, customer satisfaction, sales, profits, profit margins, and the like. Various embodiments of the invention have been described and illustrated.
However, the description and illustrations are by way of example only. Other embodiments and implementations are possible within the scope of this invention and will be apparent to those of ordinary skill in the art. Therefore, the invention is not limited to the specific details, representative embodiments, and illustrated examples in this description. Accordingly, the invention is not to be restricted except in light as necessitated by the accompanying claims and their equivalents.