IP Library Granted Patent US 11,055,639
Granted Patent B1
US 11,055,639 · App. 17/064,280 · Granted Jul 6, 2021

Optimizing manufacturing processes using one or more machine learning models

Inventors: Pelin Cay (Raleigh, NC); Nabaruna Karmakar (Morrisville, NC); Natalia Summerville (Cary, NC); Varunraj Valsaraj (Cary, NC); Antony Nicholas Cooper (Knoxville, TN); Steven Joseph Gardner (Cary, NC); Joshua David Griffin (Harrisburg, NC)
Assignee: SAS INSTITUTE INC.
G06Q10/04G06F9/547G06N3/02G06N20/00G06F9/5011G06F9/54G06N3/0454G06N3/0472G06N3/0481G06N20/10G06N20/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,055,639
App. No.
17/064,280
Filed
Oct 6, 2020
Granted
Jul 6, 2021
Kind
B1
Art Unit
2192
USPC
705/7.11
Abstract

Manufacturing processes can be optimized using machine learning models. For example, a system can execute an optimization model to identify a recommended set of values for configurable settings of a manufacturing process associated with an object. The optimization model can determine the recommended set of values by implementing an iterative process using an objective function. Each iteration of the iterative process can include selecting a current set of candidate values for the configurable settings from within a current region of a search space defined by the optimization model; providing the current set of candidate values as input to a trained machine learning model that can predict a value for a target characteristic of the object or the manufacturing process based on the current set of candidate values; and identifying a next region of the search space to use in a next iteration of the iterative process based on the value.

Claims (70)

1. A system comprising:

one or more processing devices; and

one or more memory devices including instructions that are executable by the one or more processing devices for causing the one or more processing devices to:

execute an optimization model to identify a recommended set of values for configurable settings of a manufacturing process associated with an object, the optimization model being configured to determine the recommended set of values by implementing an iterative process using an objective function, each iteration in a plurality of iterations of the iterative process including:

selecting a current set of candidate values for the configurable settings from within a current region of a search space defined by the optimization model, the current set of candidate values being selected for use in a current iteration of the iterative process;

providing the current set of candidate values as input to a trained machine learning model that is separate from the optimization model, wherein the trained machine learning model is configured to be trained prior to an initiation of the iterative process, the trained machine learning model being configured to predict a value for a target characteristic of the object or the manufacturing process based on the current set of candidate values;

receiving the value as output from the trained machine learning model; and

identifying a next region of the search space to use in a next iteration of the iterative process based on the value.

2. The system of claim 1 , wherein the one or more memory devices further include instructions that are executable by the one or more processing devices for causing the one or more processing devices to, prior to performing the iterative process:

receive training data having relationships between (i) a first plurality of values for the configurable settings and (ii) a second plurality of values for the target characteristic associated with the object or the manufacturing process, the second plurality of values resulting from using the first plurality of values to perform the manufacturing process; and

train a machine learning model by iteratively tuning weights internal to the machine learning model based on the training data, to thereby generate the trained machine learning model.

3. The system of claim 1 , wherein the trained machine learning model includes a neural network.

4. The system of claim 1 , wherein the one or more memory devices further include instructions that are executable by the one or more processing devices for causing the one or more processing devices to execute at least two iterations of the iterative process in parallel using at least two instances of the trained machine learning model in parallel.

5. The system of claim 1 , wherein the one or more memory devices further include instructions that are executable by the one or more processing devices for causing the one or more processing devices to store the current set of candidate values for the current iteration in a volatile memory to prevent the optimization model from analyzing the current set of candidate values more than one time during the iterative process.

6. The system of claim 5 , wherein the one or more memory devices further include instructions that are executable by the one or more processing devices for causing the one or more processing devices to, for each iteration of the iterative process:

prior to providing the current set of candidate values as input to the trained machine learning model, access the volatile memory to determine if the current set of candidate values is stored in the volatile memory; and

in response to determining that the current set of candidate values is stored in the volatile memory, prevent the current set of candidate values from being supplied as input to the trained machine learning model; or

