The technology described in this patent application relates generally to optimizing the distribution of goods, and more specifically to systems and methods for pack optimization in a distribution model of two or more levels.
Entities that operate large-scale operations for the distribution of goods, such as national apparel retailers, often incorporate the concept of packs, which are pre-determined sets of a good that differ in one or more characteristics, such as color or size. Each such entity distributes packs among the end points of its distribution network. A pack optimization solution will ensure both minimization of the costs of shipping the packs to the end points of the distribution network and maximization of revenue derived from the supply of goods at the end points of the distribution network, such as through sales of apparel at an entity's retail locations. Thus, it is extremely important to entities that employ packs to distribute goods that pack distribution is optimized.
In accordance with the teachings herein, computer-implemented systems and methods are provided to optimize the distribution of packs among the end points of a distribution network. Thus, for example, an entity that runs a large-scale distribution network, such as a national apparel retail chain, may forecast the expected demand for a particular good at each end point of its distribution network, such as a retailer's store locations. In addition to the information about the anticipated demand at each end point of its distribution network, an entity also specifies the costs associated with supplying an amount of the good that is not exactly equal to anticipated demand and information about the specific mix of the good contained in a pack. In addition, entities may define packs at more than one level. For example, one type of pack, which could be called an inner pack, may include six blue shirts, where three shirts are size medium, two shirts are size large, and one shirt is size small. Meanwhile, a second type of pack, which could be called an outer pack, would contain a set number of identical inner packs.
Solving a pack optimization instance makes use of the information described above, which is needed to generate an optimal distribution of packs among the end points of a distribution network, and the additional constraint that each end point must receive an integer number of packs. Due to the constraint that end points receive integer numbers of packs, one approach to the optimization that generally would be appropriate is the use of mixed-integer linear programming (MILP) methods. A factor that suggests MILP methods would not be favorable, though, is the potential number of end points in an entity's distribution network. Because the number of end points could be quite large, each optimization instance formulated as described is likely to be too complex for a generic MILP solver to solve quickly enough for the system to be commercially useful. The use of heuristics permits the exploitation of pack-specific structure within the optimization instance to produce good solutions quickly.
The system 140 permits an entity that operates a large-scale distribution network to optimize a planned distribution of packs among the end points of its distribution network. Thus, for example, a national apparel retail chain may forecast the expected demand for a particular good at each end point of its distribution network, such as the retail stores operated by the retailer. In addition to the information about the anticipated demand at each end point of its distribution network, an entity also specifies the costs associated with supplying an amount of the good that is not exactly equal to anticipated demand and information about the specific mix of the good contained in a pack. In addition, entities may define packs at more than one level. For example, one type of pack, which could be called an inner pack, may include six blue shirts, where three shirts are size medium, two shirts are size large, and the sixth shirt is size small. The entity also could define a second type of pack, which might be called an outer pack, where each outer pack would contain a set number of identical inner packs.
It should be noted that the use of the term “end point” with respect to a distribution network, as described in this example, is not limited to a true final distribution destination (e.g., a retail store) for the items in the pack optimization formulation. In other examples, however, the term “end point” may be equivalent to the final distribution destination for the items in the pack optimization formulation. The methods and systems described herein may be used to solve pack optimization formulations in a distribution network having an arbitrary number of levels. Thus, for example, a national retail chain might employ regional distribution centers, each of which supplies certain of the chain's retail stores. Each of the regional distribution centers, then, could potentially be supplied by a national distribution center, or it may be that the chain makes use of an additional level of distribution between the national level and the regional level, such as super-regional distribution centers. Whatever the structure of a particular entity's distribution network, the solutions to pack optimization instances at the various levels within the network may be generated separately by the pack optimization system. Once created, the separate pack optimization solutions may be combined into a single pack optimization solution for the entire distribution network, if the entity (e.g., the national retail chain) so chooses. So, in the case where the pack optimization system is used to solve pack optimization instances in a three-level distribution network for a national apparel retail chain, the solution to the pack optimization instance for distributing packs from a national distribution center to regional distribution centers would treat the regional distribution centers as the end points, even though the pack optimization system will formulate and solve a separate pack optimization instance for distributing packs from the regional distribution centers to the chain's retail locations.
In the example of the national apparel retail chain, packs are defined on a “per-item” basis. Thus, a particular model of shirt, blue in color, would be one item, and a pack optimization system would formulate one pack optimization problem to be solved using MILP methods and the heuristics herein described, where the solution to that pack optimization instance would represent the optimal distribution of packs of that item. However, it is possible that the apparel retail chain would sell more than one color of a particular shirt, as well as other styles of shirts, not to mention other items of clothing, such as pants, shoes, jackets, etc. A national apparel retail chain might need to solve pack optimization problems for thousands, tens of thousands, or even hundreds of thousands of different items. Considering the scope of pack optimization instances that a pack optimization system is intended to solve, simplification of the individual pack optimization instances the system is used to solve will yield significant benefits.
The heuristics described herein are used to exploit pack-specific optimization problem structure to produce good solutions quickly. Solving the pack optimization problems using MILP methods will produce solutions that represent optimal distributions of packs among the end points of a distribution network, such as the retail chain's stores, but using MILP methods to solve the pack optimization problems directly is a computationally intensive process, potentially requiring compute time on the order of hours, where the time available to produce an optimal solution while still being a commercially useful system might be on the order of seconds. Thus, simplification, such as through the use of heuristics, may be applied to ensure both that optimal values are chosen for a planned distribution of packs and that the computation time necessary to solve a pack optimization problem may be reduced so that the optimization system is commercially useful. For example, if a pack optimization system determines that an optimization problem is amenable to separation on an end-point-by-end-point basis (e.g., store-by-store for a national apparel retail chain), the system could employ a separability heuristic. Using the separability heuristic, the pack optimization system may decompose the pack optimization problem for a particular item into narrower pack optimization problems reflecting the packs needed for a particular store. These simpler problems, then, may be solved directly using MILP to produce optimized values for a planned distribution of packs in a distribution hierarchy. The ability of the pack optimization system to directly solve the simpler problems using MILP is made possible by the significant reduction in computational complexity brought about by decomposing the initial optimization problem into multiple problems, each reflecting the needs of a particular store.
Another example of a heuristic that may be employed by a pack optimization system to solve pack optimization instances for goods across a distribution network is the main rounding heuristic. The main rounding heuristic solves a sequence of linear programming (LP) problems, starting with the LP relaxation (obtained by ignoring integrality constraints on all decision variables) of the MILP formulation. The heuristic proceeds in an iterative manner, first solving the relaxation using a generic LP solver, then determining an integer value to be assigned to one or more of the variables in the LP relaxation. Once a variable has been set to an integer value, the LP relaxation may be solved again, this time with the additional constraint that the one or more variables previously set to an integer value is held constant, thus permitting the iterative approach to produce a set of integer values for the variables defined in the optimization instance.
The constraints 230 input to the pack optimization engine 210 may include any or all of a variety of values that the pack optimization engine 210 will use to limit what may be included in a planned distribution of packs that is output as the solution for a particular pack optimization instance. For example, there may be a limit on the overall number of outer packs that are available to be distributed to the distribution end points. Thus, if the sum of the forecast demand for all of the end points is higher than the number of units contained in the available number of outer packs, then the solution to the pack optimization instance may not fully satisfy the demand forecast for one or more of the distribution end points. Another example of a constraint that may be imposed within a pack optimization instance is a store_min_max constraint. In the example of a national apparel retail chain, the store_min_max constraint would force the total number of units across all sizes for each store to be between a store_min value and a store_max value. As discussed above, the use of the term “store” does not limit this constraint to the particular situation of allocating units to a retail location. For example, in the case of a multi-level distribution network, when modeling any level above the retail level, “store” would refer to some type of distribution center. A third example constraint is the demand_fit constraint. The demand_fit constraint, again with respect to the apparel chain example, links variables in the pack optimization solution to values included in the demand model(s) 240. Specifically, the NumOver and NumUnder variables in the pack optimization solution, which represent the number of units above or below forecast demand for a particular store and size, respectively, are linked to the demand values included in the demand model(s) 240 input to the engine 210.
Demand model(s) 240 is the third input to the pack optimization engine 210. The demand model 240, which may be specified by a user or generated using a computer-based modeling system, defines the quantity of each size of each item that is forecast to be needed at a particular distribution end point. The demand model may encompass modeling data generated from one or more computer-based modeling systems. For example, a forecasting model may be used to produce an overall forecast of demand for a particular item at a particular location. In the example of an apparel retail chain, another model that may be incorporated into the creation of a demand model is a size profiling model. A size profiling model could be used to predict the quantities of an item needed in each particular size, based for example, on geographic location and/or historical size demand data. The demand values thus produced are input into the pack optimization engine 210 and form the basis of the pack optimization instance.
The fourth input to the pack optimization engine 210 is cost data 250. Cost data 250 includes information such as handling costs or mismatch penalty costs, if applicable. The handling costs can be defined at multiple levels, such as the cost of shipping one inner pack or one unopened outer pack. The values for handling costs may represent, for example, the marginal cost of shipping a single inner pack or unopened outer pack, or they could be defined as some portion of the fully-loaded shipping cost for all of the items, however a distributing entity may define such cost. The mismatch penalty costs represent the cost to the entity, such as the retail chain, of providing too great or too small a quantity of item to a particular location, such as a retail store. Generally speaking, the cost might represent the revenue lost due to a lack of inventory of an item (in the case where too few units were supplied) or the revenue lost by selling a unit of an item at a marked down price (in the case where too many units were supplied). This cost data 250 is input to the pack optimization engine 210, and it is used to evaluate the costs associated with a particular solution to the pack optimization instance.
In situations where a distributing entity does not know what values would be appropriate for mismatch penalties, a cost adapter module can assist in generating these values based on more typical business data, such as markdown cost and lost sale cost. For example, the penalty for providing too great a quantity of a particular item could be defined as:
over_penalty[store,option]=markdown_cost*store_factor[store]*store_option_factor[store,option]
where store_factor is a measure of relative importance of a given store (default value typically would be 1) and store_option_factor is obtained from normalizing the inverse of the size profile.
Once the pack optimization engine 210 has the input data necessary to generate the pack optimization problem, the engine 210 performs the operations needed to produce an optimal solution. This is accomplished through the use of heuristics 270, and the output of the engine 210 is a pack optimization solution 280, which the distributing entity may use to allocate its goods across its distribution network. Examples of heuristics 270 include the benchmark heuristic 272, the main rounding heuristic 274, and the separability heuristic 276. The heuristics incorporated into the pack optimization system are used to exploit pack-specific structure in the optimization formulation to reduce the computation time required to solve pack optimization formulations.
The benchmark heuristic 272 does not optimize the distribution of packs across a number of distribution end points. Rather, the heuristic attempts to mimic what a person would do “by hand” to optimize the distribution of packs across the distribution end points. Pack optimization problems under an example benchmark heuristic proceed by alternating between an assignment step, in which inner packs are assigned to one of the end points in the distribution hierarchy, and an ordering step, in which additional outer packs are ordered if needed to satisfy unmet need at one or more distribution end points. In the assignment step, loose inner packs are assigned among the distribution end points in decreasing order of remaining need at the distribution end points. Because inner packs are packaged according to fixed formulations, the remaining need at a distribution end point for a particular size or color of an item may be negative. If some of the distribution end points have negative numbers for their remaining need of one or more sizes or colors, then end points where all remaining need numbers are positive will be favored.
Once all distribution end points have some need value that is negative, the example benchmark heuristic would return to assigning inner packs first to those end points with the greatest total remaining need, while also attempting to minimize the mismatch penalty that results from increasing the oversupply of one or more items (e.g., items of size large or color red). This is repeated until all remaining inner packs have been assigned.
The ordering step of the benchmark heuristic proceeds by analyzing, for each end point with positive total remaining need, which pack has size proportions that most closely match the proportions of that end point's remaining need. The number of inner packs necessary to satisfy the end point's total remaining need is rounded to an integer value. Next, a local search is performed for each end point using three moves: 1) adding an inner pack; 2) removing an inner pack; and 3) replacing one inner pack with another. These moves are repeated until each end point's order is locally optimal, or in other words, the solution could not be improved by any additional moves. The resulting values of additional inner packs to be assigned across all end points are totaled and rounded to the nearest value for additional outer packs, while ensuring that the NumOuters_max[pack] constraint is not violated. If an iteration of the ordering step results in one or more additional outer packs being ordered, then those outer packs are broken up into loose inner packs and the heuristic returns to the assignment step, described above.
Once the one or more variables are set to integer values, those variables (and any variables previously set to integer values) are held constant, and the step of solving the LP relaxation 410 is repeated, using the same LP solver. These steps are repeated as many times as necessary to set all of the NumOuters variables to integer values. Once all of the NumOuters variables have been set to integer values, the NumOuters values are fixed to the integer values, as shown at 440. Once the NumOuters values are fixed, the first stage of the example main rounding heuristic is complete, and the example main rounding heuristic can continue to the second stage.
where NumOpenedOuters is the number of opened outer packs, P is the quantity of inner packs contained in each outer pack, and Li is the loose inner pack value for distribution end point i. The heuristic selects the R distribution end points for which the value of the NumLooseInners variable had the highest fractional portion and increases the NumLooseInners values by one for each of the R distribution end points selected. Once this is complete, the pack optimization solution has accounted for all of the available loose inner packs and the example main rounding heuristic continues to the fourth stage.
On the other hand, if at 820 the proposed solution to the pack optimization problem is found to violate one or more store_min_max constraints, the heuristic attempts to alter the solution to satisfy the violated constraints. As depicted at 840, the heuristic searches for “donor” end points, which are those end points that may have their allocations reduced without causing a violation of the store_min constraint for that end point, and for “donee” end points, which are those end points that may have their allocations increased without causing a violation of the end point's store_max constraint. Distribution end points that may serve as donors or donees are considered compatible when an inner pack can be transferred from the donor to the donee without violating the donor's store_min constraint or the donee's store_max constraint. If no suitable donor-donee pairs are identified, then the post-processing operations terminate, as depicted at 850, without producing a feasible solution.
If one or more compatible donor-donee pairs are identified, then the most efficient pairings of donor and donee are those in which the allocations for both end points violate a constraint, as the opportunity exists to cure two violations at once, and the heuristic will search for the best compatible donor-donee pair first, as shown at step 860. Further, end points preferably are processed in decreasing order of difference in end point need satisfaction, which is the percentage by which the proposed allocation is over or under the end point's need. For a compatible donor-donee pair, the inner pack chosen to be transferred is one that minimizes the resulting mismatch cost. As shown at 870, once the best donor-donee match has been identified, an inner pack is transferred between the compatible distribution end point pairs. The example heuristic then returns to step 820 to repeat the process. The process will repeat until either all of the violations of the store_min_max constraints have been cured or there are no further compatible end point pairs. Once either all violations of the store_min_max constraints have been cured or no additional compatible donor-donee pairs can be identified by the heuristic, the heuristic proceeds to step 830, as discussed above, and attempts to determine whether any of the NumLooseInners quantities in the proposed solution are high enough to convert to an additional unopened outer pack. Once complete, the post-processing operations end and the heuristic is complete. The solution to the pack optimization problem may be output by the pack optimization system.
In certain distribution situations, such as where the total number of units that is to be allocated is much larger or much smaller than the total number of units needed at the distribution end points, a small subset of the distribution end points may end up bearing the brunt of the resulting surplus or deficit. The MILP formulation as described above would not prevent a pack optimization solution from including this type of misallocation, because when two solutions have sums of handling costs and mismatch penalty costs that are equal, the solutions are considered equally desirable. Thus, for example, if there are ten excess units and all stores have the same over penalties, the solver will be indifferent between a solution in which one store is assigned all ten extra units and a solution in which each of ten stores is assigned one extra unit.
There are approaches that may be used to resolve such imbalances in the pack optimization solution. Examples of these approaches include the use of secondary objectives, the introduction of piecewise linear mismatch penalties with an arbitrary number of breakpoints, quadratic mismatch penalties and mixed-integer quadratic programming (MIQP) problem modeling, and general nonlinear mismatch penalties and mixed-integer nonlinear programming (MINLP) problem modeling. The use of secondary objectives, for example, could involve minimizing the maximum NumOver[store,option] or NumUnder[store,option] across all stores and options. This could be implemented within a standard MILP formulation, which thus would require only a single solving iteration, by minimizing the value of:
HandlingCost+MismatchPenaltyCost+balance_factor*(NumOverMax+NumUnderMax).
In this formulation, if balance_factor=0, the factor drops out, leaving the otherwise-standard MILP formulation. Further, the larger the value of balance_factor, the more aggressive the factor will be in preventing imbalance.
The mismatch penalties described above with respect to MILP problem formulation take the form of piecewise linear mismatch penalties with one breakpoint and two segments (V-shaped). A natural generalization of the mismatch penalty concept would be the use of piecewise linear mismatch penalties with an arbitrary number (N) of breakpoints and N+1 segments. A user of the system would provide the breakpoints and the slope for each segment. If the objective function is convex (a natural restriction corresponding to increasing slopes), appropriate changes to the MILP model preserve linearity.
The use of quadratic mismatch penalties would naturally discourage imbalanced solutions because balanced solutions would result in smaller objective function values. The model that would result from the use of quadratic mismatch penalties would be mixed integer quadratic programming (MIQP) rather than MILP. The use of quadratic mismatch penalties and MIQP increases the burden on a user of the system to provide such penalties in the input. In addition, if no solver for MIQP is available, this method can be approximated using a piecewise linear objective function.
In the last example of a method for reducing imbalances in the pack optimization solution, general nonlinear mismatch penalties may be used. Such a method is a more general version of the quadratic mismatch penalty example described above. As with the quadratic mismatch penalty example, though potentially to an even greater degree, the use of general nonlinear mismatch penalties places a significant burden on a user of the system to supply penalties in the input. The model resulting from this method would be mixed integer non-linear programming (MINLP) rather than MILP. Also, as with the MIQP method above, if no MINLP solver is available, this method can be approximated using a piecewise linear objective function.
Once the pack optimization system has removed the additional levels of distribution entities, the system specifies constraint values that limit what values may be included in the solution to the pack optimization problem. As with the example non-multiple-level pack optimization instance described above, constraint values may be derived from other statistical models, such as a size profiling model. The pack optimization system applies a heuristic to reduce the computation time required to solve the pack optimization problem, as is the case in the example non-multiple-level pack optimization instance described above. The pack optimization system uses a mixed-integer linear programming solver to solve a pack optimization problem, which produces optimized values for numbers of packs to be distributed to each of the remaining plurality of entities responsible for distributing and/or selling the item. This step, too, is performed in a manner similar to that described above with respect to an example non-multiple-level pack optimization instance.
The pack optimization system performs further processing on the values in the pack optimization solution determined as described above to ensure that the optimized values for numbers of packs satisfy the constraint values applicable to the pack optimization problem. Once the sub-problem has been solved as described, any of the plurality of entities that were removed from the optimization problem as described above are optimized. The pack optimization system repeats the steps described above for each of those entities that were removed from the optimization problem. In addition, the pack optimization solution or solutions determined during the one or more previous iterations of the steps described above may constitute one or more inputs to the next iteration of solving one of the sub-problems.
As an example, the national distribution operation for a national apparel retail chain 910 is responsible for distributing the chain's apparel to its stores. In the example, however, the distribution operation 910 only directly distributes the apparel to a group of super-regional distribution centers 920. The super-regional distribution centers 920 are themselves responsible for distributing apparel to a group of regional distribution centers, such as the regional distribution centers 930 that are associated with the southeastern super-regional distribution center. The other super-regional distribution centers also are responsible for distribution hierarchies (922 and 924), though those hierarchies are not depicted. As the national distribution operation is responsible for distributing to another entity that also distributes, in this example the pack optimization system would remove the national distribution system from the pack optimization problem and instead first solve one of the sub-problems, such as that for the southeastern super-region. In this example, each of the group of regional distribution centers 930 is responsible for a number of retail stores, for example, the five stores 940 associated with the southeastern region 2 distribution center. As with the higher level in the hierarchy, the other regional distribution centers are responsible for groups of stores as well (932 and 934), though those groups are not depicted. Since the super-regional distribution centers 920 in this example also distribute only to entities (the regional distribution centers) that are themselves responsible for distributing to other sales or distribution entities (the retail stores), the super-regional distribution centers also would be removed from the pack optimization problem and the sub-problem of a particular regional distribution center within the super-region would be solved. Once the lower-level sub-problems have been solved, the pack optimization system then can return to solving the super-regional and national optimization problems.
While examples have been used to disclose the invention, including the best mode, and also to enable any person skilled in the art to make and use the invention, the patentable scope of the invention is defined by claims, and may include other examples that occur to those skilled in the art. Accordingly the examples disclosed herein are to be considered non-limiting.
It is further noted that the systems and methods may be implemented on various types of computer architectures, such as for example on a single general purpose computer (as shown at 1100 on
It is further noted that the systems and methods may include data signals conveyed via networks (e.g., local area network, wide area network, internet, combinations thereof, etc.), fiber optic medium, carrier waves, wireless networks, etc. for communication with one or more data processing devices. The data signals can carry any or all of the data disclosed herein that is provided to or from a device.
Additionally, the methods and systems described herein may be implemented on many different types of processing devices by program code comprising program instructions that are executable by the device processing subsystem. The software program instructions may include source code, object code, machine code, or any other stored data that is operable to cause a processing system to perform the methods and operations described herein. Other implementations may also be used, however, such as firmware or even appropriately designed hardware configured to carry out the methods and systems described herein.
The systems' and methods' data (e.g., associations, mappings, data input, data output, intermediate data results, final data results, etc.) may be stored and implemented in one or more different types of computer-implemented ways, such as different types of storage devices and programming constructs (e.g., data stores, RAM, ROM, Flash memory, flat files, databases, programming data structures, programming variables, IF-THEN (or similar type) statement constructs, etc.). It is noted that data structures describe formats for use in organizing and storing data in databases, programs, memory, or other computer-readable media for use by a computer program.
The systems and methods may be provided on many different types of computer-readable media including computer storage mechanisms (e.g., CD-ROM, diskette, RAM, flash memory, computer's hard drive, etc.) that contain instructions (e.g., software) for use in execution by a processor to perform the methods' operations and implement the systems described herein.
The computer components, software modules, functions, data stores and data structures described herein may be connected directly or indirectly to each other to allow the flow of data needed for their operations. It is also noted that a module or processor includes but is not limited to a unit of code that performs a software operation, and can be implemented for example as a subroutine unit of code, or as a software function unit of code, or as an object (as in an object-oriented paradigm), or as an applet, or in a computer script language, or as another type of computer code. The software components and/or functionality may be located on a single computer or distributed across multiple computers depending upon the situation at hand.
It should be understood that as used in the description herein and throughout the claims that follow, the meaning of “a,” “an,” and “the” includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise. Finally, as used in the description herein and throughout the claims that follow, the meanings of “and” and “or” include both the conjunctive and disjunctive and may be used interchangeably unless the context expressly dictates otherwise; the phrase “exclusive or” may be used to indicate situation where only the disjunctive meaning may apply.
Number | Name | Date | Kind |
---|---|---|---|
5175692 | Mazouz et al. | Dec 1992 | A |
5195172 | Elad et al. | Mar 1993 | A |
5319781 | Syswerda | Jun 1994 | A |
5627973 | Armstrong et al. | May 1997 | A |
5652842 | Siegrist, Jr. et al. | Jul 1997 | A |
5712989 | Johnson et al. | Jan 1998 | A |
5767854 | Anwar | Jun 1998 | A |
5799286 | Morgan et al. | Aug 1998 | A |
5867494 | Krishnaswamy et al. | Feb 1999 | A |
5926820 | Agrawal et al. | Jul 1999 | A |
5946662 | Ettl et al. | Aug 1999 | A |
5953707 | Huang et al. | Sep 1999 | A |
5963910 | Ulwick | Oct 1999 | A |
5999908 | Abelow | Dec 1999 | A |
6009407 | Garg | Dec 1999 | A |
6014640 | Bent | Jan 2000 | A |
6023684 | Pearson | Feb 2000 | A |
6029139 | Cunningham et al. | Feb 2000 | A |
6041267 | Dangat et al. | Mar 2000 | A |
6076071 | Freeny, Jr. | Jun 2000 | A |
6078892 | Anderson et al. | Jun 2000 | A |
6115691 | Ulwick | Sep 2000 | A |
6119102 | Rush et al. | Sep 2000 | A |
6151582 | Huang et al. | Nov 2000 | A |
6175876 | Branson et al. | Jan 2001 | B1 |
6182060 | Hedgcock et al. | Jan 2001 | B1 |
6208908 | Boyd et al. | Mar 2001 | B1 |
6226623 | Schein et al. | May 2001 | B1 |
6236977 | Verba et al. | May 2001 | B1 |
6237138 | Hameluck et al. | May 2001 | B1 |
6249768 | Tulskie et al. | Jun 2001 | B1 |
6263315 | Talluri | Jul 2001 | B1 |
6275812 | Haq et al. | Aug 2001 | B1 |
6286005 | Cannon | Sep 2001 | B1 |
6321133 | Smirnov et al. | Nov 2001 | B1 |
6321206 | Honarvar | Nov 2001 | B1 |
6341266 | Braun | Jan 2002 | B1 |
6341269 | Dulaney et al. | Jan 2002 | B1 |
6397224 | Zubeldia et al. | May 2002 | B1 |
6456999 | Netz | Sep 2002 | B1 |
6470344 | Kothuri et al. | Oct 2002 | B1 |
6484179 | Roccaforte | Nov 2002 | B1 |
6502077 | Speicher | Dec 2002 | B1 |
6526526 | Dong et al. | Feb 2003 | B1 |
6546135 | Lin et al. | Apr 2003 | B1 |
6553352 | Delurgio et al. | Apr 2003 | B2 |
6560501 | Walser et al. | May 2003 | B1 |
6581068 | Bensoussan et al. | Jun 2003 | B1 |
6584447 | Fox et al. | Jun 2003 | B1 |
6611829 | Tate et al. | Aug 2003 | B1 |
6640215 | Galperin et al. | Oct 2003 | B1 |
6643659 | MacIsaac et al. | Nov 2003 | B1 |
6728724 | Megiddo et al. | Apr 2004 | B1 |
6735570 | Lacy et al. | May 2004 | B1 |
6750864 | Anwar | Jun 2004 | B1 |
6836689 | Walser et al. | Dec 2004 | B2 |
6898603 | Petculescu et al. | May 2005 | B1 |
6901406 | Nabe et al. | May 2005 | B2 |
6907382 | Urokohara | Jun 2005 | B2 |
6937992 | Benda et al. | Aug 2005 | B1 |
6970830 | Samra et al. | Nov 2005 | B1 |
7039594 | Gersting | May 2006 | B1 |
7062447 | Valentine et al. | Jun 2006 | B1 |
7068267 | Meanor et al. | Jun 2006 | B2 |
7085734 | Grant et al. | Aug 2006 | B2 |
7089266 | Stolte et al. | Aug 2006 | B2 |
7092896 | Delurgio et al. | Aug 2006 | B2 |
7092918 | Delurgio et al. | Aug 2006 | B1 |
7092929 | Dvorak et al. | Aug 2006 | B1 |
7130811 | Delurgio et al. | Oct 2006 | B1 |
7133876 | Roussopoulos et al. | Nov 2006 | B2 |
7133882 | Pringle et al. | Nov 2006 | B1 |
7171376 | Ramakrishnan | Jan 2007 | B2 |
7210624 | Birjandi et al. | May 2007 | B1 |
7236949 | Natan et al. | Jun 2007 | B2 |
7240019 | Delurgio et al. | Jul 2007 | B2 |
7249031 | Close et al. | Jul 2007 | B2 |
7251615 | Woo | Jul 2007 | B2 |
7302400 | Greenstein | Nov 2007 | B2 |
7302410 | Venkatraman et al. | Nov 2007 | B1 |
7310646 | Rangadass et al. | Dec 2007 | B2 |
7346538 | Reardon | Mar 2008 | B2 |
7370366 | Lacan et al. | May 2008 | B2 |
7379890 | Myr et al. | May 2008 | B2 |
7395255 | Li | Jul 2008 | B2 |
7440903 | Riley et al. | Oct 2008 | B2 |
7505482 | Adamczyk et al. | Mar 2009 | B2 |
7516083 | Dvorak et al. | Apr 2009 | B1 |
7519908 | Quang et al. | Apr 2009 | B2 |
7536361 | Alberti et al. | May 2009 | B2 |
7617119 | Neal et al. | Nov 2009 | B1 |
7668761 | Jenkins et al. | Feb 2010 | B2 |
7689456 | Schroeder et al. | Mar 2010 | B2 |
7747339 | Jacobus et al. | Jun 2010 | B2 |
7752067 | Fotteler et al. | Jul 2010 | B2 |
7756945 | Andreessen et al. | Jul 2010 | B1 |
7798399 | Veit | Sep 2010 | B2 |
7877286 | Neal et al. | Jan 2011 | B1 |
7895067 | Ramakrishnan | Feb 2011 | B2 |
8112300 | Harper | Feb 2012 | B2 |
8515835 | Wu et al. | Aug 2013 | B2 |
20010047293 | Waller et al. | Nov 2001 | A1 |
20020013757 | Bykowsky et al. | Jan 2002 | A1 |
20020046096 | Srinivasan et al. | Apr 2002 | A1 |
20020072953 | Michlowitz et al. | Jun 2002 | A1 |
20020099678 | Albright et al. | Jul 2002 | A1 |
20020107723 | Benjamin et al. | Aug 2002 | A1 |
20020116237 | Cohen et al. | Aug 2002 | A1 |
20020123930 | Boyd et al. | Sep 2002 | A1 |
20020143669 | Scheer | Oct 2002 | A1 |
20020169654 | Santos et al. | Nov 2002 | A1 |
20020169655 | Beyer et al. | Nov 2002 | A1 |
20020178049 | Bye | Nov 2002 | A1 |
20020188499 | Jenkins et al. | Dec 2002 | A1 |
20030023598 | Janakiraman et al. | Jan 2003 | A1 |
20030028437 | Grant et al. | Feb 2003 | A1 |
20030050845 | Hoffman et al. | Mar 2003 | A1 |
20030078830 | Wagner et al. | Apr 2003 | A1 |
20030083924 | Lee et al. | May 2003 | A1 |
20030083925 | Weaver et al. | May 2003 | A1 |
20030088458 | Afeyan et al. | May 2003 | A1 |
20030097292 | Chen et al. | May 2003 | A1 |
20030110072 | Delurgio et al. | Jun 2003 | A1 |
20030110080 | Tsutani et al. | Jun 2003 | A1 |
20030120584 | Zarefoss et al. | Jun 2003 | A1 |
20030126010 | Barns-Slavin | Jul 2003 | A1 |
20030126136 | Omoigui | Jul 2003 | A1 |
20030167098 | Walser et al. | Sep 2003 | A1 |
20030172007 | Helmolt et al. | Sep 2003 | A1 |
20030172145 | Nguyen | Sep 2003 | A1 |
20030208402 | Bibelnieks et al. | Nov 2003 | A1 |
20030208420 | Kansal | Nov 2003 | A1 |
20030220830 | Myr | Nov 2003 | A1 |
20030229502 | Woo | Dec 2003 | A1 |
20030236721 | Plumer et al. | Dec 2003 | A1 |
20040093296 | Phelan et al. | May 2004 | A1 |
20040103051 | Reed et al. | May 2004 | A1 |
20040111388 | Boiscuvier et al. | Jun 2004 | A1 |
20040111698 | Soong et al. | Jun 2004 | A1 |
20040199781 | Erickson et al. | Oct 2004 | A1 |
20040210489 | Jackson et al. | Oct 2004 | A1 |
20040230475 | Dogan et al. | Nov 2004 | A1 |
20050033761 | Guttman et al. | Feb 2005 | A1 |
20050066277 | Leah et al. | Mar 2005 | A1 |
20050096963 | Myr et al. | May 2005 | A1 |
20050197896 | Viet et al. | Sep 2005 | A1 |
20050198121 | Daniels et al. | Sep 2005 | A1 |
20050256726 | Benson et al. | Nov 2005 | A1 |
20050256753 | Viet et al. | Nov 2005 | A1 |
20050262108 | Gupta | Nov 2005 | A1 |
20050267901 | Irlen | Dec 2005 | A1 |
20050288989 | Kim et al. | Dec 2005 | A1 |
20050289000 | Chiang et al. | Dec 2005 | A1 |
20060008803 | Brunner et al. | Jan 2006 | A1 |
20060010067 | Notani et al. | Jan 2006 | A1 |
20060047608 | Davis et al. | Mar 2006 | A1 |
20060069598 | Schweitzer et al. | Mar 2006 | A1 |
20060074728 | Schweitzer et al. | Apr 2006 | A1 |
20060143030 | Wertheimer | Jun 2006 | A1 |
20060235557 | Knight et al. | Oct 2006 | A1 |
20060248010 | Krishnamoorthy et al. | Nov 2006 | A1 |
20070050195 | Malitski | Mar 2007 | A1 |
20070055482 | Goodermote et al. | Mar 2007 | A1 |
20070100981 | Adamczyk et al. | May 2007 | A1 |
20070136150 | Biancavilla et al. | Jun 2007 | A1 |
20070174119 | Ramsey et al. | Jul 2007 | A1 |
20070174146 | Tamarkin et al. | Jul 2007 | A1 |
20070208608 | Amerasinghe et al. | Sep 2007 | A1 |
20070223462 | Hite et al. | Sep 2007 | A1 |
20070288296 | Lewis | Dec 2007 | A1 |
20080077459 | Desai et al. | Mar 2008 | A1 |
20080086392 | Bishop et al. | Apr 2008 | A1 |
20080140581 | Mayer | Jun 2008 | A1 |
20080140688 | Clayton et al. | Jun 2008 | A1 |
20080208678 | Walser et al. | Aug 2008 | A1 |
20080208719 | Sharma et al. | Aug 2008 | A1 |
20090112675 | Servais | Apr 2009 | A1 |
20090271241 | Pratt | Oct 2009 | A1 |
20100114669 | Birjandi et al. | May 2010 | A1 |
20100145501 | Guilbert et al. | Jun 2010 | A1 |
20110071877 | Ettl et al. | Mar 2011 | A1 |
20110145030 | Allen | Jun 2011 | A1 |
20120054076 | Wu et al. | Mar 2012 | A1 |
20120179505 | DePaola et al. | Jul 2012 | A1 |
20120179506 | DePaola et al. | Jul 2012 | A1 |
20120179507 | DePaola et al. | Jul 2012 | A1 |
Number | Date | Country |
---|---|---|
1413955 | Apr 2004 | EP |
0111522 | Feb 2001 | WO |
2007002841 | Jan 2007 | WO |
Entry |
---|
Renaud, Jacques, Boctor, Fayez, Ouenniche, Jamal, 2000, A heuristic for the pickup and delivery traveling salesman problem, Computers and Operations Research pp. 905-916. |
i2 Technologies, Inc., “Improving Service and Market Share with i2 Inventory Optimization: How superior inventory management can be deployed as a competitive weapon to drive the top and the bottom line”, pp. 1-26 (Aug. 2004). |
Cognizant Technology Solutions, “Pre Pack Optimization: Increasing Supply Chain Efficiency”, pp. 1-26 (undated). |
Armstrong, Mark, “Multiproduct Nonlinear Pricing”, Econometrica, vol. 64, No. 1, pp. 51-75 (Jan. 1996). |
Armstrong, Ronald D. et al., The Multiple-Choice Nested Knapsack Model, Management Science, vol. 28, No. 1, pp. 34-43 (Jan. 1982). |
Balas, Egon et al., “OCTANE: A New Heuristic for Pure 0-1 Programs,” Operations Research, 2001 Informs, vol. 49, No. 2, pp. 207-225 (Mar.-Apr. 2001). |
Balintfy et al, Binary and Chain Comparisons with an Experimental Linear Programming Food Price Index, The Review of Economics and Statistics, vol. 52, No. 3, pp. 324-330 (Aug. 1970). |
Baud, Nicolas et al., “Internal data, external data and consortium data for operational risk measurement: How to pool data properly?”, Groupe de Recherche Operationnelle, Credit Lyonnais, France, pp. 1-18 (Jun. 1, 2002). |
Beamon, “Supply chain design and analysis: models and methods,” International Journal of Production Economics (1998). |
Chettri, Inderlal Singh et al., “Pre Pack Optimization: Increasing Supply Chain Efficiency”, Cognizant Technology Solutions, pp. 1-26 (undated). |
Cohen et al., “SAS/OR Optimization Procedures, with Applications to the Oil Industry,” SAS Institute, SUGI Proceedings (1994). |
Cook et al., “Evaluating Suppliers of Complex Systems: A multiple criteria approach,” The Journal of the Operational Research Society (Nov. 1992). |
De Prisco et al., “On Optimal Binary Search Trees”, Information Processing Letters, vol. 45, pp. 249-253 (Apr. 1993). |
Haupt, J, “Enterprise Wide Data Warehousing with SAP BW,” SAP AG, pp. 1-38 (2004). |
Hollander, Geoffrey, “Modell deftly parses customer characteristics”, InfoWorld, vol. 20, No. 21, pp. 1-4, retrieved from Dialog, file 148 (May 25, 1998). |
Horngren, Charles T. et al., “Cost Accounting a Managerial Emphasis”, Tenth Edition, Chapter 14, pp. 497-534 (2000). |
Howard, Philip, “Data Warehousing with SAS,” Bloor Research, pp. 1-13 (2005). |
Johnson, Ellis et al, Recent Developments and Future Directions in Mathematical Programming, IBM Systems Journal, vol. 31, No. 1, pp. 79-93 (1992). |
Kearney, “Advances in Mathematical Programming and Optimization in the SAS System,” SAS Institute, SUGI Proceedings (1999). |
Kelley, Dave, “Merchandise Intelligence: Predictive insights improve bottom line,” RIS News, p. 32 (Mar. 2006). |
Lee, Eon-Kyung et al., “An effective supplier development methodology for enhancing supply chain performance,” ICMIT (2000). |
Lee, Eon-Kyung et al., “Supplier Selection and Management system Considering Relationships in Supply Chain Management,” IEEE Transactions on Engineering Management (Aug. 2001). |
Manchanda et al, The “Shopping Basket”; A Model for Multi-Category Purchase Incidence Decisions, Marketing Science, vol. 18, pp. 95-114 (Nov. 2, 1999). |
McDonald, Kevin et al., “Mastering the SAP® Business Information Warehouse,” Wiley Publishing, Inc., pp. 1-18, 35-88, and 279-332 (Sep. 2002). |
Medaglia, Andres, “Simulation Optimization Using Soft Computing,” dissertation for Operations Research Department at North Carolina State University (Jan. 24, 2001). |
Na, H.S. et al., “Data Scaling for Operational Risk Modelling”, ERIM Report Series Research in Management, 24 pp. (Dec. 2005). |
Pedersen et al., “Multidimensional Database Technology”, IEEE, Computer, vol. 34, Issue 12, pp. 40-46 (Dec. 2001). |
Peemoller, Fred A., “Operational Risk Data Pooling”, Frankfurt/Main, Deutsche Bank AG, 38 pp. (Feb. 7, 2002). |
Pisinger, David, “A Minimal Algorithm for the Multiple-Choise Knapsack Problem”, Technical Report 94/25, DIKU, University of Copenhagen, Denmark, pp. 1-23 (May 1984). |
Porter-Kuchay, Multidimensional Marketing, Target Marketing (Jan. 2000). |
Ramirez, Ariel Ortiz, “three-Tier Architecture,” Linux Journal, downloaded from http://www.linuxjoumal.com/article/3508, 4 pp. (Jul. 1, 2000). |
Rosen, Michele, “There's Gold in That There Data”, Insurance & Technology, vol. 23, No. 12, pp. 1-6, retrieved from Dialog, file 16 (Dec. 1998). |
Saarenvirta, Data Mining to Improve Profitability, CMA Magazine, vol. 72, No. 2, pp. 8-12 (Mar. 1998). |
Samudhram, Ananda, “Solver setting for optimal solutions,” New Straits Times (Nov. 22, 1999). |
Schindler, Robert M. et al., “Increased Consumer Sales Response Though Use of 99-Ending Prices,” Journal of Retailing, vol. 72(2), pp. 187-199, ISSN: 0022-4359 (1996). |
Smith, Michael John Sebastian, “Application-Specific Integrated Circuits,” Addison-Wesley Longman, Inc., Chapter 1: Introduction to ASICS, cover page and pp. 20-34. |
Spiegelman, “Optimizers Assist in Specialized marketing Efforts,” Computer Reseller News (Nov. 22, 1999). |
White, John W., “Making ERP Work the Way Your Business Works,” Fuego, ERP White Paper, pp. 1-8 (2002). |
Business Wire, “Perfect and Open Ratings Form Alliance to Provide Critical Supplier Performance Ratings to Private Exchanges and Net Markets” (Oct. 30, 2000). |
Business Wire, “SAS and Kohl's Partner on Merchandise Intelligence Suite,” downloaded from http://findarticles.com/p/articles/mi—m0EIN/is—2005—Jan—17/ai—n8695858/, 2 pp. (Jan. 17, 2005). |
Data Mining News, Looking Past Automation, MarketSwitch Focuses on Optimization of Marketing Campaigns, Data Mining News (May 10, 1999). |
“i2 Technologies: i2 releases i2 five.two-the complete platform for dynamic value chain management; flexible, intuitive, powerful solutions designed to help companies gain efficiencies and drive revenue”, M2 Presswire (Oct. 25, 2001). |
Microsoft, MSDN, Chapter 5: Layered Application Guidelines, downloaded from http://msdn.microsoft.com/en-us/libraryfee658109(d=printer).aspx (10 pp.). |
Microsoft, MSDN, Three-Layered Services Application, downloaded from http://msdn.microsoft.com/en-us/library/ff648105(d=printer).aspx (6 pp.). |
Modell by Group 1 Software, www.gl.com, retrieved from Google.com and archive.org., pp. 1-16 (Aug. 29, 1999). |
Data Model definition from Wikipedia (18 pp.). |
Enterprise Application Integration definition from Wikipedia (7 pp.). |
Enterprise Information Integration definition from Wikipedia (3 pp.). |
Multitier Architecture definition from Wikipedia (4 pp.). |
Service-Oriented Architecture definition from Wikipedia (19 pp.). |
Software as a Service definition from Wikipedia (7 pp.). |
SAS Institute, Inc., www.sas.com, retrieved from Google.com and archive.org, pp. 1-28 (Jan. 29, 1998). |
Millin, Vincent, Jun. 22, 2004 International Search Report from PCT/US03/13394 (1 pg.). |
Wang, Pu, “Pack Optimization Problem: Models and Solutions Methods,” Dissertation, North Carolina State University, Raleigh, NC, Nov. 2010. |
Kurz Sascha, Rambau Jorg, Schluchtermann Jorg, and Wolf Rainer, 2008, The Top-Dog Index, pp. 1-23. |
Elmaghraby Salah and Bawle Vishwas, 1972, Optimization of Batch Ordering under Deterministic Variable Demand, pp. 508-517. |
Hsiao Yu-Cheng, 2008, Optimal single-cycle policies for the one-warehouse multi-retailer inventory/distribution system, pp. 219-229. |
Gaul Constantin, Kurz Sacha, and Rambau Jorg, 2008, Lotsize Optimization Leading to a Median problem with cardinalities. |
Notice of Allowance of Apr. 17, 2013 for U.S. Appl. No. 12/871,487 20 pages. |
Final Office Action of Jul. 18, 2013 for U.S. Appl. No. 12/987,489, 27 pages. |
Final Office Action of Sep. 12, 2013 for U.S. Appl. No. 12/987,486, 20 pages. |
Final Office Action of Sep. 19, 2013 for U.S. Appl. No. 12/987,495, 23 pages. |
Bertsimas et al., “Introduction to Linear Optimization” Athena Scientific, Belmont, Massachusetts, 1997, pp. 505-506, 530. |
Arnold, Jens et al., “Evolutionary Optimization of a Multi-location Inventory Model with Lateral Transshipments,” Faculty of Informatics, Technical University of Chemnitz-Zwickau, 09107 Chemnitz, Germany, 11 pp. (1996). |
Bolat, Ahmet et al., “A Surrogate Objective for Utility Work in Paced Assembly Lines,” Technical Report 91-32, pp. 1-17 (Oct. 1991). |
Hababou, Moez et al., “Variable Selection in the Credit Card Industry,” NESUG 2006 Analysis pp. 1-5 (2006). |
Scheiber et al., “Surrogate time series,” Physica D 142, pp. 346-382 (2000). |
Siddiqi, Naeem, “Credit Risk Scorecards—Developing and Implementing Intelligent Credit Scoring,” John Wiley & Sons, Inc., pp. 1-196 (2006). |
Lee, Calvin B. Ph.D., “Multi-Echelon Inventory Optimization,” Evant White Paper Series, pp. 1-13 (2003). |
Mangal, Dharamvir et al., “Inventory Control in Supply Chain Through Lateral Transshipment—A Case Study in Indian Industry,” International Journal of Engineering (JJE), vol. 3, Issue 5, pp. 443-457 (Jan. 2009). |
Paterson, Colin et al., “Inventory Models with Lateral Transshipments: A Review,” 19 pp. (Aug. 26, 2009). |
Yang, Guangyuan et al., “Service Parts Inventory Control with Lateral Transshipment that takes Time,” Tinbergen Institute Discussion Paper, TI 2010-025/4, 22 pp.(2010). |
Aberdeen Group Research Brief, “IBM Puts a Pragmatic Face on Advanced Inventory Optimization,” pp. 1-6 (Apr. 11, 2006). |
Manhattan Associates, “Multi-Echelon Inventory Optimization,” pp. 1-9 (2009). |
SAS Institute Inc., “Service Parts Optimization: Inventory vs. availability,” pp. 1-13 (2006). |
MID, Inc. “Advanced Merchandise Planning, Store Planning and Allocation” 1 pp. (2010). |
De Villiers, Noelene, “The evolution of the Merchandising Processes at Woolworths, SA” National Retail Federation, NRF 97th Annual Convention & Expo, 21 pp. (Jan. 13-16, 2008). |
TOREXRETAIL, “Merchandise and Assortment Planning” 6 pp. (Feb. 2007). |
Non-Final Office Action of Mar. 13, 2012 for U.S. Appl. No. 12/871,487, 25 pages. |
Non-Final Office Action of Aug. 14, 2012 for U.S. Appl. No. 12/987,486, 27 pages. |
Non-Final Office Action of Sep. 25, 2012 for U.S. Appl. No. 12/987,489, 29 pages. |
Non-Final Office Action of Nov. 14, 2012 for U.S. Appl. No. 12/987,495, 29 pages. |
“ProfitLogic Launches ProfitLogic 2003: An Expanded Merchandise Optimization Suite including Assortment, Allocation, Markdown and Promotion Optimization,” PR Newswire, New York, Jun. 10, 2003. |
“SAS Size Optimization Fits Retailers Perfectly”, NewsRX, Jan. 21, 2008. |
“Advanced Allocation” MID Retail, Jun. 19, 2009, http://web.archive.org/...o90620003441/http://www.midretail.com/RetailProdcutSuite/AdvancedAllocation/tabid/107/Default.aspx 4 pages. |
Notice of Allowance of Nov. 5, 2013 for U.S. Appl. No. 12/987,495, 28 pages. |
Notice of Allowance of Mar. 4, 2014 for U.S. Appl. No. 12/987,486, 25 pages. |
Number | Date | Country | |
---|---|---|---|
20090271241 A1 | Oct 2009 | US |