WO2024001722A1 - 机台建模方法、装置、电子设备和存储介质 - Google Patents

机台建模方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
WO2024001722A1
WO2024001722A1 PCT/CN2023/099351 CN2023099351W WO2024001722A1 WO 2024001722 A1 WO2024001722 A1 WO 2024001722A1 CN 2023099351 W CN2023099351 W CN 2023099351W WO 2024001722 A1 WO2024001722 A1 WO 2024001722A1
Authority
WO
WIPO (PCT)
Prior art keywords
machine
parameter
model
task
value
Prior art date
Application number
PCT/CN2023/099351
Other languages
English (en)
French (fr)
Inventor
周浩
李佳骏
涂威威
Original Assignee
第四范式(北京)技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 第四范式(北京)技术有限公司 filed Critical 第四范式(北京)技术有限公司
Publication of WO2024001722A1 publication Critical patent/WO2024001722A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model

Definitions

  • the present disclosure relates to the field of simulation technology, and more specifically, to machine modeling methods, devices, electronic devices and storage media.
  • the present disclosure provides machine modeling methods, devices, electronic devices, and storage media to at least solve the problem in the above related technologies that it is difficult to perform high-fidelity simulation of an assembly line production environment.
  • a system including at least one computing device and at least one storage device storing instructions that, when executed by the at least one computing device, cause the at least one computing device to
  • the following steps of performing machine modeling include: constructing a machine model based on multiple functional modules of the target machine and the operating modes of the multiple functional modules, wherein the machine model includes multiple sub-models and The performance of the above machine model corresponds to at least one A parameter, each of the sub-models includes at least one second parameter used to characterize the core attributes of the sub-model, and the multiple sub-models respectively correspond to the multiple functional modules; obtain historical operating data of the target machine , wherein the historical operation data includes the real operation log of each task among the multiple tasks corresponding to the products processed on the target machine; and the machine model is trained based on the historical operation data of the target machine. , obtain the value of at least one of the at least one first parameter and the at least one second parameter to obtain a machine model that simulates the target machine.
  • a machine modeling device including: a building module configured to build the machine based on a plurality of functional modules of the target machine and the operating modes of the plurality of functional modules.
  • Model wherein the machine model includes a plurality of sub-models and at least one first parameter corresponding to the performance of the machine model, and each of the sub-models includes at least a first parameter used to characterize the core attributes of the sub-model.
  • Two parameters, the plurality of sub-models respectively correspond to the plurality of functional modules; an acquisition module is configured to obtain historical operating data of the target machine, wherein the historical operating data is included in the target machine.
  • the real operation log of each task in the plurality of tasks corresponding to the processed product a training module configured to train the machine model based on the historical operation data of the target machine, and obtain the at least one first parameter and the The value of at least one of the at least one second parameter is determined to obtain a machine model that simulates the target machine.
  • an electronic device including: a processor; a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions to implement Machine modeling method according to the present disclosure.
  • the machine model can be trained using historical operating data on the real machine, so that the trained machine model can simulate the real assembly line production environment more accurately, that is, the virtual environment simulated by the trained machine model It is close to the real assembly line production environment and achieves high-fidelity simulation of the assembly line production environment, which can then guide the actual scheduling and production process and improve the efficiency of the actual production line.
  • FIG. 1 is a flow chart illustrating a machine modeling method according to an exemplary embodiment of the present disclosure
  • Figure 2 is an abstract schematic diagram showing a machine model according to an exemplary embodiment of the present disclosure
  • Figure 3 is a schematic diagram illustrating a machine model according to an exemplary embodiment of the present disclosure
  • Figure 4 is a block diagram illustrating a machine platform modeling device according to an exemplary embodiment of the present disclosure
  • FIG. 5 is a block diagram illustrating an electronic device according to an exemplary embodiment of the present disclosure.
  • “at least one of the several items” appearing in this disclosure means including “any one of the several items”, “a combination of any of the several items”, The three types of juxtaposition of "all of the items”.
  • “including at least one of A and B” includes the following three parallel situations: (1) including A; (2) including B; (3) including A and B.
  • “perform at least one of step 1 and step 2” means the following three parallel situations: (1) execute step 1; (2) execute step 2; (3) execute step 1 and step 2.
  • the machine modeling method proposed in this disclosure can use historical operating data on real machines to train the machine model, so that the trained machine model simulates a real assembly line production environment.
  • the accuracy is good, that is, the virtual environment simulated by the trained machine model is close to the real assembly line production environment, achieving high-fidelity simulation of the assembly line production environment, which can then guide actual work scheduling and scheduling. production process and improve the efficiency of the actual production line.
  • the present disclosure automatically obtains the values of various parameters of the simulation model based on historical operating data on the real machine, compared with the way in which workers conduct manual modeling based on experience, the machine modeling method of the present disclosure higher efficiency.
  • FIG. 1 is a flowchart illustrating a machine modeling method performed by at least one computing device according to an exemplary embodiment of the present disclosure.
  • a machine model can be constructed based on multiple functional modules of the target machine and the operating modes of the multiple functional modules.
  • the machine model may include multiple sub-models and at least one first parameter corresponding to the performance of the machine model.
  • Each sub-model may include at least one second parameter used to characterize the core attributes of the sub-model.
  • the multiple sub-models respectively correspond to the above-mentioned Multiple functional modules of the target machine.
  • FIG. 2 is an abstract schematic diagram showing a machine model according to an exemplary embodiment of the present disclosure.
  • the machine model abstraction contains a total of three parts, namely: machine port (Load port), entry and exit warehouse (channel) and processing warehouse (Chamber).
  • Load port is used to describe the resource pool where products are stored at the entrance and exit of the machine. Products can wait on the load port to enter the machine for processing, or they can wait to go to the next machine after processing is completed.
  • the number of Load ports can be multiple. In Figure 2, the number of machine ports is 3. These 3 machine ports are: Load port1, Load port2 and Load port3.
  • Channel is used to describe the channel through which products enter the processing bin of the machine. Before the product enters the processing chamber of the machine for processing, some pre-processing operations may be required, such as vacuuming, heating the product, etc.
  • the entry and exit of the chamber is mainly used to complete this pre-processing operation.
  • the entry and exit warehouse usually only allows one or a group of products of the same process to enter at a time, that is, the entry and exit warehouse can be regarded as a resource, and there is occupation and release of resources.
  • the entrance and exit (load lock) of the warehouse is the passage for products to pass between the warehouse and the processing warehouse.
  • the number of entrances and exits can be multiple, and the number of entrances and exits determines the total number of products entering the machine. .
  • the number of entrances and exits in and out of the warehouse is 2.
  • the two entrances and exits in and out of the warehouse are: load lock1 and load lock2.
  • Chamber is used to describe the resource pool inside the machine for actual processing of products.
  • parallelism can be divided into homogeneous parallelism (homo parallel) and heterogeneous parallelism (hete_parallel).
  • homogeneous parallelism each resource in the processing warehouse is the same, and homogeneous parallelism can also be divided into two methods. The first method is that each product occupies one Chamber; the second method is that one product occupies all Chambers. , there is a cascade between products, that is, there is partial overlap between the previous product and the next product.
  • the resources in the processing warehouse in heterogeneous parallelism are not exactly the same. Different products can be parallel or cascaded according to the resource occupancy of the Chamber. There can be no conflict between the resources occupied by different parallel processing products, that is, different products. There must be no conflict between the Chambers occupied by parallel processing products.
  • each Chamber can correspond to a process type.
  • a certain Chamber can correspond to process type a
  • another Chamber can correspond to process type b, etc.
  • the process types corresponding to different Chambers can be the same or different.
  • the process types corresponding to two Chambers can both be a or both be b.
  • a total of 5 Chambers are shown: Chamber1, Chamber2, Chamber3, Chamber4, and Chamber5.
  • step 102 historical operating data of the target machine can be obtained, where the historical operating data can include each of the multiple tasks (jobs) corresponding to the products processed on the target machine.
  • the actual running log of each task can include the type of the task, the size of the task (size), that is, how many products in the task need to be processed at one time, which chambers are requested by the task, which processes are used by the task, and the Information such as when the task arrives at the load port of the target machine and when the task leaves the load port of the target machine.
  • the machine model can be trained based on historical operating data of the target machine, and a value of at least one of at least one first parameter and at least one second parameter can be obtained to obtain a machine model that simulates the target machine.
  • FIG. 3 is a schematic diagram illustrating a machine model according to an exemplary embodiment of the present disclosure.
  • Machine Model is the main object of the machine model, and it mainly contains three sub-models, namely: machine port sub-model (Load Port Pool), entry and exit warehouse model (Channel) and processing warehouse sub-model (Chamber). Pool).
  • at least one first parameter corresponding to the performance of the machine model is: a processing time function (process_time) of the task on the machine, which may be a function function.
  • the data type of the name parameter (name) of the machine model can be a string type (string).
  • the second parameters corresponding to the machine port sub-model include: the type parameter of the machine port (type), the number parameter of the machine port (number) and the occupied machine port parameter (used).
  • the type parameter (type) of the machine port is used to describe the type of load port, including entrance, exit and entrance, and its data type can be string;
  • the number parameter (number) of the machine port is used to describe the number of load ports.
  • Its data type can be an integer (integer);
  • the occupied machine port parameter (used) is used to describe the number of occupied load ports, and its data type can be an integer.
  • the second parameter corresponding to the entry and exit warehouse sub-model includes: the number parameter of the entry and exit of the warehouse (num_load_lock), the pass time parameter of the entry and exit warehouse (pass time), the type parameter of the entry and exit warehouse (type) and whether the Channel is occupied. (used).
  • the number parameter (num_load_lock) of the entrance and exit of the warehouse is used to describe the number of load_lock, and its data type can be integer
  • the pass time parameter (pass time) of the entry and exit warehouse is used to describe the passage time of the channel, and its data type can be integer.
  • the type parameter (type) in and out of the warehouse is used to describe the type of channel, including blocking type (blocking) and non-blocking type (non-blocking), and its data type can be string; the parameter (used) is used to describe whether the Channel is occupied Whether the channel is occupied, its data type can be a Boolean variable (bool).
  • the second parameter corresponding to the processing chamber sub-model includes: the number parameter of the processing chamber for each process type (chamber_dict), the type parameter of the processing chamber (type) and chamber occupancy status parameter (used_chamber).
  • the quantity parameter (chamber_dict) of the processing chamber of each process type is used to describe the quantity of each chamber, and its data type can be string and integer
  • the type parameter (type) of the processing chamber is used to describe the type of Chamber Pool, including The data type of series, homo_parallel and hete_parallel can be string
  • the chamber occupancy status parameter (used_chamber) is used to describe the occupancy of each chamber, and its data type can be string and integer.
  • the machine model can be trained using a regression fitting method based on the historical operating data of the target machine to obtain the value of at least one first parameter; the machine model can also be trained based on the historical operating data of the target machine using Train the machine model using pattern matching or non-gradient optimization to obtain the value of at least one second parameter.
  • the above-mentioned at least one first parameter may include: a processing time function (process_time) of the task on the machine.
  • process_time a processing time function of the task on the machine.
  • the historical operating data may also include machine characteristics of the target machine when each task enters the processing bin module of the target machine. For each of multiple tasks, you can do the following:
  • the regression fitting method can be used to obtain the mapping relationship between multiple pairs of independent variables x and dependent variables y corresponding to multiple tasks, as a function of the processing time of the task on the machine. For example, assuming that the multiple tasks included in the historical operating data are 100 tasks, regression fitting can be used to obtain the mapping relationship between 100 pairs of independent variables x and dependent variables y corresponding to 100 tasks, as the tasks on the machine
  • the processing time function (process_time).
  • the machine characteristics of the target machine may include whether the target machine is in a processing state; and when the target machine is in a processing state, the processing chamber module currently being processed in the target machine is The number of processing tasks and the time for each processed task to enter the processing bin module of the target machine.
  • process_time when designing process_time, staff generally design it to be relatively long to ensure that each processed product is a finished product that meets the requirements. However, sometimes in order to improve the efficiency of the actual production pipeline, process_time may need to be set shorter. However, if the staff adjusts process_time based on experience, it may cause the actual production pipeline to problem appear. For example, assume that the minimum processing time required to obtain a finished product is 50 seconds. If the staff adjusts the process_time to 49 seconds based on experience, it is equivalent to each product leaving the warehouse in advance before being processed. At this time, the actual production The product is only a semi-finished product and cannot be used directly, which will bring economic losses to the manufacturer.
  • the trained machine model can be used for simulation, and the actual scheduling and production process can be guided based on the simulation results. For example, different process_times can be input into the trained machine model, and based on the simulation results, it can be determined whether there are problems with the processed products and whether there are conflicts during the operation of the machine. After continuous attempts, the process_time can be reduced to the maximum extent while ensuring that there are no problems with the processed products and that there are no conflicts during the operation of the machine, that is, the processing time of a single product can be reduced to the maximum extent. For example, it originally took 55 seconds to process a product. After continuous trials of process_time using the trained machine model, the final process_time may become 50 seconds. At this time, the processing time of a product is saved by 5 seconds.
  • the efficiency of the actual production line can be greatly improved. Moreover, since the process_time is tried on a trained machine model, even if the process_time of a certain attempt is lower than the minimum processing time required for a finished product, a large number of semi-finished products will not really be produced. Maximize the efficiency of the actual production line without causing any impact on the process.
  • multiple sub-models may include a machine port sub-model (Load Port Pool), an entry and exit chamber sub-model (Channel), and a processing chamber sub-model (Chamber Pool).
  • the second parameter of the machine port sub-model may include: the type parameter (type) of the machine port and the number parameter (number) of the machine port;
  • the second parameter of the in/out warehouse model may include : The number parameter of the entrance and exit of the warehouse (num_load_lock), the pass time parameter of the warehouse (pass time) and the type parameter of the warehouse (type);
  • the second parameter of the processing chamber model can include: each process The number parameter of the type of processing chamber (chamber_dict) and the type parameter of the processing chamber (type).
  • the real running log of each task may include the time when the task enters the entry and exit module of the target machine.
  • the time difference between the two entry and exit warehouse modules of the target machine corresponding to the two adjacent tasks can be determined.
  • the value of the entry and exit type parameter of the entry and exit warehouse sub-model can be determined.
  • the value of the type parameter of the entry and exit warehouse sub-model is blocking type (blocking); otherwise, it can be determined that the value of the type parameter of the entry and exit warehouse sub-model is non- Blocking type (non-blocking).
  • the real running log of each task may include the processing bin entry time of the task into the processing bin module in the multiple functional modules of the target machine, and the exit time of the task leaving the target machine. Taiwan time.
  • the value of the processing bin type parameter of the processing bin sub-model can be determined based on the processing bin entry time and machine exit time of each task in any two adjacent tasks among multiple tasks.
  • the processing bin entry time of the task with a lower task order is after the exit time of the task with an earlier task order, that is, if a After the job is processed, another job can enter the processing warehouse module of the target machine.
  • the value of the processing warehouse type parameter of the processing warehouse sub-model is a serial type. That is, at this time, it can be considered that in Figure 2
  • the types of all chambers are string type, which is equivalent to one job occupying all chambers. All chambers in Figure 2 can be regarded as one chamber.
  • the entry time of the processing bin of the task with the lower task order is between the entry time of the processing bin of the task with the earlier task order and the time of leaving the machine, that is, if a job has not yet After being processed, another job enters the processing bin module of the target machine, and it can be determined that the value of the processing bin type parameter of the processing bin sub-model is the parallel type.
  • parallelism can be divided into homogeneous parallelism (homo parallel) and heterogeneous parallelism (hete_parallel).
  • homogeneous parallelism homogeneous parallelism
  • hetero parallel heterogeneous parallelism
  • homogeneous parallelism homogeneous parallelism
  • it can also be divided into two types.
  • this type of homogeneous parallelism can be considered ( homo parallel) is the first type of homogeneous parallelism; if each task occupies all Chambers, and the process of each task is also the same, this kind of homogeneous parallelism (homo parallel) can be considered as the second type of homogeneous parallelism.
  • heterogeneous parallelism For heterogeneous parallelism (hete_parallel), if it is determined based on historical operating data that the processes used by each task in multiple tasks conflict, multiple tasks cannot be parallelized; the processes used by each task in multiple tasks are not consistent. In the case of conflicts, multiple tasks can be run in parallel. In this case, To determine the type of processing bin of the processing bin sub-model as heterogeneous parallelism.
  • the real running log of each task may include machine port information used by the task to enter the target machine and machine port information used to leave the target machine.
  • the value of the type parameter of the machine port of the machine port sub-model can be determined based on the machine port information used by each task to enter the target machine and the machine port information used to leave the target machine. For example, based on the machine port information used by each task to enter the target machine and the machine port information used to leave the target machine, the type of the machine port of the machine port sub-model can be determined as entrance, exit, or both entry and exit. Accessible entrance and exit.
  • the number parameter (number) of the machine port the number parameter (num_load_lock) of the entrance and exit of the warehouse, the pass time parameter (pass time) of the entry and exit warehouse, and the processing warehouse of each process type are
  • the number parameter (number) of the machine port the number parameter (num_load_lock) of the entrance and exit of the warehouse
  • the pass time parameter (pass time) of the entry and exit warehouse the processing warehouse of each process type are
  • the processing warehouse of each process type are For each second parameter in the quantity parameter (chamber_dict), you can do the following:
  • the real value range corresponding to the second parameter can be determined based on the real running log of each task.
  • the real running log of each task can include the passage time of each task in the entry and exit module. There will be a minimum passage time and a maximum passage time for multiple tasks corresponding to multiple passage times in the entry and exit module.
  • the true value range corresponding to the second parameter of the entry and exit warehouse sub-model that is, the pass time parameter (pass time) of the entry and exit warehouse, is the interval formed by the minimum pass time and the maximum pass time.
  • multiple samples can be performed within the real value range to obtain multiple real sample values.
  • multiple samplings can be performed within the interval formed by the above-mentioned minimum transit time value and the maximum transit time value to obtain multiple real transit time sample values.
  • the value of the second parameter of the machine model can be set to the real sample value, for example, for each of the plurality of real pass time sample values
  • the true passing time sampling value can be set to the true passing time sampling value by setting the value of the passing time parameter (pass time) of the entering and exiting warehouse sub-model (Channel).
  • the real running log of each task in multiple tasks can be input to the machine model set to the real sampling value to obtain the simulation running log.
  • the real running log of each task in multiple tasks can be input to the machine model set to the real sampling value.
  • the real machine model passes through time sampling values to obtain the simulation running log.
  • the simulation running log and the real running log of each task in multiple tasks Determine the value of the second parameter of the machine model.
  • the value of the second parameter (pass time) of the entry and exit warehouse sub-model (Channel) of the machine model can be determined based on the simulation running log and the real running log of each task in the multiple tasks.
  • the number of simulation task completions (work in progress) within the preset time period and the number of machines within the preset time period can be determined based on part of the simulation run log within the preset time period.
  • the simulation ratio of idle time to machine working time It can also be used to determine the number of real task completions in the preset time period and the idle time and machine idle time in the preset time period based on part of the real operation logs of each task in the preset time period.
  • the actual proportion of working hours It should be noted that work in progress and the ratio of machine idle time to machine working time within the preset time period can be used to characterize the machine's production capacity.
  • the real sampling value whose corresponding simulation proportion is closest to the real proportion, and the corresponding number of completed simulation tasks is closest to the number of real task completions can be selected as The value of the second parameter of the machine model.
  • the second parameter of the warehouse sub-model (Channel) For example, you can choose the second parameter of the warehouse sub-model (Channel) to enter and exit the warehouse.
  • the corresponding simulation proportion is closest to the real proportion
  • the corresponding real pass time sampling value that is closest to the number of completed simulation tasks and the number of real tasks is used as the second parameter (pass time) of the in and out warehouse sub-model (Channel) of the machine model to be finally taken. value.
  • multiple sampling can be carried out in the real value range corresponding to each second parameter.
  • the real running log of each task in the multiple tasks can be poured into the machine with the real sampling value set. model, and then the real sampling value that is closest to the simulation running result and the real running result can be selected from multiple real sampling values as the final value of the second parameter, that is, the simulated virtual environment can be selected from multiple real sampling values.
  • the real sampling value closest to the real assembly line production environment is used as the final value of the second parameter, which can ensure the accuracy of the trained machine model in simulating the real assembly line production environment.
  • parameters other than process_time can be calibrated through pattern matching or non-gradient optimization; process_time can be calibrated using regression fitting methods such as machine learning.
  • regression fitting methods such as machine learning.
  • run_logs retrive_logs(eqp_id)
  • FIG. 4 is a block diagram illustrating a machine platform modeling device according to an exemplary embodiment of the present disclosure.
  • the device 400 may include a building module 401 , an acquisition module 402 and a training module 403 .
  • the building module 401 can build a machine model based on multiple functional modules of the target machine and the operating modes of the multiple functional modules.
  • the machine model may include multiple sub-models and at least one first parameter corresponding to the performance of the machine model.
  • Each sub-model may include at least one second parameter used to characterize the core attributes of the sub-model.
  • the multiple sub-models respectively correspond to the above-mentioned Multiple functional modules of the target machine.
  • the acquisition module 402 may obtain historical operation data of the target machine, where the historical operation data may include the real operation log of each of multiple tasks (jobs) corresponding to the products processed on the target machine.
  • the real running log of each task can include the type of the task, the size of the task, that is, how many products in the task need to be processed at one time, which chambers are requested by the task, which processes are used by the task, and when the task Information such as the Load port that reaches the target machine and when the task leaves the Load port of the target machine.
  • the training module 403 may train the machine model based on historical operating data of the target machine, and obtain a value of at least one of at least one first parameter and at least one second parameter to obtain a machine model that simulates the target machine.
  • the above-mentioned at least one first parameter may include: a processing time function (process_time) of the task on the machine.
  • process_time a processing time function of the task on the machine.
  • the historical operating data may also include machine characteristics of the target machine when each task enters the processing bin module of the target machine.
  • the training module 403 may perform the following operations:
  • the regression fitting method can be used to obtain the mapping relationship between multiple pairs of independent variables x and dependent variables y corresponding to multiple tasks, as a function of the processing time of the task on the machine. For example, assuming that the multiple tasks included in the historical operating data are 100 tasks, regression fitting can be used to obtain the mapping relationship between 100 pairs of independent variables x and dependent variables y corresponding to 100 tasks, as the tasks on the machine
  • the processing time function (process_time).
  • the machine characteristics of the target machine may include whether the target machine is in a processing state; and when the target machine is in a processing state, the processing chamber module currently being processed in the target machine is The number of processing tasks and the time for each processed task to enter the processing bin module of the target machine.
  • multiple sub-models may include a machine port sub-model (Load Port Pool), an entry and exit chamber sub-model (Channel), and a processing chamber sub-model (Chamber Pool).
  • the second parameter of the machine port sub-model may include: the type parameter (type) of the machine port and the number parameter (number) of the machine port;
  • the second parameter of the in/out warehouse model may include : The number parameter of the entrance and exit of the warehouse (num_load_lock), the pass time parameter of the warehouse (pass time) and the type parameter of the warehouse (type);
  • the second parameter of the processing chamber model can include: each process The number parameter of the type of processing chamber (chamber_dict) and the type parameter of the processing chamber (type).
  • the real running log of each task may include the time when the task enters the entry and exit module of the target machine.
  • the training module 403 can determine the time difference between the two entry and exit warehouse modules of the target machine corresponding to the two adjacent tasks. Then, based on the above time difference corresponding to any two adjacent tasks, Determine the value of the type parameter of the entry and exit bin of the entry and exit bin sub-model.
  • the training module 403 can determine that the value of the type parameter of the entry and exit warehouse sub-model is blocking type (blocking); otherwise, the training module 403 can determine the value of the entry and exit warehouse sub-model.
  • the value of the type parameter is a non-blocking type (non-blocking).
  • the real running log of each task may include the processing bin entry time of the task into the processing bin module in the multiple functional modules of the target machine, and the exit time of the task leaving the target machine. Taiwan time.
  • the training module 403 can determine the value of the processing bin type parameter of the processing bin sub-model based on the processing bin entry time and machine leaving time of each task in any two adjacent tasks among the multiple tasks.
  • the processing bin entry time of the task with a lower task order is after the exit time of the task with an earlier task order, that is, if a After the job is processed, another job can enter the processing warehouse module of the target machine.
  • the training module 403 can determine that the value of the type parameter of the processing warehouse sub-model is a serial type, that is, at this time, it can be considered.
  • the types of all chambers in Figure 2 are string types, which is equivalent to one job occupying all chambers. All chambers in Figure 2 can be regarded as one chamber.
  • the entry time of the processing bin of the task with the lower task order is between the entry time of the processing bin of the task with the earlier task order and the time of leaving the machine, that is, if a job has not yet After being processed, another job enters the processing bin module of the target machine, and the training module 403 can determine that the value of the processing bin type parameter of the processing bin sub-model is a parallel type.
  • parallelism can be divided into homogeneous parallelism (homo parallel) and heterogeneous parallelism (hete_parallel).
  • homogeneous parallelism homogeneous parallelism
  • hetero parallel heterogeneous parallelism
  • homogeneous parallelism homogeneous parallelism
  • it can also be divided into two types.
  • homogeneous parallelism is the first type of homogeneous parallelism; if each task occupies all Chambers, and the process of each task is also the same, it can be considered This kind of homogeneous parallelism (homo parallel) is the second type of homogeneous parallelism.
  • heterogeneous parallelism For heterogeneous parallelism (hete_parallel), if it is determined based on historical operating data that the processes used by each task in multiple tasks conflict, multiple tasks cannot be parallelized; the processes used by each task in multiple tasks are not consistent. In the case of conflicts, multiple tasks can be parallelized. At this time, it can be determined that the type of processing bin of the processing bin sub-model is heterogeneous parallelism.
  • the real running log of each task may include machine port information used by the task to enter the target machine and machine port information used to leave the target machine.
  • the training module 403 may determine the value of the machine port type parameter of the machine port sub-model based on the machine port information used by each task to enter the target machine and the machine port information used to leave the target machine. For example, based on the machine port information used by each task to enter the target machine and the machine port information used to leave the target machine, the type of the machine port of the machine port sub-model can be determined as entrance, exit, or both entry and exit. Accessible entrance and exit.
  • the training module 403 can perform the following operations:
  • the real value range corresponding to the second parameter can be determined based on the real running log of each task.
  • the real running log of each task can include the passage time of each task in the entry and exit module. There will be a minimum passage time and a maximum passage time for multiple tasks corresponding to multiple passage times in the entry and exit module.
  • the true value range corresponding to the second parameter of the entry and exit warehouse sub-model that is, the pass time parameter (pass time) of the entry and exit warehouse, is the interval formed by the minimum pass time and the maximum pass time.
  • multiple samples can be performed within the real value range to obtain multiple real sample values.
  • multiple samplings can be performed within the interval formed by the above-mentioned minimum transit time value and the maximum transit time value to obtain multiple real transit time sample values.
  • the value of the second parameter of the machine model can be set to the real sample value, for example, for each of the plurality of real pass time sample values
  • the true passing time sampling value can be set to the true passing time sampling value by setting the value of the passing time parameter (pass time) of the entering and exiting warehouse sub-model (Channel).
  • the real run log input for each of the multiple tasks can then be set past the real acquisition
  • the machine model with the sample value can obtain the simulation running log.
  • the real running log of each task in multiple tasks can be input into the machine model set with the real passing time sampling value to obtain the simulation running log.
  • the value of the second parameter of the machine model can be determined based on the simulation running log and the real running log of each task in the plurality of tasks.
  • the value of the second parameter (pass time) of the machine model's entry and exit warehouse sub-model (Channel) can be determined based on the simulation running log and the real running log of each task in the multiple tasks.
  • the training module 403 can determine the number of simulation task completions (work in progress) within the preset time period and the preset time period based on part of the simulation running log within the preset time period. The simulation ratio of internal machine idle time to machine working time. The training module 403 can also determine the actual number of completed tasks within the preset time period and the idle time of the machine within the preset time period based on part of the real operation logs of each task in the multiple tasks within the preset time period. The actual proportion to the machine working time. It should be noted that work in progress and the ratio of machine idle time to machine working time within the preset time period can be used to characterize the machine's production capacity.
  • the training module 403 can select the real sample among the plurality of real sample values corresponding to the second parameter, the corresponding simulation proportion is closest to the real proportion, and the corresponding number of completed simulation tasks is closest to the number of completed real tasks. value as the value of the second parameter of the machine model. For example, you can choose the second parameter of the warehouse sub-model (Channel) to enter and exit the warehouse. Among the multiple real pass time sample values corresponding to the second parameter (pass time), the corresponding simulation proportion is closest to the real proportion, and The corresponding real pass time sampling value that is closest to the number of completed simulation tasks and the number of real tasks is used as the second parameter (pass time) of the in and out warehouse sub-model (Channel) of the machine model to be finally taken. value.
  • multiple sampling can be carried out in the real value range corresponding to each second parameter.
  • the real running log of each task in the multiple tasks can be poured into the machine with the real sampling value set. model, and then the real sampling value that is closest to the simulation running result and the real running result can be selected from multiple real sampling values as the final value of the second parameter, that is, the simulated virtual environment can be selected from multiple real sampling values.
  • the real sampling value closest to the real assembly line production environment is used as the final value of the second parameter, which can ensure the accuracy of the trained machine model in simulating the real assembly line production environment.
  • FIG. 5 is a block diagram illustrating an electronic device 500 according to an exemplary embodiment of the present disclosure.
  • an electronic device 500 includes at least one memory 501 and at least one processor 502 . Instructions are stored in the at least one memory 501 . When the instructions are executed by the at least one processor 502 , an exemplary embodiment according to the present disclosure is performed. machine modeling method.
  • the electronic device 500 may be a PC computer, a tablet device, a personal digital assistant, a smartphone, or other device capable of executing the above instructions.
  • the electronic device 500 does not have to be a single electronic device, but can also be any collection of devices or circuits that can execute the above instructions (or instruction set) individually or jointly.
  • Electronic device 500 may also be part of an integrated control system or system manager, or may be configured as a portable electronic device that interfaces locally or remotely (eg, via wireless transmission).
  • processor 502 may include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic device, a special purpose processor system, a microcontroller, or a microprocessor.
  • processors may also include analog processors, digital processors, microprocessors, multi-core processors, processor arrays, network processors, and the like.
  • Processor 502 may execute instructions or code stored in memory 501 , where memory 501 may also store data. Instructions and data may also be sent and received over the network via network interface devices, which may employ any known transmission protocol.
  • the memory 501 may be integrated with the processor 502, for example, RAM or flash memory may be arranged within an integrated circuit microprocessor or the like. Additionally, memory 501 may include a stand-alone device, such as an external disk drive, storage array, or any other storage device that may be used by a database system. Memory 501 and processor 502 may be operatively coupled or may communicate with each other, such as through an I/O port, a network connection, or the like, enabling processor 502 to read files stored in memory.
  • electronic device 500 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 electronic device 500 may be connected to each other via at least one of a bus and a network.
  • a video display such as a liquid crystal display
  • a user interaction interface such as a keyboard, mouse, touch input device, etc.
  • a computer-readable storage medium storing instructions that, when executed by at least one computing device, cause the at least one computing device to perform an exemplary embodiment according to the present disclosure.
  • Machine modeling method
  • Examples of computer readable storage media 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 memory (SRAM), flash memory, non-volatile 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 storage, hard disk drive (HDD), solid state drive (SSD), card storage (such as multimedia card , Secure Digital (SD) card or Extreme Digital (XD) card), magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid state disk, and any other device configured to operate in a manner other than Store a computer program and any associated data, data files and data structures in
  • the computer program in the above computer-readable storage medium can be run in an environment deployed in computer equipment such as a client, a host, a proxy device, a server, etc.
  • the computer program and any associated data, data files and data structures are distributed over networked computer systems such that 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.
  • the machine modeling method described with reference to FIG. 1 may be implemented by a system including at least one computing device and at least one storage device for storing instructions.
  • At least one computing device is a computing device for executing a machine modeling method according to an exemplary embodiment of the present disclosure.
  • a set of computer-executable instructions is stored in the storage device.
  • the machine modeling method described with reference to FIG. 1 is executed.
  • the machine model can be trained using historical operating data on the real machine, so that the trained machine model can simulate the real assembly line production environment.
  • the accuracy is good, that is, the virtual environment simulated by the trained machine model is close to the real assembly line production environment, achieving high-fidelity simulation of the assembly line production environment, which can then guide actual work and production scheduling. process to improve the efficiency of the actual production line.
  • the present disclosure automatically obtains the values of various parameters of the simulation model based on historical operating data on the real machine, compared with the way in which workers conduct manual modeling based on experience, the machine modeling method of the present disclosure higher efficiency.
  • multiple sampling can be performed in the true value range corresponding to each second parameter.
  • the real running logs of each task in multiple tasks can be poured into the machine model with real sampling values set, and then the simulation running results can be selected from multiple real sampling values to be closest to the real running results.
  • the real sampling value is used as the final value of the second parameter, that is, the real sampling value closest to the simulated virtual environment and the real assembly line production environment can be selected from multiple real sampling values as the final value of the second parameter, It can ensure the accuracy of the trained machine model in simulating the real assembly line production environment.
  • the machine model can be trained using historical operating data on the real machine, so that the trained machine model can simulate the real assembly line production environment.
  • the accuracy is good, that is, the virtual environment simulated by the trained machine model is close to the real assembly line production environment, achieving high-fidelity simulation of the assembly line production environment, which can then guide actual work and production scheduling. process to improve the efficiency of the actual production line.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种机台建模方法、装置、电子设备和存储介质,包括:基于目标机台的多个功能模块和多个功能模块的运行模式,构建机台模型;获取目标机台的历史运行数据;基于目标机台的历史运行数据训练机台模型,获得至少一个第一参数和至少一个第二参数之中的至少一个的值,以得到仿真目标机台的机台模型。利用在真实机台上的历史运行数据对机台模型进行训练,使经过训练后的机台模型模拟真实流水线生产环境的精准性较好,即经过训练后的机台模型所模拟的虚拟环境与真实流水线生产环境的接近程度较高,实现了对流水线生产环境的高保真仿真,进而可以指导实际的排工、排产过程,提高实际生产流水线的效率。

