Method for creating operation plan, operation plan creation device, and computer program

By simplifying job lists using a time divisor and correcting job times, the method addresses inefficiencies in job shop scheduling, achieving rapid and effective work plan optimization.

JP2026003652APending Publication Date: 2026-01-14SEIKO EPSON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024101637
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-25
Publication Date
2026-01-14

AI Technical Summary

Technical Problem

Existing methods for solving job shop scheduling problems are inefficient and require excessive time to find optimal solutions, especially when job orders change.

Method used

A method involving setting processing conditions, creating a simplified job list by dividing work times with a time divisor, solving as a 0-1 integer programming problem, and correcting job times to obtain a final solution.

Benefits of technology

This approach significantly reduces solution time while providing an efficient final solution for job shop scheduling problems, allowing for quick optimization of work plans.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026003652000001_ABST
    Figure 2026003652000001_ABST
Patent Text Reader

Abstract

To provide a technique capable of obtaining a solution of a job shop scheduling problem without requiring excessive solution time.SOLUTION: A method of the present disclosure includes (a) setting a processing condition including a job list defining set work times in a plurality of machines for each of a plurality of jobs, (b) creating a simplified job list by dividing each of the set work times in the job list by a time divisor, and obtaining a tentative solution of a work plan by solving a job shop scheduling problem regarding the simplified job list as a 0-1 integer programming problem, and (c) correcting a work time of each job in the tentative solution to the set work time to obtain a final solution of the work plan.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a method for creating a work plan, a work plan creation device, and a computer program. [Background technology]

[0002] The problem of optimizing a work plan in which multiple tasks are divided among multiple machines is called the job shop scheduling problem. The job shop scheduling problem is a problem of solving which jobs should be processed in what order and on which machines in order to allocate multiple jobs most efficiently. However, depending on the work conditions, when trying to find an optimal solution to the job shop scheduling problem, the solution time can become exponential and it may not be possible to solve it within a realistic time frame.

[0003] Patent Document 1 discloses a method for creating a plant operation plan in which the original problem is divided into time periods to create multiple sub-problems, multiple solutions are obtained, and the multiple solutions are combined to obtain an overall approximate solution. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2015-62102 Summary of the Invention [Problem to be solved by the invention]

[0005] However, the above-mentioned conventional techniques cannot be applied to problems such as job shop scheduling problems where the order of jobs is changed. Therefore, a technique that can find a solution to a job shop scheduling problem without requiring an excessive amount of time for solution is desired. [Means for solving the problem]

[0006] According to a first aspect of the present disclosure, there is provided a method for creating a work plan for dividing and executing a plurality of jobs among a plurality of machines, the method including: (a) setting processing conditions for each of the plurality of jobs, the processing conditions including a job list specifying set work times for the plurality of machines; (b) creating a simplified job list by dividing each of the set work times in the job list by a time divisor, and solving a job shop scheduling problem for the simplified job list as a 0-1 integer programming problem to obtain a tentative solution to the work plan; and (c) correcting the work time of each job in the tentative solution to the set work time to obtain a final solution to the work plan.

[0007] According to a second aspect of the present disclosure, there is provided a work plan creation device that creates a work plan for dividing and executing a plurality of jobs among a plurality of machines. The work plan creation device includes: a processing condition setting unit that sets processing conditions for each of the plurality of jobs, including a job list that specifies set work times for the plurality of machines; and a solution finding unit that creates a simplified job list by dividing each of the set work times in the job list by a time divisor, and obtains a tentative solution of the work plan by solving a job shop scheduling problem for the simplified job list as a 0-1 integer programming problem. The solution finding unit corrects the work time of each job in the tentative solution to the set work time, and executes a process of obtaining a final solution of the work plan.

