Lightweight Industrial Simulator

JP2026143340APending Publication Date: 2026-09-08HITACHI LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2026012371
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-02-27
Filing Date
2026-01-28
Publication Date
2026-09-08

Smart Images

  • Figure 2026143340000001_ABST
    Figure 2026143340000001_ABST
Patent Text Reader

Abstract

We provide a lightweight industrial simulator. [Solution] A method for performing a system simulation, comprising: a processor receiving input data for generating a simulation model; the processor generating a simulation model for performing a simulation based on the input data, the simulation model including a voxel model that performs the simulation as a voxel-by-voxel representation; and the processor generating a simulation report based on the simulation output of the simulation model.
Need to check novelty before this filing date? Find Prior Art

Description

[[Technical Field]]

[0001] The present disclosure relates to a method and system for performing system simulation. [[Background Art]]

[0002] The design and improvement of industrial systems such as distribution centers and factories involve several decision-making processes under conditions of limited information. The processes rely heavily on the experience of skilled personnel and simple calculation tools such as spreadsheets. However, depending on important detailed analysis, conventional spreadsheets may be inherently unfeasible for implementation. If the current design is not understood, an inefficient system that is difficult to remedy later may be generated.

[0003] Related arts disclose a method of performing industrial system simulation using a simulation model. Although simulation can be performed to deepen understanding of the operation and design of a target industrial system, the associated modeling cost has proven to be extremely high and economically unfeasible.

[0004] Related arts disclose a method of performing industrial system simulation using a lightweight simulation model. However, such simulation models are not sufficiently complex or sophisticated to obtain a deep understanding of the operation and design of current industrial systems. [[Summary of Invention]] [[Problem to be Solved by Invention]]

[0005] There is a need for a method and system capable of performing accurate industrial system simulation while keeping modeling cost moderate. [[Means for Solving the Problem]]

[0006] Aspects of this disclosure relate to an innovative method for performing a system simulation. The method may include: a processor receiving input data for generating a simulation model; a processor generating a simulation model for performing a simulation based on the input data, the simulation model including a voxel model for performing the simulation as a voxel-by-voxel representation; and a processor generating a simulation report based on the simulation output of the simulation model.

[0007] In some embodiments, each voxel-by-voxel representation includes one or more agents and one or more receptors in voxel form across multiple grids.

[0008] In some embodiments, the simulation is performed by performing model simulation initialization and then performing event simulation.

[0009] In some embodiments, performing model simulation initialization includes loading input data and initializing the simulation timer and event list, where the input data includes system layout data, assembly order information, and inventory data.

[0010] In some embodiments, performing an event simulation includes generating events that are added to an event list based on input data, adding the events to the event list, and performing an event simulation based on the events included in the event list.

[0011] In some embodiments, generating an event to be added to an event list includes verifying the parts required to perform one or more assemblies included in assembly order information by cross-referencing inventory data, and generating a shipping order for each of the one or more assemblies for which the required parts have passed verification.

[0012] In some embodiments, the method may further include the processor generating one or more shipping events corresponding to one or more shipping orders, the processor generating one or more assembly events corresponding to one or more assemblies in which the required parts have passed verification, and the processor adding one or more shipping events and one or more assembly events to an event list.

[0013] In some embodiments, performing an event simulation includes extracting one or more transport events and one or more assembly events from an event list, and performing a simulation based on the one or more transport events and one or more assembly events.

[0014] In some embodiments, the method may further include the processor identifying a simulation termination condition for stopping the simulation, the processor determining whether the simulation termination condition has been met, the processor terminating the simulation if it is determined that the simulation termination condition has been met, and the processor continuing the simulation until the simulation termination condition is met if it is determined that the simulation termination condition has not been met.

[0015] In some embodiments, the simulation report includes voxel-based visualizations and several key performance indicators (KPIs) derived from the simulation.

[0016] Aspects of the present invention relate to an innovative system for performing system simulations. The system may include data storage and a processor that communicates with the data storage, the processor being configured to receive input data for generating a simulation model, store the input data in the data storage, generate a simulation model for performing a simulation based on the input data, which includes a voxel model that performs the simulation as a voxel-by-voxel representation, and generate a simulation report based on the simulation output of the simulation model.

[0017] In some embodiments, each voxel-by-voxel representation includes one or more agents and one or more receptors in voxel form across multiple grids.

[0018] In some embodiments, the simulation is performed by performing model simulation initialization and then performing event simulation.

[0019] In some embodiments, performing model simulation initialization includes loading input data and initializing the simulation timer and event list, where the input data includes system layout data, assembly order information, and inventory data.

[0020] In some embodiments, performing an event simulation includes generating events that are added to an event list based on input data, adding the events to the event list, and performing an event simulation based on the events included in the event list.

[0021] In some embodiments, generating an event to be added to an event list involves verifying the parts required to perform one or more assemblies included in the assembly order information by cross-referencing inventory data, and generating a shipping order for each of the one or more assemblies for which the required parts have passed verification.

[0022] In some embodiments, the processor is further configured to generate one or more shipping events corresponding to one or more shipping orders, one or more assembly events corresponding to one or more assemblies in which the required parts have passed verification, and to add the one or more shipping events and the one or more assembly events to an event list.