Description

机台建模方法、装置、电子设备和存储介质
本申请要求申请号为202210760931.6,申请日为2022年06月29日,名称为“机台建模方法、装置、电子设备和存储介质”的中国专利申请的优先权,其中,上述申请公开的内容通过引用结合在本申请中。
技术领域
本公开涉及仿真技术领域,更具体地说,涉及机台建模方法、装置、电子设备和存储介质。
背景技术
在半导体等制造行业中,排工、排产的合理性影响着生产流水线的效率。现有技术中,往往由经验丰富的技师设计排工、排产的方案,这种方式高度依赖于技师的经验,但是技师根据自己的经验所作出的判断可能并不准确,导致难以获得高效的排工、排产的方案。因此,随着人工智能(Artificial Intelligence,AI)技术的发展,人们想到利用AI技术对流水线环境进行仿真,在得到的仿真模型中模拟流水线的运转,以获得更加精准高效的排工、排产方案,从而提高实际生产流水线的效率。而对流水线生产环境进行高保真的仿真是获得精准高效的排工、排产方案的主要前提之一。
发明内容
本公开提供机台建模方法、装置、电子设备和存储介质,以至少解决上述相关技术中,难以对流水线生产环境进行高保真的仿真的问题。
根据本公开实施例的第一方面,提供一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行机台建模的以下步骤,包括:基于目标机台的多个功能模块和所述多个功能模块的运行模式,构建机台模型,其中,所述机台模型包括多个子模型以及与所述机台模型的性能对应的至少一个第 一参数,每个所述子模型包括用于表征所述子模型核心属性的至少一个第二参数,所述多个子模型分别对应所述多个功能模块;获取所述目标机台的历史运行数据,其中,所述历史运行数据包含在所述目标机台上被加工的产品对应的多个任务中每个任务的真实运行日志;基于所述目标机台的历史运行数据训练所述机台模型,获得所述至少一个第一参数和所述至少一个第二参数之中的至少一个的值,以得到仿真所述目标机台的机台模型。
根据本公开实施例的第二方面,提供一种机台建模装置,包括:构建模块,被配置为基于目标机台的多个功能模块和所述多个功能模块的运行模式,构建机台模型,其中,所述机台模型包括多个子模型以及与所述机台模型的性能对应的至少一个第一参数,每个所述子模型包括用于表征所述子模型核心属性的至少一个第二参数,所述多个子模型分别对应所述多个功能模块;获取模块,被配置为获取所述目标机台的历史运行数据,其中,所述历史运行数据包含在所述目标机台上被加工的产品对应的多个任务中每个任务的真实运行日志;训练模块,被配置为基于所述目标机台的历史运行数据训练所述机台模型,获得所述至少一个第一参数和所述至少一个第二参数之中的至少一个的值,以得到仿真所述目标机台的机台模型。
根据本公开实施例的第三方面,提供一种由至少一个计算装置执行的机台建模方法,包括:基于目标机台的多个功能模块和所述多个功能模块的运行模式,构建机台模型,其中,所述机台模型包括多个子模型以及与所述机台模型的性能对应的至少一个第一参数,每个所述子模型包括用于表征所述子模型核心属性的至少一个第二参数,所述多个子模型分别对应所述多个功能模块;获取所述目标机台的历史运行数据,其中,所述历史运行数据包含在所述目标机台上被加工的产品对应的多个任务中每个任务的真实运行日志;基于所述目标机台的历史运行数据训练所述机台模型,获得所述至少一个第一参数和所述至少一个第二参数之中的至少一个的值,以得到仿真所述目标机台的机台模型。
根据本公开实施例的第四方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现根据本公开的机台建模方法。
根据本公开实施例的第五方面,提供一种存储指令的计算机可读存储介 质,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行根据本公开的机台建模方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
可以利用在真实机台上的历史运行数据对机台模型进行训练,使经过训练后的机台模型模拟真实流水线生产环境的精准性较好,即经过训练后的机台模型所模拟的虚拟环境与真实流水线生产环境的接近程度较高,实现了对流水线生产环境的高保真仿真,进而可以指导实际的排工、排产过程,提高实际生产流水线的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是示出根据本公开的示例性实施例的一种机台建模方法的流程图;
图2是示出根据本公开的示例性实施例的一种机台模型抽象示意图;
图3是示出根据本公开的示例性实施例的一种机台模型的示意图;
图4是示出根据本公开的示例性实施例的一种机台建模装置的框图;
图5是示出根据本公开的示例性实施例的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置 和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
在半导体等制造业中,加工机台的种类多且运行模式复杂。目前主流的仿真软件中,主要是对简单场景中的设备机台进行建模,没有适用于复杂半导体加工场景机台的精准模型,难以针对生产流水线环境搭建高保真的仿真环境。此外,相关技术中,在建立机台的仿真模型时,是由工作人员基于自身经验进行建模,即需要工作人员手动设置仿真模型的各种属性的值,由于需要建模的机台太多,工作人员凭经验进行人工建模的方式的效率也较低。
为了解决相关技术中的上述问题,本公开提出的机台建模方法,可以利用在真实机台上的历史运行数据对机台模型进行训练,使经过训练后的机台模型模拟真实流水线生产环境的精准性较好,即经过训练后的机台模型所模拟的虚拟环境与真实流水线生产环境的接近程度较高,实现了对流水线生产环境的高保真仿真,进而可以指导实际的排工、排产过程,提高实际生产流水线的效率。进一步的,由于本公开是基于在真实机台上的历史运行数据自动化获取仿真模型的各种参数的值,相比于工作人员凭经验进行人工建模的方式,本公开的机台建模方法的效率更高。
图1是示出根据本公开的示例性实施例的一种由至少一个计算装置执行的机台建模方法的流程图。
参照图1,在步骤101中,可以基于目标机台的多个功能模块和多个功能模块的运行模式,构建机台模型。其中,机台模型可以包括多个子模型以及与机台模型的性能对应的至少一个第一参数,每个子模型可以包括用于表征子模型核心属性的至少一个第二参数,多个子模型分别对应上述目标机台的多个功能模块。
参照图2,图2是示出根据本公开的示例性实施例的一种机台模型抽象示意图。在图2中,机台模型抽象一共包含三个部分,分别为:机台端口(Load  port)、进出仓(channel)和处理仓(Chamber)。
Load port用以描述机台进出口处存放产品的资源池,产品可以在Load port上等待进入机台进行加工,也可以在加工完成后等待去下一个机台。Load port的数量可以为多个,在图2中,机台端口的数量为3个,这3个机台端口分别为:Load port1、Load port2和Load port3。
channel用以描述产品进入机台的处理仓的通道。产品进入机台的处理仓加工之前可能会需要进行一些预处理操作,例如,抽真空、对产品进行加热等等,进出仓主要用以完成该步预处理操作。并且,进出仓通常一次只允许一个或者一组相同工艺的产品进入,即进出仓可以看作一个资源,存在资源的占用和释放。进出仓的出入口(load lock)为产品在进出仓和处理仓之间通行的通道,进出仓的出入口的数量可以为多个,且进出仓的出入口的数量决定了进入机台的产品的总数量。在图2中,进出仓的出入口的数量为2个,这2个进出仓的出入口分别为:load lock1和load lock2。
Chamber用以描述机台内部对产品进行实际加工的资源池。机台的处理仓加工产品的方式可以分为串行(series)和并行(parallel)。其中,并行又可以分为同质并行(homo parallel)和异质并行(hete_parallel)。同质并行中处理仓中每个资源是相同的,并且,同质并行也可以分为2种方式,第一种方式为每个产品占据一个Chamber;第二种方式为一个产品占据所有的Chamber,产品之间存在级联,即前一个产品和后一个产品之间存在部分重叠。异质并行中处理仓中的资源不是完全相同的,不同产品之间根据Chamber的资源占据情况,可以并行或者级联,不同的并行处理的加工产品所占用的资源之间不能存在冲突,即不同的并行处理的加工产品所占用的Chamber之间不能存在冲突。
需要说明的是,每个Chamber可以对应一种工序类型,例如,某个Chamber可以对应工序类型a,另一个Chamber可以对应工序类型b等等,并且不同的Chamber对应的工序类型可以相同也可以不同,例如,两个Chamber对应的工序类型可以均为a或者均为b。在图2中,一共示出了5个Chamber,分别为:Chamber1、Chamber2、Chamber3、Chamber4、Chamber5。
在步骤102中,可以获取目标机台的历史运行数据,其中,该历史运行数据可以包含在目标机台上被加工的产品对应的多个任务(job)中每个任务 的真实运行日志。每个任务的真实运行日志可以包含该任务的类型、该任务的大小(size),即该任务中有多少个产品需要一次性加工、该任务请求了哪些Chamber、该任务用到了哪些工序、该任务何时到达目标机台的Load port、该任务何时离开目标机台的Load port等信息。
在步骤103中,可以基于目标机台的历史运行数据训练机台模型,获得至少一个第一参数和至少一个第二参数之中的至少一个的值,以得到仿真目标机台的机台模型。
参照图3,图3是示出根据本公开的示例性实施例的一种机台模型的示意图。在图3中,Machine Model是机台模型的主要对象,主要包含了3个子模型,分别为:机台端口子模型(Load Port Pool)、进出仓子模型(Channel)和处理仓子模型(Chamber Pool)。其中,与机台模型的性能对应的至少一个第一参数为:任务在机台上的加工时间函数(process_time),其可以为function函数。机台模型的名称参数(name)的数据类型可以为字符串类型(string)。
机台端口子模型(Load Port Pool)对应的第二参数包含:机台端口的类型参数(type)、机台端口的数量参数(number)和被占用的机台端口参数(used)。其中,机台端口的类型参数(type)用于描述load port的类型,包括入口、出口以及出入口,其数据类型可以为string;机台端口的数量参数(number)用于描述load port的数量,其数据类型可以为整数(integer);被占用的机台端口参数(used)用于描述被占用的load port的数量,其数据类型可以为integer。
进出仓子模型(Channel)对应的第二参数包含:进出仓的出入口的数量参数(num_load_lock)、进出仓的通过时间参数(pass time)、进出仓的类型参数(type)和Channel是否被占用参数(used)。其中,进出仓的出入口的数量参数(num_load_lock)用于描述load_lock的数量,其数据类型可以为integer;进出仓的通过时间参数(pass time)用于描述channel的通过时间,其数据类型可以为integer;进出仓的类型参数(type)用于描述channel的类型,包括阻塞类型(blocking)和非阻塞类型(non-blocking),其数据类型可以为string;Channel是否被占用参数(used)用于描述channel是否被占用,其数据类型可以为布尔型变量(bool)。
处理仓子模型(Chamber Pool)对应的第二参数包含:每种工序类型的处理仓的数量参数(chamber_dict)、处理仓的类型参数(type)和chamber 的占用状态参数(used_chamber)。其中,每种工序类型的处理仓的数量参数(chamber_dict)用于描述每种chamber的数量,其数据类型可以为string和integer;处理仓的类型参数(type)用于描述Chamber Pool的类型,包括series、homo_parallel和hete_parallel,其数据类型可以为string;chamber的占用状态参数(used_chamber)用于描述每个chamber的占用情况,其数据类型可以为string和integer。
根据本公开的示例性实施例,可以基于目标机台的历史运行数据,利用回归拟合方式训练机台模型,得到至少一个第一参数的值;还可以基于目标机台的历史运行数据,利用模式匹配方式或者非梯度优化方式训练机台模型,得到至少一个第二参数的值。
根据本公开的示例性实施例,上述至少一个第一参数可以包括:任务在机台上的加工时间函数(process_time)。
根据本公开的示例性实施例,历史运行数据还可以包含每个任务在进入目标机台的处理仓模块时目标机台的机台特征。针对多个任务中的每个任务,可以执行以下操作:
将每个任务的真实运行日志以及目标机台的机台特征作为自变量x;将每个任务进入目标机台的处理仓模块的处理仓进入时间,以及,该任务被加工完成之后的处理仓离开时间作为因变量y。接下来,可以采用回归拟合方式获取多个任务对应的多对自变量x和因变量y之间的映射关系,作为任务在机台上的加工时间函数。例如,假设历史运行数据包含的多个任务为100个任务,则可以采用回归拟合方式获取100个任务对应的100对自变量x和因变量y之间的映射关系,作为任务在机台上的加工时间函数(process_time)。
根据本公开的示例性实施例,目标机台的机台特征可以包含目标机台是否正处于加工状态;以及,在目标机台正处于加工状态时,当前正在目标机台的处理仓模块中被加工任务的数量和每个被加工任务进入目标机台的处理仓模块的时间。
需要说明的是,工作人员在设计process_time时,一般会设计的比较长,以此保证每个被加工完成之后的产品都是符合要求的成品。但是,有时为了提高实际生产流水线的效率,可能需要将process_time设置的短一些。但是,如果由工作人员凭经验调整process_time的话,可能会导致实际生产流水线 出现问题。例如,假设获得一个成品所需的最短加工时间为50秒,如果工作人员凭经验将process_time调整为49秒,相当于每个产品还未被加工完毕就提前出仓了,此时实际生产出的产品仅仅为一个半成品,是无法直接拿来使用的,这会给厂家带来经济损失。
因此,可以使用训练好的机台模型来进行仿真,进而可以根据仿真结果指导实际的排工、排产过程。例如,可以将不同的process_time输入训练好的机台模型,并基于仿真结果确定加工出来的产品是否存在问题以及机台在运行过程中是否存在冲突。经过不断的尝试,可以在保证加工出来的产品不存在问题以及机台在运行过程中不存在冲突的前提下,最大限度的降低process_time,即可以最大限度的降低单个产品的加工时间。例如,原来加工一个产品需要耗费55秒,经过利用训练好的机台模型对process_time进行不断尝试之后,最终确定的process_time可能变为50秒,此时,一个产品的加工时间就节约了5秒,可以大大提高实际生产流水线的效率。并且,由于是在训练好的机台模型上进行process_time的尝试,就算某次尝试的process_time低于一个成品所需的最短加工时间,也不会真的生产出大量的半成品,可以在不对实际生产过程造成任何影响的前提下,最大限度的提高实际生产流水线的效率。
根据本公开的示例性实施例,如前所述,多个子模型可以包括机台端口子模型(Load Port Pool)、进出仓子模型(Channel)和处理仓子模型(Chamber Pool)。机台端口子模型(Load Port Pool)的第二参数可以包括:机台端口的类型参数(type)和机台端口的数量参数(number);进出仓子模型(Channel)的第二参数可以包括:进出仓的出入口的数量参数(num_load_lock)、进出仓的通过时间参数(pass time)和进出仓的类型参数(type);处理仓子模型(Chamber Pool)的第二参数可以包括:每种工序类型的处理仓的数量参数(chamber_dict)和处理仓的类型参数(type)。
根据本公开的示例性实施例,每个任务的真实运行日志可以包含该任务进入目标机台的进出仓模块的时间。针对多个任务中任意相邻的两个任务,可以确定相邻的两个任务对应的两个进入目标机台的进出仓模块的时间的时间差。然后,可以基于任意相邻的两个任务对应的上述时间差,确定进出仓子模型的进出仓的类型参数的值。
根据本公开的示例性实施例,在任意相邻的两个任务对应的上述时间差均大于预设阈值的情况下,即在任意相邻的两个任务进入目标机台的进出仓模块的时间之间维持一个固定的时间间隔的情况下,可以确定进出仓子模型的进出仓的类型参数的值为阻塞类型(blocking);否则,可以确定进出仓子模型的进出仓的类型参数的值为非阻塞类型(non-blocking)。
根据本公开的示例性实施例,每个任务的真实运行日志可以包含该任务进入目标机台的多个功能模块中处理仓模块的处理仓进入时间,以及,该任务离开目标机台的离开机台时间。可以基于多个任务中任意相邻的两个任务中每个任务的处理仓进入时间以及离开机台时间,确定处理仓子模型的处理仓的类型参数的值。
根据本公开的示例性实施例,在任意相邻的两个任务中任务次序靠后的任务的处理仓进入时间,在任务次序靠前的任务的离开机台时间之后的情况下,即如果一个job在被加工完毕的情况下,另一个job才能进入目标机台的处理仓模块,可以确定处理仓子模型的处理仓的类型参数的值为串行类型,即此时,可以认为图2中的所有chamber的类型都是串型的,相当于一个job把所有的chamber都占用了,可以将图2中的所有chamber看作一个chamber。
在任意相邻的两个任务中任务次序靠后的任务的处理仓进入时间,在任务次序靠前的任务的处理仓进入时间和离开机台时间之间的情况下,即如果一个job还未被加工完毕的情况下,另一个job就进入了目标机台的处理仓模块,则可以确定处理仓子模型的处理仓的类型参数的值为并行类型。
进一步的,如前所述,并行又可以分为同质并行(homo parallel)和异质并行(hete_parallel)。针对同质并行(homo parallel),也可以划分为两种类型。
如果基于历史运行数据确定多个任务中每个任务均单独占用一个Chamber、每个任务所单独占用的Chamber彼此之间不相同,且每个任务的工序均相同,可以认为此种同质并行(homo parallel)为第一种同质并行;如果每个任务均占用了所有的Chamber,并且每个任务的工序也相同,可以认为此种同质并行(homo parallel)为第二种同质并行。
针对异质并行(hete_parallel),如果基于历史运行数据确定多个任务中每个任务所使用的工序存在冲突的情况下,多个任务就不能并行;多个任务中每个任务所使用的工序不存在冲突的情况下,多个任务就可以并行,此时可 以确定处理仓子模型的处理仓的类型为异质并行。
根据本公开的示例性实施例,每个任务的真实运行日志可以包含该任务进入目标机台所使用的机台端口信息以及离开目标机台所使用的机台端口信息。可以基于每个任务进入目标机台所使用的机台端口信息以及离开目标机台所使用的机台端口信息,确定机台端口子模型的机台端口的类型参数的值。例如,可以基于每个任务进入目标机台所使用的机台端口信息以及离开目标机台所使用的机台端口信息,确定机台端口子模型的机台端口的类型为入口、出口或者既可进又可出的出入口。
根据本公开的示例性实施例,针对机台端口的数量参数(number)、进出仓的出入口的数量参数(num_load_lock)、进出仓的通过时间参数(pass time)和每种工序类型的处理仓的数量参数(chamber_dict)中的每个第二参数,可以执行以下操作:
首先,可以基于每个任务的真实运行日志,确定该第二参数对应的真实取值范围。例如,每个任务的真实运行日志可以包含每个任务在进出仓模块内的通过时间,多个任务对应的多个在进出仓模块内的通过时间会存在一个通过时间最小值和通过时间最大值。此时,进出仓子模型的第二参数,即进出仓的通过时间参数(pass time)对应的真实取值范围即为上述通过时间最小值和通过时间最大值所形成的区间。
然后,可以在真实取值范围中进行多次采样,获得多个真实采样值。例如,可以在上述通过时间最小值和通过时间最大值所形成的区间内进行多次采样,获得多个真实通过时间采样值。
接下来,针对多个真实采样值中的每个真实采样值,可以将机台模型的该第二参数的值设置为该真实采样值,例如,针对多个真实通过时间采样值中的每个真实通过时间采样值,可以将进出仓子模型(Channel)的进出仓的通过时间参数(pass time)的值设置为该真实通过时间采样值。
然后,可以将多个任务中每个任务的真实运行日志输入设置过该真实采样值的机台模型,获得仿真运行日志,例如,可以将多个任务中每个任务的真实运行日志输入设置过该真实通过时间采样值的机台模型,获得仿真运行日志。
最后,可以基于仿真运行日志以及多个任务中每个任务的真实运行日志, 确定机台模型的该第二参数的值。例如,可以基于仿真运行日志以及多个任务中每个任务的真实运行日志,确定机台模型的进出仓子模型(Channel)的进出仓的通过时间参数(pass time)这个第二参数的值。
根据本公开的示例性实施例,可以基于仿真运行日志在预设时间段内的部分仿真运行日志,确定预设时间段内的仿真任务完成数量(work in progress)以及预设时间段内机台空闲时间与机台工作时间的仿真占比。还可以基于多个任务中每个任务的真实运行日志在预设时间段内的部分真实运行日志,确定预设时间段内的真实任务完成数量以及预设时间段内机台空闲时间与机台工作时间的真实占比。需要说明的是,work in progress以及预设时间段内机台空闲时间与机台工作时间的时间占比可以用来表征机台的产能。
接下来,可以选择该第二参数对应的多个真实采样值中,对应的仿真占比与真实占比最接近、且对应的仿真任务完成数量与真实任务完成数量最接近的真实采样值,作为机台模型的该第二参数的值。例如,可以选择进出仓子模型(Channel)的进出仓的通过时间参数(pass time)这个第二参数对应的多个真实通过时间采样值中,对应的仿真占比与真实占比最接近、且对应的仿真任务完成数量与真实任务完成数量最接近的真实通过时间采样值,作为机台模型的进出仓子模型(Channel)的进出仓的通过时间参数(pass time)这个第二参数最终的取值。这样,可以在每个第二参数对应的真实取值范围中进行多次采样,针对每次采样,均可以将多个任务中每个任务的真实运行日志灌入设置了真实采样值的机台模型,进而可以从多个真实采样值中选择仿真运行结果与真实运行结果最接近的真实采样值作为该第二参数最终的取值,即可以从多个真实采样值中选择所模拟的虚拟环境与真实流水线生产环境最接近的真实采样值作为该第二参数最终的取值,可以保证训练后的机台模型模拟真实流水线生产环境的精准性。
本公开中,可以通过模式匹配方式或者非梯度优化方式对process_time以外的参数进行校准;对process_time可以采用基于机器学习等回归拟合方式进行校准。如下代码描述了针对机台模型的各个参数进行校准的过程:
For eqp_id in eqps:
model=MachineModel(name=eqp_id)
run_logs=retrive_logs(eqp_id)
tune_params(model,run_logs)
train_regressor(model.process_time,run_logs)
fine_tune_params(model,run_logs)
其中,“For eqp_id in eqps”的含义为遍历所有的机台;“model=MachineModel(name=eqp_id)”的含义为构建一个空的机台模型,这个机台模型的参数的值是未知的;“run_logs=retrive_logs(eqp_id)”的含义为搜索在实际机台上被加工的产品对应的多个任务的真实运行日志;“tune_params(model,run_logs)”的含义为针对process time以外的参数进行校准;“train_regressor(model.process_time,run_logs)”的含义为采用回归拟合方式获取process time;“fine_tune_params(model,run_logs)”的含义为采用非梯度优化方式对process time以外的参数进行微调。
图4是示出根据本公开的示例性实施例的一种机台建模装置的框图。
参照图4,该装置400可包括构建模块401、获取模块402和训练模块403。
构建模块401可以基于目标机台的多个功能模块和多个功能模块的运行模式,构建机台模型。其中,机台模型可以包括多个子模型以及与机台模型的性能对应的至少一个第一参数,每个子模型可以包括用于表征子模型核心属性的至少一个第二参数,多个子模型分别对应上述目标机台的多个功能模块。
获取模块402可以获取目标机台的历史运行数据,其中,该历史运行数据可以包含在目标机台上被加工的产品对应的多个任务(job)中每个任务的真实运行日志。每个任务的真实运行日志可以包含该任务的类型、该任务的size,即该任务中有多少个产品需要一次性加工、该任务请求了哪些Chamber、该任务用到了哪些工序、该任务何时到达目标机台的Load port、该任务何时离开目标机台的Load port等信息。
训练模块403可以基于目标机台的历史运行数据训练机台模型,获得至少一个第一参数和至少一个第二参数之中的至少一个的值,以得到仿真目标机台的机台模型。
根据本公开的示例性实施例,训练模块403可以基于目标机台的历史运行数据,利用回归拟合方式训练机台模型,得到至少一个第一参数的值;训 练模块403还可以基于目标机台的历史运行数据,利用模式匹配方式或者非梯度优化方式训练机台模型,得到至少一个第二参数的值。
根据本公开的示例性实施例,上述至少一个第一参数可以包括:任务在机台上的加工时间函数(process_time)。
根据本公开的示例性实施例,历史运行数据还可以包含每个任务在进入目标机台的处理仓模块时目标机台的机台特征。针对多个任务中的每个任务,训练模块403可以执行以下操作:
将每个任务的真实运行日志以及目标机台的机台特征作为自变量x;将每个任务进入目标机台的处理仓模块的处理仓进入时间,以及,该任务被加工完成之后的处理仓离开时间作为因变量y。接下来,可以采用回归拟合方式获取多个任务对应的多对自变量x和因变量y之间的映射关系,作为任务在机台上的加工时间函数。例如,假设历史运行数据包含的多个任务为100个任务,则可以采用回归拟合方式获取100个任务对应的100对自变量x和因变量y之间的映射关系,作为任务在机台上的加工时间函数(process_time)。
根据本公开的示例性实施例,目标机台的机台特征可以包含目标机台是否正处于加工状态;以及,在目标机台正处于加工状态时,当前正在目标机台的处理仓模块中被加工任务的数量和每个被加工任务进入目标机台的处理仓模块的时间。
根据本公开的示例性实施例,如前所述,多个子模型可以包括机台端口子模型(Load Port Pool)、进出仓子模型(Channel)和处理仓子模型(Chamber Pool)。机台端口子模型(Load Port Pool)的第二参数可以包括:机台端口的类型参数(type)和机台端口的数量参数(number);进出仓子模型(Channel)的第二参数可以包括:进出仓的出入口的数量参数(num_load_lock)、进出仓的通过时间参数(pass time)和进出仓的类型参数(type);处理仓子模型(Chamber Pool)的第二参数可以包括:每种工序类型的处理仓的数量参数(chamber_dict)和处理仓的类型参数(type)。
根据本公开的示例性实施例,每个任务的真实运行日志可以包含该任务进入目标机台的进出仓模块的时间。针对多个任务中任意相邻的两个任务,训练模块403可以确定相邻的两个任务对应的两个进入目标机台的进出仓模块的时间的时间差。然后,可以基于任意相邻的两个任务对应的上述时间差, 确定进出仓子模型的进出仓的类型参数的值。
根据本公开的示例性实施例,在任意相邻的两个任务对应的上述时间差均大于预设阈值的情况下,即在任意相邻的两个任务进入目标机台的进出仓模块的时间之间维持一个固定的时间间隔的情况下,训练模块403可以确定进出仓子模型的进出仓的类型参数的值为阻塞类型(blocking);否则,训练模块403可以确定进出仓子模型的进出仓的类型参数的值为非阻塞类型(non-blocking)。
根据本公开的示例性实施例,每个任务的真实运行日志可以包含该任务进入目标机台的多个功能模块中处理仓模块的处理仓进入时间,以及,该任务离开目标机台的离开机台时间。训练模块403可以基于多个任务中任意相邻的两个任务中每个任务的处理仓进入时间以及离开机台时间,确定处理仓子模型的处理仓的类型参数的值。
根据本公开的示例性实施例,在任意相邻的两个任务中任务次序靠后的任务的处理仓进入时间,在任务次序靠前的任务的离开机台时间之后的情况下,即如果一个job在被加工完毕的情况下,另一个job才能进入目标机台的处理仓模块,训练模块403可以确定处理仓子模型的处理仓的类型参数的值为串行类型,即此时,可以认为图2中的所有chamber的类型都是串型的,相当于一个job把所有的chamber都占用了,可以将图2中的所有chamber看作一个chamber。
在任意相邻的两个任务中任务次序靠后的任务的处理仓进入时间,在任务次序靠前的任务的处理仓进入时间和离开机台时间之间的情况下,即如果一个job还未被加工完毕的情况下,另一个job就进入了目标机台的处理仓模块,则训练模块403可以确定处理仓子模型的处理仓的类型参数的值为并行类型。
进一步的,如前所述,并行又可以分为同质并行(homo parallel)和异质并行(hete_parallel)。针对同质并行(homo parallel),也可以划分为两种类型。
如果基于历史运行数据确定多个任务中每个任务均单独占用一个Chamber、每个任务所单独占用的Chamber彼此之间不相同,且每个任务的工序均相同,可以认为此种同质并行(homo parallel)为第一种同质并行;如果每个任务均占用了所有的Chamber,并且每个任务的工序也相同,可以认 为此种同质并行(homo parallel)为第二种同质并行。
针对异质并行(hete_parallel),如果基于历史运行数据确定多个任务中每个任务所使用的工序存在冲突的情况下,多个任务就不能并行;多个任务中每个任务所使用的工序不存在冲突的情况下,多个任务就可以并行,此时可以确定处理仓子模型的处理仓的类型为异质并行。
根据本公开的示例性实施例,每个任务的真实运行日志可以包含该任务进入目标机台所使用的机台端口信息以及离开目标机台所使用的机台端口信息。训练模块403可以基于每个任务进入目标机台所使用的机台端口信息以及离开目标机台所使用的机台端口信息,确定机台端口子模型的机台端口的类型参数的值。例如,可以基于每个任务进入目标机台所使用的机台端口信息以及离开目标机台所使用的机台端口信息,确定机台端口子模型的机台端口的类型为入口、出口或者既可进又可出的出入口。
根据本公开的示例性实施例,针对机台端口的数量参数(number)、进出仓的出入口的数量参数(num_load_lock)、进出仓的通过时间参数(pass time)和每种工序类型的处理仓的数量参数(chamber_dict)中的每个第二参数,训练模块403可以执行以下操作:
首先,可以基于每个任务的真实运行日志,确定该第二参数对应的真实取值范围。例如,每个任务的真实运行日志可以包含每个任务在进出仓模块内的通过时间,多个任务对应的多个在进出仓模块内的通过时间会存在一个通过时间最小值和通过时间最大值。此时,进出仓子模型的第二参数,即进出仓的通过时间参数(pass time)对应的真实取值范围即为上述通过时间最小值和通过时间最大值所形成的区间。
然后,可以在真实取值范围中进行多次采样,获得多个真实采样值。例如,可以在上述通过时间最小值和通过时间最大值所形成的区间内进行多次采样,获得多个真实通过时间采样值。
接下来,针对多个真实采样值中的每个真实采样值,可以将机台模型的该第二参数的值设置为该真实采样值,例如,针对多个真实通过时间采样值中的每个真实通过时间采样值,可以将进出仓子模型(Channel)的进出仓的通过时间参数(pass time)的值设置为该真实通过时间采样值。
然后,可以将多个任务中每个任务的真实运行日志输入设置过该真实采 样值的机台模型,获得仿真运行日志,例如,可以将多个任务中每个任务的真实运行日志输入设置过该真实通过时间采样值的机台模型,获得仿真运行日志。
最后,可以基于仿真运行日志以及多个任务中每个任务的真实运行日志,确定机台模型的该第二参数的值。例如,可以基于仿真运行日志以及多个任务中每个任务的真实运行日志,确定机台模型的进出仓子模型(Channel)的进出仓的通过时间参数(pass time)这个第二参数的值。
根据本公开的示例性实施例,训练模块403可以基于仿真运行日志在预设时间段内的部分仿真运行日志,确定预设时间段内的仿真任务完成数量(work in progress)以及预设时间段内机台空闲时间与机台工作时间的仿真占比。训练模块403还可以基于多个任务中每个任务的真实运行日志在预设时间段内的部分真实运行日志,确定预设时间段内的真实任务完成数量以及预设时间段内机台空闲时间与机台工作时间的真实占比。需要说明的是,work in progress以及预设时间段内机台空闲时间与机台工作时间的时间占比可以用来表征机台的产能。
接下来,训练模块403可以选择该第二参数对应的多个真实采样值中,对应的仿真占比与真实占比最接近、且对应的仿真任务完成数量与真实任务完成数量最接近的真实采样值,作为机台模型的该第二参数的值。例如,可以选择进出仓子模型(Channel)的进出仓的通过时间参数(pass time)这个第二参数对应的多个真实通过时间采样值中,对应的仿真占比与真实占比最接近、且对应的仿真任务完成数量与真实任务完成数量最接近的真实通过时间采样值,作为机台模型的进出仓子模型(Channel)的进出仓的通过时间参数(pass time)这个第二参数最终的取值。这样,可以在每个第二参数对应的真实取值范围中进行多次采样,针对每次采样,均可以将多个任务中每个任务的真实运行日志灌入设置了真实采样值的机台模型,进而可以从多个真实采样值中选择仿真运行结果与真实运行结果最接近的真实采样值作为该第二参数最终的取值,即可以从多个真实采样值中选择所模拟的虚拟环境与真实流水线生产环境最接近的真实采样值作为该第二参数最终的取值,可以保证训练后的机台模型模拟真实流水线生产环境的精准性。
图5是示出根据本公开的示例性实施例的一种电子设备500的框图。
参照图5,电子设备500包括至少一个存储器501和至少一个处理器502,所述至少一个存储器501中存储有指令,当指令被至少一个处理器502执行时,执行根据本公开的示例性实施例的机台建模方法。
作为示例,电子设备500可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令的装置。这里,电子设备500并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备500还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备500中,处理器502可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器502可运行存储在存储器501中的指令或代码,其中,存储器501还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器501可与处理器502集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器501可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器501和处理器502可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器502能够读取存储在存储器中的文件。
此外,电子设备500还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备500的所有组件可经由总线和网络中的至少一个而彼此连接。
根据本公开的示例性实施例,还提供一种存储指令的计算机可读存储介质,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行根据本公开的示例性实施例的机台建模方法。
这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存 储器(SRAM)、闪存、非易失性存储器、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、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
参照图1所描述的机台建模方法,可通过包括至少一个计算装置和至少一个存储指令的存储装置的系统来实现。
根据本公开的示例性实施例,至少一个计算装置是根据本公开示例性实施例的用于执行机台建模方法的计算装置,存储装置中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个计算装置执行时,执行参照图1所描述的机台建模方法。
根据本公开的机台建模方法、装置、电子设备和存储介质,可以利用在真实机台上的历史运行数据对机台模型进行训练,使经过训练后的机台模型模拟真实流水线生产环境的精准性较好,即经过训练后的机台模型所模拟的虚拟环境与真实流水线生产环境的接近程度较高,实现了对流水线生产环境的高保真仿真,进而可以指导实际的排工、排产过程,提高实际生产流水线的效率。
进一步的,由于本公开是基于在真实机台上的历史运行数据自动化获取仿真模型的各种参数的值,相比于工作人员凭经验进行人工建模的方式,本公开的机台建模方法的效率更高。
进一步的,可以在每个第二参数对应的真实取值范围中进行多次采样, 针对每次采样,均可以将多个任务中每个任务的真实运行日志灌入设置了真实采样值的机台模型,进而可以从多个真实采样值中选择仿真运行结果与真实运行结果最接近的真实采样值作为该第二参数最终的取值,即可以从多个真实采样值中选择所模拟的虚拟环境与真实流水线生产环境最接近的真实采样值作为该第二参数最终的取值,可以保证训练后的机台模型模拟真实流水线生产环境的精准性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
工业实用性
根据本公开的机台建模方法、装置、电子设备和存储介质,可以利用在真实机台上的历史运行数据对机台模型进行训练,使经过训练后的机台模型模拟真实流水线生产环境的精准性较好,即经过训练后的机台模型所模拟的虚拟环境与真实流水线生产环境的接近程度较高,实现了对流水线生产环境的高保真仿真,进而可以指导实际的排工、排产过程,提高实际生产流水线的效率。