[0008] According to a third aspect of the present disclosure, there is provided a computer program that causes a processor to execute a process of creating a work plan for dividing and executing a plurality of jobs among a plurality of machines. The computer program causes the processor to execute the following processes: (a) setting processing conditions for each of the plurality of jobs, including a job list that specifies set work times for the plurality of machines; (b) creating a simplified job list by dividing each of the set work times in the job list by a time divisor, and solving a job shop scheduling problem for the simplified job list as a 0-1 integer programming problem, thereby obtaining a tentative solution to the work plan; and (c) correcting the work time of each job in the tentative solution to the set work time, thereby obtaining a final solution to the work plan. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a block diagram of a work plan creation device according to an embodiment. [Figure 2] FIG. 1 is an explanatory diagram showing an example of a job list, constraints, and an optimal solution of a work plan. [Figure 3] FIG. 10 is an explanatory diagram showing an example of a simplified job list. [Figure 4] FIG. 10 is an explanatory diagram showing an example of a tentative solution and a final solution of a work plan. [Figure 5] FIG. 10 is an explanatory diagram showing another method for finding a final solution from a tentative solution. [Figure 6] FIG. 10 is an explanatory diagram showing another example of finding a final solution from a job list and constraint conditions. [Figure 7] 4 is a flowchart showing the procedure of a work plan creation process in the first embodiment. [Figure 8] 10 is a flowchart showing the procedure of a work plan creation process in the second embodiment. [Figure 9] 10 is a flowchart showing the processing procedure of step S100. DETAILED DESCRIPTION OF THE INVENTION

[0010] A. First embodiment: 1 is a block diagram showing the functions of a work plan creation device 100 according to an embodiment. The work plan creation device 100 includes a processor 110, a memory 120, an interface circuit 130, and an input device 140 and a display device 150 connected to the interface circuit 130. For example, but not limited to, the processor 110 not only has the function of executing the processes described in detail below, but also has the function of displaying data obtained by the processes and data generated during the processes on the display device 150. The work plan creation device 100 can be realized by a computer such as a personal computer.

[0011] The processor 110 implements the functions of a processing condition setting unit 310 that sets processing conditions for the work plan, and a solution finding unit 320 that finds a final solution for the work plan by solving the job shop scheduling problem as a 0-1 integer programming problem. The processing conditions set by the processing condition setting unit 310 include a job list JL, constraints CC, and a time divisor α. The details of these processing conditions will be described later. The functions of each of these units are realized by the processor 110 executing a computer program stored in the memory 120. However, the functions of each of these units may also be realized by hardware circuits. The term "processor" in this specification also includes such hardware circuits.

[0012] FIG. 2 is an explanatory diagram showing an example of a job list JL, constraints CC, and an optimal solution OS for a work plan. The job list JL is a list that specifies the set work times for multiple machines for each of multiple jobs. FIG. 2 shows an example of a job list JL1 in which jobs A to C are executed by machines 1 to 3. For example, for job A, the set work time for operations on machine 1 is set to 3 days, the set work time for operations on machine 2 is set to 6 days, and the set work time for operations on machine 3 is set to 7 days. The total set work time for jobs A to C is called the "number of time slots." In the example of FIG. 2, there are 46 time slots. The unit of work time is not limited to "day," and other units such as minutes or hours may be used. Note that multiple jobs cannot be executed in parallel on the same machine.

[0013] In this disclosure, a "job" means a task completed by processing by multiple machines, and an "operation" means the processing performed by one machine for a job. Thus, a job is completed by multiple operations.

[0014] Constraint CC specifies the order in which each job is executed by which machine. For example, it specifies that job A is first processed by machine 2, then by machine 1, and finally by machine 3. However, other constraints may be set.

[0015] The optimal solution OS shown in FIG. 2 is an example of an optimal solution obtained by solving the job shop scheduling problem for job list JL1 as a 0-1 integer programming problem under constraint CC. Of the two-character codes entered for each time slot, the first character indicates the job name and the second character indicates the machine name. For example, on day 1, machine 1 executes job C, machine 2 executes job A, and machine 3 executes no jobs. The work period WT of this optimal solution OS is 22 days. The "work period WT" refers to the period required to complete all of the multiple tasks. In the method for solving the 0-1 integer programming problem in this embodiment, an optimization process is performed to minimize the work period WT. The objective function of the optimization process may be the work period WT, or a value other than the work period WT may be used as the objective function. In the latter case, it is preferable to set the objective function so that maximizing or minimizing the objective function results in minimizing the work period WT.

