Double layer automated cost estimation for automated manufacturing of spare parts

By automatically estimating the manufacturing cost of mechanical parts through machine learning models, identifying the effective range, and generating accurate estimates, the inefficiency of the process of acquiring new parts and the inaccuracy of manufacturing costs in existing technologies are solved, thus realizing an efficient and accurate automated manufacturing process.

CN110796257BActive Publication Date: 2025-10-24THE BOEING CO
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN201910689038.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-08-02
Filing Date
2019-07-29
Publication Date
2025-10-24
Estimated Expiration
2039-07-29

AI Technical Summary

Technical Problem

The process of acquiring new parts in existing technologies is time-consuming, expensive, and inefficient, and the cost of parts manufacturing is not accurately estimated when automated manufacturing is used, which may result in losses for enterprises in sales.

Method used

The machine learning model is used to automatically estimate the manufacturing cost of mechanical parts, and the validity prediction module identifies the validity range of the cost estimate. The cost estimation module generates an accurate manufacturing cost estimate and automatically manufactures the parts only when the error is within an acceptable range.

Benefits of technology

It reduces the time and cost of acquiring new parts, improves the accuracy of manufacturing cost estimation, ensures the economy and efficiency of automated manufacturing processes, and avoids potential sales losses.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN110796257B_ABST
    Figure CN110796257B_ABST
Patent Text Reader

Abstract

Dual-layer automated cost estimation for automated manufacturing of spare parts. Techniques for automated manufacturing of mechanical parts are described. A first estimate of manufacturing cost of a first mechanical part is generated using a first machine learning model. In response to determining that the first estimate of manufacturing cost of the first mechanical part is within a range of validity of the first machine learning model, a second estimate of manufacturing cost of the first mechanical part is generated using a second machine learning model. An expected cost error in the second estimate of manufacturing cost of the first mechanical part is determined, and automated manufacturing of the first mechanical part is caused upon determining that the expected cost error falls within a predetermined acceptable range.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Aspects of the present disclosure provide techniques for automated cost estimation and spare part manufacturing. BACKGROUND

[0002] Obtaining a new part from a supplier can be a lengthy process. An engineer can need to fully document the structure, materials, and manufacturing processes (machining, assembly, inspection, etc.) of the part and estimate a possible cost. The estimate can be based on the engineer’s experience and a rough analysis of historical costs of similar parts, among other factors. Then, a person responsible for procuring the part can distribute a request for proposal (RFP) to potential suppliers, and can select a supplier based on responses to the RFP. The procurement officer can then negotiate a schedule and determine a desired quantity and delivery cost, i.e., the price of the part when procured from the supplier. This process is often time-consuming, expensive, and inefficient. SUMMARY

[0003] Implementations described herein include a method for automatically manufacturing a mechanical part. The method includes generating, using one or more computer processors, a first estimate of a manufacturing cost of a first mechanical part using a first machine learning model. The method also includes determining that the first estimate of the manufacturing cost of the first mechanical part falls within a range of validity of the first machine learning model, and in response, generating, using the one or more computer processors, a second estimate of the manufacturing cost of the first mechanical part using a second machine learning model. The method also includes determining an expected cost error in the second estimate of the manufacturing cost of the first mechanical part. The method also includes causing the first mechanical part to be automatically manufactured upon determining that the expected cost error falls within a predetermined acceptable range.

[0004] Implementations described herein also include a system. The system includes a processor and a memory storing a program that, when executed on the processor, performs operations. The operations include generating a first estimate of a manufacturing cost of a first mechanical part using a first machine learning model. The operations also include determining that the first estimate of the manufacturing cost of the first mechanical part falls within a range of validity of the first machine learning model, and in response, generating a second estimate of the manufacturing cost of the first mechanical part using a second machine learning model. The operations also include determining an expected cost error in the second estimate of the manufacturing cost of the first mechanical part. The operations also include causing the first mechanical part to be automatically manufactured upon determining that the expected cost error falls within a predetermined acceptable range.

[0005] Implementations described herein also include a computer program product for automatically manufacturing a mechanical part. The computer program product includes a computer-readable storage medium containing computer-readable program code, which can be executed by one or more computer processors to perform operations. The operations include generating, using a first machine learning model, a first estimate of a manufacturing cost of a first mechanical part. The operations also include determining that the first estimate of the manufacturing cost of the first mechanical part falls within a range of validity of the first machine learning model, and in response, generating, using a second machine learning model, a second estimate of the manufacturing cost of the first mechanical part. The operations also include determining an expected cost error in the second estimate of the manufacturing cost of the first mechanical part. The operations also include causing the first mechanical part to be automatically manufactured upon determining that the expected cost error falls within a predetermined acceptable range. BRIEF DESCRIPTION OF DRAWINGS

[0006] In order that the manner in which the above-recited features of the present disclosure can be understood in detail, a more particular description of the disclosure, briefly summarized above, can be had by reference to some aspects thereof, which are shown in the attached drawings.

[0007] Figure 1 is a block diagram illustrating automatic prediction of cost to manufacture a spare part in accordance with one implementation described herein.

[0008] Figure 2 is a block diagram illustrating a prediction server in accordance with one implementation described herein.

[0009] Figure 3 is a flow diagram illustrating automatic prediction of cost to manufacture a spare part in accordance with one implementation described herein.

[0010] Figure 4 is a flow diagram illustrating automatic manufacturing of a spare part in accordance with one implementation described herein.

[0011] Figure 5 is a flow diagram illustrating identification of a range of validity of a manufacturing cost estimate in accordance with one implementation described herein.

[0012] Figure 6 is a flow diagram illustrating generating a revised manufacturing cost estimate in accordance with one implementation described herein.

[0013] Figure 7 is a flow diagram illustrating determining an expected cost error in a manufacturing cost estimate in accordance with one implementation described herein.

[0014] Figures 8A-8B is an illustration of an estimated manufacturing cost and an actual manufacturing cost in accordance with one implementation described herein.

[0015] Figure 9 is a flowchart illustrating training of a machine learning model according to one embodiment described herein. DETAILED DESCRIPTION

[0016] Aspects of the present disclosure relate to techniques for automated cost estimation and machine part manufacturing. Instead of the manual process outlined above, the time (and associated cost) of acquiring a new part can be reduced by specific techniques for automating the estimation process of possible costs. The automated estimation is often accurate enough that the desired part can then be ordered from a pre-qualified supplier and automatically manufactured by that supplier. This avoids the entire cycle of distributing an RFP to potential suppliers, selecting a supplier, and negotiating a schedule, quantity, and delivery cost outlined above.

[0017] But automated manufacturing presents challenges. The sale price of a part to a customer can depend on the manufacturing cost of the part. In order for the sale to be profitable, the sale price of the part is greater than the manufacturing cost. But if the manufacturing cost of the part is estimated too low, the part can be sold at too low of a price and the business can suffer a loss on the sale (or less than expected profit).