[0023] In some embodiments, performing an event simulation includes extracting one or more transport events and one or more assembly events from an event list, and performing a simulation based on the one or more transport events and one or more assembly events.

[0024] In some embodiments, the processor is further configured to identify simulation termination conditions for stopping the simulation, determine whether the simulation termination conditions have been met, terminate the simulation if it is determined that the simulation termination conditions have been met, and continue running the simulation until the simulation termination conditions are met if it is determined that the simulation termination conditions have not been met.

[0025] In some embodiments, the simulation report includes voxel-based visualizations and several key performance indicators (KPIs) derived from the simulation.

[0026] Aspects of the present application relate to an innovative non-transitory computer-readable medium that stores instructions for executing system simulation. The instructions may include: receiving input data for generating a simulation model; generating a simulation model for executing a simulation based on the input data, the simulation model including a voxel model that executes the simulation as a voxel-wise representation; and generating a simulation report based on the simulation output of the simulation model.

[0027] In some embodiments, each voxel-wise representation includes one or more agents and one or more receptors in voxel form across a plurality of grids.

[0028] In some embodiments, the simulation is executed by executing model simulation initialization and executing event simulation.

[0029] In some embodiments, executing model simulation initialization includes loading the input data and initializing a simulation timer and an event list, and the input data includes system layout data, assembly order information, and inventory data.

[0030] In some embodiments, executing event simulation includes: generating an event to be added to an event list based on the input data, adding the event to the event list; and executing the event simulation based on the events included in the event list.

[0031] In some embodiments, generating the event to be added to the event list includes: cross-referencing the inventory data to verify the parts required for executing one or more assemblies included in the assembly order information; and generating a transport order for each of the one or more assemblies for which the required parts have passed the verification.

[0032] In some embodiments, the instruction may further include generating one or more shipping events corresponding to one or more shipping orders, generating one or more assembly events corresponding to one or more assemblies in which the required parts have passed verification, and adding the one or more shipping events and the one or more assembly events to an event list.

[0033] In some embodiments, performing an event simulation includes extracting one or more transport events and one or more assembly events from an event list, and performing a simulation based on the one or more transport events and one or more assembly events.

[0034] In some embodiments, the instruction may further include identifying a simulation termination condition for stopping the simulation, determining whether the simulation termination condition has been met, terminating the simulation if it has been determined that the simulation termination condition has been met, and continuing the simulation until the simulation termination condition is met if it has not been determined that the simulation termination condition has been met.

[0035] In some embodiments, the simulation report includes voxel-based visualizations and several key performance indicators (KPIs) derived from the simulation.

[0036] Brief explanation of the drawing A general architecture for implementing various features of this disclosure will now be described with reference to the drawings. The drawings and related descriptions are provided not to limit the scope of this disclosure, but to illustrate embodiments of this disclosure. Throughout the drawings, reference numbers are reused to indicate correspondence between referenced elements. [Brief explanation of the drawing]

[0037] [Figure 1]This document presents an example of a system architecture for a simulator 100 for performing industrial system simulations, based on one embodiment.

[0038] [Figure 2] An example of a voxel-based model simulation 200 generated by a simulator 100 according to one embodiment is shown.

[0039] [Figure 3] An example process flow 300 for performing a model simulation according to one embodiment is shown.

[0040] [Figure 4] An example process flow 400 for executing the initialization function 120 according to one embodiment is shown.

[0041] [Figure 5] An example process flow 500 for executing the timing function 150 according to one embodiment is shown.

[0042] [Figure 6] An example process flow 600 for executing event function 170 according to one embodiment is shown.

[0043] [Figure 7] This shows an example process flow 700 for executing the self-order generation function 180 according to one embodiment.

[0044] [Figure 8] An example process flow 800 for performing a simulation termination determination according to one embodiment is shown.

[0045] [Figure 9] An alternative process flow 900 for performing a simulation termination determination according to one embodiment is shown.

[0046] [Figure 10]The process flow 1000 for performing report generation according to one embodiment is shown.

[0047] [Figure 11] An example output of 1100, representing the calculated agent activity rate according to one embodiment, is shown.

[0048] [Figure 12] An example of output 1200 from a report generator 195 according to one embodiment is shown.

[0049] [Figure 13] A transport order 130b is shown as an example of one embodiment.

[0050] [Figure 14] A transport order 130b is shown as an example of one embodiment.

[0051] [Figure 15] An example assembly order 130c is shown according to one embodiment.

[0052] [Figure 16] Layout data 130a as an example according to one embodiment is shown.

[0053] [Figure 17] An example of a computing environment with a computer device suitable for use in several embodiments is shown. [Modes for carrying out the invention]

[0054] The following detailed description provides details of the figures and embodiments of this application. Reference numbers and descriptions of redundant elements between figures are omitted for clarity. Terms used throughout this description are provided as examples and are not intended to limit. For example, the use of the term “automatic” may involve user or administrator control over specific aspects of the embodiments, depending on a desired implementation by those skilled in the art. Selection may be made by the user through a user interface or other means, or implemented through a desired algorithm. The embodiments described herein may be used individually or in combination, and the functions of the embodiments may be implemented through any means according to a desired embodiment.

