Scheduling device, scheduling system, scheduling method, and scheduling program
By introducing a combination method of task screening, optimization operations and scheduling generation in the scheduling device, the problem of long time for task execution scheduling creation in the prior art is solved, and fast and flexible task scheduling is achieved.
Patent Information
- Application Number
- CN202380078461.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-16
- Publication Date
- 2025-06-27
- Estimated Expiration
- 2043-02-16
AI Technical Summary
In the prior art, the order decisiveness used to determine the order of task execution is complex, which makes it take a long time to create task execution scheduling and cannot quickly respond to changes in customer requirements.
A scheduling device is designed to filter out tasks that meet the restrictions based on the task list and restriction condition list of multiple machining machines, optimize task allocation, quickly determine the execution order and machining machine of the task and the machining machine to generate task execution scheduling.
It realizes the creation of task execution scheduling in a short time, improves the efficiency and flexibility of scheduling, and can quickly respond to changes in customer requirements.
Smart Images

Figure CN120225969A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a scheduling device, a scheduling system, a scheduling method, and a scheduling program for creating task execution scheduling applied in a machining device. Background Art
[0002] In recent years, in order to efficiently execute tasks in a machining device, it is preferable to create task execution scheduling (scheduling data) that can shorten the total execution time of tasks composed of multiple tasks.
[0003] The production planning device described in Patent Document 1 obtains the processing order for obtaining a product with a specific shape by performing multiple machining operations on a material, and calculates the processing time required for each machining operation based on the processing order. The production planning device generates a production plan for producing multiple products based on each processing order using multiple machining devices, and extracts a production plan that satisfies the target conditions from multiple production plans obtained based on multiple types of processing orders.
[0004] Patent Document 1: Japanese Unexamined Patent Application Publication No. 2021-009435 Summary of the Invention
[0005] However, in the technology of Patent Document 1 described above, there is the following problem. That is, the order determination formula for determining the execution order of tasks is complex, and if only one restriction for responding to customer requirements is changed, it is necessary to re-establish a complex order determination formula. Therefore, it takes a long time to create task execution scheduling.
[0006] The present invention has been made in view of the above circumstances, and an object thereof is to obtain a scheduling device that can create task execution scheduling in a short time and provide it to a user.
[0007] In order to solve the above problems and achieve the object, the scheduling device of the present invention has a task screening unit that creates a screened task list in which tasks that satisfy the restriction conditions are screened out from the tasks set in the task list, based on the task list that is a list of multiple tasks executed by multiple processing machines and the restriction condition list that is a list of restriction conditions for the processing machines. In addition, the scheduling device of the present invention has: an optimization calculation unit that solves an optimization problem based on the screened task list, thereby determines the processing machines that execute tasks and the execution order of tasks in the processing machines so that the time for all tasks in the task list to be completed becomes the shortest, and creates task order data that represents the processing machines that execute tasks and the execution order of tasks in the processing machines; and a scheduling unit that creates task execution scheduling in which the execution date and time of tasks for each processing machine are set, based on the task order data and the task list.
[0008] Effects of the Invention
[0009] The scheduling device according to the present invention has the following effect, that is, it can create a task execution schedule in a short time and provide it to the user. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 It is a diagram showing the structure of the scheduling device according to Embodiment 1.
[0011] Figure 2 It is a diagram showing a structural example of the task list used by the scheduling device according to Embodiment 1.
[0012] Figure 3 It is a diagram showing a structural example of the first constraint condition list used by the scheduling device according to Embodiment 1.
[0013] Figure 4 It is a diagram showing a structural example of the second constraint condition list used by the scheduling device according to Embodiment 1.
[0014] Figure 5 It is a flowchart showing the processing sequence of the scheduling process executed by the scheduling device according to Embodiment 1.
[0015] Figure 6 It is a diagram for explaining the processing in the first stage of the scheduling process executed by the scheduling device according to Embodiment 1.
[0016] Figure 7 It is a diagram for explaining the processing in the second stage of the scheduling process executed by the scheduling device according to Embodiment 1.
[0017] Figure 8 It is a diagram for explaining the processing in the third stage of the scheduling process executed by the scheduling device according to Embodiment 1.
[0018] Figure 9 It is a diagram showing a structural example of the task execution schedule created by the scheduling device according to Embodiment 1.
[0019] Figure 10 It is a diagram showing the structure of a scheduling system having the scheduling device according to Embodiment 2.
[0020] Figure 11 It is a diagram showing the structure of the learning device included in the scheduling system according to Embodiment 2.
[0021] Figure 12 It is a diagram for explaining the neural network used by the learning device according to Embodiment 2.
[0022] Figure 13It is a flowchart showing the processing sequence of the learning process executed by the learning device according to Embodiment 2.
[0023] Figure 14 It is a diagram showing the structure of the inference device included in the scheduling system according to Embodiment 2.
[0024] Figure 15 It is a flowchart showing the processing sequence of the inference process executed by the inference device according to Embodiment 2.
[0025] Figure 16 It is a flowchart showing the processing sequence of the scheduling process executed by the scheduling device according to Embodiment 2.
[0026] Figure 17 It is a diagram for explaining the scheduling process executed by the scheduling device according to Embodiment 2.
[0027] Figure 18 It is a diagram showing the structure of the scheduling device according to Embodiment 3.
[0028] Figure 19 It is a flowchart showing the processing sequence of the scheduling process executed by the scheduling device according to Embodiment 3.
[0029] Figure 20 It is a diagram for explaining the first-stage processing of the scheduling process executed by the scheduling device according to Embodiment 3.
[0030] Figure 21 It is a diagram for explaining the second-stage processing of the scheduling process executed by the scheduling device according to Embodiment 3.
[0031] Figure 22 It is a diagram showing the structure of the task list corrected by the scheduling device according to Embodiment 3.
[0032] Figure 23 It is a diagram for explaining the third-stage processing of the scheduling process executed by the scheduling device according to Embodiment 3.
[0033] Figure 24 It is a diagram showing an example of the hardware structure for implementing the scheduling device according to Embodiment 1. Detailed Embodiment
[0034] Next, the scheduling device, scheduling system, scheduling method, and scheduling program according to the embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0035] Embodiment 1.
[0036] Figure 1This 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 to be executed in a machining equipment such as an electric discharge machine.
[0037] The task execution schedule 43 created by the scheduling device 1A is applied to a machining system that performs machining using multiple machine tools. In this machining system, each of the multiple machine tools processes multiple workpieces by executing multiple types of tasks to produce multiple products. Therefore, the task execution schedule 43 is a schedule (scheduling data) for each of the multiple machine tools to process multiple workpieces by executing multiple types of tasks to produce multiple products. In the task execution schedule 43, the machine tool that executes the task and the start time and end time of the task are set. The scheduling device 1A has a scheduler that creates the task execution schedule 43.
[0038] The scheduling device 1A assigns all tasks to any one of the machine tools, which are machine tools, and automatically assigns the execution order of all tasks to be processed in the machining process using the machine tool. When the scheduling device 1A performs task scheduling using a combinatorial optimization problem or the like, it pre-screens the tasks input to the optimization solver when only some of the machine tools and other environmental factors are given restrictive conditions (execution restrictions). Thus, the scheduling device 1A solves the optimization problem by screening the tasks that are candidates for schedule creation without switching the objective function and the restrictive conditions, and creates the task execution schedule 43.
[0039] For example, when there are tasks that cannot be executed in a part of the scheduling creation target date and time, the scheduling device 1A excludes the tasks that cannot be pre-executed from this time period from the task list 41, and determines the execution order of the tasks for the excluded task list 41.
[0040] The scheduling device 1A has an input unit 2, a task screening unit 3, an optimization calculation unit 4, a scheduling unit 5, and an output unit 6. The input unit 2 reads the task list 41 and the restrictive condition lists 42A and 42B from an external device or the like.
[0041] The task list 41 is a list of tasks to be executed by the machine tool. The restrictive condition lists 42A and 42B are lists of restrictive conditions for assigning tasks to the task order data (task order data 45 described later) used when creating the task execution schedule 43. The task order data 45 is data indicating the machine tool that executes each task and the execution order of the tasks in each machine tool. After creating the task order data 45, the scheduling device 1A creates the task execution schedule 43 based on the task order data 45. Here, an example of the structure of the task list 41 will be described.
[0042] Figure 2This is a diagram showing a structural example of a task list used by the scheduling device according to Embodiment 1. In the task list 41, a task ID (Identification), a priority level (priority), a processing instruction, a workpiece ID, a machining program ID, and an estimated time are associated with each other.
[0043] The task ID is information for identifying a task, and in Figure 2 it is illustrated as, for example, "J001", "J002", etc. The task ID is set by a task list creation device (not shown) that creates the task list 41. In the following description, the tasks with task IDs "J001" to "J006" may be respectively referred to as task "J001" to task "J006".
[0044] In addition, the scheduling device 1A may also have the function of a task list creation device. In this case, the scheduling device 1A creates the task list 41 according to an instruction from the user.
[0045] The priority level is information on the priority of executing a task. For a task with a smaller numerical value of the priority level, it is more likely to be preferentially executed first. That is, under the condition of satisfying the restriction conditions, for a task with a smaller numerical value of the priority level, an execution time on an earlier date and time is allocated.
[0046] In addition, it is not necessary to set different numerical values for all tasks for the priority level, and the same numerical value can be set for different tasks. The priority level can be set, for example, by the task list creation device according to an instruction from the user, or can be automatically set by the task list creation device.
[0047] The processing instruction includes information on the delivery date of the product to be manufactured by executing the task and the processing machine ID of the processing machine that can execute the task. The processing machine ID is information for identifying the processing machine that can be set in the task, and in Figure 2 it is illustrated as, for example, "PM001", "PM002", etc. For a task in which the processing machine ID in the task corresponding to the task ID is left blank, it is a task that can be processed by any processing machine. The processing instruction can be set, for example, by the task list creation device according to an instruction from the user, or can be automatically set by the task list creation device. In the following description, the processing machines with processing machine IDs "PM001" to "PM003" may be respectively referred to as processing machine "PM001" to processing machine "PM003".
[0048] The workpiece ID is information for identifying the workpiece that executes the task. The machining program ID is information for identifying the machining program used when executing the task. The workpiece ID and the machining program ID may not be included in the task list 41.
[0049] The estimated time is the estimated time required for the execution of a task. The estimated time includes the estimated time for processing, the estimated time for pre-processing, and the estimated time for post-processing. The estimated time for pre-processing includes the workpiece loading time and the changeover adjustment time of the workpiece. The changeover adjustment of the workpiece is the installation process of the workpiece, the measurement process of the reference position of the workpiece, etc. The estimated time for post-processing includes the measurement process of the workpiece and the workpiece unloading time. In addition, the estimated time may be the total time of the estimated time for processing, the estimated time for pre-processing, and the estimated time for post-processing.
[0050] Next, a structural example of the constraint lists 42A and 42B will be described. Figure 3 FIG. is a diagram showing a structural example of the first constraint list used by the scheduling device according to Embodiment 1. In the constraint list 42A as the first constraint list, information for identifying a processing machine, i.e., the processing machine ID, information indicating whether the processing machine is stopped, i.e., the stopped information, non-executable processes, the consumable life prediction time, and the maintenance execution deadline are associated with each other.
[0051] In the stopped information, either information indicating that the processing machine is stopped or information indicating that the processing machine is not stopped is set. In Figure 3 the stopped information, it is shown that "0" is set as information indicating that the processing machine is not stopped, and "1" is set as information indicating that the processing machine is stopped.
[0052] In the non-executable processes, the process ID of the process that cannot be executed in the processing machine is set. The process ID is information for identifying a process. In the non-executable processes, for example, "0" is set when all processes can be executed in the processing machine, and "9" is set when not all processes can be executed. In addition, in the non-executable processes, when "H13" is set as the process ID, the processing machine cannot execute the process corresponding to "H13".
[0053] The 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 life. In Figure 3 it is shown that the consumable life prediction time is the time until it is predicted that the consumables reach the end of their life, but the consumable life prediction time may also be the date and time when it is predicted that the consumables reach the end of their life. The consumable life prediction time is set for each consumable. In Figure 3 it is shown that the consumables included in the constraint list 42A are consumable B11 and consumable B12.
[0054] The maintenance execution deadline is the time from the current moment until a maintenance operation is performed on the processing machine. In Figure 3In [the figure], a case is shown where the maintenance execution deadline is the time until the maintenance operation is executed, but the maintenance execution deadline may also be the date and time of executing the maintenance operation. The maintenance execution deadline is set for each type of maintenance operation. In Figure 3 In [the figure], a case is shown where the types of maintenance operations included in the restriction condition list 42A are maintenance H11, maintenance H12, and maintenance H13.
[0055] In addition, the consumable life prediction time and the maintenance execution deadline can be set, for example, by the task list creation device according to an instruction from the user, or can be automatically set by the task list creation device.
[0056] Figure 4 It is a diagram showing a structural example of the second restriction condition list used by the scheduling device according to Embodiment 1. In the restriction condition list 42B as the second restriction condition list, the process ID is associated with whether human operation is required. The restriction condition list 42B is a list of restriction conditions for consumable replacement, maintenance operations, etc.
[0057] The process ID is information for identifying operation processes such as consumable replacement and maintenance operations. “H11” to “H13” in the process ID indicate the operations of maintenance H11 to H13 described in Figure 3 and “B11” and “B12” indicate the replacement operations of consumable B11 and consumable B12 described in Figure 3 respectively.
[0058] Whether human operation is required is information indicating whether the process requires an operator (worker). That is, whether human operation is required is a restriction condition that stipulates whether an operator is required. In Figure 4 the whether human operation is required, a case is shown where “1” is set as information indicating a process that requires an operator, and “0” is set as information indicating a process that does not require an operator. For a process where “1” is set in whether human operation is required, the restriction condition is satisfied when operator assignment is possible, and is not satisfied when operator assignment is not possible.
[0059] In addition, in the restriction condition lists 42A and 42B, it may include the processing machines capable of executing tasks, the idle status of the processing machines in the next process at the scheduled end time of the task, etc. When “0” is set in whether human operation is required, cleaning tasks and the like during the time period without an operator (unattended time period) can be skipped. Also, when the idle status of the processing machines in the next process at the scheduled end time of the task is included in the restriction condition lists 42A and 42B, the scheduling device 1A can shorten the waiting time until a cleaning task is set after rough machining or finish machining, etc.
[0060] The input unit 2 inputs the task list 41 and the constraint lists 42A and 42B into the task screening unit 3, the optimization operation unit 4, and the scheduling unit 5. The task screening unit 3 screens the tasks in the task list 41 for the tasks to be registered in the task sequence data 45 based on the constraint lists 42A and 42B. That is, the task screening unit 3 screens the tasks in the task list 41 for the tasks to be registered in the task sequence data 45 in a manner that satisfies the constraint lists 42A and 42B. The task screening unit 3 screens the tasks in the task list 41 for the tasks to be registered in the task sequence data 45 so as not to set tasks in the processing machines set to stop by the stop information and in the processes set to be non-executable in the non-executable processes. In addition, in the following description, the case where the scheduling device 1A creates the task execution schedule 43 mainly based on the constraint list 42A will be described.
[0061] The task screening unit 3, for example, screens the tasks so that the consumables can be replaced until the consumable life prediction time. In addition, the task screening unit 3, for example, screens the tasks so that the maintenance work can be performed until the maintenance execution deadline. The task screening unit 3 sends the task list 41 after screening the tasks to the optimization operation unit 4. In addition, sometimes in the following description, the task list 41 after screening will be referred to as the screened task list 41.
[0062] The optimization operation unit 4 has an optimization solver that executes the optimization of the tasks. The optimization operation unit 4 determines the processing machines for executing each task and the execution order of the tasks in each processing machine based on the screened task list 41 and the constraint lists 42A and 42B. That is, the optimization operation unit 4 sequentially assigns the tasks in the screened task list 41 to arbitrary processing machines in a manner that satisfies the constraint lists 42A and 42B, thereby determining the processing machines for executing each task and the execution order of the tasks in each processing machine.
[0063] The optimization operation unit 4 determines the processing machines for executing each task and the execution order of the tasks in each processing machine by solving the optimization problem. The optimization operation unit 4 assigns the tasks to the processing machines in such a way that the tasks with higher priority levels are executed at earlier times. In addition, the optimization operation unit 4 assigns the tasks to the processing machines in such a way that the time for all the tasks in the task list 41 to be completed becomes the shortest. That is, the optimization operation unit 4 assigns the tasks to the processing machines in such a way that the total execution time of the tasks included in the task list 41 becomes shorter.
[0064] In the scheduling device 1A, the task screening unit 3 and the optimization calculation unit 4 create the task sequence data 45 while sharing the task sequence data 45. In the task sequence data 45, the task screening unit 3 sets the execution deadline of maintenance, etc. as a limiting condition, and extracts the tasks that can be set until the execution deadline of maintenance. The task screening unit 3 sends the task sequence data 45 with the limiting conditions such as the execution deadline of maintenance set and the tasks that meet the limiting conditions (tasks that can be set until the execution deadline of maintenance) to the optimization calculation unit 4. The optimization calculation unit 4 selects the tasks that can be set for the processing machine from the tasks that meet the limiting conditions and sets them in the task sequence data 45. When there are no tasks that meet the limiting conditions, the optimization calculation unit 4 eliminates the limiting conditions by setting the maintenance tasks, etc. in the task sequence data 45. Moreover, the task screening unit 3 sets the next limiting condition in the task sequence data 45 and extracts the tasks that meet this limiting condition. The task screening unit 3 and the optimization calculation unit 4 repeat these processes to set all the 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 that sets the execution order of the tasks in each processing machine to the scheduling unit 5 for all the tasks in the task list 41.
[0065] Based on the task sequence data 45 and the task list 41, the scheduling unit 5 sets the execution date and time for each task. In this case, the scheduling unit 5 refers to the processing machine of each task in the task execution sequence data 45 and the execution order of the tasks in each processing machine. In addition, the scheduling unit 5 refers to the estimated time in the task list 41. In addition, the scheduling unit 5 refers to the task sequence data 45, the time required for replacing the consumables (replacement time) and the time required for maintenance (maintenance time) performed for each processing machine, and sets the replacement date and time and the maintenance date and time of the consumables. In addition, the replacement time and the maintenance time can be set in the task list 41 or in the limiting condition lists 42A and 42B.
[0066] For each task, the scheduling unit 5 creates a task execution schedule 43 that sets the processing machine that executes the task, the execution order, and the execution date and time of the task. The scheduling unit 5 sends the created task execution schedule 43 to the output unit 6. The output unit 6 provides it to the user by outputting the task execution schedule 43 to an external device such as a display device. Thus, the task execution schedule 43 is displayed on the display device, and the user can refer to the task execution schedule 43.
[0067] Figure 5It is a flowchart showing the processing sequence of the scheduling process executed by the scheduling device according to Embodiment 1. The input unit 2 reads in the task list 41 and the constraint condition lists 42A and 42B from an external device or the like (step S10). The input unit 2 inputs the task list 41 and the constraint condition lists 42A and 42B to the task screening unit 3.
[0068] The task screening unit 3 screens the tasks to be registered in the task sequence data 45 from the tasks in the task list 41 based on the constraint condition lists 42A and 42B. That is, the task screening unit 3 screens the tasks in the task list 41 according to the contents set as constraint conditions in the constraint condition lists 42A and 42B (step S20). The task screening unit 3 sends the screened tasks (the screened task list 41) to the optimization operation unit 4.
[0069] The optimization operation unit 4 determines the processing machine for executing each task and the execution order of the tasks in each processing machine based on the constraint condition lists 42A and 42B. That is, the optimization operation unit 4 creates the processing machine for the tasks under the constraint conditions and the execution order in each processing machine (step S30). In other words, the optimization operation unit 4 creates the task sequence data 45 in which the processing machine for executing each task and the execution order of the tasks in each processing machine are set in a manner that satisfies the constraint conditions specified in the constraint condition lists 42A and 42B.
[0070] The optimization operation unit 4 determines whether all the constraint conditions are set in the task sequence data 45. That is, the optimization operation unit 4 determines whether there are any constraint conditions for which the operation has not ended (step S40).
[0071] In the case where there are constraint conditions for which 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, in the case where there are no constraint conditions for which the operation has not ended (step S40, No), the optimization operation unit 4 sends the determined task sequence data 45 in which the processing machine for executing each task and the execution order of the tasks are set to the scheduling unit 5. That is, the optimization operation unit 4 sends the execution order of the tasks in each processing machine to the scheduling unit 5.
[0073] 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 operation unit 4 and the estimated time of the task list 41 (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 in which the execution date and time of the tasks are set.
[0075] Next, use Figures 6 - 8 to illustrate a specific example of the scheduling process implemented by the scheduling device 1A. In Figures 6 - 8 , the case where the scheduling device 1A performs task scheduling based on the task list 41 and the constraint lists 42A and 42B is described.
[0076] Figure 6 is a diagram for explaining the first-stage process of the scheduling process executed by the scheduling device according to Embodiment 1. Figure 7 is a diagram for explaining the second-stage process of the scheduling process executed by the scheduling device according to Embodiment 1. Figure 8 is a diagram for explaining the third-stage process of the scheduling process executed by the scheduling device according to Embodiment 1. Figures 6 - 8 Shows the task sequence data 45 created by the scheduling device 1A.
[0077] The task screening unit 3 registers the processing machine ID registered in the task list 41 in the task sequence data 45. The task screening unit 3 determines whether there is a stopped processing machine based on the constraint list 42A. For the stopped processing machine, the task screening unit 3 sets "stopped" in the processing machine ID of the task sequence data 45. Here, the task screening unit 3 sets "stopped" in the processing machine "PM003" based on the constraint list 42A.
[0078] The task screening unit 3 sets the constraints for task allocation to each processing machine in the task sequence data 45 according to the constraint list 42A. Specifically, the task screening unit 3 selects the first-executed process among the consumable replacement process or the maintenance process in the constraint list 42A. The task screening unit 3 based on Figure 3 the constraint list of
[0079] 42A, selects the maintenance H11 of the processing machine "PM002" with the closest deadline, and sets the execution deadline of the maintenance
[0080] H11 as a constraint in the processing machine "PM002" of the task sequence data 45.
[0081] The task screening unit 3 screens the tasks in the task list 41 by extracting only the list of tasks that meet the restrictive conditions set in the task sequence data 45 from among the list of tasks registered in the task list 41. Specifically, the task screening unit 3 extracts from the task list 41 the tasks that can be executed until the execution deadline of the maintenance H11 in the processing machine "PM002". That is, the task screening unit 3 extracts only the list of tasks that can be executed until the execution deadline of the maintenance H11 in the processing machine "PM002" from among the list of tasks in the task list 41. The task screening unit 3 screens the tasks by extracting the task ID, priority level, processing instruction, workpiece ID, processing program ID, and estimated time as the list of tasks that can be executed until the execution deadline of the maintenance H11 from the task list 41. The task screening unit 3 sends the screened task list 41 to the optimization operation unit 4. The screened task list 41 here contains the task "J002".
[0082] The optimization operation unit 4 sets the tasks screened by the task screening unit 3 in the task sequence data 45 in order from the task with the highest priority level through optimization operations. Here, the optimization operation unit 4, for example, sets the task "J002" in the processing machine "PM002". At this time, among the tasks that should be executed by the processing machine "PM001", there is no task to be completed within the execution deadline of the maintenance H11 of "PM002" (within 6 hours and 45 minutes), so the optimization operation unit 4 does not create a schedule for the processing machine "PM001". That is, there is no task in the processing machine "PM001" that can be executed until the maintenance H11 of the processing machine "PM002", so no task is set for the processing machine "PM001".
[0083] In addition, the task "J002" can also be set in the processing machine "PM001", but since a task longer than 6 hours and 45 minutes can be set in the processing machine "PM001", the optimization operation unit 4 sets the task "J002" in the processing machine "PM002" where only tasks within 6 hours and 45 minutes can be set. Thus, the optimization operation unit 4 can improve the processing efficiency.
[0084] The optimization operation unit 4 sets the maintenance H11 for the processing machine "PM002" in the task sequence data 45 in order to eliminate the most restrictive condition (the maintenance H11 in the processing machine "PM002") for the processing machine "PM002". In addition, the optimization operation unit 4 sets the operator (WORKER) who performs the maintenance H11 in the task sequence data 45 based on the restriction condition list 42B, and sets the operation date and time performed by this operator in the task sequence data 45. In Figure 7Among them, the maintenance H11 of the processing machine "PM002" performed by the operator is shown as "PM002_H11". In addition, in the list of restrictive conditions 42B, in the case where "0" indicating that no operator is required is set in the "Whether operator is required", there is no need for the operator to set the task sequence data 45, and only the operation date and time are set.
[0085] Next, the task screening unit 3 selects the second process to be executed among the consumable replacement process or the maintenance process in the restrictive condition list 42A. The task screening unit 3 is based on Figure 3 the restrictive condition list 42A, selects the maintenance H11 of the processing machine "PM001", and sets the execution deadline of the maintenance H11 in the task sequence data 45.
[0086] The task screening unit 3 extracts the tasks that can be executed from the task list 41 until the execution deadline of the maintenance H11 in the processing machine "PM001". That is, the task screening unit 3 extracts only the list of tasks that can be executed until the execution deadline of the maintenance H11 in the processing machine "PM001" from the list of tasks in the task list 41. The task screening unit 3 sends the screened task list 41 to the optimization operation unit 4. The screened task list 41 here contains the task "J001".
[0087] The optimization operation unit 4 sets the tasks screened by the task screening unit 3 in the task sequence data 45 in order from the task with the highest priority through optimization operations. Here, the optimization operation unit 4 sets the task "J001" in the processing machine "PM001". Thus, the task "J001" with the first priority is set in the task sequence data 45.
[0088] Then, since there are no tasks that can be input until the deadline of the next restrictive condition (maintenance H11 in the processing machine "PM001"), the optimization operation unit 4 does not create a schedule for the processing machines "PM001" and "PM002". That is, since there are no tasks that can be executed in the processing machines "PM001" and "PM002" until the maintenance H11 of the processing machine "PM001", no tasks are set for the processing machines "PM001" and "PM002".
[0089] The optimization operation unit 4 sets the maintenance H11 of the processing machine "PM001" in the task sequence data 45 in order to eliminate the restrictive condition for the processing machine "PM001" (maintenance H11 in the processing machine "PM001"). In addition, the optimization operation unit 4 sets the operator who performs the maintenance H11 in the task sequence data 45, and sets the operation date and time performed by this operator in the task sequence data 45. In Figure 8In this case, the maintenance H11 of the processing machine "PM001" performed by the operator is shown as "PM001_H11".
[0090] Next, the task screening unit 3 selects, from the restriction condition list 42A, the third process to be executed among the consumable replacement process or the maintenance process. Based on the Figure 3 restriction condition list 42A, the maintenance H12 of the processing machine "PM001" is selected, and the execution deadline of the maintenance H12 is set in the task sequence data 45.
[0091] The task screening unit 3 extracts, from the task list 41, the tasks that can be executed until the execution deadline of the maintenance H12 in the processing machine "PM001". That is, the task screening unit 3 extracts only the list of tasks that can be executed until the execution deadline of the maintenance H12 in the processing machine "PM001" from the list of tasks in the task list 41. The task screening unit 3 sends the screened task list 41 to the optimization calculation unit 4. The screened task list 41 here does not include the list of tasks.
[0092] Regarding the processing machines "PM001" and "PM002", after adding the maintenance H11 of the processing machine "PM001", there are no tasks that can be input until the execution deadline of the maintenance H12, so no tasks are set for the processing machines "PM001" and "PM002".
[0093] The optimization calculation unit 4 sets the maintenance H12 of the processing machine "PM001" in the task sequence data 45 in order to eliminate the restriction condition for the processing machine "PM001" (the maintenance H12 in the processing machine "PM001"). That is, for the processing machine "PM001", the maintenance H12 is set after the maintenance H11.
[0094] In addition, the optimization calculation unit 4 sets the operator who performs the maintenance H12 of the processing machine "PM001" in the task sequence data 45, and sets the operation date and time performed by this operator in the task sequence data 45. In Figure 8 this case, the maintenance H12 of the processing machine "PM001" performed by the operator is shown as "PM001_H12".
[0095] Then, the task screening unit 3 selects, from the restriction condition list 42A, the fourth process to be executed among the consumable replacement process or the maintenance process. The task screening unit 3 sets the execution deadline of the selected maintenance, etc. in the task sequence data 45.
[0096] The task screening unit 3 extracts a list of tasks that can be executed until the deadline set in the task sequence data 45 from the task list 41, and sends the screened task list 41 to the optimization calculation unit 4. The screened task list 41 here includes tasks "J003" and "J005". The optimization calculation unit 4 selects tasks that can be executed until the set deadline from the screened task list 41, and sets them in the task sequence data 45 through optimization calculation.
[0097] The optimization calculation unit 4 sets the task "J003" for the processing machine "PM001" and sets the task "J005" for the processing machine "PM002". Even if the task "J004" is included in the filtered task list 41, the optimization calculation unit 4 sets the task "J005" for the processing machine "PM002" because the processing machine "PM001" is set in the task "J004" and the processing machine "PM002" is set in the task "J005".
[0098] As described above, the scheduling device 1A sets the constraint of the maintenance execution deadline in the task sequence data 45, and repeats the process of creating the filtered task list 41 by extracting tasks satisfying the constraint, and setting the tasks to any processing machine through optimization calculation.
[0099] The tasks to be executed by the processing machines and the order of the tasks to be executed by the processing machines are set in the task sequence data 45 created by the optimization calculation unit 4. The optimization calculation unit 4 sends the created task sequence data 45 to the scheduling unit 5.
[0100] The scheduling unit 5 creates a task execution schedule 43 in which the start time and the end time of the task are set, based on the task sequence data 45 and the task list 41 created by the optimization calculation unit 4 .
[0101] As described above, the scheduling device 1A solves the optimization problem under the constraints, and after setting the processing machine and execution order for executing the task, newly adds a task (maintenance, etc.) that eliminates the most stringent constraint at the set time to remove the constraint. Furthermore, the scheduling device 1A solves the optimization problem under the second most stringent constraint, and after setting the processing machine and execution order for executing the task, newly adds a task (maintenance, etc.) that eliminates the most stringent constraint at the time to remove the constraint. The scheduling device 1A can schedule tasks that satisfy the constraints by repeating the above-described scheduling process.
[0102] Figure 9It is a diagram showing 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 processing machine ID, the start time of the task, and the end time of the task are associated with each other.
[0103] The task execution schedule 43 includes a list of tasks "J001" to "J006" set in the task list 41 and a restriction elimination task list 50 set by the optimization operation unit 4.
[0104] The restriction elimination task list 50 is a list of tasks newly added by the optimization operation unit 4 to eliminate the restriction conditions. The restriction elimination task list 50 is a list of tasks such as maintenance tasks executed to eliminate the restriction conditions. The restriction elimination task list 50 includes a list of tasks such as maintenance tasks set by the optimization operation unit 4 and a list of processing machines that are stopped and set by the optimization operation unit 4.
[0105] In Figure 9 the restriction elimination task list 50, there is a list of maintenance tasks H11 and H12 for the processing machine "PM001" and a list of maintenance task H11 for the processing machine "PM002". In Figure 9 the task execution schedule 43, the task ID of the maintenance task H11 for the processing machine "PM001" is represented by "PM001_H11", the task ID of the maintenance task H12 for the processing machine "PM001" is represented by "PM001_H12", and the task ID of the maintenance task H11 for the processing machine "PM002" is represented by "PM002_H11".
[0106] In addition, in Figure 9 the task execution schedule 43, it shows a case where "PM003_OUT" is set in the task ID as information representing the stopped processing machine "PM003". The start time in the stopped processing machine "PM003" is the time when the processing machine starts to stop, and the end time is the time when the processing machine finishes stopping.
[0107] Generally speaking, if the value criteria of the user of the scheduling device or the requirement specifications for the scheduling become complex, the task list 41 or the restriction condition lists 42A and 42B will become complex. The more complex the task list 41 or the restriction condition lists 42A and 42B become, the more complicated the policy for determining the execution order of tasks becomes, and the tasks cannot be scheduled in the rule base. In addition, even if the scheduling device attempts to solve it as a combinatorial optimization problem, since it takes time to establish the objective function or the restriction conditions, if even one requirement specification is different, it is necessary to re-establish it.
[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 machines for executing each task and the execution order of the tasks in each processing machine. Thus, the scheduling device 1A only needs to allocate a small number of tasks screened according to the restrictive conditions to any processing machine, so that a task execution schedule 43 can be created in a short time.
[0109] In addition, the scheduling device 1A can perform scheduling even without setting complex restrictive conditions and objective functions, so there is no need to correct or add optimization formulas. In addition, the scheduling device 1A can perform scheduling even if the optimization conditional formula does not include complex restrictive conditions. In addition, since the scheduling device 1A can simplify the optimization formula, the calculation time can be shortened.
[0110] In addition, as the screening conditions for tasks, the task screening unit 3 can use any one or a combination of multiple ones of the priority level, delivery date, processing machines capable of executing tasks, shipping destinations of products, information on whether the workpiece is being prepared, and the initial registration date and time of the task (the date and time when the task is initially registered in the task list 41). That is, the task screening unit 3 uses at least one of the priority level, delivery date, processing machines capable of executing tasks, shipping destinations of products, information on whether the workpiece is being prepared, and the initial registration date and time of the task as the screening conditions for tasks. As described above, by applying various screening conditions, the task screening unit 3 can prevent the retention of workpieces with tasks set, and can control so that semi-finished products or finished products do not increase excessively.
[0111] In addition, the scheduling device 1A can be set with a top-priority flag by the user. This top-priority flag is used to assign an execution date and time to a task with the highest priority, ignoring all restrictive conditions such as restrictive conditions on the execution order and restrictive conditions on the execution date and time. The scheduling device 1A sets the task with this top-priority flag at the date and time that will be processed with the highest priority, so it can handle urgent tasks.
[0112] As described above, the scheduling device 1A of Embodiment 1 has a task screening unit 3 and an optimization calculation unit 4. Moreover, the task screening unit 3 creates a screened task list 41 that screens tasks that meet the restrictive condition lists 42A and 42B from the tasks set in the task list 41. The optimization calculation unit 4 creates task order data 45, which is data indicating the processing machines for executing tasks and the execution order of tasks in the processing machines, based on the screened task list 41. Thus, the scheduling device 1A can create a task execution schedule 43 in a short time and provide it to the user.
[0113] Embodiment 2.
[0114] Next, use Figures 10 - 17Description of Embodiment 2. In Embodiment 2, the error in the execution time of a task is learned, and scheduling is performed taking the error into consideration.
[0115] Figure 10 FIG. is a diagram showing the configuration of a scheduling system having a scheduling device according to Embodiment 2. Among the respective structural elements of Figure 10 those related to the structural elements that perform the same functions as the scheduling device 1A of Embodiment 1 shown in Figure 1 are labeled with the same reference numerals, and redundant 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. Similar to the scheduling device 1A, the scheduling device 1B is a computer that creates a 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. In addition, 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 set in the task list 41 and the error time relative to the estimated time. In addition, 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] By learning the correspondence between the estimated time and the error time, the learning device 60 generates a trained model (the trained model 80 described later). The trained model 80 is a model for inferring the error time corresponding to the estimated time. The learning device 60 generates the trained model 80 based on, for example, an error list associating 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 operation unit 4 of the scheduling device 1B. The scheduling device 1B creates a task execution schedule 43 using the error time relative to the estimated time.
[0121] Figure 11It is a diagram showing the structure of the learning device included 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 an estimated time 66A and an error time 67A from outside the learning device 60.
[0122] The estimated time 66A acquired by the data acquisition unit 61 is the estimated time set in the task list 41 in the past (the estimated time of a task that has been executed in the past). When the learning device 60 generates a 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 to the model generation unit 62 as learning data.
[0123] The model generation unit 62 learns the error time 67A corresponding to the estimated time 66A based on the learning data created by the combination of 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 the learning data created by the combination of 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 associated with each other.
[0124] In addition, the data acquisition unit 61 may acquire the estimated time 66A and the error time 67A for each processing machine. In this case, the model generation unit 62 learns the error time 67A corresponding to the estimated time 66A for each processing machine.
[0125] Alternatively, the data acquisition unit 61 may 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] Alternatively, the data acquisition unit 61 may 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] Alternatively, the data acquisition unit 61 may 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] In addition, the data acquisition unit 61 may also acquire the estimated time 66A and the error time 67A for each combination of at least two of the processing 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 processing machine, process, task, and workpiece.
[0129] The model generation unit 62 can use known algorithms such as supervised learning, unsupervised learning, and reinforcement learning as the learning algorithm. As an example, the case where a neural network is applied to the learning algorithm used in the model generation unit 62 will be described.
[0130] The model generation unit 62 learns an appropriate error time 67A corresponding to the estimated time 66A, for example, according to a neural network model, by so-called supervised learning. Here, supervised learning refers to the following method, that is, by giving a data set (learning data) of input and result (label) to the learning device 60, the features included in these learning data are learned, and the result is inferred based on the input.
[0131] The neural network is composed 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 can be two 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 by the inference device 70 when the inference device 70 infers the error time (the error time 67B described later).
[0133] In addition, at least one of the learning device 60, the inference device 70, and the trained model storage unit 65 may be, for example, a device separate from the scheduling system 10 connected to the scheduling system 10 via a network. Additionally, at least one of the learning device 60, the inference device 70, and the trained model storage unit 65 may be built into the scheduling device 1B. Moreover, at least one of the learning device 60, the inference device 70, and the trained model storage unit 65 may exist on a cloud server. Also, the learning device 60 and the inference device 70 may be implemented by different computers, or the learning device 60 and the inference device 70 may be implemented by one computer.
[0134] Figure 12 This is a diagram for explaining the neural network used in the learning device according to Embodiment 2. For example, if it is Figure 12In the case of a three-layer neural network as shown, after multiple inputs are input to the input layer (X1 to X3), their values are multiplied by weights W1 (w11 to w16) and then input to the intermediate layer (Y1 to Y2). Further, the result is multiplied by weights W2 (w21 to w26) and output from the output layer (Z1 to Z3). This output result is changed by the values of weights W1 and weights W2.
[0135] Figure 12 The neural network used by the learning device 60 learns the error time 67A corresponding to the estimated time 66A through so-called supervised learning in accordance with the learning data created based on the 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 estimated time 66A through so-called supervised learning in accordance with the estimated time 66A and the error time 67A created based on the combination of the first input and the second input (correct solution) acquired by the data acquisition unit 61.
[0136] That is, the neural network adjusts weights W1 and W2 to perform learning so that the result output from the output layer when the estimated time 66A as the first input is input is close to the second input (correct solution).
[0137] As described above, the neural network adjusts weights W1 and W2 to perform learning so that the result output from the output layer when the estimated time 66A is input to the input layer is close to the error time 67A. The neural network learns the correspondence relationship 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 the error time 67A as the correct solution when the estimated time 66A is input.
[0138] The model generation unit 62 generates and outputs the trained model 80 by performing the above learning. The trained model storage unit 65 stores the trained model 80 output from the model generation unit 62.
[0139] Next, Figure 13 is used to explain the processing sequence of the learning process in which the learning device 60 learns the trained model 80. Figure 13 is a flowchart showing the processing sequence of the learning process executed by the learning device according to Embodiment 2.
[0140] The data acquisition unit 61 acquires learning data used during learning (step S110). Specifically, the data acquisition unit 61 acquires the estimated time 66A and the error time 67A. In addition, the data acquisition unit 61 is set to acquire the estimated time 66A and the error time 67A simultaneously, but the estimated time 66A and the error time 67A may be input in association with each other. Therefore, the data acquisition unit 61 may acquire the estimated time 66A and the error time 67A at different timings. 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 a learning process 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 supervised learning according to the learning data created based on the combination of the estimated time 66A and the error time 67A acquired 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 FIG. is a diagram showing 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 the estimated time 66B from outside the inference device 70 (in Embodiment 2, it is the scheduling device 1B). 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 by 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. In addition, the inference unit 72 reads out the trained model 80 from the trained model storage unit 65. The inference unit 72 uses the trained model 80 to infer the error time 67B corresponding to the estimated time 66B. That is, the inference unit 72 can output the error time 67B inferred based on the estimated time 66B by inputting the estimated time 66B acquired by the data acquisition unit 71 into the trained model 80. The inference unit 72 sends the inferred error time 67B to the scheduling device 1B.
[0146] In the second embodiment, the case where the inference device 70 uses the trained model 80 learned by the model generation unit 62 of the scheduling system 10 to output an appropriate error time 67B has been described. However, the inference device 70 may also acquire the trained model 80 from the outside, such as from other scheduling systems. In this case, the inference device 70 outputs an appropriate error time 67B based on the trained model 80 acquired from other scheduling systems or the like.
[0147] Next, use Figure 15 to describe the processing sequence of the process in which the inference device 70 uses the trained model 80 to infer the error time 67B. Figure 15 It is a flowchart showing the processing sequence of the inference process executed by the inference device according to the second embodiment.
[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 into 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 through the trained model 80 to the scheduling device 1B.
[0151] The scheduling unit 5 of the scheduling device 1B creates a task execution schedule 43 using the error time 67B corresponding to the estimated time 66B.
[0152] Figure 16 It is a flowchart showing the processing sequence of the scheduling process executed by the scheduling device according to the second embodiment. In addition, for Figure 16The same processes as those in the processes shown are labeled with the same step numbers, and repeated descriptions are omitted. Figure 5 The processes of steps S10 and S20 executed by the scheduling device 1B are the same as the processes of steps S10 and S20 executed by the scheduling device 1A. The optimization operation unit 4 sends the estimated time set in the task order data 45 (the execution time of the task set in the task execution schedule 43) to the inference device 70. Thereby, the inference device 70 infers the error time corresponding to the estimated time and sends it to the optimization operation unit 4. The optimization operation unit 4 obtains the error time corresponding to the estimated time from the inference device 70 (step S25).
[0153] Based on the constraint condition lists 42A and 42B and the error time, the optimization operation unit 4 determines the processing machine for executing each task and the execution order of the tasks in each processing machine. That is, the optimization operation unit 4 creates the processing machine for the tasks under the constraint conditions and the execution order in each processing machine using the error time (step S31). In other words, the optimization operation unit 4 creates the task order data 45 in which the processing machine for executing each task and the execution order of the tasks in each processing machine are set in a manner that satisfies the constraint conditions specified in the constraint condition lists 42A and 42B using the error time.
[0154] The optimization operation unit 4 determines whether there are constraint conditions for which the operation has not ended (step S40). If there are constraint conditions for which the operation has not ended (step S40, Yes), the scheduling device 1B returns to the process of step S20 and repeats the processes of steps S20 to S40.
[0155] On the other hand, if there are no constraint conditions for which 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 operation unit 4, the estimated time of the task list 41, and the error time (step S52), and creates the task execution schedule 43.
[0156] 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). Thereby, the user can refer to the task execution schedule 43 in which the execution date and time of the task are set.
[0157]
[0158] In addition, 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 the 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 the number of sets of learning data, the higher the reliability calculated by the inference device 70. The reliability calculated by the inference device 70 is displayed through a display device or the like. Thus, the user can refer to the reliability of the error time.
[0159] In addition, the task screening unit 3 can also send the estimated time to the inference device 70. In this case, the inference device 70 sends the inferred error time to the task screening unit 3. The task screening unit 3 screens the tasks based on the estimated time and the error time. The optimization operation 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 the error time of the tasks executed in the past to generate the 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 the task execution schedule 43 in such a way that the tasks satisfy the restriction conditions based on the estimated time set in the task list 41 and the inferred error time. Since the scheduling system 10 learns and infers the estimation error, it can reduce the risk that the tasks exceed the restriction conditions of the due date.
[0161] Figure 17 It is a diagram for explaining the scheduling process executed by the scheduling device according to Embodiment 2. In Figure 17 it explains the case where the optimization operation unit 4 determines the processing machine for executing each task and the execution order of the tasks in each processing machine based on the screened task list 41, the restriction condition lists 42A and 42B, and the error time. In Figure 17 it shows the state where the error time Tx of the task "J002" and the task "J002" is set in the task sequence data 45.
[0162] The optimization operation unit 4 sets the task and the error time in the task sequence data 45 in such a way that the total time of the estimated time and the error time of the task satisfies the restriction condition (the due date of the maintenance H11 of the processing machine "PM002"). That is, even when the task satisfies the restriction condition, if the total time of the estimated time and the error time of the task does not satisfy the restriction condition, the optimization operation unit 4 does not set the task and the error time in the task sequence data 45.
[0163] As described above, the scheduling system 10 of Embodiment 2 includes: a learning device 60 that creates a trained model 80 for inferring an error time based on an estimated time of a task; and an inference device 70 that uses the trained model 80 to infer the error time based on the estimated time of the task. Further, the scheduling device 1B creates a task execution schedule 43 using the error time inferred by the trained model 80. Thus, the scheduling system 10 can reduce the risk that a task exceeds the limit condition of the execution deadline.
[0164] Embodiment 3.
[0165] Next, Figures 18 - 23 Embodiment 3 will be described. In Embodiment 3, after performing an optimization operation, it is detected whether there is a violation (constraint violation) in the constraint conditions. If there is a constraint violation, the optimization operation is performed again.
[0166] The scheduling device of Embodiment 3 determines the execution order of tasks in a state including tasks with constraint conditions, temporarily excludes tasks that match the constraint violation (conditions for not being able to execute tasks with execution restrictions) from the task order data 45, and then sets them in the task order data 45 according to the constraint conditions.
[0167] Figure 18 FIG. is a diagram showing the structure of the scheduling device according to Embodiment 3. Among the respective structural elements of Figure 18 those that perform the same functions as the structural elements of the scheduling device 1A of Embodiment 1 shown in Figure 1 are labeled with the same reference numerals, and repeated descriptions are omitted.
[0168] Similar to the scheduling device 1A, the scheduling device 1C is a computer that creates a task execution schedule 43. The scheduling device 1C includes an input unit 2, an optimization operation unit 4, a scheduling unit 5, a constraint violation detection unit 7, and an output unit 6.
[0169] In the scheduling device 1C, the input unit 2 is connected to the optimization operation unit 4, the scheduling unit 5, and the constraint violation detection unit 7, and the optimization operation unit 4 is connected to the scheduling unit 5. Further, in the scheduling device 1C, the scheduling unit 5 is connected to the constraint violation detection unit 7. The constraint violation detection unit 7 is connected to the output unit 6 and the optimization operation unit 4.
[0170] The input unit 2 of the scheduling device 1C inputs the task list 41 to the optimization operation unit 4, the scheduling unit 5, and the constraint violation detection unit 7. Further, the input unit 2 inputs the constraint condition lists 42A and 42B to the constraint violation detection unit 7.
[0171] The optimization operation unit 4 of the scheduling device 1C determines the processing machines for executing each task and the execution order of the tasks in each processing machine based on the task list 41 before task screening. The optimization operation unit 4 allocates tasks to the processing machines in such a way that the time required for all tasks in the task list 41 to be completed becomes shorter.
[0172] The scheduling unit 5 creates a task execution schedule 43 in which the processing machine for executing the task, the execution order, and the execution date and time are set for each task. The scheduling unit 5 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 the restriction conditions within the task execution schedule 43 or within the task sequence data 45 based on the task execution schedule 43 and the restriction condition lists 42A, 42B. In the third embodiment, the optimization operation unit 4 determines the processing machines for executing each task and the execution order of the tasks in each processing machine without considering the restrictions set in the restriction condition lists 42A, 42B. Therefore, there may be tasks that violate the restriction conditions (tasks that do not satisfy the restriction conditions) in the task execution schedule 43 and the task sequence data 45. Therefore, the restriction violation detection unit 7 detects tasks that violate the restriction conditions within the task execution schedule 43 or within the task sequence data 45.
[0174] When the restriction violation detection unit 7 detects a task that violates the restriction conditions, the task that violates the restriction conditions is deleted from the task execution schedule 43 and the task sequence data 45. In addition, when the restriction violation detection unit 7 detects a task that violates the restriction conditions, the task list 41 is corrected by deleting the 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 in which the tasks that do not violate the restriction conditions are deleted from the task list 41. As described above, the restriction violation detection unit 7 determines the execution schedule of the tasks that do not violate the restriction conditions and deletes those tasks from the task list 41. As a result, the 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 for eliminating the restriction conditions) to the task list 41. The restriction violation detection unit 7 adds, for example, maintenance tasks executed to eliminate the restriction conditions to the task list 41.
[0176] The restriction violation detection unit 7 deletes the tasks that do not violate the restriction conditions and sends the task list 41 with maintenance tasks added to it to the optimization operation unit 4. In addition, the restriction violation detection unit 7 sends the task sequence data 45 after the tasks that violate the restriction conditions are deleted to the optimization operation unit 4. In addition, the restriction violation detection unit 7 sends the task execution schedule 43 after the tasks that violate the restriction conditions are deleted to the optimization operation unit 4.
[0177] When the restriction violation detection unit 7 does not detect a task that violates the restriction conditions, it 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 optimized operation unit 4 receives the corrected task list 41 sent from the restriction violation detection unit 7, it determines the processing machines for executing each task and the execution order of the tasks in each processing machine based on the task list 41. That is, the optimized operation unit 4 deletes the tasks that do not violate the restriction conditions and adds the task list 41 with tasks such as maintenance, and then determines the processing machines for executing each task and the execution order of the tasks in each processing machine. Here, the optimized operation unit 4 also allocates tasks to the processing machines in such a way that the time required for all tasks in the task list 41 to be completed is shortened. The optimized operation unit 4 adds the determined processing machines for executing each task and the execution order of the tasks in each processing machine to the corrected task list 41. Moreover, the optimized operation unit 4 retains the tasks that do not violate the restriction conditions in the task order data 45 and deletes the tasks that violate the restriction conditions from the task order data 45.
[0179] In the scheduling device 1C, the processes executed by the optimized operation unit 4, the scheduling unit 5, and the restriction violation detection unit 7 are repeated. That is, the process of the optimized operation unit 4 determining the execution order of the tasks in each processing machine, the process of the scheduling unit 5 creating the task execution schedule 43, and the process of the restriction violation detection unit 7 detecting the tasks that violate the restriction conditions in the task execution schedule 43 are repeated.
[0180] Figure 19 It is a flowchart showing the processing order of the scheduling process executed by the scheduling device according to Embodiment 3. In addition, for Figure 19 the processes shown among the Figure 5 processes described in
[0181] The processes of steps S10 and S60 executed by the scheduling device 1C are the same as the processes of steps S10 and S60 executed by the scheduling device 1A. The input unit 2 reads the task list 41 and the restriction condition lists 42A and 42B from an external device or the like (step S10). The input unit 2 inputs the task list 41 to the optimized operation 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.
[0182] The optimized operation unit 4 determines the processing machines for executing each task and the execution order of the tasks in each processing machine based on the task list 41. That is, the optimized operation unit 4 creates the processing machines and execution order of the tasks (step S30a).
[0183] The scheduling department 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 operation department 4 and the estimated time of the task list 41, and creates a task execution schedule 43 (step S50a).
[0184] The restriction violation detection unit 7 determines whether there is a task that violates the restriction conditions in the task execution schedule 43 based on the task execution schedule 43 and the restriction condition lists 42A and 42B (step S55).
[0185] When there is a task that violates the restriction conditions in the task execution schedule 43 (step S56, Yes), the restriction violation detection unit 7 deletes the tasks that do not violate the restriction conditions from the task list 41, and retains the tasks that violate the restriction conditions in the task list 41. In addition, the restriction violation detection unit 7 adds the tasks for eliminating the restriction conditions to the task list 41. As described above, the restriction violation detection unit 7 deletes the tasks that do not violate the restriction conditions from the task list 41 and adds the tasks for eliminating the restriction conditions to the task list 41 (step S57). The tasks that do not violate the restriction conditions are deleted, and the task list 41 to which the tasks for eliminating the restriction conditions are added is the task list 41X described later.
[0186] The restriction violation detection unit 7 sends the task list 41X in which the tasks that violate the restriction conditions are deleted and the tasks for eliminating the restriction conditions are added to the optimization operation department 4. The scheduling device 1C returns to the process of step S30a and repeats the processes of steps S30a to S56.
[0187] When there is no task that violates the restriction conditions in the task execution schedule 43 (step S56, No), the output unit 6 outputs the task execution schedule 43 created by the scheduling department 5 to an external device such as a display device (step S60). Thus, the user can refer to the task execution schedule 43 in which the execution date and time of the tasks are set.
[0188] As described above, the scheduling device 1C determines the processing machine that executes each task and the execution order of the tasks in each processing machine without using the restriction condition lists 42A and 42B. That is, the scheduling device 1C determines the execution order of the tasks in a state where there are tasks with restriction conditions. Moreover, when the scheduling device 1C conforms to the restriction conditions that prevent the execution of the tasks, the scheduling device 1C automatically excludes the tasks from the task execution schedule 43 and does not allocate execution time to the tasks. Thus, the scheduling device 1C does not exclude tasks at first, and after performing the scheduling on the premise of executing all tasks, it can only exclude the tasks that do not satisfy the restriction conditions from the task execution schedule 43. Therefore, the rule for excluding the tasks that do not satisfy the restriction conditions can be simplified. Thus, the scheduling device 1C can create a task execution schedule 43 that satisfies the restriction conditions with fewer calculation times and shorter calculation time than the scheduling device 1A.
[0189] Figure 20 This is a diagram for explaining the first-stage processing of the scheduling process executed by the scheduling device according to Embodiment 3. Figure 21 This is a diagram for explaining the second-stage processing of the scheduling process executed by the scheduling device according to Embodiment 3.
[0190] Based on the task list 41, the optimization operation unit 4 assigns each task to the processing machines in descending order of the priority levels of the tasks. For example, the optimization operation unit 4 sets the task "J001" to the processing machine "PM001", sets the task "J002" to the processing machine "PM003", and sets the task "J003" to the processing machine "PM001". In addition, for example, the optimization operation unit 4 sets the task "J004" (not shown in Figure 20 and Figure 21 ) to the processing machine "PM001", sets the task "J005" to the processing machine "PM002", and sets the task "J006" to the processing machine "PM003". In addition, the task "J002" can also be set to the processing machine "PM001".
[0191] Based on the execution order of the tasks in each processing machine determined by the optimization operation unit 4 and the estimated times in the task list 41, the scheduling unit 5 creates a task execution schedule 43.
[0192] Based on the task execution schedule 43 and the constraint condition lists 42A and 42B, the constraint violation detection unit 7 determines whether there are tasks that violate the constraint conditions in the task execution schedule 43.
[0193] For example, when the task execution schedule 43 corresponds to the task sequence data 45 shown in Figure 20 , the constraint violation detection unit 7 determines that the tasks "J002" and "J006" set in the stopped processing machine "PM003" violate the constraint conditions.
[0194] In addition, the constraint violation detection unit 7 determines that the task "J005" set until the date and time when the maintenance H11 of "PM002" exceeds the execution deadline without setting it until the deadline is reached violates the constraint conditions.
[0195] In addition, the constraint violation detection unit 7 determines that the tasks "J003" and "J004" set until the date and time when the maintenance H11 and H12 of "PM001" exceed the execution deadline without setting them until the deadline is reached violate the constraint conditions.
[0196] In Figure 21In it, the state of the task in which a constraint violation has occurred, extracted by the constraint violation detection unit 7, is shown. The constraint violation detection unit 7 retains the task in which a constraint violation has occurred in the task list 41, and deletes the task "J001" in which no constraint violation has occurred from the task list 41.
[0197] Figure 22 It is a diagram showing the structure of the task list corrected by the scheduling device according to Embodiment 3. As described above, the constraint violation detection unit 7 of the scheduling device 1C retains the tasks "J002" to "J006" in which a constraint violation has occurred in the task list 41, and deletes the task "J001" in which no constraint violation has occurred from the task list 41. Thus, the constraint violation detection unit 7 generates a corrected task list 41X of the task list 41.
[0198] In addition, the constraint violation detection unit 7 adds a task for eliminating the constraint condition to the task list 41X. In Figure 22 it, the task IDs of the tasks for eliminating the constraint condition are shown, and the case where "PM001_H11", "PM001_H12", "PM002_H11", and "PM003_OUT" are added to the task list 41X is shown.
[0199] As described above, "PM003_OUT" shows that the processing machine "PM003" is stopped. In addition, "PM001_H11" and "PM001_H12" respectively show the maintenance H11 and H12 for the processing machine "PM001", and "PM002_H11" shows the maintenance H12 for the processing machine "PM002". In addition, the delivery date of the task for eliminating the constraint condition is the execution deadline of the task.
[0200] The constraint violation detection unit 7 sets the highest priority level for the stopped processing machine. Here, the constraint violation detection unit 7 sets the first priority level for "PM003_OUT". In addition, for the task among the tasks for eliminating the constraint condition whose execution deadline (delivery date) is closer, the constraint violation detection unit 7 sets a higher priority level. In addition, the constraint violation detection unit 7 delays the original priority level set in the task list 41 in the task list 41X.
[0201] The optimization operation unit 4 determines the processing machine for executing each task and the execution order of the tasks in each processing machine based on the task list 41X. Figure 23 It is a diagram for explaining the processing in the third stage of the scheduling process executed by the scheduling device according to Embodiment 3.
[0202] The optimization operation unit 4 assigns each task to the processing machine in descending order of the priority level of the task based on the task list 41X. In this case, if the task can be executed before maintenance or the like, the optimization operation unit 4 sets the task before maintenance even if the priority level is lower than that of maintenance.
[0203] Here, the optimization operation unit 4 sets "PM003_OUT" indicating being stopped in the processing machine "PM003" based on the task order data 45. In addition, the optimization operation unit 4 sets the task "J002" that can be executed before the maintenance H11 of the processing machine "PM002" to the processing machine "PM002", and then sets the maintenance H11 in the processing machine "PM002".
[0204] In addition, the optimization operation unit 4 sets the task "J001" that can be executed before the maintenance H11 of the processing machine "PM001" to the processing machine "PM001", and then sets the maintenance H11 in the processing machine "PM001". In addition, similarly to the first embodiment, the optimization operation unit 4 sets the maintenance H12 in the processing machine "PM001", and then sets the task "J003" in the processing machine "PM001". In addition, the optimization operation unit 4 sets the task "J005" in the processing machine "PM002".
[0205] In the scheduling device 1C, the processes executed by the optimization operation unit 4, the processes executed by the scheduling unit 5, and the processes executed by the restriction violation detection unit 7 are repeated. When the task execution schedule 43 created by the scheduling unit 5 does not include tasks that violate the restriction conditions, the restriction violation detection unit 7 sets the maintenance task to the task execution schedule 43 based on the restriction condition list 42B.
[0206] Thereby, the scheduling device 1C can create the same task execution schedule 43 as the scheduling device 1A. In addition, if there is no restriction violation in the task that eliminates the restriction conditions such as maintenance, and after determining the setting of the task to the task execution schedule 43, the restriction violation detection unit 7 can set the maintenance task to the task execution schedule 43 at any timing.
[0207] In addition, the scheduling device 1C can also be applied to the scheduling system 10 described in the second embodiment. In this case, the scheduling system 10 includes a scheduling device 1C, a learning device 60, a trained model storage unit 65, and an 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 constraint violation detection unit 7. Further, the optimization calculation unit 4 creates task order data 45 without considering the constraint conditions, and the constraint violation detection unit 7 deletes tasks that do not satisfy the constraint conditions from the task execution schedule 43 and the task order data 45, deletes tasks that satisfy the constraint conditions from the task list 41, and adds tasks for eliminating the constraint conditions to the task list 41, thereby creating a corrected task list 41. The optimization calculation unit 4 solves the optimization problem based on the corrected task list 41, and determines the processing machine for executing the tasks and the execution order of the tasks in the processing machine such that the time required to complete all the tasks in the corrected task list 41 becomes the shortest, and adds the determined results to the task order data 45. Thereby, the scheduling device 1C can simplify the rule for excluding tasks that do not satisfy the constraint conditions. Therefore, the scheduling device 1C can create a task execution schedule 43 that satisfies the constraint conditions in a short time.
[0209] Here, the hardware configurations of the scheduling devices 1A to 1C will be described. In addition, since the scheduling devices 1A to 1C have the same hardware configuration, the hardware configuration of the scheduling device 1A will be described here.
[0210] Figure 24 FIG. 7 is a diagram showing an example of the hardware configuration for implementing the scheduling device according to Embodiment 1. The scheduling device 1A can be implemented by an input device 300, a processor 100, a memory 200, and an output device 400. Examples of the processor 100 include a CPU (also referred to as a Central Processing Unit, a central processing device, a processing device, an arithmetic device, a microprocessor, a microcomputer, a DSP (Digital Signal Processor)), or a system LSI (Large Scale Integration). Examples of the memory 200 include a RAM (Random Access Memory) and a ROM (Read Only Memory).
[0211] The scheduling device 1A is implemented by the processor 100 reading out and executing a schedulable program stored in the memory 200 for executing the operations of the scheduling device 1A. The program for executing the operations of the scheduling device 1A, that is, the schedulable program, can be said to cause the computer to execute the order or method of the scheduling device 1A.
[0212] The schedulable program executed by the scheduling device 1A has a module structure including a task screening unit 3, an optimization calculation unit 4, and a scheduling unit 5. The task screening unit 3, the optimization calculation unit 4, and the scheduling unit 5 are downloaded to the main storage device and are generated on the main storage device.
[0213] The input device 300 receives the task list 41, the constraint lists 42A and 42B and sends them to the processor 100.
[0214] The memory 200 stores the scheduler and the like. In addition, the memory 200 is used as a temporary memory when various processes are executed by the processor 100. The output device 400 outputs the task execution schedule 43.
[0215] The scheduler can be provided as a computer program product stored in a computer-readable storage medium in an installable or executable file form. In addition, the scheduler can also be provided to the scheduling device 1A via a network such as the Internet. Furthermore, regarding the functions of the scheduling device 1A, a part can be implemented by dedicated hardware such as a dedicated circuit, and a part can be implemented by software or firmware.
[0216] In addition, the hardware structure of the task screening unit 3 can be set to Figure 24 the hardware structure shown. In addition, the hardware structure of the optimization operation unit 4 can be set to Figure 24 the hardware structure shown. In addition, the hardware structure of the scheduling unit 5 can be set to Figure 24 the hardware structure shown. In addition, the hardware structure of the learning device 60 can be set to Figure 24 the hardware structure shown. In addition, the hardware structure of the inference device 70 can be set to Figure 24 the hardware structure shown.
[0217] The structures shown in the above embodiments represent an example, and can also be combined with other known technologies, and can also be combined with each other among the embodiments. Without departing from the gist, a part of the structure can also be omitted or changed.
[0218] Description of reference numerals
[0219] 1A to 1C Scheduling devices, 2 Input unit, 3 Task screening unit, 4 Optimization operation unit, 5 Scheduling unit, 6 Output unit, 7 Constraint violation detection unit, 10 Scheduling system, 41, 41X Task lists, 42A, 42B Constraint lists, 43 Task execution schedule, 45 Task sequence data, 50 Constraint elimination task list, 60 Learning device, 61, 71 Data acquisition units, 62 Model generation unit, 65 Trained model storage unit, 66A, 66B Estimated times, 67A, 67B Error times, 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: A task screening unit, which creates a task list (i.e., a screened task list) by screening tasks satisfying the restriction conditions from tasks set in the task list, based on a list of multiple tasks executed by multiple processing machines (i.e., a task list) and a list of restriction conditions for the processing machines (i.e., a restriction condition list); an optimization calculation unit that solves the optimization problem based on the filtered task list, thereby determining the processing machines that execute the tasks and the execution order of the tasks in the processing machines in such a way that the time for completing all the tasks in the task list becomes the shortest, and creates data indicating the processing machines that execute the tasks and the execution order of the tasks in the processing machines, i.e., task sequence data; as well as A scheduling unit creates a task execution schedule in which execution dates and times of the tasks for each of the processing machines are set based on the task sequence data and the task list.
2. The scheduling device according to claim 1, characterized in that: The optimization calculation unit sets a processing machine that executes the task and an execution order of the tasks in the processing machine so as to satisfy the constraint condition.
3. The dispatching device according to claim 1 or 2, characterized in that: The task satisfying the constraint condition is a task that can be completed by the execution deadline of the maintenance work of the processing machine.
4. The dispatching device according to any one of claims 1 to 3, characterized in that: The tasks satisfying the constraint conditions are tasks that can be executed and completed until the life of the consumables of the processing machine expires.
5. The dispatching device according to any one of claims 1 to 4, characterized in that: The tasks that satisfy the constraints are tasks that can be assigned to the operator.
6. The dispatching device according to any one of claims 1 to 5, characterized in that: After setting the processing machine that executes the task and the execution order of the tasks in the processing machine in the task sequence data, the optimization calculation unit removes the most stringent restriction condition by adding a task for eliminating the most stringent restriction condition to the task sequence data at a set time.
7. The dispatching device according to any one of claims 1 to 6, characterized in that: Repeat the following process: The task screening unit creates the screened task list satisfying a first restriction condition among the restriction conditions; The optimization calculation unit creates the task sequence data satisfying the first constraint condition, and adds a task for eliminating the first constraint condition to the task sequence data; The task screening unit creates the screened task list that satisfies a second constraint condition that is the second most stringent constraint condition next to the first constraint condition among the constraint conditions; as well as The optimization calculation unit creates the task sequence data satisfying the second constraint condition, and adds a task for eliminating the second constraint condition to the task sequence data.
8. The dispatching device according to any one of claims 1 to 7, characterized in that: The task screening unit uses at least one of the priority level of executing the task, the delivery date of the product manufactured by executing the task, the processing machine capable of executing the task, the shipping destination of the product, the information on whether the workpiece for executing the task is being prepared, and the date and time when the task was initially registered in the task list as the screening condition for the task.
9. A scheduling device, characterized in that, comprising: an optimization operation unit that solves an optimization problem based on a list of multiple tasks executed by multiple processing machines, i.e., a task list, so as to determine the processing machine for 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 becomes the shortest, and creates data representing the processing machine for executing the task and the execution order of the tasks in the processing machine, i.e., task order data; a scheduling unit that creates a task execution schedule in which the execution date and time of the task for each processing machine are set based on the task order data and the task list; and a restriction violation detection unit that, if it detects a task that does not satisfy the restriction conditions for the processing machine among the tasks set in the task execution schedule or the task order data, deletes the task that does not satisfy the restriction conditions from the task execution schedule and the task order data, deletes the task that satisfies the restriction conditions from the task list, and adds a task for eliminating the restriction conditions to the task list, thereby creating a corrected task list. The optimization operation unit creates the task order data without considering the restriction conditions. The optimization operation unit solves an optimization problem based on the corrected task list, so as to determine the processing machine for 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 corrected task list becomes the shortest, and adds the data representing the processing machine for executing the task and the execution order of the tasks in the processing machine to the task order data.
10. A scheduling system, characterized in that, comprising: the scheduling device according to any one of claims 1 to 9; and an inference device that infers the error in the estimated time required for the execution of the task, i.e., the error time. The inference device comprises: a first data acquisition unit that acquires the estimated time; and an inference unit that uses a trained model for inferring the error time corresponding to the estimated time to infer the error time based on the estimated time. The optimization operation unit creates the task order data using the error time.
11. The scheduling system according to claim 10, characterized in that it further comprises a learning device that generates the trained model based on the estimated time and the error time. The learning device comprises: a second data acquisition unit that acquires the estimated time and the error time as learning data; and a model generation unit that uses the learning data to generate the trained model.
12. A scheduling method, characterized in that, comprising the following steps: Task screening step: Based on a list of multiple tasks executed by multiple processing machines, i.e., the task list, and a list of restriction conditions for the processing machines, i.e., the restriction condition list, the scheduling device creates a task list, i.e., the screened task list, obtained by screening tasks that meet the restriction conditions from the tasks set in the task list. Optimization operation step: The scheduling device solves an optimization problem based on the screened task list, thereby determining the processing machines that execute the tasks and the execution order of the tasks in the processing machines in such a way that the time for all tasks in the task list to be completed becomes the shortest, and creates data representing the processing machines that execute the tasks and the execution order of the tasks in the processing machines, i.e., the task order data. And Scheduling step: The scheduling device creates a task execution schedule that sets the execution date and time of the tasks for each processing machine based on the task order data and the task list.
13. A scheduler, characterized in that, Cause a computer to execute the following steps: Task screening step: Based on a list of multiple tasks executed by multiple processing machines, i.e., the task list, and a list of restriction conditions for the processing machines, i.e., the restriction condition list, create a task list, i.e., the screened task list, obtained by screening tasks that meet the restriction conditions from the tasks set in the task list. Optimization operation step: Solve an optimization problem based on the screened task list, thereby determining the processing machines that execute the tasks and the execution order of the tasks in the processing machines in such a way that the time for all tasks in the task list to be completed becomes the shortest, and create data representing the processing machines that execute the tasks and the execution order of the tasks in the processing machines, i.e., the task order data. And Scheduling step: Create a task execution schedule that sets the execution date and time of the tasks for each processing machine based on the task order data and the task list.
Citation Information
Patent Citations
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
Processing work schedule creating system and work schedule creating program
JP2014092867A
Information processor, solution method, and solution program
JP2021179778A
Phase-stable, sprayable freshening compositions comprising suspended particles
US20180028706A1