Method for preparing work plan and computer program

The method uses genetic algorithms to optimize work plans by translating individuals under constraints, addressing inefficiencies in conventional methods and enhancing search efficiency for multi-device, multi-task scenarios.

JP2025126948APending Publication Date: 2025-09-01SEIKO EPSON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024023339
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-20
Publication Date
2025-09-01

Smart Images

  • Figure 2025126948000001_ABST
    Figure 2025126948000001_ABST
Patent Text Reader

Abstract

To provide a technique that efficiently optimizes a work plan using a meta-heuristic optimization algorithm in methods other than those that obtain approximate solutions in mathematical optimization as initial values.SOLUTION: A method according to the present disclosure includes (a) a process for setting a processing condition including a constraint related to a work plan, and (b) a process for searching for an optimal solution for the work plan using a meta-heuristic optimization algorithm. The process (b) includes a process for determining a solution for the work plan represented by an individual by translating the individual created according to the meta-heuristic optimization algorithm under the constraint.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 and a computer program for creating a work plan. [Background technology]

[0002] Patent Document 1 discloses a technology that uses a genetic algorithm to search for an optimal solution for a process in a production line for multiple products. In this conventional technology, in order to improve search efficiency, an approximate solution for the process for a single product is obtained using a mathematical optimum solution or the like, and this is used as an initial value to optimize the process for all multiple products using a genetic algorithm. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-079376 Summary of the Invention [Problem to be solved by the invention]

[0004] In the above-mentioned conventional techniques, when multiple products are highly related within a process, the initial value, which is an approximate solution, may not work well, resulting in poor search efficiency. Furthermore, when the time required for each process differs and planning, such as a Gantt chart, is required, as the problem size increases, such as the number of processes or time steps, it may take too long to find an approximate solution through mathematical optimization, resulting in a decrease in overall search efficiency. Therefore, when using metaheuristic optimization algorithms such as genetic algorithms, a technology is desired that can efficiently optimize work plans using a method other than finding an approximate solution through mathematical optimization and using it as an initial value. [Means for solving the problem]

[0005] 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 tasks among a plurality of devices. The method includes: (a) setting processing conditions including constraints for the work plan; and (b) searching for an optimal solution for the work plan using a metaheuristic optimization algorithm. Step (b) includes determining a solution for the work plan represented by an individual by translating the individual created according to the metaheuristic optimization algorithm under the constraints.

[0006] According to a second 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 tasks among a plurality of devices. The computer program causes the processor to execute the following processes: (a) setting process conditions including constraints for the work plan; and (b) searching for an optimal solution for the work plan using a metaheuristic optimization algorithm. The process (b) includes determining a solution for the work plan represented by an individual by translating an individual created according to the metaheuristic optimization algorithm under the constraints. [Brief explanation of the drawings]

[0007] [Figure 1] FIG. 1 is a block diagram of a work plan creation device according to a first embodiment. [Figure 2] FIG. 3 is an explanatory diagram showing an example of creating a work plan in the first embodiment. [Figure 3] 10 is a flowchart showing the procedure of a work plan creation process. [Figure 4] FIG. 10 is an explanatory diagram showing an example of an initial state of a task list. [Figure 5] FIG. 10 is an explanatory diagram showing an example of an initial state of a device list. [Figure 6] FIG. 10 is an explanatory diagram showing an example of constraint conditions. [Figure 7] 10 is a flowchart showing the detailed procedure of step S500. [Figure 8] 10 is a flowchart showing the detailed procedure of step S520. [Figure 9] FIG. 10 is an explanatory diagram showing an example of updating a task list. [Figure 10A] FIG. 1 is an explanatory diagram showing an example of gene translation of an individual. [Figure 10B] FIG. 1 is an explanatory diagram showing an example of gene translation of an individual. [Figure 11] FIG. 10 is an explanatory diagram showing an example of creating a work plan in the second embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0008] A. First embodiment: 1 is a block diagram showing the functions of a work plan creation device 100 according to the first 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.

[0009] The processor 110 implements the functions of a processing condition setting unit 310 that sets processing conditions for a work plan and an optimization unit 320 that searches for an optimal solution for the work plan using a metaheuristic optimization algorithm. The processing condition setting unit 310 includes a work list creation unit 311 that creates a work list WL, a device list creation unit 312 that creates a device list DL, a constraint condition setting unit 313 that sets constraint conditions CC, and an evaluation condition setting unit 314 that sets evaluation conditions EC. The optimization unit 320 includes an individual creation unit 321 that creates a population of individuals, an individual translation unit 322 that translates individuals to find a solution for the work plan, a work plan evaluation unit 323 that evaluates the solution for the work plan, and a work plan output unit 324 that outputs the created work plan. The functions of each of these units are implemented by the processor 110 executing a computer program stored in the memory 120. However, the functions of each of these units may also be implemented by hardware circuits. The term "processor" used herein also includes such hardware circuits.

