WO2022132040A1 - Systems for ai-driven creation of bill of materials - Google Patents

Systems for ai-driven creation of bill of materials Download PDF

Info

Publication number
WO2022132040A1
WO2022132040A1 PCT/SG2021/050764 SG2021050764W WO2022132040A1 WO 2022132040 A1 WO2022132040 A1 WO 2022132040A1 SG 2021050764 W SG2021050764 W SG 2021050764W WO 2022132040 A1 WO2022132040 A1 WO 2022132040A1
Authority
WO
WIPO (PCT)
Prior art keywords
supplier
parts
specifications
list
machine learning
Prior art date
Application number
PCT/SG2021/050764
Other languages
French (fr)
Inventor
Satish Kumar PANDA
Kevin Leung
Ila MITTAL
Keng Sim LEE
Original Assignee
National University Of Singapore
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University Of Singapore filed Critical National University Of Singapore
Publication of WO2022132040A1 publication Critical patent/WO2022132040A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Definitions

  • the present invention relates, in general terms, to systems and methods for producing a curated bill of materials (BOM).
  • BOM bill of materials
  • the present invention relates to the Al-driven creation of BOMs.
  • the product development life cycle is a complicated process that involves various stages including prototype conceptualization, Computer-Aided Design (CAD) model development, bill of material (BOM) creation, BOM curation, resource investigation, supplier selection, and part procurement. This is a labour intensive and time-consuming process.
  • CAD Computer-Aided Design
  • BOM bill of material
  • a system for producing a curated bill of materials comprising: memory; and at least one processor (processor(s)), wherein the memory stores instructions that, when executed by the processor(s), cause the processor(s) to: receive a list of specifications; apply a part search machine learning model to the list to determine a part identifier(s) for one or more known parts (known part(s)) corresponding to the list; produce a parts recommendation comprising the part identifier(s) and fulfilling the specifications; apply a supplier matching machine learning model to the parts recommendation to identify one or more suppliers (supplier(s)) for supplying the known part(s); generate a price estimate based on the supplier(s) and parts recommendation; and output the curated BOM comprising the price estimate and based on the parts recommendation.
  • processor(s) processor
  • Outputting the curated BOM may comprise outputting the price estimate and based on the parts recommendation comprises output the curated BOM comprising the price estimate and the supplier(s) based on the parts recommendation.
  • the processor(s) may be configured to: apply the part search machine learning model to identify one or more specifications that are not fulfilled by the known part(s) (unfulfilled specification(s)); and apply the supplier matching machine learning model to consult supplier parts lists to identify one or more part identifier(s) of new parts (new part(s)) corresponding to the unfulfilled specification(s).
  • the parts recommendation may further comprise the part identifier(s) of the new part(s).
  • the processor(s) may be further configured to: add the part identifier(s) of the new part(s) to a database of all known parts, said all known parts comprising the known part(s); re-apply the part search machine learning model to the list to determine a part number for one or more updated known parts corresponding to the list; update the known part(s) based on the one or more updated known parts.
  • the processor(s) may be further configured to receive an application for the specifications, and wherein applying or re-applying the part search machine learning model to the list comprises applying or re-applying the part search machine learning model to the list and the application.
  • the processor(s) may be further configured to receive one or more user preferences and wherein applying or re-applying the part search machine learning model to the list comprises applying or re-applying the part search machine learning model to the list and the one or more user preferences.
  • the part search machine learning model may be configured to identify one or more specifications that are missing from the list of specifications and to (missing specification(s)): identify at least one of one or more parts and one or more specifications (addition(s)) based on the missing specification(s); update the list of specifications based on the addition(s); and determine a part identifier for one or more known parts or updated known parts corresponding to the updated list of specifications.
  • the part search machine learning model may be configured to identify the addition(s) by consulting an historical purchase database to identify one or more previous purchases comprising the specifications and identify the addition(s) based on the one or more previous purchases.
  • the list of specifications may comprise one or more project specifications.
  • the processor(s) may be configured to generate a price estimate based on the supplier(s) and the parts recommendation by: obtaining one or more quotes from the supplier(s); and applying a supplier selection machine learning model to the one or more quotes to select a particular supplier for each part in the parts recommendation (selected supplier(s)); and formulate the BOM based on the selected supplier(s).
  • the processor(s) may be configured to obtain the one or more quotes by using a communication network of an auxiliary block to: produce a request for quote (RFQ) for each supplier of said supplier(s); send each RFQ to the respective supplier; and receive a quote from each supplier corresponding to the respective RFQ.
  • RFQ request for quote
  • the supplier selection machine learning model may select suppliers by obtaining multiple quotes for each at least one part in the part recommendation, and comparing the multiple quotes.
  • the processor(s) of the system may be further configured to: receive confirmation of final supplier(s) based on the curated BOM; and generate at least one of: a purchase order for each supplier of the final supplier(s); an agreement for execution by a user and each supplier of the final supplier(s); and send the at least one of the purchase order and the agreement to each respective supplier.
  • the processor(s) of the system may be configured to receive a list of specifications by: accessing a design file; and generating the list of specifications from the design file.
  • the processor(s) of the system may be configured to access the design file by interfacing with design software to extract specifications for the list of specifications during designing using the design software.
  • the processor(s) of the system may be configured to display a price estimate for a design during a design phase in the design software.
  • the design file may be a computer aided design (CAD) file.
  • BOM curated bill of materials
  • the invention also provides a computer readable medium comprising computer program code that, when executed by a processor of a computer system, cause the computer system to behave according to the system of the embodiments, or to perform the method of the embodiments.
  • some embodiments include various Al networks and auxiliary functions to streamline the process of curation of BOMs starting from BOM processing to supplier selection.
  • the Al networks can include dynamic networks that adapt themselves at different stages according to the requirements of users and learn from the interactions of the system with the user.
  • the system may categorize similar items used in a design into the same product groups - e.g. logically group products for separate supplier quotation or ordering.
  • the machine learning models of the system may automatically learn about any new items or parts on which they have not yet been trained, and store the new items or parts in a database.
  • machine learning models of some embodiment of the system may recommend a part number and supplier for each item in a list depending on the user’s historical data and preferences.
  • the machine learning models of the system may match each item in a product group to a unique/multiple supplier(s).
  • the machine learning models of the system may split a BOM into multiple quotes customized for each supplier.
  • the machine learning models of the system may send notifications/emails to each supplier and request them to provide quotations.
  • the system may also monitor the deadline of each quote and send notifications associated with the quotes flagging the deadline.
  • the machine learning models of the system may automatically collect information from the quotes obtained from suppliers and curate them for further processing.
  • the machine learning models of the system may process quotes depending on selection criteria and suggest the best suppliers for each item in a BOM.
  • the system may also learn from user amendments to the proposed BOM, to optimize the machine learning models to propose a BOM that requires less amendments in the next iteration or subsequent usage of the system.
  • the selection criteria can ultimately become customized based on user preferences.
  • Figure 1 is a block diagram of a part of a system for producing a curated BOM
  • Figure 2 is a block diagram of a part of a system for producing a curated BOM
  • Figure 3 schematically illustrates a computer system for performing the methods disclosed herein; and
  • Figure 4 is a flowchart of a method for producing a curated BOM performed by the system of Figure 3.
  • the present disclosure provides systems and methods for producing a curated BOM.
  • the systems integrate various machine learning models or Al networks and associated supporting functions to assist the product development process from BOM curation to supplier selection.
  • the machine learning models of the systems include a part search machine learning model and a supplier matching machine learning model to perform steps in the production of a curated BOM.
  • the systems and methods of the invention may be integrated with existing CAD software tools as a plugin within the tools.
  • the system may analyse the schematic/CAD model and decompose it to provide part level information based on the schematic/CAD model.
  • the system may generate quick price information associated with a product as it is being designed.
  • the systems may also store a record of various design iterations associated with the product and the relevant curated BOM for each design iteration.
  • the system and methods disclosed herein provide an efficient system and method for the curation of BOM to improve the efficiency of research and product development processes.
  • Designers need to provide to the system a list of components of their product with the corresponding specifications.
  • the system then scans for the specification, converts the unstructured information to a structured format and then recommends part numbers for each item in the list.
  • the system may also generate a quick price estimate of the BOM, and also monitors the BOM revisions to identify the best BOM for a product.
  • FIG. 1 is a block diagram of a part of a system 100 for producing a curated BOM.
  • System 100 comprises a core block or machine learning module 110.
  • the machine learning module 110 comprises Al for intelligent part search 112 (part search machine learning model), Al for part- supplier matching/searching 114 (part of a supplier matching machine learning model), and Al for best supplier selection 116 (part of a supplier matching machine learning model).
  • System 100 also comprises an auxiliary block or module 120 that supports the machine learning module 110.
  • the Auxiliary block 120 contains a Document Automation module 122 and Communication Network 124.
  • the system 100 may be triggered to produce a curated BOM in response to a user input 130.
  • That input 130 can be a raw or draft BOM 134 along with additional information 132.
  • the additional information 132 may include a project deadline, quality requirements, delivery terms and conditions, historical data relating to parts selected by the user, a field of application associated with the product etc.
  • Network 112 may also be referred to as a part search machine learning model.
  • Network 112 is trained to identify electronics components from their name and/or specification.
  • Network 112 uses an unsupervised machine learning approach, e.g., Uniform Manifold Approximation and Projection (UMAP).
  • UMAP Uniform Manifold Approximation and Projection
  • Network 112 is trained on a huge dataset of electronic items with corresponding specifications.
  • UMAP reduces these multi-dimensional specification data into a low dimensional space by finding correlations between them. It also clusters them as per their field of application. Therefore, when a user provides input about the field of application, the UMAP network of network 112 matches that field with the most relevant field and recommends a part number or numbers.
  • Network 112 also uses a neural collaborative filtering technique and suggests alternative parts to the user. It uses the specifications provided by the user for a part and also utilizes the historical purchase records of the user to recommend alternative parts.
  • the network 100 takes a raw BOM as input and arranges different quotes for different items or different categories of items in the list.
  • a BOM may contain multiple items that cannot be procured from a single supplier.
  • block or network 112 identifies, for example, part numbers, descriptors or other characteristics by which a part can be identified.
  • the core block 110 of system 100 may also comprise an Al network for item categorization 118.
  • Network 118 comprises multiple layers.
  • the first layer of network 118 may be a word to vector embedding layer that converts a string into a vector that can be recognized and processed by a computer.
  • the string may correspond to item information received as part of input 130 from a user.
  • Network 118 employs a series of Multilayer perceptron (MLP) layers to identify features in the vector.
  • Network 118 may also comprise a Long Short-Term Memory (LSTM) layer and a few MLP layers for multi-class classification.
  • LSTM Long Short-Term Memory
  • Characterising the items enables quotes to be generated for the parts thus characterised. It is expected, however, that the network 112 will not know all parts it encounters in all instances. This is particularly the case new technologies, the parts for which are either entirely new or can change very rapidly. To accommodate this the network 112 learns about the new items that it encounters for the first time. In response to identifying a new item, the system optimizes its weights to account for the new item - i.e. the new item becomes known to, or identifiable by, the system and thus ultimately becomes a known item.
  • network 112 facilitates the split of the raw BOM 134 into multiple subgroups while keeping similar products in similar product category groups. Each group is therefore likely to include related products that can be supplied by an individual supplier or group of suppliers. Accordingly, the network 112 identifies the parts.
  • the BOM splitting block 140 then splits the raw BOM into multiple, quotable groups.
  • the BOM splitting block 140 may receive information from the quote creation block 150 to determine how to split the BOM, may split the BOM based on common keywords in specifications or based on previous quotes.
  • the quote creation block 150 uses the groups supplied by block 140 to generate a plurality of quotes or requests for quotes, each request for a quote being associated with a subgroup or category of BOM parts identified by the network 112. At this stage the quotes do not specify a supplier.
  • the Al for Part-Supplier matching network 114 processes the quotes and suggests the best supplier(s) for each item in the quotes.
  • Network 114 may be a part of a supplier selection machine learning model.
  • Network 114 implements a neural collaborative filtering technique for the matching process.
  • Network 114 comprises two sparse vectors, one represents the parts, and the other represents suppliers. It then uses embedding layers within network 114 to obtain latent vectors.
  • the latent vectors allow loss function minimization and supplier selection.
  • the raw BOM 134 may comprise an incomplete or a partial list of specifications/attributes of items. However, networks 112 and 114 still match partially specified items based on records in a master database accessible to system 100.
  • the master database may comprise a historical purchase database associated with past purchases of a user.
  • Networks 112 and 114 may access to the master database and populate or predict missing parts or attributes of a partially specified specification. System 100 may also prompt the user to either verify the missing or partially specified specifications or to accept the suggested specifications.
  • Network 114 accesses the master database and retrieves historical supplier data relating to the user requesting curation of a BOM. Network 114 may subsequently widen its search and include other curated supplier databases. After performing an analysis of relevant suppliers, network 114 populates the quotes in the quote creation block 150 with the identified matching suppliers and makes the quotes available for the next stage.
  • Supplier selection block or module 180 selects suppliers for each quote based on the input from the part supplier matching/searching network 114. Additional user information may be provided here, such as tweaking of the quotes based on desired suppliers, parts or other bases.
  • the supplier selection block 180 may also send the quotes for quoting by suppliers 160.
  • the system 100 includes auxiliary block 120.
  • Auxiliary block 120 has a document automation network 122 and a communication network 124.
  • the document automation network 122 comprises a helper function that generates customized quote documents (in different formats like .pdf or.html) for each supplier.
  • the document automation network 122 also performs document creation associated with the information in several kinds of communication that occur between the user(s) and suppliers - for example, creating content for the body of an email or cover letter for a fax.
  • the communication network 124 helps to register and/or track the process of BOM curation. It communicates with the user(s) and suppliers and maintains or creates a record of the communication. Once the quotes are ready, the communication network 124 sends email (or other - e.g. fax, postal mail) notifications to the corresponding suppliers and requests them to fill in one or more fields associated with the quotes or items identified in the quotes. It also monitors any deadlines associated with the quotes and notifies the suppliers accordingly. The communication network 124 also consolidates the responses from suppliers.
  • the Auxiliary block 120 coordinates the entire or a part of the method of curation of BOM starting from requesting suppliers to fill in item information to gathering and consolidating quotes for further processing.
  • Quotes can be sent out by the supplier selection block 180 to suppliers 160 who return quotes for various items. Quotes once received (and, in some cases, stored) at quote receiving block 195 are then processed by the "Al for Supplier Selection" network 116.
  • Network 116 may also be referred to or be part of a supplier selection machine learning model.
  • Network 116 comprises a set of one or more selection criteria and corresponding weights, for selecting suppliers based on their quotes. The selection criteria are used for supplier score calculation. The user can specify his/her selection criteria and can customize the selection process as executed by the network 116. The user has also the option to agree or disagree with the network suggested suppliers.
  • Results regarding the selection of a preferred or best supplier for a quote or a part may be stored in a best supplier block 190, and can use these results in calculating supplier scores.
  • Network 116 calculates weighted average scores for each supplier and picks the supplier with the highest score as the preferred one.
  • Network 116 then deploys a few MLP layers to optimize its weights.
  • network 116 initiates a retraining and optimization process to adapt the supplier selection process to the user preferences.
  • the document automation network 122 starts to consolidate or curate the BOM and provides the user with a curated BOM with preferred suppliers and price and all other information.
  • the document automation network 122 may also generate agreements or purchase orders for further processing of the BOM. This may be done automatically, or on request from a user.
  • Figure 2 illustrates a block diagram of a part of a system 200 for producing a curated BOM.
  • System 200 comprises a core block 200 comprising two Al networks: network 212 being an Al network for part number recommendation (part search machine learning model) and network 214 being an Al network for part supplier matching (supplier matching machine learning model).
  • a user can start the process of curation of a BOM with a single item search 224 or the user can upload a list of items with specifications 222 as part of input 200.
  • Network 212 processes the input 200 and generates part numbers from the specifications 222 of items 224.
  • Network 212 may generate multiple part numbers for a single part as per the standards of different manufacturers.
  • the user may also specify a field of application for the product for which the BOM is being curated.
  • Network 212 may take into account the field of application for the product when generating customized part numbers.
  • Network 212 may then search for the items in a parts database accessible to the system 200 and provide the user with a detailed description of each item and cost as part of output 230.
  • Network 212 may also recommend alternative items and part numbers to the user. If the user agrees with the suggestions of network 212, then the system consolidates all information and forms a curated BOM 232 with part numbers and part prices as part of BOM cost data 234.
  • Networks of the core block 200 enable quick and efficient BOM curation and BOM price estimation.
  • a designer may iterate multiple times during the product development stage.
  • the neural networks of the system can efficiently revise and curate BOMs taking into account the design iterations and user revisions.
  • the system 100 or 200 may be coupled as a plug-in with an existing CAD/designing software to integrate the BOM curation process with the design process.
  • systems according to the embodiments may identify information about the newly added item and recommend a part number for that newly added item.
  • the network for part number recommendation 212 generates recommendations of part numbers.
  • the network for part number recommendation 212 may use an unsupervised machine learning approach, i.e., Uniform Manifold Approximation and Projection (UMAP).
  • UMAP Uniform Manifold Approximation and Projection
  • Network 212 may be trained on a huge dataset of electronic items with corresponding specifications. UMAP reduces these multi-dimensional specification data into a low dimensional space by finding correlations between them. It may also cluster the specification data as per their field of application. When a user provides input about the field of application, the UMAP network of network 212 matches that field with the most relevant field and recommends a part number.
  • Network 212 also uses a neural collaborative filtering technique and suggests alternative parts to the user. Network 212 uses the specifications provided by the user for a part and also utilizes the historical purchase records of the user to recommend alternative parts.
  • Systems 100 or 200 may also comprise program code to decompose a design model file such as a CAD model and provide the user with a detailed analysis of the items used in a product in the design model file.
  • the systems may also enable the generation of a quick price estimate of the product by finding the best/preferred supplier for individual components and using price information associated with the best/preferred supplier for the individual components.
  • systems 100 or 200 may analyze a schematic/CAD model of a circuit board, decompose the model to identify all parts or a subset of parts of the circuit board, and then recommend part numbers and a price or prices for the circuit board.
  • Figure 3 schematically illustrates a computer system 300 for performing the methods disclosed herein.
  • the computer system 300 may incorporate part of or the entire components of the systems 100, 200 of Figures 1 and 2 respectively.
  • Figure 3 Although the components depicted in Figure 3 represent physical components, Figure 3 is not intended to be a hardware diagram. Thus, many of the components depicted in Figure 3 may be realized by virtual components or unitary physical components or distributed among a plurality of physical components. Moreover, it is contemplated that other existing and yet- to-be-developed physical components and architectures may be utilized to implement the functional components described with reference to Figure 3. In addition, while various blocks in Figure 1 have been shown as separate, they may in practice form a single block or a greater number of blocks than those shown, when implemented in software run on the system 300.
  • the display 302 generally operates to provide a presentation of content to a user, and may be realized by any of a variety of displays (e.g., CRT, LCD, HDMI, micro -projector and OLED displays).
  • the non-volatile data storage 304 (also referred to as non-volatile memory) functions to store (e.g., persistently store) data and executable code.
  • the system architecture of Figures 1 or 2 may be implemented in memory 304, or by instructions stored in memory 304 - e.g. memory 304 may be a computer-readable storage medium for storing instructions that, when executed by processor(s) 310 cause the processor(s) 310 to perform the method 400 described with reference to Figure 4.
  • the non-volatile memory 304 may include bootloader code, modem software, operating system code, file system code, and code to facilitate the implementation components or neural networks, known to those of ordinary skill in the art, which are not depicted nor described for simplicity.
  • the non-volatile memory 304 is realized by flash memory (e.g., NAND or ONENAND memory), but it is contemplated that other memory types may be utilized as well. Although it may be possible to execute the code from the non-volatile memory 304, the executable code in the non-volatile memory 304 is typically loaded into RAM 308 and executed by one or more of the N processing components 310.
  • the memory 304 may also store a database comprising a historical purchase database associated with past purchases of users of the system, a database comprising supplier data relating to users of the system, or a database comprising information relating to parts, etc.
  • the memory 304 may also store user preferences, output 170 comprising automatic agreements or BOM consolidation records etc.
  • the N processing components 310 in connection with RAM 308 generally operate to execute the instructions stored in non-volatile memory 304.
  • the N processing components 310 may include a video processor, modem processor, DSP, graphics processing unit (GPU), and other processing components.
  • the transceiver component 312 includes N transceiver chains, which may be used for communicating with external devices via wired or wireless networks.
  • Each of the N transceiver chains may represent a transceiver associated with a particular communication scheme.
  • each transceiver may correspond to protocols that are specific to local area networks, cellular networks (e.g., a CDMA network, a GPRS network, a UMTS networks), and other types of communication networks.
  • the transceiver component 312 may allow the system 300 to communicate with computer systems of one or more supplier computer systems 160 or computer systems of users of the system 300.
  • Non-transitory computer-readable medium 304 includes both computer storage medium and communication medium including any medium that facilitates the transfer of a computer program from one place to another.
  • a storage medium may be any available medium that can be accessed by a computer.
  • Figure 4 is a flowchart of method 400 for producing a curated BOM performed by the system of Figure 3.
  • Method 400 may be initiated by a user by issuing a command to system 300.
  • system 300 receives a list of specifications for initiating the curation of a BOM.
  • the received specifications may include project specifications.
  • project specifications relates to specifications for the project itself such as one or more of the enduser of the equipment that will make use of the parts being identified by the part search machine learning model, the delivery deadline, a budget for the BOM, delivery terms and conditions.
  • System 300 may also or instead receive an application for the specifications as part of step 410.
  • the application for the specification may include data relating to or identifying a field of application to which the received specification relates to.
  • System 300 when applying or re-applying the part search machine learning model to the list may apply or re-apply the part search machine learning model to the list and the application - this means parts newly identified from a previous iteration can be used in the re-application of the model.
  • the term "application” refers to the purpose for which the parts are being acquired - e.g. when the parts are assembled into a system, the purpose to which that system will be put.
  • System 300 as part of step 410 may also receive one or more user preferences 240. When applying or re-applying the part search machine learning model to the list, system 300 may apply or re-apply the part search machine learning model to the list and the one or more user preferences 240.
  • the list of specifications may be received by the system 300 accessing a design file by interfacing with design software to extract specifications for the list of specifications during designing using the design software.
  • the design file may embody the design of a product and may include a CAD design file.
  • System 300 may process a design file received from a user as part of input 130 and generate the list of specifications from the design file.
  • system 300 may scan the received specification, and convert the unstructured information in the received specification to a structured format. Conversion to a structured format simplifies machine learning operations at subsequent steps of method 400.
  • system 300 applies a part search machine learning model to the list of specifications to determine one or more part identifiers for one or more known parts (known part(s)) corresponding to the list of specifications.
  • the part search machine learning model may comprise the Al for intelligent part search network 112.
  • the list of specifications may be itemised into individual parts or components that could potentially form part of the curated BOM.
  • the term "part identifier" refers to the part number, name, description or other information by which a part can be uniquely identified.
  • the part search machine learning model may identify one or more specifications that are not fulfilled by the known part(s) (unfulfilled specification(s)).
  • the supplier matching machine learning model may be executed to consult supplier parts lists to identify one or more part identifier(s) of new parts (new part(s)) corresponding to the unfulfilled specification(s).
  • System 300 may add the part identifier(s) of the new part(s) to a database of all known parts stored in the memory 304. Over repeated iterations of method 400, system 300 progressively expands its database of all known parts.
  • System 300 may re-apply the part search machine learning model (networks 112 or 212) to the list to determine a part number for one or more updated known parts corresponding to the list.
  • System 300 may update the known part(s) based on the one or more updated known parts.
  • the part search machine learning model may be configured to identify one or more specifications that are missing from the list of specifications (missing specification(s)).
  • the part search machine learning model may identify at least one of one or more parts and one or more specifications (addition(s)) based on the missing specification(s) and update the list of specifications based on the addition(s).
  • the part search machine learning model may determine a part identifier for one or more known parts or updated known parts (i.e. a list including previously new parts) corresponding to the updated list of specifications.
  • the part search machine learning model may be configured to identify the addition(s) by consulting a historical purchase database stored in memory 304 to identify one or more previous purchases comprising the specifications and identify the addition(s) based on the one or more previous purchases.
  • system 300 produces a parts recommendation comprising the part identifier(s) and fulfilling the specifications.
  • the phrase "fulfilling the specifications" does not mean that all specifications are met.
  • the parts recommendation may identify specifications that are not fulfilled.
  • the parts recommendation may be generated based on the user's preferences 240 or historical data associated with parts selected by the user. Therefore, fulfilling the specifications may only partially specify a particular product - e.g. for a pipe, the flow rate may be specified by the temperature rating may not - or the specifications may not correspond to a particular product - e.g. a particular pressure rating for a valve may not comply with the size limitations for the valve.
  • system 300 applies a supplier matching machine learning model to the parts recommendation to identify one or more suppliers (supplier(s)) for supplying the known part(s).
  • the supplier matching machine learning model may comprise the Al for Part- Supplier matching network 114 or network 214.
  • the networks 114, 214 match each item in the parts recommendation generated at 430 to one or more than one supplier. To identify one or more suppliers, networks 114, 214 identifies the most suitable suppliers in the user's supplier database. Networks 114, 214 may also access details of suitable suppliers in other third party databases accessible to the system 300.
  • the supplier selection machine learning model may select suppliers by obtaining multiple quotes for each at least one part in the part recommendation and comparing the multiple quotes.
  • system 300 generates a price estimate based on the supplier(s) and parts recommendation determined in steps 430 and 440.
  • the price estimate based on the supplier(s) and the parts recommendation may be generated by: obtaining one or more quotes from the supplier(s); and applying a supplier selection machine learning model (network 116) to the one or more quotes to select a particular supplier for each part in the parts recommendation (selected supplier(s)).
  • the price estimate may also be based off previous quotes or invoices from suppliers, or supplier parts catalogues.
  • the BOM may be formulated based on the selected supplier(s).
  • the system 300 On instruction from a user to proceed with the quoting process, the system 300 obtains one or more quotes by using a communication network of an auxiliary block to 122 to produce a request for quote (RFQ) for each supplier of the said supplier(s).
  • System 300 may send each RFQ to the respective supplier and receive a quote from each supplier corresponding to the respective RFQ.
  • system 300 outputs the curated BOM comprising the price estimate and based on the parts recommendation.
  • the curated BOM may comprise the price estimate and the supplier(s) based on the parts recommendation as identified at step 440.
  • Method 400 may be configured to operate in concert with a design process of a product.
  • the design process may be performed using design software such as CAD design software.
  • the price estimate generated at step 450 may be made available to the design software and may be displayed for a design during a design phase in the design software. Therefore, the methods may provide real-time feedback during a design process to allow a designer to efficiently design a product.
  • Method 400 may further comprise optional steps 470, 480 and 490.
  • system 300 receives confirmation of final supplier(s) based on the curated BOM generated at 460.
  • system 300 generates at least one of a purchase order for each supplier of the final supplier(s); an agreement for execution by a user and each supplier of the final supplier(s).
  • the system sends at least one of the purchase orders and the agreement to each respective supplier.
  • the methods may also be provided on a computer-readable medium comprising computer program code that, when executed by a processor of a computer system (such as the computer system 300), causes the computer system to perform the method 400, the method 100 and others described herein.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