in response to determining that the current set of candidate values is absent from the volatile memory, provide the current set of candidate values as input to the trained machine learning model.

7. The system of claim 1 , wherein the trained machine learning model is configured to serve as a constraint function during the iterative process, and wherein each iteration of the iterative process further involves determining whether the value satisfies a predefined constraint.

8. The system of claim 1 , wherein the trained machine learning model is configured to serve as the objective function during the iterative process.

9. The system of claim 1 , wherein the one or more memory devices further include instructions that are executable by the one or more processing devices for causing the one or more processing devices to:

determine whether the recommended set of values satisfies a predefined quality criterion; and

adjust one or more parameters of the optimization model in response to determining that the recommended set of values does not satisfy the predefined quality criterion.

10. The system of claim 1 , wherein the one or more memory devices further include instructions that are executable by the one or more processing devices for causing the one or more processing devices to:

determine whether the optimization model identified the recommended set of values within a predefined timeframe; and

adjust one or more parameters of the optimization model in response to determining that the optimization model did not identify the recommended set of values within the predefined timeframe.

11. The system of claim 1 , wherein the optimization model employs at least a Latin Hypercube Sampling (LHS) algorithm, a Genetic Algorithm, and a Generating Set Search (GSS) algorithm to effectuate the iterative process.

12. The system of claim 1 , wherein the one or more memory devices further include instructions that are executable by the one or more processing devices for causing the one or more processing devices to transmit an electronic communication to a control system associated with the manufacturing process, the control system being configured to receive the electronic communication and automatically adjust the configurable settings to the recommended set of values.

13. The system of claim 1 , wherein the one or more memory devices further include instructions that are executable by the one or more processing devices for causing the one or more processing devices to:

provide the current set of candidate values as input to the trained machine learning model by transmitting the current set of candidate values over a network to an application programming interface (API) for the trained machine learning model; and

receive the value from the trained machine learning model over the network.

14. A method comprising:

executing, by one or more processing devices, an optimization model to identify a recommended set of values for configurable settings of a manufacturing process associated with an object, the optimization model being configured to determine the recommended set of values by implementing an iterative process using an objective function, each iteration in a plurality of iterations of the iterative process including:

selecting a current set of candidate values for the configurable settings from within a current region of a search space defined by the optimization model, the current set of candidate values being selected for use in a current iteration of the iterative process;

providing the current set of candidate values as input to a trained machine learning model that is separate from the optimization model, wherein the trained machine learning model was trained prior to an initiation of the iterative process, the trained machine learning model being configured to predict a value for a target characteristic of the object or the manufacturing process based on the current set of candidate values;

receiving the value as output from the trained machine learning model; and

identifying a next region of the search space to use in a next iteration of the iterative process based on the value.

15. The method of claim 14 , further comprising, prior to performing the iterative process:

receiving training data having relationships between (i) a first plurality of values for the configurable settings and (ii) a second plurality of values for the target characteristic associated with the object or the manufacturing process, the second plurality of values resulting from using the first plurality of values to perform the manufacturing process; and

training a machine learning model by iteratively tuning weights internal to the machine learning model based on the training data, to thereby generate the trained machine learning model.

16. The method of claim 14 , wherein the trained machine learning model includes a neural network.

17. The method of claim 14 , further comprising executing at least two iterations of the iterative process in parallel using at least two instances of the trained machine learning model in parallel.

18. The method of claim 14 , further comprising storing the current set of candidate values for the current iteration in a volatile memory to prevent the optimization model from analyzing the current set of candidate values more than one time during the iterative process.

19. The method of claim 18 , further comprising, for each iteration of the iterative process:

prior to providing the current set of candidate values as input to the trained machine learning model, accessing the volatile memory to determine if the current set of candidate values is stored in the volatile memory; and

in response to determining that the current set of candidate values is stored in the volatile memory, preventing the current set of candidate values from being supplied as input to the trained machine learning model.