[0055] This embodiment relates to a method and system for performing accurate and cost-effective system simulations. The goal is to strike a good balance between modeling cost and model accuracy. For example, by compromising on the visual appeal and complexity of the visualizations and focusing primarily on improving the accuracy of the simulation results and the functionality for incorporating business data, the accuracy of the simulation results can be maintained while reducing modeling costs. In this embodiment, the user is allowed to limit the selection of components, thereby facilitating understanding of the modeling process and allowing the model to be scaled based on the specific needs of the user case.

[0056] Typically, computational complexity can be dramatically reduced by computing the simulation space as a voxel-by-voxel representation, rather than using a continuous space representation that requires more computation to calculate the agent's trajectory and visualize it. Furthermore, by eliminating or removing the aesthetics of the model and the task allocation and management, resource waste and cost (e.g., data processing, bandwidth, behavioral modeling representation, etc.) can be further reduced.

[0057] Figure 1 shows an example system architecture of a simulator 100 for performing industrial system simulation according to one embodiment. Simulator 100 may be a lightweight industrial simulator that simulates transportation and assembly from upstream to downstream production processes in an industrial system.

[0058] The simulator 100 may include, but is not limited to, components such as a main program 110, an initialization function 120, a system state module 140, a timing function 150, an event list 160, an event function 170, a self-order generation function 180, a simulation termination evaluator 190, and a report generator 195. The simulator 100 is a lightweight discrete event simulator that generates and processes events. In addition, the simulator 100 performs the calculation of key performance indicators (KPIs) to further measure and improve system performance.

[0059] As shown in Figure 1, the simulator 100 can be accessed by user 101 to run a system simulation. User 101 (e.g., one or more users or operators) prepares input data and inputs it into the simulator 100, where the input data is converted into an input file 130. Next, the simulator 100 generates output data or a report from the report generator 195 based on the input file 130, and provides the generated output to user 101 for verification.

[0060] The input file 130 may include, but is not limited to, layout data 130a, shipping orders 130b, assembly orders 130c, inventory data 130d, parameters 130e, etc. In some embodiments, the main program 110 includes one or more artificial intelligence (AI) or machine learning (ML) models for converting the received input data into the input file 130.

[0061] ML or AI models may include, but are not limited to, one or more of the following: convolutional neural networks (CNNs), recurrent neural networks (RNNs), deep RNNs (DRNNs), Q-learning networks (QNs), deep Q-learning networks (DQNs), linear regression, decision trees, K-nearest neighbors, etc. RNNs may include long short-term memory (LSTMs), large-scale language models (LLMs), etc. ML or AI models may (i) be received externally from a server after the model has been trained, or (ii) be generated and trained locally. ML or AI models may be trained using historical system data and voxel diagrams.

[0062] In some embodiments, the ML or AI model may be a generative AI model. The generative AI model may utilize any one or a combination of a wide variety of different models, including but not limited to generative adversarial networks (GANs), variational autoencoders (VAEs), autoregressive models, and transformers, to generate the input file 130. The AI ​​model is repeatedly trained using historical data as training data, and the training parameters are adjusted to generate the optimal input data for use in model simulation.

[0063] The layout data 130a includes basic system information and component information derived from the input data. Specifically, the layout data 130a may include one or more agents, one or more receptors, and facility layout information. Figure 2 shows an example of a voxel-based model simulation 200 generated by the simulator 100 according to one embodiment. As shown in Figure 2, the voxel-based figure 200 may include, but is not limited to, agents 210, receptors 220, grids 230, etc. Agents 210, receptors 220, and grids 230 correspond to the agents, receptors, and facility layouts included in the layout data 130a.

[0064] The grids 230 assemble in the simulation space to form a floor 240. Each grid 230 has a corresponding coordinate on the floor 240. Receptors 220 are objects that perform a stocking or storage function for goods or inventory (e.g., parts, subassemblies of parts, products, tools, boxes for storing parts, etc.) within the facility. For example, each receptor 220 may be a shelf, bin, station, or any other area or space where goods included in the inventory data 130d can be stocked or stored. The inventory data 130d defines where the inventory or goods are placed among the various receptors 220. One or more receptors 220 may be placed in the grid 230 based on the facility layout. Some receptors 220 may be stacked within the grid 230.

[0065] Agent 210 represents an object that performs the functions of (i) transporting or moving goods or inventory from one receptor 220 to the next, and (ii) assembling the goods or inventory in transit at the destination receptor 220. Agent 210 does not move within the grid, but only moves from one grid to the next. Parameter 130e provides the information necessary to simulate the operation of Agent 210 when running the model simulation.

[0066] Referring again to Figure 1, the system state module 140 includes the industrial system state 140a, the transport order list 140b, the assembly order list 140c, and the simulation log 140d. Layout data 130a, inventory data 130d, and parameters 130e may be stored in the industrial system state 140a of the system state module 140 for access and processing. Transport orders 130b may be stored in the transport order list 140b for access and processing. Assembly orders 130c are stored in the assembly order list 140c. Assembly orders 130c include structured data that defines parts constituting components of a product or subcomponents to other components. In some embodiments, assembly orders 130c may include tree structured data that provides association information between assemblies and receptors.