System for producing a curated bill of materials (BOM). The curated BOM is produced by applying a part search machine learning model to a list of specifications to determine part identifiers for one or more known parts, producing a parts recommendation comprising the part identifiers and fulfilling the specifications. A supplier matching machine learning model is applied to the parts recommendation to identify one or more suppliers. A price estimate is generated based on the supplier and parts recommendation and included in the curated BOM.

Description

Systems for Al-driven creation of Bill of Materials
Technical Field
The present invention relates, in general terms, to systems and methods for producing a curated bill of materials (BOM). In particular, the present invention relates to the Al-driven creation of BOMs.
Background
The product development life cycle is a complicated process that involves various stages including prototype conceptualization, Computer-Aided Design (CAD) model development, bill of material (BOM) creation, BOM curation, resource investigation, supplier selection, and part procurement. This is a labour intensive and time-consuming process.
In addition, the product development life cycle planning process often involves multiple design iterations to optimize design parameters, cost or resource use. Modern products, particularly electronic products have become complicated, each product may comprise a large number of parts. Modern manufacturing and supply chains have also exponentially grown, with a large number of suppliers providing components or parts that could be used in a product. The complexity of products and manufacturing and supply options has limited the capability and efficiency of conventional systems for the creation and curation of BOMs.
It would be desirable to overcome or ameliorate at least one of the above-described problems, or at least to provide useful alternative systems or methods for the creation and curation of BOMs.
Summary
Disclosed is a system for producing a curated bill of materials (BOM), comprising: memory; and at least one processor (processor(s)), wherein the memory stores instructions that, when executed by the processor(s), cause the processor(s) to: receive a list of specifications; apply a part search machine learning model to the list to determine a part identifier(s) for one or more known parts (known part(s)) corresponding to the list; produce a parts recommendation comprising the part identifier(s) and fulfilling the specifications; apply a supplier matching machine learning model to the parts recommendation to identify one or more suppliers (supplier(s)) for supplying the known part(s); generate a price estimate based on the supplier(s) and parts recommendation; and output the curated BOM comprising the price estimate and based on the parts recommendation.
Outputting the curated BOM may comprise outputting the price estimate and based on the parts recommendation comprises output the curated BOM comprising the price estimate and the supplier(s) based on the parts recommendation.
The processor(s) may be configured to: apply the part search machine learning model to identify one or more specifications that are not fulfilled by the known part(s) (unfulfilled specification(s)); and apply the supplier matching machine learning model to consult supplier parts lists to identify one or more part identifier(s) of new parts (new part(s)) corresponding to the unfulfilled specification(s).
The parts recommendation may further comprise the part identifier(s) of the new part(s).
The processor(s) may be further configured to: add the part identifier(s) of the new part(s) to a database of all known parts, said all known parts comprising the known part(s); re-apply the part search machine learning model to the list to determine a part number for one or more updated known parts corresponding to the list; update the known part(s) based on the one or more updated known parts.
The processor(s) may be further configured to receive an application for the specifications, and wherein applying or re-applying the part search machine learning model to the list comprises applying or re-applying the part search machine learning model to the list and the application.
The processor(s) may be further configured to receive one or more user preferences and wherein applying or re-applying the part search machine learning model to the list comprises applying or re-applying the part search machine learning model to the list and the one or more user preferences.
The part search machine learning model may be configured to identify one or more specifications that are missing from the list of specifications and to (missing specification(s)): identify at least one of one or more parts and one or more specifications (addition(s)) based on the missing specification(s); update the list of specifications based on the addition(s); and determine a part identifier for one or more known parts or updated known parts corresponding to the updated list of specifications.
The part search machine learning model may be configured to identify the addition(s) by consulting an historical purchase database to identify one or more previous purchases comprising the specifications and identify the addition(s) based on the one or more previous purchases.
The list of specifications may comprise one or more project specifications.
The processor(s) may be configured to generate a price estimate based on the supplier(s) and the parts recommendation by: obtaining one or more quotes from the supplier(s); and applying a supplier selection machine learning model to the one or more quotes to select a particular supplier for each part in the parts recommendation (selected supplier(s)); and formulate the BOM based on the selected supplier(s).
The processor(s) may be configured to obtain the one or more quotes by using a communication network of an auxiliary block to: produce a request for quote (RFQ) for each supplier of said supplier(s); send each RFQ to the respective supplier; and receive a quote from each supplier corresponding to the respective RFQ.
The supplier selection machine learning model may select suppliers by obtaining multiple quotes for each at least one part in the part recommendation, and comparing the multiple quotes.
The processor(s) of the system may be further configured to: receive confirmation of final supplier(s) based on the curated BOM; and generate at least one of: a purchase order for each supplier of the final supplier(s); an agreement for execution by a user and each supplier of the final supplier(s); and send the at least one of the purchase order and the agreement to each respective supplier.
The processor(s) of the system may be configured to receive a list of specifications by: accessing a design file; and generating the list of specifications from the design file.
The processor(s) of the system may be configured to access the design file by interfacing with design software to extract specifications for the list of specifications during designing using the design software. The processor(s) of the system may be configured to display a price estimate for a design during a design phase in the design software. The design file may be a computer aided design (CAD) file.
Also disclosed is a method for producing a curated bill of materials (BOM), comprising: receiving a list of specifications; applying a part search machine learning model to the list to determine a part identifier(s) for one or more known parts (known part(s)) corresponding to the list; producing a parts recommendation comprising the part identifier(s) and fulfilling the specifications; applying a supplier matching machine learning model to the parts recommendation to identify one or more suppliers (supplier(s)) for supplying the known part(s); generating a price estimate based on the supplier(s) and parts recommendation; and outputting the curated BOM comprising the price estimate and based on the parts recommendation.
The invention also provides a computer readable medium comprising computer program code that, when executed by a processor of a computer system, cause the computer system to behave according to the system of the embodiments, or to perform the method of the embodiments.
Advantageously, some embodiments include various Al networks and auxiliary functions to streamline the process of curation of BOMs starting from BOM processing to supplier selection. The Al networks can include dynamic networks that adapt themselves at different stages according to the requirements of users and learn from the interactions of the system with the user.
Advantageously, the system may categorize similar items used in a design into the same product groups - e.g. logically group products for separate supplier quotation or ordering. The machine learning models of the system may automatically learn about any new items or parts on which they have not yet been trained, and store the new items or parts in a database.
Advantageously, machine learning models of some embodiment of the system may recommend a part number and supplier for each item in a list depending on the user’s historical data and preferences. The machine learning models of the system may match each item in a product group to a unique/multiple supplier(s). The machine learning models of the system may split a BOM into multiple quotes customized for each supplier. The machine learning models of the system may send notifications/emails to each supplier and request them to provide quotations.
Advantageously, the system may also monitor the deadline of each quote and send notifications associated with the quotes flagging the deadline. The machine learning models of the system may automatically collect information from the quotes obtained from suppliers and curate them for further processing. The machine learning models of the system may process quotes depending on selection criteria and suggest the best suppliers for each item in a BOM. The system may also learn from user amendments to the proposed BOM, to optimize the machine learning models to propose a BOM that requires less amendments in the next iteration or subsequent usage of the system. Thus, the selection criteria can ultimately become customized based on user preferences.
Brief description of the drawings
Embodiments of the present invention will now be described, by way of non-limiting example, with reference to the drawings in which:
Figure 1 is a block diagram of a part of a system for producing a curated BOM;
Figure 2 is a block diagram of a part of a system for producing a curated BOM;
Figure 3 schematically illustrates a computer system for performing the methods disclosed herein; and Figure 4 is a flowchart of a method for producing a curated BOM performed by the system of Figure 3.
Detailed description
The present disclosure provides systems and methods for producing a curated BOM. The systems integrate various machine learning models or Al networks and associated supporting functions to assist the product development process from BOM curation to supplier selection. The machine learning models of the systems include a part search machine learning model and a supplier matching machine learning model to perform steps in the production of a curated BOM.
The systems and methods of the invention may be integrated with existing CAD software tools as a plugin within the tools. The system may analyse the schematic/CAD model and decompose it to provide part level information based on the schematic/CAD model. The system may generate quick price information associated with a product as it is being designed. The systems may also store a record of various design iterations associated with the product and the relevant curated BOM for each design iteration.
The system and methods disclosed herein provide an efficient system and method for the curation of BOM to improve the efficiency of research and product development processes.
Designers need to provide to the system a list of components of their product with the corresponding specifications. The system then scans for the specification, converts the unstructured information to a structured format and then recommends part numbers for each item in the list. The system may also generate a quick price estimate of the BOM, and also monitors the BOM revisions to identify the best BOM for a product.
Figure 1 is a block diagram of a part of a system 100 for producing a curated BOM. System 100 comprises a core block or machine learning module 110. The machine learning module 110 comprises Al for intelligent part search 112 (part search machine learning model), Al for part- supplier matching/searching 114 (part of a supplier matching machine learning model), and Al for best supplier selection 116 (part of a supplier matching machine learning model). System 100 also comprises an auxiliary block or module 120 that supports the machine learning module 110. The Auxiliary block 120 contains a Document Automation module 122 and Communication Network 124.
The system 100 may be triggered to produce a curated BOM in response to a user input 130. That input 130 can be a raw or draft BOM 134 along with additional information 132. The additional information 132 may include a project deadline, quality requirements, delivery terms and conditions, historical data relating to parts selected by the user, a field of application associated with the product etc.
The user inputs 130 are then processed by the Al for intelligent part search network 112. Network 112 may also be referred to as a part search machine learning model. Network 112 is trained to identify electronics components from their name and/or specification. Network 112 uses an unsupervised machine learning approach, e.g., Uniform Manifold Approximation and Projection (UMAP). Network 112 is trained on a huge dataset of electronic items with corresponding specifications. UMAP reduces these multi-dimensional specification data into a low dimensional space by finding correlations between them. It also clusters them as per their field of application. Therefore, when a user provides input about the field of application, the UMAP network of network 112 matches that field with the most relevant field and recommends a part number or numbers. Network 112 also uses a neural collaborative filtering technique and suggests alternative parts to the user. It uses the specifications provided by the user for a part and also utilizes the historical purchase records of the user to recommend alternative parts.
The network 100 takes a raw BOM as input and arranges different quotes for different items or different categories of items in the list. A BOM may contain multiple items that cannot be procured from a single supplier. When conducting the parts search, block or network 112 identifies, for example, part numbers, descriptors or other characteristics by which a part can be identified.
The core block 110 of system 100 may also comprise an Al network for item categorization 118. Network 118 comprises multiple layers. The first layer of network 118 may be a word to vector embedding layer that converts a string into a vector that can be recognized and processed by a computer. The string may correspond to item information received as part of input 130 from a user. Network 118 employs a series of Multilayer perceptron (MLP) layers to identify features in the vector. Network 118 may also comprise a Long Short-Term Memory (LSTM) layer and a few MLP layers for multi-class classification.
Characterising the items enables quotes to be generated for the parts thus characterised. It is expected, however, that the network 112 will not know all parts it encounters in all instances. This is particularly the case new technologies, the parts for which are either entirely new or can change very rapidly. To accommodate this the network 112 learns about the new items that it encounters for the first time. In response to identifying a new item, the system optimizes its weights to account for the new item - i.e. the new item becomes known to, or identifiable by, the system and thus ultimately becomes a known item.
By identifying parts, network 112 facilitates the split of the raw BOM 134 into multiple subgroups while keeping similar products in similar product category groups. Each group is therefore likely to include related products that can be supplied by an individual supplier or group of suppliers. Accordingly, the network 112 identifies the parts. The BOM splitting block 140 then splits the raw BOM into multiple, quotable groups. The BOM splitting block 140 may receive information from the quote creation block 150 to determine how to split the BOM, may split the BOM based on common keywords in specifications or based on previous quotes. The quote creation block 150 then uses the groups supplied by block 140 to generate a plurality of quotes or requests for quotes, each request for a quote being associated with a subgroup or category of BOM parts identified by the network 112. At this stage the quotes do not specify a supplier.
Once the quotes are available for a BOM, the Al for Part-Supplier matching network 114 processes the quotes and suggests the best supplier(s) for each item in the quotes. Network 114 may be a part of a supplier selection machine learning model. Network 114 implements a neural collaborative filtering technique for the matching process. Network 114 comprises two sparse vectors, one represents the parts, and the other represents suppliers. It then uses embedding layers within network 114 to obtain latent vectors. The latent vectors allow loss function minimization and supplier selection. The raw BOM 134 may comprise an incomplete or a partial list of specifications/attributes of items. However, networks 112 and 114 still match partially specified items based on records in a master database accessible to system 100. The master database may comprise a historical purchase database associated with past purchases of a user.
Networks 112 and 114 may access to the master database and populate or predict missing parts or attributes of a partially specified specification. System 100 may also prompt the user to either verify the missing or partially specified specifications or to accept the suggested specifications. Network 114 accesses the master database and retrieves historical supplier data relating to the user requesting curation of a BOM. Network 114 may subsequently widen its search and include other curated supplier databases. After performing an analysis of relevant suppliers, network 114 populates the quotes in the quote creation block 150 with the identified matching suppliers and makes the quotes available for the next stage.
Supplier selection block or module 180 then selects suppliers for each quote based on the input from the part supplier matching/searching network 114. Additional user information may be provided here, such as tweaking of the quotes based on desired suppliers, parts or other bases. The supplier selection block 180 may also send the quotes for quoting by suppliers 160.
To generate and/or manage documentation for quoting, agreements and the like, the system 100 includes auxiliary block 120. Auxiliary block 120 has a document automation network 122 and a communication network 124. The document automation network 122 comprises a helper function that generates customized quote documents (in different formats like .pdf or.html) for each supplier. The document automation network 122 also performs document creation associated with the information in several kinds of communication that occur between the user(s) and suppliers - for example, creating content for the body of an email or cover letter for a fax.
The communication network 124 helps to register and/or track the process of BOM curation. It communicates with the user(s) and suppliers and maintains or creates a record of the communication. Once the quotes are ready, the communication network 124 sends email (or other - e.g. fax, postal mail) notifications to the corresponding suppliers and requests them to fill in one or more fields associated with the quotes or items identified in the quotes. It also monitors any deadlines associated with the quotes and notifies the suppliers accordingly. The communication network 124 also consolidates the responses from suppliers. The Auxiliary block 120 coordinates the entire or a part of the method of curation of BOM starting from requesting suppliers to fill in item information to gathering and consolidating quotes for further processing.
Quotes can be sent out by the supplier selection block 180 to suppliers 160 who return quotes for various items. Quotes once received (and, in some cases, stored) at quote receiving block 195 are then processed by the "Al for Supplier Selection" network 116. Network 116 may also be referred to or be part of a supplier selection machine learning model. Network 116 comprises a set of one or more selection criteria and corresponding weights, for selecting suppliers based on their quotes. The selection criteria are used for supplier score calculation. The user can specify his/her selection criteria and can customize the selection process as executed by the network 116. The user has also the option to agree or disagree with the network suggested suppliers. Results regarding the selection of a preferred or best supplier for a quote or a part may be stored in a best supplier block 190, and can use these results in calculating supplier scores. Network 116 calculates weighted average scores for each supplier and picks the supplier with the highest score as the preferred one. Network 116 then deploys a few MLP layers to optimize its weights. In response to a user disagreeing or discarding a prediction or recommendation generated by network 116, network 116 initiates a retraining and optimization process to adapt the supplier selection process to the user preferences.
Once the preferred supplier selection process executed by network 116 is completed, the document automation network 122 starts to consolidate or curate the BOM and provides the user with a curated BOM with preferred suppliers and price and all other information. The document automation network 122 may also generate agreements or purchase orders for further processing of the BOM. This may be done automatically, or on request from a user.
Figure 2 illustrates a block diagram of a part of a system 200 for producing a curated BOM. System 200 comprises a core block 200 comprising two Al networks: network 212 being an Al network for part number recommendation (part search machine learning model) and network 214 being an Al network for part supplier matching (supplier matching machine learning model).
A user can start the process of curation of a BOM with a single item search 224 or the user can upload a list of items with specifications 222 as part of input 200. Network 212 processes the input 200 and generates part numbers from the specifications 222 of items 224. Network 212 may generate multiple part numbers for a single part as per the standards of different manufacturers. The user may also specify a field of application for the product for which the BOM is being curated. Network 212 may take into account the field of application for the product when generating customized part numbers. Network 212 may then search for the items in a parts database accessible to the system 200 and provide the user with a detailed description of each item and cost as part of output 230. Network 212 may also recommend alternative items and part numbers to the user. If the user agrees with the suggestions of network 212, then the system consolidates all information and forms a curated BOM 232 with part numbers and part prices as part of BOM cost data 234.
Networks of the core block 200 enable quick and efficient BOM curation and BOM price estimation. A designer may iterate multiple times during the product development stage. During the iterative process, the neural networks of the system can efficiently revise and curate BOMs taking into account the design iterations and user revisions.
The system 100 or 200 may be coupled as a plug-in with an existing CAD/designing software to integrate the BOM curation process with the design process. During the design stage, as the user keeps on adding components one by one to his/her product, systems according to the embodiments may identify information about the newly added item and recommend a part number for that newly added item. The network for part number recommendation 212 generates recommendations of part numbers.
The network for part number recommendation 212 may use an unsupervised machine learning approach, i.e., Uniform Manifold Approximation and Projection (UMAP). Network 212 may be trained on a huge dataset of electronic items with corresponding specifications. UMAP reduces these multi-dimensional specification data into a low dimensional space by finding correlations between them. It may also cluster the specification data as per their field of application. When a user provides input about the field of application, the UMAP network of network 212 matches that field with the most relevant field and recommends a part number. Network 212 also uses a neural collaborative filtering technique and suggests alternative parts to the user. Network 212 uses the specifications provided by the user for a part and also utilizes the historical purchase records of the user to recommend alternative parts.
Systems 100 or 200 may also comprise program code to decompose a design model file such as a CAD model and provide the user with a detailed analysis of the items used in a product in the design model file. The systems may also enable the generation of a quick price estimate of the product by finding the best/preferred supplier for individual components and using price information associated with the best/preferred supplier for the individual components. In some embodiments, systems 100 or 200 may analyze a schematic/CAD model of a circuit board, decompose the model to identify all parts or a subset of parts of the circuit board, and then recommend part numbers and a price or prices for the circuit board.
Figure 3 schematically illustrates a computer system 300 for performing the methods disclosed herein. The computer system 300 may incorporate part of or the entire components of the systems 100, 200 of Figures 1 and 2 respectively.
Although the components depicted in Figure 3 represent physical components, Figure 3 is not intended to be a hardware diagram. Thus, many of the components depicted in Figure 3 may be realized by virtual components or unitary physical components or distributed among a plurality of physical components. Moreover, it is contemplated that other existing and yet- to-be-developed physical components and architectures may be utilized to implement the functional components described with reference to Figure 3. In addition, while various blocks in Figure 1 have been shown as separate, they may in practice form a single block or a greater number of blocks than those shown, when implemented in software run on the system 300.
The display 302 generally operates to provide a presentation of content to a user, and may be realized by any of a variety of displays (e.g., CRT, LCD, HDMI, micro -projector and OLED displays). In general, the non-volatile data storage 304 (also referred to as non-volatile memory) functions to store (e.g., persistently store) data and executable code. The system architecture of Figures 1 or 2 may be implemented in memory 304, or by instructions stored in memory 304 - e.g. memory 304 may be a computer-readable storage medium for storing instructions that, when executed by processor(s) 310 cause the processor(s) 310 to perform the method 400 described with reference to Figure 4.
The non-volatile memory 304 may include bootloader code, modem software, operating system code, file system code, and code to facilitate the implementation components or neural networks, known to those of ordinary skill in the art, which are not depicted nor described for simplicity.
In many implementations, the non-volatile memory 304 is realized by flash memory (e.g., NAND or ONENAND memory), but it is contemplated that other memory types may be utilized as well. Although it may be possible to execute the code from the non-volatile memory 304, the executable code in the non-volatile memory 304 is typically loaded into RAM 308 and executed by one or more of the N processing components 310. The memory 304 may also store a database comprising a historical purchase database associated with past purchases of users of the system, a database comprising supplier data relating to users of the system, or a database comprising information relating to parts, etc. The memory 304 may also store user preferences, output 170 comprising automatic agreements or BOM consolidation records etc.
The N processing components 310 in connection with RAM 308 generally operate to execute the instructions stored in non-volatile memory 304. As one of ordinarily skill in the art will appreciate, the N processing components 310 may include a video processor, modem processor, DSP, graphics processing unit (GPU), and other processing components.
The transceiver component 312 includes N transceiver chains, which may be used for communicating with external devices via wired or wireless networks. Each of the N transceiver chains may represent a transceiver associated with a particular communication scheme. For example, each transceiver may correspond to protocols that are specific to local area networks, cellular networks (e.g., a CDMA network, a GPRS network, a UMTS networks), and other types of communication networks. The transceiver component 312 may allow the system 300 to communicate with computer systems of one or more supplier computer systems 160 or computer systems of users of the system 300.
It should be recognized that Figure 3 is merely exemplary and in one or more exemplary embodiments, the functions described herein may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code encoded on a non-transitory computer-readable medium 304. Non-transitory computer-readable medium 304 includes both computer storage medium and communication medium including any medium that facilitates the transfer of a computer program from one place to another. A storage medium may be any available medium that can be accessed by a computer.
Figure 4 is a flowchart of method 400 for producing a curated BOM performed by the system of Figure 3. Method 400 may be initiated by a user by issuing a command to system 300.
A step 410, system 300 receives a list of specifications for initiating the curation of a BOM. The received specifications may include project specifications. The term "project specifications" relates to specifications for the project itself such as one or more of the enduser of the equipment that will make use of the parts being identified by the part search machine learning model, the delivery deadline, a budget for the BOM, delivery terms and conditions.
System 300 may also or instead receive an application for the specifications as part of step 410. The application for the specification may include data relating to or identifying a field of application to which the received specification relates to. System 300 when applying or re-applying the part search machine learning model to the list may apply or re-apply the part search machine learning model to the list and the application - this means parts newly identified from a previous iteration can be used in the re-application of the model. The term "application" refers to the purpose for which the parts are being acquired - e.g. when the parts are assembled into a system, the purpose to which that system will be put. System 300 as part of step 410 may also receive one or more user preferences 240. When applying or re-applying the part search machine learning model to the list, system 300 may apply or re-apply the part search machine learning model to the list and the one or more user preferences 240.
The list of specifications may be received by the system 300 accessing a design file by interfacing with design software to extract specifications for the list of specifications during designing using the design software. The design file may embody the design of a product and may include a CAD design file. System 300 may process a design file received from a user as part of input 130 and generate the list of specifications from the design file.
As part of step 410, system 300 may scan the received specification, and convert the unstructured information in the received specification to a structured format. Conversion to a structured format simplifies machine learning operations at subsequent steps of method 400.
At step 420, system 300 applies a part search machine learning model to the list of specifications to determine one or more part identifiers for one or more known parts (known part(s)) corresponding to the list of specifications. The part search machine learning model may comprise the Al for intelligent part search network 112. At step 420, the list of specifications may be itemised into individual parts or components that could potentially form part of the curated BOM. The term "part identifier" refers to the part number, name, description or other information by which a part can be uniquely identified.
At step 420, the part search machine learning model (network 112) may identify one or more specifications that are not fulfilled by the known part(s) (unfulfilled specification(s)). At step 420, the supplier matching machine learning model (networks 114, 214) may be executed to consult supplier parts lists to identify one or more part identifier(s) of new parts (new part(s)) corresponding to the unfulfilled specification(s). System 300 may add the part identifier(s) of the new part(s) to a database of all known parts stored in the memory 304. Over repeated iterations of method 400, system 300 progressively expands its database of all known parts. System 300 may re-apply the part search machine learning model (networks 112 or 212) to the list to determine a part number for one or more updated known parts corresponding to the list. System 300 may update the known part(s) based on the one or more updated known parts.
The part search machine learning model (network 112 or 212) may be configured to identify one or more specifications that are missing from the list of specifications (missing specification(s)). The part search machine learning model (network 112 or 212) may identify at least one of one or more parts and one or more specifications (addition(s)) based on the missing specification(s) and update the list of specifications based on the addition(s). The part search machine learning model (network 112 or 212) may determine a part identifier for one or more known parts or updated known parts (i.e. a list including previously new parts) corresponding to the updated list of specifications.
The part search machine learning model (networks 112 or 212) may be configured to identify the addition(s) by consulting a historical purchase database stored in memory 304 to identify one or more previous purchases comprising the specifications and identify the addition(s) based on the one or more previous purchases.
At 430, system 300 produces a parts recommendation comprising the part identifier(s) and fulfilling the specifications. The phrase "fulfilling the specifications" does not mean that all specifications are met. For example, the parts recommendation may identify specifications that are not fulfilled. The parts recommendation may be generated based on the user's preferences 240 or historical data associated with parts selected by the user. Therefore, fulfilling the specifications may only partially specify a particular product - e.g. for a pipe, the flow rate may be specified by the temperature rating may not - or the specifications may not correspond to a particular product - e.g. a particular pressure rating for a valve may not comply with the size limitations for the valve. The phrases "partially", "at least partially" and similar refer to the potential for specifications to be highly specific, and there being no exact match for those specifications, or that a more cost effective alternative is available that has specifications differing from those inputted to the system by a tolerable margin - e.g. a predetermined amount, such as a 240V power source verses a 245V power source. Therefore, parts may be recommended that are not the closest match to particular BOM specifications, but may align with user objectives such as cost reduction. At 440, system 300 applies a supplier matching machine learning model to the parts recommendation to identify one or more suppliers (supplier(s)) for supplying the known part(s). The supplier matching machine learning model may comprise the Al for Part- Supplier matching network 114 or network 214. The networks 114, 214 match each item in the parts recommendation generated at 430 to one or more than one supplier. To identify one or more suppliers, networks 114, 214 identifies the most suitable suppliers in the user's supplier database. Networks 114, 214 may also access details of suitable suppliers in other third party databases accessible to the system 300. The supplier selection machine learning model may select suppliers by obtaining multiple quotes for each at least one part in the part recommendation and comparing the multiple quotes.
At step 450, system 300 generates a price estimate based on the supplier(s) and parts recommendation determined in steps 430 and 440. The price estimate based on the supplier(s) and the parts recommendation may be generated by: obtaining one or more quotes from the supplier(s); and applying a supplier selection machine learning model (network 116) to the one or more quotes to select a particular supplier for each part in the parts recommendation (selected supplier(s)). The price estimate may also be based off previous quotes or invoices from suppliers, or supplier parts catalogues. The BOM may be formulated based on the selected supplier(s).
On instruction from a user to proceed with the quoting process, the system 300 obtains one or more quotes by using a communication network of an auxiliary block to 122 to produce a request for quote (RFQ) for each supplier of the said supplier(s). System 300 may send each RFQ to the respective supplier and receive a quote from each supplier corresponding to the respective RFQ.
At step 460, system 300 outputs the curated BOM comprising the price estimate and based on the parts recommendation. The curated BOM may comprise the price estimate and the supplier(s) based on the parts recommendation as identified at step 440.
Method 400 may be configured to operate in concert with a design process of a product. The design process may be performed using design software such as CAD design software. The price estimate generated at step 450 may be made available to the design software and may be displayed for a design during a design phase in the design software. Therefore, the methods may provide real-time feedback during a design process to allow a designer to efficiently design a product.
Method 400 may further comprise optional steps 470, 480 and 490. At step 470, system 300 receives confirmation of final supplier(s) based on the curated BOM generated at 460. At step 480, system 300 generates at least one of a purchase order for each supplier of the final supplier(s); an agreement for execution by a user and each supplier of the final supplier(s). At step 490, the system sends at least one of the purchase orders and the agreement to each respective supplier.
The methods may also be provided on a computer-readable medium comprising computer program code that, when executed by a processor of a computer system (such as the computer system 300), causes the computer system to perform the method 400, the method 100 and others described herein.
It will be appreciated that many further modifications and permutations of various aspects of the described embodiments are possible. Accordingly, the described aspects are intended to embrace all such alterations, modifications, and variations that fall within the spirit and scope of the appended claims.
Throughout this specification and the claims which follow, unless the context requires otherwise, the word “comprise”, and variations such as “comprises” and “comprising”, will be understood to imply the inclusion of a stated integer or step or group of integers or steps but not the exclusion of any other integer or step or group of integers or steps.
The reference in this specification to any prior publication (or information derived from it), or to any matter which is known, is not, and should not be taken as an acknowledgment or admission or any form of suggestion that that prior publication (or information derived from it) or known matter forms part of the common general knowledge in the field of endeavour to which this specification relates.