[0018] It is desirable to identify potential errors in the estimation while automatically estimating the manufacturing cost of a part to determine whether the part is suitable for automated manufacturing. In embodiments, machine learning techniques can be used to identify a range of validity for spare part manufacturing cost estimations. If a given cost estimation for a part falls within this range of validity, the estimation can be accurate. Then in embodiments, machine learning techniques can be used to estimate the cost of a given spare part that falls within the range of validity. The estimation can be based on characteristics of the part, as discussed below. In embodiments, a weighted error can be determined for the cost estimation - if the weighted error is low enough, the system can initiate automated manufacturing of the part.

[0019] Figure 1 is a block diagram illustrating automated prediction of manufacturing costs of spare parts according to an embodiment. The prediction server 200 is connected to the communication network 110. Figure 2 The prediction server 200 is described in more detail. The prediction server 200 is generally configured to implement automated prediction of manufacturing costs of spare parts to enable automated manufacturing of the spare parts if appropriate.

[0020] The communication network 110 can be any suitable communication network, including the Internet, a local access network, or a wide area access network. The communication network 110 can be a wired network or a wireless network. The communication network can use any suitable communication protocol, including any suitable wireless protocol. For example, the communication network 110 can use Institute of Electrical and Electronics Engineers (IEEE) Wi-Fi standards, such as the 802.11 standards, other Wi-Fi standards, cellular protocols, including 3G, Long Term Evolution (LTE), 4G, etc., Bluetooth, etc. Moreover, the communication network 110 can use several different communication protocols.

[0021] The communication network 110 is also connected to a data warehouse 170. The data warehouse 170 can be any suitable data storage medium. For example, the data warehouse 170 can include a relational database or any other suitable database. In embodiments, the data warehouse 170 includes network interface software and hardware to allow communication with the communication network 110. For example, the data warehouse 170 can include a server computer with a network interface. As another example, the data warehouse 170 can be included within the prediction server 200. Alternatively, as discussed further below, the data warehouse 170 can be a cloud-based storage system that is accessible via the communication network 110.

[0022] The data warehouse 170 includes data used by the prediction server 200 to automatically predict the cost of manufacturing spare parts to facilitate automated manufacturing of the spare parts. In the illustrated embodiment, the data warehouse 170 includes part characteristics 172 for various spare parts. The part characteristics 172 can include various data related to the spare parts, including dimensional attributes, metallurgy, year of introduction, manufacturing process, part number, part description, part mass or weight, Bill of Materials (BOM) for the part, and any other suitable data.

[0023] The data warehouse 170 also includes part cost estimates 174. The part cost estimates 174 can include previous cost estimates for the spare parts, including previous automated cost estimates using the various techniques described herein, other automated cost estimates, and manual cost estimates. The data warehouse also includes historical part costs 176. The historical part costs 176 can include actual costs for various spare parts, including actual manufacturing costs, actual purchase costs, actual sales prices, and other suitable data. Moreover, the data in the data warehouse 170 can include data related to parts from multiple part suppliers. In embodiments, the part suppliers can be factored in when training the validity prediction model and the cost estimate model, as shown. Figure 2 and Figure 3 The data shown in the data warehouse 170 is merely an example and other data can also be included.

[0024] Figure 2 is a block diagram illustrating a prediction server 200 according to an embodiment. The illustrated prediction server 200 includes, but is not limited to, a central processing unit (CPU) 202, a network interface 206, a memory 210, and a storage device 270, each connected to a bus 208. In an embodiment, the prediction server 200 further includes an input / output (I / O) device interface 204 connected to an I / O device 260. In an embodiment, the I / O device 260 can be an external I / O device (e.g., a keyboard, a display, and a mouse device). Alternatively, the I / O device 260 can be built into the I / O device (e.g., a touch screen display or a touchpad). Further, in the context of the present disclosure, the computing elements illustrated in the prediction server 200 can correspond to a physical computing system (e.g., a system in a data center), or can be a virtual computing instance executing within a computing cloud, as discussed further below.

[0025] The CPU 202 retrieves and executes programmed instructions stored in the memory 210, as well as stores and retrieves application data residing in the storage device 270. The bus 208 is used to transfer the programmed instructions and application data between the CPU 202, the I / O device interface 204, the storage device 270, the network interface 206, and the memory 210. The included CPU 202 is representative of a CPU, multiple CPUs, a single CPU having multiple processing cores, a graphics processing unit (GPU) having multiple execution paths, etc. Generally, the included memory 210 is representative of any suitable type of electronic storage including random access memory or non-volatile storage. The storage device 270 can be a disk drive storage device. Although illustrated as a single unit, the storage device 270 can be a combination of fixed and / or removable storage devices such as fixed disk drives, removable memory cards, network attached storage (NAS), or a storage area network (SAN).

[0026] Illustratively, the memory 210 includes an operating system 240 and a database management system (DBMS) 250, while the storage device 270 includes a data warehouse 170 (e.g., a database). The operating system 240 generally controls the execution of application programs on the prediction server 200. Examples of the operating system 240 include, but are not limited to, various versions of UNIX, AIX® operating system releases, AIX® operating system releases, versions, etc. Generally, the DBMS 250 facilitates capturing and analyzing data (e.g., spare part data) in the data warehouse 170. For example, the DBMS 250 can implement the definition, creation, querying, updating, and management of the data warehouse 170. As an example, the DBMS 250 can receive a query (e.g., written in structured query language (SQL)), and in response, can generate an execution plan that includes one or more access routines to run against the data warehouse 170. The DBMS 250 can then execute the access routines and can return any query results to the requester.

[0027] Generally, the memory 210 includes program code for performing various functions related to automated prediction of costs of manufacturing spare parts and facilitating automated manufacturing of spare parts. The program code is generally described as various functional “applications,” “components,” or “modules” within the memory 210, but alternative implementations can have different functions and / or combinations of functions. Within the memory 210, the validity prediction module 220 is generally configured to predict the validity of a cost estimate for a spare part.

[0028] In implementations, the validity prediction module 220 uses machine learning to predict validity. In this implementation, the validity prediction module 220 includes a validity model 222, a validity training module 224, and a validity inference module 226. The validity training module 224 is generally configured to facilitate training of the validity model 222. As discussed further below, in implementations, the validity training module 224 can be run multiple times to adjust the validity model 222. The validity inference module 226 is generally configured to use the validity model 222 to predict the validity of a manufacturing cost estimate for a spare part. Figure 5 As discussed further below, in implementations, the validity training module 224 can be run multiple times to adjust the validity model 222. The validity inference module 226 is generally configured to use the validity model 222 to predict the validity of a manufacturing cost estimate for a spare part.