[0016] Generally, when formulating a job shop scheduling problem as a 0-1 integer programming problem, a number of binary variables proportional to the number of time slots is prepared, and an optimal solution that satisfies the constraints CC is sought. As mentioned above, the number of time slots is the sum of the work times, and as the number of time slots increases, the number of binary variables also increases, increasing the time required to find the solution. Therefore, in order to speed up the solution, it is effective to simplify the job list JL so as to reduce the number of time slots.

[0017] FIG. 3 is an explanatory diagram showing an example of a simplified job list SJL1 in an embodiment. The simplified job list SJL1 is obtained by dividing the set work time of each operation in the original job list JL1 by a time divisor α. The numbers in parentheses in the simplified job list SJL1 are the original set work times. The time divisor α can be set to any value greater than 1. In the example of FIG. 2, α=3, and the decimal point of the result of dividing the original set work time by the time divisor α is rounded up. However, other rounding operations such as rounding up or rounding down may be used instead of rounding up. The simplified job list SJL1 has 18 time slots, which is fewer than the number of time slots in the original job list JL1, thereby reducing the solution-finding time.

[0018] FIG. 4 is an explanatory diagram showing an example of a tentative solution TS1 and a final solution FS1 of a work plan. The tentative solution TS1 is an optimal solution obtained by solving a 0-1 integer programming problem using the simplified job list SJL1 shown in FIG. 3. In the process shown in FIG. 4, a first revised solution MS1 ​​is created by multiplying the operation time of each time slot in the tentative solution TS1 by a time divisor α. Similarly, blank time slots are also multiplied by the time divisor α to increase the time by α. Blank time slots are also simply referred to as "blank time." In the example shown in FIG. 4, the time divisor α is 3. Next, a second revised solution MS2 is obtained by correcting the operation time of each operation in the first revised solution MS1 ​​to the set operation time in the job list JL1. The time slots marked with an "x" in the second revised solution MS2 are the time deleted when the set operation time was corrected.

[0019] The second revised solution MS2 may have gaps between the operations of each job. For example, the operation of job C by machine 3 started on the seventh day, but it could start on the fifth day, so there is a gap of two days. Therefore, the final solution FS1 is created by shifting the set operation time of the second revised solution MS2 forward or backward so as to minimize the operation period WT1 while complying with constraint CC. For example, the set operation time of job C by machine 3 is shifted two days to the left. As a result, the final solution FS1 is obtained, which minimizes the operation period WT1 while complying with constraint CC.

[0020] The final solution FS1 is an approximate solution because the working period WT1 of the final solution FS1 is slightly longer than the working period WT of the optimal solution OS shown in Figure 2. However, by using the simplified job list SJL1, it is possible to obtain the final solution FS1 in a shorter solution time than when using the original job list JL.

[0021] FIG. 5 is an explanatory diagram showing another method for deriving a final solution FS1 from a tentative solution TS1. The contents of the tentative solution TS1 and the final solution FS1 are the same as those in FIG. 4, but the method for deriving the final solution FS1 from the tentative solution TS1 differs from that in FIG. 4. In the method in FIG. 5, the revised solution MS is first obtained by correcting each task time in the tentative solution TS1 to the set task time in the job list JL1. At this time, blank time slots are also increased by a factor of α by multiplying them by the time divisor α. Next, the final solution FS1 is created by shifting the set task time in the revised solution MS forward or backward so as to minimize the task period WT1 while complying with the constraint CC.

[0022] The examples of Figures 4 and 5 have in common the fact that a revised solution is obtained by correcting the work time in the tentative solution TS1 to the original set work time, and then a final solution FS1 is obtained by shifting the set work time in the revised solution so as to minimize the work period WT1 while complying with the constraint CC. In the example of Figure 4, when obtaining the final solution FS1 from the second revised solution MS2, the set work time can be shifted forward so as to be left-justified. On the other hand, in the example of Figure 5, the set work time in the revised solution MS may be shifted backward to satisfy the constraint CC. Considering this point, the method of Figure 4 is preferable to the method of Figure 5 because the processing is simpler.