[0067] Figure 3 shows an example process flow 300 for performing a model simulation according to one embodiment. As shown in Figure 3, the process starts in step S302, when the main program 110 is started. In step S304, the main program calls the initialization function 120. Initialization loads the input file 130 and initializes the timing function 150 and the event list 160. The process then proceeds to step S306, where the timing function is executed, and in step S308, the event function 170 is called to perform event generation and event processing.

[0068] In step S310, the simulation termination evaluator 190 is called to determine whether or not to terminate the current simulation session, and in step S312, it is determined whether or not the simulation has been terminated. If the answer in step S312 is "Yes", the process proceeds to step S314, where the report generator is called to generate a simulation report or summary. If the answer in step S312 is "No", the process returns to step S306, and the simulation session continues.

[0069] Figure 4 shows an example process flow 400 for executing an initialization function 120 according to one embodiment. The process flow 400 starts when the initialization function 120 is called by the main program 110 in step S304. The process starts in step S402 by loading the input file 130 into the system state module 140. In S404, the timing function 150 is initialized. Specifically, the initialization is performed by setting the simulation clock 150a of the timing function 150 to zero. In step S406, the event list 160 is initialized by (i) making the event list 160 empty, or (ii) adding required or predetermined initial events to the event list 160. The event list 160 contains lists of two types of events: transport events and assembly events.

[0070] Figure 5 shows an example process flow 500 for executing a timing function 150 according to one embodiment. The process flow 500 starts when the timing function 150 is called by the main program 110 in step S306. The process starts in step S502 by determining and acquiring future triggered events stored in the event list 160 and passing those events to the event function 170. In step S504, the simulation clock 150a of the timing function 150 is advanced. Specifically, the simulation clock 150a is increased by a predetermined time interval or period associated with the acquired event (for example, an estimated time to execute the listed events).

[0071] Figure 6 shows an example process flow 600 for executing an event function 170 according to one embodiment. The process flow 600 starts when the event function 170 is called by the main program 110 in step S308. The process starts in step S602 by updating the system state module 140 through the processing of an event started at the simulation clock 150a. The industrial system state is updated based on the simulation result or processing result of the event, and the processing result is reflected or stored in the simulation log 140d.

[0072] There are two types of events: transport events and assembly events. By processing a transport event, goods or inventory are transported by an agent from the originating receptor to the destination receptor. By processing an assembly event, goods or inventory at a receptor are combined or assembled into a new component and stored at the receptor.

[0073] Next, the process proceeds to step S604, where the self-order generation function 180 is called or started. Figure 7 shows an example process flow 700 for executing the self-order generation function 180 according to one embodiment. The process flow 700 starts when the self-order generation function 180 is called by the event function 170 in step S604. The process starts in S702, where a verification process is performed to verify whether the parts required for a specified assembly included in the assembly order list 140c are available in the simulation space. For example, it is verified whether such parts can be placed in the industrial system state 140a.

[0074] If the required parts exist, a corresponding shipping order is generated in step S704. Subsequently, the generated shipping order is added to the shipping order list 140b in step S706. Referring again to Figure 6, then in step S606, the generated future events (generated future shipping events or orders and future assembly events or orders) are added to the event list 160 for subsequent searching and processing.

[0075] In some embodiments, the main program 110 includes one or more artificial intelligence (AI) or machine learning (ML) models for performing simulation optimization. The AI ​​or ML model may be used to perform one or more agent optimization, receptor optimization, and route optimization.

[0076] Agent Optimization: AI or ML models can be used to optimize the number of agents on the floor. In an industrial setting, there may be several processes running in the industrial system. Allocating the appropriate number of workers to each process is crucial to ensuring the system operates efficiently in terms of productivity and cost. Reinforcement learning can be used to find the optimal number of agents to use in each process.

[0077] Receptor Optimization: AI or ML models can be used to optimize the number of receptors on the floor. In industrial settings, several storage areas and buffer spaces may exist between processes. Because space is limited in industrial systems, it is important to have an appropriate number of storage spaces, equipment, or floor space to efficiently maintain operation. Reinforcement learning can be used to explore the optimal number of receptors used in each process.

[0078] Route Optimization: Path optimization can be performed using AI or ML models. When automated guided vehicles (AGVs) are used in industrial systems, it is important to optimize the AGV routes to avoid route collisions that may cause delays in the transport of goods or inventory and product assembly. AGVs may include autonomous mobile robots (AMRs), forklifts, or any other autonomous entities capable of autonomously determining paths. Specifically, this could include other agents that make the AGV wait while they move. Reinforcement learning can be used to explore path planning decisions that maximize the overall performance of the industrial system and to find the best path discovery policy.

[0079] AI or ML models can generate simulation results using different numbers of agents, receptors, and agent path discovery policies. In agent optimization, given the number of agents, a performance value can be generated, which is then converted into a reward value. In receptor optimization, given the number of receptors, a performance value can be generated, which is then converted into a reward value. In route optimization, given the number of AGVs, a performance value can be generated, which is then converted into a reward value. The collected reward values ​​can then be used to optimize the functionality in the reinforcement learning agent. In some embodiments, the data acquisition and learning processes may occur simultaneously.