Claims (29)

  1. 一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行机台建模的以下步骤,包括:
    基于目标机台的多个功能模块和所述多个功能模块的运行模式,构建机台模型,其中,所述机台模型包括多个子模型以及与所述机台模型的性能对应的至少一个第一参数,每个所述子模型包括用于表征所述子模型核心属性的至少一个第二参数,所述多个子模型分别对应所述多个功能模块;
    获取所述目标机台的历史运行数据,其中,所述历史运行数据包含在所述目标机台上被加工的产品对应的多个任务中每个任务的真实运行日志;
    基于所述目标机台的历史运行数据训练所述机台模型,获得所述至少一个第一参数和所述至少一个第二参数之中的至少一个的值,以得到仿真所述目标机台的机台模型。
  2. 如权利要求1所述的系统,其中,所述基于所述目标机台的历史运行数据训练所述机台模型,获得所述至少一个第一参数和所述至少一个第二参数之中的至少一个的值,包括:
    基于所述目标机台的历史运行数据,利用回归拟合方式训练所述机台模型,得到所述至少一个第一参数的值;
    基于所述目标机台的历史运行数据,利用模式匹配方式或者非梯度优化方式训练所述机台模型,得到所述至少一个第二参数的值。
  3. 如权利要求2所述的系统,其中,所述至少一个第一参数包括:任务在机台上的加工时间函数。
  4. 如权利要求3所述的系统,其中,所述历史运行数据还包含所述每个任务在进入所述目标机台的处理仓模块时所述目标机台的机台特征;
    所述基于所述目标机台的历史运行数据,利用回归拟合方式训练所述机台模型,得到所述至少一个第一参数的值,包括:
    针对所述多个任务中的每个任务,执行以下操作:
    将所述每个任务的真实运行日志以及所述目标机台的机台特征作为自变量x;将所述每个任务进入所述目标机台的处理仓模块的处理仓进入时间,以及,该任务被加工完成之后的处理仓离开时间作为因变量y;
    采用所述回归拟合方式获取所述多个任务对应的多对自变量x和因变量y之间的映射关系,作为所述任务在机台上的加工时间函数。
  5. 如权利要求4所述的系统,其中,所述目标机台的机台特征包含所述目标机台是否正处于加工状态;以及,
    在所述目标机台正处于所述加工状态时,当前正在所述目标机台的处理仓模块中被加工任务的数量和每个所述被加工任务进入所述目标机台的处理仓模块的时间。
  6. 如权利要求2所述的系统,其中,所述多个子模型包括机台端口子模型、进出仓子模型和处理仓子模型;
    所述机台端口子模型的第二参数包括:机台端口的类型参数和机台端口的数量参数;
    所述进出仓子模型的第二参数包括:进出仓的出入口的数量参数、进出仓的通过时间参数和进出仓的类型参数;
    所述处理仓子模型的第二参数包括:每种工序类型的处理仓的数量参数和处理仓的类型参数。
  7. 如权利要求6所述的系统,其中,所述每个任务的真实运行日志包含该任务进入所述目标机台的进出仓模块的时间;
    所述基于所述目标机台的历史运行数据,利用模式匹配方式或者非梯度优化方式训练所述机台模型,得到所述至少一个第二参数的值,包括:
    针对所述多个任务中任意相邻的两个任务,确定所述相邻的两个任务对应的两个进入所述目标机台的进出仓模块的时间的时间差;
    基于所述任意相邻的两个任务对应的所述时间差,确定所述进出仓子模型的进出仓的类型参数的值。
  8. 如权利要求7所述的系统,其中,所述基于所述任意相邻的两个任务对应的所述时间差,确定所述进出仓子模型的进出仓的类型参数的值,包括:
    在所述任意相邻的两个任务对应的所述时间差均大于预设阈值的情况下,确定所述进出仓子模型的进出仓的类型参数的值为阻塞类型;
    否则,确定所述进出仓子模型的进出仓的类型参数的值为非阻塞类型。
  9. 如权利要求6所述的系统,其中,所述每个任务的真实运行日志包含该任务进入所述目标机台的多个功能模块中处理仓模块的处理仓进入时间,以及,该任务离开所述目标机台的离开机台时间;
    所述基于所述目标机台的历史运行数据,利用模式匹配方式或者非梯度优化方式训练所述机台模型,得到所述至少一个第二参数的值,包括:
    基于所述多个任务中任意相邻的两个任务中每个任务的处理仓进入时间以及离开机台时间,确定所述处理仓子模型的处理仓的类型参数的值。
  10. 如权利要求9所述的系统,其中,所述基于所述多个任务中任意相邻的两个任务中每个任务的处理仓进入时间以及离开机台时间,确定所述处理仓子模型的处理仓的类型参数的值,包括:
    在所述任意相邻的两个任务中任务次序靠后的任务的处理仓进入时间,在任务次序靠前的任务的离开机台时间之后的情况下,确定所述处理仓子模型的处理仓的类型参数的值为串行类型;
    在所述任意相邻的两个任务中任务次序靠后的任务的处理仓进入时间,在任务次序靠前的任务的处理仓进入时间和离开机台时间之间的情况下,确定所述处理仓子模型的处理仓的类型参数的值为并行类型。
  11. 如权利要求6所述的系统,其中,所述每个任务的真实运行日志包含该任务进入所述目标机台所使用的机台端口信息以及离开所述目标机台所使用的机台端口信息;
    所述基于所述目标机台的历史运行数据,利用模式匹配方式或者非梯度优化方式训练所述机台模型,得到所述至少一个第二参数的值,包括:
    基于所述每个任务进入所述目标机台所使用的机台端口信息以及离开所述目标机台所使用的机台端口信息,确定所述机台端口子模型的机台端口的类型参数的值。
  12. 如权利要求6所述的系统,其中,所述基于所述目标机台的历史运行数据,利用模式匹配方式或者非梯度优化方式训练所述机台模型,得到所述至少一个第二参数的值,包括:
    针对所述机台端口的数量参数、所述进出仓的出入口的数量参数、所述进出仓的通过时间参数和所述每种工序类型的处理仓的数量参数中的每个第二参数,执行以下操作:
    基于所述每个任务的真实运行日志,确定该第二参数对应的真实取值范围;
    在所述真实取值范围中进行多次采样,获得多个真实采样值;
    针对所述多个真实采样值中的每个真实采样值,将所述机台模型的该第 二参数的值设置为该真实采样值;
    将所述多个任务中每个任务的真实运行日志输入设置过该真实采样值的机台模型,获得仿真运行日志;
    基于所述仿真运行日志以及所述多个任务中每个任务的真实运行日志,确定所述机台模型的该第二参数的值。
  13. 如权利要求12所述的系统,其中,所述基于所述仿真运行日志以及所述多个任务中每个任务的真实运行日志,确定所述机台模型的该第二参数的值,包括:
    基于所述仿真运行日志在预设时间段内的部分仿真运行日志,确定所述预设时间段内的仿真任务完成数量以及所述预设时间段内机台空闲时间与机台工作时间的仿真占比;
    基于所述多个任务中每个任务的真实运行日志在所述预设时间段内的部分真实运行日志,确定所述预设时间段内的真实任务完成数量以及所述预设时间段内机台空闲时间与机台工作时间的真实占比;
    选择该第二参数对应的多个真实采样值中,对应的所述仿真占比与所述真实占比最接近、且对应的所述仿真任务完成数量与所述真实任务完成数量最接近的真实采样值,作为所述机台模型的该第二参数的值。
  14. 一种机台建模装置,其中,包括:
    构建模块,被配置为基于目标机台的多个功能模块和所述多个功能模块的运行模式,构建机台模型,其中,所述机台模型包括多个子模型以及与所述机台模型的性能对应的至少一个第一参数,每个所述子模型包括用于表征所述子模型核心属性的至少一个第二参数,所述多个子模型分别对应所述多个功能模块;
    获取模块,被配置为获取所述目标机台的历史运行数据,其中,所述历史运行数据包含在所述目标机台上被加工的产品对应的多个任务中每个任务的真实运行日志;
    训练模块,被配置为基于所述目标机台的历史运行数据训练所述机台模型,获得所述至少一个第一参数和所述至少一个第二参数之中的至少一个的值,以得到仿真所述目标机台的机台模型。
  15. 一种由至少一个计算装置执行的机台建模方法,其中,包括:
    基于目标机台的多个功能模块和所述多个功能模块的运行模式,构建机 台模型,其中,所述机台模型包括多个子模型以及与所述机台模型的性能对应的至少一个第一参数,每个所述子模型包括用于表征所述子模型核心属性的至少一个第二参数,所述多个子模型分别对应所述多个功能模块;
    获取所述目标机台的历史运行数据,其中,所述历史运行数据包含在所述目标机台上被加工的产品对应的多个任务中每个任务的真实运行日志;
    基于所述目标机台的历史运行数据训练所述机台模型,获得所述至少一个第一参数和所述至少一个第二参数之中的至少一个的值,以得到仿真所述目标机台的机台模型。
  16. 如权利要求15所述的机台建模方法,其中,所述基于所述目标机台的历史运行数据训练所述机台模型,获得所述至少一个第一参数和所述至少一个第二参数之中的至少一个的值,包括:
    基于所述目标机台的历史运行数据,利用回归拟合方式训练所述机台模型,得到所述至少一个第一参数的值;
    基于所述目标机台的历史运行数据,利用模式匹配方式或者非梯度优化方式训练所述机台模型,得到所述至少一个第二参数的值。
  17. 如权利要求16所述的机台建模方法,其中,所述至少一个第一参数包括:任务在机台上的加工时间函数。
  18. 如权利要求17所述的机台建模方法,其中,所述历史运行数据还包含所述每个任务在进入所述目标机台的处理仓模块时所述目标机台的机台特征;
    所述基于所述目标机台的历史运行数据,利用回归拟合方式训练所述机台模型,得到所述至少一个第一参数的值,包括:
    针对所述多个任务中的每个任务,执行以下操作:
    将所述每个任务的真实运行日志以及所述目标机台的机台特征作为自变量x;将所述每个任务进入所述目标机台的处理仓模块的处理仓进入时间,以及,该任务被加工完成之后的处理仓离开时间作为因变量y;
    采用所述回归拟合方式获取所述多个任务对应的多对自变量x和因变量y之间的映射关系,作为所述任务在机台上的加工时间函数。
  19. 如权利要求18所述的机台建模方法,其中,所述目标机台的机台特征包含所述目标机台是否正处于加工状态;以及,
    在所述目标机台正处于所述加工状态时,当前正在所述目标机台的处理 仓模块中被加工任务的数量和每个所述被加工任务进入所述目标机台的处理仓模块的时间。
  20. 如权利要求16所述的机台建模方法,其中,所述多个子模型包括机台端口子模型、进出仓子模型和处理仓子模型;
    所述机台端口子模型的第二参数包括:机台端口的类型参数和机台端口的数量参数;
    所述进出仓子模型的第二参数包括:进出仓的出入口的数量参数、进出仓的通过时间参数和进出仓的类型参数;
    所述处理仓子模型的第二参数包括:每种工序类型的处理仓的数量参数和处理仓的类型参数。
  21. 如权利要求20所述的机台建模方法,其中,所述每个任务的真实运行日志包含该任务进入所述目标机台的进出仓模块的时间;
    所述基于所述目标机台的历史运行数据,利用模式匹配方式或者非梯度优化方式训练所述机台模型,得到所述至少一个第二参数的值,包括:
    针对所述多个任务中任意相邻的两个任务,确定所述相邻的两个任务对应的两个进入所述目标机台的进出仓模块的时间的时间差;
    基于所述任意相邻的两个任务对应的所述时间差,确定所述进出仓子模型的进出仓的类型参数的值。
  22. 如权利要求21所述的机台建模方法,其中,所述基于所述任意相邻的两个任务对应的所述时间差,确定所述进出仓子模型的进出仓的类型参数的值,包括:
    在所述任意相邻的两个任务对应的所述时间差均大于预设阈值的情况下,确定所述进出仓子模型的进出仓的类型参数的值为阻塞类型;
    否则,确定所述进出仓子模型的进出仓的类型参数的值为非阻塞类型。
  23. 如权利要求20所述的机台建模方法,其中,所述每个任务的真实运行日志包含该任务进入所述目标机台的多个功能模块中处理仓模块的处理仓进入时间,以及,该任务离开所述目标机台的离开机台时间;
    所述基于所述目标机台的历史运行数据,利用模式匹配方式或者非梯度优化方式训练所述机台模型,得到所述至少一个第二参数的值,包括:
    基于所述多个任务中任意相邻的两个任务中每个任务的处理仓进入时间以及离开机台时间,确定所述处理仓子模型的处理仓的类型参数的值。
  24. 如权利要求23所述的机台建模方法,其中,所述基于所述多个任务中任意相邻的两个任务中每个任务的处理仓进入时间以及离开机台时间,确定所述处理仓子模型的处理仓的类型参数的值,包括:
    在所述任意相邻的两个任务中任务次序靠后的任务的处理仓进入时间,在任务次序靠前的任务的离开机台时间之后的情况下,确定所述处理仓子模型的处理仓的类型参数的值为串行类型;
    在所述任意相邻的两个任务中任务次序靠后的任务的处理仓进入时间,在任务次序靠前的任务的处理仓进入时间和离开机台时间之间的情况下,确定所述处理仓子模型的处理仓的类型参数的值为并行类型。
  25. 如权利要求20所述的机台建模方法,其中,所述每个任务的真实运行日志包含该任务进入所述目标机台所使用的机台端口信息以及离开所述目标机台所使用的机台端口信息;
    所述基于所述目标机台的历史运行数据,利用模式匹配方式或者非梯度优化方式训练所述机台模型,得到所述至少一个第二参数的值,包括:
    基于所述每个任务进入所述目标机台所使用的机台端口信息以及离开所述目标机台所使用的机台端口信息,确定所述机台端口子模型的机台端口的类型参数的值。
  26. 如权利要求20所述的机台建模方法,其中,所述基于所述目标机台的历史运行数据,利用模式匹配方式或者非梯度优化方式训练所述机台模型,得到所述至少一个第二参数的值,包括:
    针对所述机台端口的数量参数、所述进出仓的出入口的数量参数、所述进出仓的通过时间参数和所述每种工序类型的处理仓的数量参数中的每个第二参数,执行以下操作:
    基于所述每个任务的真实运行日志,确定该第二参数对应的真实取值范围;
    在所述真实取值范围中进行多次采样,获得多个真实采样值;
    针对所述多个真实采样值中的每个真实采样值,将所述机台模型的该第二参数的值设置为该真实采样值;
    将所述多个任务中每个任务的真实运行日志输入设置过该真实采样值的机台模型,获得仿真运行日志;
    基于所述仿真运行日志以及所述多个任务中每个任务的真实运行日志, 确定所述机台模型的该第二参数的值。
  27. 如权利要求26所述的机台建模方法,其中,所述基于所述仿真运行日志以及所述多个任务中每个任务的真实运行日志,确定所述机台模型的该第二参数的值,包括:
    基于所述仿真运行日志在预设时间段内的部分仿真运行日志,确定所述预设时间段内的仿真任务完成数量以及所述预设时间段内机台空闲时间与机台工作时间的仿真占比;
    基于所述多个任务中每个任务的真实运行日志在所述预设时间段内的部分真实运行日志,确定所述预设时间段内的真实任务完成数量以及所述预设时间段内机台空闲时间与机台工作时间的真实占比;
    选择该第二参数对应的多个真实采样值中,对应的所述仿真占比与所述真实占比最接近、且对应的所述仿真任务完成数量与所述真实任务完成数量最接近的真实采样值,作为所述机台模型的该第二参数的值。
  28. 一种电子设备,其中,包括:
    处理器;
    用于存储所述处理器可执行指令的存储器;
    其中,所述处理器被配置为执行所述指令,以实现如权利要求15至27中任一项所述的机台建模方法。
  29. 一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求15至27中任一项所述的机台建模方法。
