Disclosure of Invention
The present disclosure provides a method and apparatus for constructing a simulation model, so as to at least solve the problem that in the above related technology, the accuracy of the constructed simulation model is poor and inaccurate.
According to a first aspect of an embodiment of the present disclosure, a method for constructing a simulation model is provided, which includes obtaining a flow operation log and flow service information, generating a flow model g_3 based on the flow operation log and the flow service information, screening the flow operation log by using the flow model g_3 to obtain flow data, obtaining an additional relation based on the flow data, generating an original simulation model based on the flow model g_3 and the additional relation, and adjusting simulation parameters of the original simulation model by using the flow data to obtain a target simulation model.
The process operation log comprises operation logs of a plurality of cases, each case comprises a plurality of actions, the process model G_3 is generated based on the process operation log and the process business information, the process operation log comprises a connection relation graph G_1 among the plurality of actions based on the plurality of actions contained in each case, a business flow graph G_0 is generated based on the process business information, a business flow expansion graph G_0 'is generated according to the superposition part of the connection relation graph G_1 among the business flow graph G_0 and the plurality of actions, and the process model G_3 is generated according to the connection relation graph G_1 among the plurality of actions and the business flow expansion graph G_0'.
Optionally, the generating the flow model g_3 according to the connection relation graph g_1 and the business flow expansion graph g_0' between the plurality of actions includes calculating a difference between the connection relation graph g_1 and the business flow expansion graph g_0' between the plurality of actions to obtain a business flow complement graph g_2, generating a business missing flow complement graph g_2' based on the business flow complement graph g_2, and superposing the business flow expansion graph g_0' and the business missing flow complement graph g_2' to obtain the flow model g_3.
Optionally, the business process flow complement graph G_2 comprises a plurality of nodes, a plurality of edges are formed among the plurality of nodes, the business process omission graph G_2' is generated based on the business process flow complement graph G_2, the business process flow complement graph G_2' comprises the steps of determining a first number of cases passing through the nodes and a second number of cases not passing through the nodes for each node in the plurality of nodes, determining a third number of cases passing through the edges and a fourth number of cases not passing through the edges for each edge in the plurality of edges, judging whether the node is an additional complementary node based on the first number and the second number, judging whether the edges are additional complementary edges based on the third number and the fourth number, and generating the business process complement graph G_2' by utilizing the additional complementary nodes in the plurality of nodes and the additional complementary edges in the plurality of edges.
Optionally, the judging whether the node is an additional supplementary node based on the first quantity and the second quantity includes calculating a first addition result between the first quantity and the second quantity, calculating a first ratio between the first quantity and the first addition result, and determining that the node is the additional supplementary node if the first ratio is greater than a preset first threshold.
Optionally, the determining whether the edge is an additional supplementary edge based on the third number and the fourth number includes calculating a second addition result between the third number and the fourth number if one of two nodes corresponding to the edge belongs to the additional supplementary node and the other node is included in the business process expansion graph g_0', calculating a second ratio between the third number and the second addition result, and determining the edge as the additional supplementary edge if the second ratio is greater than a preset second threshold.
Optionally, the step of screening the process operation log by using the process model g_3 to obtain process data includes screening the case completely running in the process model g_3 from the plurality of cases as the process data.
Optionally, the acquiring additional relations based on the flow data includes classifying a plurality of completely run cases to obtain a plurality of completely run case sets, acquiring a completely run case set corresponding case run interval corresponding to each completely run case in the plurality of completely run cases, wherein a left end point of the case run interval is a minimum time corresponding to a completely run case in the completely run case sets, a right end point of the case run interval is a maximum time corresponding to a completely run case in the completely run case sets, expanding the plurality of completely run case sets to obtain at least one expanded case set, adding a completely run case in the completely run case set corresponding to the completely run case set in the completely run case set for each completely run case set, obtaining an expanded case set corresponding to the completely run case set, and searching the expanded case set corresponding to the completely run case set in the completely run case set as an additional relation between the completely run case set and the completely run case set.
The method comprises the steps of obtaining a process data, obtaining a target simulation model, building a simulator corresponding to the process data, adjusting simulation parameters of the process data by using the complete running case and the simulator in an iterative mode until iteration is ended, obtaining a simulation result corresponding to the iteration through the steps of selecting a plurality of simulation parameters with highest matching degree between the simulation result and a real result from a simulation parameter set obtained by the previous iteration, carrying out cross variation on the simulation parameters to obtain a cross variation simulation parameter, carrying out simulation verification on the cross variation simulation parameter by using the simulator based on the complete running case, obtaining a cross variation simulation result corresponding to the cross variation simulation parameter, and selecting the simulation parameter which is the most consistent with the simulation result and the real result in the previous iteration as the simulation parameter of the target simulation model when the iteration is ended.
Optionally, the method further comprises determining that iteration is terminated under the condition that preset conditions are met, wherein the preset conditions comprise one of the following conditions that the number of iterations reaches the preset number of iterations, and the cross variation simulation parameters with the difference between the corresponding cross variation simulation result and the real result being smaller than a preset difference threshold value exist in the cross variation simulation parameters when the iteration is ended.
Optionally, the difference between the cross variation simulation result and the real result is expressed by the following formula:
Where job_i is the ith complete run case, sim p (ti|real_s) is the run completion time of the ith complete run case on the simulator, and real t (ti ]) is the real run time of the ith complete run case.
According to a second aspect of the embodiment of the present disclosure, there is provided a simulation model building apparatus, including an acquisition module configured to acquire a flow operation log and flow service information, a generation module configured to generate a flow model g_3 based on the flow operation log and the flow service information, a screening module configured to screen the flow operation log with the flow model g_3 to obtain flow data, the acquisition module configured to acquire an additional relationship based on the flow data, the generation module configured to generate an original simulation model based on the flow model g_3 and the additional relationship, and an adjustment module configured to adjust simulation parameters of the original simulation model with the flow data to obtain a target simulation model.
The flow operation log comprises operation logs of a plurality of cases, each case comprises a plurality of actions, the generation module is configured to generate a connection relation diagram G_1 among the plurality of actions based on the plurality of actions contained in each case, generate a business flow diagram G_0 based on the flow business information, generate a business flow expansion diagram G_0 'according to the superposition part of the business flow diagram G_0 and the connection relation diagram G_1 among the plurality of actions, and generate the flow model G_3 according to the connection relation diagram G_1 among the plurality of actions and the business flow expansion diagram G_0'.
Optionally, the generating module is configured to calculate a difference value between the connection relation graph g_1 and the business process expansion graph g_0 'between the actions to obtain a business process complement graph g_2, generate a business missing process complement graph g_2' based on the business process complement graph g_2, and superimpose the business process expansion graph g_0 'and the business missing process complement graph g_2' to obtain the process model g_3.
Optionally, the business process complement graph G_2 comprises a plurality of nodes, a plurality of edges are formed among the plurality of nodes, the generation module is configured to determine, for each node in the plurality of nodes, a first number of cases passing through the node and a second number of cases not passing through the node, determine, for each edge in the plurality of edges, a third number of cases passing through the edge and a fourth number of cases not passing through the edge, determine whether the node is an additional complementary node based on the first number and the second number, determine whether the edge is an additional complementary edge based on the third number and the fourth number, and generate the business process miss graph G_2' by using the additional complementary node in the plurality of nodes and the additional complementary edge in the plurality of edges.
Optionally, the generating module is configured to calculate a first addition result between the first number and the second number, calculate a first ratio between the first number and the first addition result, and determine that the node is the additional supplementary node if the first ratio is greater than a preset first threshold.
Optionally, the generating module is configured to calculate a second addition result between the third number and the fourth number if one node of two nodes corresponding to the edge belongs to the additional supplementary node and the other node is included in the business process expansion graph g_0', calculate a second ratio between the third number and the second addition result, and determine the edge as the additional supplementary edge if the second ratio is greater than a preset second threshold.
Optionally, the screening module is configured to screen the case which is completely run in the process model G_3 from the plurality of cases as the process data.
Optionally, the obtaining module is configured to classify a plurality of completely run cases to obtain a plurality of completely run case sets, obtain, for each completely run case in the plurality of completely run cases, a case run interval corresponding to the completely run case set to which the completely run case belongs, wherein a left end point of the case run interval is a minimum time corresponding to the completely run case in the completely run case set, a right end point of the case run interval is a maximum time corresponding to the completely run case in the completely run case set, and extend the plurality of completely run case sets to obtain at least one extended case set, wherein, for each completely run case set, a completely run case in the completely run case set corresponding to the completely run case set is added to the completely run case set corresponding to the completely run case set to obtain an extended case set corresponding to the completely run case set, and an extended case set corresponding to the completely run case set is obtained, wherein an additional complete run case relationship between the completely run case in the extended case set and the completely run case set in the completely run case set is searched for as the original run case set.
The adjusting module is configured to build a simulator corresponding to the original simulation model, adjust simulation parameters of the original simulation model by using the completely operated case and the simulator in an iterative mode until iteration is terminated, obtain a simulation result corresponding to the iteration through the following operation that a plurality of simulation parameters with highest matching degree between the corresponding simulation result and a real result are selected from a simulation parameter set obtained in the previous iteration, cross variation is conducted on the simulation parameters to obtain cross variation simulation parameters, based on the completely operated case, the cross variation simulation parameters are simulated and verified by using the simulator to obtain cross variation simulation results corresponding to the cross variation simulation parameters, and when iteration is terminated, simulation parameters with the most consistent simulation results and the real results in the previous iteration are selected as simulation parameters of the target simulation model.
Optionally, the construction device further comprises a determination module configured to determine that iteration is terminated when a preset condition is met, wherein the preset condition comprises one of the following conditions that the number of iterations reaches the preset number of iterations, and the cross variation simulation parameters with the difference between the corresponding cross variation simulation result and the real result being smaller than a preset difference threshold value exist in the cross variation simulation parameters when the iteration is ended.
Optionally, the difference between the cross variation simulation result and the real result is expressed by the following formula:
Where job_i is the ith complete run case, sim p (ti|real_s) is the run completion time of the ith complete run case on the simulator, and real t (ti ]) is the real run time of the ith complete run case.
According to a third aspect of embodiments of the present disclosure, there is provided an electronic device comprising a processor, a memory for storing instructions executable by the processor, wherein the processor is configured to execute the instructions to implement a method of constructing a simulation model according to the present disclosure.
According to a fourth aspect of embodiments of the present disclosure, there is provided a computer-readable storage medium, which when executed by a processor of an electronic device, enables the electronic device to perform a method of constructing a simulation model according to the present disclosure.
The technical scheme provided by the embodiment of the disclosure at least brings the following beneficial effects:
the simulation model can be obtained based on the flow operation log and the flow service information, namely the flow operation log and the flow service information can be effectively combined, and the simulation model is automatically generated. The attention degree of flow change and data change during actual operation of the project is enhanced, and the accuracy of the constructed simulation model is improved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Detailed Description
In order to enable those skilled in the art to better understand the technical solutions of the present disclosure, the technical solutions of the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.
It should be noted that the terms "first," "second," and the like in the description and claims of the present disclosure and in the foregoing figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the disclosure described herein may be capable of operation in sequences other than those illustrated or described herein. The embodiments described in the examples below are not representative of all embodiments consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present disclosure as detailed in the accompanying claims.
It should be noted that, in this disclosure, "at least one of the items" refers to a case where three types of juxtaposition including "any one of the items", "a combination of any of the items", "an entirety of the items" are included. For example, "comprising at least one of A and B" includes the case of juxtaposition of three of (1) comprising A, (2) comprising B, and (3) comprising A and B. For example, "at least one of the first and second steps is executed", that is, three cases are shown in parallel, namely (1) execute the first step, (2) execute the second step, and (3) execute the first and second steps.
Fig. 1 is a flowchart illustrating a method of constructing a simulation model according to an exemplary embodiment of the present disclosure.
Referring to fig. 1, in step 101, a flow operation log and flow service information may be acquired. The process operation log may include operation logs of a plurality of cases, each case may include a plurality of actions, and one operation log may be corresponding to each action of each case. For example, a case may correspond to a case id, i.e., case_id, each case id may correspond to a plurality of action ids, each action id corresponding to an execution time. The flow business information is the execution sequence of a plurality of flows contained in a case specified by a client, and the granularity of the flow business information is coarse.
At step 102, a flow model G_3 may be generated based on the flow travel log and the flow business information.
In accordance with an exemplary embodiment of the present disclosure, as previously described, a process flow log may contain a log of operations for a plurality of cases, each of which may contain a plurality of actions.
The connection relationship graph g_1 between the plurality of actions may be generated based on the plurality of actions included in each of the plurality of cases. In the following, the scheme of the present disclosure will be explained taking semiconductor production as an example. Referring to fig. 2, there is a schematic diagram showing a connection relationship diagram g_1 between one or more actions according to an exemplary embodiment of the present disclosure. In FIG. 2, a plurality of nodes are shown, respectively, "prepare lithography", "start lithography", "end lithography", "measure 1", empty node (dummy), "start etching", "end etching", "measure 2", "wait for pool", and "clean". Arrows between these nodes represent edges formed between the nodes. It should be noted that a case may also be referred to as an event (case) or a job task, and each case may start with "prepare lithography" and end with "clean".
The business flow graph g_0 may be generated based on the flow business information. Referring to fig. 3, a schematic diagram illustrating a business flow diagram g_0 according to an exemplary embodiment of the present disclosure is shown. In fig. 3, a plurality of nodes, respectively "lithography", "metrology", "etching" and "cleaning", are shown. Arrows between these nodes represent edges formed between the nodes. As can be seen from comparing fig. 2 and fig. 3, the service flow chart g_0 is much more sparse than the connection relation chart g_1 between the actions.
The business process expansion graph g_0' can be generated according to the superposition part of the business process graph g_0 and the connection relationship graph g_1 among the plurality of actions, namely, the business process graph g_0 and the connection relationship graph g_1 among the plurality of actions can be mapped in a graph, which parts of the connection relationship graph g_1 among the plurality of actions correspond to ' lithography ' in the business process graph g_0, which parts of the connection relationship graph g_1 among the plurality of actions correspond to ' measurement ' in the business process graph g_0, which parts of the connection relationship graph g_1 among the plurality of actions correspond to ' etching ' in the business process graph g_0, and which parts of the connection relationship graph g_1 among the plurality of actions correspond to ' cleaning ' in the business process graph g_0.
For example, "ready to lithography", "start lithography", "end lithography" in the connection relationship graph g_1 between the plurality of actions corresponds to "lithography" in the business flow graph g_0, "metrology 1" in the connection relationship graph g_1 between the plurality of actions corresponds to "metrology" in the business flow graph g_0, "start etching", "end etching" in the connection relationship graph g_1 between the plurality of actions corresponds to "etching" in the business flow graph g_0, and "cleaning" in the connection relationship graph g_1 between the plurality of actions corresponds to "cleaning" in the business flow graph g_0. As can be seen from fig. 2, the connection relationship graph g_1 between the plurality of actions includes "measurement 2", and "measurement 2" is between "end etching" and "cleaning", but as can be seen from fig. 3, there is no "measurement" between "etching" and "cleaning" included in the flow chart g_0 corresponding to the flow business information provided by the customer, so that the correspondence relationship between the connection relationship graph g_1 and the flow chart g_0 cannot be found, i.e. the mapping relationship cannot be found, and therefore "measurement 2" in the connection relationship graph g_1 between the plurality of actions is ignored, and cannot appear in the flow chart expansion graph g_0'. Referring to fig. 4, a schematic diagram illustrating a business process expansion graph g_0' according to an exemplary embodiment of the present disclosure is shown. As can be seen from FIG. 4, the business process expansion graph G_0 'only selects points and edges appearing in the connection graph G_1 between the actions, but some points and edges are not selected, e.g., the node "measurement 2" in the connection graph G_1 between the actions is not selected into the business process expansion graph G_0'.
The flow model g_3 may be generated from a connection relationship graph g_1 and a business flow expansion graph g_0' between the plurality of actions.
According to an exemplary embodiment of the present disclosure, a difference between a connection relationship graph g_1 and a business process expansion graph g_0' between a plurality of actions may be calculated, and a business process complement graph g_2 may be obtained. As described above, the points and edges appearing in the connection relationship graph g_1 among the plurality of actions are not completely selected into the business process expansion graph g_0', and at this time, the points and edges not selected into the business process expansion graph g_0' form the business process complement graph g_2. Referring to fig. 5, there is a schematic diagram showing a comparison between a connection relationship diagram g_1, a business process expansion diagram g_0', and a business process complement diagram g_2 among one or more actions according to an exemplary embodiment of the present disclosure. In fig. 5, nodes of "ready lithography", "end lithography", "waiting pool waiting", "empty node", "end etching", "measurement 2" are shown in the business process complement diagram g_2, and edges between the two nodes of "ready lithography" and "end lithography" in the business process complement diagram g_2 in fig. 5 have been subtracted, and the reserved edges in the business process complement diagram g_2 in fig. 5 are edges in the connection relationship diagram g_1 between the plurality of actions, which are not selected in the business process expansion diagram g_0'.
The missing business process complement graph g_2' may be generated based on the business process complement graph g_2. Then, the business process expansion graph g_0 'and the business missing process complement graph g_2' can be superimposed to obtain a process model g_3.
As can be seen from fig. 5, the business process complement graph g_2 includes a plurality of nodes, between which a plurality of edges are formed, according to an exemplary embodiment of the present disclosure. For each node of the plurality of nodes, a first number of cases passing through the node and a second number of cases not passing through the node may be determined. For each of the plurality of edges, a third number of cases passing the edge and a fourth number of cases not passing the edge may be determined. Whether the node is an additional supplemental node may be determined based on the first number and the second number, and whether the edge is an additional supplemental edge may be determined based on the third number and the fourth number. Next, a business missing flow complement graph g_2' may be generated using the additional supplemental nodes of the plurality of nodes and the additional supplemental edges of the plurality of edges. Therefore, the business missing flow complement graph G_2' is a subgraph of the business flow complement graph G_2.
Referring to fig. 6, a schematic diagram illustrating one determination of additional supplemental nodes and additional supplemental edges according to an exemplary embodiment of the present disclosure is shown, according to an exemplary embodiment of the present disclosure. In fig. 6, "flow 1" may correspond to the flows of "start etching" and "end etching" in the connection relationship graph g_1 between the plurality of actions in fig. 2, "flow 2" may correspond to the flow of "cleaning" in the connection relationship graph g_1 between the plurality of actions in fig. 2, and the node R0 in fig. 6 may correspond to the node "measurement 2" in the connection relationship graph g_1 between the plurality of actions in fig. 2. Assume that the first number of cases (cases) passing through node R0 is 50 and the second number of cases not passing through node R0 is 1000.
A first sum 1050 between the first number 50 and the second number 1000 may be calculated, and then a first ratio 50/1050 between the first number 50 and the first sum 1050 may be calculated. Next, in the case that the first ratio 50/1050 is greater than the preset first threshold, the node R0 may be determined to be an additional supplemental node, i.e., the node "measurement 2" may be determined to be an additional supplemental node.
According to an exemplary embodiment of the present disclosure, if one of the two nodes corresponding to the edge belongs to an additional supplementary node and the other node is included in the business process expansion graph g_0', a second addition result between the third number of cases passing through the edge and the fourth number of cases not passing through the edge may be calculated. As can be seen from FIG. 5, one node "prepare lithography" of edge l Target object is included in the business process extension graph G_0', and as described above, another node "measure 2" of edge l Target object belongs to an additional supplemental node, a second addition result between the third number of cases passing through edge l Target object and the fourth number of cases not passing through edge l Target object can be calculated. Assuming that the third number is 60 and the fourth number is 800, the second addition between the third number 60 and the fourth number 800 is 860. Then, a second ratio 60/860 between the third number 60 and the second addition result 860 may be calculated. Next, in the event that the second ratio 60/860 is greater than a preset second threshold, the edge l Target object may be determined to be an additional supplemental edge.
In step 103, the process operation log may be filtered by using the process model g_3 to obtain process data.
According to an exemplary embodiment of the present disclosure, a case that is completely run in the flow model g_3 may be selected from a plurality of cases as the above-described flow data. That is, only the cases that have completed the whole flow included in the flow model g_3 are regarded as flow data, while the cases that have not completed the whole flow included in the flow model g_3 are regarded as abnormal cases and are removed and are not regarded as flow data.
At step 104, additional relationships may be obtained based on the flow data.
According to an exemplary embodiment of the present disclosure, a plurality of completely-running cases may be classified to obtain a plurality of completely-running case sets, for example, the plurality of completely-running cases may be classified according to case ids, and each completely-running case set may be e_case_id.
Then, for each of the plurality of completely-running cases, a case running interval [ t_l, t_r ] corresponding to a completely-running case set to which the completely-running case belongs can be obtained, wherein a left end point t_l of the case running interval is a minimum time corresponding to the completely-running case in the completely-running case set, and a right end point t_r of the case running interval is a maximum time corresponding to the completely-running case in the completely-running case set.
Next, a plurality of completely run case sets may be expanded to obtain at least one expanded case set. For each completely-running case set e_case_id, the completely-running cases in the case running intervals [ t_l, t_r ] corresponding to the completely-running case set e_case_id can be added to the completely-running case set e_case_id to obtain an extended case set E' _case_id corresponding to the completely-running case set e_case_id.
The order of execution between the fully-run cases expanded in each expanded case set E '_case_id and the original fully-run cases contained in that expanded case set E' _case_id may then be looked up as the additional relationship.
Referring to fig. 7, there is a schematic diagram illustrating one additional relationship according to an exemplary embodiment of the present disclosure. Wherein the dashed arrow is the "extra relationship". In fig. 7, a Time Line (Time Line), case 1, and case 2 are shown. Wherein case 1 includes three processes of waiting 1 (wait) -starting 1 (start) -ending 1 (end), and case 2 includes three processes of waiting 2 (wait) -starting 2 (start) -ending 2 (end). And, case 2 will start waiting (wait) when case 1 has started (start) but not ended (end), and case 2 will start (start) after case 1 ends (end). I.e. the start (start) of the next case should be after the end (end) of the previous case, this is the "extra relation". The obtained flow model g_3 should be filled with the above "additional relations" so that the original simulation model can be obtained. It follows that the original simulation model can be understood to consist of the flow model g_3 and some "extra relations".
At step 105, an original simulation model may be generated based on the flow model G_3 and the additional relationships, as previously described.
In step 106, the process data may be used to adjust simulation parameters of the original simulation model to obtain the target simulation model. The simulation parameters of the original simulation model can be adjusted by utilizing the 'completely operated case', so as to obtain the target simulation model.
According to the exemplary embodiment of the disclosure, the original simulation model can be subjected to parameter tuning in a non-gradient optimization tuning manner, so that optimal simulation parameters are corrected. The simulator sim corresponding to the original simulation model can be built, and further, the simulation parameters of the original simulation model can be adjusted in an iterative mode by utilizing the completely operated case and the simulator sim until iteration is terminated.
The simulation result corresponding to the iteration can be obtained by selecting a plurality of simulation parameters with highest matching degree between the corresponding simulation result and the real result from the simulation parameter set obtained by the previous iteration, namely selecting a part of simulation parameters, which are matched with the corresponding simulation result and the real result, from the simulation parameter set obtained by the previous iteration. Then, cross variation can be performed on the plurality of simulation parameters to obtain cross variation simulation parameters. The multiple simulation parameters with the highest matching degree can be multiple simulation parameters with the highest matching degree and the preset number, can also be multiple simulation parameters with the previous matching degree and the preset proportion, and can also be multiple simulation parameters with the matching degree higher than the preset threshold value.
It should be noted that the simulation parameter may be an n-dimensional vector, and may be represented as (a 1,a2,a3…,an), for example. The meaning of the cross variation is to expand the simulation parameter set by using the partial simulation parameters. For example, three of the above-described partial simulation parameters are assumed to be simulation parameter 1 (a 1,a2,a3,a4), simulation parameter 2 (a 5,a6,a7,a8), and simulation parameter 3 (a 9,a10,a11,a12), respectively. Then a new cross-variant simulation parameter may be generated in a "cross-variant" manner by intercepting the first half of simulation parameter 1, i.e., a 1 and a 2, as the first half of the new cross-variant simulation parameter, and intercepting the second half of simulation parameter 2, i.e., a 7 and a 8, as the second half of the new cross-variant simulation parameter, at which point the new cross-variant simulation parameter (a 1,a2,a7,a8) is obtained. Through the cross mutation mode, a plurality of cross mutation simulation parameters can be obtained, and expansion of a simulation parameter set is realized.
Then, based on the complete operation case, the simulation verification can be performed on the cross variation simulation parameters by using the simulator sim, so as to obtain a cross variation simulation result corresponding to the cross variation simulation parameters at the end of the iteration.
When the iteration is terminated, the simulation parameter which is the most consistent with the corresponding simulation result and the real result in the previous iteration can be selected as the simulation parameter of the target simulation model.
According to an exemplary embodiment of the present disclosure, the iteration termination may be determined in case a preset condition is satisfied. The preset conditions comprise one of the following conditions that the number of iterations reaches the preset number of iterations, or the corresponding cross variation simulation result and the real result in the cross variation simulation parameters at the end of the iteration are different by less than a preset difference threshold value.
According to an exemplary embodiment of the present disclosure, the difference of the cross-variant simulation result from the real result may be expressed by the following formula:
Where job_i is the i-th complete run case, sim p (ti|real_s) is the run completion time of the i-th complete run case on the simulator sim, real t (ti ]) is the real run time of the i-th complete run case.
For example, the aforementioned flow data, i.e., the historical simulation dataset of the complete run case build simulator sim, may be utilized, which may include the historical time set real_s: { job_i, t_i } for all job tasks entering the device, and the historical time set real_t: { job_i, t_i } for all job tasks completed on the device. Where "job_i" represents the ith job task, each "job task" is a complete running case. The "history time of job task entering the apparatus" may be understood as the corresponding log time of "prepare lithography" in fig. 2, and the "history time of job task completion on the apparatus" may be understood as the corresponding log time of "cleaning" in fig. 2. Suppose that the historical simulation dataset contains a total of 10 fully-operational cases.
For each simulation parameter, the historical simulation data set can be brought into the simulator sim to obtain a completion time set of the job task of each historical simulation data in the simulator sim, namely, the operation completion time of each complete operation case in the simulator sim in 10 complete operation cases can be obtained, and at this time, 10 operation completion times can be obtained in total. And, there is also a true run time for each of the 10 complete run cases, at which time there are a total of 10 true run times.
For each of the 10 completely run cases, a difference between the run completion time of the completely run case in the simulator sim and the actual run time corresponding to the completely run case may be calculated, and at this time, 10 differences may be obtained. Then, the sum of the absolute values of the 10 differences can be calculated, and the degree of difference between the simulation result and the real result of each simulation parameter can be judged by using the sum of the absolute values of the 10 differences. Wherein, for each simulation parameter, the smaller the sum of absolute values of the differences corresponding to the plurality of completely operated cases is, the smaller the difference between the simulation result and the real result of the simulation parameter is, the better the simulation effect of the simulation parameter is, i.e. the more the simulation parameter tends to be retained.
Fig. 8 is a block diagram illustrating a simulation model building apparatus according to an exemplary embodiment of the present disclosure.
Referring to fig. 8, the apparatus 800 may include an acquisition module 801, a generation module 802, a screening module 803, and an adjustment module 804.
An acquisition module 801 configured to acquire a flow operation log and flow service information;
A generating module 802 configured to generate a flow model g_3 based on the flow operation log and the flow service information;
a screening module 803 configured to screen the process operation log by using the process model g_3 to obtain process data;
The obtaining module 801 is configured to obtain an additional relationship based on the flow data;
The generating module 802 is configured to generate an original simulation model based on the flow model g_3 and the additional relationships;
The adjusting module 804 is configured to adjust the simulation parameters of the original simulation model by using the flow data, so as to obtain a target simulation model.
According to an exemplary embodiment of the present disclosure, the process flow action log comprises an action log of a plurality of cases, each of the cases comprising a plurality of actions;
the generation module 802 is configured to:
Generating a connection relation graph G_1 between a plurality of actions based on the plurality of actions contained in each case;
generating a service flow chart G_0 based on the flow service information;
Generating a business process expansion graph G_0' according to the superposition part between the business process graph G_0 and the connection relation graph G_1 among the plurality of actions;
and generating the flow model G_3 according to the connection relation graph G_1 among the actions and the business flow expansion graph G_0'.
According to an exemplary embodiment of the present disclosure, the generating module 802 is configured to:
Calculating the difference between the connection relation graph G_1 among the actions and the business process expansion graph G_0' to obtain a business process complement graph G_2;
Generating a business omission flow complement graph G_2' based on the business flow complement graph G_2;
And superposing the business flow expansion diagram G_0 'and the business omission flow complement diagram G_2' to obtain the flow model G_3.
According to an exemplary embodiment of the present disclosure, the business process complement graph g_2 includes a plurality of nodes, and a plurality of edges are formed between the plurality of nodes;
the generation module 802 is configured to:
For each node of the plurality of nodes, determining a first number of the cases passing through the node and a second number of the cases not passing through the node;
Determining, for each of the plurality of edges, a third number of the cases passing through the edge and a fourth number of the cases not passing through the edge;
judging whether the node is an additional supplementary node based on the first number and the second number;
judging whether the edge is an additional supplementary edge or not based on the third number and the fourth number;
and generating the business omission flow complement graph G_2' by using the additional complement nodes in the plurality of nodes and the additional complement edges in the plurality of edges.
According to an exemplary embodiment of the present disclosure, the generating module 802 is configured to:
calculating a first sum between the first number and the second number;
Calculating a first ratio between the first number and the first addition result;
And under the condition that the first ratio is larger than a preset first threshold value, determining the node as the additional supplementary node.
According to an exemplary embodiment of the present disclosure, the generating module 802 is configured to:
if one node of the two nodes corresponding to the edge belongs to the additional supplementary node and the other node is included in the business process expansion graph G_0', calculating a second addition result between the third number and the fourth number;
calculating a second ratio between the third number and the second addition result;
And determining the edge as the additional supplementary edge under the condition that the second ratio is larger than a preset second threshold value.
According to an exemplary embodiment of the present disclosure, the screening module 803 is configured to:
and screening the case which is completely operated in the flow model G_3 from the plurality of cases as the flow data.
According to an exemplary embodiment of the present disclosure, the acquisition module 801 is configured to:
classifying the plurality of completely operated cases to obtain a plurality of completely operated case sets;
For each of the plurality of completely operated cases, acquiring a case operation interval corresponding to a completely operated case set to which the completely operated case belongs, wherein a left end point of the case operation interval is a minimum time corresponding to the completely operated case in the completely operated case set, and a right end point of the case operation interval is a maximum time corresponding to the completely operated case in the completely operated case set;
Expanding the plurality of completely-operated case sets to obtain at least one expanded case set, wherein for each completely-operated case set, completely-operated cases, of which the corresponding operation time is included in a case operation interval corresponding to the completely-operated case set, in other completely-operated case sets are added into the completely-operated case set to obtain an expanded case set corresponding to the completely-operated case set;
and searching the running sequence between the complete running case expanded in each extended case set and the original complete running case contained in the extended case set as the additional relation.
According to an exemplary embodiment of the present disclosure, the adjustment module 804 is configured to:
Building a simulator corresponding to the original simulation model;
And adjusting simulation parameters of the original simulation model by using the completely operated case and the simulator in an iterative mode until iteration is terminated:
The simulation result corresponding to the iteration is obtained through the following operations:
selecting a plurality of simulation parameters with highest matching degree between a corresponding simulation result and a real result from a simulation parameter set obtained in the previous iteration;
Cross variation is carried out on the simulation parameters to obtain cross variation simulation parameters;
Based on the completely operated case, carrying out simulation verification on the cross variation simulation parameters by using the simulator to obtain a cross variation simulation result corresponding to the cross variation simulation parameters;
And when the iteration is terminated, selecting the simulation parameters which are the most consistent with the corresponding simulation results and the real results in the previous iteration as the simulation parameters of the target simulation model.
According to an exemplary embodiment of the present disclosure, the construction apparatus 800 may further include:
the determining module is configured to determine that iteration is terminated under the condition that a preset condition is met;
wherein the preset condition includes one of the following conditions:
the iteration number reaches the preset iteration number, and
And when the iteration is finished, the corresponding cross variation simulation result and the real result in the cross variation simulation parameters have the cross variation simulation parameters with the difference smaller than a preset difference threshold value.
According to an exemplary embodiment of the present disclosure, the difference between the cross variation simulation result and the real result is expressed by the following formula:
Where job_i is the ith complete run case, sim p (ti|real_s) is the run completion time of the ith complete run case on the simulator, and real t (ti ]) is the real run time of the ith complete run case.
Fig. 9 is a block diagram illustrating an electronic device 900 according to an exemplary embodiment of the present disclosure.
Referring to fig. 9, an electronic device 900 includes at least one memory 901 and at least one processor 902, the at least one memory 901 having instructions stored therein that when executed by the at least one processor 902 perform a method of constructing a simulation model according to an exemplary embodiment of the present disclosure.
By way of example, the electronic device 900 may be a PC computer, tablet device, personal digital assistant, smart phone, or other device capable of executing the instructions described above. Here, the electronic device 900 is not necessarily a single electronic device, but may be any apparatus or a collection of circuits capable of executing the above-described instructions (or instruction set) individually or in combination. The electronic device 900 may also be part of an integrated control system or system manager, or may be a portable electronic device configured to interface with locally or remotely (e.g., via wireless transmission).
In electronic device 900, processor 902 may include a Central Processing Unit (CPU), a Graphics Processor (GPU), a programmable logic device, a special purpose processor system, a microcontroller, or a microprocessor. By way of example, and not limitation, processors may also include analog processors, digital processors, microprocessors, multi-core processors, processor arrays, network processors, and the like.
The processor 902 may execute instructions or code stored in the memory 901, wherein the memory 901 may also store data. The instructions and data may also be transmitted and received over a network via a network interface device, which may employ any known transmission protocol.
The memory 901 may be integrated with the processor 902, for example, RAM or flash memory disposed within an integrated circuit microprocessor or the like. In addition, memory 901 may include a stand-alone device, such as an external disk drive, storage array, or other storage device usable by any database system. The memory 901 and the processor 902 may be operatively coupled or may communicate with each other, for example, through an I/O port, network connection, etc., such that the processor 902 is able to read files stored in the memory.
In addition, the electronic device 900 may also include a video display (such as a liquid crystal display) and a user interaction interface (such as a keyboard, mouse, touch input device, etc.). All components of the electronic device 900 may be connected to each other via buses and/or networks.
According to an exemplary embodiment of the present disclosure, a computer-readable storage medium may also be provided, which when executed by a processor of an electronic device, enables the electronic device to perform the above-described method of constructing a simulation model. Examples of computer readable storage media herein include read-only memory (ROM), random-access programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random-access memory (RAM), dynamic random-access memory (DRAM), static random-access memory (SRAM), flash memory, nonvolatile memory, CD-ROM, CD-R, CD + R, CD-RW, CD+RW, DVD-ROM, DVD-R, DVD + R, DVD-RW, DVD+RW, DVD-RAM, BD-ROM, BD-R, BD-R LTH, BD-RE, blu-ray or optical disk memory, hard Disk Drive (HDD), solid State Disk (SSD), card memory (such as a multimedia card, secure Digital (SD) card or ultra-fast digital (XD) card), magnetic tape, floppy disk, magneto-optical data storage device, hard disk, solid state disk, and any other device configured to non-temporarily store a computer program and any associated data, data files and data structures and to cause the computer program and any associated data, data file and data structures to be provided to a processor or processor to execute the computer program. The computer programs in the computer readable storage media described above can be run in an environment deployed in a computer device, such as a client, host, proxy device, server, etc., and further, in one example, the computer programs and any associated data, data files, and data structures are distributed across networked computer systems such that the computer programs and any associated data, data files, and data structures are stored, accessed, and executed in a distributed fashion by one or more processors or computers.
According to the method and the device for constructing the simulation model, the simulation model can be obtained based on the flow operation log and the flow service information, namely, the flow operation log and the flow service information can be effectively combined, and the simulation model is automatically generated. The attention degree of flow change and data change during actual operation of the project is enhanced, and the accuracy of the constructed simulation model is improved.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any adaptations, uses, or adaptations of the disclosure following the general principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It is to be understood that the present disclosure is not limited to the precise arrangements and instrumentalities shown in the drawings, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.