[0023] FIG. 6 is an explanatory diagram showing another example of finding a final solution FS from a job list JL and constraints CC. The job list JL2 in FIG. 6 differs from the job list JL1 shown in FIG. 2 in that the set work times for each job on each machine are all multiples of 3. The simplified job list SJL2 is obtained by dividing the set work times of the job list JL2 by a time divisor α. The time divisor α is 3, which is the greatest common divisor of all the set work times in the job list JL2. The tentative solution TS2 is the optimal solution obtained by solving the 0-1 integer programming problem under this simplified job list SJL2 and constraints CC. The constraints CC are the same as those shown in FIG. 2.

[0024] In the example of Fig. 6, a revised solution is created by multiplying the working time and blank time of the tentative solution TS2 by the time divisor α, and this revised solution is adopted as the final solution FS2. The method for creating this revised solution is equivalent to the method for creating the first revised solution MS1 ​​in Fig. 4 and the method for creating the revised solution MS in Fig. 5.

[0025] In the example of Figure 6, since the time divisor α is the greatest common divisor of all the setting work times in the job list JL2, the simplified job list SJL2 is equivalent to simply multiplying the setting work times of the original job list JL2 by 1 / α. Therefore, the tentative solution TS2, which is the optimal solution obtained using the simplified job list SJL2, should be equivalent to multiplying the optimal solution for the job list JL2 by 1 / α. Therefore, the final solution FS2, obtained by multiplying the work time and blank time of the tentative solution TS2 by α, is the optimal solution for the job list JL2. Furthermore, since the tentative solution TS2 is required to satisfy the constraint CC, the final solution FS2 also satisfies the constraint CC. Therefore, there is no need to shift the setting work times of the revised solution left or right to satisfy the constraint CC.

[0026] As shown in the example of Figure 6, it is preferable to set the time divisor α to an integer greater than 1, which is the greatest common divisor of all the set operation times in the job list JL. In this way, the final solution FS of the operation plan can be found without shifting the set operation times in the revised solution. Furthermore, the final solution FS is also preferable in that it is the optimal solution obtained by solving the job shop scheduling problem for the job list JL as a 0-1 integer programming problem.

[0027] Note that the time divisor α is not the greatest common divisor of all the set operation times in the job list JL, but may be a common divisor and an integer greater than 1. In this case, too, by using a simplified job list SJL that has been simplified using the time divisor α, an optimal solution for the original job list JL can be obtained as a final solution FS.

[0028] 7 is a flowchart showing the procedure for the work plan creation process in the first embodiment. In step S10, the processing condition setting unit 310 sets processing conditions including a job list JL, constraints CC, and a time divisor α. The job list JL, constraints CC, and time divisor α can all be set according to user specifications. However, some of the processing conditions may be set as pre-set initial conditions.

[0029] In step S20, the solution finding unit 320 creates a simplified job list SJL by dividing the set operation times in the job list JL by the time divisor α. In step S30, the solution finding unit 320 finds a tentative solution TS by solving a 0-1 integer programming problem using the simplified job list SJL. In step S40, the solution finding unit 320 finds a revised solution MS of the operation plan by modifying the operation times in the tentative solution TS. In step S50, the position of the operation times in the revised solution MS is modified to minimize the operation period while complying with the constraints CC, thereby finding a final solution FS of the operation plan. Steps S40 and S50 are performed using the methods shown in FIGS. 4 to 6. However, as explained in FIG. 6, if the revised solution MS is an optimal solution for the original job list JL, step S50 can be omitted, and the revised solution MS obtained in step S40 is adopted as the final solution FS.