[0010] The memory 120 stores a task list WL, a device list DL, constraints CC, and evaluation criteria EC, the contents of which will be described later.

[0011] The work plan of the present disclosure can be applied, for example, to creating an efficient work plan for carrying out work to perform multiple performance evaluations on multiple prototypes in product development. In this case, various constraint conditions CC are set according to each case, taking into consideration cases such as when the evaluation results of a previous performance evaluation work are used in the next performance evaluation work, or when it is desired to prioritize a specific performance evaluation work. Examples of constraint conditions CC will be described later.

[0012] A metaheuristic optimization algorithm is an optimization algorithm that searches for an optimal solution that maximizes a specific evaluation value by adjusting multiple parameters using heuristics (discovery methods) that are not dependent on a specific computational problem. Metaheuristic optimization algorithms are particularly advantageous in that they can efficiently search for optimal solutions for problems in which evaluation values ​​change discontinuously when parameters are changed, or for multi-peak problems with multiple local solutions. Examples of metaheuristic optimization algorithms that can be used for optimizing work plans according to the present disclosure include genetic algorithms (GAs), covariance matrix adaptive evolution strategies (CMA-ES), and differential evolution (DE). All of these metaheuristic optimization algorithms share the same concept of maintaining a population, which is a collection of multiple individuals, and deriving or evolving some of the individuals into ones that are thought to be better, thereby moving the population toward an optimal solution. However, the methods for deriving or evolving the population differ from one another.

[0013] In this embodiment, a genetic algorithm is used as the metaheuristic optimization algorithm, but the present disclosure is also applicable to cases where a metaheuristic optimization algorithm other than a genetic algorithm is used.

[0014] FIG. 2 is an explanatory diagram showing an example of creating a work plan in an embodiment. In this embodiment, a work plan is created in which Nw tasks Wj are performed using Nd devices Dm. Here, j is an ordinal number for distinguishing between tasks, and m is an ordinal number for distinguishing between devices. The number Nw of tasks Wj is preferably set to an integer equal to or greater than 3. The number Nd of devices Dm is preferably set to an integer equal to or greater than 2. In the example of FIG. 2, Nw = 8 and Nd = 3. A work time w_time(j) is set in advance for each task Wj. The work time w_time(j) is measured in units of minutes or hours, for example. In the example of FIG. 2, the tasks Wj are arranged in ascending order of their work time w_time(j), but the order of the tasks Wj can be set arbitrarily. Note that in this embodiment, it is assumed that the work efficiency of each device Dm is the same.

[0015] An individual GI generated according to a genetic algorithm is composed of Nw gene pairs GP(k). Here, k is an ordinal number for distinguishing gene pairs, and the maximum value of k is equal to the number Nw of tasks Wj. Each gene pair GP(k) includes a task gene Wg(k) indicated by a solid-line frame and a device gene Dg(k) indicated by a dashed-line frame. In this embodiment, each gene is represented by an 8-bit number and can take a value in the range of 0 to 255. The individual translation unit 322 selects a task Wj by translating the task gene Wg(k), and selects a device Dm that will execute the task Wj by translating the device gene Dg(k). Note that "selecting a task Wj" is synonymous with converting the task gene Wg(k) into a task name. Furthermore, "selecting a device Dm" is synonymous with converting the device gene Dg(k) into a device name. As can be understood from this explanation, "gene translation" refers to the process of determining the phenotype of the gene pair GP(k). As will be described later, gene translation is performed under constraints CC.

[0016] When the translation of one individual GI is completed, one work plan is obtained. The work plan specifies which tasks Wj will be executed in what order at each device Dm. An appropriate work plan is created so that the work completion time t_comp is as short as possible and is equal to or less than the maximum planned time t_limit. The work completion time t_comp is the time at which all tasks are completed. The maximum planned time t_limit is the maximum allowable value of the work completion time t_comp, and is calculated, for example, using the following formula:

number

[0017] Ideally, the planned maximum time t_limit is approximately equal to the sum Σw_time(j) of the work times w_time(j) for all work divided by the number of machines Nd. However, to allow for some leeway in the planned maximum time t_limit, a coefficient β is multiplied. The coefficient β is preferably set to a value greater than 1, and preferably less than 2. In this embodiment, β is set to approximately 1.2.

[0018] 2, the work plan in which the work in multiple devices Dm is completed in approximately the same time is an example of an optimal solution. Such an optimal solution is searched for using a genetic algorithm.

