This disclosure relates generally to supply chain network optimization, and more particularly, to a system and method for adjusting network parameters for a supply chain network sensitivity analysis.
Supply chain planning may be essential to the success of many of today's companies. Most companies may rely on supply chain planning to ensure the timely and reliable delivery of products in response to customer demands. In supply chain network planning and sensitivity analysis, network parameters, such as the customer demands, are usually adjusted or varied to study the response of the supply chain network and the interactions of different components of the supply chain network. Such study is important to develop a robust, responsive supply chain.
For example, U.S. Pat. No. 7,480,623B1, to Landvater (“the '623 patent”) discloses a time-phased forecasting and replenishment system for retail organizations. The system calculates projected sales for each product at each facility and calculates projected replenishment shipments between facilities and suppliers. The calculated forecasts and replenishments are done in ways that account for the needs of retail organizations by considering, for example, holiday sales from prior years.
Conventional supply chain network planning techniques only consider the demand data at a single store or facility, but fail to simultaneously model the demand changes within the entire supply chain network. Furthermore, conventional supply chain planning techniques do not provide the capability to study and determine sensitivity of a supply chain in response to changes in network parameters of the supply chain. Thus, there is a need to allow convenient adjustments of network parameters so as to study the sensitivity of the supply chain and provide a more accurate and stable model for the supply chain.
The disclosed system and method are directed to improving upon existing technologies used in supply chain network sensitivity analysis.
In one aspect, the present disclosure is directed to a computer-implemented method for configuring, using a processor, a supply chain used to produce and deliver tangible goods based on a network sensitivity analysis. The supply chain includes a plurality of network entities. The method comprises generating, by the processor, a supply chain network model for the supply chain and determining, by the processor based on the supply chain network model, entity demands for an item at a plurality of network entities and a total network demand for the item. The method further comprises determining, by the processor, a percentage change in the total network demand and selecting, by the processor, one of the network entities. The method further comprises determining, by the processor, an entity demand change for the selected network entity based on the percentage change in the total network demand and the entity demand at the selected network entity and adjusting, by the processor, the entity demand at the selected network entity by the entity demand change. The method further comprises modifying, by the processor, the supply chain network model using the adjusted entity demand at the selected network entity, comparing, by the processor, the supply chain network model and the modified supply chain network model, analyzing, by the processor, sensitivity of the supply chain network model based on the comparison, and configuring the supply chain according to the sensitivity analysis of the supply chain network model.
In another aspect, the present disclosure is directed to a computer-implemented method for configuring, using a processor, a supply chain used to produce and deliver tangible goods based on a network sensitivity analysis. The supply chain includes a plurality of network entities. The method comprises generating, by the processor, a supply chain network model for the supply chain and determining, by the processor based on the supply chain network model, entity demands for an item at the plurality of network entities and a total network demand for the item. The method further comprises determining, by the processor, a total network demand change based on a percentage change in the total network demand and iteratively assigning, by the processor, a portion of the total network demand change to at least one of the plurality of network entities until all of the total network demand change is assigned. The method further comprises adjusting, by the processor, the entity demand at the at least one of the plurality of network entities by the assigned portion of the total network demand change, modifying, by the processor, the supply chain network model using the adjusted entity demand at the at least one of the plurality of network entities, analyzing, by the processor, sensitivity of the supply chain network model based on the modified supply chain network model, and configuring the supply chain according to the sensitivity analysis of the supply chain network model.
In another aspect, the present disclosure is directed to a system for configuring a supply chain used to produce and deliver tangible goods based on a network sensitivity analysis. The supply chain includes a plurality of network entities. The system comprises a memory configured to store instructions, one or more input/output devices configured to receive user inputs and generate a user interface, and a processor configured to receive the instructions from the memory and execute the instructions. The instructions cause the processor to, generate a supply chain network model for the supply chain and determine, based on the supply chain network model, entity demands for an item at the plurality of network entities and a total network demand for the item. The instructions further cause the processor to determine a total network demand change based on a percentage change in the total network demand and iteratively assign a portion of the total network demand change to at least one of the plurality of network entities until all of the total network demand change is assigned. The instructions further cause the processor to adjust the entity demand at the at least one of the plurality of network entities by the assigned portion of the total network demand change, modify the supply chain network model using the adjusted entity demand at the at least one of the plurality of network entities, analyze sensitivity of the supply chain network model based on the modified supply chain network model, and configure the supply chain according to the sensitivity analysis of the supply chain network model.
In yet another aspect, the present disclosure is directed to a non-transitory computer-readable medium including instructions, which, when executed by a processor, cause the processor to perform a method for configuring a supply chain used to produce and deliver tangible goods based on a network sensitivity analysis. The supply chain includes a plurality of network entities. The method performed by the processor comprises generating a supply chain network model for the supply chain and determining, based on the supply chain network model, entity demands for an item at the plurality of network entities and a total network demand for the item. The method further comprises determining a total network demand change based on a percentage change in the total network demand and iteratively assigning a portion of the total network demand change to at least one of the plurality of network entities until all of the total network demand change is assigned. The method further comprises adjusting the entity demand at the at least one of the plurality of network entities by the assigned portion of the total network demand change, modifying the supply chain network model using the adjusted entity demand at the at least one of the plurality of network entities, analyzing sensitivity of the supply chain network model based on the modified supply chain network model, and configuring the supply chain according to the sensitivity analysis of the supply chain network model.
Suppliers 110-113 may supply individual items to one or more of manufacturing facilities 120-122, one or more of distributing facilities 130-133, and one or more of customers 140-144. Manufacturing facilities 120-122 may manufacture or assemble products by using one or more individual items received from suppliers 110-113. The product may include one or more components supplied from suppliers 110-113. The products manufactured by different manufacturing facilities 120-122 may be identical, or may be different from each other. Manufacturing facilities 120-122 may respectively deliver the manufactured products to one or more distributing facilities 130-133, or directly to one or more customers 140-144.
Distributing facilities 130-133 may store individual items received from one or more suppliers 110-113, and may distribute the individual items to customers 140-144 for sale as service or replacement parts for existing products. In addition, distributing facilities 130-133 may store manufactured products received from one or more manufacturing facilities 120-122, and may distribute the manufactured products to customers 140-144. In some embodiments, one of distributing facilities 130-133 may distribute the individual items or manufactured products to another one of distributing facilities 130-133, before the individual items or manufactured products are finally distributed to customers 140-144.
Although supply chain 100 shown in
The supply chain entities in supply chain 100 may include upstream supply chain entities, such as suppliers 110-113, and downstream supply chain entities, such customers 140-144. In supply chain 100, items may flow in a direction from upstream supply chain entities to downstream supply chain entities. Inside each supply chain entity, at least one of a downstream inventory and an upstream inventory may be included. Downstream inventory 110a-113a, 120a-122a, 130a-133a may include inventories of items (e.g., products, parts, or subsystems) that a supply chain entity may need to keep before the items may be accepted by the supply chain entity's downstream supply chain entities. For example, manufacturing facility 120 may include a downstream inventory 120a of products before the items can be transported to and accepted by distributing facility 130.
On the other hand, upstream inventory 120b-122b, 130b-133b, and 140b-144b may include inventories of items (products, parts, or subsystems) that a supply chain entity receives from the supply chain entity's upstream supply chain entities and may need to keep before the items may be used in manufacturing or other transactional processes. In the same example above, manufacturing facility 120 may also include an upstream inventory 120b of engines from supplier 110 before the work machines may be manufactured using the engines and other parts or subsystems. Further, similar to manufacturing facility 120, suppliers 110-113 may respectively include downstream inventories 110a-113a, 120a-122a, 130a-133a; manufacturing facilities 121 and 122 may respectively include downstream inventories 121a and 122a and upstream inventories 121b and 122b; distributing facilities 130-133 may respectively include downstream inventories 130a-133a and upstream inventories 130b-133b; and customers 140-144 may respectively include upstream inventories 140b-144b.
When customers 140-144 make demands to manufacturing facilities 120-122 or distributing facilities 130-133, the structure of the distribution network may be designed to fulfill the demands. The design of the distribution network may be determined according to a plurality of objectives including, for example, minimum inventory cost, maximum profit of the business, time required to fulfill the demands, environmental impact, resilience of the network, total route distance, etc. The determination may be carried out according to disclosed embodiments by an exemplary system as shown in
It is further noted that each arrowed line in
System 200 may be a server, client, mainframe, desktop, laptop, network computer, workstation, personal digital assistant (PDA), tablet PC, scanner, telephony device, pager, and the like. In one embodiment, system 200 may be a computer configured to receive and process information associated with different supply chain entities involved in supply chain 100, the information including purchasing orders, inventory data, and the like. In addition, one or more constituent components of system 200 may be co-located with any one of the supply chain entities.
Processor 210 may include one or more processing devices, such as one or more microprocessors from the Pentium™ or Xeon™ family manufactured by Intel™, the Turion™ family manufactured by AMD™, or any other type of processors. As shown in
Storage 220 may include a volatile or non-volatile, magnetic, semiconductor, tape, optical, removable, nonremovable, or other type of storage device or computer-readable medium. Storage 220 may store programs and/or other information that may be used by system 200.
Memory 230 may include one or more storage devices configured to store information used by system 200 to perform certain functions related to the disclosed embodiments. In one embodiment, memory 230 may include one or more modules (e.g., collections of one or more programs or subprograms) loaded from storage 220 or elsewhere that perform (i.e., that when executed by processor 210, enable processor 210 to perform) various procedures, operations, or processes consistent with the disclosed embodiment. For example, memory 230 may include an advanced forecasting module 231, a network modeling module 232, a facility design and management module 233, and a resource allocation module 234.
Advanced forecasting module 231 may generate forecast information related to one or more items at any one of the supply chain entities based on historical data associated with the item. For example, advanced forecasting module 231 may forecast or estimate a future demand for an item at each one of manufacturing facilities 120-122 and distributing facilities 130-133 based on respective historical demand data for that item at manufacturing facilities 120-122 and distributing facilities 130-133. Advanced forecasting module 231 may forecast or estimate future demands for an item at suppliers 110-113 by combining the forecasted demands for the item at each one of manufacturing facilities 120-122 and distributing facilities 130-133.
In addition, advanced forecasting module 231 may forecast or estimate the demand for a given item (e.g., a product) at each one of customers 140-144. Advanced forecasting module 231 may use a range of information to forecast or estimate the demands for the products, such as historical demand data at each customer, seasonal variations associated with a time period and the location of the customer, recent political or social events at the location of the customer, etc. Advanced forecasting module 231 may further determine a total network demand for the products based on the estimated demands at customers 140-144.
Network modeling module 232 may receive the forecasted information (e.g., the demands for an item) from advanced forecasting module 231 and simulate and optimize the flow of materials, parts, components, etc., between the supply chain entities and the structure of the supply chain network in order to meet certain business goals or objectives of the entire organization. The business goals or objectives may include at least one of response time, costs, profit, return on net assets, inventory turns, inventory level, service level, resilience of the supply chain network, environmental impact, total route distance, etc. Network modeling module 232 may simulate the flow of materials, parts, or components and optimize the structure of the supply chain network based on a number of parameters, such as geographical locations of each one of the supply chain entities, the transportation methods (e.g., air, ship, truck, etc.), the capacities of the transportation links (e.g., quantity of materials that can be transported via a certain route), and the manufacturing capacities of the manufacturing facilities. Based on the simulation results and other information such as production costs, transportation costs, and regional sales prices, and the like, network modeling module 232 may generate information such as gross revenue, cost of goods sold, and profit related to one or more products or parts.
Network modeling module 232 may further generate an optimized network structure of the supply chain based on the parameters and information discussed above. The optimized network structure of the supply chain may specify, for example, the links or paths (i.e., represented by the arrowed line of
Facility design and management module 233 may receive the forecasted information from advanced forecasting module 231 and the simulation results from network modeling module 232 and may determine the physical structure and dimension of one or more of manufacturing facilities 120-122 and distributing facilities 130-133 based on the received information. For example, facility design and management module 233 may receive forecasted information representing a quantity of the incoming items to be received at manufacturing facilities 120-122 and distributing facilities 130-133. Based on this forecasted information, facility design and management module 233 may determine dimensions and locations of shelving, racks, aisles, and the like, of manufacturing facilities 120-122 and distributing facilities 130-133. Facility design and management module 233 may also determine the location of incoming items within manufacturing facilities 120-122 and distributing facilities 130-133, based on the forecasted information. Moreover, facility design and management module 233 may simulate the movement of resources (e.g., workers, machines, transportation vehicles, etc.) throughout manufacturing facilities 120-122 and distributing facilities 130-133 over time. Still further, facility design and management module 233 may modify input information in order to achieve one or more of the desired business goals.
Resource allocation module 234 may receive availability data representing the quantity of one or more items that are available at suppliers 110-113. When the availability data is less than the forecasted demand data of the item at suppliers 110-113, resource allocation module 234 may allocate the available items at manufacturing facilities 120-122, distributing facilities 130-133, and customers 140-144 in order to achieve one or more of the business goals associated with the entire organization.
I/O device 240 may include one or more components configured to communicate information associated with system 200. For example, I/O device 240 may include a console with an integrated keyboard and mouse to allow a user to input parameters associated with system 200 and/or data associated with supply chain 100. I/O device 240 may include one or more display devices, such as monitors, or other peripheral devices, such as printers, cameras, microphones, speaker systems, electronic tablets, bar code readers, scanners, or any other suitable type of I/O device 240. System 200 may generate user interfaces through the display devices to provide optimization results to users. The user interfaces may include graphical elements and text that represent various aspects of the optimization results. System 200 may provide guidance, through the user interfaces, to assist the users to analyze and operate supply chain 100.
Network interface 250 may include one or more components configured to transmit and receive data via network 260, such as, for example, one or more modulators, demodulators, multiplexers, de-multiplexers, network communication devices, wireless devices, antennas, modems, and any other type of device configured to enable data communication via any suitable communication network. Network interface 250 may also be configured to provide remote connectivity between processor 210, storage 220, memory 230, I/O device 240, and/or database 270, to collect, analyze, and distribute data or information associated with supply chain 100 and supply chain optimization.
Network 260 may be any appropriate network allowing communication between or among one or more computing systems, such as, for example, the Internet, a local area network, a wide area network, a Wi-Fi network, a workstation peer-to-peer network, a direct link network, a wireless network, or any other suitable communication network. Connection with network 260 may be wired, wireless, or any combination thereof.
Database 270 may be one or more software and/or hardware components that store, organize, sort, filter, and/or arrange data used by system 200 and/or processor 210. Database 270 may store one or more tables, lists, or other data structures containing data associated with logistics network management. For example, database 270 may store operational data associated with each one of the supply chain entities, such as inbound and outbound orders, production schedules, production costs, and resources. The data stored in database 270 may be used by processor 210 to receive, categorize, prioritize, save, send, or otherwise manage data associated with logistics network management.
The disclosed supply chain optimization system 200 may efficiently provide optimized supply chain network designs for any business organization to achieve one or more desired business goals or objectives. Based on the disclosed system and methods, effects of variable network parameters may be analyzed, and the robustness, efficiency, accuracy, and sensitivity of the supply chain network designs may be significantly improved.
In addition, supply chain network model 400 may include a plurality of edges 402-450 corresponding to the arrowed lines connecting the supply chain entities of
Each edge in supply chain network model 400 includes one or more properties, such as transportation volume, transportation time, transportation cost, tariff, energy price, environmental impact (e.g., carbon monoxide or other airborne emission), available capacity to move goods, etc. Each property of an edge may be assigned a numerical value, which may be adjusted to optimize the supply chain model to achieve one or more given objectives.
In an exemplary embodiment, system 200 may generate an optimized network structure or design for supply chain 100 using supply chain network model 400. System 200 may use any known techniques, such as the ant colony method, the search tree method, or other linear or nonlinear optimization methods, to optimize the network structure for supply chain 100.
In another exemplary embodiment, an optimized network structure generated by system 200, although mathematically optimized, may be unduly sensitive to changes in network parameters or conditions. As a result, supply chain 100 that is configured based on such optimized network structure may not be stable or robust, and may oscillate between different states, causing inefficiency and waste. The network parameters or conditions that may cause oscillation of supply chain 100 includes, for example, demands for an item or good, such as customer demands for a product, supplier demands for a material, a part, or an item, and the like. For example, optimized network structure 500 shown in
For example, according to optimized network structure 500, supply chain 100 is configured to deliver products from manufacturing facility 120 (represented by node 470) to customer 140 (represented by node 490) via a route represented by edge 420. When the customer demands increase by only a small amount, the network structure may change to a different network structure 600 shown in
Such undue sensitivity to demand changes is undesired during operation of supply chain 100, because changing the transportation path generally incurs additional costs associated with, for example, moving equipment, setting up new facilities, acquiring new vehicle fleets, etc. In some instances, the optimized network structure may be so sensitive that it changes to a different structure whenever there is a fluctuation in customer demands, supplier demands, inventory levels, etc. Therefore, such a network structure is generally undesired for operation of supply chain 100, even it is optimized in the mathematical sense.
According to an exemplary embodiment, system 200 allows analysis of sensitivity of a particular optimized network structure so as discover undesirably sensitive supply chain network models. Sensitivity of a network structure for a supply chain may be analyzed by adjusting the network parameters and observing the response of the network structure. The network parameters that may be adjusted include, for example, customer demands, supplier demands, inventory levels, transportation capacities, and the like.
According to process 300, at step 302, processor 210 may first adjust network parameter values for a supply chain. The network parameter values may indicate, for example, customer demands for a product at customers 140-144, supplier demands for a material, a part, or a component at suppliers 110-113, inventory levels at distribution facilities 130-133, capacities of the transportation paths, or demands/capacities at any other network entities.
At step 304, processor 210 generates an optimized supply chain network model for supply chain 100 based on the adjusted network parameter values. Processor 210 may use any known techniques to generate the optimized supply chain network model, such as the ant colony method, the search tree method, or other linear or nonlinear supply chain network optimization methods.
At step 306, processor 210 analyzes the sensitivity of the optimized supply chain network model. For example, processor 210 may compare the newly generated optimized supply chain network model with one or more previously generated optimized supply chain network models to determine whether there are any structural changes in the optimized network structure, such as changes in transportation routes, in response to the changes in the network parameter.
At step 308, processor 210 may determine whether additional analysis is needed. For example, if an additional adjustment of the network parameter values is needed (step 308: “Yes”), processor 210 may proceed to step 302 to adjust the network parameter values. If on the other hand, no additional adjustment is needed (step 308: “No”), processor 300 may be terminated, processor 210 may proceed to step 310 to output analysis results. Processor 210 may cause I/O device 240 to generate visual presentations to a user so that the user may view the results of the analysis. The analysis results may show or illustrate to the user how the optimized supply chain network model responds to the changes in the network parameter values. The analysis results may also provide quantification or qualification information indicating to the user whether the optimized supply chain network model is desired to implement a robust, responsive, and profitable supply chain. Based on the analysis, system 200 may determine an optimized supply chain network model that is robust and stable and transmits signals or instructions to supply chain 100 to configure supply chain 100 and the supply chain entities based on the optimized supply chain network model.
In a sensitivity analysis such as that depicted in
It is further assumed that the following definitions of parameters apply for conciseness and clarity:
Dt represents the total network demand (in unit) for a product at all customers;
p represents the percentage change in the total network demand for a product;
ΔDt represents the total network demand change (in unit);
Di represents the customer demand (in unit) at customer i (e.g., customer i is one of customers 140-144 in
ΔDi represents the customer demand change (in unit) at customer i.
In an embodiment, based on the percentage change (p) of the total network demand (Dt), system 200 may calculate the customer demand change (ΔDi) at each customer as follows:
ΔDi=Di·p.
In addition, system 200 may adjust, up or down, the customer demand (Di) at each individual customer as follows:
Di=Di±ΔDi.
Here, the “+” symbol indicates an upward adjustment, and the “−” symbol indicates a downward adjustment.
Because a product or item cannot be sold or transported at a fractional number, the customer demands for a product must be integers. As a result, the adjusted customer demand (Di) at each individual customer must be rounded up after the adjustment, thus causing a rounding error at each individual customer. For a supply chain having a large number of customers, such rounding error for each customer demand may lead to a significant deviation from the desired percentage change (p) in the total network demand when all of the rounding errors are accumulated. For example, for a desired percentage change (p) of 1% in the total network demand, the rounding errors may result in a 2% change or even a 3% change after the rounding.
According to an exemplary embodiment, system 200 is configured to allow convenient adjustment of the total network demand (Dt) and customer demands (Di) for a supply chain network sensitivity analysis, while reducing or minimizing the rounding errors.
According to process 320, at step 322, processor 210 determines customer demands (Di) at a plurality of customers (e.g., customers 140-144) and a total network demand (Dt) for an item. The customer demands (Di) may be determined for a particular time period, such as a day, week, month, year, etc. The customer demands (Di) for a particular time period may be determined according to known techniques based on information, such as orders received from the customers for the current time period, demand for the products in a prior time period, demand for the products in similar time periods (i.e., the same time period of prior years, months, etc.), seasonal variations, recent political events that may affect demands, and the like. Using the monthly customer demands for the month of February 2015, as an example, processor 210 may store data representing monthly customer demands in a table such as Table I shown below:
The column in Table I correspond to the monthly customer demands for February 2015, while the rows in Table I corresponds to the customer demands at individual customers 140-144, respectively. The total network demand (Dt) for a particular month may be determined by summing the customer demands (D1-D5) at all of the customers for that particular month.
At step 324, processor 210 determines a percentage change (p) of the total network demand (Dt) and a total network demand change (ΔDt). The percentage change (p) may be determined based on user input, received through I/O device 240, indicating a percentage value, such as 1%, 2%, 5%, etc. The percentage change (p) may also be determined based on an automated process that increases the total network demand (Dt) by a predetermined value.
At step 326, processor 210 iteratively assigns a portion of the total network demand change (ΔDt) to at least one of the customer (e.g., 140-144) until all of the total network demand change (ΔDt) is assigned. According to an embodiment, at step 326, the customers may be ranked according to a descending order of the estimated customer demands (Di). For example, processor 210 may rank customers 140-144 in a rank list as shown in Table II below:
Alternatively, the customers may also be ranked according to an ascending order of the estimated customer demands (Di).
After ranking the customers, processor 210 may then iteratively assign a portion of the total network demand change (ΔDt) to the customers according to the rank list (e.g., Table II). In assigning the total network demand change (ΔDt), processor 210 is configured to select at least one of the customers. In general, processor 210 selects those customers with relatively greater customer demands at earlier iterations of step 326, and selects those customers with relatively smaller customer demands at later iterations of step 326. More specifically, if there are a first customer (e.g., customer 143) with a first customer demand (e.g., D4) and a second customer (e.g., customer 141) with a second customer demand (e.g., D2), and if the first customer demand is greater than the second customer demand, process 210 is configured to select the first customer at an earlier iteration of step 326 and select the second customer at a later iteration of step 326.
In a further embodiment, process 210 may select the customer (i.e., customer 143) with the greatest customer demand at the first iteration of step 326 and sequentially select other customers (i.e., customers 141, 144, etc.) in the rank list with relatively smaller customer demands at subsequent iterations of step 326. For example, at the first iteration of step 326, processor 210 selects customer 143 from the top of the rank list. At the subsequent iterations of step 326, processor 210 selects customers 141, 144, and 140, in that order.
At each iteration of step 326, processor 210 may further determine the portion of the total customer demand change to be assigned to the selected customer. In particular, processor 210 may determine a customer demand change (ΔDi) for the selected customer according to the following formula:
ΔDi=Di·p.
For example, when customer 143 is selected at step 326, the customer demand change (ΔD4) for customer 143 is determined to be ΔD4=D4·p.
According to a further embodiment, at each iteration of step 326, processor 210 subtracts the customer demand change (ΔDi) for the selected customer from the total network demand change (ΔDt):
ΔDt=ΔDt−ΔDi.
According to a further embodiment, during step 326, processor 210 also omits those customers (e.g., 142) with customer demands equal to zero.
After assigning all of the total network demand change at step 326, processor 210 proceeds to step 328 to adjust the customer demand (Di) of the at least one customer selected at step 326 by the calculated customer demand change (ΔDi). The customer demand (Di) is adjusted as follows:
Di=Di±ΔDi.
Here, the “+” symbol indicates an upward adjustment, and the “−” symbol indicates a downward adjustment. If ΔDi is a fractional number, the adjusted customer demand (Di) is rounded up or down in the direction of scaling to the next integer.
At step 330, processor 210 modifies the supply chain network model based on the adjusted customer demand (Di) of the at least one customer obtained at step 328 above. Processor 210 may modify the supply chain network model by using the adjusted customer demand (Di) of the at least one customer to optimize the supply chain network model using any known technique. Processor 210 may further store the modified supply chain network model.
According to process 350, at step 352, processor 210 determines customer demands (Di) of a plurality of customers (e.g., customers 140-144) and a total network demand (Dt). Processor 210 may store data representing customer demands in a table, such as Table I shown above. At step 354, processor 210 determines a percentage change (p) of the total network demand (Dt) and a total network demand change (ΔDt). At step 356, processor 210 ranks the customers in a rank list based on their respective estimated customer demands (Di). The customers may be ranked in a rank list as shown in Table II above.
Subsequent steps 358-366 form an iterative process. In particular, at step 358, processor 210 selects a customer from the rank list generated at step 356. In general, a customer with a relatively greater customer demand is selected before a customer with a relatively smaller customer demands. For example, processor 210 may select the customer with the greatest customer demand at the first iteration of the iterative process. In particular, when the customers are ranked according the ascending order of their estimated customer demands, processor 210 may select the customer from the top of the rank list starting from the first customer in the rank list. Alternatively, when the customers are ranked according to the descending order of their estimated customer demands, processor 210 may select the customer from the bottom of the rank list starting from the last customer in the rank list.
At each subsequent iteration of the iterative process, processor 210 selects the customer in the rank list who has the next greatest customer demand. Using the rank list in Table II as an example, processor 210 may select customer 143 who has the greatest customer demand D4 at the first iteration of step 358, select customer 141 who has the second greatest customer demand D2 at the second iteration of step 358, select customer 144 who has the third greatest customer demand D5 at the third iteration of step 358, etc. According to a further embodiment, processor 210 may omit those customers with customer demands equal to zero (e.g., customer 142).
At step 360, processor 210 determines a customer demand change (ΔDi) for the selected customer. ΔDi may be determined according to the following formula:
ΔDi=Di·p.
For example, when customer 143 is selected at step 358, the customer demand change for customer 143 is determined to be ΔD4=D4·p.
At step 362, processor 210 adjusts the estimated customer demand (Di) of the selected customer by the customer demand change (ΔDi) determined at step 360. The estimated customer demand (Di) is adjusted as follows:
Di=Di±ΔDi.
Here, the “+” symbol indicates an upward adjustment, and the “−” symbol indicates a downward adjustment. If ΔDi is a fractional number, the adjusted customer demand (Di) is rounded up or down in the direction of scaling to the next integer.
At step 364, processor 210 subtracts the customer demand change (ΔDi) for the selected customer from the total network demand change (ΔDt) determined at step 354:
ΔDt=ΔDt−ΔDi.
At step 366, processor 210 determines whether there is any remaining total network demand, i.e., whether ΔDt>0. If there is remaining total network demand (i.e., “Yes” at step 366), processor 210 returns to step 358 to select another customer, such as a customer with the next greatest customer demand as discussed above.
If, on the other hand, there is no remaining total network demand (i.e., “No” at step 366), processor 210 proceeds to step 368. In other words, when ΔDt0, the percentage change in the total network demand is satisfied by the adjustments to the individual customer demands. Accordingly, at step 368, processor 210 modifies the supply chain network model based on the adjusted estimated customer demands (Di). Processor 210 may modify the supply chain network model by using the adjusted customer demands (Di) to optimize the supply chain network model using any known technique. Processor 210 may further store the modified supply chain network model.
Process 350 may be carried out for multiple values of the percentage change (p). The modified supply chain network model according to each value of the percentage change (p) may be stored. Processor 210 may then use the stored supply chain network models to analyze the sensitivity of the supply chain at step 306 of
One of ordinary skill in the art will recognize that, although the above discussion uses customer demands and total network demands for a product as example, the embodiments disclosed herein may be implemented to analysis the sensitivity of the supply chain network model in response to changes in other network parameters, such as supplier demands for a part, a component, or a subsystem at the suppliers, inventory levels at the distribution facilities, capacities of the transportation paths, etc. Further, while the embodiments described here consider one uniform time period across all customers, one skilled in the art will recognize that the process described can be applied to any number of consecutive time periods and for any number of customers. For example, the values in Tables I and II may represent demands at particular month-customer pairs. In all other regards, the process is consistent with the embodiments described above.
It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed supply chain optimization system. Other embodiments will be apparent to those skilled in the art from consideration of the specification and practice of the disclosed supply chain optimization system. It is intended that the specification and examples be considered as exemplary only, with a true scope being indicated by the following claims and their equivalents.