[0029] The memory 210 also includes a cost estimate module 230. The cost estimate module 230 is generally configured to automatically estimate the cost of a spare part (e.g., when the validity prediction module 220 determines that the estimate is likely valid enough to allow for automated estimation). In implementations, the cost estimate module 230 also uses machine learning to predict this validity. In this implementation, the cost estimate module 230 includes a cost estimate model 232, a cost estimate training module 234, and a cost estimate inference module 236. The cost estimate training module 234 is generally configured to facilitate training of the cost estimate model 232. As discussed further below, in implementations, the cost estimate training module 234 can be run multiple times to adjust the cost estimate model 232. The cost estimate inference module 236 is generally configured to use the cost estimate model 232 to estimate the manufacturing cost of a spare part. Figure 5 As discussed further below, in implementations, the cost estimate training module 234 can be run multiple times to adjust the cost estimate model 232. The cost estimate inference module 236 is generally configured to use the cost estimate model 232 to estimate the manufacturing cost of a spare part.

[0030] In Figure 2In the illustrated embodiment, the effectiveness model 222 and the cost estimation model 232 are separate. Alternatively, these models can be a single shared model, or can each be composed of multiple machine learning (ML) models. Further, in embodiments, the effectiveness model 222 and the cost estimation model 232 can be trained separately, or can be trained together. Figure 2 In the illustrated embodiment, the effectiveness model 222 and the cost estimation model 232 are stored locally in the memory 210 of the prediction server 200. Alternatively, one (or both) of these models can be stored in the storage 270 (e.g., in the data warehouse 170), a remote server, or a cloud-based storage system.

[0031] Figure 3 is a flowchart 300 illustrating an automated prediction of a cost of manufacturing a spare part, according to an embodiment. In embodiments, a new customer requests manufacturing of a spare part, at block 302. This can be an external customer or an internal customer within an enterprise (e.g., another department or group within the enterprise). For example, an external customer can request manufacturing of a spare part. Alternatively, an internal customer within an enterprise can request manufacturing of a spare part. For example, an original equipment manufacturer (OEM) can request manufacturing of a replacement part that can be more durable or otherwise better suited for a particular situation. The spare part can refer to a component within a larger structure, such as a mechanical component in an aircraft, motor vehicle, or other vehicle. The spare part can be a complete structure, a multi-component part, a single-component part, or any other suitable part. Further, the spare part can be a replacement part (e.g., replacing a previously used part) or a new part in new manufacturing.

[0032] The system determines whether a cost of the requested spare part is available. For example, this can be done by the prediction server 200, illustrated in Figure 1 and Figure 2 or any other suitable system. At block 330, the spare part cost is available. At block 350, the spare part cost is provided to the customer.

[0033] At block 304, the manufacturing cost of the spare part is not available. At block 306, the prediction server (e.g., the prediction server 200 or another suitable server) predicts an effectiveness of a cost estimate for the spare part. For example, this can be done using the effectiveness prediction module 220, illustrated in Figure 2 and discussed in more detail with respect to Figure 4 and Figure 5 . As discussed in Figure 2 , in embodiments, the effectiveness prediction module 220 can use a ML model to predict the effectiveness of the manufacturing cost estimate. At block 320, the prediction server 200 trains the effectiveness prediction model and the cost prediction model. For example, this can be done by the training module 230, illustrated in Figure 2The effectiveness training module 224 and the cost estimate training module 234 shown are completed. The prediction server 200 can use the part characteristics 172, the historical part costs 176, and any other suitable data. In embodiments, this data is stored in the data warehouse 170.

[0034] In the embodiment shown, after the prediction server 200 trains the effectiveness prediction and cost estimate models at block 320, the prediction server 200 uses these models to estimate the effectiveness of a requested spare part’s manufacturing cost estimate at block 306. At block 308, the prediction server 200 assesses the risk of automatically estimating the manufacturing cost of the spare part. This is discussed in more detail below with respect to Figure 4 、 Figure 7 and Figures 8A-8B .

[0035] At block 310, if the prediction server 200 determines that the risk is high, the manufacturing cost of the part is manually estimated at block 310, and the manual estimate is provided to the customer at block 350. If the prediction server 200 determines that the risk is low, the manufacturing cost of the part is automatically estimated at block 312, and the automatic estimate is provided to the customer at block 350. As discussed in more detail below with respect to Figure 4 , after block 312, the spare part can also be sent for automatic manufacturing based on the automatic estimate. This can be done in addition to, or instead of, providing the cost estimate to the customer at block 350.

[0036] In embodiments, the prediction server 200 uses the part cost risk assessment to further improve the cost prediction model and the effectiveness prediction model. At block 314, the prediction server 200 assesses the cost prediction model. The prediction server 200 then provides this assessment to the training modules (e.g., the cost estimate training module 234 and the effectiveness training module 224) to further improve the models. For example, the variance in cost estimates can be determined and outliers can be removed. As one example, if a given cost estimate is applied to a small number of parts, and the estimate significantly deviates from the parts, this erroneous estimate can not be considered in future predictions.

[0037] Figure 4 is a flowchart showing the automatic manufacturing of a spare part according to an embodiment. At block 402, a prediction server (e.g., the prediction server 200 shown) determines a range of effectiveness of a manufacturing cost estimate. In embodiments, this can be done using machine learning (e.g., using the effectiveness prediction module 220 shown). In embodiments, the effectiveness prediction module 220 can determine a minimum manufacturing cost threshold and a maximum manufacturing cost threshold. Block 402 is discussed in more detail with respect to Figure 2 . Figure 2 Figure 5 . ​

[0038] At block 404, the prediction server 200 generates an initial manufacturing cost estimate. This can be done using a machine learning model. For example, Figure 2 The effectiveness inference module 226 shown can use the effectiveness model 222 to generate the initial manufacturing cost estimate. Alternatively, the cost estimate inference module 236 can use the cost estimate model 232 to generate the initial manufacturing cost estimate. As another alternative, another ML model can be used, or a non-machine learning technique can be used.

[0039] At block 406, the prediction server 200 determines whether the initial manufacturing cost estimate falls within the effectiveness range. In implementations, this includes determining whether the initial manufacturing cost estimate from block 402 is greater than the minimum manufacturing cost threshold from block 402 and less than the maximum manufacturing cost threshold from block 402. If the initial manufacturing cost estimate does not fall within the effectiveness range, the flow ends.

[0040] If the initial manufacturing cost estimate falls within the effectiveness range, the flow proceeds to block 408. At block 408, the prediction server 200 generates a revised manufacturing cost estimate. This is discussed in more detail below with respect to Figure 6 At block 410, the prediction server 200 determines the expected cost error in the revised cost estimate. This is discussed in more detail with respect to Figure 7 and FIG. 8.