Claims

Claims
1. A system for producing a curated bill of materials (BOM), comprising: memory; and at least one processor (processor(s)), wherein the memory stores instructions that, when executed by the processor(s), cause the processor(s) to: receive a list of specifications; apply a part search machine learning model to the list to determine a part identifier(s) for one or more known parts (known part(s)) corresponding to the list; produce a parts recommendation comprising the part identifier(s) and fulfilling the specifications; apply a supplier matching machine learning model to the parts recommendation to identify one or more suppliers (supplier(s)) for supplying the known part(s); generate a price estimate based on the supplier(s) and parts recommendation; and output the curated BOM comprising the price estimate and based on the parts recommendation.
2. The system of claim 1, wherein output the curated BOM comprising the price estimate and based on the parts recommendation comprises output the curated BOM comprising the price estimate and the supplier(s) based on the parts recommendation.
3. The system of claim 1 or 2, wherein the processor(s) are configured to: apply the part search machine learning model to identify one or more specifications that are not fulfilled by the known part(s) (unfulfilled specification(s)); and apply the supplier matching machine learning model to consult supplier parts lists to identify one or more part identifier(s) of new parts (new part(s)) corresponding to the unfulfilled specification(s). The system of claim 3, wherein the parts recommendation further comprises the part identifier(s) of the new part(s). The system of claim 3 or 4, wherein the processor(s) are configured to: add the part identifier(s) of the new part(s) to a database of all known parts, said all known parts comprising the known part(s); re-apply the part search machine learning model to the list to determine a part number for one or more updated known parts corresponding to the list; update the known part(s) based on the one or more updated known parts. The system of any one of claims 1 to 5, wherein the processor(s) are configured to receive an application for the specifications, and wherein applying or re-applying the part search machine learning model to the list comprises applying or re-applying the part search machine learning model to the list and the application. The system of any one of claims 1 to 6, wherein the processor(s) are further configured to receive one or more user preferences and wherein applying or reapplying the part search machine learning model to the list comprises applying or reapplying the part search machine learning model to the list and the one or more user preferences. The system of any one of claims 1 to 7, wherein the part search machine learning model is configured to identify one or more specifications that are missing from the list of specifications and to (missing specification(s)): identify at least one of one or more parts and one or more specifications (addition(s)) based on the missing specification(s); update the list of specifications based on the addition(s); and determine a part identifier for one or more known parts or updated known parts corresponding to the updated list of specifications. The system of claim 8, wherein the part search machine learning model is configured to identify the addition(s) by consulting an historical purchase database to identify one or more previous purchases comprising the specifications and identify the addition(s) based on the one or more previous purchases. The system of any one of claims 1 to 9, wherein the list of specifications comprises one or more project specifications. The system of any one of claims 1 to 10, wherein the processor(s) are configured to generate a price estimate based on the supplier(s) and the parts recommendation by: obtaining one or more quotes from the supplier(s); and applying a supplier selection machine learning model to the one or more quotes to select a particular supplier for each part in the parts recommendation (selected supplier(s)); and formulate the BOM based on the selected supplier(s). The system of claim 11, wherein the processor(s) are configured to obtain the one or more quotes by using a communication network of an auxiliary block to: produce a request for quote (RFQ) for each supplier of said supplier(s); send each RFQ to the respective supplier; and receive a quote from each supplier corresponding to the respective RFQ. The system of claim 11 or 12, wherein the supplier selection machine learning model selects suppliers by obtaining multiple quotes for each at least one part in the part recommendation, and comparing the multiple quotes. The system of any one of claims 1 to 13, wherein the processor(s) are further configured to: receive confirmation of final supplier(s) based on the curated BOM; and generate at least one of: a purchase order for each supplier of the final supplier(s); an agreement for execution by a user and each supplier of the final supplier(s); and send the at least one of the purchase order and the agreement to each respective supplier. The system of any one of claims 1 to 14, wherein the processor(s) are configured to receive a list of specifications by: accessing a design file; and generating the list of specifications from the design file. The system of claim 15, wherein the processor(s) is configured to access the design file by interfacing with design software to extract specifications for the list of specifications during designing using the design software. The system of claim 16, wherein the processor(s) are configured to display a price estimate for a design during a design phase in the design software. The system of claim 15 to 17, wherein the design file is a computer aided design (CAD) file. A method for producing a curated bill of materials (BOM), comprising: receiving a list of specifications; applying a part search machine learning model to the list to determine a part identifier(s) for one or more known parts (known part(s)) corresponding to the list; producing a parts recommendation comprising the part identifier(s) and fulfilling the specifications; applying a supplier matching machine learning model to the parts recommendation to identify one or more suppliers (supplier(s)) for supplying the known part(s); generating a price estimate based on the supplier(s) and parts recommendation; and outputting the curated BOM comprising the price estimate and based on the parts recommendation. A computer-readable medium comprising computer program code that, when executed by a processor of a computer system, cause the computer system to behave according to the system of any one of claims 1 to 18, or to perform the method of claim 19.
PCT/SG2021/050764 2020-12-17 2021-12-06 Systems for ai-driven creation of bill of materials WO2022132040A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SG10202012707Q 2020-12-17
SG10202012707Q 2020-12-17