[0030] In step S60, the final solution FS of the work plan is output. The output of the final solution FS is performed, for example, by displaying the final solution FS on the display device 150. Alternatively, the final solution FS may be output to an external device. At this time, it is preferable that the user be notified of whether the final solution FS of the work plan is an optimal solution or an approximate solution. In this case, if the time divisor α is a common divisor of all the set work times in the job list JL, it is clearly indicated that the final solution FS is an optimal solution. On the other hand, if the time divisor α is not a common divisor of all the set work times in the job list JL, it is clearly indicated that the final solution FS is an approximate solution. In this way, the user can understand whether the output final solution FS of the work plan is an optimal solution or an approximate solution.

[0031] As described above, in the first embodiment, the simplified job list SJL is created by dividing the set operation times in the job list JL by the time divisor α, and the job shop scheduling problem is solved as a 0-1 integer programming problem. This reduces the solution time, and enables the creation of a final solution for the operation plan in a short time.

[0032] B. Second embodiment: Fig. 8 is a flowchart showing the procedure for work plan creation processing in the second embodiment. The device of the second embodiment is the same as the device of the first embodiment. The processing procedure of the second embodiment is obtained by replacing steps S20 to S50 of the processing procedure of the first embodiment shown in Fig. 7 with step S100, and the other steps are the same as those in Fig. 7. In step S100, the solution finding unit 320 executes processing to find a final solution FS of the work plan by solving a 0-1 integer programming problem while changing candidate values ​​for the time divisor α.

[0033] 9 is a flowchart showing the processing procedure of step S100. In step S110, the solution finding unit 320 creates a simplified job list SJL by dividing the set work time in the job list JL by a candidate value for the time divisor α. The candidate value for the time divisor α when step S110 is first executed is the value of the time divisor α set in step S10 of FIG. 8.

[0034] In step S120, the solution finding unit 320 executes a process of solving the 0-1 integer programming problem while monitoring the execution time, to find a final solution candidate. Steps S110 and S120 correspond to the iterative process of executing steps S20 to S50 in FIG. 7 while monitoring the execution time. The phrase "final solution candidate" refers to a final solution FS corresponding to one candidate value of the time divisor α. As will be described below, in step S100, final solution candidates are found while changing the candidate value of the time divisor α, and the best one among them is adopted as the final solution FS. The execution time monitored in step S120 may be the total execution time of steps S20 to S50 in FIG. 7, or it may be the execution time of steps S20 to S30 or the execution time of step S30.

[0035] In step S130, it is determined whether the execution time of the monitored object has reached a preset time limit. If the execution time of the monitored object has reached the time limit, execution of step S120 is stopped in step S150, and the process proceeds to step S160. On the other hand, if the processing of step S120 is completed without the execution time of the monitored object reaching the time limit, the process proceeds to step S140. In step S140, if the work period WT of the final solution candidate obtained in step S120 shortens the work period WT of the previously obtained final solution FS, the final solution candidate is adopted as a new final solution FS, and the final solution FS is updated. Note that when step S140 is executed for the first time, the final solution candidate obtained in step S120 is adopted as the final solution FS as is.

[0036] In step S160, it is determined whether the candidate value for the time divisor α reaches a preset minimum value. The minimum value of the candidate value for the time divisor α may be 1.0 or a value greater than 1.0. If the candidate value for the time divisor α reaches the minimum value, the process of step S100 ends. On the other hand, if the candidate value for the time divisor α does not reach the minimum value, the process proceeds to step S170, where the candidate value for the time divisor α is set to a smaller value. Note that it is preferable that multiple candidate values ​​for the time divisor α are preset. After step S170, the process returns to step S110, where the simplified job list SJL is updated by dividing the set work time of the original job list JL by the new candidate value for the time divisor α. Then, the process of step S120 and subsequent steps is executed again using the updated simplified job list SJL.