[0041] At block 412, the prediction server 200 determines whether the expected cost error is acceptable. If the expected cost error is not acceptable, at block 414, the prediction server 200 sends a request for a manual estimate of the cost. For example, the prediction server 200 can send an electronic notification to the appropriate employee or department requesting a manual estimate of the manufacturing cost of the spare part. Alternatively, the automated manufacturing can be done with specified parameters. For example, if the automated manufacturing continues, the characteristics of the part can be provided to the manufacturer along with instructions that the actual cost must be lower than the estimated cost. Then, the risk can be passed to the manufacturer, which can have a higher risk tolerance (or higher margin). As another alternative, the manufacturer can be required to automatically manufacture the part within a range of the estimated cost plus a predetermined margin.

[0042] In implementations, the manufacturer can reject the automatic manufacture of the spare part at the requested parameters. In this case, the prediction server 200 can send an electronic notification to an alternative manufacturer to initiate automatic manufacture of the spare part. Further, the prediction server 200 can initiate an evaluation of the spare part for internal manufacture, or initiate a manual RFP process. In implementations, the prediction server 200 can store information regarding the rejected automatic manufacture request. For example, the prediction server 200 can store this information in the data warehouse 170 or another suitable location. The prediction server 200 can then use this stored information for future cost estimation requests. For example, the effectiveness training module 224 can use this information regarding the rejected automatic manufacture request to train the effectiveness model 222. As another example, the cost estimation training module 234 can use this information regarding the rejected automatic manufacture request to train the cost estimation model 232. Further, in implementations, the information regarding the rejected automatic manufacture request can be used to identify future suppliers to manufacture the spare part.

[0043] If the expected manufacturing cost error is acceptable, then at block 416, the prediction server 200 triggers automatic manufacture of the part. For example, the prediction server 200 can send an electronic message to a designated supplier with the part specifications and a request to begin automatic manufacture. The supplier, upon receiving the request, can automatically manufacture the part based on the specifications. Alternatively, the prediction server 200 can trigger automatic manufacture through an internal manufacturing entity or division, rather than from a third-party supplier.

[0044] Figure 5 is a flowchart illustrating identification of a range of effectiveness of manufacturing cost estimates according to an implementation. In implementations, this corresponds to Figure 4 block 402. At block 502, a prediction server (e.g., the prediction server 200 shown in Figure 2 ) trains a first manufacturing cost estimation machine learning model. For example, the effectiveness training module 224 shown in Figure 2 ) can train the effectiveness model 222. The training process is discussed in more detail with respect to Figure 9 ) is discussed in more detail. A variety of suitable machine learning algorithms can be used. In implementations, a decision tree can be used. Alternatively, a random forest can be used. As another alternative, a convolutional neural network can be used. Or, another suitable machine learning algorithm can be used.

[0045] In implementations, there are multiple stages of training the effectiveness model. Initially, at block 502, the effectiveness training module 224 trains the effectiveness model 222 to act as a manufacturing cost estimator. After this initial training, the effectiveness model 222 can be used to determine an estimated manufacturing cost for a given spare part based on characteristics of the spare part.

[0046] At block 504, the effectiveness training module 224 uses the effectiveness model 222 to estimate the cost of parts in the existing parts database. For example, the effectiveness training module 224 can estimate the manufacturing cost of each part in the existing parts database. At block 506, the effectiveness training module 224 then compares the estimated cost to the actual manufacturing cost of the parts in the existing database. This can be used to further train the effectiveness model 222 to determine the range of effectiveness for a given part. In embodiments, blocks 504 and 506 can be repeated as needed to adjust the effectiveness model 222. At block 508, the effectiveness training module 224 can determine a minimum manufacturing cost threshold for effectively estimating the manufacturing cost of spare parts. At block 510, the effectiveness training module 224 can determine a maximum manufacturing cost threshold for effectively estimating the manufacturing cost of spare parts. In embodiments, the effectiveness training module 224 can use the effectiveness model 222 to determine the minimum and maximum thresholds. In another embodiment, the effectiveness training module 224 can use a different ML model. Alternatively, other techniques including statistical and mathematical techniques can be used to determine the minimum and maximum manufacturing cost thresholds.

[0047] In embodiments, the minimum and maximum manufacturing cost thresholds set the boundaries at which a cost estimate can be sufficiently effective to continue with. For example, if the cost estimate for a given part is below the minimum threshold, the estimate can not be sufficiently effective to continue with because any error in the cost estimate (e.g., the difference between the estimated manufacturing cost and the actual manufacturing cost) would take up a high enough proportion of the manufacturing cost that a safe estimate for the business cannot be made. An error that takes up too high a proportion of the manufacturing cost would result in a loss of any profit in the sale and a loss for the seller.

[0048] As another example, if the cost estimate for a given part is above the maximum threshold, the estimate can not be sufficiently effective to continue with because the sample size used to estimate the expensive part can be too small and the absolute dollar value involved can be too high. For example, a given seller often sells a much smaller number of very expensive parts compared to cheaper parts. This can reduce the sample size of these expensive parts in the dataset used to train the effectiveness model 222, increasing the likelihood of error in the manufacturing cost estimate. Furthermore, the absolute dollar value involved in estimating the cost of an expensive part can make a manual cost estimate preferable. For example, the cost of a manual estimate, if more accurate, can be relatively low compared to the potential profit or loss in the sale of the part. As another example, for particularly expensive parts, it can be desirable to have an industry expert check the complexity of the cost estimate. As another example, a high cost estimate can be indicative of an error in the estimate such that the customer is less likely to accept the estimated cost.

[0049] In implementations, the range of validity can vary based on desired parameters. For example, a particular sales organization can be more or less tolerant of risk in automated cost estimates. Or, manual estimates can be particularly expensive (or inexpensive). The range of validity can be configured for error tolerance, and in response, the range is determined.

[0050] Figure 6 is a flowchart illustrating generation of a revised manufacturing cost estimate according to an implementation. In implementations, Figure 6 corresponding to Figure 4 block 408 in FIG. 4. At block 602, the prediction server (e.g., prediction server 200) identifies existing parts for which the cost estimate falls within the range of validity. As discussed above with respect to Figure 5 the prediction server 200 determines a minimum threshold of validity and a maximum threshold of validity for cost estimates in implementations. The cost estimate training module 234 can identify, for parts in the existing parts database, whether the manufacturing cost estimate for the part falls within the range of validity (e.g., the estimate is above the minimum threshold and below the maximum threshold). In implementations, the cost estimate training module 234 can do so for all parts in the existing parts database. In another implementation, the cost estimate training module 234 can do so for a subset of parts in the existing parts database.

[0051] At block 604, the cost estimate training module 234 trains the second machine learning model (e.g., cost estimate model 232) using parts for which the estimated manufacturing cost (e.g., estimated using validity model 222) falls within the range of validity. In implementations, only estimates that fall within the range of validity are used to train the cost estimate model 232. Alternatively, additional estimates can be used. In implementations, blocks 602 and 604 can be repeated as needed to adjust the cost estimate model 232.