[0019] 3 is a flowchart showing the procedure for the work plan creation process. In steps S100 to S400, various processing conditions related to the work plan are set. First, in step S100, the work list creation unit 311 creates a work list WL.

[0020] 4 is an explanatory diagram showing an example of the initial state of the work list WL. The work list WL is a list in which the work name Wj, work time w_time(j), work selection flag F(j), and work selection boundary value Sw(j) are registered for each of multiple works to be performed in the work plan.

[0021] The task selection flag F(j) indicates whether task Wj may be selected when translating the genes of an individual. F(j) = 0 indicates that task Wj cannot be selected, and F(j) = 1 indicates that task Wj can be selected. For example, if task Wj has already been selected by a previous gene translation, the task selection flag F(j) for that task Wj is set to 0. Also, if the selection of task Wj is prohibited by a constraint CC, which will be described later, the task selection flag F(j) for that task Wj is set to 0. In the initial conditions shown in Figure 4, all task selection flags F(j) are set to 1, and all tasks are selectable.

[0022] The operation selection boundary value Sw(j) is a boundary value used when translating the operation gene Wg(k) to select an operation. In the present embodiment, the operation selection boundary value Sw(j) is calculated according to the following formula using the operation selection flag F(j).

Equation

[0023] In the initial state of FIG. 4, the operation selection boundary values Sw(j) for the eight operations Wj are equally spaced values. In the translation of the operation gene Wg(k), when Sw(j - 1) ≤ Wg(k) < Sw(j) is satisfied, the operation Wj is selected for the operation gene Wg(k). For example, in the state of FIG. 4, when a certain operation gene Wg(k) has a value in the range of 0 to 31, the operation W1 is selected for that operation gene Wg(k). Also, when a certain operation gene Wg(k) has a value in the range of 32 to 63, the operation W2 is selected for that operation gene Wg(k). As can be understood from these explanations, the translation result of any operation gene Wg(k) is determined according to the relationship between the preset range Sw(j - 1) to Sw(j) and the value of the operation gene Wg(k). In the present disclosure, this translation rule is referred to as the "operation translation rule". Also, the range Sw(j - 1) to Sw(j) set for each individual operation Wj is referred to as the "operation selection range". At any point in the optimization process, the operation selection range Sw(j - 1) to Sw(j) is set to different ranges for each operation Wj.

[0024] The operation list WL as shown in FIG. 4 can be created by the user inputting using the input device 140 or by reading pre-created data. Note that the operation selection flag F(j) and the operation selection boundary value Sw(j) may be created in the form of a table separate from the operation list WL.

[0025] In step S200 of FIG. 3, the device list creation unit 312 creates a device list DL.

[0026] 5 is an explanatory diagram showing an example of the initial state of the device list DL. The device list DL is a list in which the device name Dm, processing end time t_end(m), device free time t_open(m), and device selection boundary value Sd(m) are registered for each of multiple devices that can perform work in the work plan.

[0027] The processing end time t_end(m) is the time when the last task is completed when one or more tasks are assigned to the device Dm. If no tasks are assigned to the device Dm, t_end(m) = 0.

[0028] The device free time t_open(m) is calculated using the processing end time t_end(m) by the following formula.

number

[0029] As can be seen from the above formula (q3), the equipment idle time t_open(m) is a value that indicates how much idle time there is until the planned maximum time t_limit after the completion of an operation that has already been assigned to that equipment Dm. In the initial state shown in Figure 5, since no operation is assigned to any of the equipment Dm, the equipment idle times t_open(m) are all set to the same initial value of 360.

[0030] The device selection boundary value Sd(m) is a boundary value used when selecting a device by translating the device genes Dg(k) of an individual. In this embodiment, the device selection boundary value Sd(m) is calculated using the device free time t_open(m) according to the following formula:

number

[0031] In the initial state of FIG. 5, the device selection boundary values Sd(m) for the three devices Dm are equally spaced values. In the translation of the device gene Dg(k), when Sd(m - 1) ≤ Dg(k) < Sd(m) is satisfied, device Dm is selected for that device gene Dg(k). For example, in the state of FIG. 5, when a certain device gene Dg(k) has a value in the range of 0 to 84, device D1 is selected for that device gene Dg(k). Also, when a certain device gene Dg(k) has a value in the range of 85 to 169, device D2 is selected for that device gene Dg(k). As can be understood from these explanations, the translation result of any device gene Dg(k) is determined according to the relationship between the preset range Sd(m - 1) to Sd(m) and the value of the device gene Dg(k). In the present disclosure, this translation rule is referred to as the "device translation rule". Also, the range Sd(m - 1) to Sd(m) set for each individual device Dm is referred to as the "device selection range". At any point in the optimization process, the device selection ranges Sd(m - 1) to Sd(m) are set to different ranges for each device Dm. Also, the device selection ranges Sd(m - 1) to Sd(m) are set so that when the device gene Dg(k) takes a random value, each device Dm is selected with a probability proportional to the device idle time t_open(m) of each device Dm.

