Patent ID: 12248896

DETAILED DESCRIPTION

Aspects and applications of the invention presented herein are described below in the drawings and detailed description of the invention. Unless specifically noted, it is intended that the words and phrases in the specification and the claims be given their plain, ordinary, and accustomed meaning to those of ordinary skill in the applicable arts.

In the following description, and for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the various aspects of the invention. It will be understood, however, by those skilled in the relevant arts, that the present invention may be practiced without these specific details. In other instances, known structures and devices are shown or discussed more generally in order to avoid obscuring the invention. In many cases, a description of the operation is sufficient to enable one to implement the various forms of the invention, particularly when the operation is to be implemented in software. It should be noted that there are many different and alternative configurations, devices and technologies to which the disclosed inventions may be applied. The full scope of the inventions is not limited to the examples that are described below.

Supply chain networks for the manufacture of items often comprise one or more resources that require a non-trivial amount of time to be retasked from the production of a first item to the production of a second item. These may be termed campaignable resources. By way of example only and not by way of limitation, campaignable resources include soft drink bottling machinery (which bottles many flavors of drinks into various bottle sizes), tire manufacturing equipment (which produces various types and styles of tires), and toy manufacturing equipment (which uses interchangeable molds to produce many types of toys). According to embodiments, planning the sequence and allocation of campaignable resources in a supply chain plan may be termed campaign planning.

Because campaignable resources often comprise lengthy changeovers that are sequence-dependent, if they are not accounted for during planning, the plan becomes infeasible during scheduling. As a result, backlog or shortage is increased. On the other hand, if changeovers are accounted for during master planning, it leads to discrete constraints, changing the problem structure from a linear program (LP) to a mixed integer program (MIP) and (in some cases) to mixed integer nonlinear program (MINLP). Though there are methods for solving each of these problems on a small scale, there is no method for solving large scale campaign planning problems efficiently. As an example only and not by way of limitation, a linear programming-based solver, such as, for example, linear programming optimization planning (LPOPT) solver is not scalable for large datasets, such as global supply chains having many production plants and a large number of finished products. For these types of supply chains, a typical solution may require computing resources with 250 GB or RAM and a solve time over 140 hours. Additionally, these solutions are often unstable and, combined with the long solve time, cannot be used for weekly planning.

As described in more detail below, embodiments of the current disclosure comprise linear optimization supply chain planning with segmented campaign planning that uses less computing resources and more quickly plans campaignable resources inside of a master planning process than non-segmented campaign planning while, at the same time, generating plans with equal quality for small datasets and business-validated plan quality with a significant decrease in runtime for large datasets

FIG.1illustrates exemplary supply chain network100according to an embodiment. Supply chain network100comprises supply chain planner110, one or more imaging150, computer160, network170, and communication links180-190. Although a single supply chain planner110, one or more imaging devices120, a single inventory system130, a single transportation network140, one or more supply chain entities150, a single computer160, and a single network170, are shown and described, embodiments contemplate any number of supply chain planners, imaging devices, inventory systems, transportation systems, supply chain entities, computers, or networks, according to particular needs.

In one embodiment, supply chain planner110provides for campaign planning within master planning. Supply chain planner110solves a LP problem using a segmented approach to campaign planning, such that, the solution in a given circumstance is arrived at by solving three segmented campaign planning problems to generate a solution much faster than a single optimization problem. In one embodiment, supply chain planner110comprises server112and database114. According to embodiments, server112comprises one or more modules that model a supply chain network, formulate a supply chain planning problem, identify campaignable resources, segment the supply chain network into at least three stages, and formulate and solve a series of segmented campaign planning problems. In an embodiment, supply chain planner110stores supply chain data of one or more supply chain entities150of supply chain network100in database114.

As an example only and not by way of limitation, supply chain network100may be a global tire manufacturer and distributor, such as a tire manufacturer supply chain network100and may comprise a large number of different items, such as, for example, over 22,000 different items, (each represented by a different SKU) that can be produced at one of over a dozen manufacturing plants (manufacturers154) worldwide. A global transportation network140may then transport the produced tires to meet demand for customers, distribution centers, and stocking locations all over the world. Determining the best supply chain plan for a global supply chain quickly becomes a very large problem requiring capturing the global demand and ensuring all of these demands are met in an efficient manner, while respecting all constraints and objectives.

As an example only and not by way of limitation, one of the most difficult parts of supply chain planning in the tire industry is campaign planning the sequence of tire production during the curing process. The curing process receives green tires from upstream manufacturing facilities and places the green tires in SKU-specific molds where the tires are molded and cured before distribution downstream for further processing and distribution. Each mold comprises a number of different components, such as, for example, a tread ring, a bead ring top, a bead ring bottom, a sidewall top, a sidewall bottom and only produces a limited number of different types of tires, but demand requires producing many different sizes and types of tires to match the enormous variety of automobiles. Therefore, the tire molds must be changed frequently during tire production. However, changing molds is non-trivial—the changeover requires assembling five separate main components and consumes a substantial amount of time, such as, for example, four to five hours, and due to these constraints only a limited number of molds can be changed. The curing process may be optimized using campaign planning, but solving the campaign planning problem is complicated by the depth and breadth of supply chain network100, the different modes that the tires may be transported across the globe to meet demand, and other factors described herein. For example, when using a LPOPT solver, a solution for the tire manufacturer supply chain network requires approximately 120-130 hours. As described in more detail below, the one or more engines and solvers of supply chain planner110may solve the same problem in approximately 25-26 hours while producing a solution with demand satisfaction the same or equivalent to the LPOPT solver.