[0052] A variety of suitable machine learning algorithms can be used. In implementations, a decision tree can be used. Alternatively, a random forest can be used. As another alternative, a convolutional neural network can be used. Or, another suitable machine learning algorithm can be used. At block 606, the cost estimate inference module 236 uses the cost estimate model 232 to estimate the manufacturing cost of a given replacement part.

[0053] Figure 7 is a flowchart illustrating determination of expected cost error in manufacturing cost estimates according to an implementation. In implementations, Figure 7 corresponding to Figure 4 block 410 in FIG. 4. At block 702, the prediction server (e.g., Figure 2The illustrated prediction server 200) identifies each of the different prior cost estimates in the part database. At block 704, for each given estimate value (e.g., for each cost estimate dollar value of any prior estimate in the database), the parts that estimated that value as a cost are identified. For example, the database can include part estimate values of $250, $251, $272, $300, etc. In embodiments, at block 702, the prediction server 200 identifies each of these values. At block 704, for a given value (e.g., $251), all parts in the database that (at some point) were estimated to have a manufacturing cost of $251 are identified.

[0054] At block 706, the prediction server 200 determines an empirical probability distribution of actual costs for the identified parts. In embodiments, for a given cost estimate value, the prediction server 200 groups the parts having that cost estimate by actual cost. For example, using the $251 estimate discussed above, assume that ten parts have an estimate of $251: three of the parts having an estimate of $251 have an actual cost of $240, two have an actual cost of $250, four have an actual cost of $255, and one has an actual cost of $300. These ten parts will be grouped into groups, with parts having the same (or similar) actual costs grouped together. The prediction server 200 can then determine the number of parts in each respective actual cost group (e.g., 3 parts in the first group, 2 parts in the second group, 4 parts in the third group, and 1 part in the fourth group), and determine the empirical probability that a part having a given cost estimate will have one of these actual costs by dividing the number of parts in each actual cost group by the total number of parts having the given cost estimate. For example, using the example above, there is a 30% empirical probability that a part that costs $251 to estimate will actually cost $240 to manufacture, a 20% chance that the part will actually cost $250 to manufacture, a 40% chance that the part will actually cost $255 to manufacture, and a 10% chance that the part will actually cost $300 to manufacture.

[0055] At block 708, the prediction server 200 uses the probability distribution to determine a weighted cost error for the given cost estimate. In embodiments, this can be done by calculating the difference between the estimated cost and the actual cost (for each actual cost value associated with the given estimate), and multiplying the difference by the calculated empirical probability. At block 710, the prediction server 200 sums the weighted cost errors.

[0056] In an embodiment, if the estimated cost is higher than the actual cost of a part with a given estimated cost, the sum of the weighted cost errors will be positive. If the estimated cost is lower than the actual cost of a part with a given estimated cost, the sum of the weighted cost errors will be negative. In an embodiment, the calculated sum of weighted costs is determined by both the actual cost and its empirical probability (as discussed above), rather than simply comparing the costs. Alternatively, the sum of weighted costs may be determined based on a simple comparison of the cost estimate with the actual cost.

[0057] For example, when the calculated weighted cost error is positive (indicating that any error could result in an estimate of higher cost than the actual cost), it may be considered safe to order automated manufacturing of a given part, and when the calculated weighted cost error is negative (indicating that the error could result in an estimate of lower cost than the actual cost - potentially resulting in a loss of business for the seller), it may be considered unwise to order automated manufacturing of a given part. In other words, when the calculated weighted cost error is positive, the part may be ordered for automated manufacturing with the expectation that the actual cost will be less than or equal to the estimated cost. When the calculated weighted cost error is negative, there is a risk that the actual cost will be greater than the estimated cost if the part is ordered for automated manufacturing. In an embodiment, whether the weighted cost error is positive or negative is considered when considering automated manufacturing. In another embodiment, the absolute value of the weighted cost error may also be considered - even if the weighted cost error is positive, if it is high enough, it may indicate that there is a problem with the estimate.

[0058] Figures 8A-8B is an illustration of estimated manufacturing costs and actual manufacturing costs according to an embodiment. The figure shows the distribution of actual manufacturing costs for a given estimated cost. The x-axis represents the cost value (e.g., US dollars). The points represent the actual costs. The y-axis represents the probability of each actual cost occurring for a given estimated cost. Figure 8A As shown, the estimated cost 802A is lower than most actual costs. This makes automated manufacturing likely undesirable. However, in Figure 8B In the example, the estimated cost 802B is higher than most of the actual costs. This makes automatic manufacturing possible. In an embodiment, if the estimated manufacturing cost is lower than most of the actual costs (e.g., Figure 8A ), an average of actual costs can instead be used as an estimate—this can allow for automated manufacturing while mitigating risk.

[0059] Figure 9Generating and updating supervised machine learning models is shown in accordance with embodiments. As used herein, “training machine learning” is used interchangeably with “supervised machine learning” and generally refers to machine learning that utilizes samples and predetermined attribute scores to train a model. As shown, a corpus of training data 905 is converted into feature vectors 910. These feature vectors 910 are provided to a model training component 920 along with a set of associated attribute values 915. That is, the training data 905 is associated with one or more attribute values 915 of the primary attributes used by the system, where each of the one or more attribute values 915 represents a measure of the attribute indicated by the corresponding training data 905. The model training component 920 uses supervised machine learning techniques to generate and update a trained machine learning model 925, which can then be used to process new electronic data. Such techniques can include classification and regression techniques, among others. In this way, an updated model can be maintained.

[0060] For example, features that can have a deterministic impact on the manufacturing cost of a spare part can be identified manually by industry experts, automatically using a computer program, or using another machine learning model. For each feature (e.g., weight, length, material, etc.), in embodiments, a set of discrete descriptors can be defined (e.g., parts with a weight between 0 and 2 pounds are A, parts with a weight between 2 and 5 pounds are B, parts with a weight between 5 and 10 pounds are C, etc.). Alternatively, any feature can also be continuous or categorical. In embodiments, different transformation methods can be used to create a feature vector corresponding to a feature. For example, continuous features can be transformed and normalized using z-score or long transformation. As another example, categorical features can be transformed into binary outputs (e.g., using one-hot encoding), or can be bucketized.

[0061] For each part in the existing parts database, a feature vector can be determined by considering each feature in a predetermined order and recording the discrete descriptor of that feature that best characterizes the part. This feature vector can be used by a training module (e.g., the validity training module 224 or the cost estimation training module 234) to train a machine learning model (e.g., the validity model 222 or the cost estimation model 232).