[0032] The device list DL as shown in FIG. 5 can be created by the user inputting using the input device 140 or by reading pre - created data. Note that the processing end time t_end(m), the device idle time t_open(m), and the device selection boundary value Sd(m) may be created in the form of a table separate from the device list DL.

[0033] In step S300 of FIG. 3, the constraint condition setting unit 313 sets the constraint conditions CC regarding the work plan.

[0034] 6 is an explanatory diagram showing an example of constraints CC. In this example, constraints CC include the following conditions: <Time constraint TC1> Work W1 must be completed before a specified time t1. <Time constraint TC2> Work W3 starts after the specified time t1. <Device Constraint DC1> Work W1 is executed by specified device D1. <Order constraint SC1> Activity W8 starts after activity W2 finishes. · Auxiliary equipment restrictions ADC1: None. <Order constraint SC2> Activity W7 starts after activity W1 finishes. · Auxiliary equipment constraint ADC2: Same equipment as operation W1. <Order constraint SC3> Activity W5 starts after activity W1 finishes. · Auxiliary equipment restriction ADC3: Specified equipment D2.

[0035] The time constraint TC is a constraint regarding the relationship between a specific task and a specified time. The device constraint DC is a constraint indicating that a specific task is to be performed on a specified device. The sequence constraint SC is a constraint indicating the execution order of a specific first task and a specific second task. Each sequence constraint SC can be accompanied by an additional device constraint ADC. The additional device constraint ADC is a type of device constraint DC, but differs from a normal device constraint DC in that it is accompanied by a sequence constraint SC. These constraint conditions CC can be input by the user using the input device 140 or can be created by reading data created in advance.

[0036] The constraints CC may not include some of the time constraints TC, device constraints DC, and order constraints SC, or may include constraints other than those illustrated in FIG. 6. However, it is preferable that the constraints CC include one or more device constraints DC and one or more order constraints SC. As will be described later, in this embodiment, gene translation is performed under the device constraints DC and order constraints SC. On the other hand, the time constraints TC are not used in gene translation, but are used in the evaluation function of the genetic algorithm. This point will be discussed later.

[0037] 3, the evaluation condition setting unit 314 sets evaluation conditions EC to be used in the genetic algorithm. In this embodiment, the evaluation function Ev of the individual and the termination condition of the optimization process are set as the evaluation conditions EC.

[0038] The evaluation function Ev is set, for example, as follows: Ev = t_comp + α×Ne(q5) Here, t_comp is the task completion time explained in Figure 2, α is a positive coefficient, and Ne is the number of violated constraints. α × Ne is the penalty term.

[0039] As described above, in this embodiment, the genes of an individual are translated under the device constraint DC and the order constraint SC, so the work plan resulting from the translation will not violate the device constraint DC and the order constraint SC. On the other hand, the time constraint TC is not used in gene translation, so the work plan resulting from the translation of an individual may violate the time constraint TC. Therefore, Ne in the above equation (q5) is the number of violated time constraints TC. If the constraint CC includes other constraints, Ne is determined so that the number of violations of those constraints is included in Ne. The value of the positive coefficient α is empirically set to an appropriate value depending on the range of possible values ​​of the task completion time t_comp. In other words, since α×Ne is a penalty, the value of the coefficient α is set so that the value of the evaluation function Ev is sufficiently large when a violated constraint exists.

[0040] Of the multiple types of constraint conditions CC described in Figure 6, which types of constraint conditions CC are used for gene translation and which other types of constraint conditions CC are used as penalty terms in the evaluation function EV can be selected arbitrarily depending on the type of work Wj and the type of device Dm.

[0041] In a genetic algorithm, the smaller the value of the evaluation function Ev of an individual, the higher the fitness of that individual is judged to be. An equation other than the above equation (q5) may be used as the evaluation function Ev. For example, the following equation may be used instead of equation (q5). Ev = (t_comp / Σw_time(j)) + α×Ne (q6) Here, Σw_time(j) is the sum of the work times w_time(j) of the multiple works Wj explained in Fig. 2. (t_comp / Σw_time(j)) corresponds to the workload rate of the multiple devices Dm.