[0037] Note that when execution of step S120 is stopped in step S150, the entire process of step S100 may be terminated without proceeding to step S160. The reason for this is that even if step S120 is executed again using a smaller candidate value for the time divisor α after execution of step S120 is stopped in step S150, there is a high possibility that the execution time will reach the time limit. Also, although the candidate value for the time divisor α is gradually changed to a smaller value in the example of FIG. 9, the candidate value for the time divisor α may be gradually changed to a larger value. Furthermore, the multiple candidate values ​​for the time divisor α used in step S100 may be specified in advance by the user.

[0038] The second embodiment also has the same effects as the first embodiment. Furthermore, in the second embodiment, an iterative process is executed to find a final solution FS by modifying the simplified job list SJL while gradually changing the candidate value of the time divisor α, and the execution is stopped when the execution time reaches the time limit, thereby preventing excessive time from being spent on finding a solution.

[0039] Other embodiments: The present disclosure is not limited to the above-described embodiments and can be realized in various forms without departing from the spirit thereof. For example, the present disclosure can also be realized in the following aspects. The technical features in the above embodiments corresponding to the technical features in each aspect described below can be appropriately replaced or combined to solve some or all of the problems of the present disclosure or to achieve some or all of the effects of the present disclosure. Furthermore, if a technical feature is not described as essential in this specification, it can be appropriately deleted.

[0040] (1) According to a first aspect of the present disclosure, there is provided a method for creating a work plan for dividing a plurality of jobs among a plurality of machines, the method including: (a) setting processing conditions for each of the plurality of jobs, the processing conditions including a job list specifying set work times for the plurality of machines; (b) creating a simplified job list by dividing each of the set work times in the job list by a time divisor, and solving a job shop scheduling problem for the simplified job list as a 0-1 integer programming problem to obtain a tentative solution to the work plan; and (c) correcting the work time of each job in the tentative solution to the set work time to obtain a final solution to the work plan. According to this method, the job shop scheduling problem for the simplified job list is solved as a 0-1 integer programming problem, which shortens the solution time and enables the creation of a final solution for the work plan in a short time.

[0041] (2) In the above method, step (c) may include: (c1) obtaining a corrected solution by correcting the work time in the tentative solution to the set work time; and (c2) obtaining the final solution of the work plan by shifting the set work time in the corrected solution so as to minimize the work period of the work plan while complying with the constraints of the work plan. According to this method, the final solution of the work plan can be obtained by simple processing.

[0042] (3) The above method may include an iterative step of obtaining multiple final solution candidates corresponding to multiple candidate values ​​of the time divisor by gradually changing the candidate value of the time divisor and executing steps (b) to (c) on the simplified job list created using each candidate value, and a step of determining, as the final solution, the final solution candidate with the shortest working period among the multiple final solution candidates. The iterative step may include a step of stopping the execution of the iterative step when the execution time of step (b) or the iterative step reaches a preset time limit. According to this method, when the execution time of step (b) or the iterative step reaches the time limit, the execution is stopped, thereby preventing excessive solution-finding time from being required.

[0043] (4) In the above method, the time divisor may be the greatest common divisor of all the set work times in the job list. This method makes it possible to find the final solution, which is the optimal solution.

[0044] (5) The method may further include the step of (d) outputting the final solution of the work plan, specifying whether the final solution is an optimal solution or an approximate solution. This method allows the user to understand whether the final solution is optimal or approximate.

[0045] (6) In the above method, the step (a) may include a step of setting the value of the time divisor designated by a user as the processing condition. This method allows the user to specify the time divisor to any desired value.

[0046] (7) According to a second aspect of the present disclosure, there is provided a work plan creation device that creates a work plan for dividing and executing a plurality of jobs among a plurality of machines. The work plan creation device includes: a processing condition setting unit that sets processing conditions for each of the plurality of jobs, including a job list that specifies set work times for the plurality of machines; and a solution finding unit that creates a simplified job list by dividing each of the set work times in the job list by a time divisor, and obtains a tentative solution of the work plan by solving a job shop scheduling problem for the simplified job list as a 0-1 integer programming problem. The solution finding unit corrects the work time of each job in the tentative solution to the set work time, and executes a process of obtaining a final solution of the work plan.