[0062] In the foregoing, reference has been made to embodiments presented in the disclosure. However, the scope of the disclosure is not limited to the embodiments specifically described. Rather, any combination of described features and elements, whether related to different embodiments or not, is contemplated to implement and practice contemplated embodiments. Furthermore, although embodiments disclosed herein can achieve advantages over other possible solutions or over the prior art, whether or not a particular advantage is achieved by a given embodiment is not a limitation of the scope of the disclosure. Thus, the foregoing aspects, features, embodiments and advantages are merely illustrative. Accordingly, the foregoing description is not to be considered as limiting the scope of the accompanying claims, unless the description is so indented. In the foregoing, reference has been made to embodiments presented in the disclosure. However, the scope of the disclosure is not limited to the embodiments specifically described. Rather, any combination of described features and elements, whether related to different embodiments or not, is contemplated to implement and practice contemplated embodiments. Furthermore, although embodiments disclosed herein can achieve advantages over other possible solutions or over the prior art, whether or not a particular advantage is achieved by a given embodiment is not a limitation of the scope of the disclosure. Thus, the foregoing aspects, features, embodiments and advantages are merely illustrative. Accordingly, the foregoing description is not to be considered as limiting the scope of the accompanying claims, unless the description is so indented.

[0063] Those skilled in the art will appreciate that the embodiments disclosed herein can be embodied in a system, method, or computer program product. Accordingly, aspects can take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that can all generally be referred to herein as a "circuit," "module" or "system." Furthermore, aspects can take the form of a computer program product embodied in one or more computer readable medium(s) including program code arranged to carry out the steps of the aspects.

[0064] Program code embodied on a computer readable medium can be transmitted using any appropriate medium, including but not limited to wireless, wired, optical fiber cable, radio frequency (RF), etc., or any suitable combination of the foregoing.

[0065] Computer program code for carrying out operations of aspects of the disclosure can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).

[0066] The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0067] These computer program instructions can also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function / act specified in the flowchart and / or block diagram block or blocks.

[0068] The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0069] One or more embodiments can be provided to end users through a cloud computing infrastructure. Cloud computing generally refers to the provision of scalable computing resources as a service over a network. More formally, cloud computing can be defined as a computing capability provided by the

[0070] Generally, cloud computing resources are provided to users on a pay-as-you-go basis, where users are charged only for the actual usage of computing resources (e.g., the amount of storage space consumed by a user or a plurality of virtualized systems instantiated by the user). Users can access any resource residing in the cloud from any location at any time over the Internet. In the context of the present disclosure, a user can access an application (e.g., the prediction server 200) or related data available in the cloud. For example, one or both of the effectiveness prediction module 220 and the cost estimation module 230 can be executed on a computing system in the cloud. In this case, the respective modules can access training data stored at a storage location in the cloud, and can store machine learning models and associated data in the cloud. Doing so allows a user to access this information from any computing system attached to a network (e.g., the Internet) that is connected to the cloud.

[0071] The flow and block diagrams in the drawings show the architectural, functional, and operational concepts of possible implementations of systems, methods, and computer program products according to various embodiments. In this regard, each block in the flow or block diagrams can represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently or the blocks can sometimes be executed in the reverse order, depending on the functionality involved. Such functionality can be executed in response to one or more computer program instructions executing on one or more computer processors of a computing device or computing systems. Also, each block in the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can be implemented by special-purpose hardware-based systems that perform the specified functions or acts, or combinations of special-purpose hardware and computer instructions.

[0072] In light of the foregoing, the scope of the present disclosure is determined by the appended claims.

[0073] Further, the present disclosure includes embodiments in accordance with the following clauses:

[0074] Clause 1. A method for automatically manufacturing a mechanical part, the method comprising the steps of:

[0075] generating, using one or more computer processors, a first estimate of manufacturing cost of the first mechanical part using a first machine learning model;

[0076] determining that the first estimate of manufacturing cost of the first mechanical part falls within a range of validity of the first machine learning model, and in response, using the one or more computer processors, generating a second estimate of manufacturing cost of the first mechanical part using a second machine learning model;

[0077] determining an expected cost error in the second estimate of manufacturing cost of the first mechanical part; and

[0078] causing the first mechanical part to be automatically manufactured upon determining that the expected cost error falls within a predetermined acceptable range.

[0079] Clause 2. The method of clause 1, wherein determining that the first estimate of manufacturing cost of the first mechanical part falls within the validity range of the first machine learning model further comprises:

[0080] determining, using the one or more computer processors, a validity range of the first machine learning model in estimating manufacturing costs of one or more mechanical parts by:

[0081] estimating, using the first machine learning model, manufacturing costs of the one or more mechanical parts;

[0082] identifying actual manufacturing costs of the one or more mechanical parts; and

[0083] comparing the estimated manufacturing costs to the actual manufacturing costs.

[0084] Clause 3. The method of any of clauses 1-2, wherein causing the first mechanical part to be automatically manufactured comprises sending an electronic message to automatically trigger a start of manufacturing the first mechanical part.

[0085] Clause 4. The method of any of clauses 1-3, further comprising the steps of:

[0086] generating, using the one or more computer processors, a third estimate of manufacturing cost of a second mechanical part using the first machine learning model; and

[0087] upon determining that the third estimate of manufacturing cost of the second mechanical part falls outside the validity range of the first machine learning model, flagging the second mechanical part as not suitable for automatic manufacturing.

[0088] Clause 5. The method of any of clauses 1-4, further comprising the steps of:

[0089] generating, using the one or more computer processors, a third estimate of manufacturing cost of a second mechanical part using a second machine learning model;

[0090] determining a second expected cost error in the third estimate of manufacturing cost of the second mechanical part; and

[0091] upon determining that the second expected cost error falls outside a second predetermined acceptable range, flagging the second mechanical part as not suitable for automatic manufacturing.

[0092] Clause 6. The method of any of clauses 1-5, the validity range including a minimum estimated cost threshold and a maximum estimated cost threshold, wherein the step of determining that the first estimate of manufacturing cost of the first mechanical part falls within the validity range of the first machine learning model comprises determining that the first estimate is greater than the minimum estimated cost threshold and less than the maximum estimated cost threshold.

[0093] Clause 7. The method of any of clauses 1-6, further comprising the steps of:

[0094] identifying a plurality of prior manufacturing cost estimates related to a plurality of mechanical parts;

[0095] determining that a first prior manufacturing cost estimate falls within the validity range of the first machine learning model; and

[0096] training a second machine learning model using data related to the first prior manufacturing cost estimate.

[0097] Clause 8. The method of clause 7, further comprising the steps of:

[0098] determining that a second prior manufacturing cost estimate falls outside the validity range of the first machine learning model; and

[0099] not using data related to the second prior manufacturing cost estimate during training of the second machine learning model.

[0100] Clause 9. The method of any of clauses 1-8, wherein the step of determining an expected cost error further comprises:

[0101] determining an empirical probability distribution about the first manufacturing cost estimate value;

[0102] determining one or more weighted cost errors of the first manufacturing cost estimate value based on the empirical probability distribution; and

[0103] determining a sum of the one or more weighted cost errors.

[0104] Clause 10. A system comprising:

[0105] a processor; and