[0042] The optimization process can be terminated under one or more of the following conditions: <Termination condition EE1> The minimum value of the evaluation function Ev for the population is equal to or less than a preset threshold value. <Termination condition EE2> The extent of decrease in the minimum value of the evaluation function Ev due to generational change in the population is equal to or less than a preset decrease threshold value. <Termination condition EE3> The population has undergone a preset number of generations. However, different termination conditions may be used.

[0043] In step S500 of FIG. 3, the optimization unit 320 creates a work plan.

[0044] 7 is a flowchart showing the detailed procedure of step S500. In step S510, the individual creation unit 321 creates an initial population of individuals. The work genes Wg(k) and device genes Dg(k) that make up each individual included in the initial population can be set to any values. In step S520, the individual translation unit 322 selects one individual included in the population and translates the genes of that individual to create a solution to the work plan.

[0045] 8 is a flowchart showing the detailed procedure of step S520. In step S521, the individual translation unit 322 sets a parameter k for selecting a gene pair GP(k) within an individual to 1. In step S522, the individual translation unit 322 updates the work list WL and the device list DL.

[0046] FIG. 9 is an explanatory diagram showing an example of updating the task list WL. Here, the task list WL is updated according to the order constraint SC. The values ​​enclosed by the dotted line are values ​​that have changed due to the update. For example, the order constraint SC1 specifies that "task W8 will start after task W2 is completed." Therefore, the task selection flag F(8) for task W8 is changed to 0 according to this order constraint SC1. Similarly, the task selection flag F(7) for task W7 is changed to 0 according to the order constraint SC2, and the task selection flag F(5) for task W5 is changed to 0 according to the order constraint SC3. Furthermore, in response to these modifications to the task selection flag F(j), the value of the task selection boundary value Sw(j) is recalculated and modified according to the above formula (q2). As can be seen from this example, the task selection boundary value Sw(j) and the task selection range Sw(j-1) to Sw(j) are set according to the order constraint SC. Furthermore, for tasks Wj for which the task selection flag F(j) is set to 0, the task selection range Sw(j-1) to Sw(j) will be zero. As can be understood from this explanation, the task selection range Sw(j-1) to Sw(j) is set to a different range for each task Wj, except for tasks for which selection is prohibited. Furthermore, at any point in time during the optimization process, the task selection range Sw(j-1) to Sw(j) is set so that when the task gene Dw(k) takes a random value, each selectable task Wj is selected with equal probability.

[0047] When step S522 is executed for the first time, the work list WL is updated as described above, but the device list DL is not updated and is maintained in the initial state shown in FIG.

[0048] In step S523, the individual translation unit 322 translates the work gene Wg(k) to determine the work name, and in step S524, the individual translation unit 322 translates the device gene Dg(k) to determine the device name.

[0049] FIG. 10A is an explanatory diagram showing an example of translation for the first gene pair GP(1) of individual GI. The work list WL shown in FIG. 10A is the updated list explained in FIG. 9. The device list DL is the list in the initial state explained in FIG. 5. The value of the work gene Wg(1) to be translated is 25, and since Sw(0)≦Wg(1)<Sw(1) is satisfied, the work name of work W1 is selected as the translation result. Also, the value of the device gene Dg(1) to be translated is 76, and since Sd(0)≦Dg(1)<Sd(1) is satisfied, the device name of device D1 is selected as the translation result.

[0050] In addition, if the device determined according to the value of the device gene Dg(1) violates the device constraint DC, the designated device defined by the device constraint DC is used as the translation result of the device gene Dg(1). However, in the example of FIG. 10A, since the combination of work W1 and device D1 does not violate the device constraint DC explained in FIG. 6, device D1 determined according to the value of the device gene Dg(1) is directly adopted as the translation result.

[0051] In step S525, the individual translation unit 322 creates a work plan by assigning the device Dm selected in step S524 to the work Wj selected in step S523. The work plan shown in FIG. 10A shows the state where device D1 is assigned to work W1. The device idle time t_open(1) of device D1 in the work plan is updated according to the above equation (q3) according to this assignment.

[0052] In step S526, the individual translation unit 322 determines whether the parameter k is equal to the number Nw of gene pairs GP(k), that is, whether the translation for all gene pairs GP(k) is completed. If the translation is not completed, it proceeds to step S527, adds 1 to the parameter k, and returns to step S522. In step S522, the work list WL and the device list DL are updated according to the translation history in the same individual GI. Thereafter, in steps S523 to S525, the translation for the next gene pair GP(k) is executed.

[0053] Figure 10B is an explanatory diagram showing an example of translation for the second gene pair GP(2) of the individual GI. The work list WL and device list DL shown in Figure 10B are lists after being updated according to the translation result of the first gene pair GP(1). The numbers surrounded by dotted lines are values ​​that have changed due to the update.