[0047] (8) According to a third aspect of the present disclosure, there is provided a computer program that causes a processor to execute a process of creating a work plan for dividing and executing a plurality of jobs among a plurality of machines. The computer program causes the processor to execute the following processes: (a) setting processing conditions for each of the plurality of jobs, including a job list that specifies set work times for the plurality of machines; (b) creating a simplified job list by dividing each of the set work times in the job list by a time divisor, and solving a job shop scheduling problem for the simplified job list as a 0-1 integer programming problem, thereby obtaining a tentative solution to the work plan; and (c) correcting the work time of each job in the tentative solution to the set work time, thereby obtaining a final solution to the work plan.

[0048] The present disclosure may be realized in various forms other than those described above, such as a work plan creation device, a computer program for realizing the functions of the device, or a non-transitory storage medium on which the computer program is recorded. [Explanation of symbols]

[0049] 100... work plan creation device, 110... processor, 120... memory, 130... interface circuit, 140... input device, 150... display device, 310... processing condition setting unit, 320... solution finding unit

Claims

1. A method for creating a work plan for dividing and executing a plurality of jobs among a plurality of machines, comprising the steps of: (a) setting processing conditions for each of the plurality of jobs, the processing conditions including a job list specifying set operation times for the plurality of machines; (b) creating a simplified job list by dividing each of the set operation times in the job list by a time divisor, and solving a job shop scheduling problem for the simplified job list as a 0-1 integer programming problem to obtain a tentative solution to the operation plan; (c) correcting the work time of each job in the tentative solution to the set work time to obtain a final solution of the work plan; A method comprising:

2. 10. The method of claim 1, The step (c) (c1) obtaining a corrected solution by correcting the work time in the tentative solution to the set work time; (c2) determining the final solution of the work plan by shifting the set work time in the revised solution so as to minimize the work period of the work plan while complying with the constraints of the work plan; A method comprising:

3. 10. The method of claim 1, an iterative step of gradually changing a candidate value of the time divisor and executing steps (b) to (c) on the simplified job list created using each candidate value, thereby obtaining a plurality of final solution candidates corresponding to the plurality of candidate values; determining a final solution candidate having the shortest working period as the final solution from among the plurality of final solution candidates; Including, The method, wherein the iterative step includes a step of stopping the execution of the iterative step when the execution time of step (b) or the iterative step reaches a preset time limit.

4. 10. The method of claim 1, The method, wherein the time divisor is the greatest common divisor of all the set work times in the job list.

5. 10. The method of claim 1 further comprising: (d) outputting the final solution of the work plan, indicating whether the final solution is an optimal solution or an approximate solution; A method comprising:

6. 10. The method of claim 1, The method, wherein step (a) includes a step of setting the value of the time divisor designated by a user as the processing condition.

7. A work plan creation device that creates a work plan for dividing and executing a plurality of jobs among a plurality of machines, a processing condition setting unit that sets processing conditions for each of the plurality of jobs, the processing conditions including a job list that specifies a set work time for each of the plurality of machines; a solution unit that creates a simplified job list by dividing each of the set operation times in the job list by a time divisor, and that finds a tentative solution to the operation plan by solving a job shop scheduling problem related to the simplified job list as a 0-1 integer programming problem; Equipped with The solution-finding unit executes a process of correcting the work time of each job in the tentative solution to the set work time and finding a final solution of the work plan.

8. A computer program that causes a processor to execute a process of creating a work plan for dividing a plurality of jobs among a plurality of machines, (a) setting processing conditions for each of the plurality of jobs, the processing conditions including a job list specifying set operation times for the plurality of machines; (b) creating a simplified job list by dividing each of the set operation times in the job list by a time divisor, and solving a job shop scheduling problem for the simplified job list as a 0-1 integer programming problem to obtain a tentative solution to the operation plan; (c) modifying the work time of each job in the provisional solution to the set work time to obtain a final solution of the work plan; A computer program that causes the processor to execute the above.

Citation Information

Patent Citations

  • Operation plan decision method and operation plan decision system

    JP2015062102A