[0080] Figure 8 shows an example process flow 800 for performing a simulation termination determination according to one embodiment. The process flow 800 starts when the simulation termination evaluator 190 is called by the main program 110 in step S310. The process starts in step S802, where it is determined whether the event list 160 is empty or not. Specifically, it is determined whether all events included in the event list 160 have been processed or not. If the determination result in step S802 is positive, "true" is generated in step S804 and returned to the main program 110. If the answer in step S802 is "no", "false" is generated in step S806 and returned to the main program 110.

[0081] Figure 9 shows an alternative process flow 900 for performing a simulation termination determination according to one embodiment. The process flow 900 starts when the simulation termination evaluator 190 is called by the main program 110 in step S310. The process starts in step S902, where it is determined whether the simulation clock 150a has exceeded a predetermined limit or threshold. In some embodiments, the threshold may be a predetermined operating threshold (e.g., working hours). If the answer in step S902 is "Yes", then in step S904, "True" is generated and returned to the main program 110. If the answer in step S902 is "No", then in step S906, "False" is generated and returned to the main program 110.

[0082] Figure 10 shows an example process flow 1000 for performing report generation according to one embodiment. Process flow 1000 starts when the report generator 195 is called by the main program 110 in step S310. The process starts in step S1002, and as the simulation runs, the overall system throughput is calculated. In some embodiments, the calculated system throughput includes key performance indicators (KPIs) of the system. In step S1004, as the simulation runs, the agent activity rate is calculated.

[0083] Figure 11 shows an example output 1100 of the agent activity rate calculated according to one embodiment. An agent is considered active when processing a task and inactive while waiting to be assigned a task. As shown in Figure 11, "ForkliftA" is a single agent with an activity rate or activity rate of "0", which indicates that it is inactive and waiting to be assigned a task.

[0084] Subsequently, the process proceeds to step S1006, where the operation of each agent voxel is visualized. The calculated overall throughput, agent activity rate, and visualized agent operation are then output for review in step S1008.

[0085] Figure 12 shows an example output 1200 of a report generator 195 according to one embodiment. As shown in Figure 12, output 1200 includes a visualized simulation including a receptor 1210 and an agent 1220. In addition to the visualized simulation, simulation results 1230 (e.g., simulation lead time, overall picture, etc.) may be included as part of the output. The simulation results may show the time it takes to complete all tasks given in the input data. For visualization, the frame representing the agent can be replaced with a 3D model of a human worker, while the frame representing the receptor can be replaced with a 3D model of a shelf.

[0086] Figure 13 shows a transport order 130b as an example according to one embodiment. As shown in Figure 13, a transport order 130b may include, but is not limited to, an item ID 1310, a quantity 1320, a destination location ID 1330, an agent type 1340, a source location ID 1350, etc. The item ID 1310 is a unique identifier associated with an item or inventory in the simulation space. The quantity 1320 indicates the number of items or inventory available. The destination location ID 1330 identifies the receptor or group of receptors at the destination to which the item or inventory is transported. The agent type 1340 identifies the type of agent that should handle a series of orders. The source location ID 1350 identifies the source location (e.g., the originating receptor or group of receptors) from which the item or inventory is transported.

[0087] Figure 14 shows a shipping order 130b as an example according to one embodiment. As shown in Figure 14, the shipping order 130b may include, but is not limited to, a receptor ID 1410, an item ID 1420, a quantity 1430, etc. The receptor ID 1410 represents the identifier of the receptor in the simulation space. The item ID 1420 is the unique ID of the item in the simulation space. The quantity 1430 represents the number of items or stock available at the receptor.

[0088] Figure 15 shows an assembly order 130c as an example according to one embodiment. An assembly order 130c can be represented in any known file format (e.g., JSON). As shown in Figure 15, "Sub-ComponentA" is the ID of a subcomponent, which is assembled in "ProcessA" using two "partA"s and ten "partB"s. "ProductA" is manufactured in "ProcessB" using "Sub-ComponentA" and three "partC"s. These assembly orders require the simulation to manufacture three "ProductA"s.

[0089] Figure 16 shows layout data 130a as an example according to one embodiment. Similar to the assembly order 130c, the layout data 130a can also be represented in any known file format (e.g., JSON). As shown in Figure 16, the value of "Receptors" has a list containing the elements of the receptors. "receptorID" is the ID of the receptor. "groupID" is the group ID of the receptors. The value of "Agents" has a list containing the elements of the agents. "agentType" is the ID of the agent type.

[0090] The above embodiment may offer various benefits and advantages, such as a unique method for representing industrial systems as agents and receptors in voxel form through model simulation. Computational complexity can be dramatically reduced by computing the simulation space as a voxel-based representation instead of a continuous space representation, which typically involves calculating agent trajectories and incurring more computations to visualize them. Simplifying data structures and applying them as a unified representation of tasks can significantly reduce modeling overhead and design expertise (e.g., design costs, graphic resources, etc.).

[0091] Figure 17 shows an example of a computing environment having a computer device as one example suitable for use in several embodiments. The computer device 1705 in the computing environment 1700 may include one or more processing units, cores, or processors 1710, memory 1715 (e.g., RAM and / or ROM, etc.), internal storage 1720 (e.g., magnetic, optical, solid-state storage, and / or organic), and / or an I / O interface 1725, any of which may be coupled to a communication mechanism or bus 1730 for communicating information, or may be incorporated into the computer device 1705. Depending on the desired embodiment, the I / O interface 1725 may also be configured to receive images from a camera or provide images to a projector or display.