PCT/CN2023/099351 2022-06-29 2023-06-09 机台建模方法、装置、电子设备和存储介质 WO2024001722A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210760931.6 2022-06-29
CN202210760931.6A CN117371156A (zh) 2022-06-29 2022-06-29 机台建模方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
WO2024001722A1 true WO2024001722A1 (zh) 2024-01-04

Family

ID=89382870

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/099351 WO2024001722A1 (zh) 2022-06-29 2023-06-09 机台建模方法、装置、电子设备和存储介质

Country Status (2)

Country Link
CN (1) CN117371156A (zh)
WO (1) WO2024001722A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160350464A1 (en) * 2015-05-29 2016-12-01 International Business Machines Corporation Automating a Microarchitecture Design Exploration Environment
CN106407570A (zh) * 2016-09-22 2017-02-15 南京航空航天大学 一种飞机装配过程在线仿真优化系统
CN109164317A (zh) * 2018-08-30 2019-01-08 杭州电力设备制造有限公司 一种变电站短期负荷监测方法、系统、介质及设备
CN111190393A (zh) * 2018-11-14 2020-05-22 长鑫存储技术有限公司 半导体制程自动化控制方法及装置
WO2021056590A1 (zh) * 2019-09-29 2021-04-01 西门子股份公司 用于校准生产线的仿真模型的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160350464A1 (en) * 2015-05-29 2016-12-01 International Business Machines Corporation Automating a Microarchitecture Design Exploration Environment
CN106407570A (zh) * 2016-09-22 2017-02-15 南京航空航天大学 一种飞机装配过程在线仿真优化系统
CN109164317A (zh) * 2018-08-30 2019-01-08 杭州电力设备制造有限公司 一种变电站短期负荷监测方法、系统、介质及设备
CN111190393A (zh) * 2018-11-14 2020-05-22 长鑫存储技术有限公司 半导体制程自动化控制方法及装置
WO2021056590A1 (zh) * 2019-09-29 2021-04-01 西门子股份公司 用于校准生产线的仿真模型的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BIAN, YUEKUI: "Modeling and Simulation of the Automotive Engine Assembly Line", CHINA MASTER'S THESES FULL-TEXT DATABASE, ENGINEERING SCIENCE & TECHNOLOGY II, no. 01, 15 January 2012 (2012-01-15), XP009527070 *