[0054] In the work list WL, work W1 is selected in the first gene pair GP(1), so its work selection flag F(1) is changed to 0. Also, because work W1 has been included in the work plan, the order constraints SC2 and SC3 shown in FIG. 9 are excluded from application, and the work selection flags F(7) and F(5) for work W7 and W5 are changed to 1. Furthermore, in response to these changes in work selection flag F(j), the work selection boundary value Sw(j) is recalculated according to the above formula (q2). As can be seen from this example, the work selection range Sw(j-1) to Sw(j) for each work Wj is preferably set in accordance with the translation results of other work genes that were translated prior to the work gene Wg(k) to be translated in the same individual GI, and the order constraint SC. Furthermore, for a work Wj selected as the translation result of other work genes that were translated prior, its work selection range Sw(j-1) to Sw(j) is preferably set to zero. This makes it possible to prevent the same work from being selected twice.

[0055] In the device list DL of FIG. 10B, for device D1, since the operation W1 selected in the first gene pair GP(1) is assigned, its processing end time t_end(1) is changed to a value corresponding to the operation time w_time(1) of operation W1. Also, the device idle time t_open(1) is recalculated according to the above equation (q3), and the device selection boundary value Sd(m) is recalculated according to the above equation (q4). As can be understood from this example, for each individual device Dm, the device selection range Sd(m - 1) to Sd(m) is preferably set according to the translation results of other device genes translated prior to the device gene Dg(k) to be translated in the same individual GI. Also, for the device Dm selected as the translation result of other device genes translated previously, it is preferable that the device selection range Sd(m - 1) to Sd(m) is modified to be smaller than before the selection of that device Dm. By doing so, the probability that that device Dm is selected as a device to execute other operations can be reduced.

[0056] In FIG. 10B, the value of the operation gene Wg(2) to be translated is 40, and since Sw(1) ≤ Wg(2) < Sw(2) is satisfied, operation W2 is selected as the translation result. Also, the value of the device gene Dg(2) to be translated is 102, and since Sd(1) ≤ Dg(2) < Sd(2) is satisfied, device D2 is selected as the translation result. Also, since the selection result of this device D2 does not violate the device constraint DC shown in FIG. 6, it is adopted as the translation result as it is. The operation plan shown in FIG. 10B shows a state where operation W2 is assigned to device D2. The device idle time t_open(2) of device D2 in the operation plan is updated according to the above equation (q3) in accordance with this assignment.

[0057] When the translation is completed for all gene pairs GP(k) of the same individual GI, the process of FIG. 8 ends and the process proceeds to step S530 of FIG. 7.

[0058] <In step S530, the work plan evaluation unit 323 evaluates the work plan created in step S520. Specifically, the work plan evaluation unit 323 calculates the evaluation function Ev in accordance with (q5) above.

[0059] In step S540, the work plan evaluation unit 323 determines whether the processing of steps S520 and S530 has been completed for all individuals in the population. If the processing of all individuals has not been completed, the process returns to step S520, and the individual translation unit 322 selects another individual and executes steps S520 and S530 again. If the processing of all individuals has been completed, the process proceeds to step S550.

[0060] In step S550, the work plan evaluation unit 323 determines whether the termination conditions for the optimization process set in step S400 are satisfied. If the termination conditions are satisfied, the process proceeds to step S580, which will be described later. On the other hand, if the termination conditions are not satisfied, the process proceeds to step S560.

[0061] In step S560, the individual creation unit 321 selects highly evaluated individuals from the population. For example, a predetermined number of individuals are selected as highly evaluated individuals from the population in ascending order of the value of the evaluation function Ev. Individuals not selected are deleted.

[0062] In step S570, the individual creation unit 321 generates derived individuals based on the individuals selected in step S560. Crossover and mutation can be used to create derived individuals. Crossover is a process of selecting two individuals from the multiple individuals selected in step S560 and swapping their genes midway. Mutation is a process of selecting one individual from the multiple individuals selected in step S560 and randomly changing the values ​​of some of its genes. Note that it is preferable that the number of derived individuals generated by crossover and mutation be the same as the number of individuals deleted in step S560. This makes it possible to maintain a constant number of individuals in the population. The processes of steps S560 and S570 correspond to a process of changing generations of the population. After step S570, the process returns to step S520, and the processes from step S520 onwards are executed for the population of the next generation.

[0063] If the optimization process termination condition is met in step S550, the process proceeds to step S580, where the work plan output unit 324 outputs a work plan. For example, the individual with the highest evaluation, i.e., the individual with the smallest evaluation function Ev, is selected from the multiple individuals evaluated up to that point, and a work plan that is the translation result of that individual is output. As a result, it is possible to obtain an optimal solution such as the one shown in FIG. 2, or a work plan close to the optimal solution.

