Methods, systems, and program products for optimizing one or more characteristics of a product to be manufactured
By training a machine learning model to understand the relationship between the product's design and manufacturing parameters and characteristics, the product's characteristics are automatically optimized, solving the problem of complex nonlinear interactions in existing technologies and achieving more accurate optimization results.
Patent Information
- Application Number
- CN202610611081.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-05-06
- Filing Date
- 2026-05-06
- Publication Date
- 2026-11-06
AI Technical Summary
Existing technologies struggle to effectively capture the complex nonlinear interactions between product characteristics, design parameters, and manufacturing processes in mechanical manufacturing, leading to inaccurate optimization results.
The model is trained using machine learning methods. By learning the relationship between the product's design and manufacturing parameters and characteristics, the product characteristics are automatically optimized. The LLM module provides test results that explain or modify parameters.
It improves the accuracy and insight of product feature optimization, is applicable to various components and industries, and can cope with the increasing complexity of manufacturing processes without increasing the burden on users.
Smart Images

Figure CN123049102A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer programs and systems, and more specifically, to methods, systems, and program products for optimizing one or more characteristics of a product to be manufactured. Background Technology
[0002] The market offers numerous solutions (hardware and software) for the design, engineering, and manufacturing of objects. CAD, an acronym for Computer-Aided Design, refers to software solutions used for designing objects. CAE, an acronym for Computer-Aided Engineering, refers to software solutions used for analyzing and simulating the physical behavior of future products. CAM, an acronym for Computer-Aided Manufacturing, refers to software solutions used for defining product manufacturing processes and resources. In these computer-aided design solutions, graphical user interfaces play a crucial role in technological efficiency. These technologies can be embedded in Product Lifecycle Management (PLM) solutions. PLM refers to an engineering strategy that helps companies share product data, apply common processes, and leverage enterprise knowledge to develop products from concept to end-of-life, extending the enterprise's overall vision. Dassault Systèmes' PLM solutions (traded as CATIA, SIMULIA, DELMIA, and ENOVIA) provide an engineering hub for organizing product engineering knowledge, a manufacturing hub for managing manufacturing engineering knowledge, and an enterprise hub that enables businesses to integrate and connect to both the engineering and manufacturing hubs. Together, all solutions provide a common model that links products, processes, and resources to enable dynamic, knowledge-based product creation and decision support that drives optimization of product definition, manufacturing readiness, production, and service.
[0003] In this context, the design and manufacturing process often includes an optimization step in which the performance of the part / product being designed is optimized (e.g., in terms of use and / or manufacturing), for example, in terms of certain constraints.
[0004] In mechanical manufacturing, optimizing component performance traditionally relies on well-defined relationships between design parameters, manufacturing processes, and the final characteristics of the component. Conventional methods often employ deterministic models, which may fail to capture the complex nonlinear interactions between product / component characteristics and parameters inherent in the manufacturing process and / or the product's design parameters.
[0005] In this context, there is still a need for improved solutions to infer the relationship between the set of design and / or manufacturing parameters of a product to be manufactured and one or more sets of characteristics of that product, as well as to optimize the characteristics of the product. Summary of the Invention
[0006] Therefore, a computer-implemented method for optimizing one or more characteristics of a product to be manufactured is provided. The method includes providing a user with an optimization problem for optimizing one or more characteristics of the product. The optimization problem is based on a pool of one or more known relationships, each relationship being the relationship between one or more characteristics of the product and manufacturing and / or design parameters of the product. The method also includes a text request provided by the user related to the optimization problem. This request is one of the following: a request for testing of modifications to one or more manufacturing and / or design parameters of the product; or a request for an interpretation of the results of the optimization problem. The method further includes: if the request is for an interpretation of the results of the optimization problem, the interpretation is automatically provided by a first trained LLM-based module. The method further includes: if the request is for testing of modifications to one or more manufacturing and / or design parameters of the product, the results of the optimization problem are automatically provided by a second trained LLM-based module based on the modifications and the one or more relationships.
[0007] The method may include one or more of the following features:
[0008] - The method includes: automatically, after the system receives a text request,
[0009] - Process text requests by applying text cleansing to the text requests and breaking them down into structured segments;
[0010] o Apply the LLM model to the text request being processed to determine whether the request is for testing modifications to one or more manufacturing and / or design parameters of a product, or for interpreting the results of an optimization problem;
[0011] o converts the processed text request into a JSON file, and the other steps of this method use the JSON file;
[0012] - Providing optimization results based on modifications and one or more relationships includes: determining whether there is a relationship between one or more modified parameters in the pool and one or more characteristics of the product;
[0013] - If it is determined that there is a relationship between one or more modified parameters in the pool and one or more characteristics of the product, then providing the results of the optimization problem based on the modification and one or more relationships also includes: calculating the results of the optimization problem using the one or more modified parameters;
[0014] - If it is determined that there is no relationship between the modified one or more parameters and one or more characteristics of the product in the pool, then providing results for the optimization problem based on the modification and one or more relationships also includes: determining, based on the available learning data, whether the new relationship between one or more characteristics and the modified one or more parameters can be learned by a machine learning model;
[0015] - If it is determined that a new relationship between one or more features and one or more modified parameters can be learned by a machine learning model, then providing results for the optimization problem based on the modification and one or more relationships also includes: learning the new relationship by training a machine learning model;
[0016] - If it is determined that a new relationship between one or more features and one or more modified parameters cannot be learned by a machine learning model, then providing the results of the optimization problem based on the modification and one or more relationships also includes: determining whether additional learning data is needed to learn the new relationship, and if additional learning data is needed and is available, then learning the new relationship based on the additional learning data by training a machine learning model based on the additional learning data;
[0017] - Among these, the results for optimizing the problem based on modifications and one or more relationships also include:
[0018] o Based on the optimization problem of updating new relations; and
[0019] o Solve the updated optimization problem based on one or more modified parameters;
[0020] - The results provided for the optimization problem include:
[0021] o Generates a JSON file describing the results; and
[0022] o Use an LLM model to output results as text based on a JSON file;
[0023] - Explanations provided include:
[0024] o To obtain one or more solutions to an optimization problem, where each solution is associated with corresponding values of one or more parameters, one or more objective functions, and one or more constraints;
[0025] o Analyze one or more solutions, including:
[0026] ■ For a single solution, use the local sensitivity test and / or SHAP value method to calculate an importance index to describe which parameters have the strongest influence on each objective function;
[0027] ■ For the Pareto solution set, compare them to determine the trade-offs;
[0028] o Apply the LLM model to the corresponding values and the results of the analysis to output a textual description of the optimized results;
[0029] - The method further includes: a user-provided additional text request for further explanation of the results, or another text request for explanation of optimized results with one or more modified parameters; and / or
[0030] The method also includes using the results of the optimization to manufacture products with one or more optimized properties.
[0031] A computer program product including instructions for performing the method is also provided.
[0032] An apparatus is also provided, which includes a data storage medium on which a computer program product includes a computer program recorded.
[0033] The device can form or serve as a non-transitory computer-readable medium, such as on SaaS (Software as a Service) or other servers, or cloud-based platforms. The device may alternatively include a processor coupled to a data storage medium. Therefore, the device can form the whole or a part of a computer system (e.g., the device is a subsystem of the whole system). The system may also include a graphical user interface coupled to the processor. Attached Figure Description
[0034] A non-limiting example will now be described with reference to the accompanying drawings, in which:
[0035] - Figures 1-2 The method disclosed herein is illustrated; and
[0036] - Figure 3 An example of a computer system is shown. Detailed Implementation
[0037] A computer-implemented machine learning method is proposed. This method is used to learn one or more relationships between a set of design and / or manufacturing parameters of a product to be manufactured and a set of one or more characteristics of the product. The method includes obtaining a training dataset comprising training examples. Each training example includes example values of the parameters of the set and the corresponding ground truth values of one or more characteristics. The method also includes training a machine learning model based on the training dataset. The model is trained to infer one or more relationships. This method may be referred to as a "learning method".
[0038] This learning method constitutes an improved solution for inferring the relationship between a set of design and / or manufacturing parameters of a product to be manufactured and one or more sets of characteristics of that product, thereby optimizing those characteristics.
[0039] First, this learning method trains a model to infer the inherent, implicit, and complex relationships between product characteristics and their design and manufacturing parameters. Unlike traditional part optimization frameworks that rely on known dependencies between characteristics and design / / or manufacturing parameters and are unaware of potential hidden dependencies, this learning method allows for the identification of such hidden dependencies. This allows for further improvements in product characteristic optimization, where traditional optimization frameworks may include the risk of obtaining suboptimal products due to the lack of consideration for hidden relationships. Therefore, the trained model effectively reveals hidden correlations between design / manufacturing parameters and part performance, leading to more accurate and insightful optimization results. Furthermore, the proposed approach is applicable to a wide range of parts and industries. Its scalability ensures that the method can handle increasing demands without imposing additional burdens on users as manufacturing processes become more complex. These advantages are further demonstrated in the application method, which may involve actually performing optimization in this context. Additionally, the learned model can be used in interactive optimization methods discussed further below.
[0040] This method is a machine learning approach. Specifically, it trains a model based on a training dataset to infer one or more relationships between the design and / or manufacturing parameters of a given product to be manufactured and one or more characteristics of that product.
[0041] As is known in the field of machine learning itself, a model's processing of inputs involves applying operations to those inputs, which are defined by data including weight values or parameters. Therefore, learning a model (e.g., a neural network or a regressor) involves determining the values of the weights / parameters based on a dataset configured for this learning, which may be referred to as a learning dataset or training dataset. For this purpose, a dataset includes data pieces, each forming a corresponding training sample or training example. Training samples / training examples represent the diversity of situations that will be used after the model is learned. Any training dataset described herein may include a large number of training samples / training examples exceeding 1000, 10000, 100000, or 1000000. In the context of this disclosure, "learning a model based on a dataset" means that the dataset is the learning / training dataset for the model, and the values of the weights / parameters are set based on that learning / training dataset. In this disclosure, a training dataset is a dataset of training examples for a training function.
[0042] As is known from machine learning itself, a neural network can be defined by its architecture, parameters, and hyperparameters. The architecture consists of layers, starting with an input layer whose neuron count can be determined by the dimension of the input data. Following this layer are several hidden layers with a given number of neurons and activation functions. These layers and neurons define the depth and width of the network, while the activation functions introduce non-linearity into the model. The output layer can have as many neurons as there are variables in the output data. The interconnections between these layers define the topology of the neural network. The parameters of a neural network are learnable weights and biases that are determined during training. Conversely, hyperparameters are predefined settings that are not learned from the training data. These settings include the number of hidden layers, the number of neurons per layer, and so on. To train a neural network, at least two settings can be defined. First, the loss function, which is a measure of the error (such as mean square error, MSE) between the training data and the model's predictions. Second, the optimizer, which modifies the model's weights and biases during training to minimize the loss function. Each optimizer has its own set of hyperparameters.
[0043] This method is applied to a given product; that is, the model learns the relationships for that given product. In other words, the learned relationships apply only to that product and its characteristics and parameters. The product can be any mechanical part, such as an automotive driveshaft.
[0044] The one or more characteristics are one or more properties of a product, also referred to as “attributes” or “performance indicators.” Each characteristic is a feature or performance indicator of the product, such as during use and / or manufacturing. For example, if the product is an automotive driveshaft, the characteristics may include one or any combination of the following characteristics: tensile strength (expressed in MPa), fatigue resistance (number of cycles before failure), weight (in kg), and corrosion resistance grade (e.g., expressed as a category of C1 (very low), C2 (low), C3 (medium), C4 (high), C5 (very high)). These characteristics may be characteristics optimized prior to manufacturing the product, as discussed further below.
[0045] A product's parameters include one or more parameters. Each parameter is either a design parameter or a manufacturing parameter. Design parameters are those that affect the product's design, such as parameters affecting the product's geometry or its material composition. Manufacturing parameters are those of the manufacturing process used to manufacture the product and / or the manufacturing machines used to manufacture the product. For example, if the product is an automotive driveshaft, the parameters may include one or more of the following: material composition (percentage of alloying elements), heat treatment process (an indication of the process, such as quenching, tempering, and normalizing), cutting speed (i.e., the cutting speed of the cutting tool used to manufacture the part, expressed in m / min), feed rate (i.e., the speed at which the cutting tool advances into the material during machining, expressed in mm / rev), tool type (an indication of the tool type, such as carbide and high-speed steel), and lubricant type (e.g., type A and type B).
[0046] This method involves obtaining a training dataset. The training dataset includes training examples. All training examples are relative to the same product; that is, all training examples include examples of the parameter values and true characteristic values of that product. For example, if the product is an automotive driveshaft as described above, then all examples include the parameter values and characteristic values of the aforementioned automotive driveshaft.
[0047] Each training example includes example values for the parameters of that set; that is, each training example includes a corresponding value for one of the design and / or manufacturing parameters, and the training example includes the corresponding value for that corresponding parameter. For example, if the product is an automotive driveshaft as previously discussed, each training example may include any one or any combination of the following: values of alloying elements in percentage terms, values representing heat treatment processes in quenching, tempering, and normalizing, cutting speed values in m / min, feed rates in mm / rev, values representing tool types in carbides and high-speed steels, and / or values representing lubricant types in type A or type B.
[0048] Each training example also includes corresponding true values for one or more characteristics, that is, the true values of one or more characteristics when the parameters have example values as values. For each of the one or more characteristics, these true values consist of the corresponding value of that characteristic. For example, if the product is an automotive driveshaft, the characteristic value may consist of one or any combination of the following: a tensile strength value in MPa, a fatigue resistance value in terms of the number of cycles before failure, a weight value in kg, and a corrosion resistance rating value represented by one of C1 (very low), C2 (low), C3 (medium), C4 (high), and C5 (very high).
[0049] The true values are not arbitrary, but rather correspond to, or at least to, the true values of properties observed (e.g., measured) for the corresponding parameter values in the real world (i.e., in a real example of the product). For example, training examples may include, or at least include, training examples of parameter values and corresponding true property values measured in the real world (during manufacturing, post-manufacturing testing, and / or maintenance operations) for a real example of the product, and / or training examples of values known from the real world (such as known values of material properties (e.g., strength, stiffness, thermal conductivity, electrical conductivity, etc.) associated with a material composition, chemical composition / structure, and / or crystal structure). Such training examples may be referred to as “real-world” training examples because they originate from real-world physical measurements of a real-world example of the product. Additionally or alternatively, training examples may include, or at least include training examples of parameter and property values that are not themselves measured for a real-world product, but are synthesized from the “real-world” training examples using any suitable synthesis process used to generate corresponding realistic synthetic data from real-world data. This is especially likely to be the case for products for which there are few or too few real-world examples to allow for robust learning, due to confidentiality issues on the part of the companies that manufacture them.
[0050] Obtaining a training dataset may include acquiring real-world training examples by actually performing the required measurements or by obtaining these measurements from storage (e.g., remote) memory or a database where they are already stored. Alternatively or additionally, obtaining a training dataset may include performing the synthesis process discussed earlier. However, alternatively, obtaining a training dataset may simply involve obtaining the training dataset from storage (e.g., remote) memory or a database where training examples are already stored.
[0051] Before training a machine learning model based on a training dataset, the learning method may include a preprocessing step of the training dataset, which may include one or any combination of the following steps:
[0052] - Normalization: Scaling all numerical values (of parameters and features) to a common range, such as [0,1], to prevent bias during training;
[0053] - Feature Engineering: Adding additional parameter and / or characteristic values to all examples based on known relationships with existing parameters and / or characteristics. For example, in the automotive driveshaft discussed above, a hardness ratio can be added to each example based on its material composition and heat treatment values, and / or a machinability index can be added to each example based on cutting speed, feed rate, and tool type values. The harness ratio is a design parameter, and the machinability index is a manufacturing parameter.
[0054] The learning method then further includes training a machine learning model based on a training dataset. This involves feeding the model parameter values of training examples, as is known from machine learning itself and as discussed above, and modifying the model's parameters until it provides sufficiently consistent results (a convergence / termination relative to a training criterion, as is known in itself). The model is trained to infer one or more relationships between features and parameters. Each relationship is a sequence of one or more mathematical and / or logical operations used to compute / infer the value of a feature based on the input values of the parameters. This sequence is the sequence of operations performed by the model when the input values of the parameters are fed as input. The meaning of "one or more relationships" is explained as follows: the model infers a global relationship, which lies in the sequence of operations performed by the model and, by processing the input values of the parameters, produces the value of each feature. However, if one or more features include several features, the values of all features are inferred based on the input parameter values; the model inherently infers the specific value of each individual feature based on the input. Each such specific inference is also the relationship between the corresponding individual feature and the parameters. It should be understood that, given all the features of interest for a particular product, the method can be applied once to infer a general global relationship between all features and parameters of the product, or it can be repeatedly applied to various subsets of all features (e.g., applied to each feature separately) to specifically infer each relationship between the subset and the parameter.
[0055] Training a machine learning model can involve training several machine learning models and then selecting the best model by rewarding the model with a high evaluation score.
[0056] The training of several models can include:
[0057] - Split the dataset into training and test sets (e.g., 80% training set, 20% test set).
[0058] - Train each model using the training set;
[0059] - Optionally, cross-validation can be used to perform hyperparameter tuning to optimize model performance.
[0060] Then, selecting the best model can involve evaluating each model on the test set by calculating model evaluation scores and selecting the model with the best evaluation score. Evaluation scores can be: Mean Squared Error (MSE) (which measures the average squared difference between predicted and true values), R-squared Error (R... 2 (This represents the proportion of variance explained by the model) or Root Mean Squared Error (RMSE) (which measures the square root of the MSE, providing an error in the same units as the target variable). For examples of these scores, the optimal model is the one with the smallest error.
[0061] Several machine learning models may include two or any combination of the following (e.g., all of them): linear regression models, random forest models, support vector machine (SVM) models, classification and regression trees (CART) models, gradient boosting machine (GBM) models, and multi-layer perceptron (MLP) models.
[0062] As is known per se, a linear regression model is a statistical model used to model the relationship between input and output variables. In the context of this application, the linear regression model models the relationship between parameters (input variables) and characteristics (output variables). The goal of linear regression is to find the best-fit line (or, in a higher dimension, a hyperplane) that predicts the dependent variable based on the independent variables.
[0063] If one or more characteristics contain a single characteristic (represented as...) Then the linear regression model will Calculated as
[0064]
[0065] in, Indicates parameters, It is the number of parameters, and for each , Is with parameters Correlated coefficients. It is the so-called intercept coefficient (when hour, (value), and It is the error term ( The difference between the predicted value and its true value. As is known per se, learning the model involves feeding the model... Examples of values, and by minimizing the training examples as input. The calculated values are related to these training examples. The coefficients are modified based on the error between the true values (e.g., mean square error). The value of . Once the model is trained, it predicts the parameters. The value of any input value's property.
[0066] If one or more characteristics contain several characteristics Then the linear regression model is multivariate, that is... The calculation is as follows:
[0067]
[0068] in, yes vector, yes vector" ",and The coefficients are inferred during training by minimizing the error (e.g., multidimensional mean squared error). of matrix.
[0069] As is known by itself, a random forest model is a holistic learning model for classification and regression tasks. It operates by building multiple decision trees during training and outputting either a class (for classification) or a mean prediction (for regression) for each individual tree. In classification mode, the random forest is trained to take parameters as input values and output a class (in a predefined set of classes) for a feature, where each tree predicts one class, and the output class is the one with the majority vote. When a feature takes a finite number of values (e.g., for the corrosion resistance rating category discussed earlier), the mode (classification) is applied (and thus learned) so that possible feature values can be arranged into a finite set of classes. In other cases (where at least one feature takes its value over a continuous range; for example, this is the case for weighted features), the random forest model is applied (and learned) in regression mode, where each tree learns to predict the value for each feature, and the final (output) prediction is the average of all the tree predictions. The advantage of random forests lies in their ability to handle non-linear relationships and interactions between variables, whereas linear regression models may not capture non-linear dependencies. The hyperparameters of a random forest model are the number of trees, maximum depth, and minimum sample split.
[0070] Support Vector Machine (SVM) models are known to be supervised machine learning models used for classification or regression (which also have classification and regression modes or settings). The kernel function can be linear, polynomial, or radial basis functions to capture non-linearity. In the classification mode, it is trained to find the optimal hyperplane (also called the "decision boundary") that separates the training examples in the training dataset into acceptable and unacceptable classes while maximizing the margin (the distance between the points closest to the hyperplane for each class). These closest points are called support vectors. In the classification setting, it therefore outputs "acceptable points satisfy..." The definition of the decision boundary for this type. In the regression setting, instead of finding the boundary, it is trained to fit a function (which calculates the value of the property based on the value of the parameters) where most data points are within the tolerance margin. In this case, the support vectors are training examples that lie within or outside the tolerance margin. As mentioned above, the classification setting is used when the training examples have only discrete values, while the regression setting is used when the training examples have at least some values in a continuous range.
[0071] The CART (Classification and Regression Tree) model is a known type of decision tree model. It forms a predictive model by recursively partitioning the training dataset into subsets based on feature thresholds to minimize prediction error. It also has classification settings (again applicable to discrete training data) and regression settings (again applicable to continuous training data). In the classification setting, the tree predicts discrete categories (e.g., corrosion resistance as described above). In the regression setting, the tree predicts continuous values (e.g., weight values as described above).
[0072] Gradient Boosting Machine (GMB) models, as they are known, are machine learning models used for classification and regression tasks; that is, they also have classification settings (again applicable to discrete training data) and regression settings (again applicable to continuous training data). It is an ensemble learning method that sequentially builds a series of decision trees (for classification) by fitting weak learners to each other in order to minimize the loss, with each new tree correcting the errors of the previous trees. Its advantages include high prediction accuracy and the ability to handle complex data structures.
[0073] Multi-Layer Perception (MLP) is a known neural network model capable of modeling nonlinear relationships. As is known by itself, it has an input layer that receives the input (a set of parameter values), followed by hidden layers with activation functions (e.g., ReLU or Sigmoid) that process the input, and an output layer that outputs the feature values produced by the operations / processing performed by the previous layers.
[0074] It also proposes machine learning models that can be obtained based on learning methods, such as models trained and selected from several training models based on learning methods.
[0075] A computer-implemented method for using a model is also provided. This method is used to optimize at least one of one or more characteristics of a product to be manufactured, based on a set of design and / or manufacturing parameters. The one or more characteristics and parameters are, of course, those that the model has already seen during training, such as those involved in the learning method. The method includes: formulating an optimization problem for performing the optimization by using one or more relationships between the set of parameters inferred by the model and the one or more characteristics. In practice, since the relationships inferred by the model correlate the values of the characteristics with the values of the parameters, these correlations / relationships can be transformed into an optimization problem in which at least one of these characteristics is optimized relative to the parameters as free variables for optimization.
[0076] As is known per se, an optimization problem comprises one or more objective functions that are optimized (i.e., minimized or maximized) by changing the free variables of the function (i.e., by finding the values of the free variables that optimize or tend towards the value of the objective function). In the present case, each objective function to be optimized is one of the characteristics (e.g., maximizing tensile strength) or a combination of characteristics (e.g., maximizing tensile strength and minimizing weight), and its free variables include one or more parameters (e.g., all parameters). Therefore, constructing an optimization problem may include constructing one or more objective functions based on one or more relationships.
[0077] One or more objective functions may include or consist of functions generated by the model. The function is to express at least one characteristic to be optimized as a result of applying the model. Therefore, the function depends on parameters; that is, it treats all parameters as free variables. Thus, the function is defined by the model (e.g., its weights and / or parameters). For example, for the previously discussed automotive driveshaft, at least one characteristic may include tensile strength. And the objective function can be:
[0078]
[0079] in, Defined by the model. In other words, This corresponds to the calculation / inference performed by the model from the input values of the parameters. The sequence of operations on the value (e.g., if the model is an MLP model, then) (Defined by the weights and activation function of the MLP). In practice, this means... By calling the model and applying it to each example of the parameter values seen / tested during optimization, and by extracting from the model's output... The value is used for calculation. Here we use... As an example, however any other property or any subset of properties can be computed similarly, and therefore the objective function can be defined similarly.
[0080] Alternatively or concurrently, one or more objective functions may include or contain one or more functions, each representing a corresponding maximization or minimization relationship between at least one characteristic and at least one parameter. Constructing such a function may include performing a statistical analysis of the results provided by the model (i.e., the value of at least one characteristic), and inferring from the analysis that at least one characteristic is negatively or positively affected (e.g., maximized or minimized) by some evolution of at least some parameters. For example, in the case of an automotive driveshaft, the statistical analysis may include using the model to understand how feed rate and cutting speed affect tensile strength and surface finish, and concluding that an increased feed rate negatively affects surface finish but has a negligible effect on tensile strength until a certain threshold is reached, and that an optimal cutting speed exists for maximizing tensile strength due to favorable microstructural changes. The objective function can then be constructed accordingly.
[0081] As is known by its own knowledge, an optimization problem may include (though not necessarily) one or more constraints. Constructing an optimization problem may also include constructing one or more constraints based on a model and / or its training dataset, for example by performing analysis on the output of the model and / or its training dataset (e.g., statistical analysis and / or data observation analysis), to infer unacceptable values for at least some parameters to exclude from the possible values the parameters may take during optimization.
[0082] One or more constraints for constructing an optimization problem based on a model and / or its training dataset may include one or more of the following:
[0083] - Determine one or more ranges for parameter values; outside of these ranges, the model provides unreliable or unacceptable predictions.
[0084] - Determine the boundaries that optimization must not cross based on the results of models that are marked as unacceptable or acceptable;
[0085] - Determine one or more thresholds for the feature values, beyond which the model provides unreliable or unacceptable predictions; and / or
[0086] - Determine the data region surrounding typical parameter values, and parameter values outside this data region are considered unacceptable.
[0087] Determining one or more ranges of parameter values (outside of which the model provides unreliable or unacceptable predictions) can include: for each parameter that is a free variable for optimization, determining the range of parameter values to which all example values of the parameter in training belong, and in the optimization problem, constructing a constraint that the parameter must only have values within that range. For example, if the training dataset only includes cutting velocities between 100 m / min and 200 m / min, extrapolations outside that range may be unreliable. Therefore, optimization could include cutting velocity parameters. constraints The determination of one or more ranges of parameter values can be done for any of the models listed above (linear regression, random forest, SVM, CART, GBM, MLP), and is not specific to any particular model.
[0088] Based on the results of the model labeled as unacceptable or acceptable, determine the boundaries that the optimization must not cross. This can be done when the model is a model with a classification mode / setting (and the model is used and learned in that mode), and therefore for the case where the model outputs the label values of one or more characteristics within a discrete set of labels, as discussed earlier. Thus, this boundary determination applies to models such as SVM, Random Forest, GMB, or CART. Determining the boundary may include defining the set of output labels considered acceptable and the set of output labels considered unacceptable. Alternatively, the model may simply output only the two possible labels of acceptable and unacceptable (e.g., acceptable corrosion resistance rating or acceptable tensile strength). This acceptance versus unacceptability classification forms the boundary, and the constraint of the optimization problem is that one or more characteristics to be optimized must belong to the acceptable side of the boundary.
[0089] Determining one or more thresholds for characteristic values (beyond which the model provides unreliable or unacceptable predictions) can include: performing an analysis of the error produced by the model using any procedure known in machine learning, and determining from that analysis that the model performance is only acceptable when one or more parameters each have values above or below their respective thresholds (e.g., the error produced by the model between the computed output and the true value remains below a predefined maximum error value). In this case, the corresponding constraint in the optimization problem is to constrain each such parameter to have its value below or above the corresponding threshold, where appropriate. For example, data might show that performance is only acceptable at a certain tensile strength (e.g., ≥750MPa is acceptable, in which case the target tensile strength function is obtained. The optimization problem can include constraints ≥750. One or more thresholds can be determined for any of the models listed above (linear regression, random forest, SVM, CART, GBM, MLP), and it is not specific to any particular model.
[0090] A data region is defined that encloses typical parameter values, and parameter values outside this region are considered unacceptable. This definition of the data region can be applied only when the model is an SVM, and can include using support vectors to define a region or range that encloses acceptable / typical parameter values. The corresponding constraint is that parameter values in the optimization must not be outside this region / range.
[0091] In the implementation, if the model is a linear regression model, the constraints can include determining the range of parameter values based on the training dataset as described above and / or determining thresholds as described above, for example by determining that the linear fit is kept only within the observed data range (e.g., the cutting speed is from 100 m / min to 200 m / min). Exceeding these ranges or thresholds can significantly increase the prediction error, which means that natural constraints prohibit values outside these ranges or thresholds.
[0092] In this implementation, if the model is a random forest, the construction of constraints can include determining the boundaries that cannot be crossed, as discussed earlier, since decision trees naturally divide the feature space into regions. By analyzing the leaf nodes corresponding to acceptable outputs, this method can derive feasible subranges of parameters and construct constraints accordingly.
[0093] In the implementation, if the model is an SVM model, the construction of constraints may include: 1) in the classification setting (acceptable and unacceptable features), the SVM boundary becomes a constraint: feasible points satisfy d(x) ≥ 0 (distance from the separating hyperplane); and 2) in the regression setting, the support vectors define the data coverage, indicating that if the parameter limit (threshold or range as described above) exceeds the parameter limit, the prediction may be unreliable.
[0094] In the implementation, if the model is a CART model, the construction of constraints may include determining the set of parameter thresholds corresponding to each path in the tree. High-performance regions represent feasible regions; below / above certain splits, the model may predict faulty or insufficient characteristics, thus revealing implicit constraints.
[0095] In the implementation, if the model is a GBM model (similar to a random forest, where GBM produces an ensemble of trees), the construction of constraints may include checking which tree terminal regions are associated with acceptable and unacceptable outcomes in order to define a feasible or safe region for each combination of parameters.
[0096] In this implementation, if the model is an MLP model, the construction of constraints may include: once the model is trained, using sensitivity analysis or boundary mapping to see how the output characteristics change with the parameters. This reveals the intervals / ranges that keep the predicted characteristics within the desired target (e.g., feed rates between 0.2 mm / rev and 0.5 mm / rev).
[0097] As a complement or alternative to building constraints based on the model and / or training dataset, the construction of the optimization problem may include building one or more other constraints independent of the model or training data, such as constraints related to specific manufacturing considerations (e.g., using a specific manufacturing machine that has maximum and minimum cutting speeds and / or feed rates regardless of the training data) and / or specific design settings (e.g., allowing the total percentage of components to be 100%) and / or specific desired constraints on the properties to be optimized (e.g., the tensile strength required for a specific use of the product to be above a certain threshold).
[0098] This method can also include solving optimization problems. Solving optimization problems will be discussed further below.
[0099] A computer-implemented method for optimizing one or more characteristics of a product to be manufactured is also provided. This method may be referred to as an "interactive optimization method." The interactive optimization method includes providing a user with an optimization problem for optimizing one or more characteristics of the product. The optimization problem is based on a pool of one or more known relationships. Each relationship is a relationship between one or more characteristics of the product and manufacturing and / or design parameters of the product. The interactive optimization method includes a text request provided by the user related to the optimization problem. This request is one of the following: a request for testing of modifications to one or more manufacturing and / or design parameters of the product; or a request for an interpretation of the results of the optimization problem. The interactive optimization method also includes, automatically: if the request is for an interpretation of the results of the optimization problem, an interpretation is provided by a first trained LLM-based module; if the request is for testing of modifications to one or more manufacturing and / or design parameters of the product, the results of the optimization problem are provided by a second trained LLM-based module based on the modifications and one or more relationships.
[0100] In the interactive optimization method, the product, characteristics, and parameters to be manufactured can be the same as those discussed above for the learning and usage methods. That is, the descriptions of the products, parameters, and characteristics provided in this paper for the learning and usage methods are also applicable to the products, characteristics, and parameters involved in the interactive optimization method.
[0101] In the interactive optimization method, the optimization problem can be the optimization problem of the usage method discussed in this paper. This problem is based on a pool of one or more known relationships between the product's characteristics and parameters, and the optimization problem in the usage method is based on relationships inferred by a machine learning model. In other words, in this case, the pool of one or more known relationships is a set of one or more relationships learned / inferred by the aforementioned machine learning model. In this case, the interactive optimization method simply forms the additional steps of the usage method; that is, the usage method further includes the following steps:
[0102] - Providing optimization problems to users (i.e., one of the methods of use), that is, the step of providing optimization problems in interactive optimization methods includes providing optimization problems to users when interactive optimization methods are part of the method of use;
[0103] - Provide a text request related to the optimization problem, which is one of the following:
[0104] o Request for testing of modifications to one or more manufacturing and / or design parameters of the product; or
[0105] o Request an interpretation of the results for the optimization problem; and
[0106] - Automatically:
[0107] If the request is for an explanation of the results of an optimization problem, the explanation is provided by the first trained LLM-based module; and
[0108] If the request is for testing modifications to one or more manufacturing and / or design parameters of the product, a second trained LLM-based module provides the results of the optimization problem based on the modifications and one or more relationships.
[0109] Alternatively, in interactive optimization methods, the optimization problem can be any known optimization problem that optimizes one or more properties of a product based on parameters or a subset thereof as free variables. This problem is based on an existing pool of relationships between the product's properties and parameters, such as known relationships, or explicit relationships known from the product's manufacturing and / or physical characteristics.
[0110] Providing an optimization problem to a user can essentially involve displaying the optimization problem or data related to that problem. For example, this could include displaying, either individually or as a display formula of the problem, the objective function to be optimized and minimized (which relates to optimizing at least one characteristic), the parameters as free variables for optimization, and the optimization constraints (on the parameters and / or the objective function). This display can be executed on a system with a graphical user interface (GUI) designed to accommodate the display and subsequent user-GUI interactions discussed herein.
[0111] The provision of a text request is performed by a user through user interaction with a graphical user interface of a system on which an interactive optimization method is executed. The graphical user interface can be a web interface or an interface of native / standalone software. Providing a text request can include, for example, graphically inputting text using a keyboard. Alternatively, a speech-based solution with text recognition can be used to input text requests via speech. A text request is a sentence (though possibly grammatically imperfect) or several sentences related to the optimization problem and relates to one of the following: 1) a request for testing of modifications to one or more manufacturing and / or design parameters of a product; or 2) a request for an interpretation of the results of the optimization problem. Examples of text requests are provided below. The method may include imposing restrictions on the number of words or characters in the request and / or rejecting requests that are not recognized as corresponding to 1) or 2) above.
[0112] This interactive optimization method may include: automatically, after the system receives a text request, following:
[0113] - Text requests are processed by applying text cleansing to the text request and breaking it down into structured segments. This can be done by the MessageIngestor microservice, which applies a text cleansing process (for noise removal) and breaks the request down into structured fragments (sentences, keywords, and field items).
[0114] - Apply an LLM model to the processed text request to determine whether the request is for testing modifications to one or more manufacturing and / or design parameters of a product, or for interpreting the results of an optimization problem. This can be accomplished using a domain-specific base model (e.g., a fine-tuned version of GPT-4 or LLaMA), which may be referred to as DomainLLM, with the processed text fed into the model as input. DomainLLM identifies the user's intent (e.g., "test parameter change", "add constraint", "interpretation request") and extracts relevant details (parameter name, value, threshold). If the request is determined to be an interpretation, the method determines the intent to be "explain_solution" and can redirect the user query to a dedicated ExplainabilityModule. This module can provide interpretation by: accessing feature importance data, performing sensitivity analysis, and providing domain-based reasoning (e.g., "increasing carbon content affects hardness and therefore tensile strength...").
[0115] - The processed text request is automatically converted into a JSON file, which is then used in other steps of the method. The conversion to a JSON file can also be done by DomainLLM, which can be configured to archive predefined JSON file templates that include the following characteristics: intent, parameters (i.e., what the request is concerned with), and constraints (i.e., those identified in the request). For example, if a user requests a test with changed parameters (where the cutting speed parameter will increase by 15% without changing the material composition or adding further constraints), the JSON file could be of the following type:
[0116] o{
[0117] o"intent": "test_parameters",
[0118] o"parameters": {
[0119] ■ Cutting Speed: +15%
[0120] ■ "Material Composition": null
[0121] o},
[0122] o"Constraints": []
[0123] o}
[0124] During the application of DomainLLM, this method can use knowledge graph lookups to resolve synonyms or ambiguous references. For example, if a user says, "I want to machine this part faster," the system knows to interpret "machine faster" as an increase in "cutting speed." DomainLLM applications can also include leveraging vector embeddings within DomainLLM to detect relevant domain terms, even if the user input is ambiguous or partially specified.
[0125] As described above, the remaining steps of this method (i.e., the following steps) use JSON files instead of text requests. To this end, the method can include placing the JSON file in an internal message bus (e.g., Kafka). The method can include having a centralized workflow engine service listen to the message bus and dispatch the JSON to the appropriate child processes based on the intent field. In fact, in addition to listening to messages, the method can also include having the workflow engine check in the JSON file whether the intent is a test for parameter modification (e.g., whether the intent is `test_parameters(TEST_PARAMETERS)`). If not, the JSON is checked to see if the request includes an explanation of the requested result. If so, the method can then proceed to provide optimized results based on the modification and one or more relationships. This logic can be housed in a rule-based microservice called `IntentRouter`. It continuously listens for new JSON messages and routes them according to a state machine definition (stored in a BPMN or YAML file). In this step, the method can achieve high-level analytics on user behavior (e.g., how often they test parameters and request explanations) by storing each routing decision in a time-series database, enabling real-time monitoring. This method may include performing such user behavior analysis, for example, as a background post-processing step each time a user uses the method.
[0126] Providing results for optimization problems based on modifications and one or more relationships can include determining whether a modified one or more parameters in the pool have a relationship with one or more characteristics of the product. This can include: for each parameter involved in the optimization problem (i.e., the characteristic to be optimized), checking the parameter's registry for each parameter involved in the user's request, and determining from the registry whether the parameter is marked as having an explicit relationship with one or more characteristics. The model registry can be a NoSQL store with documents of the following types (for each parameter):
[0127] {
[0128] "Parameter Name": "Cutting Speed"
[0129] "Model Version": "MLP_v1.3",
[0130] "isExplicit": true
[0131] }
[0132] In the example above, "model version" refers to the model from which the learning method learns its relationships. If the pool of relationships does not originate from the learning method, then the "model version" for that row may not exist. If all user parameters are marked as "explicit: true", then the user-requested test is executed. This method may include applying the microservice ModelCatalog API to check coverage, for example, checking that all user-requested parameters are marked as "explicit: true". It can return "all covered" or "uncovered parameters exist". At this stage, the method can use a knowledge graph of domain parameters, which can automatically propose approximate coverage if an exact mapping is missing (e.g., "feed rate" may still be associated with "surfaceFinishModel").
[0133] If a relationship exists in the pool between one or more modified parameters and one or more characteristics of the product, then providing the results of the optimization problem based on the modification and one or more relationships may further include: calculating the results of the optimization problem using the modified one or more parameters. In other words, the optimization problem is based on the existing relationship (or more relationships) in the pool between the one or more characteristics to be optimized and one or more parameters modified by the user; that is, the optimization problem is to optimize one or more characteristics using one or more parameters that are free variables or at least part of the optimization, and the relationship allows the calculation of one or more characteristics based on these / these parameters. Therefore, this method can directly solve the optimization problem by instantiating one or more relationships and using them to calculate the values of one or more characteristics based on the values of the parameters during optimization. Further details about the optimization problems discussed in this paper and how to solve them are provided below.
[0134] If one or more relations are inferred by a machine learning model of a learning method, such as as described above for the use of the method, then instantiating one or more relations may include retrieving the model and instantiating it in memory, since the one or more relations are computed through the application of the model. For example, the method may apply a PredictiveModule service that retrieves a trained model (e.g., MLP_v1.3.pkl) from an artifact store (such as S3, MinIO) and then instantiates that model in memory, thereby ensuring that the correct version containing the relevant relations (tensile strength, cost, feed rate, etc.) is used.
[0135] At this point in the method's application, before actually solving the optimization problem, the method can (e.g., via a graphical user interface) offer the user a choice between a complete re-optimization with modified values of one or more parameters (i.e., modifying the optimization problem from scratch using the modified parameter values, e.g., by increasing the cutting speed by 15%) and a quick "what if" result. Alternatively, this choice between a complete re-optimization and a quick "what if" result can be performed automatically by the method based on the user's request. Before discussing this, the modification of one or more parameters should be further explained.
[0136] Modifying one or more parameters means, for each of the one or more parameters, modifying the parameter itself (i.e., not just its specific value). Modifying parameters means modifying the function... Apply to the parameter such that if If it's a parameter, then the modification lies in using it in the optimization problem. replace Of course, this modification will not change the features to be optimized. The relationships between them do not change the structure of the optimization problem. In practice, modifications change the model when one or more relations are fed as input (and, where appropriate, into the learned model). The range of values taken. In fact, what the relation / model sees is not... The range of values taken, but The range of values that can be taken. It can be any function defined by the user (through their request), such as a function of type . A linear function (for example, if the user requests to...) Increase by 15%, then and ).
[0137] The scenario is completely re-optimized and the solution to the optimization problem is recalculated, but each modified parameter p is replaced by the corresponding user-defined function. Alternatively, this method can invoke an appropriate solver (e.g., CPLEX, Gurobi, or a similar solver, for example, via the Python API), such as using a dedicated optimization orchestrator module that feeds updated parameters to it. For each modified parameter... If the request is to give the previously calculated optimal value Change to Then the quick "what if" result will simply be based on that new value. Calculate new values for one or more features to be optimized. For this fast "what if" scenario (forward inference only), the method directly feeds the updated parameter vector into the relation (e.g., the model) to predict new performance metrics (e.g., cost, tensile strength). As mentioned earlier, the choice between complete re-optimization and fast "what if" results can be automated by a method based on user-requested content, or it can be performed by the user.
[0138] The calculation of the optimization problem using modified parameters can also include generating results for display to the user. To do this, once the solver or inference run is complete, the method can return a JSON file containing the results, such as the following types:
[0139] {
[0140] "UpdatedParameters": {
[0141] Cutting Speed: 172.5
[0142] Feed Rate: 0.28
[0143] },
[0144] "Predicted Properties": {
[0145] Tensile Strength: 770
[0146] Production Cost: 430
[0147] }
[0148] }
[0149] This method may include sending the output back to the WorkflowEngine, which incorporates the output into the user session data. When using the modified parameters to compute results for the optimization problem, this method can use a neural automatic constraint module that flags any updated parameters that violate domain rules (e.g., the maximum recommended feed rate for a given material hardness) before passing them to the solver.
[0150] If it is determined that no relationship exists in the pool between the modified one or more parameters and one or more characteristics of the product, then providing the results of the optimization problem based on the modification and one or more relationships may further include: determining, based on available learning data, whether the new relationship between the one or more characteristics and the modified one or more parameters can be learned by a machine learning model. In practice, it should be understood that the pool of relationships consists of one or more relationships, each relationship being the relationship between at least one characteristic involved in the optimization problem (i.e., the one to be optimized) and the manufacturing and / or design parameters of the product, but these parameters may not include the one or more parameters involved in the user-requested modification, or at least may not include all of these parameters. In other words, the user can request modification of parameters currently unrelated to one or more characteristics in order to optimize them through at least one relationship in the pool. If this is the case, the method then proceeds to determine whether a new relationship can be learned between the one or more characteristics to be optimized and the modified parameters.
[0151] To this end, the method can examine available data regarding the product's characteristics and parameters. This can be done by examining a library or database of recorded training examples, for example, the same type of library or database as those discussed for the learning method (i.e., each training example consists of product parameter values and corresponding ground-based characteristic values). For this purpose, the method can use a DataManager microservice (e.g., using an SQL or NoSQL backend) that searches for training example records containing the new parameters in question. The method can include evaluating whether the training examples include a sufficient number of examples (e.g., more than a predefined threshold, such as at least 50 training examples) to be sufficient for learning the new relationship, and if so, continuing model training. Alternatively, the method can perform a coverage check of the training examples (e.g., a distribution-based check) to determine if the new relationship can be learned by training the model to infer it, and if so, continuing training. If the training data is sufficient, the DataManager may return "enoughData: true". If the training data is partially missing, i.e., there are relevant training examples (i.e., related to the parameters to be modified) but the quantity and / or variability are insufficient, the method can automatically use a domain-aware generative method (e.g., a small physics-based simulator or a specialized generative model) to generate synthetic samples to fill the data gaps before the data manager returns true or false for the field "sufficient data".
[0152] If determining a new relationship between one or more features and one or more modified parameters can be a machine learning model, then providing results for an optimization problem based on the modification and one or more relationships may also include: learning the new relationship by training a machine learning model.
[0153] If it is determined that a new relationship between one or more features and one or more modified parameters cannot be machine learned, then providing the results of the optimization problem based on the modification and one or more relationships may further include: determining whether additional learning data is needed to learn the new relationship, and if additional learning data is needed and is available, then learning the new relationship based on the additional learning data by training a machine learning model based on the additional learning data. Determining whether additional learning data is needed can be performed by a data manager as described above, which returns "enoughData: false" when checking training example records. In this case, the method may include, for example, prompting the user (or another external source) to upload new training examples (e.g., new experimental logs, test data, or any relevant dataset that includes previously unknown parameters) by displaying a message to the user on the GUI. This triggers an asynchronous process where the user can upload a CSV, JSON, or Excel file. During this process, the method may include providing suggestions to the user (e.g., by displaying a message on the GUI), such as "Try feed rate variations in the range of 0.1 mm / rev-0.3 mm / rev to collect the most informative data." The method can then apply a DataIngestor to validate the format and cleanliness of the new data. If successful, it will be merged with the existing dataset and a background job will be triggered to continue training the model. Again, if the user provides training examples but not a sufficient amount, the method can perform automatic data augmentation as described above. If no new data is provided, the method can terminate the interactive optimization process, for example, by outputting (displaying) a JSON status.
[0154] {
[0155] "Status": "Insufficient data (INSUFFICIENT_DATA)"
[0156] Message: "Cannot learn new parameter relationships without additional data."
[0157] }
[0158] Therefore, if sufficient training data is already available in the training example record, or if the user has sufficiently completed the training data, the method learns new relations by training a machine learning model based on the new training data (i.e., training data on the parameters to be modified, whether already available or provided by the user). To this end, the method can, for example, train the model from scratch based on the new training data by applying a learning method. Alternatively, if the pool of relations already originates from the learning method—that is, they have already been inferred by the trained model from the learning method—the method can simply update the model (i.e., retrain it or fine-tune it using the new training data). If the existing model architecture can be adapted to the new data with minimal overhead, the method can specifically leverage incremental retraining or transfer learning. To this end, the data manager can merge the new data into the main training dataset of the already trained model. In this merging, a pipeline of transformations (scaling, encoding, feature engineering) can be automatically applied. The ModelTrainer microservice can then trigger work to run the model (MLP, Random Forest, etc., as described above for the learning method) using hyperparameter tuning and to compute performance metrics (RMSE, R², etc.) against the validation set. The machine learning model can then be stored in the artifact store and applied to provide new relationships. The model catalog API can be updated as shown in the following example:
[0159] {
[0160] "Model Name": "MLP_v1.4",
[0161] "Features": ["Cutting Speed", "Feed Rate", "Lubricant Type"],
[0162] "Performance": {
[0163] R2: 0.88
[0164] }
[0165] }
[0166] Once the new relation is learned (i.e., inferred from the learned model), providing results for the optimization problem based on the modification and one or more relations can also include updating the optimization problem based on the new relation, and then solving the updated optimization problem based on the modified one or more parameters. The updated optimization problem can include constructing the objective function and / or one or more constraints of the updated optimization problem using the new relation and / or the learned model. This can be done as described above for the method of use. The update can be performed by an optimization orchestrator. Solving the optimization problem can be performed using a solver to solve the problem with the updated objective and / or constraints (e.g., jobs derived in solver environments such as CPLEX, Gurobi, etc.) as discussed further below. If multiple objectives exist (e.g., cost versus tensile strength and production time), the solver can return a Pareto set. If the solver fails to find a feasible solution under strict constraints, the method can use a built-in negotiation mechanism that proposes small constraint relaxations (e.g., "What if we allow the cost to increase by 5%?").
[0167] Providing the results of the optimization problem can include generating a JSON file describing the results, and outputting the results as text based on the JSON file using an LLM model. The JSON file can be of the following types:
[0168] {
[0169] "UpdatedParameters": {...},
[0170] "Predicted Properties": {...}
[0171] }
[0172] This JSON can be recorded in the "Results" collection for future reference.
[0173] Outputting results in text form can include merging the solver output with user session data (original parameters, constraints, and any annotations) by a ResultAssembler. At this stage, an LLM model (which can be a DomainLLM) is used, but in interpretable mode, a concise text summary is generated (e.g., "A 6% improvement in fatigue resistance was achieved by selecting lubricant C and adjusting the feed rate to 0.32"). The final response can then be published back to the frontend in JSON format.
[0174] {
[0175] "Response Type": "Optimization Result"
[0176] "Optimal Parameters": {...},
[0177] "Predicted Properties": {...},
[0178] Summary: "By selecting Lubricant C..."
[0179] }
[0180] The method can then present the data in both visual and textual formats. The entire conversation, along with the final results, can be stored in an audit log for traceability. The method can also automatically generate charts or 3D simulation previews. If the user changes key parameters, these views update near real-time to reflect the new predictions.
[0181] Now let's discuss alternatives when a user requests and provides an explanation. As discussed earlier, providing an explanation can be done by a dedicated ExplainabilityModule.
[0182] Providing an interpretation may include obtaining one or more solutions to the optimization problem (e.g., Pareto fronts), where each solution is associated with corresponding values for one or more parameters of one or more objective functions and one or more constraints. To this end, the method may retrieve already computed solutions to the problem from (e.g., remote) memory or a database, each computed solution associated with an objective function computed for that solution (e.g., prediction cost = ...). The optimal values of parameters (e.g., cutting speed = 180 m / min, carbon content = 0.8%, feed rate = 0.3 mm / rev, etc.) and constraints (e.g., satisfying "feed rate ≤ 0.5 mm / rev") are associated with 430, tensile strength = 770 MPa, and feed rate = 0.3 mm / rev.
[0183] Then, providing an explanation may include analyzing one or more solutions, which may include:
[0184] - For a single solution, calculate importance metrics to describe which parameters most strongly influence each objective function, using local sensitivity tests (e.g., changing parameters by a percentage (e.g., ±10% to measure changes in cost, tensile strength, etc.)) and / or SHAP value methods (e.g., if the machine learning model supports it; this is the case for MLP and GBM, for example).
[0185] - For the Pareto solution set, compare them to determine the trade-offs (e.g., compare the solutions to determine a trade-off of "sacrificing 5% cost to gain 2% tensile strength").
[0186] Then, providing an explanation may include applying the LLM model to the corresponding values and the results of the analysis to output a textual description of the optimized results. To this end, the method may feed the following to the LLM:
[0187] - Context (target, constraints, related parameters).
[0188] - Post-hoc analysis results (importance indicators, parameter changes).
[0189] - Expected style / technical depth (brief or detailed explanation).
[0190] The LLM can then generate statements such as: "Due to the reduced processing time, the cutting speed is increased by 15%, reducing production costs by approximately 4%. However, the tensile strength decreases by approximately 1.3% due to additional thermal stress, which may slightly affect the performance of the part. The model also adjusts the feed rate to minimize this impact on tensile strength."
[0191] The method also includes: a separate text request from the user requesting further explanation of the results, or another text requesting explanation of optimized results with one or more modified parameters. For example, in an alternative to a user requesting further explanation, the method could deliver a contextualized response via a chat interface (or other UI), and the user could then ask clarifying questions.
[0192] ■ "Why does the hardness decrease when the feed rate is reduced?"
[0193] ■ "What if we further increase the carbon content?"
[0194] For each query, the method can either trigger a fast local analysis (if a locally interpretable model is available) or run an "if...what if" scenario in the solver and then generate a new interpretation.
[0195] As mentioned above, the interactive optimization method offers the following advantages:
[0196] o-Domain-Aware Base Model: This method combines a large language model trained (or specialized) on a corpus of mechanical engineering texts to seamlessly handle advanced user queries.
[0197] o Knowledge Graph Integration: Background knowledge graphs help explain synonyms, suggest relevant constraints, and extend some user input into structured parameter references.
[0198] o Automatic data augmentation: When there is not enough data available for new parameters, this method can optionally invoke a domain-level simulation or generative model to synthesize realistic samples.
[0199] o Continuous learning and transfer learning: Instead of completely retraining, this method allows for incremental updates to the existing model, thereby reducing downtime and computational overhead.
[0200] o Adaptive solver mechanism: If the solver encounters an infeasible constraint, the system proactively negotiates constraint relaxation or proposes alternative trade-offs (e.g., cost versus durability).
[0201] o Real-time dashboards and visualizations: Users see instant feedback in the UI through dynamically generated plots, allowing them to track how parameters are adjusted to change optimization results.
[0202] Now let's discuss interpretable modules further;
[0203] o Roles and Positioning: Once the optimized model is trained (during the initialization phase) and integrated into the AI agent (interaction phase), the method introduces an interpretable module that provides the following rationale and clarification:
[0204] Trade-offs between different objectives (e.g., tensile strength versus cost versus productivity).
[0205] The reasons behind certain decisions (e.g., why a particular cutting speed or material composition is chosen).
[0206] The impact of parameter modifications (e.g., "What would happen if the cutting speed were increased?").
[0207] This module operates at the same level as the "Providing Results and Interpretations to Designers" phase: it works on the solutions generated by the optimizer and / or ML model to reconstruct or clarify the results for designers.
[0208] o Implications and General Principles: In the context of Explainable AI (XAI) and multi-objective systems, various academic approaches have elucidated how to translate the internal mechanisms of models or discovered tradeoffs into human-readable language. This module employs:
[0209] Post-hoc methods (such as SHAP, LIME) highlight the parameters (manufacturing settings parameters) that have the greatest impact on each objective (cost, tensile strength, etc.).
[0210] Rule generation methods (e.g., DRSA, XIMEA-DRSA, R-XIMO) generate "if...then..." statements that describe threshold values for key parameters.
[0211] Conversational LLM-based methods (e.g., GPT-4, LLaMa, Mistral) can translate internal analytical insights into text accessible to non-expert users.
[0212] This module combines model-agnostic methods (which do not strictly depend on the interpretation of a single ML model type) with dialogue generation (to provide interactive, dialogue-based interpretations).
[0213] Any optimization problem in this paper (i.e., in the learning method, usage method, and interactive optimization method) can be a single objective problem, meaning it only involves maximizing or minimizing one of the properties. An example is maximizing tensile strength. Alternatively, the optimization problem can be multi-objective, meaning it involves several properties, each to be optimized. An example is maximizing tensile strength while minimizing production costs:
[0214]
[0215] The parameters are the decision variables or free variables for optimization.
[0216] Any method disclosed herein can, at a point, encompass a set of optimization problems to be solved. The characteristic “solving optimization problems” will now be discussed, and this discussion applies to any optimization problem and to solving it using any of the proposed methods. Once the problem is formulated, it can be solved as is known in the field of optimization itself.
[0217] Solving optimization problems can be done using exact methods, such as those employing the CPLEX solver. Exact methods are suitable for problems where the objective function and constraints are continuous and differentiable, thus providing exact and optimal solutions. The CPLEX solver handles linear programming (LP), mixed-integer programming (MIP), and quadratic programming (QP) problems. Therefore, this method leverages the powerful algorithms of CPLEX to efficiently find the optimal solution.
[0218] In the case of multi-objective optimization problems, non-preference-based methods can be used to solve the problem without requiring predetermined weights for the objectives. Examples of such methods include:
[0219] i. Weighted summation method:
[0220] o method: Combine multiple objective functions into a single scalar objective function by assigning weights to each objective.
[0221] o Build: Minimize ,in It is the weight, and It is the objective function.
[0222] Usage: By changing the weights, different Pareto optimal solutions can be generated.
[0223] ii. Dictionary optimization:
[0224] o Method: Rank the objectives by importance.
[0225] o process:
[0226] ■ First, optimize the most important objectives.
[0227] ■ While maintaining the optimal value of the previous objectives, optimize the subsequent objectives in sequence.
[0228] o Application: Ensure that optimizing low-priority objectives does not harm high-priority objectives.
[0229] iii. Epsilon-Constraint Method:
[0230] o method: Optimize a primary objective while treating other objectives as constraints with a specified acceptable level (ε value).
[0231] o Build:
[0232]
[0233]
[0234] o Usage: By systematically changing the ε value, Pareto optimal solutions can be generated.
[0235] An exemplary optimization process for automotive drive shafts:
[0236] • Objective: To maximize tensile strength and fatigue resistance while minimizing cost.
[0237] ·constraint:
[0238] o Weight ≤ 15 kg
[0239] Production time ≤ 5 hours / unit
[0240] Method: The optimization problem is solved using the weighted summation method of CPLEX.
[0241] result
[0242] Optimal parameters:
[0243] Material composition: 0.8% carbon, 1.2% chromium
[0244] Heat treatment: Temper at 600℃ for 2 hours
[0245] Cutting speed: 150 m / min
[0246] Feed rate: 0.3 mm / rev
[0247] • Characteristics of the prediction:
[0248] Tensile strength: 780 MPa
[0249] fatigue resistance: 1.8 × 10⁶ cycles.
[0250] o Production costs: 450
[0251] Weight: 14.5 kg
[0252] The advantages of using the precise method of CPLEX are:
[0253] • Precision: Precise methods provide accurate optimal solutions, rather than approximations.
[0254] • Efficiency: Optimize CPLEX to efficiently solve large-scale optimization problems.
[0255] • Robustness: It can handle a wide range of problem types, including linear and nonlinear, continuous and discrete variables.
[0256] • Flexibility: Allows for easy integration with other constraints and objectives.
[0257] Now let's discuss examples that provide interpretations of multi-objective solutions:
[0258] • Objective: Maximize tensile strength and minimize cost.
[0259] • Constraint: Cutting speed is between [100, 200 m / min].
[0260] • Optimizer results: (velocity = 160 m / min, carbon = 0.7%, feed rate = 0.3 mm / rev), predicted cost is 420, with a tensile strength of 780 MPa.
[0261] The interpretable module performed sensitivity analysis by varying the cutting speed by ±10 m / min. It found that tensile strength changed by ±2%, while cost changed by ±3%, concluding that cutting speed is strongly correlated with cost and also affects tensile strength.
[0262] Then, LLM generates text, such as:
[0263] "The solution suggests a cutting speed of 160 m / min because it balances shorter machining time (thus reducing costs) with maintaining a microstructure of approximately 780 MPa. Below 150 m / min, the increase in tensile strength is insufficient to justify a longer machining time."
[0264] Now let's discuss examples that include comparing two Pareto solutions:
[0265] • Solution A: Cost = 400, tensile strength = 750 MPa
[0266] • Solution B: Cost = 450, tensile strength = 790 MPa
[0267] This module provides lookup tables and explanations of LLM creation, such as:
[0268] "By choosing solution B, you can obtain a tensile strength of +40 MPa (+5.3%), but the additional cost is..." 50 (+12.5%). For critical components (such as drive shafts), this additional cost may be justified due to higher long-term reliability.
[0269] Provides possible extensions and customizations to the explanation.
[0270] - Compatibility with different optimization methods: This module can handle data from exact solvers (CPLEX) or alternative algorithms (NSGA-II, gradient boosting, etc.), as long as the objective and constraints are clearly defined.
[0271] - Continuous learning: If users frequently ask questions such as "Does reducing lubrication improve fatigue resistance?", the module can refine its "explanation mode" or proactively highlight potential constraints.
[0272] - Interactive visualization: In addition to text, the agent can also generate sensitivity plots or Pareto plots, which LLM can describe or comment on in real time.
[0273] - Expected benefits:
[0274] o Transparency and trust: Engineers better understand why the system recommends certain parameter ranges (e.g., feed rate, cutting speed, etc.).
[0275] o Easier to adopt: User-friendly explanations encourage users to try out solutions and iterate on new settings.
[0276] o Faster iteration: Explainable modules help users quickly eliminate solutions deemed "too expensive" or "too dangerous," guiding them to make more appropriate trade-offs.
[0277] Now let's discuss the advantages of interactive optimization methods.
[0278] First, the interactive optimization approach provides an adaptive optimization framework, offering flexibility without requiring full model retraining. This allows for the rapid incorporation of new constraints and objectives, enhancing responsiveness to changing requirements. Constructing flexible optimization problems based on existing relationships (e.g., derived from learned models discussed below) allows for maximizing part performance across multiple characteristics by adjusting design and manufacturing parameters. The framework dynamically adapts to new data and constraints without requiring extensive retraining.
[0279] This approach also allows for user-centric AI agent interfaces, as natural language interaction lowers barriers to entry, enabling users to intuitively engage with complex optimization tasks. This accessibility facilitates broader adoption across diverse user groups within the manufacturing industry. The AI agent, powered by a large language model (LLM), facilitates seamless interaction with designers. This agent allows users to input queries in natural language, test hypothetical scenarios, and add new constraints that may not be explicitly linked to decision variables. For example, a user could ask, “If I change the material type to aluminum, how will this affect tensile strength and production costs?”
[0280] This approach also enables continuous improvement: the system learns from each user interaction and new data input, constantly refining its model and predictions. This leads to progressively better performance and more reliable optimization results.
[0281] The learning method, usage method, and interactive optimization method can be integrated into the same computer implementation process. Alternatively, each method can be executed independently, or the learning method and usage method can be executed in the same computer implementation process without the interactive optimization method. The implementation of the process integrating the three methods will now be discussed.
[0282] This process provides a two-stage approach to enhancing mechanical manufacturing processes through advanced technologies. First, in the initial phase of the process (also known as “initialization” or “system initialization”), learning and usage methods are implemented. This establishes a robust system that uses sophisticated machine learning techniques, as described above, to identify and model implicit relationships between part (product) characteristics and manufacturing parameters. After understanding and defining these relationships, they are used to solve complex optimization problems that fine-tune manufacturing parameters for optimal part design, as discussed above. Following this, the process transitions to an interactive phase (interactive optimization method), where an LLM-based AI agent interacts with the user to refine, test, and interpret the optimization results, making the entire process dynamic and responsive to real-time input and adjustments. In other words, the interactive optimization method can be implemented as an LLM-based AI agent that includes all the modules described above for the interactive optimization method and interacts with the user through a dedicated GUI or chat, as described above.
[0283] System initialization
[0284] The initialization phase is crucial for establishing a system to efficiently model and optimize mechanical manufacturing processes. It includes two main steps:
[0285] • Learning implicit relationships (learning method): Using machine learning models to reveal hidden dependencies between part characteristics and manufacturing parameters.
[0286] • Parameter optimization (usage method): Use the learned relationships to construct and solve optimization problems, thereby generating the best manufacturing parameters for the desired part characteristics.
[0287] Figure 1 A flowchart illustrating the implementation of system initialization is shown.
[0288] After the initialization phase (where explicit relationships between parameters and characteristics have been established and optimal process parameters have been identified), the process enters the interaction phase (interaction optimization method). In this phase, an AI agent supported by a Large Language Model (LLM) facilitates seamless interaction with the designer. The AI agent allows the designer to:
[0289] • Test the changes in process parameters and observe their impact on component characteristics.
[0290] • Add new constraints or parameters that were not initially considered.
[0291] • Please explain the provided solution.
[0292] AI agents act as intermediaries between designers and optimization systems, invoking necessary computational models and solvers to provide accurate and insightful responses.
[0293] Figure 2 A flowchart illustrating how the interaction phase is implemented is shown.
[0294] This flowchart illustrates the interaction between designers and AI agents within a system designed to optimize mechanical manufacturing processes using machine learning models and optimization techniques. The flowchart is organized into a series of decision points and actions that guide the interaction from initial input to the delivery of results and explanations.
[0295] We will now discuss examples of interaction scenarios in the interaction phase. These illustrate how the AI agent processes various scenarios based on the designer's input.
[0296] Scenario 1: Testing changes in process parameters with existing explicit relationships
[0297] describe:
[0298] Designers want to modify one or more process parameters to see how these changes affect part characteristics. Since explicit functions that associate these parameters with characteristics already exist (from the initialization phase), the AI agent can directly use these functions.
[0299] Process flow:
[0300] 1. Designer input:
[0301] Example: "I want to increase the cutting speed by 15%. What impact will this have on tensile strength and production costs?"
[0302] 2. AI agent actions:
[0303] o Parameter adjustment: Modify the cutting speed parameter in the optimization model to reflect the 15% increase.
[0304] o Re-optimize: Call the optimization solver (CPLEX) to find new optimal values for the other parameters, ensuring that all constraints are still satisfied.
[0305] o Prediction: Predict new component characteristics using explicit functions based on adjusted parameters.
[0306] o Interpretation generation: Prepare textual interpretations of the impact, including any trade-offs or significant changes.
[0307] 3. Response to the designer:
[0308] Result:
[0309] ■ Predicted tensile strength: 770 MPa (decreased by 1.3%)
[0310] ■ Production Costs: 430 (a decrease of 4%)
[0311] o Explanation:
[0312] ■ “Due to the thermal effect of the material, increasing the cutting speed by 15% will slightly reduce the tensile strength, but the production cost will be reduced due to the reduction in processing time. The feed rate and tool type have been optimized to mitigate the impact on tensile strength.”
[0313] Technical details:
[0314] • Optimize solver calls:
[0315] oAI agents modify and optimize decision variables in problems to incorporate designer changes.
[0316] Update the constraints and objectives accordingly.
[0317] The solver calculates a new optimal solution.
[0318] • Use of explicit functions:
[0319] o Use explicit functions and To predict characteristics based on the new parameters.
[0320] Scenario 2: Testing changes in parameters that do not have an explicit relationship
[0321] describe:
[0322] The designer may want to modify parameters that were not initially included in an explicit function, or may want to consider a new feature. In this case, there is no explicit relationship between the parameters and the feature of interest.
[0323] Process flow:
[0324] 1. Designer input:
[0325] Example: "What changes will occur in fatigue resistance if we switch to a new type of lubricant (lubricant C)?"
[0326] 2. AI agent actions:
[0327] o Data validation: Check whether lubricant C appears in the existing dataset and model.
[0328] ■ If not, the agent can prompt the designer to provide additional data or continue processing the available information.
[0329] o Model update:
[0330] ■ Learning phase: The machine learning model is invoked to learn the relationship between new parameters (lubricant type) and fatigue resistance.
[0331] ■ Data augmentation: This may require additional data or simulation of data based on existing patterns.
[0332] o Re-optimization:
[0333] ■ Update and optimize the problem to include new parameters and their relationship with fatigue resistance.
[0334] ■ Use a solver to solve updated optimization problems.
[0335] o Explanation generation: Prepare detailed explanations of the survey results.
[0336] 3. Response to the designer:
[0337] Result:
[0338] ■ Predicting fatigue resistance: Next cycle (increases by 6%)
[0339] ■ Production cost: 460 (No significant change)
[0340] o Explanation:
[0341] ■ "Due to better cooling and reduced tool wear, the introduction of lubricant C is expected to improve fatigue resistance. The machine learning model has been updated to include this parameter. Optimization recommendations maintain the current cutting speed and feed rate to maximize benefits."
[0342] Technical details:
[0343] Learning new relationships:
[0344] oAI agents use machine learning frameworks to retrain or update models to include new parameters.
[0345] • Optimization and bug updates:
[0346] The decision variables and constraints are expanded to include new parameters.
[0347] Considering the updated model, the solver is invoked to find a new optimal solution.
[0348] Scenario 3: Requires explanation of each solution.
[0349] describe:
[0350] Designers can request an explanation of the initial solution or any subsequent results provided by the system. The AI agent provides insights into how certain parameters affect the outcome and the underlying principles behind optimization decisions.
[0351] Process flow:
[0352] 1. Designer input:
[0353] Example: "Can you explain why tempering at 600°C for 2 hours was the optimal choice for the heat treatment process?"
[0354] 2. AI agent actions:
[0355] Analysis:
[0356] ■ Review the optimization results and influencing factors.
[0357] ■ Identify the impact of the heat treatment process on the desired performance.
[0358] o Explanation generation:
[0359] ■ Write detailed yet understandable explanations that highlight the key reasons.
[0360] 3. Response to the designer:
[0361] o Explanation:
[0362] ■ “Tempering at 600°C for 2 hours was chosen to achieve the optimal balance between tensile strength and toughness. This heat treatment process reduces internal stress and improves fatigue resistance, which aligns with the goal of maximizing component performance. Optimization determined that this process provides the best trade-off without significantly increasing production costs.”
[0363] Technical details:
[0364] • Explanatory tools:
[0365] oAI agents use model interpretability techniques (such as feature importance analysis or sensitivity analysis) to explain how different parameters affect the results.
[0366] o can provide visualization tools to illustrate relationships.
[0367] Scenario 4: Multiple parameter changes
[0368] Designer input:
[0369] “I would like to see the effects of using a higher carbon content (1.0%) and increasing the feed rate by 10%.”
[0370] AI agent actions:
[0371] • Parameter adjustment: Update and optimize the material composition and feed rate in the model.
[0372] • Re-optimize: Run the solver to find new optimal parameters for the other variables.
[0373] Results and Interpretation:
[0374] ·result:
[0375] ■ Tensile strength: 800 MPa (increased by 2.5%)
[0376] ■ Fatigue resistance: Second cycle (increases by 5.9%)
[0377] ■ Production cost: 470 (Increase of 4.4%)
[0378] ·explain:
[0379] ■ "Increasing carbon content enhances tensile strength, but may slightly increase brittleness. Higher feed rates reduce machining time, but may affect surface finish. Optimize the cutting speed to compensate and maintain overall part performance."
[0380] Scenario 5: Adding new constraints
[0381] Designer input:
[0382] "Ensure production costs do not exceed 450" At the same time, it maintains a tensile strength exceeding 780 MPa.
[0383] AI agent actions:
[0384] • Constraint addition: New cost constraints are incorporated into the optimization problem.
[0385] • Re-optimize: Use a solver to solve the updated problem.
[0386] Results and Interpretation:
[0387] Result:
[0388] ■ Adjust the optimal parameters to meet the new constraints.
[0389] ■ Production cost: 450
[0390] ■ Tensile strength: 780 MPa
[0391] o Explanation:
[0392] "To meet cost constraints, the optimization recommendation is to reduce the heat treatment duration. This will maintain the tensile strength at the desired level while reducing energy consumption and processing time, keeping costs within specified limits."
[0393] We now discuss other possible implementation details of the LLM-based AI agent. In the interaction phase, this approach leverages state-of-the-art Large Language Models (LLMs) to facilitate complex dialogues between the AI agent and the designer. The inventors conducted extensive testing with several LLM architectures, including Mistral, Llamma, and OpenAI's gpt4 and gpt-4o, to determine the best approach for our application. The ability of these models to understand and process complex manufacturing and design terminology and scenarios out of the box was evaluated. The results are encouraging, showing that these models perform very well even without extensive fine-tuning. Instead of custom training, we enhance the performance of the LLM by strategically injecting relevant manufacturing-specific information into the model's context, enabling it to generate informed and accurate responses. This approach allows the AI agent to efficiently interpret the designer's queries and provide insightful feedback, leveraging the inherent knowledge embedded in the LLM.
[0394] Any of the methods and interactive optimization methods can provide / output optimization results, including a set of optimal values for the product's design and / or manufacturing parameters calculated by solving the corresponding optimization problem. These optimal values produce optimal values for the product's characteristics. Any of these methods may also include using this result to manufacture the product, specifically to manufacture a product with one or more optimized characteristics. Any of these methods may, for example, form a characteristic optimization step in the design and manufacturing process, where, for example, the product is represented by a CAD model (e.g., some design parameters from the CAD model can be extracted and used as optimization parameters by a method), as is known per se, the process also includes the step of using the optimization results (e.g., in addition to the CAD model) to manufacture the product.
[0395] Using the results from product manufacturing specifies one or more real-world actions involved in or participating in the manufacturing of the product / part, where the product's design and / or parameters are set to their optimal values. Using the optimized results for manufacturing may, for example, include one or more of the following steps:
[0396] - Edit the product model (e.g., CAD model) to optimize its design parameters;
[0397] - Model-based simulations, such as simulations used to verify mechanical, usage and / or manufacturing characteristics and / or constraints (e.g., structural simulations, thermodynamic simulations, aerodynamic simulations).
[0398] - Edit the model based on the simulation results;
[0399] - Optionally (i.e., depending on the manufacturing process used, the production of the mechanical product may or may not include this step), manufacturing specifications / CAM specifications (e.g., stored as manufacturing files / CAM files or distributed CAM data stored on one or more storage devices, e.g., specifications including manufacturing instructions for manufacturing the product represented by the model and / or control instructions for the manufacturing process and / or commanding its manufacturing process or manufacturing tools) (e.g., control instructions derived from CAD files or distributed CAD data storing CAD models and / or specifications of CAD models) are determined for use in the production / manufacturing of the product. This step may additionally or alternatively include setting manufacturing parameters (e.g., cutting speed, cutting tool rotation speed, etc.) to their optimal values;
[0400] - Considering the manufacturing of products represented by models, send the specifications / CAM specifications to the factory; and / or
[0401] - Based on determined manufacturing specifications / CAM specifications or based on a model, (e.g., automatically) produce / manufacture mechanical products represented by a model initially output by the method. This may include (e.g., automatically) feeding the manufacturing specifications / CAM specifications to the machines performing the manufacturing process.
[0402] The methods disclosed herein are computer-implemented. This means that the steps (or substantially all steps) of the method are performed by at least one computer or any similar system. Therefore, the execution of the steps by a computer may be fully automatic or semi-automatic. In the example, the triggering of at least some steps of the method can be performed through user-computer interaction. The required level of user-computer interaction can depend on the expected level of automation and be balanced with the need to fulfill the user's wishes. In the example, this level can be user-defined and / or predefined.
[0403] A typical example of a computer implementation of a method is to execute the method using a system suitable for this purpose. This system may include a processor coupled to memory and a graphical user interface (GUI), on which a computer program containing instructions for executing the method is recorded. The memory may also store a database. The memory is any hardware suitable for such storage and may comprise several physically distinct parts (e.g., one for the program, and perhaps one for the database).
[0404] Figure 3 An example of the system is shown, where the system is a client computer system, such as a user's workstation.
[0405] The client computer in this example includes a central processing unit (CPU) 1010 connected to an internal communication bus 1000, and random access memory (RAM) 1070 also connected to the bus. The client computer also includes a graphics processing unit (GPU) 1110 associated with video random access memory 1100 connected to the bus. The video RAM 1100 is also referred to in the art as a frame buffer. A mass storage device controller 1020 manages access to mass storage devices, such as hard disk drives 1030. Mass storage devices suitable for tangibly representing computer program instructions and data include all forms of non-volatile memory, including, for example, semiconductor storage devices such as EPROM, EEPROM, and flash memory devices; disks such as internal hard disks and removable disks; and magneto-optical disks. Any of the above may be supplemented or incorporated by a specially designed application-specific integrated circuit (ASIC). A network adapter 1050 manages access to a network 1060. The client computer may also include a tactile device 1090, such as a cursor control device, a keyboard, etc. The cursor control device is used in the client computer to allow the user to selectively position the cursor at any desired location on the display 1080. Furthermore, the cursor control device allows the user to select various commands and input control signals. This cursor control device includes multiple signal generating devices for inputting control signals to the system. Typically, the cursor control device can be a mouse, with mouse buttons used to generate signals. Alternatively or additionally, the client computer system may include a sensitive pad and / or a sensitive screen.
[0406] A computer program may include computer-executable instructions, which include means for causing the system to perform the method. The program may be recorded on any data storage medium, including the system's memory. The program may be implemented, for example, in digital electronic circuitry, or in computer hardware, firmware, software, or a combination thereof. The program may be implemented as means, for example, tangibly embodied in a machine-readable storage device for use in a product executed by a programmable processor. The method steps may be executed by a programmable processor that executes the program of instructions to perform the function of the method by manipulating input data and generating output. Thus, the processor may be programmable and coupled to receive data and instructions from the data storage system, at least one input device, and at least one output device, and to send data and instructions to the data storage system, at least one input device, and at least one output device. The application program may be implemented in a high-level procedural or object-oriented programming language, or, if desired, in assembly or machine language. In any case, the language may be a compiled or interpreted language. The program may be a complete installation program or update program. In either case, applying the program to the system generates instructions for performing the method. Alternatively, the computer program can be stored and executed on a server in a cloud computing environment that communicates with one or more clients via a network. In this case, the processing unit executes the instructions included in the program, thereby enabling the method to execute on the cloud computing environment.
Claims
1. A computer-implemented method for optimizing one or more characteristics of a product to be manufactured, the method comprising: - Provide users with optimization problems for optimizing one or more characteristics of the product, the optimization problems being based on a pool of one or more known relationships, each relationship being the relationship between one or more characteristics of the product and the manufacturing and / or design parameters of the product; - A text request related to the optimization problem provided by the user, the request being one of the following: o Requests testing of modifications to one or more manufacturing and / or design parameters of the product; or o requests an interpretation of the results of the optimization problem; and - Automatically: If the request is for an explanation of the results of the optimization problem, the explanation is provided by the first trained LLM-based module. and If the request is to test modifications to one or more manufacturing and / or design parameters of the product, a second trained LLM-based module provides the results of the optimization problem based on the modifications and the one or more relationships.
2. The method of claim 1, wherein, The method includes: automatically, after the system receives the text request, - The text request is processed by applying text cleaning to the text request and dividing the text request into structured segments; - Apply the LLM model to the processed text request to determine whether the request is for testing modifications to one or more manufacturing and / or design parameters of the product, or for interpreting the results of the optimization problem; - The processed text request is converted into a JSON file, which is used in other steps of the method.
3. The method of claim 1 or 2, wherein, The results provided for the optimization problem based on the modifications and one or more of the relationships include: - Determine whether there is a relationship between one or more modified parameters in the pool and one or more characteristics of the product.
4. The method of claim 3, wherein, If it is determined that there is a relationship between one or more modified parameters in the pool and one or more characteristics of the product, then providing the results of the optimization problem based on the modification and the one or more relationships further includes: - Calculate the result of the optimization problem using one or more modified parameters.
5. The method of claim 3, wherein, If it is determined that there is no relationship between the modified one or more parameters and one or more characteristics of the product in the pool, then providing the results of the optimization problem based on the modification and the one or more relationships further includes: - Based on available learning data, determine whether the new relationship between the one or more features and the one or more modified parameters can be learned by a machine learning model.
6. The method according to claim 5, wherein, If it is determined that the new relationship between the one or more features and the one or more modified parameters can be learned by a machine learning model, then providing the result of the optimization problem based on the modification and the one or more relationships further includes: - The new relationship is learned by training the machine learning model.
7. The method according to claim 5, wherein, If it is determined that the new relationship between the one or more features and the one or more modified parameters cannot be learned by a machine learning model, then providing the result of the optimization problem based on the modification and the one or more relationships further includes: - Determine whether additional learning data is needed to learn the new relationship. If the additional learning data is needed and is available, then learn the new relationship based on the additional learning data by training the machine learning model based on the additional learning data.
8. The method according to claim 6 or 7, wherein, Providing results for the optimization problem based on the aforementioned modifications and one or more relationships also includes: - Update the optimization problem based on the new relationship; and - Solve the updated optimization problem based on one or more of the modified parameters.
9. The method according to any one of claims 1 to 8, wherein, The results provided for the optimization problem include: - Generate a JSON file describing the results; and - The results are output in text form based on the JSON file using an LLM model.
10. The method according to any one of claims 1 to 9, wherein, The explanation provided includes: - Obtain one or more solutions to the optimization problem, wherein each solution is associated with corresponding values of one or more parameters, one or more objective functions, and one or more constraints; - Analyze the one or more solutions, including: For a single solution, use the local sensitivity test and / or SHAP value method to calculate an importance index to describe which parameters most strongly affect each objective function; o For the Pareto solution set, compare them to determine the trade-offs; - Apply the LLM model to the corresponding values and the results of the analysis to output a textual description of the optimized results.
11. The method according to any one of claims 1 to 10, wherein, The method further includes: the user providing another text request to further explain the result or another text request to explain the optimized result with the modified one or more parameters.
12. The method according to any one of claims 1 to 11, wherein, The method also includes using the results of the optimization to manufacture the product having the optimized one or more properties.
13. A computer program product comprising a computer program containing instructions that, when executed by a computer system, cause the computer system to perform the method according to any one of claims 1 to 12.
14. A computer-readable data storage medium having a computer program recorded thereon, comprising the computer program product of claim 13.
15. A computer system comprising a processor coupled to a memory having a computer program included in the computer program product of claim 13 recorded thereon.