[0106] a memory storing a program which, when executed on the processor, performs operations comprising:

[0107] generating a first estimate of manufacturing cost of a first mechanical part using a first machine learning model;

[0108] determining that the first estimate of manufacturing cost of the first mechanical part falls within a range of validity of the first machine learning model, and in response, generating a second estimate of manufacturing cost of the first mechanical part using a second machine learning model;

[0109] determining an expected cost error in the second estimate of manufacturing cost of the first mechanical part; and

[0110] upon determining that the expected cost error falls within a predetermined acceptable range, causing the first mechanical part to be automatically manufactured.

[0111] Clause 11. The system of clause 10, wherein the operation of determining that the first estimate of manufacturing cost of the first mechanical part falls within a range of validity of the first machine learning model further comprises:

[0112] determining the range of validity of the first machine learning model in estimating manufacturing costs of one or more mechanical parts by:

[0113] estimating manufacturing costs of the one or more mechanical parts using the first machine learning model;

[0114] identifying actual manufacturing costs of the one or more mechanical parts; and

[0115] comparing the estimated manufacturing costs to the actual manufacturing costs.

[0116] Clause 12. The system of any of clauses 10-11, wherein the operation of causing the first mechanical part to be automatically manufactured comprises sending an electronic message to automatically trigger a start of manufacturing the first mechanical part.

[0117] Clause 13. The system of any of clauses 10-12, the operations further comprising:

[0118] generating a third estimate of manufacturing cost of a second mechanical part using a second machine learning model;

[0119] determining a second expected cost error in the third estimate of manufacturing cost of the second mechanical part; and

[0120] upon determining that the second expected cost error falls outside of a second predetermined acceptable range, identifying the second mechanical part as not suitable for automatic manufacturing.

[0121] Clause 14. The system of any of clauses 10-13, the operations further comprising:

[0122] identifying a plurality of prior manufacturing cost estimates for a plurality of mechanical parts;

[0123] determining that a first prior manufacturing cost estimate falls within a range of validity of the first machine learning model;

[0124] training the second machine learning model using data related to the first prior manufacturing cost estimate;

[0125] determining that the second prior manufacturing cost estimate falls outside the validity range of the first machine learning model; and

[0126] not using data related to the second prior manufacturing cost estimate during training of the second machine learning model.

[0127] Clause 15. The system of any of clauses 10-14, wherein the operation of determining an expected cost error further comprises:

[0128] determining an empirical probability distribution regarding the first manufacturing cost estimate value;

[0129] determining one or more weighted cost errors of the first manufacturing cost estimate value based on the empirical probability distribution; and

[0130] determining a sum of the one or more weighted cost errors.

[0131] Clause 16. A computer program product for automatically manufacturing a mechanical part, the computer program product comprising:

[0132] a computer-readable storage medium containing computer-readable program code executable by one or more computer processors to perform operations comprising:

[0133] generating a first estimate of manufacturing cost of the first mechanical part using a first machine learning model;

[0134] determining that the first estimate of manufacturing cost of the first mechanical part falls within a validity range of the first machine learning model, and in response, generating a second estimate of manufacturing cost of the first mechanical part using a second machine learning model;

[0135] determining an expected cost error in the second estimate of manufacturing cost of the first mechanical part; and

[0136] upon determining that the expected cost error falls within a predetermined acceptable range, causing the first mechanical part to be automatically manufactured.

[0137] Clause 17. The computer program product of clause 16, wherein the operation of determining that the first estimate of manufacturing cost of the first mechanical part falls within the validity range of the first machine learning model further comprises:

[0138] determining, using the one or more computer processors, a validity range of the first machine learning model in estimating manufacturing cost of one or more mechanical parts by:

[0139] estimating manufacturing costs of the one or more mechanical parts using a first machine learning model;

[0140] identifying actual manufacturing costs of the one or more mechanical parts; and

[0141] comparing the estimated manufacturing costs to the actual manufacturing costs.

[0142] Clause 18. The computer program product of any of clauses 16-17, wherein the operations to cause automatic manufacturing of the first mechanical part comprise sending an electronic message to automatically trigger a start of manufacturing the first mechanical part.

[0143] Clause 19. The computer program product of any of clauses 16-18, the operations further comprising:

[0144] generating, using the one or more computer processors, a third estimate of a manufacturing cost of a second mechanical part with a second machine learning model;

[0145] determining a second expected cost error in the third estimate of the manufacturing cost of the second mechanical part; and

[0146] identifying the second mechanical part as not suitable for automatic manufacturing upon determining that the second expected cost error falls outside of a second predetermined acceptable range.

[0147] Clause 20. The computer program product of any of clauses 16-19, the operations further comprising:

[0148] identifying a plurality of prior manufacturing cost estimates for a plurality of mechanical parts;

[0149] determining that the first prior manufacturing cost estimate falls within a range of validity of the first machine learning model;

[0150] training the second machine learning model using data related to the first prior manufacturing cost estimate;

[0151] determining that the second prior manufacturing cost estimate falls outside of the range of validity of the first machine learning model; and

[0152] not using data related to the second prior manufacturing cost estimate during training of the second machine learning model.

Claims

1. A method for automatically manufacturing mechanical parts, the method comprising the steps of: determining a range of validity for a first machine learning model, wherein the first machine learning model is a supervised machine learning model and is trained on a first plurality of existing mechanical parts in a database, wherein determining the range of validity for the first machine learning model comprises: generating estimated manufacturing costs for the first plurality of existing mechanical parts using the first machine learning model; comparing the estimated manufacturing costs for the first plurality of existing mechanical parts to respective actual manufacturing costs; and identifying a minimum manufacturing cost threshold and a maximum manufacturing cost threshold for the first machine learning model after comparing the estimated manufacturing costs to respective actual manufacturing costs; generating, using one or more computer processors, a first estimate of manufacturing cost for a first mechanical part with the first machine learning model (404); upon determining that the first estimate of manufacturing cost for the first mechanical part falls within the range of validity for the first machine learning model (406), generating, using the one or more computer processors, a second estimate of manufacturing cost for the first mechanical part with a second machine learning model different from the first machine learning model (408), wherein: the second machine learning model is a supervised machine learning model and is trained on a second plurality of existing mechanical parts in a database, and wherein each part in the second plurality of existing mechanical parts has an estimated manufacturing cost generated by the first machine learning model and falls within the range of validity for the first machine learning model, and at least one of the first machine learning model and the second machine learning model is a neural network model; determining an expected cost error in the second estimate of manufacturing cost for the first mechanical part (410); upon determining that the expected cost error falls within a predetermined acceptable range (412), causing the first mechanical part to be automatically manufactured (416), the step of causing the first mechanical part to be automatically manufactured comprising sending computer-readable instructions to be read by a computer and automatically triggering a start of automatic manufacturing of the first mechanical part; generating, using the one or more computer processors, a third estimate of manufacturing cost for a second mechanical part with the first machine learning model (404); upon determining that the third estimate of manufacturing cost for the second mechanical part falls outside the range of validity for the first machine learning model (406), flagging the second mechanical part as not suitable for automatic manufacturing (310); generating, using the one or more computer processors, a fourth estimate of manufacturing cost for a third mechanical part with the second machine learning model (408); determining a second expected cost error in the fourth estimate of manufacturing cost for the third mechanical part (410); and Upon determining that the second expected cost error falls outside of a second predetermined acceptable range (412), the third mechanical part is flagged as not suitable for automated manufacturing (414).