Publications (1)

Publication Number Publication Date
WO2022132040A1 true WO2022132040A1 (en) 2022-06-23

Family

ID=82060120

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SG2021/050764 WO2022132040A1 (en) 2020-12-17 2021-12-06 Systems for ai-driven creation of bill of materials

Country Status (1)

Country Link
WO (1) WO2022132040A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7050874B1 (en) * 2001-10-12 2006-05-23 I2 Technologies Us, Inc. Sourcing of bills of materials
US20170161643A1 (en) * 2011-06-08 2017-06-08 Accenture Global Solutions Limited Machine learning classifier
CN110309807A (en) * 2019-07-08 2019-10-08 西北工业大学 CAD diagram paper intelligent identification Method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7050874B1 (en) * 2001-10-12 2006-05-23 I2 Technologies Us, Inc. Sourcing of bills of materials
US20170161643A1 (en) * 2011-06-08 2017-06-08 Accenture Global Solutions Limited Machine learning classifier
CN110309807A (en) * 2019-07-08 2019-10-08 西北工业大学 CAD diagram paper intelligent identification Method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ABDULLA AHMAD, BARYANNIS GEORGE, BADI IBRAHIM: "Weighting the Key Features Affecting Supplier Selection using Machine Learning Techniques", 10 December 2019 (2019-12-10), XP055947350, DOI: 10.20944/preprints201912.0154.v1 *
GUPTA, SANKET: "How We Used Machine Learning to Categorize Parts ", BLOG - OCTOPART, 22 March 2018 (2018-03-22), XP055947347, Retrieved from the Internet <URL:https://octopart.com/blog/archives/2018/03/machine-learning-categorize-parts> *