[0092] The computer device 1705 can be communicatively coupled to an input / user interface 1735 and an output device or interface 1740. Either or both of the input / user interface 1735 and the output device or interface 1740 may be wired or wireless interfaces and may be detachable. The input / user interface 1735 may include any real or virtual device, component, sensor, or interface that can be used to provide input (e.g., buttons, touchscreen interfaces, keyboards, pointing or cursor control mechanisms, microphones, cameras, Braille, motion sensors, accelerometers, and / or optical readers). The output device or interface 1740 may include displays, televisions, monitors, printers, speakers, or Braille, etc. In some embodiments, the input / user interface 1735 and the output device or interface 1740 may be incorporated into or physically coupled to the computer device 1705. In other embodiments, other computer devices may function as or provide input / user interfaces 1735 and output devices or interfaces 1740 of computer device 1705.

[0093] Examples of computer devices 1705 include, but are not limited to, highly mobile devices (e.g., smartphones, in-vehicle devices, other machines and devices carried by people and animals), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, etc.), and devices not designed for mobility (e.g., desktop computers, other computers, information kiosks, televisions and radios with one or more processors embedded and / or combined).

[0094] Computer device 1705 can be communicatively coupled to external storage 1745 and network 1750 to communicate with any number of network-connected components, devices, and systems, including one or more computer devices of the same or different configurations (for example, via I / O interface 1725). Computer device 1705 or any connected computer device can function as a server, client, thin server, general-purpose machine, or dedicated machine, provide services to them, or be referred to as such or by other names.

[0095] The IO interface 1725 may include, but is not limited to, wired and / or wireless interfaces using any communication or IO protocol or standard (e.g., Ethernet, 802.11x, Universal System Bus, WiMAX, modem, cellular network protocol, etc.) for communicating information to and from at least all of the connected components, devices, and networks in the computing environment 1700. The network 1750 may be any network or combination of networks (e.g., the Internet, local area network, wide area network, telephone line network, cellular network, satellite network, etc.).

[0096] Computer device 1705 may use and / or use computer-usable or computer-readable media, including temporary and non-temporary media, to communicate. Temporary media include transmission media (e.g., metal cables, optical fibers), signals, carrier waves, etc. Non-temporary media include magnetic media (e.g., disks and tapes), optical media (e.g., CD-ROMs, digital video discs, Blu-ray discs), solid-state media (e.g., RAM, ROMs, flash memory, solid-state storage), and other non-volatile storage or memory.