2. The method of claim 1, wherein, The step of determining that the first estimate of manufacturing cost of the first mechanical part falls within the effectiveness range of the first machine learning model further comprises: determining, using the one or more computer processors, the effectiveness range of the first machine learning model in estimating manufacturing costs of one or more mechanical parts by: estimating manufacturing costs of the one or more mechanical parts using the first machine learning model (504); identifying actual manufacturing costs of the one or more mechanical parts (506); and comparing the estimated manufacturing costs to actual manufacturing costs (506).

3. The method of any one of claims 1-2, the effectiveness range comprising the minimum manufacturing cost threshold and the maximum manufacturing cost threshold, wherein, The step of determining that the first estimate of manufacturing cost of the first mechanical part falls within the effectiveness range of the first machine learning model comprises determining that the first estimate is greater than the minimum manufacturing cost threshold and less than the maximum manufacturing cost threshold (406).

4. A system for automated manufacturing of mechanical parts, the system comprising: a processor; and a memory storing a program which, when executed on the processor, performs operations comprising: determining an effectiveness range of a first machine learning model, wherein the first machine learning model is a supervised machine learning model and is trained on a first plurality of existing mechanical parts in a database, wherein the step of determining an effectiveness range of the first machine learning model comprises: generating estimated manufacturing costs of the first plurality of existing mechanical parts using the first machine learning model; comparing the estimated manufacturing costs of the first plurality of existing mechanical parts to respective actual manufacturing costs; and identifying, after comparing the estimated manufacturing costs to respective actual manufacturing costs, a minimum manufacturing cost threshold and a maximum manufacturing cost threshold of the first machine learning model; generating a first estimate of manufacturing cost of a first mechanical part using the first machine learning model (222) (404); upon determining that the first estimate of manufacturing cost of the first mechanical part (404) falls within the effectiveness range of the first machine learning model (222) (406), generating a second estimate of manufacturing cost of the first mechanical part using a second machine learning model (232) different from the first machine learning model (408), wherein: the second machine learning model is a supervised machine learning model and is trained on a second plurality of existing mechanical parts in a database, and wherein each part of the second plurality of existing mechanical parts has an estimated manufacturing cost generated by the first machine learning model and falls within the effectiveness range of the first machine learning model, and at least one of the first machine learning model and the second machine learning model is a neural network model; determining an expected cost error in the second estimate of the manufacturing cost of the first mechanical part (410); upon determining that the expected cost error falls within a predetermined acceptable range (412), causing automatic manufacturing of the first mechanical part (416), the step of causing automatic manufacturing of the first mechanical part comprising sending computer-readable instructions to be read by a computer and automatically trigger the start of automatic manufacturing of the first mechanical part; generating a third estimate of a manufacturing cost of a second mechanical part using the first machine learning model (404); upon determining that the third estimate of the manufacturing cost of the second mechanical part falls outside the effectiveness range of the first machine learning model (406), flagging the second mechanical part as not suitable for automatic manufacturing (310); generating a fourth estimate of a manufacturing cost of a third mechanical part using the second machine learning model (408); determining a second expected cost error in the fourth estimate of the manufacturing cost of the third mechanical part (410); and upon determining that the second expected cost error falls outside a second predetermined acceptable range (412), flagging the third mechanical part as not suitable for automatic manufacturing (414).

5. A computer program product for automatic manufacturing of mechanical parts, the computer program product comprising: a computer-readable storage medium containing computer-readable program code, the computer-readable program code executable by one or more computer processors to perform operations comprising: determining an effectiveness range of a first machine learning model, wherein the first machine learning model is a supervised machine learning model and is trained on a first plurality of existing mechanical parts in a database, wherein the step of determining the effectiveness range of the first machine learning model comprises: generating estimated manufacturing costs of the first plurality of existing mechanical parts using the first machine learning model; comparing the estimated manufacturing costs of the first plurality of existing mechanical parts to respective actual manufacturing costs; and after comparing the estimated manufacturing costs to respective actual manufacturing costs, identifying a minimum manufacturing cost threshold and a maximum manufacturing cost threshold of the first machine learning model; generating a first estimate of a manufacturing cost of a first mechanical part using the first machine learning model (222) (404); upon determining that the first estimate of the manufacturing cost of the first mechanical part (404) falls within the effectiveness range of the first machine learning model (222) (406), generating a second estimate of the manufacturing cost of the first mechanical part using a second machine learning model (232) different from the first machine learning model (408), wherein: the second machine learning model is a supervised machine learning model and is trained on a second plurality of existing mechanical parts in a database, and wherein each part of the second plurality of existing mechanical parts has an estimated manufacturing cost, the estimated manufacturing cost being generated by the first machine learning model and falling within the effectiveness range of the first machine learning model, and the second machine learning model is trained on a second plurality of existing mechanical parts in a database, and wherein each part of the second plurality of existing mechanical parts has an estimated manufacturing cost, the estimated manufacturing cost being generated by the first machine learning model and falling within the effectiveness range of the first machine learning model, and At least one of the first machine learning model and the second machine learning model is a neural network model; determining an expected cost error in the second estimate of manufacturing cost of the first mechanical part (410); upon determining that the expected cost error falls within a predetermined acceptable range (412), causing automatic manufacturing of the first mechanical part (416), the step of causing automatic manufacturing of the first mechanical part comprising sending computer-readable instructions to be read by a computer and automatically triggering a start of automatic manufacturing of the first mechanical part; generating a third estimate of manufacturing cost of a second mechanical part using the first machine learning model (404); upon determining that the third estimate of manufacturing cost of the second mechanical part falls outside the validity range of the first machine learning model (406), flagging the second mechanical part as not suitable for automatic manufacturing (310); generating a fourth estimate of manufacturing cost of a third mechanical part using the second machine learning model (408); determining a second expected cost error in the fourth estimate of manufacturing cost of the third mechanical part (410); and upon determining that the second expected cost error falls outside a second predetermined acceptable range (412), flagging the third mechanical part as not suitable for automatic manufacturing (414).

Citation Information

Patent Citations

  • Method and system for executing differential pricing based on machine learning

    CN106127531A

  • Position error estimate and implementation for autonomous driving

    CN106891886A

  • Manufacturing cost estimator

    US20150254374A1