Scheduling device, scheduling system, scheduling method and scheduling program product
By using the task filtering and optimization calculations of the scheduling device, the creation process of task execution scheduling is simplified, solving the problems of complex order determination and long creation time in the existing technology, and realizing fast and efficient task scheduling.
Patent Information
- Application Number
- CN202380078461.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-16
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2043-02-16
AI Technical Summary
In existing technologies, the order of task execution scheduling is complex to determine. To meet changes in customer requirements, it is necessary to spend a long time re-determining the complex order, resulting in excessively long task execution scheduling creation time.
A scheduling device is used. The task filtering unit selects tasks that meet the conditions based on the task list and the constraint list. The optimization calculation unit determines the execution order and processing machine of the tasks. Combined with the scheduling unit setting the task execution date and time, the process is repeated to eliminate the constraints and simplify the optimization process.
It enables the creation of task execution schedules in a short time, simplifies the task execution schedule creation process, reduces computation time, and improves processing efficiency.
Smart Images

Figure CN120225969B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to scheduling devices, scheduling systems, scheduling methods, and scheduling program products for creating task execution scheduling for use in machining equipment. Background Technology
[0002] In recent years, in order to perform tasks efficiently in machining equipment, it is preferred to create task execution schedules (scheduling data) that can shorten the total execution time of tasks consisting of multiple parts.
[0003] The production planning apparatus described in Patent Document 1 obtains a processing sequence for performing multiple processing operations on materials to obtain a product of a specific shape, and calculates the processing time required for each processing operation based on the processing sequence. This production planning apparatus generates a production plan for situations where multiple processing devices are used and multiple products are produced based on each processing sequence, and extracts a production plan that meets target conditions from multiple production plans obtained based on multiple types of processing sequences.
[0004] Patent Document 1: Japanese Patent Application Publication No. 2021-009435 Summary of the Invention
[0005] However, the technology in the aforementioned patent document 1 has the following problem: the sequence determination formula used to determine the execution order of tasks is complex, and if only one restriction from the customer's requirements is changed, the complex sequence determination formula must be re-established, so the creation of task execution schedule takes a long time.
[0006] The present invention was made in view of the above circumstances, and its purpose is to provide a scheduling device that can create task execution schedules in a short time and provide them to users.
[0007] To solve the above-mentioned problems and achieve the objective, the scheduling device of the present invention has a task filtering unit that creates a task list, i.e., a filtered task list, based on a list of multiple tasks executed by multiple processing machines, i.e., a task list, and a list of constraints on the processing machines, i.e., a constraint list. Furthermore, the scheduling apparatus of the present invention comprises: an optimization calculation unit that solves an optimization problem based on a filtered task list, thereby determining the execution order of the machine to perform the task and the tasks within the machine in such a way that the completion time of all tasks in the task list is minimized, and creating data representing the execution order of the machine to perform the task and the tasks within the machine, namely task order data; and a scheduling unit that, based on the task order data and the task list, creates a task execution schedule with the execution date and time set for the task of each machine, and repeats the following process: a task filtering unit creates a filtered task list that satisfies the first constraint among the constraints; an optimization calculation unit creates task order data that satisfies the first constraint, and adds tasks used to eliminate the first constraint to the task order data; a task filtering unit creates a filtered task list that satisfies the second strict constraint among the constraints, namely the second constraint; and an optimization calculation unit creates task order data that satisfies the second constraint, and adds tasks used to eliminate the second constraint to the task order data.
[0008] The effects of the invention
[0009] The scheduling device involved in this invention has the following effect: it can create task execution scheduling in a short time and provide it to the user. Attached Figure Description
[0010] Figure 1 This is a diagram showing the structure of the scheduling device involved in Embodiment 1.
[0011] Figure 2 This is a diagram illustrating an example of the structure of the task list used by the scheduling device according to Embodiment 1.
[0012] Figure 3 This is a diagram illustrating a structural example of the first list of limiting conditions used by the scheduling device according to Embodiment 1.
[0013] Figure 4 This is a diagram illustrating a structural example of the second list of limiting conditions used by the scheduling device according to Embodiment 1.
[0014] Figure 5 This is a flowchart showing the processing sequence of the scheduling process performed by the scheduling device according to Embodiment 1.
[0015] Figure 6This diagram illustrates the first stage of the scheduling process performed by the scheduling device according to Embodiment 1.
[0016] Figure 7 This diagram illustrates the second stage of the scheduling process performed by the scheduling device according to Embodiment 1.
[0017] Figure 8 This diagram illustrates the third stage of the scheduling process performed by the scheduling device according to Embodiment 1.
[0018] Figure 9 This is a diagram illustrating a structural example of the task execution scheduling created by the scheduling device according to Implementation Method 1.
[0019] Figure 10 This is a diagram showing the structure of a scheduling system having the scheduling device according to Embodiment 2.
[0020] Figure 11 This is a diagram showing the structure of the learning device in the scheduling system according to Embodiment 2.
[0021] Figure 12 This is a diagram used to explain the neural network used in the learning device according to Embodiment 2.
[0022] Figure 13 This is a flowchart illustrating the processing sequence of the learning process performed by the learning device according to Embodiment 2.
[0023] Figure 14 This is a diagram showing the structure of the inference device in the scheduling system according to Embodiment 2.
[0024] Figure 15 This is a flowchart illustrating the processing sequence of the inference process performed by the inference device according to Embodiment 2.
[0025] Figure 16 This is a flowchart showing the processing sequence of the scheduling process performed by the scheduling device according to Embodiment 2.
[0026] Figure 17 This is a diagram used to explain the scheduling process performed by the scheduling device according to Embodiment 2.
[0027] Figure 18 This is a diagram showing the structure of the scheduling device involved in Embodiment 3.
[0028] Figure 19 This is a flowchart showing the processing sequence of the scheduling process performed by the scheduling device according to Embodiment 3.
[0029] Figure 20 This diagram illustrates the first stage of the scheduling process performed by the scheduling device according to Embodiment 3.
[0030] Figure 21 This diagram illustrates the second stage of the scheduling process performed by the scheduling device according to Embodiment 3.
[0031] Figure 22 This is a diagram showing the structure of the task list modified by the scheduling device according to Embodiment 3.
[0032] Figure 23 This diagram illustrates the third stage of the scheduling process performed by the scheduling device according to Embodiment 3.
[0033] Figure 24 This is a diagram illustrating an example of the hardware structure of the scheduling device involved in Implementation Method 1. Detailed Implementation
[0034] The scheduling device, scheduling system, scheduling method, and scheduling program involved in the embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
[0035] Implementation method 1.
[0036] Figure 1 This is a diagram showing the structure of the scheduling device according to Embodiment 1. The scheduling device 1A is a computer that creates a task execution schedule 43 for tasks executed in the electrical discharge machining equipment.
[0037] The task execution schedule 43 created by scheduling device 1A is applied to a machining system that uses multiple machining machines to perform machining. This machining system involves multiple machining machines each executing multiple types of tasks to process multiple workpieces and produce multiple products. Therefore, task execution schedule 43 is a scheduling (scheduling data) for multiple machining machines to process multiple workpieces and produce multiple products by executing multiple types of tasks. The task execution schedule 43 sets the machining machine executing the task, the start time of the task, and the end time of the task. Scheduling device 1A has a scheduler that creates task execution schedule 43.
[0038] The scheduling device 1A assigns all tasks to any machine tool, including the work machine, and automatically assigns the execution order of all tasks designated as objects in the processing steps of the work machine. When scheduling tasks using combinatorial optimization problems, the scheduling device 1A pre-screens the tasks submitted to the optimization solver by imposing constraints (execution constraints) only on the work machine and a portion of other environmental factors. Therefore, the scheduling device 1A does not switch the objective function or constraints, but instead screens the tasks that become candidates for scheduling to solve the optimization problem, creating task execution scheduling 43.
[0039] For example, if there are tasks that cannot be executed during a portion of the date and time of the scheduling object creation, the scheduling device 1A will exclude the tasks that cannot be executed in advance during that time period from the task list 41 and determine the execution order of the tasks based on the excluded task list 41.
[0040] The scheduling device 1A has an input unit 2, a task filtering unit 3, an optimization calculation unit 4, a scheduling unit 5, and an output unit 6. The input unit 2 reads in a task list 41 and a list of constraint conditions 42A and 42B from external devices, etc.
[0041] Task list 41 is a list of tasks to be executed by the machining machines. Constraint lists 42A and 42B are lists of constraints imposed when assigning tasks based on the task sequence data (described later as task sequence data 45) used when creating task execution schedule 43. Task sequence data 45 represents the machining machines that execute each task and the execution order of the tasks within each machining machine. After creating task sequence data 45, scheduling device 1A creates task execution schedule 43 based on task sequence data 45. Here, an example of the structure of task list 41 will be described.
[0042] Figure 2 This is a diagram illustrating an example of the structure of the task list used by the scheduling device according to Embodiment 1. In the task list 41, task ID, priority level, processing instruction, workpiece ID, processing program ID, and estimated time are associated.
[0043] The task ID is information used to identify a task. Figure 2 The task IDs are illustrated as "J001", "J002", etc. The task IDs are set by the task list creation device (not shown) of the task list creation 41. In the following description, the tasks with task IDs "J001" to "J006" are sometimes referred to as tasks "J001" to "J006".
[0044] Furthermore, the scheduling device 1A may also function as a task list creation device. In this case, the scheduling device 1A creates a task list 41 according to instructions from the user.
[0045] Priority level indicates the order in which tasks are executed. Tasks with lower priority levels are more likely to be executed first. In other words, given the constraints, tasks with lower priority levels are assigned an earlier execution date and time.
[0046] Furthermore, priority levels do not need to be set differently for all tasks; the same value can be set for different tasks. Priority levels can be set by the task list creation device according to user instructions, or they can be set automatically by the task list creation device.
[0047] The processing instructions include information on the delivery date of the product manufactured by performing the task and the machine ID of the processing machine capable of performing the task. The machine ID is information that identifies the processing machine that can be set in the task. Figure 2 In the diagram, it is illustrated as "PM001", "PM002", etc. Tasks with empty machine IDs corresponding to task IDs are tasks that can be processed by any machine. Processing instructions can be set by the task list creation device according to user instructions, or automatically by the task list creation device. In the following description, the machines with machine IDs "PM001" to "PM003" are sometimes referred to as machine "PM001" to "PM003".
[0048] The workpiece ID is information used to identify the workpiece performing the task. The machining program ID is information used to identify the machining program used when performing the task. The task list 41 may not include either the workpiece ID or the machining program ID.
[0049] Estimated time is the estimated time required to execute a task. It includes estimated processing time, estimated pre-processing time, and estimated post-processing time. The estimated pre-processing time includes workpiece loading time and workpiece changeover adjustment time. Workpiece changeover adjustment includes workpiece installation and workpiece reference position determination. The estimated post-processing time includes workpiece measurement and workpiece unloading time. Alternatively, estimated time can be the sum of estimated processing time, estimated pre-processing time, and estimated post-processing time.
[0050] Next, we will explain the structural examples of constraint lists 42A and 42B. Figure 3This is a diagram illustrating a structural example of the first constraint list used by the scheduling device according to Embodiment 1. In the constraint list 42A, which is the first constraint list, information for identifying the processing machine, namely the processing machine ID, information on whether the processing machine is stopped, namely the stopped information, unexecutable processes, consumable life prediction time, and maintenance execution period are associated.
[0051] The stop information can contain either information indicating that the machine is stopped or information indicating that the machine is not stopped. Figure 3 The stop information shows cases where "0" is set to indicate that the machine is not stopped, and cases where "1" is set to indicate that the machine is stopped.
[0052] In non-executable operations, a process ID is set for the operation that cannot be performed on the machining machine. The process ID is information used to identify the operation. In non-executable operations, for example, "0" is set if all operations can be performed on the machining machine, and "9" is set if all operations cannot be performed. In addition, if "H13" is set as a process ID in a non-executable operation, the machining machine cannot perform the operation corresponding to "H13".
[0053] Consumable life prediction time is the predicted time from the current moment until the consumables used by the processing machine reach the end of their lifespan. Figure 3 The diagram shows the consumable lifespan prediction time as the time until the consumable is predicted to reach its lifespan, but it can also be the predicted date and time when the consumable reaches its lifespan. The consumable lifespan prediction time is set for each individual consumable. Figure 3 The diagram shows the case where the consumables included in the restriction list 42A are consumables B11 and B12.
[0054] The maintenance execution period is the time from the current moment until the maintenance work is performed on the machining machine. Figure 3 The diagram shows the case where the maintenance execution period is the time until the maintenance work is performed, but the maintenance execution period can also be the date and time of performing the maintenance work. The maintenance execution period is set for each type of maintenance work. Figure 3 The table shows the cases where the maintenance jobs included in the constraint list 42A are maintenance H11, maintenance H12, and maintenance H13.
[0055] In addition, the consumable life prediction time and maintenance execution period can be set by the task list creation device according to instructions from the user, or the task list creation device can set it automatically.
[0056] Figure 4This diagram illustrates a structural example of the second constraint list used by the scheduling device according to Embodiment 1. In the constraint list 42B, which is the second constraint list, the process ID is associated with whether human intervention is required. The constraint list 42B is a list of constraints for operations such as replacement and maintenance of consumables.
[0057] Process IDs are information used to identify work processes such as consumable replacement and maintenance. "H11" to "H13" in the process ID indicate the process... Figure 3 The maintenance work for H11 to H13 is described in the instructions. "B11" and "B12" indicate the work performed in the maintenance work. Figure 3 The replacement procedures for consumables B11 and B12 are described in the document.
[0058] Whether or not a worker is required indicates whether a process requires an operator (worker). In other words, whether or not a worker is required specifies the constraints on whether or not an operator is needed. Figure 4 In the "Whether a worker is required" setting, a "1" indicates that a worker is required, and a "0" indicates that a worker is not required. For processes where a "1" is set in the "Whether a worker is required" setting, the constraint is met if a worker can be assigned; otherwise, the constraint is not met.
[0059] Furthermore, the constraint lists 42A and 42B may include information such as the machine capable of performing the task and the idle status of the machine in the next process after the scheduled end time of the task. If the requirement for human operation is set to "0", cleaning tasks during periods without operators (unattended periods) can be skipped. Additionally, if the constraint lists 42A and 42B include information such as the idle status of the machine in the next process after the scheduled end time of the task, the scheduling device 1A can shorten the waiting time until a cleaning task is set after roughing or finishing.
[0060] Input unit 2 inputs task list 41 and constraint lists 42A and 42B to task filtering unit 3, optimization calculation unit 4, and scheduling unit 5. Task filtering unit 3, based on constraint lists 42A and 42B, filters tasks from the tasks in task list 41 that are to be registered in task sequence data 45. That is, task filtering unit 3 filters tasks from the tasks in task list 41 that are to be registered in task sequence data 45 in a manner that satisfies constraint lists 42A and 42B. Task filtering unit 3 filters tasks from the tasks in task list 41 that are to be registered in task sequence data 45 for processing machines set to stop by stop information and for processes set to non-executable processes, so that no tasks are set. Furthermore, in the following description, the case where scheduling device 1A creates task execution scheduling 43 mainly based on constraint list 42A will be explained.
[0061] The task filtering unit 3 filters tasks, for example, so that consumables can be replaced up to the predicted lifespan of the consumables. Additionally, the task filtering unit 3 filters tasks, for example, so that maintenance work can be performed up to the maintenance execution deadline. The task filtering unit 3 sends the filtered task list 41 to the optimization calculation unit 4. Furthermore, in the following description, the filtered task list 41 may sometimes be referred to as the filtered task list 41.
[0062] The optimization calculation unit 4 has an optimization solver for optimizing the execution of tasks. Based on the filtered task list 41 and the constraint lists 42A and 42B, the optimization calculation unit 4 determines the machining machine that performs each task and the execution order of the tasks within each machining machine. That is, the optimization calculation unit 4 sequentially assigns the tasks in the filtered task list 41 to any machining machine in a manner that satisfies the constraint lists 42A and 42B, thereby determining the machining machine that performs each task and the execution order of the tasks within each machining machine.
[0063] The optimization calculation unit 4 determines the processing machine to perform each task and the execution order of the tasks within each processing machine by solving optimization problems. The optimization calculation unit 4 assigns tasks to processing machines in a manner that tasks with higher priority are executed earlier. Furthermore, the optimization calculation unit 4 assigns tasks to processing machines in a way that minimizes the total completion time of all tasks in the task list 41. In other words, the optimization calculation unit 4 assigns tasks to processing machines in a way that minimizes the total execution time of the tasks included in the task list 41.
[0064] In the scheduling device 1A, the task filtering unit 3 and the optimization calculation unit 4 share and create task sequence data 45. The task filtering unit 3 sets constraints such as the maintenance execution deadline in the task sequence data 45, and extracts tasks that can be set up until the maintenance execution deadline. The task filtering unit 3 sends the task sequence data 45 with constraints such as the maintenance execution deadline and the tasks that meet the constraints (tasks that can be set up until the maintenance execution deadline) to the optimization calculation unit 4. The optimization calculation unit 4 selects tasks that can be set on the processing machine from the tasks that meet the constraints and sets them in the task sequence data 45. If no tasks meet the constraints, the optimization calculation unit 4 eliminates the constraints by setting maintenance tasks, etc., in the task sequence data 45. Furthermore, the task filtering unit 3 sets the next constraint in the task sequence data 45 and extracts tasks that meet that constraint. By repeating these processes, the task filtering unit 3 and the optimization calculation unit 4 set all tasks in the task list 41 in the task sequence data 45. The optimization calculation unit 4 sends the processing machine that executes each task and the task sequence data 45, which sets the execution order of the tasks in each processing machine, to the scheduling unit 5 for all tasks in the task list 41.
[0065] The scheduling unit 5 sets the execution date and time for each task based on the task sequence data 45 and the task list 41. In this case, the scheduling unit 5 refers to the processing machine for each task in the task sequence data 45 and the execution order of the tasks within each processing machine. Additionally, the scheduling unit 5 refers to the estimated time in the task list 41. Furthermore, the scheduling unit 5 sets the replacement date and time for consumables and the maintenance date and time for each processing machine based on the task sequence data 45, the time required for replacing consumables for each processing machine (replacement time), and the time required for maintenance for each processing machine (maintenance time). Furthermore, the replacement time and maintenance time can be set in the task list 41 or in the constraint lists 42A and 42B.
[0066] For each task, the scheduling unit 5 creates a task execution schedule 43, specifying the processing machine to be executed, the execution order, and the execution date and time. The scheduling unit 5 then sends the created task execution schedule 43 to the output unit 6. The output unit 6 provides the task execution schedule 43 to the user by outputting it to an external device such as a display device. Thus, the task execution schedule 43 is displayed on the display device, allowing the user to refer to it.
[0067] Figure 5This is a flowchart illustrating the processing sequence of the scheduling process performed by the scheduling device according to Embodiment 1. The input unit 2 reads the task list 41 and the constraint lists 42A and 42B from external devices, etc. (step S10). The input unit 2 inputs the task list 41 and the constraint lists 42A and 42B to the task filtering unit 3.
[0068] The task filtering unit 3 filters tasks to be registered in the task order data 45 from the tasks in the task list 41 based on the restriction lists 42A and 42B. That is, the task filtering unit 3 filters the tasks in the task list 41 according to the content set as restrictions in the restriction lists 42A and 42B (step S20). The task filtering unit 3 sends the filtered tasks (the filtered task list 41) to the optimization calculation unit 4.
[0069] Based on the constraint lists 42A and 42B, the optimization calculation unit 4 determines the machining machine that performs each task and the execution order of the tasks within each machining machine. That is, the optimization calculation unit 4 creates the machining machines that perform the tasks under the constraint conditions and the execution order of the tasks within each machining machine (step S30). In other words, the optimization calculation unit 4 creates task sequence data 45, which sets the machining machines that perform each task and the execution order of the tasks within each machining machine, in a manner that satisfies the constraints specified in the constraint lists 42A and 42B.
[0070] The optimization calculation unit 4 determines whether to set all restrictions on the task sequence data 45. That is, the optimization calculation unit 4 determines whether there are any restrictions that prevent the calculation from ending (step S40).
[0071] If there is a constraint that the operation has not ended (step S40, Yes), the scheduling device 1A returns to the processing of step S20 and repeats the processing of steps S20 to S40.
[0072] On the other hand, if there is no constraint that the calculation has not ended (step S40, No), the optimization calculation unit 4 sends the task sequence data 45, which determines the processing machines that perform each task and the execution order of the tasks, to the scheduling unit 5. That is, the optimization calculation unit 4 sends the execution order of the tasks in each processing machine to the scheduling unit 5.
[0073] Based on the execution order of tasks in each processing machine determined by the optimization calculation unit 4 and the estimated time of the task list 41, the scheduling unit 5 sets the execution date and time of each task (step S50) and creates a task execution schedule 43.
[0074] The output unit 6 outputs the task execution schedule 43 created by the scheduling unit 5 to an external device such as a display device (step S60). Thus, the user can refer to the task execution schedule 43 with the task execution date and time set.
[0075] Next, use Figures 6-8 A specific example of scheduling processing implemented through scheduling device 1A will be described. Figures 6-8 The section describes the scheduling process of the scheduling device 1A executing tasks based on the task list 41 and the constraint lists 42A and 42B.
[0076] Figure 6 This diagram illustrates the first stage of the scheduling process performed by the scheduling device according to Embodiment 1. Figure 7 This diagram illustrates the second stage of the scheduling process performed by the scheduling device according to Embodiment 1. Figure 8 This diagram illustrates the third stage of the scheduling process performed by the scheduling device according to Embodiment 1. Figures 6-8 The task sequence data 45 created by the scheduling device 1A is shown.
[0077] The task filtering unit 3 registers the machine IDs registered in the task list 41 in the task sequence data 45. Based on the constraint list 42A, the task filtering unit 3 determines whether there are any stopped machines. For stopped machines, the task filtering unit 3 sets "stopped" in the machine ID of the task sequence data 45. Here, based on the constraint list 42A, the task filtering unit 3 sets "stopped" in the machine "PM003".
[0078] The task selection unit 3 sets the constraints for assigning tasks to each processing machine in the task sequence data 45 according to the constraint list 42A. Specifically, the task selection unit 3 selects the first process to be executed in the replacement or maintenance process of consumables from the constraint list 42A. The task selection unit 3 is based on... Figure 3 List of restrictions
[0079] 42A, Select maintenance H11 for the processing machine "PM002" with the most recent maintenance deadline, and perform maintenance.
[0080] The execution deadline of H11 is set as a constraint on the processing machine "PM002" in task sequence data 45.
[0081] The task filtering unit 3 filters tasks within the task list 41 by extracting a list of tasks registered in the task list 41 that only meet the restrictions set in the task sequence data 45. Specifically, the task filtering unit 3 extracts tasks from the task list 41 that can be executed up to the execution deadline of maintenance H11 in the machining machine "PM002". That is, the task filtering unit 3 extracts a list of tasks from the task list 41 that can only be executed up to the execution deadline of maintenance H11 in the machining machine "PM002". The task filtering unit 3 filters tasks from the task list 41, which is a list of tasks that can be executed up to the execution deadline of maintenance H11, by extracting task ID, priority level, machining instruction, workpiece ID, machining program ID, and estimated time. The task filtering unit 3 sends the filtered task list 41 to the optimization calculation unit 4. The filtered task list 41 here includes task "J002".
[0082] The optimization calculation unit 4 performs optimization calculations on the tasks selected by the task filtering unit 3, starting with the tasks with the highest priority, and sets them in the task sequence data 45. For example, the optimization calculation unit 4 sets task "J002" to machining machine "PM002". At this moment, among the tasks that should be executed by machining machine "PM001", there are no tasks that need to be completed before the execution deadline of maintenance H11 for "PM002" (within 6 hours and 45 minutes). Therefore, the optimization calculation unit 4 does not create a schedule for machining machine "PM001". That is, there are no tasks that can be executed on machining machine "PM001" before the maintenance H11 of machining machine "PM002", so no task is set for machining machine "PM001".
[0083] Furthermore, task "J002" can also be set on machining machine "PM001". However, since it is possible to set tasks longer than 6 hours and 45 minutes to machining machine "PM001", the optimization calculation unit 4 sets task "J002" on machining machine "PM002", which can only set tasks within 6 hours and 45 minutes. As a result, the optimization calculation unit 4 can improve processing efficiency.
[0084] In order to eliminate the most stringent constraint (maintenance H11 in machining machine "PM002") for machining machine "PM002", optimization calculation unit 4 sets maintenance H11 for machining machine "PM002" in task sequence data 45. Furthermore, based on constraint list 42B, optimization calculation unit 4 sets the worker performing maintenance H11 in task sequence data 45, and sets the date and time of the work performed by that worker in task sequence data 45. Figure 7In the diagram, the maintenance H11 performed by the operator on the processing machine "PM002" is shown as "PM002_H11". In addition, in the constraint list 42B, if "0" is set to indicate that no operator is needed, the setting of the task sequence data 45 for the operator is not required, and only the operation date and time are set.
[0085] Next, the task selection unit 3 selects the second process to be executed from the consumable replacement or maintenance process in the constraint list 42A. The task selection unit 3 is based on... Figure 3 In the constraint list 42A, select maintenance H11 for the processing machine "PM001" and set the execution period of maintenance H11 to the task sequence data 45.
[0086] The task filtering unit 3 extracts tasks from the task list 41 that can be executed up to the deadline of maintenance H11 in the machining machine "PM001". That is, the task filtering unit 3 extracts only the tasks that can be executed up to the deadline of maintenance H11 in the machining machine "PM001" from the list of tasks in the task list 41. The task filtering unit 3 then sends the filtered task list 41 to the optimization calculation unit 4. The filtered task list 41 includes task "J001".
[0087] The optimization calculation unit 4 sets the tasks selected by the task filtering unit 3 in the task sequence data 45 in order of priority, starting with the tasks with the highest priority. Here, the optimization calculation unit 4 sets task "J001" to the processing machine "PM001". Thus, task "J001", which has the first priority, is set in the task sequence data 45.
[0088] Then, since there are no tasks that can be assigned until the next constraint period (maintenance H11 in machining machine "PM001"), the optimization calculation unit 4 does not create a schedule for machining machines "PM001" and "PM002". That is, since there are no tasks in machining machines "PM001" and "PM002" that can be executed until maintenance H11 of machining machine "PM001", no tasks are assigned to machining machines "PM001" and "PM002".
[0089] In order to eliminate the restriction on machining machine "PM001" (maintenance H11 in machining machine "PM001"), the optimization calculation unit 4 sets the maintenance H11 of machining machine "PM001" in the task sequence data 45. In addition, the optimization calculation unit 4 sets the operator who performs maintenance H11 in the task sequence data 45, and sets the date and time of the work performed by that operator in the task sequence data 45. Figure 8In the diagram, the maintenance of machine "PM001" performed by the operator is shown as "PM001_H11".
[0090] Next, the task selection unit 3 selects the third process to be executed from the consumable replacement or maintenance process in the constraint list 42A. The task selection unit 3 is based on... Figure 3 In the constraint list 42A, select maintenance H12 for the processing machine "PM001" and set the execution period of maintenance H12 to the task sequence data 45.
[0091] The task filtering unit 3 extracts tasks from the task list 41 that can be executed up to the deadline of maintenance H12 in the machining machine "PM001". That is, the task filtering unit 3 extracts only the tasks that can be executed up to the deadline of maintenance H12 in the machining machine "PM001" from the list of tasks in the task list 41. The task filtering unit 3 then sends the filtered task list 41 to the optimization calculation unit 4. The filtered task list 41 here does not contain a list of tasks.
[0092] Regarding machining machines "PM001" and "PM002", after adding maintenance H11 for machining machine "PM001", there were no tasks that could be assigned until the execution deadline of maintenance H12. Therefore, no tasks will be assigned to machining machines "PM001" and "PM002".
[0093] In order to eliminate the restriction condition (maintenance H12 in machining machine "PM001") for machining machine "PM001", the optimization calculation unit 4 sets maintenance H12 for machining machine "PM001" in the task sequence data 45. That is, for machining machine "PM001", maintenance H12 is set after maintenance H11.
[0094] In addition, the optimization calculation unit 4 sets the operator who performs maintenance H12 on the processing machine "PM001" in the task sequence data 45, and sets the date and time of the work performed by that operator in the task sequence data 45. Figure 8 In the diagram, the maintenance of machine "PM001" performed by the operator is shown as "PM001_H12".
[0095] Then, the task filtering unit 3 selects the fourth process to be executed from the consumable replacement or maintenance process in the restriction list 42A. The task filtering unit 3 sets the execution deadline of the selected maintenance, etc., in the task sequence data 45.
[0096] The task filtering unit 3 extracts a list of tasks that can be executed up to the deadline set in the task sequence data 45 from the task list 41, and sends the filtered task list 41 to the optimization calculation unit 4. The filtered task list 41 here includes tasks "J003" and "J005". The optimization calculation unit 4 selects the tasks that can be executed up to the set deadline from the filtered task list 41 and sets them in the task sequence data 45 through optimization calculation.
[0097] The optimization calculation unit 4 sets task "J003" for machining machine "PM001" and task "J005" for machining machine "PM002". Even if task "J004" is included in the filtered task list 41, since machining machine "PM001" is set in task "J004" and machining machine "PM002" is set in task "J005", the optimization calculation unit 4 will also set task "J005" for machining machine "PM002".
[0098] As described above, the scheduling device 1A sets the execution deadline as a constraint on the task sequence data 45, and repeatedly performs the process of creating a task list 41 after filtering out tasks that meet the constraint, and the process of setting the tasks to arbitrary processing machines through optimization calculations.
[0099] The task sequence data 45 created by the optimization calculation unit 4 contains the tasks to be executed by the machining machines and the order in which the tasks are executed by each machining machine. The optimization calculation unit 4 then sends the created task sequence data 45 to the scheduling unit 5.
[0100] Based on the task sequence data 45 and task list 41 created by the optimization calculation unit 4, the scheduling unit 5 creates a task execution schedule 43 with the start and end times of the tasks set.
[0101] As described above, the scheduling device 1A solves the optimization problem under constraints. After setting the machine and execution order for the tasks, it adds a new task (such as maintenance) that eliminates the most stringent constraint at a set time, thereby removing that constraint. Furthermore, the scheduling device 1A solves the optimization problem under a second stringent constraint. After setting the machine and execution order for the tasks, it adds a new task (such as maintenance) that eliminates the most stringent constraint at that time, thereby removing that constraint. By repeating the scheduling process described above, the scheduling device 1A is able to schedule tasks that satisfy the constraints.
[0102] Figure 9This diagram illustrates a structural example of a task execution schedule created by the scheduling device according to Embodiment 1. In the task execution schedule 43 created by the scheduling unit 5, the task ID, the machine ID, the start time of the task, and the end time of the task are associated.
[0103] The task execution scheduler 43 includes a list of tasks “J001” to “J006” set in the task list 41 and a list of restriction removal tasks 50 set by the optimization calculation unit 4.
[0104] The restriction removal task list 50 is a list of newly added tasks by the optimization calculation unit 4 to remove restriction conditions. The restriction removal task list 50 is a list of maintenance and other tasks performed to remove restriction conditions. The restriction removal task list 50 includes a list of maintenance and other tasks set by the optimization calculation unit 4 and a list of stopped processing machines set by the optimization calculation unit 4.
[0105] exist Figure 9 The task list for removing limitations, number 50, contains lists of maintenance H11 and H12 for machining machine "PM001" and a list of maintenance H11 for machining machine "PM002". Figure 9 In the task execution scheduling 43, the task ID of maintenance H11 of machine "PM001" is represented by "PM001_H11", the task ID of maintenance H12 of machine "PM001" is represented by "PM001_H12", and the task ID of maintenance H11 of machine "PM002" is represented by "PM002_H11".
[0106] In addition, Figure 9 In the task execution schedule 43, information for the stopped machining machine "PM003" is shown, with "PM003_OUT" set in the task ID. The start time in the stopped machining machine "PM003" is the time when the machining machine starts to stop, and the end time is the time when the machining machine finishes to stop.
[0107] Generally, if the user's value benchmark or the requirements for scheduling become more complex, the task list 41 or the constraint lists 42A and 42B will also become more complex. The more complex the task list 41 or the constraint lists 42A and 42B become, the more complex the policy for determining the execution order of tasks becomes, making task scheduling impossible in the rule base. Furthermore, even if the scheduling device attempts to solve the problem as a combinatorial optimization problem, the objective function or constraints take time to establish, so even if only one requirement specification differs, they must be re-established.
[0108] On the other hand, in the scheduling device 1A of Embodiment 1, after the task screening unit 3 performs task screening, the optimization calculation unit 4 determines the processing machine to perform each task and the execution order of the tasks in each processing machine. As a result, the scheduling device 1A can allocate the few tasks selected according to the constraints to any processing machine, thus enabling the creation of task execution schedule 43 in a short time.
[0109] Furthermore, scheduling device 1A can perform scheduling even without setting complex constraints and objective functions, thus eliminating the need for modification or addition of optimization formulas. Additionally, scheduling device 1A can perform scheduling even when the optimization formula does not contain complex constraints. Moreover, because scheduling device 1A simplifies optimization formulas, it can shorten computation time.
[0110] Furthermore, the task screening unit 3 can use any one or a combination of several of the following as screening criteria: priority level, delivery date, processing machine capable of performing the task, product shipping destination, information on whether the workpiece is being prepared, and the initial registration date and time of the task (the date and time the task was initially registered in task list 41). That is, the task screening unit 3 uses at least one of the following as screening criteria: priority level, delivery date, processing machine capable of performing the task, product shipping destination, information on whether the workpiece is being prepared, and the initial registration date and time of the task. As described above, by applying various screening criteria, the task screening unit 3 can prevent the retention of workpieces with assigned tasks and can control the process to prevent an excessive increase in semi-finished products or finished products.
[0111] Furthermore, the scheduling device 1A allows the user to set a highest priority flag. This flag is used to ignore all restrictions, such as execution order constraints and execution date and time constraints, and to allocate the execution date and time to the task with the highest priority. The scheduling device 1A sets the task with this highest priority flag to the date and time when it will be processed with the highest priority, thus enabling it to handle urgent tasks.
[0112] As described above, the scheduling device 1A of Embodiment 1 includes a task filtering unit 3 and an optimization calculation unit 4. The task filtering unit 3 creates a filtered task list 41, which filters tasks from those set in the task list 41 that satisfy the constraint lists 42A and 42B. Based on the filtered task list 41, the optimization calculation unit 4 creates task sequence data 45, representing the processing machine performing the tasks and the execution order of the tasks within the processing machine. Thus, the scheduling device 1A can create a task execution schedule 43 in a short time and provide it to the user.
[0113] Implementation method 2.
[0114] Next, use Figures 10 to 17Implementation method 2 will be described. In implementation method 2, the error in the execution time of the task is learned, and scheduling is performed taking the error into account.
[0115] Figure 10 This is a diagram showing the structure of a scheduling system having the scheduling device according to Embodiment 2. Regarding... Figure 10 Among the structural elements, and Figure 1 The structural elements of the scheduling device 1A in Embodiment 1 shown are labeled with the same reference numerals to achieve the same function, and repeated descriptions are omitted.
[0116] The scheduling system 10 includes a scheduling device 1B, a learning device 60, a trained model storage unit 65, and an inference device 70. Like the scheduling device 1A, the scheduling device 1B is a computer that creates the task execution schedule 43.
[0117] In the scheduling system 10, the learning device 60 and the inference device 70 are connected to the trained model storage unit 65. Additionally, the inference device 70 is connected to the scheduling device 1B.
[0118] In embodiment 2, the learning device 60 learns the correspondence between the estimated time and the error time relative to the estimated time set in the task list 41. Furthermore, the error time relative to the estimated time is the difference between the estimated time and the actual execution time. The error time can be calculated by the learning device 60 or by a device other than the learning device 60.
[0119] The learning device 60 learns the correspondence between the estimated time and the error time to generate a trained model (trained model 80, described below). The trained model 80 is used to infer the error time corresponding to the estimated time. The learning device 60 generates the trained model 80, for example, based on an error list associated with the estimated time and the error time. The learning device 60 sends the trained model 80 to the trained model storage unit 65.
[0120] The scheduling device 1B sends the estimated time set in the task list 41 to the inference device 70. The inference device 70 infers the error time relative to the estimated time set in the task list 41. The inference device 70 calculates the error time by inputting the estimated time into the trained model 80. The inference device 70 sends the calculated error time to the optimization calculation unit 4 of the scheduling device 1B. The scheduling device 1B uses the error time relative to the estimated time to create a task execution schedule 43.
[0121] Figure 11This diagram illustrates the structure of the learning device in the scheduling system according to Embodiment 2. The learning device 60 includes a data acquisition unit 61 and a model generation unit 62. The data acquisition unit 61 acquires the estimated time 66A and the error time 67A from outside the learning device 60.
[0122] The estimated time 66A acquired by the data acquisition unit 61 is an estimated time previously set in the task list 41 (the estimated time of tasks previously performed). When the learning device 60 generates the trained model 80, the estimated time 66A and the error time 67A are input to the data acquisition unit 61. The data acquisition unit 61 sends the estimated time 66A and the error time 67A as learning data to the model generation unit 62.
[0123] The model generation unit 62 learns the error time 67A corresponding to the estimated time 66A based on learning data created by combining the estimated time 66A and the error time 67A sent from the data acquisition unit 61. In other words, the model generation unit 62 learns the error time 67A corresponding to the estimated time 66A based on learning data created by combining the estimated time 66A and the error time 67A. Here, the learning data is data in which the estimated time 66A and the error time 67A are correlated.
[0124] Furthermore, the data acquisition unit 61 can also acquire the estimated time 66A and the error time 67A for each machining center. In this case, the model generation unit 62 learns the error time 67A corresponding to the estimated time 66A for each machining center.
[0125] Additionally, the data acquisition unit 61 can also acquire the estimated time 66A and the error time 67A for each process. In this case, the model generation unit 62 learns the error time 67A corresponding to the estimated time 66A for each process.
[0126] Additionally, the data acquisition unit 61 can also acquire the estimated time 66A and the error time 67A for each task. In this case, the model generation unit 62 learns the error time 67A corresponding to the estimated time 66A for each task.
[0127] Additionally, the data acquisition unit 61 can also acquire the estimated time 66A and the error time 67A for each workpiece. In this case, the model generation unit 62 learns the error time 67A corresponding to the estimated time 66A for each workpiece.
[0128] Additionally, the data acquisition unit 61 can also acquire the estimated time 66A and the error time 67A for each combination of at least two of the machining machine, process, task, and workpiece. In this case, the model generation unit 62 learns the error time 67A corresponding to the estimated time 66A for each combination of at least two of the machining machine, process, task, and workpiece.
[0129] The model generation unit 62 can use known algorithms such as teacher-assisted learning, teacherless learning, and reinforcement learning as learning algorithms. As an example, the application of a neural network in the learning algorithm used by the model generation unit 62 will be explained.
[0130] The model generation unit 62, for example, learns an appropriate error time 67A corresponding to the estimation time 66A through so-called teacher-led learning, according to a neural network model. Here, teacher-led learning refers to the method of learning the features contained in the learning data by giving the learning device 60 a set of data (learning data) containing input and result (label), and inferring the result based on the input.
[0131] A neural network consists of an input layer composed of multiple neurons, an intermediate layer (hidden layer) composed of multiple neurons, and an output layer composed of multiple neurons. The intermediate layer can be one layer or more or more layers.
[0132] The trained model storage unit 65 stores the trained model 80 generated by the learning device 60. The trained model 80 stored in the trained model storage unit 65 is read out by the inference device 70 when the inference device 70 infers the error time (error time 67B, described below).
[0133] Furthermore, at least one of the learning device 60, the inference device 70, and the trained model storage unit 65 may be a separate device connected to the scheduling system 10 via a network. Alternatively, at least one of the learning device 60, the inference device 70, and the trained model storage unit 65 may be integrated into the scheduling device 1B. Also, at least one of the learning device 60, the inference device 70, and the trained model storage unit 65 may reside on a cloud server. Furthermore, the learning device 60 and the inference device 70 may be implemented using different computers, or they may be implemented using a single computer.
[0134] Figure 12 This is a diagram used to explain the neural network used in the learning device according to Embodiment 2. For example, if it is Figure 12The three-layer neural network shown in the diagram receives multiple inputs into the input layer (X1-X3), which are then multiplied by weights W1 (w11-w16) before being input into the intermediate layer (Y1-Y2). The result is then further multiplied by weights W2 (w21-w26) and output from the output layer (Z1-Z3). This output is modified by the values of weights W1 and W2.
[0135] Figure 12 The neural network used in the learning device 60 learns the error time 67A corresponding to the estimation time 66A through so-called teacher-guided learning, based on learning data created from a combination of the estimated time 66A and the error time 67A acquired by the data acquisition unit 61. In other words, Figure 12 The neural network used by the learning device 60 learns the error time 67A corresponding to the estimation time 66A by means of so-called teacher-guided learning, based on the estimated time 66A and the error time 67A created by the combination of the first input and the second input (positive solution) obtained by the data acquisition unit 61.
[0136] That is, the neural network learns by adjusting the weights W1 and W2 so that the result output from the output layer, which takes the estimated time 66A as the first input, is close to the second input (the correct solution).
[0137] As described above, the neural network learns by adjusting weights W1 and W2 so that when the estimated time 66A is input to the input layer, the output result from the output layer is close to the error time 67A. The neural network learns the correspondence between the estimated time 66A and the error time 67A, thereby generating a trained model 80 that can output an appropriate error time 67A when the estimated time 66A is input. As described above, the learning device 60 learns the trained model 80 that can output an error time 67A as the correct solution when the estimated time 66A is input.
[0138] The model generation unit 62 generates and outputs a trained model 80 by performing the above learning process. The trained model storage unit 65 stores the trained model 80 output from the model generation unit 62.
[0139] Next, use Figure 13 The processing sequence of the learning device 60 learning the trained model 80 is explained. Figure 13 This is a flowchart illustrating the processing sequence of the learning process performed by the learning device according to Embodiment 2.
[0140] The data acquisition unit 61 acquires the learning data used during learning (step S110). Specifically, the data acquisition unit 61 acquires the estimated time 66A and the error time 67A. Furthermore, the data acquisition unit 61 is configured to acquire the estimated time 66A and the error time 67A simultaneously, but the estimated time 66A and the error time 67A only need to be input in a related manner. Therefore, the data acquisition unit 61 can acquire the estimated time 66A and the error time 67A at different times. The data acquisition unit 61 sends the estimated time 66A and the error time 67A to the model generation unit 62.
[0141] The model generation unit 62 performs learning processing using the estimated time 66A and the error time 67A (step S120). Specifically, the model generation unit 62 learns the error time 67A corresponding to the estimated time 66A through so-called teacher-guided learning, based on learning data created from the combination of the estimated time 66A and the error time 67A obtained by the data acquisition unit 61, and generates a trained model 80.
[0142] After generating the trained model 80, the model generation unit 62 outputs the trained model 80 to the trained model storage unit 65 (step S130). The trained model storage unit 65 stores the trained model 80 generated by the model generation unit 62.
[0143] Figure 14 This diagram illustrates the structure of the inference device included in the scheduling system according to Embodiment 2. The inference device 70 includes a data acquisition unit 71 and an inference unit 72. The data acquisition unit 71 acquires an estimated time 66B from an external source (scheduling device 1B in Embodiment 2) of the inference device 70. The estimated time 66B is the same information as the estimated time 66A. That is, the estimated time 66B is the estimated time set in the task list 41.
[0144] The data acquisition unit 71 acquires the estimated time 66B using the same method as the data acquisition unit 61. The data acquisition unit 71 sends the acquired estimated time 66B to the inference unit 72. In the scheduling system 10, the data acquisition unit 71 is the first data acquisition unit, and the data acquisition unit 61 is the second data acquisition unit.
[0145] The inference unit 72 receives the estimated time 66B sent from the data acquisition unit 71. Additionally, the inference unit 72 reads the trained model 80 from the trained model storage unit 65. Using the trained model 80, the inference unit 72 infers the error time 67B corresponding to the estimated time 66B. That is, by inputting the estimated time 66B obtained by the data acquisition unit 71 into the trained model 80, the inference unit 72 can output the error time 67B inferred based on the estimated time 66B. The inference unit 72 sends the inferred error time 67B to the scheduling device 1B.
[0146] In Embodiment 2, the case where the inference device 70 outputs an appropriate error time 67B using a trained model 80 learned by the model generation unit 62 of the scheduling system 10 was described. However, the inference device 70 may also obtain a trained model 80 from an external system such as another scheduling system. In this case, the inference device 70 outputs an appropriate error time 67B based on the trained model 80 obtained from another scheduling system.
[0147] Next, use Figure 15 The processing sequence of the inference device 70 using the trained model 80 to infer the error time 67B is explained. Figure 15 This is a flowchart illustrating the processing sequence of the inference process performed by the inference device according to Embodiment 2.
[0148] The data acquisition unit 71 acquires the inference data used for inferring the error time 67B (step S210). Specifically, the data acquisition unit 71 acquires the estimated time 66B. The data acquisition unit 71 sends the estimated time 66B to the inference unit 72. The inference unit 72 acquires the estimated time 66B from the data acquisition unit 71 and acquires the trained model 80 from the trained model storage unit 65.
[0149] The inference unit 72 inputs the estimated time 66B to the trained model 80 (step S220) to obtain an appropriate error time 67B.
[0150] The inference unit 72 outputs the data inferred using the trained model 80 and the estimated time 66B (step S230). Specifically, the inference unit 72 sends the appropriate error time 67B obtained by the trained model 80 to the scheduling device 1B.
[0151] The scheduling unit 5 of the scheduling device 1B uses the error time 67B corresponding to the estimated time 66B to create a task execution schedule 43.
[0152] Figure 16 This is a flowchart illustrating the processing sequence of the scheduling process performed by the scheduling device according to Embodiment 2. Furthermore, regarding... Figure 16The processing shown is related to Figure 5 Processes described herein that are identical are marked with the same step number, and repeated descriptions are omitted.
[0153] The processing steps S10 and S20 performed by scheduling device 1B are the same as those performed by scheduling device 1A. The optimization calculation unit 4 sends the estimated time (the execution time of the task set in task execution scheduling 43) set in task sequence data 45 to the inference device 70. The inference device 70 then infers the error time corresponding to the estimated time and sends it to the optimization calculation unit 4. The optimization calculation unit 4 obtains the error time corresponding to the estimated time from the inference device 70 (step S25).
[0154] The optimization calculation unit 4 determines the machining machine that performs each task and the execution order of the tasks within each machining machine based on the constraint list 42A, 42B and the error time. That is, the optimization calculation unit 4 uses the error time to create the machining machine that performs the tasks under the constraint conditions and the execution order of the tasks within each machining machine (step S31). In other words, the optimization calculation unit 4 creates task sequence data 45 with the execution order of the machining machine that performs each task and the execution order of the tasks within each machining machine set in a way that satisfies the constraint conditions specified in the constraint list 42A, 42B, using the error time.
[0155] The optimization calculation unit 4 determines whether there is a restriction condition for the calculation not to end (step S40). If there is a restriction condition for the calculation not to end (step S40, Yes), the scheduling device 1B returns to the processing of step S20 and repeats the processing of steps S20 to S40.
[0156] On the other hand, in the absence of any restrictions that the operation has not ended (step S40, No), the scheduling unit 5 sets the execution date and time of each task based on the execution order of the tasks in each processing machine determined by the optimization calculation unit 4, the estimated time and error time of the task list 41, and creates a task execution schedule 43.
[0157] The output unit 6 outputs the task execution schedule 43 created by the scheduling unit 5 to an external device such as a display device (step S60). Thus, the user can refer to the task execution schedule 43 with the task execution date and time set.
[0158] Furthermore, when creating the trained model 80, the learning device 60 can calculate the number of sets of learning data used by the model generation unit 62 and send this number of sets of learning data to the inference device 70. In this case, when the inference device 70 infers the error time corresponding to the execution time of the task, it calculates the reliability of the inferred error time. The more sets of learning data there are, the higher the reliability calculated by the inference device 70. The reliability calculated by the inference device 70 is displayed via a display device or the like. Thus, the user can refer to the reliability of the error time.
[0159] Alternatively, the task filtering unit 3 can send the estimated time to the inference device 70. In this case, the inference device 70 sends the inferred error time to the task filtering unit 3. The task filtering unit 3 filters tasks based on the estimated time and the error time. The optimization calculation unit 4 sets the tasks in the task sequence data 45 based on the estimated time and the error time.
[0160] As described above, in the scheduling system 10, the learning device 60 learns the error time corresponding to the estimated time based on the estimated time and error time of previously executed tasks to generate a trained model 80. The inference device 70 infers the error time corresponding to the estimated time by inputting the estimated time set in the task list 41 into the trained model 80. The scheduling device 1B creates a task execution schedule 43 based on the estimated time set in the task list 41 and the inferred error time, in a way that the tasks meet the constraints. The scheduling system 10 learns the estimation error and makes inferences, thus reducing the risk that tasks will exceed the constraints of the execution deadline.
[0161] Figure 17 This diagram illustrates the scheduling process performed by the scheduling device according to Embodiment 2. Figure 17 The text explains how the optimization calculation unit 4 determines the machining center that executes each task and the execution order of tasks within each machining center based on the filtered task list 41, constraint lists 42A and 42B, and error time. Figure 17 The diagram shows the error time Tx of task "J002" set in the task sequence data 45.
[0162] The optimization calculation unit 4 sets the task and error time in the task sequence data 45 in such a way that the total time of the estimated time and error time of the task meets the constraint condition (the execution period of maintenance H11 of the machining machine "PM002"). That is, even if the task meets the constraint condition, the optimization calculation unit 4 will not set the task and error time in the task sequence data 45 if the total time of the estimated time and error time of the task does not meet the constraint condition.
[0163] As described above, the scheduling system 10 of Embodiment 2 includes: a learning device 60 that creates a trained model 80 for inferring error time based on the estimated time of a task; and an inference device 70 that uses the trained model 80 to infer error time based on the estimated time of a task. Furthermore, the scheduling device 1B uses the error time inferred from the trained model 80 to create a task execution schedule 43. Therefore, the scheduling system 10 can reduce the risk of tasks exceeding the constraints of their execution deadlines.
[0164] Implementation method 3.
[0165] Next, use Figures 18 to 23 Implementation method 3 will be described. In implementation method 3, after the optimization calculation is performed, it is detected whether there is a violation of the constraints (constraint violation). If a constraint violation is found, the optimization calculation is performed again.
[0166] The scheduling device in Implementation 3 determines the execution order of tasks when there are tasks with restrictions. Tasks that violate the restrictions (cannot execute tasks with execution restrictions) are temporarily excluded from the task order data 45, and then set in the task order data 45 according to the restrictions.
[0167] Figure 18 This is a diagram showing the structure of the scheduling device involved in Embodiment 3. Regarding... Figure 18 Among the structural elements, and Figure 1 The structural elements of the scheduling device 1A in Embodiment 1 that perform the same function are labeled with the same number, and repeated descriptions are omitted.
[0168] Like scheduling device 1A, scheduling device 1C is a computer that creates task execution schedules 43. Scheduling device 1C includes an input unit 2, an optimization calculation unit 4, a scheduling unit 5, a violation detection unit 7, and an output unit 6.
[0169] In the scheduling device 1C, the input unit 2 is connected to the optimization calculation unit 4, the scheduling unit 5, and the restriction violation detection unit 7. The optimization calculation unit 4 is connected to the scheduling unit 5. Furthermore, in the scheduling device 1C, the scheduling unit 5 is connected to the restriction violation detection unit 7. The restriction violation detection unit 7 is connected to the output unit 6 and the optimization calculation unit 4.
[0170] The input unit 2 of the scheduling device 1C inputs the task list 41 to the optimization calculation unit 4, the scheduling unit 5, and the restriction violation detection unit 7. In addition, the input unit 2 inputs the restriction condition lists 42A and 42B to the restriction violation detection unit 7.
[0171] The optimization calculation unit 4 of the scheduling device 1C determines the processing machine to execute each task and the execution order of the tasks within each processing machine based on the task list 41 before task screening. The optimization calculation unit 4 allocates tasks to the processing machines in a manner that minimizes the completion time of all tasks in the task list 41.
[0172] For each task, the scheduling unit 5 creates a task execution schedule 43, which specifies the processing machine to be executed, the execution order, and the execution date and time. The scheduling unit 5 then sends the created task execution schedule 43 to the restriction violation detection unit 7.
[0173] The restriction violation detection unit 7 detects tasks that violate restrictions within the task execution schedule 43 or the task sequence data 45, based on the task execution schedule 43 and the restriction condition lists 42A and 42B. In embodiment 3, the optimization calculation unit 4 determines the processing machine that executes each task and the execution order of tasks within each processing machine without considering the restrictions set in the restriction condition lists 42A and 42B. Therefore, sometimes the task execution schedule 43 and the task sequence data 45 contain tasks that violate restrictions (tasks that do not meet the restrictions). Therefore, the restriction violation detection unit 7 detects tasks that violate restrictions within the task execution schedule 43 or the task sequence data 45.
[0174] When the restriction violation detection unit 7 detects a task that violates the restriction conditions, it removes the task from the task execution schedule 43 and the task sequence data 45. Furthermore, when the restriction violation detection unit 7 detects a task that violates the restriction conditions, it corrects the task list 41 by removing tasks that do not violate the restriction conditions from the task list 41. That is, the restriction violation detection unit 7 creates a corrected task list 41 that removes tasks that do not violate the restriction conditions from the task list 41. As described above, the restriction violation detection unit 7 determines the execution schedule of tasks that do not violate the restriction conditions and removes those tasks from the task list 41. Therefore, tasks that violate the restriction conditions are retained in the task list 41.
[0175] In addition, the restriction violation detection unit 7 adds tasks corresponding to the restriction conditions (tasks used to eliminate the restriction conditions) to the task list 41. For example, the restriction violation detection unit 7 adds tasks such as maintenance performed to eliminate the restriction conditions to the task list 41.
[0176] The restriction violation detection unit 7 deletes tasks that do not violate the restrictions and sends a list 41 of tasks with added maintenance or other tasks to the optimization calculation unit 4. Additionally, the restriction violation detection unit 7 sends task sequence data 45, after the deletion of tasks that violated the restrictions, to the optimization calculation unit 4. Furthermore, the restriction violation detection unit 7 sends task execution scheduling 43, after the deletion of tasks that violated the restrictions, to the optimization calculation unit 4.
[0177] If no violation of the restriction conditions is detected, the restriction violation detection unit 7 sends the task execution schedule 43 to the output unit 6. The output unit 6 outputs the task execution schedule 43 to an external device such as a display device.
[0178] If the optimization calculation unit 4 receives the revised task list 41 from the restriction violation detection unit 7, it determines the processing machine to perform each task and the execution order of the tasks within each processing machine based on the task list 41. That is, the optimization calculation unit 4 adds tasks such as maintenance to the task list 41 after deleting tasks that do not violate the restriction conditions, and then determines the processing machine to perform each task and the execution order of the tasks within each processing machine. Here, the optimization calculation unit 4 also assigns tasks to processing machines in a way that shortens the completion time of all tasks in the task list 41. The optimization calculation unit 4 adds the determined processing machine to perform each task and the execution order of the tasks within each processing machine to the revised task list 41. Furthermore, the optimization calculation unit 4 retains tasks that do not violate the restriction conditions in the task order data 45 and deletes tasks that violate the restriction conditions from the task order data 45.
[0179] In the scheduling device 1C, there are processes performed by the repetition optimization calculation unit 4, the scheduling unit 5, and the restriction violation detection unit 7. That is, the repetition optimization calculation unit 4 determines the execution order of tasks in each processing machine, the scheduling unit 5 creates a task execution schedule 43, and the restriction violation detection unit 7 detects tasks that violate restrictions within the task execution schedule 43.
[0180] Figure 19 This is a flowchart illustrating the processing sequence of the scheduling process performed by the scheduling device according to Embodiment 3. Furthermore, regarding... Figure 19 The processing shown is in Figure 5 Processes that are identical as described in the instructions are marked with the same step number, and duplicate descriptions are omitted.
[0181] The processing steps S10 and S60 performed by scheduling device 1C are the same as those performed by scheduling device 1A. Input unit 2 reads task list 41 and constraint lists 42A and 42B from external devices (step S10). Input unit 2 inputs task list 41 to optimization calculation unit 4, scheduling unit 5, and constraint violation detection unit 7. Additionally, input unit 2 inputs constraint lists 42A and 42B to constraint violation detection unit 7.
[0182] Based on the task list 41, the optimization calculation unit 4 determines the processing machine to execute each task and the execution order of the tasks within each processing machine. That is, the optimization calculation unit 4 creates the processing machines and execution order of the tasks (step S30a).
[0183] Based on the execution order of tasks in each processing machine determined by the optimization calculation unit 4 and the estimated time of the task list 41, the scheduling unit 5 sets the execution date and time of each task (step S50a) and creates a task execution schedule 43.
[0184] The restriction violation detection unit 7 determines, based on the task execution schedule 43 and the restriction condition lists 42A and 42B, whether there are any tasks that violate the restriction conditions within the task execution schedule 43 (step S55).
[0185] If a task violating the restrictions exists within the task execution scheduling 43 (step S56, Yes), the restriction violation detection unit 7 removes the task that does not violate the restrictions from the task list 41, while retaining the task that violates the restrictions in the task list 41. Additionally, the restriction violation detection unit 7 adds a task for removing the restrictions to the task list 41. As described above, the restriction violation detection unit 7 removes the task that does not violate the restrictions from the task list 41 and adds a task for removing the restrictions to the task list 41 (step S57). The task list 41 with the task for removing the restrictions added after the task that does not violate the restrictions is the task list 41X described later.
[0186] The restriction violation detection unit 7 deletes the tasks that violate the restriction conditions and sends a task list 41X containing tasks to eliminate the restriction conditions to the optimization calculation unit 4. The scheduling device 1C returns to the processing of step S30a and repeats the processing of steps S30a to S56.
[0187] If there are no tasks that violate the constraints within the task execution schedule 43 (step S56, No), the output unit 6 outputs the task execution schedule 43 created by the scheduling unit 5 to an external device such as a display device (step S60). Thus, the user can refer to the task execution schedule 43 with the execution date and time set for the tasks.
[0188] As described above, the scheduling device 1C determines the processing machine to perform each task and the execution order of the tasks within each processing machine without using the constraint lists 42A and 42B. That is, the scheduling device 1C determines the execution order of tasks even when tasks with constraints exist. Furthermore, if a task meets the constraint that prevents its execution, the scheduling device 1C automatically excludes that task from the task execution schedule 43 and does not allocate execution time to it. Therefore, the scheduling device 1C initially does not exclude tasks, but after performing scheduling with the premise of executing all tasks, it can exclude only tasks that do not meet the constraints from the task execution schedule 43, thus simplifying the rules for excluding tasks that do not meet the constraints. As a result, the scheduling device 1C can create a task execution schedule 43 that meets the constraints with fewer computations and shorter computation time than the scheduling device 1A.
[0189] Figure 20 This diagram illustrates the first stage of the scheduling process performed by the scheduling device according to Embodiment 3. Figure 21 This diagram illustrates the second stage of the scheduling process performed by the scheduling device according to Embodiment 3.
[0190] The optimization calculation unit 4, based on the task list 41, assigns each task to the machining machine in descending order of priority. For example, the optimization calculation unit 4 assigns task "J001" to machining machine "PM001", task "J002" to machining machine "PM003", and task "J003" to machining machine "PM001". Additionally, the optimization calculation unit 4, for example, assigns task "J004" (in...) to machining machine "PM001". Figure 20 and Figure 21 (Not shown in the diagram) Set the task "J005" to machine "PM002" and the task "J006" to machine "PM003". Alternatively, task "J002" can also be set to machine "PM001".
[0191] The scheduling unit 5 creates a task execution schedule 43 based on the execution order of tasks in each processing machine determined by the optimization calculation unit 4 and the estimated time of the task list 41.
[0192] The restriction violation detection unit 7 determines whether there are any tasks that violate the restrictions within the task execution schedule 43, based on the task execution schedule 43 and the restriction condition lists 42A and 42B.
[0193] For example, task execution scheduling 43 in relation to Figure 20 When the task sequence data 45 shown corresponds to the limit violation detection unit 7, the task "J002" and "J006" set in the stopped processing machine "PM003" are determined to be in violation of the limit conditions.
[0194] In addition, the restriction detection department 7 determines that the task "J005" that was not set until the deadline for the maintenance H11 of "PM002" is violated, and that was set until the date and time of the execution deadline of the maintenance H11 of "PM002" is exceeded.
[0195] In addition, the restriction violation detection unit 7 will determine that tasks "J003" and "J004" that were not set in the maintenance H11 and H12 of "PM001" until the deadline has been reached, or that were set until the date and time of the execution deadline of the maintenance H11 and H12 of "PM001" have been exceeded, are in violation of the restriction conditions.
[0196] exist Figure 21The diagram shows the status of tasks that have violated restrictions, extracted by the restriction violation detection unit 7. The restriction violation detection unit 7 retains the tasks that have violated restrictions in the task list 41, and deletes the task "J001" that has not violated restrictions from the task list 41.
[0197] Figure 22 This diagram illustrates the structure of the task list corrected by the scheduling device according to Embodiment 3. As described above, the restriction violation detection unit 7 of the scheduling device 1C retains tasks "J002" to "J006" that have violated restrictions in the task list 41, and deletes task "J001" that has not violated restrictions from the task list 41. Thus, the restriction violation detection unit 7 generates a task list 41X that has been corrected from the task list 41.
[0198] Additionally, the restriction violation detection department 7 will add a task to task list 41X to remove the restriction conditions. Figure 22 The diagram shows the case where “PM001_H11”, “PM001_H12”, “PM002_H11”, and “PM003_OUT” are appended to task list 41X as task IDs used to remove restrictions.
[0199] As mentioned above, "PM003_OUT" indicates that machining machine "PM003" is stopped. Additionally, "PM001_H11" and "PM001_H12" indicate maintenance instructions H11 and H12 for machining machine "PM001," respectively, and "PM002_H11" indicates maintenance instruction H12 for machining machine "PM002." Furthermore, the delivery date for the task used to eliminate the limiting conditions is the task execution period.
[0200] The restriction violation detection unit 7 sets the highest priority level for stopped processing machines. Here, the restriction violation detection unit 7 sets the first priority level for "PM003_OUT". Furthermore, among the tasks used to eliminate restrictions, the task with the closest execution deadline (delivery date) is assigned a higher priority level by the restriction violation detection unit 7. Additionally, the restriction violation detection unit 7 postpones the priority level of tasks originally set in task list 41 in task list 41X.
[0201] The optimization calculation unit 4 determines the processing machine that executes each task and the execution order of the tasks in each processing machine based on the task list 41X. Figure 23 This diagram illustrates the third stage of the scheduling process performed by the scheduling device according to Embodiment 3.
[0202] Based on the task list 41X, the optimization calculation unit 4 assigns each task to the processing machine in descending order of priority. In this case, if the optimization calculation unit 4 assigns a task that can be performed before maintenance, it will do so even if the priority is lower than maintenance.
[0203] Here, the optimization calculation unit 4 sets "PM003_OUT" in the machining machine "PM003" to indicate that it is stopped, based on the task sequence data 45. In addition, the optimization calculation unit 4 sets the task "J002" that can be executed before the maintenance H11 of the machining machine "PM002" in the machining machine "PM002", and then sets the maintenance H11 in the machining machine "PM002".
[0204] Furthermore, the optimization calculation unit 4 sets the task "J001" that can be executed before the maintenance H11 of the machining machine "PM001" in the machining machine "PM001", and then sets maintenance H11 in the machining machine "PM001". Also, similarly to Embodiment 1, the optimization calculation unit 4 sets maintenance H12 in the machining machine "PM001", and then sets task "J003" in the machining machine "PM001". Additionally, the optimization calculation unit 4 sets task "J005" in the machining machine "PM002".
[0205] In the scheduling device 1C, the processing is performed by the repetitive optimization calculation unit 4, the processing by the scheduling unit 5, and the processing by the restriction violation detection unit 7. If the task execution schedule 43 created by the scheduling unit 5 does not contain any tasks that violate the restriction conditions, the restriction violation detection unit 7 sets the maintained tasks in the task execution schedule 43 based on the restriction condition list 42B.
[0206] Therefore, scheduling device 1C can create the same task execution schedule 43 as scheduling device 1A. Furthermore, if the restriction violation detection unit 7 determines that there is no restriction violation in a task that eliminates restrictions such as maintenance, it can set a maintenance task in the task execution schedule 43 at any time after determining that the task is set to the task execution schedule 43.
[0207] Furthermore, the scheduling device 1C can also be applied to the scheduling system 10 described in Embodiment 2. In this case, the scheduling system 10 includes the scheduling device 1C, the learning device 60, the trained model storage unit 65, and the inference device 70. In this scheduling system 10, the inference device 70 is also connected to the scheduling unit 5 and sends the inferred error time to the scheduling unit 5.
[0208] As described above, the scheduling device 1C of Embodiment 3 includes an optimization calculation unit 4 and a restriction violation detection unit 7. Furthermore, the optimization calculation unit 4 creates task sequence data 45 without considering restrictions, and the restriction violation detection unit 7 removes tasks that do not meet the restrictions from the task execution schedule 43 and the task sequence data 45, removes tasks that meet the restrictions from the task list 41, and adds tasks used to eliminate restrictions to the task list 41, thereby creating a revised task list 41. The optimization calculation unit 4 solves the optimization problem based on the revised task list 41, thereby determining the machine to execute the tasks and the execution order of the tasks within the machine in a way that minimizes the completion time of all tasks in the revised task list 41, and adds this to the task sequence data 45. Thus, the scheduling device 1C can simplify the rules for excluding tasks that do not meet the restrictions. Therefore, the scheduling device 1C can create a task execution schedule 43 that meets the restrictions in a short time.
[0209] Here, the hardware structure of scheduling devices 1A to 1C will be described. Furthermore, since scheduling devices 1A to 1C have the same hardware structure, the hardware structure of scheduling device 1A will be described here.
[0210] Figure 24 This diagram illustrates an example of the hardware structure for implementing the scheduling device according to Embodiment 1. The scheduling device 1A can be implemented using an input device 300, a processor 100, a memory 200, and an output device 400. Examples of the processor 100 include a CPU (also known as a Central Processing Unit, processing device, arithmetic unit, microprocessor, microcomputer, DSP (Digital Signal Processor)) or a system LSI (Large Scale Integration). Examples of the memory 200 include RAM (Random Access Memory) and ROM (Read Only Memory).
[0211] The scheduling device 1A is implemented by the processor 100 reading and executing a computer-executable scheduling program stored in the memory 200 for performing the actions of the scheduling device 1A. The program used to perform the actions of the scheduling device 1A, i.e., the scheduling program, can be described as the sequence or method by which the computer executes the scheduling device 1A.
[0212] The scheduling program executed by the scheduling device 1A is a modular structure including a task filtering unit 3, an optimization calculation unit 4, and a scheduling unit 5. The task filtering unit 3, the optimization calculation unit 4, and the scheduling unit 5 are downloaded to the main storage device, and the task filtering unit 3, the optimization calculation unit 4, and the scheduling unit 5 are generated on the main storage device.
[0213] Input device 300 receives task list 41 and constraint list 42A, 42B and sends them to processor 100.
[0214] The memory 200 stores schedulers, etc. Additionally, the memory 200 is used as temporary storage when the processor 100 performs various processes. The output device 400 outputs the task execution schedule 43.
[0215] The scheduler can be provided as a computer program product, stored as an installable or executable file on a computer-readable storage medium. Alternatively, the scheduler can also be provided to the scheduling device 1A via a network such as the Internet. Furthermore, the functions of the scheduling device 1A can be implemented partly through dedicated hardware such as dedicated circuits, and partly through software or firmware.
[0216] Alternatively, the hardware structure of the task filtering unit 3 can be set as follows: Figure 24 The hardware structure shown is shown. Alternatively, the hardware structure of the optimization arithmetic unit 4 can be configured as follows: Figure 24 The hardware structure shown is shown. Alternatively, the hardware structure of the scheduling unit 5 can also be set to... Figure 24 The hardware structure shown is shown. Alternatively, the hardware structure of the learning device 60 can also be set to... Figure 24 The hardware structure shown is shown. Alternatively, the hardware structure of the inference device 70 can also be set to... Figure 24 The hardware structure shown.
[0217] The structure shown in the above embodiments is an example, and it can also be combined with other known technologies, and the embodiments can be combined with each other. Without departing from the spirit of the subject, some parts of the structure can be omitted or changed.
[0218] Explanation of the label
[0219] 1A-1C scheduling device, 2 input unit, 3 task screening unit, 4 optimization calculation unit, 5 scheduling unit, 6 output unit, 7 restriction violation detection unit, 10 scheduling system, 41, 41X task lists, 42A, 42B restriction condition lists, 43 task execution scheduling, 45 task sequence data, 50 restriction elimination task list, 60 learning device, 61, 71 data acquisition unit, 62 model generation unit, 65 trained model storage unit, 66A, 66B estimation time, 67A, 67B error time, 70 inference device, 72 inference unit, 80 trained model, 100 processor, 200 memory, 300 input device, 400 output device.
Claims
1. A scheduling device, characterized in that, have: The task filtering unit creates a task list, i.e., a filtered task list, based on a list of multiple tasks performed by multiple processing machines, i.e., a task list, and a list of constraints for the processing machines, i.e., a constraint list. The optimization calculation unit solves the optimization problem based on the filtered task list, thereby determining the processing machine that executes the task and the execution order of the tasks in the processing machine in a way that minimizes the completion time of all tasks in the task list, and creating data representing the processing machine that executes the task and the execution order of the tasks in the processing machine, namely task order data; as well as The scheduling department, based on the task sequence data and the task list, creates a task execution schedule with the execution date and time set for each task of the processing machine. Repeat the following process: The task filtering unit creates a filtered list of tasks that meet the first of the constraints. The optimization calculation unit creates task sequence data that satisfies the first constraint, and appends tasks used to eliminate the first constraint to the task sequence data; The task filtering unit creates a filtered list of tasks that meet the second strictest constraint among the constraints, namely the second constraint, which is the second constraint. as well as The optimization calculation unit creates task sequence data that satisfies the second constraint, and appends tasks used to eliminate the second constraint to the task sequence data.
2. The scheduling device according to claim 1, characterized in that, The optimization calculation unit sets the execution order of the processing machine and the tasks within the processing machine in a manner that satisfies the constraints.
3. The scheduling device according to claim 1, characterized in that, The task that satisfies the aforementioned constraints is a task that can be completed up to the deadline for the maintenance of the processing machine.
4. The scheduling device according to claim 1, characterized in that, The task that satisfies the aforementioned constraints is a task that can be completed until the consumables of the processing machine reach their lifespan.
5. The scheduling device according to claim 1, characterized in that, The tasks that meet the aforementioned constraints are those that the operator can assign.
6. The scheduling device according to claim 1, characterized in that, After setting the execution order of the machine performing the task and the tasks within the machine in the task sequence data, the optimization calculation unit removes the most stringent restriction by appending the task used to eliminate the most stringent restriction to the task sequence data at a set time.
7. The scheduling device according to claim 1, characterized in that, The task screening department uses at least one of the following as screening criteria: the priority level of the task, the delivery date of the product manufactured by performing the task, the processing machine capable of performing the task, the shipping destination of the product, whether the workpiece to be performed is being prepared, and the date and time when the task was initially registered in the task list.
8. A scheduling device, characterized in that, have: The optimization calculation unit solves the optimization problem by using a list of multiple tasks executed by multiple processing machines, i.e., a task list, and determines the processing machine executing the task and the execution order of the tasks in the processing machine in such a way that the completion time of all the tasks in the task list is minimized, and creates data representing the processing machine executing the task and the execution order of the tasks in the processing machine, i.e., task order data. The scheduling department, based on the task sequence data and the task list, creates a task execution schedule with the execution date and time set for each of the processing machines. as well as The restriction violation detection unit detects that, if it detects a task in the task execution schedule or task sequence data that does not meet the restrictions for the processing machine, it removes the task that does not meet the restrictions from the task execution schedule and the task sequence data, removes the task that meets the restrictions from the task list, and adds the task used to remove the restrictions to the task list, thereby creating a corrected task list. The optimization unit creates the task sequence data without considering the constraints. The optimization calculation unit solves the optimization problem based on the revised task list, thereby determining the execution order of the machine executing the task and the tasks within the machine in such a way that the completion time of all tasks in the revised task list is minimized, and appends data representing the execution order of the machine executing the task and the tasks within the machine to the task order data.
9. A scheduling system, characterized in that, The scheduling device as described in any one of claims 1 to 8; and The inference device infers the error in the estimated time required to perform the task, i.e., the error time. The inference device has: The first data acquisition unit acquires the estimated time; and The inference unit uses a trained model to infer the error time corresponding to the estimated time, and infers the error time based on the estimated time. The optimization calculation unit uses the error time to create the task sequence data.
10. The scheduling system according to claim 9, characterized in that, It also includes a learning device that generates the trained model based on the estimated time and the error time. The learning device has: The second data acquisition unit acquires the estimated time and the error time as learning data; and The model generation unit uses the learning data to generate the trained model.
11. A scheduling method, characterized in that, Includes the following steps: In the task filtering step, the scheduling device creates a task list, i.e., a filtered task list, based on a list of multiple tasks executed by multiple processing machines (i.e., a task list) and a list of constraints for the processing machines (i.e., a constraint list). The scheduling device optimizes the operation steps by solving the optimization problem based on the filtered task list, thereby determining the execution order of the processing machine and the tasks in the processing machine in a way that minimizes the completion time of all tasks in the task list, and creating data representing the execution order of the processing machine and the tasks in the processing machine, i.e., task order data. as well as In the scheduling step, the scheduling device creates a task execution schedule based on the task sequence data and the task list, specifying the execution date and time for each task on the processing machine. The scheduling device repeats the following process: Create the filtered task list that satisfies the first constraint among the constraints; Create task sequence data that satisfies the first constraint, and append tasks used to eliminate the first constraint to the task sequence data; Create the filtered task list that satisfies the second strictest constraint among the constraints, namely the second constraint; as well as Create task sequence data that satisfies the second constraint, and append tasks to the task sequence data to eliminate the second constraint.
12. A scheduler product, characterized in that, Have the computer perform the following steps: The task filtering step involves creating a task list, i.e., a filtered task list, based on a list of multiple tasks executed by multiple processing machines (i.e., a task list) and a list of constraints for the processing machines (i.e., a constraint list). The optimization process is achieved by solving the optimization problem based on the filtered task list. In order to minimize the completion time of all tasks in the task list, the machine to execute the task and the execution order of the tasks in the machine are determined, and data representing the machine to execute the task and the execution order of the tasks in the machine, namely task order data, is created. as well as The scheduling step involves creating a task execution schedule based on the task sequence data and the task list, specifying the execution date and time for each task on each processing machine. Repeat the following process: Create the filtered task list that satisfies the first constraint among the constraints; Create task sequence data that satisfies the first constraint, and append tasks used to eliminate the first constraint to the task sequence data; Create the filtered task list that satisfies the second strictest constraint among the constraints, namely the second constraint; as well as Create task sequence data that satisfies the second constraint, and append tasks to the task sequence data to eliminate the second constraint.
Citation Information
Patent Citations
Production plan formulation device, production plan formulation program, and production plan formulation method
JP2021009435A
Task parallel processing implementation method and device, equipment and medium
CN111309479A
Deep learning training task scheduling method and system for efficiency-oriented deadline perception
CN115033360A