20. The method of claim 14 , wherein the trained machine learning model is configured to serve as a constraint function during the iterative process, and wherein each iteration of the iterative process further involves determining whether the value satisfies a predefined constraint.

21. The method of claim 14 , wherein the trained machine learning model is configured to serve as the objective function during the iterative process.

22. The method of claim 14 , further comprising:

determining whether the recommended set of values satisfies a predefined quality criterion; and

adjusting one or more parameters of the optimization model in response to determining that the recommended set of values does not satisfy the predefined quality criterion.

23. The method of claim 14 , further comprising:

determining whether the optimization model identified the recommended set of values within a predefined timeframe; and

adjusting one or more parameters of the optimization model in response to determining that the optimization model did not identify the recommended set of values within the predefined timeframe.

24. The method of claim 14 , wherein the optimization model employs at least a Latin Hypercube Sampling (LHS) algorithm, a Genetic Algorithm, and a Generating Set Search (GSS) algorithm to effectuate the iterative process.

25. The method of claim 14 , further comprising transmitting an electronic communication to a control system associated with the manufacturing process, the control system being configured to receive the electronic communication and automatically adjust the configurable settings to the recommended set of values.

26. The method of claim 14 , further comprising:

providing the current set of candidate values as input to the trained machine learning model by transmitting the current set of candidate values over a network to an application programming interface (API) for the trained machine learning model; and

receiving the value from the trained machine learning model over the network.

27. A non-transitory computer-readable medium comprising program code that is executable by one or more processing devices for causing the one or more processing devices to:

execute an optimization model to identify a recommended set of values for configurable settings of a manufacturing process associated with an object, the optimization model being configured to determine the recommended set of values by implementing an iterative process using an objective function, each iteration in a plurality of iterations of the iterative process including:

selecting a current set of candidate values for the configurable settings from within a current region of a search space defined by the optimization model, the current set of candidate values being selected for use in a current iteration of the iterative process;

providing the current set of candidate values as input to a trained machine learning model that is separate from the optimization model, wherein the trained machine learning model is configured to be trained prior to an initiation of the iterative process, the trained machine learning model being configured to predict a value for a target characteristic of the object or the manufacturing process based on the current set of candidate values;

receiving the value as output from the trained machine learning model; and

identifying a next region of the search space to use in a next iteration of the iterative process based on the value.

28. The non-transitory computer-readable medium of claim 27 , wherein the trained machine learning model is configured to serve as the objective function during the iterative process.

29. The non-transitory computer-readable medium of claim 27 , further comprising program code that is executable by the one or more processing devices for causing the one or more processing devices to transmit an electronic communication configured to cause the configurable settings to be adjusted to the recommended set of values.

30. The non-transitory computer-readable medium of claim 27 , further comprising program code that is executable by the one or more processing devices for causing the one or more processing devices to, prior to performing the iterative process:

receive training data having relationships between (i) a first plurality of values for the configurable settings and (ii) a second plurality of values for the target characteristic associated with the object or the manufacturing process, the second plurality of values resulting from using the first plurality of values to perform the manufacturing process; and

train a machine learning model by iteratively tuning weights internal to the machine learning model based on the training data, to thereby generate the trained machine learning model.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA BY ADDING INVENTOR NAMES PREVIOUSLY RECORDED AT REEL: 054165 FRAME: 0124. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Apr 14, 2021
From: CAY, PELIN; KARMAKAR, NABARUNA; SUMMERVILLE, NATALIA; VALSARAJ, VARUNRAJ; COOPER, ANTONY NICHOLAS; GARDNER, STEVEN JOSEPH; GRIFFIN, JOSHUA D.
To: SAS INSTITUTE INC.
Reel/Frame 055942/0442 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: CAY, PELIN; KARMAKAR, NABARUNA
To: SAS INSTITUTE INC.
Reel/Frame 054165/0124 →
Continuity (1)
Provisional Application 63016767 · Apr 28, 2020
Cited By (8)
US 12,222,713 US 12,353,981 US 12,368,503 US 12,461,943 US 12,524,647 US 12,587,274 US 12,603,701 US 12,627,372