Patent Publication Number: US-10311391-B2

Title: Optimizing inventory in accordance with a constrained network

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 12/758,303, filed on Apr. 12, 2010, entitled “Optimizing Inventory in Accordance with a Constrained Network”, now U.S. Pat. No. 9,208,467, which is a continuation of U.S. patent application Ser. No. 10/894,248 filed on Jul. 19, 2004 entitled “Optimizing Inventory in Accordance with a Constrained Network,” now U.S. Pat. No. 7,721,959. U.S. Pat. Nos. 9,208,467 and 7,721,959 are commonly assigned to the assignee of the present application. The disclosure of related U.S. Pat. Nos. 9,208,467 and 7,721,959 are hereby incorporated by reference into the present disclosure as if fully set forth herein. 
    
    
     BACKGROUND 
     1. Technical Field 
     This invention relates generally to the field of inventory optimization and more specifically to optimizing inventory in accordance with a constrained network. 
     2. Background 
     A supply chain supplies products to one or more customers in response to demand. A supply chain may include nodes that store inventory such as the products or components or materials needed to produce the products. The flow of items through the nodes of a supply chain may be subject to feasibility constraints. Some known techniques for determining the amount of inventory to maintain at each node take into account these feasibility constraints. According to one known technique, the amount of demand that may be satisfied with an unconstrained network is calculated, and the demand is then decreased on an ad hoc basis to account for the feasibility constraints. According to another known technique, the flow of items through the supply chain is simulated using assumptions about the feasibility constraints. These known techniques for determining inventory in accordance with feasibility constraints, however, may be inefficient and may fail to provide a desired level of accuracy. 
     SUMMARY OF THE INVENTION 
     In accordance with the present invention, one or more disadvantages and problems associated with previous techniques for optimizing inventory may be reduced or eliminated. 
     According to one embodiment of the present invention, optimizing inventory includes accessing service level band sets. Each service level band set is associated with a policy group, and includes service level bands. Each service level band of a service level band set has a service level priority with respect to any other service level bands of the same service level band set. An inventory band set is determined for each service level band set. Each inventory band set includes inventory bands, where each inventory band satisfies a corresponding service level band assuming an unconstrained network. Each inventory band of an inventory band set has an inventory priority with respect to any other inventory bands of the same inventory band set. A feasible supply chain plan that satisfies the inventory band sets is generated in order of the inventory priorities until a constrained network is depleted. 
     Certain embodiments of the invention may provide one or more technical advantages. For example, a technical advantage of certain embodiments is that an optimized inventory that takes into account feasibility constraints may be calculated. As another example, a technical advantage of certain embodiments is that feasible customer service levels that may be satisfied in light of feasibility constraints may be determined. Certain embodiments of the invention may include all, some, or none of the above technical advantages. One or more other technical advantages may be readily apparent to one skilled in the art from the figures, descriptions, and claims included herein. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       For a more complete understanding of the present invention and its features and advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which: 
         FIG. 1  is a block diagram illustrating an example supply chain that receives supplies from one or more suppliers and provides products to one or more customers; 
         FIG. 2  is a block diagram illustrating an example system for optimizing inventory in accordance with one or more feasibility constraints; 
         FIG. 3  is a table illustrating example service level band sets and example inventory band sets; and 
         FIG. 4  is a flowchart illustrating an example method for optimizing inventory in accordance with one or more feasibility constraints. 
     
    
    
     DESCRIPTION OF EXAMPLE EMBODIMENTS 
       FIG. 1  is a block diagram illustrating an example supply chain  10  that receives supplies from one or more suppliers  12  and provides products to one or more customers  14 . According to one embodiment, prioritized service level bands may be assigned to the entities of supply chain  10 , and corresponding prioritized inventory bands may be calculated for the service level bands. A feasible supply chain plan that satisfies the inventory bands in order of priority until a constrained network is depleted may be calculated. Feasible customer service levels may be determined from the feasible supply chain plan. 
     Supply chain  10  may include any suitable number of nodes  16  and any suitable number of arcs  18  configured in any suitable manner. Downstream refers to the direction from suppliers  12  to customers  14 , and upstream refers to the direction from customers  14  to suppliers  12 . In the illustrated example, supplier  12  supplies items to node  16   a , which supplies items to node  16   b . Node  16   b  supplies items to node  16   c , which provides items to customer  14   a  and also supplies items to nodes  16   d  and  16   e . Nodes  16   d  and  16   e  provide items to customers  14   b  and  84   c , respectively. 
     Supply chain  10  includes one or more starting nodes  16  upstream from one or more ending nodes  16 . Each starting node  16 , in this example node  16   a , receives items directly from one or more suppliers  12 , possibly in addition to items from one or more upstream nodes  16  that each receive items directly or indirectly from one or more suppliers  12 . Each ending node  16 , in this example nodes  16   c - e , supplies items directly to one or more customers  14 , possibly in addition to items supplied to one or more downstream nodes  16  that each supply items directly or indirectly to one or more customers  14 . A starting node  16  and an ending node  16  may define a path that includes starting node  16 , ending node  16 , and any intermediate nodes  16  between starting node  16  and ending node  16 . 
     An entity of a supply chain  10  may refer to, for example, an item, a location, a channel, or any combination of the preceding of a supply chain. Items flow through supply chain  10  and may comprise, for example, parts, supplies, or services that may be used to generate products or may comprise the products themselves. A location may refer to a node  16  or an arc  18  of supply chain  10 . A channel may relate to the nature of a sale to a customer  14 . Inventory on hand may refer to items stored at nodes  16  in order to cover demand and to manage supply risk. 
     Feasibility constraints  19   a - b  constrain nodes  16   a - b , respectively. A feasibility constraint  19  may refer to any suitable constraint that restricts a network, such as a capacity constraint that restricts the inventory on hand of nodes  16 . Examples of feasibility constraints  19  may include, for example, a constraint restricting the ability to provide items to a node  16 , a constraint restricting the ability to build items at a node  16 , a constraint restricting the ability to store items at a node  16 , or any other suitable feasibility constraint. Feasibility constraints  19  typically affect the amount of demand that supply chain  10  may satisfy. Accordingly, in a capacity constrained environment, decisions may have to be made regarding which items to build, where to build each item, and how much of each item to build. For example, in certain situations it may be more advantageous to build some of all items, rather than all of one item but none of one or more other items. 
     Although supply chain  10  is illustrated as having a particular number of suppliers  12 , customers  14 , nodes  16 , and arcs  18 , any suitable modifications, additions, or omissions may be made to supply chain  10  without departing from the scope of the invention. For example, supply chain  10  may have more or fewer nodes  16  or arcs  18 . As another example, node  16   a  may supply items to node  16   c  rather than to node  16   b . As another example, node  16   b  may supply items directly to a customer  14 . 
       FIG. 2  is a block diagram illustrating an example system  20  for optimizing inventory III accordance with one or more feasibility constraints. According to one embodiment, system  20  may be used to assign service level bands to the entities of supply chain  10 . Prioritized inventory bands may be calculated for the service level bands. System  20  may determine a feasible supply chain plan that satisfies the inventory bands in order of priority until a constrained network, such as a network with a constrained capacity, is depleted. Feasible customer service levels may be determined from the feasible supply chain plan. 
     According to the illustrated embodiment, system  20  includes a client system  22 , a server system  24 , and a database  26  coupled as shown in  FIG. 1 . Client system  22  allows a user to communicate with server system  24  to optimize inventory in supply chain  10  in accordance with feasibility constraints. Server system  24  manages engines or other applications for optimizing inventory in supply chain  10  in accordance with feasibility constraints. Database  26  includes any suitable database, memory, or other data storage arrangement that stores data that may be used by server system  24 . 
     According to the illustrated embodiment, server system  24  includes one or more processors  30  and one or more applications  32  coupled as shown in  FIG. 1 . Processors  30  manage the operation of server system  24 , and may comprise any device operable to accept input, process the input according to predefined rules, and produce an output. In a particular embodiment, processors  30  may comprise parallel processors in a distributed processing environment. 
     According to the illustrated embodiment, applications  32  includes an optimization engine  38  and a supply chain planning engine  40 . Applications  32  may be configured to execute on processors  30  in any suitable manner. As an example, applications  32  may execute on different processors  30 . As another example, a primary application  32  and its backup application  32  may execute on different processors  30 . Optimization engine  38  optimizes the inventory at nodes  16  of supply chain  10 . Inventory may be optimized to minimize on hand inventory that satisfies an input customer service level. 
     Supply chain planning engine  40  generates a supply chain plan for supply chain  10 . According to one embodiment, supply chain planning engine  40  generates a feasible supply chain plan that satisfies inventory bands in order of priority until a constrained network is depleted. The supply chain plan may minimize violations while ensuring that a lower priority inventory band is not satisfied at the expense of a higher priority inventory band. The supply chain plan may report expected on hand inventory for every combination of item, location, and channel for each of a number of time periods. The supply chain plan may also designate the type and number of items at each location of supply chain  10  at a specific time, and the paths over which the items travel to reach the locations. 
     Supply chain planning engine  40  generates a supply chain plan in accordance with input. Input may include, for example, information about demand, supply, or both. Demand information may include, for example, a demand forecast, work orders, work in progress, other information, or any combination of the preceding. Supply information may include, for example, the amount of supply, the supply lead times, the supply risk, other information, or any combination of the preceding. Input may also include constraints. Constraints may include, for example, feasibility constraints, one or more other types of constraints, or any combination of the preceding. 
     Client system  22  and server system  24  may each operate on one or more computers and may include appropriate input devices, output devices, mass storage media, processors, memory, or other components for receiving, processing, storing, and communicating information according to the operation of system  20 . As used in this document, the term “computer” refers to any suitable device operable to accept input, process the input according to predefined rules, and produce output. Client system  22 , server system  24 , and database  26  may be integrated or separated according to particular needs. For example, the present invention contemplates the functions of both client system  22  and server system  24  being provided using a single computer system, such as a single personal computer. As another example, database  26  may reside within server system  24 . If any combination of client system  22 , server system  24 , or database  26  are separated, they may be coupled to each other using a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a global computer network such as the Internet, or any other appropriate wireline, optical, wireless, or other link. 
     Modifications, additions, or omissions may be made to system  20  without departing from the scope of the invention. For example, fewer or other components may perform the operations of system  20 . For example, the operations of optimization engine  38  and supply chain planning engine  40  may be performed by one component, or the operations of optimization engine  38  may be performed by more than one component. Additionally, functions may be performed using any suitable logic comprising software, hardware, other logic, or any suitable combination of the preceding. 
       FIG. 3  is a table  80  illustrating example service level band sets and example inventory band sets. A service level band may be used to designate a range of service levels for a group of entities of supply chain  10 . According to one embodiment, a group of entities may refer to a policy group, which comprises a set of entities, such as items, locations, channels, or any combination of the preceding, strategically segmented for a particular purpose. For example, a policy group may refer to a criticality group for which a service level policy is defined. 
     A service level band may be described using a customer service level, a lead time, one or more other parameters, or any combination of the preceding. For example, a service level band may designate a service level range of at least 80% on time satisfaction of demand. According to one embodiment, a set of one or more service level bands may be assigned to a group. A service level band set may include, for example, the following service level bands assigned to a group: “at least 80% satisfaction” and “greater than 80% satisfaction.” 
     The service level bands of a service level band set may each have a service level priority with respect to the other service level bands of the set. For example, the “at least 80% satisfaction” service level band may have a higher service level priority than that of the “greater than 80% satisfaction” service level band. 
     Inventory band sets that include inventory bands may be calculated for the service level band sets. An inventory band refers to a range of inventory calculated to satisfy a corresponding service level band, assuming no feasibility constraints, for example, assuming an unconstrained network. An unconstrained network may refer to a network that is not subject to feasibility constraints, and may include an unconstrained capacity that is not subject to capacity constraints. 
     According to the illustrated embodiment, table  80  includes a group column  82 , a service level band set column  84 , a service level priority column  86 , and an inventory band set column  88 . In a particular embodiment, the groups of group column  82  are first defined, then service level band sets of service level band set column  84  are assigned to the groups, and then inventory band sets of inventory band set column  88  that satisfy the service level band sets are calculated. 
     According to the illustrated embodiment, group column  82  lists groups G i , where i=1, 2, and 3. In a particular embodiment, a group G i  may comprise a policy group. Service level band sets column  84  lists service level band sets for groups G i . According to the illustrated embodiment, each group G i  is associated with a service level band set that includes service level bands B j , where j=1, 2, and 3. In a particular embodiment, a service level band B j  includes a range of customer service levels. A service level band set may include any suitable number of service level bands. Moreover, the service level band sets of different groups G i  need not necessarily include the same number of service level bands. In a particular embodiment, potential service level bands may include a default band. Groups G i  that do not have any other assigned service level band may have the default band assigned to them. During initialization, the default band may be assigned to groups G i . 
     Service level priority column  86  designates the priorities of the service level bands B j  of the service level band sets. According to the illustrated embodiment, a service level band B 1  has a highest priority, a service level band B 2  has an intermediate priority, and service level band B 3  has a lowest priority. A highest priority service level band may refer to the range of customer service levels that must be satisfied. An intermediate priority may refer to a range of customer service levels that are targeted but not required. A lowest priority may refer to higher customer service levels that would be nice to have, but are not required or targeted. The service level priorities of the service level bands of a service level band set need not necessarily correspond to the service level priorities of the service level bands of another service level band set. For example, service level priorities for one service level band set may include highest, intermediate, and lowest priorities, while the service level priorities of another service level band set may include priorities 1, 2, 3, and 4, where 1 designates the highest priority. 
     Inventory band sets column  88  lists inventory band sets that are calculated to satisfy the service levels of the corresponding service level band sets. According to the illustrated embodiment, an inventory band set includes inventory bands I j , where j=1, 2, and 3. An inventory band I j  is calculated to satisfy service level band B j . According to the illustrated embodiment, an inventory band I j  includes a range of the number of units that is calculated to satisfy the range of customer service levels, assuming an unconstrained network. An inventory band may be expressed using any suitable parameter, for example, a reorder point, a safety stock value, a minimum lead time delay value, any other suitable parameter, or any combination of the preceding. An inventory band may have an inventory priority that matches the service level priority of the service level band that the inventory band satisfies. For example, the inventory priorities for the inventory bands satisfying a highest priority service level band and a lowest priority service level band may be highest and lowest, respectively. 
     Alterations or permutations such as modifications, additions, or omissions may be made to table  80  without departing from the scope of the invention. 
       FIG. 4  is a flowchart illustrating an example method for optimizing inventory in accordance with one or more feasibility constraints. The method begins at step  100 , where groups of entities are defined. The groups may comprise, for example, groups G j  of table  80 . Service level band sets are assigned to the groups at step  102 . The service level band sets for a group include prioritized service level bands that designate the service levels for the group. The service level band sets may comprise, for example, the service level band sets of table  80 . Optimization engine  38  determines inventory band sets for the service level band sets, assuming unconstrained network, at step  104 . An inventory band satisfies a corresponding service level band, assuming unconstrained network. The inventory band sets may comprise, for example, the inventory band sets of table  80 . 
     The highest priority inventory band of each inventory band set that has not been previously selected is selected at step  108 . As an example, inventory bands I 1  of table  80  are selected. Supply chain planning engine  40  generates a current supply chain plan for the selected inventory bands, assuming a network constrained by feasibility constraints, at step  112 . Supply chain planning engine  40  determines how well the generated supply chain plan satisfies the currently selected inventory band and a previously selected higher priority inventory band at step  116 . The measure of how well a supply chain plan satisfies an inventory band may be determined by how much the supply chain plan violates the inventory band. The more a supply chain plan violates the inventory band, the less satisfactory is the supply chain plan. A supply chain plan may violate an inventory band by not providing inventory within the range of the inventory band or by not providing the inventory within a specified period. For example, a supply chain plan may violate an inventory band by being ten percent short on inventory. According to one embodiment, the insufficiency of the inventory may be required to meet a specified tolerance threshold before being considered a violation. 
     If there are remaining inventory bands to be selected at step  128 , the method proceeds to step  122 , where the satisfaction of the current inventory band is added as a constraint for the next inventory band. For example, the satisfaction of a supply chain plan being ten percent short on inventory may be added as a constraint. The method then returns to step  108 , where a next inventory band is selected. If there are no remaining inventory bands at step  128 , the method proceeds to step  132 , where a supply chain plan is selected. A supply chain plan may be selected in accordance with how well the supply chain plan satisfies the inventory bands. For example, a supply chain plan that minimizes violations while ensuring that a lower priority inventory band is not satisfied at the expense of a higher priority inventory band may be selected. 
     Optimization engine  38  calculates the expected service levels from the selected supply chain plan at step  136 . The expected service level takes into account feasibility constraints. Accordingly, the expected service level may be more accurate than service levels calculated based on an unconstrained network. After calculating the expected service levels, the method terminates. 
     Alterations or permutations such as modifications, additions, or omissions may be made to the method without departing from the scope of the invention. The method may include more, fewer, or other steps. For example, supply chain planning engine  40  may select a tier from a hierarchical priority scheme at step  108 . During one or more iterations of the method, the selected tier may comprise the highest priority inventory band of each inventory band set not previously selected as described in the illustrated embodiment. During one or more other iterations, another type of tier may be selected. For example, other types of tiers may represent inventory for certain customers, inventory for booked demand, lowest confidence demand, highest confidence demand, any other suitable parameter, or any combination of the preceding. Additionally, steps may be performed in any suitable order without departing from the scope of the invention. 
     Certain embodiments of the invention may provide one or more technical advantages. For example, a technical advantage of certain embodiments is that an optimized inventory that takes into account feasibility constraints may be calculated. As another example, a technical advantage of certain embodiments is that feasible customer service levels that may be satisfied in light of feasibility constraints may be determined. Certain embodiments of the invention may include all, some, or none of the above technical advantages. One or more other technical advantages may be readily apparent to one skilled in the art from the figures, descriptions, and claims included herein. 
     Although an embodiment of the invention and its advantages are described in detail, a person skilled in the art could make various alterations, additions, and omissions without departing from the spirit and scope of the present invention as defined by the appended claims. 
     To aid the Patent Office and any readers of any patent issued on this application in interpreting the claims appended hereto, applicants wish to note that they do not intend any of the appended claims to invoke 35 U.S.C. § 112, paragraph six, as it exists on the date of filing hereof unless the words “means for” or “step for” are used in the particular claim.