By way of a further example only and not by way of limitation, in the case of a beverage manufacturer and distributor, the beverage may be manufactured in various containers (such as, for example, a bottle (glass, plastic, cardboard container, can, or the like). The containers may be of different sizes, such as, for example, 330 ml, 500 ml, or 1000 ml, and the changeover times may be sequence dependent and vary from a few hours to several days or longer. Additionally, the bottling of different flavors (such as, for example, cola, lemon, orange, and the like) may also be sequence dependent (for example, in an embodiment mild flavor to strong flavor is a preferred sequence) and involves setup times, which are typically less than the earlier setup times. Moreover, bottling may comprise upstream constraints (such as, for example, syrup storage tanks), which favor running the bottling line for at least one shift. Other constraints (such as, for example, shelf life criteria, freshness, and the like), require that beverages not remain in the supply chain for more than a predetermined amount of time, such as, for example, a particular number of days, weeks, months, or other like time periods.

In one embodiment, supply chain network100considers various discrete constraints, such as, for example, sequence-dependent setup times, lot-sizing, storage, and shelf-life constraints of one or more supply chain entities150when solving supply chain campaign planning problems. As described below in more detail, these various discrete constraints, such as, for example, sequence-dependent setup times, lot-sizing, storage, and shelf-life constraints may prevent one or more supply chain entities150from satisfying supply chain demand and may delay supply chain demand from being satisfied during a particular planning horizon. Although, an exemplary supply chain network100is described as associated with a tire manufacturer supply chain network100, embodiments contemplate a beverage bottling supply chain network, a toy manufacturing supply chain network, and/or another like supply chain network for any industry that may solve supply chain campaign planning problems of any number of supply chain entities150, according to particular needs.

One or more imaging devices120comprise one or more processors122, memory124, one or more sensors126, and may include any suitable input device, output device, fixed or removable computer-readable storage media, or the like. According to embodiments, one or more imaging devices120comprise an electronic device that receives imaging data from one or more sensors126or from one or more databases in supply chain network100. One or more sensors126of one or more imaging devices120may comprise an imaging sensor, such as, a camera, scanner, electronic eye, photodiode, charged coupled device (CCD), or any other electronic component that detects visual characteristics (such as color, shape, size, fill level, or the like) of objects. One or more imaging devices120may comprise, for example, a mobile handheld electronic device such as, for example, a smartphone, a tablet computer, a wireless communication device, and/or one or more networked electronic devices configured to image items using sensor126and transmit product images to one or more databases.

In addition, or as an alternative, one or more sensors126may comprise a radio receiver and/or transmitter configured to read an electronic tag, such as, for example, a radio-frequency identification (RFID) tag. Each item may be represented in supply chain network100by an identifier, including, for example, Stock-Keeping Unit (SKU), Universal Product Code (UPC), serial number, barcode, tag, RFID, or like objects that encode identifying information. One or more imaging devices120may generate a mapping of one or more items in the supply chain network100by scanning an identifier or object associated with an item and identifying the item based, at least in part, on the scan. This may include, for example, a stationary scanner located at one or more supply chain entities150that scans items as the items pass near the scanner. As explained in more detail below, supply chain planner110, one or more imaging devices120, inventory system130, and transportation network140may use the mapping of an item to locate the item in supply chain network100.

Additionally, one or more sensors126of one or more imaging devices120may be located at one or more locations local to, or remote from, the one or more imaging devices120, including, for example, one or more sensors126integrated into one or more imaging devices120or one or more sensors126remotely located from, but communicatively coupled with, one or more imaging devices120. According to some embodiments, one or more sensors126may be configured to communicate directly or indirectly with one or more of supply chain planner110, one or more imaging devices120, inventory system130, transportation network140, one or more supply chain entities150, computer160, and/or network170using one or more communication links180-190.

Inventory system130comprises server132and database134. Server132of inventory system130is configured to receive and transmit item data, including item identifiers, pricing data, attribute data, inventory levels, and other like data about one or more items at one or more locations in the supply chain network100. Server132stores and retrieves item data from database144or from one or more locations in supply chain network100.

Transportation network140comprises server142and database144. According to embodiments, transportation network140directs one or more transportation vehicles146to ship one or more items between one or more supply chain entities150, based, at least in part, on a supply chain plan, including a supply chain master plan and/or a campaign plan, the number of items currently in stock at one or more supply chain entities150, the number of items currently in transit in the transportation network140, forecasted demand, a supply chain disruption, and/or one or more other factors described herein. Transportation vehicles146comprise, for example, any number of trucks, cars, vans, boats, airplanes, unmanned aerial vehicles (UAVs), cranes, robotic machinery, or the like. Transportation vehicles146may comprise radio, satellite, or other communication that communicates location information (such as, for example, geographic coordinates, distance from a location, global positioning satellite (GPS) information, or the like) with supply chain planner110, one or more imaging devices120, inventory system130, transportation network140, and/or one or more supply chain entities150to identify the location of the transportation vehicle146and the location of any inventory or shipment located on the transportation vehicle146.

As shown inFIG.1, supply chain network100comprising supply chain planner110, one or more imaging devices120, inventory system130, transportation network140, and one or more supply chain entities150may operate on one or more computers160that are integral to or separate from the hardware and/or software that support supply chain planner110, one or more imaging devices120, inventory system130, transportation network140, and one or more supply chain entities150. Computers160may include any suitable input device162, such as a keypad, mouse, touch screen, microphone, or other device to input information. Output device164may convey information associated with the operation of supply chain network100, including digital or analog data, visual information, or audio information. Computer160may include fixed or removable computer-readable storage media, including a non-transitory computer readable medium, magnetic computer disks, flash drives, CD-ROM, in-memory device or other suitable media to receive output from and provide input to supply chain network100.

Computer160may include one or more processors166and associated memory to execute instructions and manipulate information according to the operation of supply chain network100and any of the methods described herein. In addition, or as an alternative, embodiments contemplate executing the instructions on computer160that cause computer160to perform functions of the method. Further examples may also include articles of manufacture including tangible non-transitory computer-readable media that have computer-readable instructions encoded thereon, and the instructions may comprise instructions to perform functions of the methods described herein.

In addition, and as discussed herein, supply chain network100may comprise a cloud-based computing system having processing and storage devices at one or more locations, local to, or remote from supply chain planner110, one or more imaging devices120, inventory system130, transportation network140, and one or more supply chain entities150. In addition, each of the one or more computers160may be a work station, personal computer (PC), network computer, notebook computer, tablet, personal digital assistant (PDA), cell phone, telephone, smartphone, wireless data port, augmented or virtual reality headset, or any other suitable computing device. In an embodiment, one or more users may be associated with the inventory planner110, one or more imaging devices120, inventory system130, transportation network140, and one or more supply chain entities150. These one or more users may include, for example, a “manager” or a “planner” handling supply chain planning, campaign planning, and/or one or more related tasks within the system. In addition, or as an alternative, these one or more users within the system may include, for example, one or more computers programmed to autonomously handle, among other things, one or more supply chain processes such as demand planning, supply and distribution planning, inventory management, allocation planning, order fulfilment, adjustment of manufacturing and inventory levels at various stocking points, and/or one or more related tasks within supply chain network100.

One or more supply chain entities150represent one or more supply chain networks, including one or more enterprises, such as, for example networks of one or more suppliers152, manufacturers154, distribution centers156, retailers158(including brick and mortar and online stores), customers, and/or the like. Suppliers152may be any suitable entity that offers to sell or otherwise provides one or more items (i.e., materials, components, or products) to one or more manufacturers154. Suppliers152may comprise automated distribution systems153that automatically transport products to one or more manufacturers154based, at least in part, on a supply chain plan, including a supply chain master plan and/or a campaign plan, the number of items currently in stock at one or more supply chain entities150, the number of items currently in transit in the transportation network140, forecasted demand, a supply chain disruption, and/or one or more other factors described herein.

Manufacturers154may be any suitable entity that manufactures at least one product. Manufacturers154may use one or more items during the manufacturing process to produce any manufactured, fabricated, assembled, or otherwise processed item, material, component, good, or product. In one embodiment, a product represents an item ready to be supplied to, for example, one or more supply chain entities150in supply chain network100, such as retailers158, an item that needs further processing, or any other item. Manufacturers154may, for example, produce and sell a product to suppliers152, other manufacturers154, distribution centers156, retailers158, a customer, or any other suitable person or entity. Manufacturers154may comprise automated robotic production machinery155that produce products based, at least in part, on a supply chain plan, including a supply chain master plan and/or a campaign plan, the number of items currently in stock at one or more supply chain entities150, the number of items currently in transit in the transportation network140, forecasted demand, a supply chain disruption, and/or one or more other factors described herein.

Distribution centers156may be any suitable entity that offers to store or otherwise distribute at least one product to one or more retailers158and/or customers. Distribution centers156may, for example, receive a product from a first one or more supply chain entities150in supply chain network100and store and transport the product for a second one or more supply chain entities150. Distribution centers156may comprise automated warehousing systems157that automatically remove products from and place products into inventory based, at least in part, on a supply chain plan, including a supply chain master plan and/or a campaign plan, the number of items currently in stock at one or more supply chain entities150, the number of items currently in transit in the transportation network140, forecasted demand, a supply chain disruption, and/or one or more other factors described herein.

Retailers158may be any suitable entity that obtains one or more products to sell to one or more customers. Retailers158may comprise any online or brick-and-mortar store, including stores with shelving systems159. Shelving systems may comprise, for example, various racks, fixtures, brackets, notches, grooves, slots, or other attachment devices for fixing shelves in various configurations. These configurations may comprise shelving with adjustable lengths, heights, and other arrangements, which may be adjusted by an employee of retailers158based on computer-generated instructions or automatically by machinery to place products in a desired location in retailers158and which may be based, at least in part, on a supply chain plan, including a supply chain master plan and/or a campaign plan, the number of items currently in stock at one or more supply chain entities150, the number of items currently in transit in the transportation network140, forecasted demand, a supply chain disruption, and/or one or more other factors described herein.

Although one or more supply chain entities150are shown and described as separate and distinct entities, the same entity may simultaneously act as any one of the one or more supply chain entities150. For example, one or more supply chain entities150acting as a manufacturer can produce a product, and the same one or more supply chain entities150can act as a supplier to supply an item to itself or another one or more supply chain entities150. Although one example of a supply chain network100is shown and described, embodiments contemplate any configuration of supply chain network100, without departing from the scope described herein.

In one embodiment, supply chain planner110may be coupled with network170using communications link180, which may be any wireline, wireless, or other link suitable to support data communications between supply chain planner110and network170during operation of supply chain network100. One or more imaging devices120may be coupled with network170using communications link182, which may be any wireline, wireless, or other link suitable to support data communications between one or more imaging devices120and network170during operation of supply chain network100. Inventory system130may be coupled with network170using communications link184, which may be any wireline, wireless, or other link suitable to support data communications between inventory system130and network170during operation of supply chain network100. Transportation network140may be coupled with network170using communications link186, which may be any wireline, wireless, or other link suitable to support data communications between transportation network140and network170during operation of supply chain network100. One or more supply chain entities150may be coupled with network170using communications link188, which may be any wireline, wireless, or other link suitable to support data communications between one or more supply chain entities150and network170during operation of supply chain network100. Computer160may be coupled with network170using communications link190, which may be any wireline, wireless, or other link suitable to support data communications between computer160and network170during operation of supply chain network100.

Although communication links180-190are shown as generally coupling supply chain planner110, one or more imaging devices120, inventory system130, transportation network140, one or more supply chain entities150, and computer160to network170, any of supply chain planner110, one or more imaging devices120, inventory system130, transportation network140, one or more supply chain entities150, and computer160may communicate directly with each other, according to particular needs.

In another embodiment, network170includes the Internet and any appropriate local area networks (LANs), metropolitan area networks (MANs), or wide area networks (WANs) coupling supply chain planner110, one or more imaging devices120, inventory system130, transportation network140, one or more supply chain entities150, and computer160. For example, data may be maintained locally to, or externally of, supply chain planner110, one or more imaging devices120, inventory system130, transportation network140, one or more supply chain entities150, and computer160and made available to one or more associated users of supply chain planner110, one or more imaging devices120, inventory system130, transportation network140, one or more supply chain entities150, and computer160using network170or in any other appropriate manner. For example, data may be maintained in a cloud database at one or more locations external to supply chain planner110, one or more imaging devices120, inventory system130, transportation network140, one or more supply chain entities150, and computer160and made available to one or more associated users of supply chain planner110, one or more imaging150, and computer160using the cloud or in any other appropriate manner. Those skilled in the art will recognize that the complete structure and operation of network170and other components within supply chain network100are not depicted or described. Embodiments may be employed in conjunction with known communications networks and other components.

In accordance with the principles of embodiments described herein, supply chain planner110may generate a supply chain plan, including a supply chain master plan and/or a campaign plan. Furthermore, supply chain planner110may instruct automated machinery (i.e., robotic warehouse systems, robotic inventory systems, automated guided vehicles, mobile racking units, automated robotic production machinery, robotic devices and the like) to adjust product mix ratios, inventory levels at various stocking points, production of products of manufacturing equipment, proportional or alternative sourcing of one or more supply chain entities, and the configuration and quantity of packaging and shipping of items based on a supply chain plan, including a supply chain master plan and/or a campaign plan, the number of items currently in the inventory one or more supply chain entities150, the number of items currently in transit in the transportation network140, forecasted demand, a supply chain disruption, and/or one or more other factors described herein. For example, the methods described herein may include computers160receiving product data212(FIG.2) from automated machinery having at least one sensor and product data212corresponding to an item detected by the automated machinery. The received product data212may include an image of the item, an identifier (such as a SKU), as described above, and/or other product information associated with the item (dimensions, texture, estimated weight, fill level, and the like). The method may further include computers160looking up the received product data212in a database system associated with supply chain planner110to identify the item corresponding to the product data212received from the automated machinery.

Computers170may also receive, from one or more sensors126of the one or more imaging devices, a current location of the identified item. Based on the identification of the item, computers160may also identify (or alternatively generate) a first mapping in the database system, where the first mapping is associated with the current location of the identified item. Computers160may also identify a second mapping in the database system, where the second mapping is associated with a past location of the identified item. Computers160may also compare the first mapping and the second mapping to determine if the current location of the identified item in the first mapping is different than the past location of the identified item in the second mapping. Computers160may then send instructions to the automated machinery based, as least in part, on one or more differences between the first mapping and the second mapping such as, for example, to locate items to add to or remove from an inventory of or package for one or more supply chain entities150.

FIG.2illustrates supply chain planner110ofFIG.1in greater detail, according to an embodiment. As discussed above, supply chain planner110may comprise server112and database114. Although supply chain planner110is shown as comprising a single server112and a single database114, embodiments contemplate any suitable number of servers or databases internal to or externally coupled with supply chain planner110.

Server112of supply chain planner110may comprise one or more engines or solvers200for generating an optimized solution and/or plan of supply chain campaign planning problems of supply chain network100. The one or more engines or solvers200may solve the segmented campaign planning problems of a supply chain master planning problem using the results of a previous segmented campaign planning problem and data manipulations performed between planning problems. In an embodiment, supply chain planner110stores and retrieves supply chain master planning problem data, such as, for example, Linear Programming (LP) optimized plans of supply chain network100in database114. In addition, although server112is shown and described as comprising one or more engines or solvers200, embodiments contemplate any suitable number or combination of engines and/or solvers, according to particular needs.

As discussed in more detail below, solver200models one or more supply chain master planning problems of supply chain network100. That is, solver200of server112models the one or more supply chain master planning problems of one or more supply chain entities150to represent the flow of materials through supply chain network100. In addition, supply chain network100, including the one or more supply chain master planning problems, is valid for a particular period of interest, i.e., a planning horizon.

Database114comprises one or more databases or other data storage arrangements at one or more locations, local to, or remote from, server112. Database114includes, for example, supply chain data210, product data212, inventory data214, demand data216, and data models218. Although, database114is shown and described as comprising supply chain data210, product data212, inventory data214, demand data216, and data models218, embodiments contemplate any suitable arrangement or combination of data storage, located at one or more locations, local to, or remote from, supply chain planner110, according to particular needs.

As an example only and not by way of limitation, database114stores supply chain data210, including one or more supply chain master planning problems of supply chain network100that may be used by server112, and/or solver200. Supply chain data210may comprise for example, various decision variables, business constraints, goals and objectives of one or more supply chain entities150. According to some embodiments, supply chain data210may comprise hierarchical objectives specified by, for example, business rules, campaign data, master planning requirements along with scheduling constraints and discrete constraints, such as, for example, sequence dependent setup times, lot-sizing, storage, shelf life, and other like constraints.

Product data212of database114may comprise one or more data structures for identifying, classifying, and storing data associated with products, including, for example, a product identifier (such as a Stock Keeping Unit (SKU), Universal Product Code (UPC) or the like), product attributes and attribute values, sourcing information, and the like. Product data210may comprise data about one or more products organized and sortable by, for example, product attributes, attribute values, product identification, sales quantity, demand forecast, or any stored category or dimension. Attributes of one or more products may be, for example, any categorical characteristic or quality of a product, and an attribute value may be a specific value or identity for the one or more products according to the categorical characteristic or quality, including, for example, physical parameters (such as, for example, size, weight, dimensions, fill level, color, and the like).

Inventory data214of database114may comprise any data relating to current or projected inventory quantities or states. According to embodiments, inventory data214may comprise the current level of inventory for items at one or more stocking points across supply chain network100. In addition, inventory data214may comprise order rules that describe one or more rules or limits on setting an inventory policy, including, but not limited to, a minimum order quantity, a maximum order quantity, a discount, a step-size order quantity, and batch quantity rules. According to some embodiments, supply chain planner110accesses and stores inventory data214in database114, which may be used by supply chain planner110to place orders, set inventory levels at one or more stocking points, initiate manufacturing of one or more components, or the like. In addition, or as an alternative, inventory data214may be updated by receiving current item quantities, mappings, or locations from one or more imaging devices120, inventory system130, transportation system140, and/or one or more supply chain entities150.

Demand data216of database114may comprise, for example, any data relating to past sales, past demand, and purchase data of one or more supply chain entities150. Demand data216may be stored at time intervals such as, for example, by the minute, hour, daily, weekly, monthly, quarterly, yearly, or any suitable time interval, including substantially in real time. According to embodiments, demand data216may include historical demand or projected demand forecasts for one or more retail locations, customers, regions, or the like of one or more supply chain entities150and may include product attribute demand or forecasts.

Data models218represent the flow of materials through one or more supply chain entities150of supply chain network100for one or more supply chain master planning problems having at least one campaignable resource. Solver200may model the flow of materials through one or more supply chain entities150of supply chain network100as data models218comprising a network of nodes and edges. The material storage and/or transition units are modeled as nodes, which may be referred to as, for example, buffer nodes, buffers, or nodes. Each node may represent a buffer for an item (such as, for example, a raw material, intermediate good, finished good, component, and the like), resource, or operation (including, for example, a production operation, assembly operation, transportation operation, and the like). Various transportation or manufacturing processes are modeled as edges connecting the nodes. Each edge may represent the flow, transportation, or assembly of materials (such as items or resources) between the nodes by, for example, production processing or transportation. A planning horizon for the data models218may be broken down into elementary time-units, such as, for example, time-buckets, or, simply, buckets. The edge between two buffer nodes denote processing of material and the edge between different buckets for the same buffer indicates inventory carried forward. Flow-balance constraints for most, if not every buffer in every bucket, model the material movement in supply chain network100.

FIG.3comprises an exemplary supply chain network model300, according to an embodiment. In the exemplary supply chain network model300, materials flow from upstream nodes to downstream nodes along each of the edges from left to right from raw materials to finished products. However, flows may be bidirectional, and one or more materials may flow from right to left, from a downstream node to an upstream node. Supply chain network represented by supply chain network model300begins at the most upstream nodes representing raw material buffers302a-302c. Raw material buffers302a-302cmay receive the initial input for a manufacturing process. For example, in a tire manufacturer supply chain network, raw materials may comprise rubber, metal and fabric layers, adhesives, polymers, and other materials and compounds required for tire manufacturing. The flow of raw materials is indicated by edges304a-304e, which identify which of upstream production processes306a-306cis a possible destination for raw materials from raw material buffers302a-302c. For example, raw materials from first raw material buffer302amay be transported to either first upstream production process306aor second upstream production process306bas indicated by edges304a-304b. In contrast, raw material from second raw material buffer302bmay be transported only to second upstream production process306bas indicated by edge304c. Raw materials from raw material buffer302cmay be transported to either second upstream production process306bor third upstream production process306cas indicated by edges304d-304e. The results of processing the raw materials transported to upstream production processes306a-306cis indicated by edges308a-308e. Edges308a-308eindicate that raw material transported from raw material buffers302a-302cto each of upstream production processes306a-306cis transformed into upstream intermediate items stored at upstream intermediate items buffers310a-310d. Continuing with the exemplary tire manufacturer supply chain network example, these upstream intermediate items may represent different types of ‘green tires.’ Green tires comprise the blank tires which are placed into molds to cure and form a tread pattern determined by the mold.

As indicated by edges308a-308e, each of the upstream production processes306a-306csupplies upstream intermediate items to only particular upstream intermediate item buffers310a-310d. For example, first upstream production process306asupplies only first upstream intermediate item buffer310a(indicated by edge308a), while second upstream production process306bmay supply either first upstream intermediate item buffer310aor second upstream intermediate item buffer310b(indicated by edges308b-308c). Neither first upstream production process306anor second upstream production process306bmay supply third upstream intermediate item buffer310cor fourth upstream intermediate item buffer310d(indicated by no edge connecting these buffers). Instead, third upstream production process306cmay supply either third upstream intermediate item buffer310cor fourth upstream intermediate item buffer310d(indicated by edges308d-308e), but not first upstream intermediate item buffer310aor second upstream intermediate item buffer310b(indicated by no edge connecting these buffers).

These limitations on supplying upstream intermediate items to particular buffers may represent transportation limitations between upstream production processes306a-306cand intermediate item buffers310a-310d. For example, first and second upstream production processes306a-306bmay be located in a first country, such as the United States, while third upstream production process306cmay be located in a second country, such as Spain. If first and second upstream intermediate item buffers310a-310bare located in the United States and Canada, respectively, and third and fourth upstream intermediate item buffers310c-310dare located in Spain and Germany, then the cost, time, available transportation options, or the like may limit the flow of items between one or more buffers of supply chain network model300. Additionally, flow between the nodes may be limited by what items are produced from each of production processes306a-306c. For example, production processes306a-306cmay comprise different production processes, which produce different items, each of which may be represented by a different SKU, and which each may be stored at different upstream intermediate item buffers310a-310d. Although the limitation of the flow of items between nodes of supply chain network model300is described as cost, timing, transportation, or production limitations, embodiments contemplate any suitable flow of items or limitations of the flow of items between any one or more different nodes of a supply chain network, according to particular needs.

Next, the upstream intermediate items from upstream intermediate item buffers310a-310dare further transported, as indicated by edges312a-312i, to campaignable operations314a-314c. Campaign operations314a-314care coupled by edges316a-316cwith campaignable resource318to indicate that campaignable operations314a-314crequire campaignable resource318in order to process the upstream intermediate items. According to embodiments, campaignable resource318comprises any resource which requires a significant amount of time to change from production of a first item to production of a second item (i.e. a changeover time). Campaignable resource318may include, for example, particular manufacturing, distribution, or transportation equipment and facilities, and other such resources utilized in the supply chain.

Continuing with the exemplary tire manufacturer supply chain network example, campaignable resource318may comprise the tire manufacturing equipment that is required for curing tires, but which may produce only one tire SKU at a time and which requires a significant change over time to switch between production of a first tire SKU to a second tire SKU. Therefore, solver200will use campaign planning to determine the order and length of time each campaignable operations314a-314cshould use campaignable resource318. As described below, solver200will perform a campaign planning process to determine the allocation of the campaignable resource318based, in part, on upstream demands and capacity and material constraints. As indicated by edges320a-320c, campaignable operations314a-314cproduce campaign goods stored at campaignable buffers322a-322b, which, continuing with the example of the tire manufacturer supply chain network, may comprise cured tires which are ready for final processing before shipment to one or more customers or supply chain entities150. For example, campaign goods from campaignable buffers322a-322bmay, as indicated by edges324a-324d, be transported to final production processes326a-326c. Final production processes326a-336ctransform the campaign goods as indicated by edges328a-328dinto finished goods stored at finished goods buffers330a-330c. Final production processes326a-326cmay comprise one or more operations for finishing, testing, packaging, transportation, and the like of the campaign goods to produce finished goods held at finished goods buffers330a-330c. Finished goods buffers330a-330ccomprise products ready to be packaged or transported to one or more customers, distribution centers, or stocking locations in supply chain network100. For example, for the exemplary tire manufacturer, final production processes326a-326cmay comprise inspection, measurement, or testing of cured tires for compliance with tolerances or safety requirements. If the cured tires are compliant they may be marked for sale and transported to finished goods buffers330a-330cfor distribution to one or more customers or supply chain entities150.

As indicated by edges332a-332c, finished goods from finished goods buffers330a-330cmay be transported by transportation processes334a-334cfor distribution to satisfy demands336a-336cof one or more customers and/or one or more supply chain entities150. For the exemplary tire manufacturer supply chain network, transportation processes334a-334ctransport, package, or ship finished to one or more locations internal to or external of one or more supply chain entities150of supply chain network100, including, for example, shipping tires directly to consumers, to regional or strategic distribution centers, or to the inventory of one or more supply chain entities150, including, for example, to replenish a safety stock for one or more tires in an inventory of one or more supply chain entities150. Although particular item and process described herein is a simplified description for the purpose of illustration. For example, the items may be different sizes, styles, states of same or different physical material. Similarly, a process may be any process or operation, including manufacturing, distribution, transportation, or any other suitable action of supply chain network100. In one embodiment, additional constraints, such as, for example, business constraints, operation constraints, and resource constraints, may be added to facilitate other planning rules.

Although, a simplified supply chain network model300is shown and described as having a particular number of buffers, resources, and operations with a defined flow between them, embodiments contemplate any number of buffers, resources, and operations with any suitable flow between them, including any number of nodes and edges, according to particular needs. In particular, a supply chain master planning problem typically comprises a supply chain network much more complex than the simplified exemplary supply chain network model300described above. For example, a supply chain network often comprises multiple manufacturing plants located in different regions or countries. In addition, an item may be processed by many operations into a large number of different intermediate goods and/or finished items, where the different operations may have multiple constrained resources and multiple input items, each with their own lead, transportation, production, and cycle times. Additionally, material may flow bidirectionally (either, upstream or downstream), which is difficult to solve for heuristic solvers, but may, in some cases, be more quickly solved using LPOPT.

Supply chain network model300is used to generate a supply chain planning problem. As described in more detail below, during segmented supply chain planning, solver200generates three supply chain planning problems by selectively modifying different components of the supply chain planning problem.

FIG.4illustrates components of a supply chain problem, which are modified during segmented campaign planning. A supply chain problem comprises segmented supply chain network model400, campaign objectives410, non-campaign objectives412, and planning horizon420. Segmented supply chain network model400comprises three segments402-406. According to embodiments, segmented supply chain model400comprises upstream segment402, campaign segment404, and downstream segment406. Upstream segment402comprises all buffers and processes upstream of campaignable operations314a-314c, including raw material buffers302a-302c, upstream production processes306a-306c, upstream intermediate items buffers310a-310d, and edges304a-304eand308a-308e. Campaign segment404comprises campaignable operations314a-314c, campaignable resource318, campaignable buffers322a-322b, and edges316a-316cand320a-320c. As described above, campaignable operations314a-314c(comprising, for example, a manufacturing process) require campaignable resource318(as indicated by edges316a-316c) to produce campaign goods stored at campaignable buffers322a-322b(as indicated by edges320a-320c). Downstream segment406comprises all buffers and processes after campaignable buffers322a-322b, including final production processes326a-326c, finished goods buffers330a-330c, transportation processes334a-334c, demands336a-336c, and edges328a-328dand332a-332c. For example, continuing with the exemplary tire manufacturer, upstream segment402comprises the portion of the supply chain responsible for green tire production. Campaign segment404comprises the curing process where the green tires are placed in molds to form the particular shape and tread of a particular tire represented by a particular SKU. Downstream segment406comprises compliance and safety testing, packaging, and shipment to one or more customer or supply chain entities150according to demands336a-336c.

Like supply chain planning, campaign planning comprises modeling one or more objective functions (campaign objectives410) and constraints (campaign constraints) and then solving the one or more campaign objectives410, hierarchically, according to the one or more campaign constraints. Campaign constraints may comprise, for example, a maximum and/or minimum number of SKUs being produced a maximum and/or minimum number of changes from a previous bucket (i.e. minimize/maximize changeovers), minimum runtime, and the like, while respecting a set of hierarchical objectives. As described in more detail below, segmented campaign planning distinguishes between campaign objectives410and non-campaign objectives412. Campaign objectives410are guiding objectives that are desired to be optimized while determining the campaign sequence. As an example only and not by way of limitation, campaign objectives410may comprise demand satisfaction, just-in-time production, alternate source minimization, and/or inventory reduction. In addition, non-campaign objectives412may comprise campaign objectives which are important, but which the campaign sequence is allowed to violate. As an example only and not by way of limitation, non-campaign objectives412may comprise outsourcing minimization, production smoothing, and the like.

Supply chain planning is performed over a time period divided into one or more time buckets. Planning horizon420comprises daily buckets422, weekly buckets424, and larger buckets426. Larger buckets426may comprise, for example, monthly, quarterly, or any other bucket size larger than weekly buckets, including aggregated buckets formed from combining one or more buckets into larger buckets. Additionally, although buckets are described as comprising daily buckets422, weekly buckets424, and larger buckets426, embodiments contemplate a planning horizon formed from any combination of one or more buckets of any suitable size. Continuing with the exemplary tire manufacturer, planning horizon420may comprise one year for supply chain planning. To generate accurate planning in the near term while speeding calculation of long term planning, daily buckets422may be used for the first one, two, three, or more weeks, followed by weekly buckets424for the near- to mid-term (such as, for example, the next one to three months following the daily buckets422), and larger426buckets (such as monthly buckets) for the remainder of the planning horizon420.

FIG.5illustrates an exemplary method500of segmented campaign planning, according to an embodiment. Segmented campaign planning comprises creating and solving a multi-objective hierarchical linear optimization using a segmented campaign planning process to quickly and optimally plan campaign planning objectives. According to embodiments, method500eliminates the problem of prohibitive runtimes in the presence of complex supply chains with fine-grained planning buckets, without diminishing the quality of the supply chain plan. Instead, method500may generate a near globally-optimal solution to a complex large-scale supply chain in presence of single-level campaign planning constructs.

As described below, method500formulates and solves a supply chain problem by segmenting the supply chain problem and solving three modified supply chain planning problems.

FIG.6illustrates segmented campaign planning stages602-606, according to an embodiment. According to embodiments, segmented campaign planning comprises stage one602, stage two604, and stage three604. Each stage602-604comprises a supply chain problem having a different combination of time-bucket granularity, supply chain static structure, and objectives. The solution from each of stages602-606is used to generate an output which is passed sequentially, from one stage to the next, to generate a near-optimal supply chain plan and campaign plan while simultaneously requiring a significantly smaller run time than an approach comprising a single globally-optimal LPOPT run with campaign planning. Each of three stages602-606may be run entirely in memory without exporting intermediate output to a database, which improves performance of method500of segmented campaign planning process.

Method500proceeds by one or more activities organized into three stages602-606, which although described in a particular order and associated with a particular stage602-606, may be performed in one or more permutations associated with or without any of stage602-606, according to particular needs.

Method500begins at activity510of stage one602, where solver200models supply chain network100based on the static structure of the supply chain. Supply chain network100may comprise an initial static structure, received by solver200. According to embodiments, solver200keeps the overall static structure intact when modeling supply chain network100during stage one602. However, as described in more detail below, the static structure of the supply chain represented by the supply chain network model is modified during stage two604and reverted back to the initial static structure during stage three606.

At action512of stage one602, solver200converts daily buckets to weekly buckets. As discussed above, supply chain planning horizon520comprises a bucketization scheme having daily buckets422, weekly buckets424, monthly buckets, and/or one or more larger buckets426. For example, planning horizon420may comprise daily buckets422for near-term planning periods (up to, for example, about 40 days), followed by weekly buckets424for mid-term planning, then larger buckets426(such as, monthly, quarterly, or aggregated buckets) through the end of the planning period. According to embodiments, any daily buckets422used in planning prior to campaign segment404are converted into weekly buckets424. Any weekly buckets424are kept as weekly buckets424, while monthly buckets may be limited in quantity to a preselected parameter, such as, for example 9 months and any remaining buckets may be aggregated into a single larger bucket426comprising an aggregated bucket.

At action514of stage one602, solver200formulates the supply chain problem and solves the LPOPT objective followed by lotsizing without campaign planning. Using the weekly buckets424and larger buckets426, solver200removes campaignable objectives410, and solves for demands using only non-campaign objectives512. According to embodiments, lotsizing options are provided in an LPOPT option file for lot size planning. In addition, or as an alternative, converting the daily buckets to weekly buckets reduces the overall complexity of the supply chain solve due to the reduced number of buckets and providing more flexibility to the solver200to utilize material and capacity at the campaign stage.

At action516of stage one602, solver200generates output from stage one602comprising a log file having prioritized production demand on campaignable buffers in the temporary model. Before importing the log in solver200, the log is stored in the temporary model. According to embodiments, the output of stage one602may be stored in a temporary user-defined model to improve performance. The log comprises information about partitions of each operation plan so that each part may be assigned to a specific demand to preserve the demand priority on the campaignable operation plans.

Stage two604of method500begins at action518, where solver200modifies the static structure of the supply chain model. Based on the output from stage one602, solver200generates a prioritized production requirement for campaign segment404. According to embodiments, solver200creates additional demands (dummy demands) on campaignable buffers314a-314c. While production plans were created in weekly buckets in stage one602, corresponding dummy demands are placed on the last daily bucket corresponding to the week, in stage two604. Placing the demand on the last day of the week allows for even distribution of demands across the week, as solver200can always plan the production earlier based on material availability. Further, solver200temporarily eliminates all buffers, flows, and operations downstream of campaignable buffers314a-314cby marking each as lp_pass=false to indicate like-wise to the solver200. Additionally, the actual item requests for Finished Goods are marked as lp_pass=false so that the item requests are not considered for planning in LPOPT. Further, any WIP/fixed_flows that are defined downstream of campaignable buffers314a-314care also marked as lp_pass=false.

At activity520of stage two604, solver200replaces daily buckets422and aggregate buckets after weekly buckets424. Additionally, solver200manipulates the time bucket structure to enable near term daily buckets422which are relevant to the campaign resource while also creating one or more larger buckets426comprising aggregated buckets to generate sufficient demand for campaign planning. For example, according to embodiments, frozen daily buckets422are followed by campaignable daily buckets422. Weekly buckets424are added to cover the demands on campaignable buffers314a-314ccalculated during stage one602. The remaining buckets are aggregated into one larger bucket426comprising an aggregated bucket.

At activity522of stage two606, solver200formulates the supply chain problem and solves campaign objective iteratively to decide campaigns and followed by lotsizing. For example, solver200selectively enables the campaign planning objectives510(which were disabled at the first planning stage) and performs campaign planning on daily buckets using LPOPT by calculating campaign planning for campaignable buffers314a-314cusing breakout information from first stage campaign planning problem and without using information from downstream segment406of the supply chain plan. By eliminating downstream segment406from the second campaign planning problem, solver200may now use any LPOPT options for campaign planning, with the exception of regular lotsizing options.

At activity524of stage two606, solver200generates the output from stage two as a campaign plan at the producing operations of campaignable buffers314a-314c.

Stage three606of method500begins at action526, where solver200reverts the supply chain static structure of the supply chain model back to the original state. For example, downstream segment406of supply chain network100is re-enabled by setting to lp_pass=true all buffers, flows, and operations downstream of campaignable buffers314a-314c. The actual Finished Goods Demands are also marked as lp_pass=true so that it is considered for planning in LPOPT. The WIP/fixed flows which are defined downstream of campaignable buffers314a-314care also marked as LP pass true.

At activity528of stage three606, solver200reverts the bucket structure to daily, weekly, and monthly buckets. Additionally, the time buckets are restored to the original requirements of the supply chain planning problem, and dummy demands and dummy delivery operations created during stage two604for campaignable buffers314a-314care removed. Further, the producing operations on campaignable buffers314a-314cin the campaignable period which are not part of the output of stage two604are switched off so that campaign planning during stage three606does not plan anything on these operations.

At activity530of stage three606, solver200formulates the supply chain problem and solves the LPOPT objective followed by lotsizing without campaign planning. Further, campaign-specific objective levels410are removed and replaced with the original non-campaign objective levels412. Because the stage three606planning problem begins with a solved campaign plan, solver200may satisfy demands only by adding articles to an existing campaign, not by adding a new campaign or deleting an existing campaign. At this point, the LPOPT option file will now have all the LPOPT options for regular lotsizing options.

At activity532of stage three606, solver200generates the output from state three606comprising a supply chain plan and combines it with the output of stage two604comprising a campaign plan to generate an overall optimized supply chain plan including a campaign plan.

After stage three606ends at activity532, method500may continue to activity534, where solver200uses the supply chain plan and campaign plan generated by segmented campaign planning to instruct automated machinery (i.e., robotic warehouse systems, robotic inventory systems, automated guided vehicles, mobile racking units, automated robotic production machinery, robotic devices and the like) to adjust product mix ratios, inventory levels at various stocking points, production of products of manufacturing equipment, proportional or alternative sourcing of one or more supply chain entities, and the configuration and quantity of packaging and shipping of items based on a supply chain plan, including a supply chain master plan and/or a campaign plan, the number of items currently in the inventory one or more supply chain entities150, the number of items currently in transit in the transportation network140, forecasted demand, a supply chain disruption, and/or one or more other factors described herein

It should be noted that the item and process described herein is a simplified description for the purpose of illustration. For example, the items may be different sizes, styles, states of same or different physical material. Similarly, a process may be any process or operation, including manufacturing, distribution, transportation, or any other suitable action of supply chain network100. In one embodiment, additional constraints, such as, for example, business constraints, operation constraints, and resource constraints, may be added to facilitate other planning rules. The business objectives are prioritized and modeled as hierarchy of objective functions. This model is a linear programming (LP) problem which does not consider discrete variables or constraints. For the sake of simplicity, and without loss of generality, all the objective functions are assumed to be minimized. If any objective function is to be maximized, the objective function is negatived and minimized.

As explained above, the segmented campaign planning process comprises modifying supply chain models, objectives, and buckets to create less complex campaign planning problems, which may be solved more quickly using less computing resources than a single segment campaign planning problem, while still generating plans of equivalent or satisfactory quality. By segmenting the campaign planning process as described above, this change, the runtime of the workflow of campaign planning was drastically reduced (e.g. from 120 hours to 25 hours), and all the campaign planning constraints and business objectives were respected which ensured better overall plan quality. In contrast, a single stage campaign planning problem is infeasible for large datasets because the high complexity of campaign planning problems, which means that, even with a large amount of computer resources, the problem may take over 120 hours to solve, which limits the usefulness of the solution, since it may already be stale by the time it is generated.

FIG.7illustrates a comparison of results for single stage campaign planning and segmented campaign planning for a small production dataset. A small dataset may comprise a portion of a supply chain network required to produce one or two finished goods and/or one or two manufacturing plants. Chart700illustrates for each of the solved objective levels, the segmented stage process generated a supply chain master plan with results the same or equivalent to that produced by the single stage process, including satisfying the same amount of demand, having the same lateness for backlogged items, and a build ahead and manufacturing quantity with equivalent results. This indicates for small datasets segmented campaign planning produces high-quality supply chain master plans. In addition to generating high-quality plan for a small dataset, segmented campaign planning also generates high-quality plans for large datasets.

FIG.8illustrates a comparison of results for single stage campaign planning and segmented campaign planning for a large production dataset. A large production dataset may comprise, for example, a supply chain problem comprising a larger portion (or the entirety) of a supply chain network100. For example, the large production dataset used in the above comparison comprises approximately 6000 finished goods, nineteen manufacturing plants, a global supply chain with global demands, and a worldwide distribution network. As illustrated, in one-year supply chain master planning using the segmented campaign planning process, the demand satisfaction was similar to the result from supply chain master planning using a single campaign planning problem, even though the segmented campaign planning used much less memory and took approximately 118 hours less to complete. Because segmented campaign planning can be accomplished in one or two days, this allows campaign planning to be run on weekends as part of a master planning solution, which means the campaign plan may be distributed weekly to individual factories for implementation.

Chart800comprises a comparison of demand fulfillment sorted according to demand layers. The total demand for the exemplary large production dataset comprises 174,000 items, prioritized by fourteen different layers. Each layer represents demand having a particular priority, sorted from a highest priority demand at Layer0 descending to a lowest priority demand at layer13. During LP solving, Solver200may solve each layer one at a time, hierarchically, before moving to a lower priority layer. According to embodiments, demands are prioritized based on the importance of the customer and the time value of the finished goods. A highest priority demand might comprise, for example, a high value good requested by a high priority customer which if not immediately fulfilled will be lated. According to embodiments, Solver200may solve the supply chain master planning problem to try to first meet the highest priority demand (demand for Layer0) before solving the supply chain master planning problem to satisfy the next lower priority demand (demand for Layer1). In this manner, solver200may iteratively solve supply chain master planning problem for the demand of each layer, one layer at a time, in order of priority, until material or capacity is exhausted, or all demand layers are processed. Although the exemplary large production dataset comprises three levels of customer importance and three values of finished goods, embodiments contemplate any number of priority levels associated with demands, goods, customers, brand value, customer segmentation, priority of finished good, priority of customer demand, and the like, according to particular needs.

Reference in the foregoing specification to “one embodiment”, “an embodiment”, or “some embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.

While the exemplary embodiments have been shown and described, it will be understood that various changes and modifications to the foregoing embodiments may become apparent to those skilled in the art without departing from the spirit and scope of the present invention.