Also Published As

Publication number Publication date
CN117371156A (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
US8639545B2 (en) Generating an optimized analytical business transformation
US11650799B2 (en) Remote application modernization
US20050028133A1 (en) System and method for rapid design, prototyping, and implementation of distributed scalable architecture for task control and automation
CN109891438B (zh) 数值量子实验方法和系统
Sharda et al. Robust manufacturing system design using multi objective genetic algorithms, Petri nets and Bayesian uncertainty representation
CN108629476A (zh) 非暂时性计算机可读存储介质、工序规划方法和装置
US7650267B1 (en) Distribution of DES replications in a simulation
US12045043B2 (en) Machine learning based resource allocation in a manufacturing plant
Zorn et al. Replacing energy simulations with surrogate models for design space exploration
WO2024001722A1 (zh) 机台建模方法、装置、电子设备和存储介质
US20230315964A1 (en) Design aware adaptive mixed-signal simulation
US20230267007A1 (en) System and method to simulate demand and optimize control parameters for a technology platform
Saleem et al. Systematic literature review of identifying issues in software cost estimation techniques
CN117235527A (zh) 端到端容器化的大数据模型构建方法、装置、设备及介质
US12001771B2 (en) Variant model-based compilation for analog simulation
US11656887B2 (en) System and method to simulate demand and optimize control parameters for a technology platform
CN114493279A (zh) 一种工作流任务预测方法、装置、存储介质及电子设备
US10733345B1 (en) Method and system for generating a validation test
Cheng et al. An integrated modeling mechanism for optimizing the simulation model of the construction operation
WO2022010380A1 (ru) Способ и автоматизированная система решения задач
Wu et al. Integration of BIM and computer simulations in modular construction, A case study
WO2021075997A1 (ru) Способ обработки информации для наполнения библиотеки моделей данных и устройство для его осуществления.
Eldabi et al. Evaluation of tools for modeling manufacturing systems design with multiple levels of detail
CN102902519A (zh) 一种基于动态系统实现复合断言计算的方法
RU2792257C1 (ru) Способ и система автоматизированной миграции информационной инфраструктуры предприятия в облачный сервис

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23829906

Country of ref document: EP

Kind code of ref document: A1