[0064] As described above, in the first embodiment, the solution to the work plan represented by the individual G I can be determined by translating the genes of the individual G I created according to the genetic algorithm under the constraint CC. In this way, by translating the genes of the individual G I under the constraint CC, the optimization search space can be narrowed, and a work plan that meets the constraint CC can be efficiently created.

[0065] 3, 7, and 8 may be changed in order as appropriate. The above-described operational translation rules and device translation rules are merely examples, and genes may be translated using rules different from these.

[0066] B. Second embodiment: FIG. 11 is an explanatory diagram showing an example of creating a work plan in the second embodiment, which is a modification of FIG. 2 described in the first embodiment. The device of the second embodiment is the same as the device of the first embodiment. The second embodiment differs from the first embodiment mainly in the following two points. (1) The work time w_time(j) for each task Wj has been changed to the standard work time w_time(j). (2) The work efficiency η is set for each device Dm.

[0067] The work efficiency η is a relative value where the standard work efficiency η is 1.0. In the example of FIG. 11, the work efficiency η of device D1 is set to 1.0, the work efficiency η of device D2 is set to 1.1, and the work efficiency η of device D3 is set to 0.9. The "standard work time w_time(j)" refers to the work time when an operation Wj is performed by a device Dm with a work efficiency η of 1.0. When an operation Wj is performed by a device Dm with a work efficiency η other than 1.0, the work time is set to w_time(j) / η, which is the standard work time w_time(j) divided by the work efficiency η. In the example of the work plan shown at the bottom of FIG. 11, it can be seen that the work time value of each operation Wj is w_time(j) / η. This work time calculation is performed when assigning an operation Wj to a device Dm in step S525 of FIG. 8. Note that the work plan at the bottom of FIG. 11 is not an optimal solution, so a search for an optimal solution is further performed. Other processes in the second embodiment are the same as those in the first embodiment.

[0068] The second embodiment has the same effects as the first embodiment. Furthermore, in the second embodiment, the work time of each task Wj in the work plan is set to the value obtained by dividing the standard work time w_time(j) of the task Wj by the work efficiency η of the device Dm that performs the task Wj, so that a work plan can be created that takes into account the work efficiency η of each device Dm.

[0069] 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.

[0070] (1) 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 tasks among a plurality of devices. The method includes: (a) setting processing conditions including constraints for the work plan; and (b) searching for an optimal solution for the work plan using a metaheuristic optimization algorithm. Step (b) includes determining a solution for the work plan represented by an individual by translating the individual created according to the metaheuristic optimization algorithm under the constraints. This method allows us to narrow the search space for optimization by translating individuals under constraints, and to efficiently create a work plan that meets the constraints.

[0071] (2) In the above method, the metaheuristic optimization algorithm may be a genetic algorithm. According to this method, a work plan that meets constraints can be efficiently created using a genetic algorithm.

[0072] (3) In the above method, the constraints may include an order constraint regarding the order of two or more tasks and an apparatus constraint indicating that a specific task is to be performed on a specified apparatus, and the individual may be configured to include a plurality of gene pairs each consisting of a task gene and an apparatus gene. The translation may also include a task translation that translates the task gene into a task name according to a task translation rule determined in accordance with the order constraint, and an apparatus translation that translates the apparatus gene into a apparatus name according to a device translation rule determined in accordance with the apparatus constraint. According to this method, the genes of an individual can be translated into a work plan by translating the work genes into work names according to work translation rules that correspond to the order constraints, and translating the device genes into device names according to device translation rules that correspond to the device constraints.

[0073] (4) In the above method, the task translation rule may be a rule for translating the target task gene into the task name according to the relationship between the value of the target task gene to be translated and a task selection range set for each task of the plurality of tasks. The task selection range may also be set according to the translation result of a preceding task gene that was translated before the target task gene in the same individual and the order constraint. According to this method, in the same individual, the task selection range for each task is set according to the translation results of the preceding task gene and the order constraint, and the task name is determined in relation to this and the value of the target task gene, so that multiple task genes contained in the individual can be translated appropriately.

[0074] (5) In the above method, the operation selected as the translation result of the preceding operation gene may be corrected so that the operation selection range becomes zero. This method prevents you from selecting the same task twice.

[0075] (6) In the above method, the device translation rule may be a rule for translating the target device gene into the device name according to a relationship between the value of the target device gene to be translated and a device selection range set for each of the plurality of devices. Also, the device selection range may be set according to a translation result of a preceding device gene that was translated before the target device gene in the same individual. According to this method, in the same individual, the device selection range for each device is set according to the translation result of the preceding device gene, and the device name is determined in relation to this and the value of the target device gene, so that multiple device genes contained in the individual can be translated appropriately.