[0097] Computer device 1705 can be used to implement techniques, methods, applications, processes, or computer executable instructions in several example computing environments. Computer executable instructions can be retrieved from temporary media and stored in non-temporary media, from which they can be retrieved. Executable instructions can be derived from one or more of any programming languages, scripting languages, and machine languages ​​(e.g., C, C++, C#, Java, Visual Basic, Python, Perl, JavaScript, etc.).

[0098] The processor 1710 can run natively or in a virtual environment under any operating system (OS) (not shown). One or more applications can be deployed, including a logical unit 1760, an application programming interface (API) unit 1765, an input unit 1770, an output unit 1775, and an inter-unit communication mechanism 1795 for different units to communicate with each other, with the OS, and with other applications (not shown). The units and elements described may vary in design, function, configuration, or implementation, and are not limited to the description provided. The processor 1710 may take the form of a hardware processor such as a central processing unit (CPU), or it may be a combination of hardware and software units.

[0099] In some embodiments, information or execution instructions, upon receipt by the API unit 1765, may be communicated to one or more other units (e.g., a logical unit 1760, an input unit 1770, and an output unit 1775). In some cases, the logical unit 1760 may be configured to control the flow of information between units and to direct the services provided by the API unit 1765, the input unit 1770, and the output unit 1775 in some embodiments described above. For example, the flow of one or more processes or embodiments may be controlled by the logical unit 1760 alone or in conjunction with the API unit 1765. The input unit 1770 may be configured to take inputs to calculations described in embodiments. The output unit 1775 may be configured to provide outputs based on calculations described in embodiments.

[0100] The processor 1710 may be configured to receive input data in order to generate a simulation model and store the input data in data storage, as shown in Figures 1 and 3. The processor 1710 may also be configured to generate a simulation model for running a simulation based on the input data, the simulation model including a voxel model that runs the simulation as a per-voxel representation, as shown in Figures 1 and 3. The processor 1710 may also be configured to generate a simulation report based on the simulation output of the simulation model, as shown in Figures 1 and 3.

[0101] The processor 1710 may be configured to perform model simulation initialization, as shown in Figures 1 and 3. The processor 1710 may also be configured to perform event simulation, as shown in Figures 1 and 3.

[0102] The processor 1710 may be configured to load input data, as shown in Figures 1, 3, and 4. The processor 1710 may also be configured to initialize the simulation timer and event list, as shown in Figures 1, 3, and 4.

[0103] The processor 1710 may be configured to generate events that are added to an event list based on input data, as shown in Figures 1 and 3, and to add events to the event list. The processor 1710 may also be configured to perform event simulations based on the events included in the event list, as shown in Figures 1 and 3.

[0104] The processor 1710 may be configured to verify the parts required to perform one or more assemblies included in the assembly order information by cross-referencing inventory data, as shown in Figures 1, 3, 6, and 7. The processor 1710 may also be configured to generate a shipping order for each of the one or more assemblies for which the required parts have passed verification, as shown in Figures 1, 3, 6, and 7.

[0105] The processor 1710 may be configured to generate one or more shipping events corresponding to one or more shipping orders, as shown in Figures 1, 3, 6, and 7. The processor 1710 may also be configured to generate one or more assembly events corresponding to one or more assemblies in which the required parts have passed verification, as shown in Figures 1, 3, 6, and 7. The processor 1710 may also be configured to add one or more shipping events and one or more assembly events to an event list, as shown in Figures 1, 3, 6, and 7.

[0106] The processor 1710 may be configured to extract one or more transport events and one or more assembly events from an event list, as shown in Figures 1, 3, 6, and 7. The processor 1710 may also be configured to run a simulation based on one or more transport events and one or more assembly events, as shown in Figures 1, 3, 6, and 7.

[0107] The processor 1710 may be configured to identify simulation termination conditions for stopping the simulation, as shown in Figures 1, 3, 8, and 9. The processor 1710 may be configured to determine whether or not the simulation termination conditions have been met, as shown in Figures 1, 3, 8, and 9. The processor 1710 may be configured to terminate the simulation if it determines that the simulation termination conditions have been met, as shown in Figures 1, 3, 8, and 9. The processor 1710 may be configured to continue running the simulation until the simulation termination conditions are met, if it does not determine that the simulation termination conditions have been met, as shown in Figures 1, 3, 8, and 9.

[0108] Some parts of the detailed description are presented with respect to algorithms and symbolic representations of computer operations. These descriptions and symbolic representations of algorithms are means used by those skilled in the field of data processing to convey the essence of innovation to others skilled in the field. An algorithm is a set of defined steps that lead to a desired final state or result. In the embodiments, the steps performed require the physical manipulation of tangible quantities to achieve the tangible result.

[0109] Unless otherwise noted, as is evident from the discussion, any discussion that uses terms such as “processing,” “calculation,” “calculation,” “specification,” and “display” throughout the explanation may include the operation and processes of a computer system or other information processing device that manipulates data represented as physical (electronic) quantities in the registers and memory of a computer system and converts it into other data similarly represented as physical quantities in the memory or registers of a computer system or other information storage, transmission, or display device.

[0110] The embodiments may also relate to apparatus for performing the operations described herein. This apparatus may include one or more general-purpose computers, which may be specifically constructed for a required purpose or selectively activated or reconfigured by one or more computer programs. Such computer programs may be stored on computer-readable media such as computer-readable storage media or computer-readable signal media. Computer-readable storage media may include, but are not limited to, optical disks, magnetic disks, read-only memory, random-access memory, lid-state devices, and drives, or any other type of tangible or intangible media suitable for storing electronic information. Computer-readable signal media may include media such as carrier waves. The algorithms and representations presented herein are not inherently related to any particular computer or other apparatus. Computer programs may include purely software embodiments containing instructions for performing the operations of a desired embodiment.

[0111] Various general-purpose systems may be used in conjunction with the programs and modules illustrated herein, or it may prove more convenient to construct more advanced devices to perform desired method steps. Furthermore, the examples are not described with reference to any particular programming language. It will be understood that a wide variety of programming languages ​​may be used to carry out the teachings of the examples described herein. Instructions in a programming language may be executed by one or more processing devices, such as a central processing unit (CPU), processor, or controller.

[0112] As is known in the art, the operations described above can be performed by hardware, software, or any combination of software and hardware. Various embodiments of the embodiment may be performed using circuits and logic devices (hardware), while other embodiments, when performed by a processor, may be performed using instructions stored in a machine-readable medium (software) that cause the processor to perform the method and execute the embodiments of the present application. Furthermore, some embodiments of the present application may be performed by hardware alone, while other embodiments may be performed by software alone. Furthermore, the various functions described may be performed by a single unit or distributed across several components in any number of ways. When performed by software, the method may be performed by a processor such as a general-purpose computer based on instructions stored in a computer-readable medium. If desired, the instructions may be stored in the medium in a compressed and / or encrypted form.

[0113] Furthermore, other embodiments of the present application will become apparent to those skilled in the art from the considerations of this specification and the practice of the teachings of this application. Various aspects and / or components of the embodiments described herein may be used individually or in any combination. This specification and the embodiments are to be considered merely examples, and the true scope and spirit of this application are intended to be shown by the following claims. [Explanation of Symbols]

[0114] 100 Simulators 101 users 110 Main Program 120 Initialization Function 130 Input Files 130a Layout data 130b Shipping Order 130c Assembly Order 130d Inventory Data 130e Parameters 140 System State Module 140a Industrial System Conditions 140b Shipping Order List 140c Assembly Order List 140d Simulation Log 150 Timing Functions 160 Event List 170 Event Functions 180 Self-Order Generation Function 190 Simulation Termination Evaluator 195 Report Generator 200 voxel-based model simulation 210 Agents 220 Receptors 230 grids 240 floors 300 Process Flows 400 Process Flows 500 Process Flows 600 Process Flows 700 Process Flows 800 Process Flows 900 Process Flows 1000 process flows 1100 output 1200 output 1210 Receptor 1220 Agent 1310 Article ID 1320 Quantity ID 1330 Destination Location ID 1340 Agent Type 1350 Source Location ID 1410 Receptor ID 1420 Article ID 1430 Quantity ID 1700 computing environment 1705 Computer Devices 1710 Processor 1715 memory 1720 internal storage 1725 ID Interface 1730 Communications Bus 1735 Input / User Interface 1740 Output Devices / Interfaces 1745 External Storage 1750 Network

Claims

1. A method for performing a system simulation, The processor receives input data to generate the simulation model, The processor generates a simulation model for executing a simulation based on the input data, which includes a voxel model that executes the simulation as a voxel-by-voxel representation, The processor generates a simulation report based on the simulation output of the simulation model, Methods that include...

2. The method according to claim 1, wherein each of the voxel-based representations comprises one or more agents and one or more receptors in voxel form across a plurality of grids.

3. The aforementioned simulation is This involves performing model simulation initialization, Running an event simulation, The method according to claim 1, as performed by...

4. Performing the aforementioned model simulation initialization means Loading the aforementioned input data, This includes initializing the simulation timer and event list, The method according to claim 3, wherein the input data includes system layout data, assembly order information, and inventory data.

5. Executing the aforementioned event simulation means The process involves generating an event to be added to the event list based on the input data, and adding the event to the event list. The event simulation is performed based on the events included in the event list, The method according to claim 4, including the method described in claim 4.

6. The event to be added to the event list is to generate the event, By cross-referencing the aforementioned inventory data, the parts required to perform one or more assemblies included in the assembly order information are verified. To generate a shipping order for each of the one or more assemblies in which the required parts have passed verification, The method according to claim 5, including the method described in claim 5.

7. The aforementioned processor generates one or more transport events corresponding to one or more transport orders, The aforementioned processor generates one or more assembly events corresponding to one or more assemblies in which the required components have passed verification, The processor adds the one or more transport events and the one or more assembly events to the event list, The method according to claim 5, further comprising:

8. Executing the aforementioned event simulation means Extracting one or more transportation events and one or more assembly events from the event list, The simulation is performed based on the one or more transportation events and the one or more assembly events. The method according to claim 7, including the method described in claim 7.

9. The processor identifies the simulation termination conditions for stopping the simulation, The processor determines whether the simulation termination condition has been met, If it is determined that the simulation termination conditions have been met, the processor will terminate the simulation. If it is determined that the simulation termination condition has not been met, the processor will continue the simulation until the simulation termination condition is met. The method according to claim 1, further comprising:

10. The method according to claim 1, wherein the simulation report includes voxel-based visualization and a set of key performance indicators (KPIs) derived based on the simulation.

11. A system for performing system simulations, wherein the system is Data storage and The processor includes a processor that communicates with the data storage, and the processor is The process involves receiving input data for generating a simulation model and storing the input data in the data storage. The simulation model for executing the simulation based on the input data, comprising generating a simulation model that includes a voxel model in which the simulation is executed as a representation of each voxel, The simulation report is generated based on the simulation output of the aforementioned simulation model, A system configured to perform the following actions.

12. The system according to claim 11, wherein each of the voxel-based representations comprises one or more agents and one or more receptors in voxel form across a plurality of grids.

13. The aforementioned simulation is This involves performing model simulation initialization, Running an event simulation, The system according to claim 11, which is performed by [the specified method].

14. Performing the aforementioned model simulation initialization means Loading the aforementioned input data, Initialize the simulation timer and event list, The system according to claim 13, wherein the input data includes system layout data, assembly order information, and inventory data.

15. Executing the aforementioned event simulation means The process involves generating an event to be added to the event list based on the input data, and adding the event to the event list. The event simulation is performed based on the events included in the event list, The system according to claim 14, including the system described in claim 14.

16. The event to be added to the event list is to generate the event, By cross-referencing the aforementioned inventory data, the parts required to perform one or more assemblies included in the assembly order information are verified. The required parts have passed verification, and a shipping order is generated for each of the one or more assemblies. The system according to claim 15, including the system described in claim 15.

17. The aforementioned processor, To generate one or more shipping events corresponding to one or more shipping orders, The required parts have passed verification, and it generates one or more assembly events corresponding to one or more assemblies. Adding the one or more transport events and the one or more assembly events to the event list, The system according to claim 15, further configured to perform the following:

18. Executing the aforementioned event simulation means Extracting one or more transportation events and one or more assembly events from the event list, The simulation is performed based on the one or more transportation events and the one or more assembly events. The system according to claim 17, including the system described in claim 17.

19. The aforementioned processor, Identifying the simulation termination conditions for stopping the aforementioned simulation, To determine whether the aforementioned simulation termination conditions have been met, If it is determined that the above simulation termination conditions have been met, the simulation will be terminated. If it is determined that the simulation termination conditions are not met, the simulation will continue until the simulation termination conditions are met. The system according to claim 11, further configured to perform the following:

20. The system according to claim 11, wherein the simulation report includes voxel-based visualization and a set of key performance indicators (KPIs) derived based on the simulation.