Production scheduling simulation method and device thereof
Through kernel separation technology and efficient data management, the performance problems of existing production scheduling simulation software in large-scale experiments are solved, and the simulation efficiency and computing speed are improved.
Patent Information
- Application Number
- CN202111673387.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-31
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2041-12-31
AI Technical Summary
The existing production scheduling simulation software has poor performance during large-scale experiments, which is difficult to meet the needs of professional simulation personnel, and the data management is not efficient enough, resulting in low simulation efficiency.
The kernel separation technology is used to separate simulation visualization from simulation computing, and the data is managed through shared memory pools, multi-level caches and persistent data structures, and distributed computing and efficient data management of the agent are realized.
It improves simulation efficiency, enhances computing processing speed, reduces data copying and redundancy, and achieves rapid initialization and restart.
Smart Images

Figure CN114792186B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of artificial intelligence technology, and particularly to a production scheduling simulation method and apparatus. Background Art
[0002] Production scheduling is one of the important reasons for an enterprise to formulate a production operation plan, and has a very important impact on the production efficiency of the enterprise. At present, a batch of simulation software has been developed for how to perform production scheduling, such as Dassault APS system, Anylogic simulation software, FlexSim simulation software, etc. These simulation software have been widely used in the market. Even though the kernels of these simulation software have been developed using efficient programming languages, their runtime performance is still poor, and they can only meet the verification-based simulation needs of professional simulation personnel and are difficult to conduct large-scale experiments. Therefore, there is an urgent need for a high-performance simulation technology for large-scale experiments. Summary of the Invention
[0003] The present disclosure provides a production scheduling simulation method and apparatus, an electronic device, a storage medium, and a program product to at least solve the above-mentioned problems.
[0004] According to a first aspect of an embodiment of the present disclosure, a production scheduling simulation method may include: obtaining product instance data of a target product to be produced and current status information of a plurality of first agents; invoking a second agent, and generating, by the second agent, a task for producing the target product based on the product instance data and determining a time for the second agent to generate a task next time; invoking a third agent, and allocating, by the third agent, corresponding tasks to the first agents that can currently execute tasks based on the current status information of the plurality of first agents and determining a time for the third agent to allocate tasks next time; invoking the first agents to which tasks are allocated, and executing, by the first agents, the corresponding tasks and updating the status information of the first agents; and invoking the second agent, the third agent, and the plurality of first agents based on the time for the second agent to generate a task next time, the time for the third agent to allocate tasks next time, and the status information of the plurality of first agents to obtain a production scheduling result for the target product.
[0005] Optionally, the production scheduling simulation method may further include: using a shared memory pool technology to store tasks generated by the second agent each time and status information updated each time the plurality of first agents are executed; and providing at least a part of the stored tasks and updated status information to the third agent.
[0006] Optionally, the production scheduling simulation method may further include: using a multi-level cache technology to store at least a part of the stored tasks and updated status information provided to the third agent.
[0007] Optionally, the production scheduling simulation method may further include: using a persistent data structure to store at least a part of the stored tasks and updated status information provided to the third agent.
[0008] Optionally, the third agent allocates corresponding tasks to the first agents that can currently execute tasks based on the current status information of the plurality of first agents, which may include: obtaining a scheduling strategy for the target product, where the scheduling strategy includes the priority of tasks; according to the scheduling strategy, allocating corresponding tasks to the first agents that can currently execute tasks based on a preset matching rule and the provided tasks and updated status information.
[0009] Optionally, the first agent executes the corresponding task and updates the status information of the first agent, which may include: calculating the working time of the first agent by calling preset data for calculating time consumption based on the characteristics of the corresponding task and the device characteristics of the first agent, and updating the status information of the first agent based on the working time; or updating the task status information included in the first agent based on a preset product processing step, and updating the resource status information included in the first agent.
[0010] Optionally, the production scheduling simulation method may further include: in the case where the model logics and status information of at least two first agents executing their respective tasks simultaneously are the same, selecting one first agent from the at least two first agents to execute the corresponding task, and applying the updated status information of the selected first agent to the first agents that are not selected among the at least two first agents.
[0011] According to a second aspect of the embodiments of the present disclosure, there is provided a production scheduling simulation device, which may include: an acquisition module configured to acquire product instance data of a target product to be produced and current status information of a plurality of first agents; a task generation module configured to generate, by a second agent, tasks for producing the target product based on the product instance data and determine the time for the second agent to generate tasks next time; a task allocation module configured to allocate, by a third agent, corresponding tasks to the first agents that can currently execute tasks based on the current status information of the plurality of first agents and determine the time for the third agent to allocate tasks next time; a task execution module configured to execute, by the first agent assigned with tasks, the corresponding tasks and update the status information of the first agent; and a scheduling module configured to call the second agent, the third agent, and the plurality of first agents based on the time for the second agent to generate tasks next time, the time for the third agent to allocate tasks next time, and the status information of the plurality of first agents, so as to obtain a scheduling result for the target product.
[0012] Optionally, the production scheduling simulation device may further include a storage module, configured to: store the tasks generated by the second agent each time and the state information updated by each execution of the multiple first agents by using a shared memory pool technology; provide at least a part of the stored tasks and updated state information to the third agent.
[0013] Optionally, the task allocation module may be configured to: store at least a part of the stored tasks and updated state information provided to the third agent by using a multi-level cache technology.
[0014] Optionally, the task allocation module may be configured to: store at least a part of the stored tasks and updated state information provided to the third agent by using a persistent data structure.
[0015] Optionally, the task allocation module may be configured to: obtain a scheduling strategy for the target product, where the scheduling strategy includes the priorities of tasks; according to the scheduling strategy, based on a preset matching rule and the provided tasks and updated state information, allocate corresponding tasks to the first agents that can currently execute tasks.
[0016] Optionally, the task execution module may be configured to: calculate the working time of the first agent by invoking preset data for calculating the time consumption based on the characteristics of the corresponding task and the device characteristics of the first agent, and update the state information of the first agent based on the working time; or update the task state information included in the first agent based on a preset product processing step, and update the resource state information included in the first agent.
[0017] Optionally, the task execution module is configured to: in the case where the model logics and state information of at least two first agents executing their respective tasks simultaneously are the same, select one first agent from the at least two first agents to execute the corresponding task, and apply the updated state information of the selected first agent to the first agents that are not selected among the at least two first agents.
[0018] According to a third aspect of the embodiments of the present disclosure, there is provided an electronic device, which may include: at least one processor; at least one memory storing computer-executable instructions, where when the computer-executable instructions are run by the at least one processor, the at least one processor is caused to execute the production scheduling simulation method as described above.
[0019] According to a fourth aspect of the embodiments of the present disclosure, there is provided a computer-readable storage medium storing instructions, which when run by at least one processor, causes the at least one processor to execute the production scheduling simulation method as described above.
[0020] According to a fifth aspect of the embodiments of the present disclosure, a computer program product is provided, and instructions in the computer program product are run by at least one processor in an electronic device to execute the production scheduling simulation method as described above.
[0021] The technical solutions provided by the embodiments of the present disclosure at least bring the following beneficial effects:
[0022] The present disclosure effectively separates the visualization of the simulation from the simulation calculation kernel through the kernel separation technology, enabling the computing power to focus on the scheduling and execution of the logic within the simulation, thereby improving the simulation efficiency.
[0023] By enabling the agent to execute the distributed computing of the agent model, the computing processing speed is improved, thereby improving the simulation efficiency.
[0024] By adopting the shared memory pool technology to store dynamically changing data (such as generated task data and updated status data), the dynamically changing data can be uniformly maintained and quickly read and written, thereby improving the simulation efficiency.
[0025] By adopting the multi-level cache technology to store the tasks and updated status information provided to the third agent, the hot data can be found and used more quickly.
[0026] By adopting the persistent data structure to store the tasks and updated status information provided to the third agent, the time-series feature data can be queried more quickly while reducing the copy of invalid time-series data.
[0027] By adopting the serialization technology, the initialization configuration and restart of the simulation program can be achieved quickly.
[0028] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The accompanying drawings herein are incorporated into the specification and form a part of the specification, showing embodiments consistent with the present disclosure, and are used together with the specification to explain the principles of the present disclosure and do not constitute an improper limitation to the present disclosure.
[0030] Figure 1 is a flowchart of a production scheduling method according to an embodiment of the present disclosure;
[0031] Figure 2 is a schematic flow diagram of a production scheduling method according to an embodiment of the present disclosure;
[0032] Figure 3 is a block diagram of a production scheduling device according to an embodiment of the present disclosure;
[0033] Figure 4 is a schematic structural diagram of a production scheduling device according to an embodiment of the present disclosure;
[0034] Figure 5 is a block diagram of an electronic device according to an embodiment of the present disclosure.
[0035] Throughout the drawings, it should be noted that the same reference numerals are used to represent the same or similar elements, features, and structures. Detailed implementation manners
[0036] In order to enable those of ordinary skill in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.
[0037] The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of the embodiments of the present disclosure defined by the claims and their equivalents. Various specific details are included to assist in the understanding, but these details are only regarded as exemplary. Therefore, those of ordinary skill in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. In addition, descriptions of well-known functions and structures are omitted for clarity and conciseness.
[0038] The terms and words used in the following description and claims are not limited to the written meanings, but are used by the inventors only to achieve a clear and consistent understanding of the present disclosure. Therefore, those skilled in the art should clearly understand that the following descriptions of the various embodiments of the present disclosure are provided for illustrative purposes only and not for the purpose of limiting the present disclosure defined by the claims and their equivalents.
[0039] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure are used to distinguish similar objects and do not necessarily need to describe a specific order or sequence. It should be understood that such used data can be interchanged under appropriate circumstances so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with the present disclosure. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0040] Since the existing simulation software for manufacturing dispatching and scheduling fails to separate the visualization and the simulation kernel well enough, and there is no need for the visualization results of the simulation process during large-scale experiments, while the existing simulation software still consumes a large amount of computing power in the visualization calculation, the simulation becomes slow and the performance decreases.
[0041] In addition, the existing simulation software for manufacturing dispatching and scheduling is developed for professional simulation personnel. To facilitate the development by simulation personnel, the simulator code is often written using object-oriented programming. The advantage of object-oriented programming is that the development is simple and direct, and it is easy for people to understand. However, its disadvantage is code redundancy. Most data is stored in different memory segments in units of objects, resulting in poor reading efficiency. When making dispatching and scheduling decisions, agents often require a large amount of data in all aspects, and the data required by the agents is often not uniformly collected and persistently processed, causing frequent data copying. Therefore, the relatively casual data management and frequent and inefficient data copying in the existing simulation software also lead to slower simulation and reduced performance.
[0042] Based on the above problems, the present disclosure effectively separates the visualization of the simulation from the simulation computing kernel through the kernel separation technology, enabling the computing power to focus on the scheduling and execution of the logic within the simulation rather than visual rendering. In addition, the present disclosure develops with data management as the core entity of the simulation. Through methods such as persistent data structures, shared memory pools, joint computing, data classification, read-write separation, and serialized storage, more effective data management is achieved, thereby improving the simulation efficiency for large-scale production scheduling.
[0043] In the following, according to various embodiments of the present disclosure, the methods and apparatuses of the present disclosure will be described in detail with reference to the accompanying drawings.
[0044] Figure 1 It is a flowchart of a production scheduling method according to an embodiment of the present disclosure. The scheduling simulation method according to the present disclosure can be used for scheduling simulation of the production of any product on a large scale. Figure 1 The shown production scheduling simulation method can be implemented as, for example, simulation software and can run on any electronic device. The electronic device can be at least one of a smart phone, a tablet computer, a portable computer, a desktop computer, etc. The electronic device can be installed with the simulation software of the present disclosure for performing scheduling simulation.
[0045] Referring to Figure 1 , in step S101, product instance data of the target product to be produced and current state information of multiple first agents are obtained. The product instance data can represent data such as the characteristics and parameters of the target product to be generated. The first agent can be implemented as a device model for performing corresponding tasks. During initialization configuration, the first agent can be configured with parameters, characteristics, performance, etc. of the corresponding device based on device data. In the case where multiple devices are required to produce the target product, multiple first agents can be configured to perform different tasks. The first agent can be, for example, a unit operation device model, a batch operation device model, etc., for simulating the corresponding device to perform tasks.
[0046] For example, the target product can be a pin axis, and the multiple first agents can be equipment models that respectively execute each process for generating the pin axis, such as an equipment model for performing a rough turning process, an equipment model for performing a finish turning process, etc. In actual production, in order to more accurately simulate production scheduling, the current actual state data of real equipment can be used to initialize the multiple first agents, so that the state / configuration of the first agents at the start of the simulation is consistent with the actual situation.
[0047] In step S102, a second agent is called, and the second agent generates tasks for producing the target product based on the product instance data and determines the time for the second agent to generate tasks next time. Here, the second agent can be used to generate multiple tasks / processes for the target product.
[0048] In the present disclosure, the scheduling of agents can be implemented by a scheduler. For example, after receiving the simulation start time and initialization data, an agent can perform an initialization configuration and upload an initial event to the scheduler. An event can indicate what task an agent executes at what time or what state it updates to at what time. For example, an event can include agent tags and timestamp information. The scheduler can schedule agents in the order of the events uploaded by the agents until the event time exceeds the simulation duration, at which point the simulation ends. The first agent, the second agent, and the third agent described later can share a scheduler.
[0049] The scheduler can dynamically maintain the events uploaded by the agents. For example, use an event sequence for maintenance under low concurrency and a directed acyclic graph for maintenance under high concurrency. The scheduler can push the corresponding events back to the agents one by one according to the time order and dependency relationship of each event. For example, the scheduler can select the instruction with the smallest issued time to issue the corresponding event. In the case where the issued instruction has no dependency relationship with other instructions, it does not need to wait for other instructions to complete.
[0050] At the start of the simulation, the scheduler can first send an instruction to the second agent, so that the second agent can generate multiple tasks using the product instance data. For example, tasks and logics for producing the target product can be generated by looking up a table or distribution setting. After generating the tasks, the second agent can calculate the time for generating tasks next time and send the time for generating tasks next time as an event to the scheduler, and wait for the next execution action / operation.
[0051] The table in the way of looking up a table can be obtained by reading input data. For example, the table can be obtained by file reading or database searching. The way of distribution setting can enable the second agent to generate corresponding tasks and logics by setting what distribution and the parameters of the corresponding distribution.
[0052] The second agent can calculate the time for the next task generation by looking up a table or through distribution settings. For example, by looking up a table, the next item can be queried to determine the corresponding time, and by using distribution settings, a new event can be generated based on the distribution.
[0053] After the second agent generates a task, it can store the generated task in the task pool for use when allocating tasks later.
[0054] In step S103, the third agent is called, and the third agent allocates corresponding tasks to the first agents that can currently execute tasks based on the current status information of multiple first agents, and determines the time for the third agent to allocate tasks next time. The third agent can be used to match the generated tasks with the first agents that can execute the corresponding tasks, and allocate corresponding tasks to the first agents.
[0055] At the start of the simulation, after the second agent produces a task, the scheduler can send an instruction to the third agent so that the third agent can perform task allocation.
[0056] The third agent can allocate different tasks to different first agents based on preset matching rules, task characteristics, and device status. The preset matching rules can be formed by the matching relationship between task characteristics and device characteristics, so that the third agent can determine which first agent to use to execute which task based on this. The device status can represent the current status of the first agent. When the third agent allocates tasks, it can consider the status of each first agent for task allocation. For example, in the case where there are multiple first agents that can execute the same task, the third agent can preferentially allocate the task to the first agent that is currently in an idle state.
[0057] In addition, in the case of setting a production scheduling strategy, the third agent can consider the priority of the tasks when allocating tasks. Specifically, the production scheduling strategy for the target product can be obtained, where the production scheduling strategy includes the priority of the tasks, and according to the production scheduling strategy, based on the preset matching rules and the provided task and the status information of the first agent, corresponding tasks can be allocated to the first agents that can currently execute tasks. [[ID=ST17]]
[0058] The third agent can configure the time for the next task allocation by itself based on an allocation algorithm. For example, the time corresponding to a preset duration after the current moment can be used as the time for the next task allocation, or the time for the next task allocation can be dynamically configured according to the number of current tasks, the idle degree of the devices, etc. Then the time for the next task generation can be sent to the scheduler as an event and wait for the scheduler to schedule.
[0059] In step S104, the first agent assigned with a task is called, and the first agent executes the corresponding task and updates the status information of the first agent.
[0060] In the present disclosure, the first agent can be called by a scheduler, so that the first agent is activated to execute a task. In addition, the first agent can also be called by the third agent to assign a task to the first agent, so that the first agent is activated to execute the task.
[0061] When the third agent schedules the first agent, the first agent can calculate the working time of the first agent by calling the preset time-consuming calculation data based on the characteristics of the corresponding task and the device characteristics of the first agent, and update the status information of the first agent based on the working time. When the scheduler calls the first agent, the first agent can update the task status information included in the first agent based on the preset product processing steps, and update the resource status information included in the first agent.
[0062] For example, after receiving the task assigned by the third agent, the first agent can execute the task, and update the event and upload the updated event to the scheduler. For example, the time-consuming calculation data can be formed in the form of a time-consuming matching table, in which data such as the time consumed when each task is executed on the corresponding device, the task characteristics, and the device characteristics can be pre-stored. The first agent can find the corresponding time-consuming data in the time-consuming matching table according to the device characteristics, task characteristics, etc. and combine them to obtain the working duration for executing the task. The above examples are only exemplary, and the present disclosure is not limited thereto.
[0063] In this way, since the state of the first agent changes when executing the task, it is necessary to update the event and upload a new event to the scheduler. For example, when the first agent in the idle state receives the assigned task, it can update its own state to the task execution state, and send an event indicating how long the task will be completed to the scheduler. Here, updating the event may mean that the scheduler has not pushed the previous event back to the first agent, and the first agent needs to upload a new event to the scheduler when receiving the task, so as to notify the scheduler not to use the previous event anymore, but to use the new event for scheduling.
[0064] Optionally, when the first agent is executing a task, the third agent can also assign a task to the first agent. The first agent can cache the task and execute the cached task after completing the current task. In this case, the first agent should also consider the buffer time of the task when sending an event to the scheduler.
[0065] The first intelligent agent will change its state due to the tasks assigned by the third intelligent agent. In the case where the state of the first intelligent agent does not change, the first intelligent agent may not upload events.
[0066] For another example, in response to the event sent back by the scheduler, the first intelligent agent may update the states of the tasks and resources it contains based on the preset product processing steps. If there will be further state changes for the first intelligent agent later, it will send new events to the scheduler. For example, the first intelligent agent may calculate which step / operation to execute next for the tasks it contains based on the preset product processing steps to update the states of the tasks it contains. The resource state may depend on the specific logic of the device model, that is, the resource state is a logic determined internally by the first intelligent agent itself.
[0067] Since the first intelligent agent will send corresponding events to the scheduler after receiving tasks, when the scheduler returns the event to the first intelligent agent, the first intelligent agent may update its own state information. For example, when the scheduler returns the event to the first intelligent agent according to the event uploaded by the first intelligent agent, it may update the task state of itself to task completed and update to the current resource state.
[0068] According to an embodiment of the present disclosure, the scheduler is passively activated. It can be forced to establish a dependency relationship for the third intelligent agent for all commands, that is, all previously issued events must be completed before the scheduler can issue the events uploaded by the third intelligent agent to the third intelligent agent.
[0069] In the case where the model logics and state information of at least two first intelligent agents executing their respective tasks are the same, one first intelligent agent can be selected from the at least two first intelligent agents to execute its own task, and the updated state information of the selected first intelligent agent can be applied to the first intelligent agents not selected among the at least two first intelligent agents.
[0070] For example, some tasks are being processed simultaneously on multiple devices. The processing start times of these tasks are exactly the same, the device model logics for executing these tasks are exactly the same, and the internal states are exactly the same. At this time, the method of joint calculation can be adopted, that is, the flow logic of the internal model of the device only needs to be executed once, and it can be quickly applied to each task / each device, thereby improving the efficiency of production scheduling simulation.
[0071] In step S105, the second intelligent agent, the third intelligent agent, and multiple first intelligent agents are called based on the time when the second intelligent agent generates tasks next time, the time when the third intelligent agent assigns tasks next time, and the state information of the multiple first intelligent agents to obtain the production scheduling result for the target product.
[0072] The scheduler updates the status in real time by sending the events uploaded by each agent to them, thereby completing the production scheduling simulation of the target product.
[0073] The scheduler can perform scheduling according to the operations in steps S102 to S104 above until the timestamp of the uploaded event exceeds the preset simulation duration. In addition, the above step sequence does not limit the execution order of each agent, and each agent can be executed in parallel.
[0074] After the simulation ends, simulation results such as task execution records, device execution records, and system utilization rates can be obtained.
[0075] According to an embodiment of the present disclosure, a static data memory can be used to store such as device data, product processing step data, product instance data, data for time-consuming calculation, matching rules, and initialization data, and a dynamic data memory can be used to store the tasks generated by the second agent each time and the status information updated each time the multiple first agents are executed.
[0076] For data that changes in real time, a shared memory pool technology can be used for storage. For example, a shared memory pool technology can be used to store the tasks generated by the second agent each time and the status information updated each time the multiple first agents are executed, so that dynamic data can be uniformly maintained and quickly read and written, thereby improving the simulation efficiency.
[0077] At least a part of the tasks generated by the second agent each time and the status information updated each time the multiple first agents are executed can be provided to the third agent, so that the third agent can allocate tasks more reasonably based on this data.
[0078] The third agent can form a data dashboard based on the static data and the provided dynamic data. The data dashboard can be understood as a data large screen, which is responsible for recording the data that the third agent needs to see. These data will be synchronously updated when the second agent and the first agent update their statuses.
[0079] In addition, in order to find and use hot data faster, the third agent can adopt a multi-level cache technology to store the tasks and updated status information provided to the third agent. The third agent can adopt a multi-level cache technology to store the tasks to be allocated and the status information of the first agent. That is to say, the third agent can adopt a multi-level cache technology to maintain the data dashboard.
[0080] To query the time series feature data more quickly and reduce the copy of invalid time series data, the third agent can use a persistent data structure to store the tasks provided to the third agent and the updated status information. The third agent can use a persistent data structure to store the tasks to be assigned and the status information of the first agent. That is to say, the third agent can also use a persistent data structure to maintain a data dashboard.
[0081] According to an embodiment of the present disclosure, by considering the similarity of data dimensions, using a multi-level cache technology and a persistent data structure to store dynamic data, the construction and replication of invalid data can be reduced, thereby solving the problems existing in the existing simulation software based on object-oriented programming. The generation scheduling simulation of the present disclosure will be described in more detail below with reference to Figure 2 the generation scheduling simulation of the present disclosure will be described in more detail.
[0082] Figure 2 is a flowchart of a production scheduling simulation method according to an embodiment of the present disclosure. The scheduling simulation method according to the present disclosure can be used for production scheduling simulation of any product on a large scale. Figure 2 The shown production scheduling simulation method can be implemented as, for example, simulation software and can run on any electronic device. The electronic device can be at least one of a smart phone, a tablet computer, a portable computer, a desktop computer, etc. The electronic device can be installed with the simulation software of the present disclosure for performing scheduling simulation.
[0083] Referring to Figure 2 , before performing production scheduling simulation on the production of the target product, it is necessary to prepare initial configuration data related to the target product, such as equipment data, product processing step data, product instance data, data for calculating time-consuming, matching rules, and initialization data, etc. Here, the equipment data can represent data such as the characteristics, parameters, and performance of the equipment required for producing the target product. The product processing step data can represent the processing sequence of the tasks (orders) for producing the target product, that is, what task will be executed next after the current task is completed. The product instance data can represent data such as the characteristics and parameters of the target product. The data for calculating time-consuming can be used to calculate the duration of each part of producing the target product or the duration of each task for producing the target product. The matching rules can be used to determine what equipment needs to be used when producing a certain part of the target product. The initialization data can represent, for example, the state / configuration data of the equipment for producing the target product at the start of the simulation (such as what task the equipment is doing and the duration to complete the task, etc.).
[0084] The data related to the target product can be input into the simulation software before the scheduling simulation, so that the simulation software can perform scheduling simulation for the production of the target product according to the actual situation. For different product production scheduling, it is necessary to input the data related to the corresponding product into the simulation software for targeted production scheduling simulation of the corresponding product.
[0085] After entering the business, you can set the simulation start time, duration, and scheduling strategy before starting the simulation. The scheduling strategy can include the priority of task processing, such as prioritizing tasks with the shortest processing time or prioritizing urgent tasks.
[0086] According to an embodiment of the present disclosure, production scheduling simulation can be implemented by a scheduler, an agent, and a data manager. The scheduler, the agent, and the data manager can be implemented by program codes.
[0087] After receiving the simulation start time and initialization data, the agent performs initial configuration and uploads an initial event to the scheduler. This event specifies the task the agent will perform at what time. The scheduler schedules the agents in the order in which they uploaded the event, until the event time exceeds the simulation duration, marking the end of the simulation.
[0088] The scheduler dynamically maintains events uploaded by agents. For example, it uses event sequences for low concurrency and directed acyclic graphs for high concurrency. The scheduler pushes corresponding events back to the agents one by one, following their temporal order and dependencies. For example, the scheduler might select the instruction with the shortest delivery time to deliver the corresponding event. If the instruction being delivered has no dependencies on other instructions, it does not need to wait for the other instructions to complete.
[0089] Agents can be responsible for performing distributed computations within the agent model. In this case, the agents can be divided into a first agent for executing tasks, a second agent for generating tasks, and a third agent for assigning tasks. The first, second, and third agents can each include one or more agents. Distributed computation within the agent model can improve simulation efficiency.
[0090] The second agent can initialize and generate tasks and logic based on product instance data. For example, it can generate tasks and logic for producing the target product through table lookup or distributed configuration. After generating a task, the second agent calculates the time when the next task will be generated, sends this time as an event to the scheduler, and waits for the next action / operation to be executed.
[0091] For example, the table in the table lookup method can be obtained by reading input data, such as by reading a file or searching a database, etc. The distribution setting method can enable the second agent to generate corresponding tasks and logic by setting the distribution and the corresponding distribution parameters.
[0092] The second agent can calculate the time for the next task generation by looking up a table or through distribution settings. For example, the next item can be queried through looking up a table to determine the corresponding time, and a new event can be generated based on the distribution by using the distribution setting method.
[0093] After the second agent generates a task, it can store the generated task in the task pool for the third agent to use when allocating tasks.
[0094] The third agent is responsible for the matching of tasks and device models. The third agent can send the corresponding tasks to the corresponding first agent, calculate the time for the next task allocation after task allocation, and send the time for the next task allocation as an event to the scheduler, and wait for the next execution action / operation.
[0095] The third agent can allocate different tasks to different devices based on matching rules, task characteristics, and device status. In addition, in the case of setting a production scheduling strategy, the third agent can consider the priority of tasks when allocating tasks.
[0096] In addition, multiple decision algorithms can be integrated in the third agent, and the integrated decision algorithm is used to allocate tasks based on matching rules, task characteristics, and device status.
[0097] The third agent can configure the time for the next task allocation by itself based on the allocation algorithm. For example, the time corresponding to a preset duration after the current moment can be used as the time for the next task allocation, or the time for the next task allocation can be dynamically configured according to the number of current tasks, the idle degree of devices, etc.
[0098] The first agent is responsible for executing the allocated tasks. During initialization configuration, the first agent is configured with the parameters, characteristics, performance, etc. of the corresponding device based on device data. In the case where multiple devices are required to produce the target product, multiple first agents can be configured to execute different tasks. The first agent can be regarded as a device model (such as a unit operation device model, a batch operation device model, etc.) for simulating the corresponding device to execute tasks.
[0099] The first agent has two activation methods. One activation method is that after receiving a task assigned by the third agent, it can execute the task, update the event, and upload the updated event to the scheduler. For example, the first agent can search for corresponding time-consuming data in the time-consuming calculation data according to device characteristics, task characteristics, etc. and combine them to obtain the working duration for executing the task. In this activation method, since the state of the first agent changes when executing the task, it is necessary to update the event and upload a new event to the scheduler. Updating the event means that the scheduler has not pushed the previous event back to the first agent, and the first agent needs to upload a new event to the scheduler when executing the task to notify the scheduler to no longer use the previous event but use the new event for scheduling.
[0100] The first agent will change its state due to receiving a task assigned by the third agent. When the state of the first agent does not change, the first agent will not upload the event.
[0101] The second activation method is that in response to the event sent by the scheduler, the first agent can update the state of the tasks and resources it contains according to the preset product processing steps. If the first agent will have further state changes, it will send a new event to the scheduler.
[0102] According to an embodiment of the present disclosure, the scheduler is activated passively. It is possible to forcibly establish a dependency relationship for the third agent for all commands, that is, all previously issued events must be completed before the scheduler can issue the event uploaded by the third agent to the third agent.
[0103] For the data manager, it may include a dynamic data memory and a static data memory. The static data memory can store the initial configuration data related to the target product described above (which can be called static data). The dynamic data memory can be used to store data that changes dynamically when the agent is executed (which can be called dynamic data), such as the resource state, task state, running state in the first agent, the execution situation of the third agent, etc.
[0104] The dynamic data memory can adopt a shared memory pool technology to store dynamic data, so that the dynamic data can be uniformly maintained and read and written quickly, thereby improving the simulation efficiency.
[0105] The dynamic data memory and the static data memory can provide at least a part of the static data and dynamic data to the third agent, so that the third agent can allocate tasks more reasonably based on these data.
[0106] The third intelligent agent can form a data dashboard based on the provided static data and dynamic data. The data dashboard can be understood as a large data screen, which is responsible for recording the data that the third intelligent agent needs to view. These data will be synchronously updated when the second intelligent agent and the first intelligent agent update their states.
[0107] To query time-series feature data more quickly and reduce invalid time-series data copying, the third intelligent agent can adopt a persistent data structure to store the tasks to be assigned and the status information of the first intelligent agent. That is to say, the third intelligent agent can adopt a persistent data structure to maintain the data dashboard.
[0108] In addition, to find and use hot data more quickly, the third intelligent agent can adopt a multi-level caching technology to store the tasks to be assigned and the status information of the first intelligent agent. That is to say, the third intelligent agent can adopt a multi-level caching technology to maintain the data dashboard.
[0109] As an example, the data dashboard can query the workload of each device in a certain period in the past. In use, a large number of queries are to query the workload of the device in the past 24 hours. Therefore, the workload of the device in the past 24 hours can be used as the first-level cache (that is, the queried data is recorded); for a longer time, a persistent data structure can be adopted, which can record, for example, the workload of each device for each whole day from the start to the present of the device. The workload of the device for several whole days can be queried through this data structure. For example, a three-level cache can be adopted, and multiple persistent data structures can be used in each level, and the quantity can depend on what data the data dashboard needs.
[0110] According to the embodiments of the present disclosure, by considering the similarity of data dimensions and adopting a multi-level caching technology and a persistent data structure to store dynamic data, the construction and replication of invalid data can be reduced, thereby solving the problems existing in the existing simulation software based on object-oriented programming.
[0111] In addition, for the same task flow and the same commands executed by devices, joint calculation can be adopted for unified processing. For example, some tasks are processed simultaneously on multiple devices. The processing start times of these tasks are exactly the same, and the device model logics for executing these tasks are exactly the same and the internal states are exactly the same. At this time, the joint calculation method can be adopted, that is, the flow logic of the internal model of the device only needs to be executed once, and then it can be quickly applied to each task / each device, thereby improving the efficiency of production scheduling simulation.
[0112] For the simulation software of the present disclosure, serialization technology can be adopted to quickly perform initialization configuration and restart. For example, due to some reason, the production scheduling simulation needs to be paused. At this time, the current simulation program can be saved as a data file through serialization technology. When the simulation needs to be continued later, only this data file can be used to reconstruct a simulation to complete the production scheduling simulation that has not been completed before.
[0113] Compared with existing Dassault APS systems, Anylogic simulation software, FlexSim simulation software, etc., the simulation method of the present disclosure can use decoupled kernel technology to reduce the computational coupling of visualization and simulation. For example, by adopting LLVM technology, large-scale parallel computing technology can be used to optimize the parallel computing of high-level rules. That is to say, the simulation software of the present disclosure only needs to input the configuration data required for simulation to perform production scheduling simulation, without the need to perform visualization calculations during the simulation, thereby improving the simulation efficiency.
[0114] After the simulation ends, simulation results such as task execution records, equipment execution records, and system utilization rates can be obtained.
[0115] Figure 3 It is a block diagram of a production scheduling simulation device according to an embodiment of the present disclosure.
[0116] Referring to Figure 3 , the production scheduling simulation device 300 may include an acquisition module 301, a task generation module 302, a task allocation module 303, a task execution module 304, a scheduling module 305, and a storage module 306. Each module in the production scheduling simulation device 300 can be implemented by one or more modules, and the names of the corresponding modules can vary according to the types of the modules. In various embodiments, some modules in the production scheduling simulation device 300 can be omitted, or additional modules can also be included. In addition, the modules / components according to various embodiments of the present disclosure can be combined to form a single entity, and thus can equivalently perform the functions of the corresponding modules / components before combination.
[0117] The acquisition module 301 can acquire product instance data of the target product to be produced and the current state information of multiple first agents.
[0118] The task generation module 302 can generate tasks for producing the target product based on the product instance data through a second agent and determine the time for the second agent to generate tasks next time.
[0119] The task allocation module 303 can allocate corresponding tasks to the first agents that can currently execute tasks based on the current state information of the multiple first agents through a third agent and determine the time for the third agent to allocate tasks next time.
[0120] The task execution module 304 can execute corresponding tasks through the first agent assigned with tasks and update the status information of the first agent.
[0121] The scheduling module 305 can call the second agent, the third agent, and multiple first agents based on the time when the second agent generates tasks next time, the time when the third agent assigns tasks next time, and the status information of multiple first agents to obtain a production scheduling result for the target product.
[0122] The storage module 306 can use the shared memory pool technology to store the tasks generated by the second agent each time and the status information updated when multiple first agents are executed each time, and provide at least a part of the stored tasks and updated status information to the third agent.
[0123] As an example, the task assignment module 303 can use the multi-level cache technology to store at least a part of the stored tasks and updated status information provided to the third agent.
[0124] As an example, the task assignment module 303 can use the persistent data structure to store at least a part of the stored tasks and updated status information provided to the third agent.
[0125] As an example, the task assignment module 303 can obtain a production scheduling strategy for the target product, where the production scheduling strategy includes the priority of tasks; according to the production scheduling strategy, based on a preset matching rule and the provided tasks and updated status information, assign corresponding tasks to the first agents that can execute tasks currently.
[0126] As an example, the task execution module 304 can calculate the working time of the first agent by calling preset data for calculating time consumption based on the characteristics of the corresponding tasks and the device characteristics of the first agent, and update the status information of the first agent based on the working time; or update the task status information included in the first agent based on the preset product processing steps, and update the resource status information included in the first agent. Based on the different activation methods described above, different status update methods can be adopted.
[0127] As an example, when the model logics and status information of at least two first agents executing their respective tasks simultaneously are the same, the task execution module 304 can select one first agent from at least two first agents to execute the task corresponding to it, and apply the updated status information of the selected first agent to the first agents not selected among the at least two first agents.
[0128] As an example, the task generation module, the task assignment module, and the task execution module may be implemented by different types and different numbers of intelligent agents (such as the second intelligent agent, the third intelligent agent, and the first intelligent agent). The scheduler may be implemented by an event-driven event queue.
[0129] The above has been described in detail according to Figures 1 to 2 the manner of production scheduling simulation, and will not be described in detail here.
[0130] Figure 4 FIG. is a schematic structural diagram of a production scheduling simulation device in the hardware operating environment of an embodiment of the present disclosure.
[0131] As Figure 4 shown, the production scheduling simulation device 400 may include: a processing component 401, a communication bus 402, a network interface 403, an input / output interface 404, a memory 405, and a power supply component 406. Among them, the communication bus 402 is used to realize the connection and communication between these components. The input / output interface 404 may include a video display (such as a liquid crystal display), a microphone and a speaker, and a user interaction interface (such as a keyboard, a mouse, a touch input device, etc.). Optionally, the input / output interface 404 may further include a standard wired interface and a wireless interface. The network interface 403 may optionally include a standard wired interface and a wireless interface (such as a Wi-Fi interface). The memory 405 may be a high-speed random access memory or a stable non-volatile memory. The memory 405 may optionally also be a storage device independent of the foregoing processing component 401.
[0132] Those skilled in the art can understand that Figure 4 the structure shown in
[0133] As Figure 4 shown, in the memory 405 as a storage medium, there may be included an operating system (such as a MAC operating system), a data storage module, a network communication module, a user interface module, a program corresponding to the production scheduling simulation method of the present disclosure, and a database.
[0134] In Figure 4In the production scheduling simulation device 400 shown, the network interface 403 is mainly used for data communication with external electronic devices / terminals; the input / output interface 404 is mainly used for data interaction with users; the processing component 401 and the memory 405 in the production scheduling simulation device 400 can be arranged in the production scheduling simulation device 400. The production scheduling simulation device 400 calls the programs stored in the memory 405 and various APIs provided by the operating system through the processing component 401 to execute the production scheduling simulation method provided by the embodiments of the present disclosure.
[0135] The processing component 401 may include at least one processor. A set of computer-executable instructions is stored in the memory 405. When the set of computer-executable instructions is executed by at least one processor, the production scheduling simulation method according to the embodiments of the present disclosure is executed. However, the above examples are merely exemplary, and the present disclosure is not limited thereto.
[0136] For example, the processing component 401 can perform production scheduling simulation on the target product to be generated based on the production scheduling simulation method of the present disclosure to obtain a more reasonable production scheduling plan.
[0137] The processing component 401 can control the components included in the production scheduling simulation device 400 by executing programs.
[0138] The production scheduling simulation device 400 can receive or output videos, audios, and documents via the input / output interface 404. For example, the production scheduling simulation device 400 can output production scheduling simulation results via the input / output interface 404.
[0139] As an example, the production scheduling simulation device 400 can be a PC computer, a tablet device, a personal digital assistant, a smart phone, or other devices capable of executing the above instruction set. Here, the production scheduling simulation device 400 does not have to be a single electronic device, and can also be a collection of any devices or circuits that can execute the above instructions (or instruction sets) alone or jointly. The production scheduling simulation device 400 can also be a part of an integrated control system or a system manager, or can be configured as a portable electronic device that is interconnected with a local or remote (e.g., via wireless transmission) interface.
[0140] In the production scheduling simulation device 400, the processing component 401 may include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic device, a dedicated processor system, a microcontroller, or a microprocessor. As an example but not a limitation, the processing component 401 may also include an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, etc.
[0141] The processing component 401 can run instructions or code stored in the memory. The memory 405 can also store data. The instructions and data can also be sent and received over the network via the network interface 403, where the network interface 403 can employ any known transmission protocol.
[0142] The memory 405 can be integrated with the processing component 401. For example, RAM or flash memory can be arranged within an integrated circuit microprocessor, etc. In addition, the memory 405 can include separate devices such as external disk drives, storage arrays, or other storage devices that can be used by any database system. The memory and the processing component 401 can be operatively coupled or can communicate with each other, for example, via I / O ports, network connections, etc., such that the processing component 401 can read the data stored in the memory 405.
[0143] According to an embodiment of the present disclosure, an electronic device can be provided. Figure 5 is a block diagram of an electronic device according to an embodiment of the present disclosure. The electronic device 500 can include at least one memory 502 and at least one processor 501. The at least one memory 502 stores a set of computer-executable instructions. When the set of computer-executable instructions is executed by the at least one processor 501, a production scheduling simulation method according to an embodiment of the present disclosure is executed.
[0144] The processor 501 can include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic device, a dedicated processor system, a microcontroller, or a microprocessor. By way of example and not limitation, the processor 501 can also include an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, etc.
[0145] The memory 502, as a storage medium, can include an operating system (e.g., MAC operating system), a data storage module, a network communication module, a user interface module, a program corresponding to the production scheduling method, and a database.
[0146] The memory 502 can be integrated with the processor 501. For example, RAM or flash memory can be arranged within an integrated circuit microprocessor, etc. In addition, the memory 502 can include separate devices such as external disk drives, storage arrays, or other storage devices that can be used by any database system. The memory 502 and the processor 501 can be operatively coupled or can communicate with each other, for example, via I / O ports, network connections, etc., such that the processor 501 can read the files stored in the memory 502.
[0147] In addition, the electronic device 500 may further include a video display (such as, a liquid crystal display) and a user interaction interface (such as, a keyboard, a mouse, a touch input device, etc.). All components of the electronic device 500 may be connected to each other via a bus and / or a network.
[0148] Those skilled in the art can understand that Figure 5 the structure shown in does not constitute a limitation on, and may include more or fewer components than shown in the figure, or combine some components, or have different component arrangements.
[0149] According to an embodiment of the present disclosure, a computer-readable storage medium storing instructions may also be provided, wherein when the instructions are run by at least one processor, the at least one processor is caused to execute the production scheduling simulation method according to the present disclosure. Examples of such 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 (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 disc memory, hard disk drive (HDD), solid state drive (SSD), card memory (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 store a computer program and any associated data, data files, and data structures in a non-transitory manner and provide the computer program and any associated data, data files, and data structures to a processor or computer such that the processor or computer can execute the computer program. The computer program in the above computer-readable storage medium may run in an environment deployed in computer devices such as a client, a host, an agent device, a server, etc. In addition, in one example, the computer program and any associated data, data files, and data structures are distributed on a networked computer system such that the computer program and any associated data, data files, and data structures are stored, accessed, and executed in a distributed manner by one or more processors or computers.
[0150] According to an embodiment of the present disclosure, a computer program product may also be provided, and the instructions in the computer program product may be executed by a processor of a computer device to complete the above production scheduling simulation method.
[0151] Other embodiments of the present disclosure will be readily apparent to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include known or customary technical means in the art not disclosed herein. The specification and examples are only to be considered as exemplary, and the true scope and spirit of the present disclosure are pointed out by the following claims.
[0152] It should be understood that the present disclosure is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present disclosure is only limited by the appended claims.
Claims
1. A production scheduling simulation method, characterized in that, Including: Obtaining product instance data of a target product to be produced and current status information of multiple first agents; Invoking a second agent, and the second agent generates a task for producing the target product based on the product instance data and determines the time for the second agent to generate a task next time; Invoking a third agent, and the third agent assigns corresponding tasks to the first agents that can currently execute tasks based on the current status information of the multiple first agents, and determines the time for the third agent to assign tasks next time; Invoking the first agents assigned with tasks, and the first agents execute the corresponding tasks and update the status information of the first agents; Invoking the second agent, the third agent, and the multiple first agents based on the time for the second agent to generate a task next time, the time for the third agent to assign tasks next time, and the status information of the multiple first agents, so as to obtain a production scheduling result for the target product; The first agents execute the corresponding tasks and update the status information of the first agents, including: Calculating the working time of the first agent by invoking preset time-consuming calculation data based on the characteristics of the corresponding task and the device characteristics of the first agent, and updating the status information of the first agent based on the working time; or Updating the task status information included in the first agent and updating the resource status information included in the first agent based on a preset product processing step; Wherein, the scheduling of the above agents is implemented by a scheduler, and the first agent, the second agent, and the third agent share a scheduler, and the scheduler schedules the agents in the order of the events uploaded by the agents. Specifically, the scheduler pushes the corresponding events back to the agents one by one according to the time sequence and dependency relationship of each event.
2. The production scheduling simulation method according to claim 1, wherein Also including: Adopting a shared memory pool technology to store the tasks generated by the second agent each time and the status information updated by the multiple first agents each time they are executed; Providing at least a part of the stored tasks and updated status information to the third agent.
3. The production scheduling simulation method according to claim 2, characterized in that Adopting a multi-level cache technology to store at least a part of the stored tasks and updated status information provided to the third agent.
4. The production scheduling simulation method according to claim 2 or 3, characterized in that Adopting a persistent data structure to store at least a part of the stored tasks and updated status information provided to the third agent.
5. The production scheduling simulation method according to claim 1, characterized in that The third agent assigns corresponding tasks to the first agents that can currently execute tasks based on the current status information of the multiple first agents, including: Obtaining a production scheduling strategy for the target product, wherein the production scheduling strategy includes the priority of tasks; According to the production scheduling strategy, based on a preset matching rule and the provided tasks and updated status information, assigning corresponding tasks to the first agents that can currently execute tasks.
6. The production scheduling simulation method according to claim 1, wherein Also including: In the case where the model logics and state information of at least two first agents for executing their respective tasks are the same, select one first agent from the at least two first agents to execute the task corresponding thereto, and apply the updated state information of the selected first agent to the first agents that are not selected among the at least two first agents.
7. A production scheduling simulation device, characterized in that, Including: An acquisition module, configured to acquire product instance data of a target product to be produced and current state information of a plurality of first agents; A task generation module, configured to generate, by a second agent, a task for producing the target product based on the product instance data and determine the time for the second agent to generate a task next time; A task allocation module, configured to allocate corresponding tasks to the first agents that can currently execute tasks based on the current state information of the plurality of first agents by a third agent, and determine the time for the third agent to allocate tasks next time; A task execution module, configured to execute corresponding tasks by the first agents assigned with tasks and update the state information of the first agents; A scheduling module, configured to call the second agent, the third agent, and the plurality of first agents based on the time for the second agent to generate a task next time, the time for the third agent to allocate tasks next time, and the state information of the plurality of first agents, so as to obtain a production scheduling result for the target product; The task execution module is configured to: Calculate the working time of the first agent by calling preset time-consuming calculation data based on the characteristics of the corresponding task and the device characteristics of the first agent, and update the state information of the first agent based on the working time; or Update the task state information included in the first agent based on preset product processing steps, and update the resource state information included in the first agent; Wherein, the scheduling of the above agents is implemented by a scheduler, and the first agent, the second agent, and the third agent share one scheduler, and the scheduler schedules the agents in the order of the events uploaded by the agents. Specifically, the scheduler pushes the corresponding events back to the agents one by one according to the time sequence and dependency relationship of each event.
8. The production scheduling simulation device according to claim 7, wherein Further including a storage module, configured to: Adopt a shared memory pool technology to store the tasks generated by the second agent each time and the state information updated by the plurality of first agents each time they are executed; Provide at least a part of the stored tasks and updated state information to the third agent.
9. The production scheduling simulation device according to claim 8, characterized in that, The task allocation module is configured to: Adopt a multi-level cache technology to store at least a part of the stored tasks and updated state information provided to the third agent.
10. The production scheduling simulation device according to claim 8 or 9, characterized in that, The task allocation module is configured to: Adopt a persistent data structure to store at least a part of the stored tasks and updated state information provided to the third agent.
11. The production scheduling simulation device according to claim 7, wherein The task allocation module is configured to: Obtain a production scheduling strategy for the target product, wherein the production scheduling strategy includes the priority of tasks; According to the production scheduling strategy, allocate corresponding tasks to the first agents that can currently execute tasks based on preset matching rules and the provided tasks and updated state information.
12. The production scheduling simulation device according to claim 7, wherein The task execution module is configured to: When the model logics and state information of at least two first agents for executing their respective tasks are the same, select one first agent from the at least two first agents to execute the task corresponding thereto, and apply the updated state information of the selected first agent to the first agents among the at least two first agents that are not selected.
13. An electronic device, characterized in that, Comprising: At least one processor; At least one memory storing computer-executable instructions, wherein, when the computer-executable instructions are run by the at least one processor, the at least one processor executes the production scheduling simulation method according to any one of claims 1 to 6.
14. A computer-readable storage medium storing instructions, characterized in that, When the instructions are run by at least one processor, the at least one processor executes the production scheduling simulation method according to any one of claims 1 to 6.
15. A computer program product, wherein the instructions in the computer program product are run by at least one processor in an electronic device to execute the production scheduling simulation method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Simulation optimization model applied to steelmaking-continuous casting process in iron and steel industry
CN111242561A
Handling task scheduling method, device and system
CN112950093A