Similar Documents

Publication Publication Date Title
US7734617B2 (en) Optimization using a multi-dimensional data model
US6038668A (en) System, method, and medium for retrieving, organizing, and utilizing networked data
CN103177068B (en) According to the system and method for existence compatible rule merging source record
US6799174B2 (en) Retrieving, organizing, and utilizing networked data using databases
US8589311B2 (en) Designing business content for reporting
WO2021076363A1 (en) Data model transformation
US7127458B1 (en) Matching and cleansing of part data
CN111160658B (en) Collaborative manufacturing resource optimization method, system and platform
EP3079086A1 (en) Collaborative generation of configuration technical data for a product to be manufactured
US20220101093A1 (en) Platform for selection of items used for the configuration of an industrial system
US11687549B2 (en) Creating line item information from free-form tabular data
CN113656897A (en) Intelligent design method, system and device for central air conditioner
CN101393549A (en) Method and system for modifying table element displaying attribute
CN115760201B (en) Intelligent sales lead recommendation reason generation method and system
CN1963849A (en) Conformity method of managing system of data of product
WO2022132040A1 (en) Systems for ai-driven creation of bill of materials
CN114048216B (en) Index selection method, electronic device and storage medium
CN114385921A (en) Bidding recommendation method, system, equipment and storage medium
WO2021248319A1 (en) Database management system and method for graph view selection for relational-graph database
CN113762992A (en) Method and device for processing data
Yang Accelerated quality improvement of 3D printed objects based on a case-based reasoning system
CN115964873A (en) Intelligent digital satellite design scheduling system, method and medium
CN115328938A (en) Inventory query method and device
CN117472360A (en) Zero code software development platform and method with transaction loose coupling characteristic
CN117369962A (en) Workflow execution sequence generation method, device, computer equipment and storage medium

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21907260

Country of ref document: EP

Kind code of ref document: A1