[0076] (7) In the above method, the device selected as a translation result of the preceding device gene may be modified so that the device selection range is smaller than that before the selection. According to this method, it is possible to reduce the probability that a device assigned to a task will be selected as a device to perform another task.

[0077] (8) In the above method, if the device name determined based on the relationship between the value of the target device gene and the device selection range violates the device constraint, the device name specified by the device constraint may be used as the translation result of the target device gene. This method makes it possible to obtain translation results that comply with device limitations.

[0078] (9) In the above method, a standard work time may be set for each of the plurality of tasks, and a work efficiency may be set for each of the plurality of devices. In the work plan, the work time for each task may be set to a value obtained by dividing the standard work time for each task by the work efficiency of each device that performs the task. According to this method, a work plan can be created that takes into account the work efficiency of each device.

[0079] (10) According to a second 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 tasks among a plurality of devices. The computer program causes the processor to execute (a) a process of setting process conditions including constraints related to the work plan, and (b) a process of searching for an optimal solution to the work plan using a metaheuristic optimization algorithm. The process (b) includes a process of determining a solution to the work plan represented by an individual by translating an individual created according to the metaheuristic optimization algorithm under the constraints.

[0080] 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]

[0081] 100...Work plan creation device, 110...Processor, 120...Memory, 130...Interface circuit, 140...Input device, 150...Display device, 310...Processing condition setting unit, 311...Work list creation unit, 312...Device list creation unit, 313...Constraint condition setting unit, 314...Evaluation condition setting unit, 320...Optimization unit, 321...Individual creation unit, 322...Individual translation unit, 323...Work plan evaluation unit, 324...Work plan output unit.

Claims

1. A method for creating a work plan for dividing a plurality of tasks among a plurality of devices, the method comprising: (a) setting processing conditions including constraints on the work plan; (b) searching for an optimal solution to the work plan using a metaheuristic optimization algorithm; Including, wherein step (b) comprises determining a solution to the work plan represented by an individual by translating the individual created according to the metaheuristic optimization algorithm under the constraints.

2. 10. The method of claim 1, The method, wherein the metaheuristic optimization algorithm is a genetic algorithm.

3. 3. The method of claim 2, The constraints include an order constraint regarding the order of two or more operations and an equipment constraint indicating that a particular operation is to be performed on a specified equipment; the individual is configured to include a plurality of gene pairs each consisting of a worker gene and an apparatus gene; The method includes a work translation that translates the work gene into a work name according to work translation rules determined in response to the order constraint, and a device translation that translates the device gene into a device name according to device translation rules determined in response to the device constraint.

4. 4. The method of claim 3, The task translation rule is a rule for translating the target task gene into the task name according to a relationship between a value of the target task gene to be translated and a task selection range set for each task of the plurality of tasks, A method in which the operation selection range is set according to the translation result of a preceding operation gene that has been translated prior to the target operation gene in the same individual, and the order constraint.

5. 5. The method of claim 4, A method in which, for a task selected as a translation result of the preceding task gene, the task selection range is modified to be zero.

6. 4. The method of claim 3, the device translation rule is a rule for translating the target device gene into the device name according to a relationship between a value of the target device gene to be translated and a device selection range set for each device of the plurality of devices; A method in which the device selection range is set according to the translation result of a previous device gene that was translated prior to the target device gene in the same individual.

7. 7. The method of claim 6, For devices selected as a result of translation of the preceding device gene, the device selection range is modified to be smaller than before the selection.

8. 7. The method of claim 6, A method in which, if the device name determined based on the relationship between the value of the target device gene and the device selection range violates the device constraint, the device name specified by the device constraint is used as the translation result of the target device gene.

9. 4. The method of claim 3, Standard work times are set for the plurality of tasks, A work efficiency is set for each of the plurality of devices, A method according to claim 1, wherein in the work plan, the work time of each work is set to a value obtained by dividing the standard work time of each work by the work efficiency of each device that performs each work.

10. A computer program that causes a processor to execute a process of creating a work plan for dividing a plurality of tasks among a plurality of devices, (a) setting processing conditions including constraints on the work plan; (b) searching for an optimal solution for the work plan using a metaheuristic optimization algorithm; causing the processor to execute The process (b) includes determining a solution to the work plan represented by an individual by translating the individual created according to the metaheuristic optimization algorithm under the constraints.

Citation Information

Patent Citations

  • Optimal solution search device and optimal solution search program

    JP2022079376A