Abstract:
A system and method of synchronizing recipes and bills of materials (BOM). An approved recipe is parameterized in a planning interface. A BOM is synchronized with the parameterized recipe. The BOM is then displayed in a graphical user interface to allow a user to modify by a resolve conflict present during synchronization.

Description:
BACKGROUND OF THE INVENTION 
     1. Field 
     Embodiments of the invention relate to hand off of recipes to manufacturing. More specifically, embodiments of the invention relate to synchronization of recipes to bills of materials. 
     2. Background 
     In process industries, research and development uses recipes to describe products. As used herein, “recipe” refers to a listing of ingredients and process step required to combine the ingredients into a finished product. Commonly, food products, chemical compositions and such are the result of a recipe. A recipe contains all the ingredients that are necessary for a product. Recipes tend to focus on calculation of physical and chemical properties, such as the chemical bonding properties, density, diet, nutrients, etc. Recipes also tend to be concerned with ratios of ingredients rather than absolute amounts. This type of structure is not suitable for manufacturing. Instead, a bill of materials that contains all of the data necessary for manufacturing is used. While the source of the bill of materials may be a recipe, a part of a recipe or a set of recipes, manufacturing must create a bill of materials out of that source. 
     Moreover, if the source recipe or recipes changes, for example, as a result of modification in research and development, manufacturing must be able to synchronize the changes into the bill of materials. This process is complicated by the fact that all data necessary for manufacturing is not necessarily present in the recipe. Additionally, the quantities of the recipe must be scaled consistent with the constraints of the production facility. It is also possible that one or more materials specified may not be available at a particular production site such that an alternative material must be used. An efficient way to synchronize recipe changes with bill of materials is desirable. 
     SUMMARY 
     A system and method of synchronizing recipes and bills of materials (BOM) is disclosed. An approved recipe is parameterized in a planning interface. A BOM is synchronized with the parameterized recipe. The BOM is then displayed in a graphical user interface to allow a user to modify by a resolve conflict present during synchronization. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one. 
         FIG. 1  is a block diagram of a system of one embodiment of the invention. 
         FIG. 2  is a flow diagram of operation in one embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  is a block diagram of a system of one embodiment of the invention. A processor  102  is coupled to a persistent storage  104  and a display  106 . Persistent storage unit  104 , which may be a database, includes a recipe repository  112  and a bill of materials (BOM) repository  114 . In one embodiment, bills of materials in the repository include a link to the corresponding recipe(s) and a synchronization flag. The recipes have a link to associated BOMs such that responsive to a recipe change being committed to the recipe repository  112  all associate BOM are flagged as out of synchronization. This insures that manufacturing is using a most current recipe as the BOM must be flagged synchronized before manufacturing can commence. 
     Processor  102  includes a planning interface  118  that may be used to parameterize a recipe from recipe repository  112 . In some embodiments, parameterizing recipe may include associating the recipe with a production facility, such as a plant. Production facility specific manufacturing values may be propagated through the recipe. For example, if the plant has the capacity to make batches of the recipe one ton at a time, the batch size may dictate, for example, scale factor for the recipe. Planning interface  118  also permits selection between alternative materials as part of the parameterization. The parameterized recipe may be passed to the synchronization module  116  executing on the processor which will permit synchronization of a BOM based on the source parameterized recipe. The parameterization may be stored in the persistent storage  104  and automatically applied when subsequent recipe changes are sent for synchronization. Generally, synchronization module  116  creates an intermediate structure for BOM and compares it to a target BOM from BOM repository  114  to evaluate if conflicts exist. 
     Graphical user interface (GUI) generator  120  causes display  106  to display an intermediate representation of the BOM  130  as well as a conflicts list  132 , which may include proposals for resolutions of the conflicts. For example, if a change in Ingredient, as a result, for example, a reformulation in research and development occurs, a comparison of the BOM corresponding to the change recipe with the BOM corresponding to the previously unchanged recipe may yield a quantity conflict indicating that the quantity of Ingredient, (in the target) differs from the source, e.g., the changed recipe. The proposed resolution then may be to accept the quantity of the source as the value in the newly synchronized BOM. A user may accept the proposal by, for example, clicking on a soft button associated with the proposal. Alternatively, the user may reject the proposal and provide their own solution. In some embodiments, the system may retain an accepted resolution and apply that resolution in the event of a subsequent recipe change (either automatically or subject to user approval depending on system settings). 
     Some recipes may be multi-level. For example, a cake may be thought of in some cases as having three sub-recipes: the cake, icing and possibly some filling. Often, production facilities require a single BOM for a finished product. To facilitate the synchronization of multi-level recipes, synchronization module may include a flattener  134 , which aggregates the multiple levels of a recipe into a single flat BOM presentation. In other embodiments, the synchronization module  116  may move through the levels of the recipe iteratively synchronizing each level to its own BOM. For example, a recipe may include sub recipes that are distinct recipes for e.g. an ingredient of the main recipe. In some embodiments, the ingredient recipes will first be synchronized each to their own BOM and then the Parent recipe (that uses the ingredient may then be synchronized to its BOM. 
       FIG. 2  is a flow diagram of operation in one embodiment of the invention. At block  202 , a recipe is released to manufacturing. After release, either development can push the recipe synchronization or manufacturing may be simply notified of the release for example via a work flow and then can pull the recipe into the BOM. Both push and pull mode follow the same flow described below with the difference being which department is driving the synchronization. At block  204 , the recipe is parameterized for synchronization to a BOM. A determination is made at decision block  206  whether the recipe is multi-level. If the recipe is multi-level in some embodiments the recipe is flattened at block  208 . In other embodiments, rather than flattening the recipe, the system iteratively synchronizes the recipe from the bottom level up and creates a distinct BOM for each level. This constitutes a level by level application of blocks  212 - 222  described below. 
     At block  212 , the recipe is synchronized to a BOM. Then a comparison is performed with a BOM existing for the product at block  214 . A determination is made at block  216  whether any conflicts exist. In the case of a new recipe, no conflicts are likely to exist since there is no preexisting BOM to be in conflict. However, if conflicts exist, a list of conflicts is generated at block  218 . In one embodiment, some conflicts may be automatically resolved based on how such conflicts were handled in prior synchronizations. In other embodiments, the conflict list and proposals for conflict resolution are presented to a user on an electronic display. At block  220 , the conflicts are resolved. This may either take the form of automatic resolution as mentioned above, or user selection of possible resolutions for the conflict. Once all conflicts are resolved at block  220 , the synchronized BOM may be released for manufacturing. 
     At block  224 , a determination is made whether there has been a change in the recipe associated with the previously synchronized BOM. As long as no recipe change occurs, no further synchronization of that BOM is required. However, in the event a recipe change occurs, the BOM is flagged as out of synchronization. Then the change recipe is released to manufacturing in block  202  and the change recipe may be synchronized through the system. 
     While embodiments of the invention are discussed above in the context of flow diagrams reflecting a particular linear order, this is for convenience only. In some cases, various operations may be performed in a different order than shown or various operations may occur in parallel. It should also be recognized that some operations described with respect to one embodiment may be advantageously incorporated into another embodiment. Such incorporation is expressly contemplated. 
     Elements of embodiments of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, flash memory, optical disks, compact disks read only memory (CD-ROM), digital versatile/video disks (DVD) ROM, random access memory (RAM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic or optical cards. 
     In the foregoing specification, the invention has been described with reference to the specific embodiments thereof. It will, however, be evident that various modifications and changes can be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.