Planning program, planning method, and information processing device

The planning program optimizes processing completion time and equipment utilization by employing a four-step scheduling method that balances forward and backward arrangements, addressing inefficiencies in existing scheduling methods.

JP7787464B2Active Publication Date: 2025-12-17FUJITSU LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2024533389
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-07-13
Publication Date
2025-12-17
Estimated Expiration
2042-07-13

AI Technical Summary

Technical Problem

Existing scheduling methods struggle to simultaneously satisfy both processing completion time and equipment utilization rate constraints in production processes.

Method used

A planning program that employs a four-step process involving forward and backward arrangement of objects in processing sequences, aligning start times, and optimizing task allocation to balance completion time and equipment availability.

Benefits of technology

This approach effectively optimizes both processing completion time and equipment utilization rate, reducing waiting times and improving operational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007787464000001
    Figure 0007787464000001
  • Figure 0007787464000002
    Figure 0007787464000002
  • Figure 0007787464000003
    Figure 0007787464000003
Patent Text Reader

Abstract

This planning program causes a computer to execute: a first step for arranging a plurality of target objects as processing entities for a plurality of processes, by means of forward arrangement in which the arrangements are planned in accordance with a predetermined order for the plurality of target objects, starting from a predetermined time point; a second step for arranging the plurality of target objects as processing entities for the plurality of processes, by means of backward arrangement in which the arrangements are planned with the time axis in the opposite direction, starting from a predetermined time point, in accordance with the order in which processing of each target object is completed in the final process in the arrangement obtained in the first step; a third step for left-aligning a processing start time point of each target object in each process in the arrangement obtained in the second step; and a fourth step for left-aligning the arrangement obtained in the third step to a predetermined time point.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a planning program, a planning method, and an information processing device. [Background technology]

[0002] Techniques for optimizing scheduling in a plan for processing a plurality of objects in each process have been disclosed (see, for example, Patent Documents 1 to 4). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 07-021264 [Patent Document 2] U.S. Patent Publication No. 2005 / 0149219 [Patent Document 3] U.S. Patent Publication No. 2006 / 0026052 [Patent Document 4] Japanese Patent Application Laid-Open No. 2013-152648 Summary of the Invention [Problem to be solved by the invention]

[0004] However, it is difficult to satisfy predetermined conditions regarding both the processing completion time and the utilization rate.

[0005] In one aspect, the present invention aims to provide a planning program, a planning method, and an information processing device that can satisfy predetermined conditions for both processing completion time and availability. [Means for solving the problem]

[0006] In one aspect, a planning program is a planning program that performs a plurality of processes on a plurality of objects in a sequence, a processing time is determined for each of the plurality of processes on each of the plurality of objects, the number of processing entities for any of the plurality of objects is determined for each of the plurality of processes, and while a processing entity is performing a process on any of the objects, the processing entity does not perform a process on other objects. The planning program is configured to program a computer to perform a predetermined sequence for the plurality of objects. a first step of arranging the plurality of objects in the processing subjects of the plurality of processes by forward arrangement, which plans the arrangement starting from a predetermined point in time, in accordance with the order of completion of processing of each object in the final process in the arrangement obtained in the first step; a second step of arranging the plurality of objects in the processing subjects of the plurality of processes by backward arrangement, which plans the arrangement in the reverse direction of the time axis starting from a predetermined point in time, in accordance with the order of completion of processing of each object in the final process in the arrangement obtained in the second step; a third step of aligning the processing start time of each object in each process in the arrangement obtained in the second step by moving forward; and a fourth step of moving the arrangement obtained in the third step forward to the predetermined point in time. [Effects of the Invention]

[0007] It is possible to satisfy predetermined conditions regarding both the processing completion time and the utilization rate. [Brief explanation of the drawings]

[0008] [Figure 1] 1A is a diagram illustrating an example of a work line, and FIG. 1B is a diagram illustrating an example of master data. [Figure 2] FIG. 10 is a diagram illustrating a flow when forward placement is applied to the priority method. [Figure 3] 10A and 10B are diagrams illustrating an example of arrangement when forward arrangement is applied to the priority method. [Figure 4] FIG. 10 is a diagram illustrating a flow when forward allocation is applied to the FIFO method. [Figure 5] 10(a) and 10(b) are diagrams illustrating a forward arrangement of the FIFO method. [Figure 6] 10A is a diagram illustrating a backward arrangement in the priority system, and FIG. 10B is a diagram illustrating a backward arrangement in the FIFO system. [Figure 7] 1A is a diagram illustrating an example of optimizing the priority of each product type under the constraint of strictly meeting the delivery deadline when forward allocation is applied to the priority method, and FIG. 1B is a diagram illustrating an example of optimizing the priority of each product type under the constraint of strictly meeting the delivery deadline when backward allocation is applied to the priority method. [Figure 8] 1A is a diagram illustrating an example of optimizing the order in which each product type is introduced under the constraint of strictly meeting delivery dates when forward allocation is applied to the FIFO method, and FIG. 1B is a diagram illustrating an example of optimizing the order in which each product type is introduced under the constraint of strictly meeting delivery dates when backward allocation is applied to the FIFO method. [Figure 9] 1A is a diagram illustrating an example of the device operating rate, and FIG. 1B is a diagram illustrating an example of the device operating rate in each method. [Figure 10] FIG. 10 is a diagram illustrating an example in which each product type is allocated to each process so as to optimize the equipment operation rate. [Figure 11] 1A is a functional block diagram illustrating the overall configuration of an information processing apparatus according to a first embodiment, and FIG. 1B is a block diagram illustrating the hardware configuration of each unit of the information processing apparatus. [Figure 12] (a) is a diagram illustrating step 01, and (b) is a diagram illustrating placement according to step 02. [Figure 13] 10(a) and 10(b) are diagrams illustrating step 03. [Figure 14] 10A is a diagram illustrating step 03, and FIG. 10B is a diagram illustrating step 04. [Figure 15] FIG. 10 is a diagram illustrating an example of a processing flow of optimization executed by an information processing device. [Figure 16] 10 is a flowchart illustrating the details of the process in step S3. [Figure 17] 10 is a flowchart illustrating the details of step 01. [Figure 18] 10 is a flowchart illustrating the details of step 02. [Figure 19] 10 is a flowchart illustrating the details of step 03. [Figure 20] 10 is a flowchart illustrating the details of step 04. [Figure 21] FIG. 10 is a diagram illustrating a simulation result. [Figure 22] (a) is a diagram showing the results of the optimization process when the number of devices in process 1 is 2, the number of devices in process 2 is 2, and the number of devices in process 3 is 1; (b) is a diagram showing the results of the optimization process when the number of devices in process 1 is 2, the number of devices in process 2 is 2, and the number of devices in process 3 is 2. [Figure 23] FIG. 10 is a block diagram illustrating a case where the result of the output unit is output to an operating device. DETAILED DESCRIPTION OF THE INVENTION

[0009] First, we will explain the outline of a processing line that performs multiple processes in sequence on multiple objects. As an example, we will explain a work line in which work is performed in each process for each type of product. In the work line, multiple processes are performed in sequence for each of multiple types of products. Figure 1(a) is a diagram illustrating an example of a work line. In the example of Figure 1(a), three processes, process 1, process 2, and process 3, are performed in sequence.

[0010] In each process, the number of processing entities that perform work for each product type is set. Three devices, devices 1-1 to 1-3, are provided as processing entities for performing process 1. Two devices, devices 2-1 and 2-2, are provided as processing entities for performing process 2. One device, device 3-1, is provided as a processing entity for performing process 3. In this way, the number of devices for performing a process may differ for each process. Also, there are processes in which the number of devices is fewer than the number of product types. While a device is performing work on a product type, that device does not perform work on other product types.

[0011] Fig. 1(b) is a diagram illustrating an example of master data. The master data includes all product types for which work is performed on the production line, and includes the work time (takt time) required for work performed in each process for each product type. In the example of Fig. 1(b), the master data includes product types 1 to 3.

[0012] As shown in Figure 1(b), for product type 1, the takt time for process 1 is set to 70 minutes, the takt time for process 2 to 110 minutes, and the takt time for process 3 to 70 minutes. For product type 2, the takt time for process 1 is set to 60 minutes, the takt time for process 2 to 30 minutes, and the takt time for process 3 to 60 minutes. For product type 3, the takt time for process 1 is set to 50 minutes, the takt time for process 2 to 50 minutes, and the takt time for process 3 to 50 minutes. In this way, the takt time for each process may differ depending on the product type. Note that the takt time for each process is assumed to be the same regardless of which device the work is performed on. For example, for product type 1, the takt time for device 1-1 and device 1-2 are both 70 minutes.

[0013] Furthermore, as shown in Figure 1(b), a delivery time is set for each product type. In the example of Figure 1(b), the delivery time is set to 400 minutes for each of product types 1 to 3. The delivery time is the time by which the work in the final process must be completed.

[0014] If each process is equipped with a sufficient number of devices, there will be no waiting time when work cannot be performed for each product type. However, in actual production sites, there are not always enough devices. In the example of Figure 1(a), there is only one device for performing process 3. Therefore, waiting time for work is likely to occur. In this case, a method is needed to optimize the plan (scheduling) for allocating each product type to each device.

[0015] Scheduling allocation rules can be broadly divided into two types. The first is the priority method, and the second is the first-in first-out method. The first-in first-out method is sometimes called the FIFO method. The priority method allocates each product type to each device in each process according to the priority set for each product type. The first-in first-out method allocates each product type to the first process in a predetermined order, and then allocates them to the next process in order of the earliest completion of processing.

[0016] Next, there are two methods for starting the scheduling. The first is forward allocation, and the second is backward allocation. Forward allocation is a method for creating a plan based on the input to the production line. Backward allocation is a method for creating a plan based on the delivery date, moving backward along the time axis.

[0017] FIG. 2 is a diagram illustrating an example of a flow when forward allocation is applied to the priority method. As illustrated in FIG. 2, first, the priority of the product type is set (step S101). Next, a variable n, which indicates the order of the processes, is set to n=1 (step S102). Next, the nth process operation is allocated forward according to the priority (step S103). Next, it is determined whether the nth process is the final process (step S104). If the determination in step S104 is "No," 1 is added to the variable n (step S105). Then, the process is executed again from step S103. If the determination in step S104 is "Yes," the flow ends.

[0018] 3(a) and 3(b) are diagrams illustrating an example of allocation when forward allocation is applied to the priority method. As illustrated in FIG. 3(a), each product type is allocated according to its priority. For example, the priority is set in the order of product type 1, product type 2, and product type 3. In this case, at 0 minutes, which is the start time of input to the production line, product type 1 is allocated to one of the devices in process 1 (device 1-1 in the example in FIG. 3(a)). Next, immediately after the takt time of product type 1 in process 1, product type 1 is allocated to one of the devices in process 2 (device 2-1 in the example in FIG. 3(a)). Next, immediately after the takt time of product type 1 in process 2, product type 1 is allocated to device 3-1 in the process. In this way, product type 1 is allocated to the devices in each process. There is no waiting time for product type 1.

[0019] Next, at 0 minutes, product 2 is placed in one of the devices that is not operating in process 1 (device 1-2 in the example in Figure 3(a)). Next, immediately after the takt time of product 2 in process 1, product 2 is placed in a device that is not operating in process 2 (device 2-2 in the example in Figure 3(a)). Next, immediately after the takt time of product 2 in process 2, product 2 is placed in a device that is not operating in process 3 (device 3-1 in the example in Figure 3(a)). In this way, product 2 is placed in the devices of each process. There is no waiting time for product 2 either.

[0020] Next, at 0 minutes, product 3 is placed at one of the devices that is not operating in process 1 (device 1-3 in the example in Figure 3(a)). Next, immediately after the takt time of product 3 in process 1, product 3 is placed at a device that is not operating in process 2. However, in the example in Figure 3(a), both devices are operating, so product 3 cannot be placed there until their operations are finished. When the work of product 2 is completed at device 2-2, device 2-2 stops operating, so product 3 is placed at device 2-2 once the work of product 2 is completed. Next, immediately after the takt time of product 3 in process 2, product 3 is placed at a device that is not operating in process 3. However, in the example in Figure 3(a), device 3-1 is operating, so product 3 cannot be placed there until its operation is finished. When the work of product 1 is completed at device 3-1, device 3-1 stops operating, so product 3 is placed at device 3-1 once the work of product 1 is completed.

[0021] In this way, in the priority method, the product with the highest priority is allocated to all processes according to the order of priority so that the constraints are satisfied, and then the allocation of the product with the next highest priority is determined. However, with the priority method, there may be a long waiting time for at least one product.

[0022] FIG. 4 is a diagram illustrating a flow when forward allocation is applied to the FIFO method. As illustrated in FIG. 4, first, the input order of each product type is set (step S201). Next, the allocation order of the first process is determined (step S202). Next, a variable n representing the process order is set to n=1 (step S203). Next, the nth process's work is allocated forward according to the determined input order (step S204). Next, it is determined whether the nth process is the final process (step S205). If the determination in step S205 is "No," the work completion order of the nth process is obtained (step S206). Next, the work allocation order for the (n+1)th process is determined (step S207). Next, 1 is added to the variable n (step S208). Then, the process is executed again from step S204. If the determination in step S205 is "Yes," the flow ends.

[0023] 5(a) and 5(b) are diagrams illustrating forward allocation using the FIFO method. In the FIFO method, at each time point, products are allocated in order of earliest allocation.

[0024] First, the order in which each product type is introduced is determined. As an example, the introduction order is determined as product type 1, product type 2, and product type 3. Next, as shown in Figure 5(a), at 0 minutes, which is the start time of introduction into the production line, each product type is placed in devices 1-1 to 1-3 in process 1. If the number of devices is fewer than the number of products, the products are placed in order starting with the earliest product type. Next, because product 3 has the shortest takt time in process 1, product 3 is placed in one of the devices in process 2 (device 2-1 in the example in Figure 5(b)) immediately after the takt time of product 3 in process 1. Because product 2 has the next shortest takt time in process 1, product 2 is placed in an inactive device in process 2 (device 2-2 in the example in Figure 5(b)) immediately after the takt time of product 2 in process 1. Because work on product 1 is completed next in process 1, product 1 is placed in one of the inactive devices in process 2 immediately after the takt time of product 1 in process 1. However, in the example in Figure 5(b), because all the devices in process 2 are operating, product 1 cannot be placed until they finish operating. When work on product 2 is completed at device 2-2, the operation of device 2-2 ends, and product 1 is placed at device 2-2 upon completion of work on product 2. In the example of Figure 5(b), work on product 2 is completed first at process 2, so product 2 is placed at a device that is not operating at process 3 (device 3-1 in the example of Figure 5(b)) immediately after the takt time of product 2 at process 2. Work on product 3 is completed after product 2 at process 2, so product 3 is placed at a device that is not operating at process 3 immediately after the takt time of product 3 at process 2. However, in the example of Figure 5(b), work on product 2 is not completed, so product 3 cannot be placed at device 3-1 until operation is completed. When work on product 2 is completed at device 3-1, product 3 is placed at device 3-1. Work on product 1 is completed last at process 2. Product 1 is placed at a device that is not operating at process 3 immediately after the takt time of product 1 at process 2. However, in the example of Figure 5(b), work on product 3 is not completed, so product 1 cannot be placed at device 3-1 until operation is completed. When the work on product 3 is completed on device 3-1, product 1 is placed on device 3-1.

[0025] In this way, with the FIFO method, the product type that was completed first in each process is placed in the next process at each time. However, with the FIFO method, there may be a long waiting time for at least one product type.

[0026] FIG. 6(a) is a diagram illustrating backward allocation using the priority method. In backward allocation, product types are allocated in the reverse direction of the time axis, starting from the due date. As illustrated in FIG. 6(a), each product type is allocated backward according to its priority. For example, assume that the priorities are set in the order of product 1, product 2, and product 3. In this case, product 3 is allocated to device 3-1 so that the work completion time for product 3 is 400 minutes before the due date. Next, product 3 is allocated to one of the devices in process 2 (device 2-1 in the example of FIG. 6(a)) so that the work completion time for product 3 in process 3 is the time backdated by the takt time of product 3. Next, product 1 is allocated to device 1-1 in process 1 so that the work completion time for product 3 in process 2 is the time backdated by the takt time of product 3. In this way, product 3 is allocated to the devices in each process. There is no waiting time for product 3.

[0027] Next, product 2 is allocated to one of the non-operating devices in process 3 so that the work completion time for product 2 is 400 minutes before the due date. However, because work on product 3 is being performed on device 3-1, product 2 cannot be allocated to device 3-1. Product 2 is allocated to device 3-1 so that the work completion time for product 2 is the time backdated by the takt time of product 3 in process 3. Next, product 2 is allocated to a device that is not operating in process 2 (device 2-1 in the example of Figure 6(a)) so that the work completion time for product 2 is the time backdated by the takt time of product 2 in process 3. Next, product 2 is allocated to a device that is not operating in process 1 (device 1-2 in the example of Figure 6(a)) so that the work completion time for product 2 is the time backdated by the takt time of product 2 in process 2. In this way, product 2 is allocated to the devices in each process. There is no waiting time for product 2 either.

[0028] Next, product 1 is allocated to one of the non-operating devices in process 1 so that the work completion time for product 1 is 400 minutes before the delivery date. However, product 1 cannot be allocated to device 3-1 because work on product 3 is currently being performed at device 3-1. Because work on product 2 will be performed next at device 3-1, product 1 is allocated to device 3-1 at a time that is the sum of the takt time of product 3 and the takt time of product 2, counting back from the delivery date of 400 minutes. Next, product 1 is allocated to a non-operating device in process 2 (device 2-1 in the example in Figure 6(a)) so that the work completion time for product 1 is the time counting back by the takt time of product 1. Next, product 1 is allocated to a non-operating device in process 1 (device 1-1 in the example in Figure 6(a)) so that the work completion time for product 1 is the time counting back by the takt time of product 1.

[0029] In this way, in the priority method, each product type is allocated to all processes according to the priority order so that the constraints are satisfied, and then the allocation of the next product type is determined. However, in the priority method, there may be a long waiting time for at least one product type.

[0030] Figure 6(b) is a diagram illustrating backward allocation using the FIFO method. In backward allocation, product types are allocated in the reverse direction of the time axis, starting from the due date. As illustrated in Figure 6(b), each product type is allocated backward according to the specified input order. Specifically, each product type is allocated to process 3. If the number of machines is fewer than the number of product types, the latest product types are allocated according to the input order. In the example of Figure 6(b), product 3 is allocated to machine 3-1 so that the work completion time of product 3 is 400 minutes after the due date. Next, product 2 is allocated to machine 3-1 so that the work completion time of product 2 is the time backdated by the takt time of product 3 in process 3. Next, product 1 is allocated to machine 3-1 so that the work completion time of product 1 is the time backdated by the takt time of product 2 in process 3.

[0031] Next, product 3 is placed in one of the devices in process 2 (device 2-1 in the example in Figure 6(b)) so that the work completion time of product 3 is the time that goes back by the takt time of product 3 in process 3. Next, product 2 is placed in one of the devices in process 2 (device 2-1 in the example in Figure 6(b)) so that the work completion time of product 2 in process 3 is the time that goes back by the takt time of product 2. Next, product 1 is placed in one of the devices in process 2 (device 2-1 in the example in Figure 6(b)) so that the work completion time of product 1 in process 3 is the time that goes back by the takt time of product 1.

[0032] Next, product 3 is placed in one of the devices in process 1 (device 1-1 in the example in Figure 6(b)) so that the time backdated by the takt time of product 3 in process 2 becomes the work completion time of product 3. Next, product 2 is placed in one of the devices in process 1 (device 1-2 in the example in Figure 6(b)) so that the time backdated by the takt time of product 2 in process 2 becomes the work completion time of product 2. Next, product 1 is placed in one of the devices in process 1 (device 1-1 in the example in Figure 6(b)) so that the time backdated by the takt time of product 1 in process 2 becomes the work completion time of product 1.

[0033] In this way, with the FIFO method, the product type that was completed first in each process is placed in the next process at each time. However, with the FIFO method, there may be a long waiting time for at least one product type.

[0034] Therefore, optimizing the scheduling is one option. For example, FIG. 7(a) is a diagram illustrating an example where the priority of each product type is optimized under the constraint of strictly meeting the delivery deadline when forward placement is applied to the priority method. In the example of FIG. 7(a), the priority has been changed from the placements of FIG. 3(a) and FIG. 3(b). FIG. 7(b) is a diagram illustrating an example where the priority of each product type is optimized under the constraint of strictly meeting the delivery deadline when backward placement is applied to the priority method. In the example of FIG. 7(b), the priority has been changed from the placement of FIG. 6(a). Even in these cases, there is a risk that at least one of the product types will have a long waiting time.

[0035] FIG. 8(a) is a diagram illustrating an example in which the introduction order of each product type is optimized under the constraint of strictly meeting delivery deadlines when forward allocation is applied to the FIFO system. In the example of FIG. 8(a), the introduction order of each product type is changed from the allocations of FIG. 5(a) and FIG. 5(b). FIG. 8(b) is a diagram illustrating an example in which the introduction order of each product type is optimized under the constraint of strictly meeting delivery deadlines when backward allocation is applied to the FIFO system. In the example of FIG. 8(b), the introduction order is changed from the allocation of FIG. 6(b). Even in these cases, there is a risk of long waiting times for at least one of the product types.

[0036] Therefore, it is possible to optimize the equipment utilization rate by focusing on the equipment utilization rate. Figure 9(a) is a diagram illustrating an example of equipment utilization rate. For each process, the total operating time is defined as (the time span from the start time of the first product type to the completion time of the last product type) × number of devices. Next, for each process, the time during which each product type is assigned to each device is defined as the actual operating time. The operating rate of each process can be expressed as actual operating time / total operating time × 100 (%). For example, in the example of Figure 9(a), the area enclosed by the dotted line in process 1 is the total operating time of process 1. The sum of the time during which each product type is assigned within the area enclosed by the dotted line in process 1 is the actual operating time of process 1. In the example of Figure 9(a), the operating rate of process 1 is 85.7%, the operating rate of process 2 is 63.3%, and the operating rate of process 3 is 100%. The average of the operating rates of each process is defined as the equipment utilization rate.

[0037] Figure 9(b) is a diagram illustrating the equipment availability rate for each method. As illustrated in Figure 9(b), the equipment availability rate for the results of Figures 3(a) and 3(b) was 83%. The equipment availability rate for the results of Figures 5(a) and 5(b) was 83%. The equipment availability rate for the results of Figure 6(a) was 76%. The equipment availability rate for the results of Figure 6(b) was 76%.

[0038] Therefore, it is possible to allocate each product type to each process to optimize equipment utilization. Figure 10 illustrates an example of allocating each product type to each process to optimize equipment utilization. In the example in Figure 10, the utilization rate of process 2 is improved compared to Figure 9(a). As a result, the equipment utilization rate is improved. However, even with the four methods that combine the priority method and FIFO method with forward and backward allocation, optimizing equipment utilization rate is difficult. For example, with forward allocation, each product type is packed from the front, making it difficult to consider mid-process swaps or intentional delays. With backward allocation, each product type is packed from the back, which may result in a lower utilization rate the closer to the front of the process. For these reasons, it is desirable to simultaneously optimize both task completion time and equipment utilization rate through optimal allocation that combines the advantages of both forward and backward allocation. Task completion time is the time from the start time of the first product type to the completion time of the last product type.

[0039] In the following embodiments, a planning program, a planning method, and an information processing device that can simultaneously optimize both the work completion time and the equipment availability rate will be described. [Example]

[0040] Fig. 11(a) is a functional block diagram showing the overall configuration of an information processing device 100 according to the first embodiment. The information processing device 100 is, for example, a server for optimization processing. As illustrated in Fig. 11(a), the information processing device 100 includes a storage unit 10, a calculation condition setting unit 20, a posting sequence generation unit 30, a calculation unit 40, a determination unit 50, an output unit 60, and the like.

[0041] Fig. 11(b) is a block diagram illustrating an example of the hardware configuration of each part of the information processing device 100. As illustrated in Fig. 11(b), the information processing device 100 includes a CPU 101, a RAM 102, a storage device 103, an input device 104, a display device 105, and the like.

[0042] The CPU (Central Processing Unit) 101 is a central processing unit. The CPU 101 includes one or more cores. The RAM (Random Access Memory) 102 is a volatile memory that temporarily stores programs executed by the CPU 101, data processed by the CPU 101, etc. The storage device 103 is a non-volatile storage device. Examples of the storage device 103 include a read-only memory (ROM), a solid-state drive (SSD) such as a flash memory, and a hard disk driven by a hard disk drive. The storage device 103 stores a planning program. The input device 104 is an input device such as a mouse or keyboard. Alternatively, the input device 104 is an interface for an external memory such as a USB memory. The display device 105 is a device such as a display that displays processing results of the information processing device 100. Each unit of the information processing device 100 is realized by the CPU 101 executing the planning program. Note that each unit of the information processing device 100 may be hardware such as a dedicated circuit.

[0043] The storage unit 10 stores a layout model of an operation line. For example, the storage unit 10 stores the layout model illustrated in FIG. 1(a). The storage unit 10 also stores master data. For example, the storage unit 10 stores the master data illustrated in FIG. 1(b).

[0044] Next, the principle of allocation of each product type to each process in this embodiment will be explained. In this embodiment, four processes, steps 01 to 04, are performed in order. Figure 12(a) is a diagram illustrating step 01. As illustrated in Figure 12(a), step 01 applies forward allocation to the FIFO method. In this case, the results described in Figure 5(b) are obtained. In this case, the work completion time is 270 minutes, and the equipment operation rate is 85%.

[0045] Next, step 02 is carried out. In step 02, the placement order for backward placement is determined from the completion order of each product type in the final process in the placement obtained in step 1. Specifically, since the work is completed in the order of product types 2 → 3 → 1 in the forward placement in step 01, the placement order for backward placement is set to product types 1 → 3 → 2. If there are multiple devices that can be placed for each product type, the device with the shortest operating time before placement is placed. Figure 12(b) is a diagram illustrating a case where placement is performed according to step 02. In the example of Figure 12(b), the work completion time is 270 minutes and the equipment operation rate is 76%.

[0046] Next, step 03 is performed. In step 03, the backward allocation in step 02 is replaced with forward allocation. In this case, the start times of each process are aligned as much as possible. In the example of Figure 13(a), in process 1, the work start times of products 1 to 3 can be aligned by shifting them forward. In process 2, the work deviation times of products 1 and 2 can be aligned by shifting them forward. In this case, as shown in the example of Figure 13(b), the work start times of each process are shifted forward so that the preceding and following constraints are not violated. For example, where the work start points are aligned, they are linked and fixed to prevent shifts between the preceding and following. Next, as shown in the example of Figure 14(a), the backward allocation in Figure 13(b) is replaced with a forward allocation plan. As a result, the work completion time becomes 280 minutes and the equipment operation rate becomes 91%.

[0047] Next, step 04 is carried out. In step 04, for the allocation obtained in step 03, the tasks that can be moved forward are individually moved forward as much as possible. For example, as shown in the example in Figure 14(b), linked tasks are separated and moved forward as much as possible. This reduces the task completion time to 270 minutes, and the equipment availability rate to 88.3%.

[0048] These steps 01 to 04 make it possible to simultaneously optimize both the task completion time and the equipment operation rate. Note that steps 01 and 02 may be performed using a FIFO method or a priority method.

[0049] Next, an example of a specific operation of each unit of the information processing device 100 will be described. Fig. 15 is a diagram illustrating an example of an optimization processing flow executed by the information processing device 100. As illustrated in Fig. 15, the calculation condition setting unit 20 sets calculation conditions for a genetic algorithm (GA) (step S1). The calculation conditions include, for example, the number of repetitions of step S4, which will be described later.

[0050] Next, the putting sequence generation unit 30 generates an initial putting sequence for each product type (step S2). For example, the putting sequence generation unit 30 may generate the initial putting sequence based on information input by the user using the input device 104, or may generate the initial putting sequence randomly.

[0051] Next, the calculation unit 40 executes scheduling in accordance with the initial input order (step S3). Details of step S3 will be described later.

[0052] Next, the determination unit 50 determines whether the optimization is complete (step S4). For example, the determination unit 50 determines that the optimization is complete when the number of iterations included in the calculation conditions set in step S1 is reached.

[0053] If step S4 is judged as "No," the building sequence generation unit 30 generates the next building sequence using a genetic algorithm or the like (step S5). In this case, the building sequence generation unit 30 generates the building sequence so that the equipment operation rate and the work completion time satisfy predetermined conditions. Then, the process is executed again from step S3. When step S3 is executed for the second time or later, scheduling is executed according to the building sequence generated in step S5.

[0054] If the answer in step S4 is "Yes," the output unit 60 outputs the optimal input sequence from among the "task completion time and equipment operation rate" (1) to (4) for each input sequence (step S6). The output input sequence is displayed on the display device 105 or the like. For example, the input sequence that provides the best "task completion time and equipment operation rate" (4) may be output. For example, the input sequence that provides the best "task completion time" (4) may be output, or the input sequence that provides the best "equipment operation rate" (4) may be output, or the input sequence that provides the best weighted average of the "task completion time" (4) and the "equipment operation rate" (4) may be output. The "task completion time and equipment operation rate" (1) to (4) will be described later.

[0055] Fig. 16 is a flowchart illustrating the details of the process of step S3. As illustrated in Fig. 16, the calculation unit 40 performs forward allocation according to procedure 01 described in Fig. 12(a) (step S11).

[0056] Next, the calculation unit 40 calculates the "task completion time and equipment availability rate" (1) after the placement of procedure 01 (step S12).

[0057] Next, the calculation unit 40 performs backward placement according to step 02 described in FIG. 12(b) (step S13).

[0058] Next, the calculation unit 40 calculates the "task completion time and equipment availability rate" (2) after the placement of procedure 02 (step S14).

[0059] Next, the calculation unit 40 aligns the work start times for each process and replaces them with forward allocations according to step 03 described in FIG. 13(a) (step S15).

[0060] Next, the calculation unit 40 calculates the "task completion time and equipment availability rate" (3) after the placement of step 03 (step S16).

[0061] Next, the calculation unit 40 individually moves forward the operations that can be moved forward as far as possible in accordance with step 04 described in FIG. 13(b) (step S17).

[0062] Next, the calculation unit 40 calculates the "task completion time and equipment availability rate" (4) after the placement of step 04 (step S18). After the above processing, the execution of the flowchart ends.

[0063] Fig. 17 is a flowchart illustrating the details of step 01. As illustrated in Fig. 17, the calculation unit 40 sets the input sequence of each type (step S21).

[0064] Next, the calculation unit 40 determines the arrangement order of the tasks in the first process (process 1) (step S22).

[0065] Next, the calculation unit 40 sets n, which indicates the order of the process, to n=1 (step S23).

[0066] Next, the calculation unit 40 places the work of the nth process forward in accordance with the determined placement order (step S24).

[0067] Next, the calculation unit 40 determines whether the nth process is the final process (step S25). In the example of Fig. 1(a), process 3 is the final process.

[0068] If the determination in step S25 is "No," the calculation unit 40 acquires the work completion order for each product type in the nth process (step S26).

[0069] Next, the calculation unit 40 determines the arrangement order of the tasks in the (n+1)th process (step S27).

[0070] Next, the calculation unit 40 sets n to n+1, and increments n by 1 (step S28). After that, the process is executed again from step S24.

[0071] If the determination in step S25 is "Yes", the execution of the flowchart ends.

[0072] Fig. 18 is a flowchart illustrating details of step 02. As illustrated in Fig. 18, the calculation unit 40 acquires the work completion order for each product type in the final process of step 01 (step S31).

[0073] Next, the calculation unit 40 determines the arrangement order of the operations in the final process (step S32).

[0074] Next, the calculation unit 40 sets the total number of steps s and a variable m. The calculation unit 40 sets the variable m to 0 (step S33).

[0075] Next, the calculation unit 40 arranges the work of the (sm)th process from the front in accordance with the determined arrangement order (step S34).

[0076] Next, the calculation unit 40 determines whether the (sm)th process is the final process or not (step S35).

[0077] If the determination in step S35 is "No", the calculation unit 40 acquires the completion order of the work before the (sm) process (step S36).

[0078] Next, the calculation unit 40 determines the arrangement order of the operations before the (sm-1)th process (step S37).

[0079] Next, the calculation unit 40 substitutes m+1 for m and increments the variable m by 1 (step S38). After that, the process is executed again from step S34.

[0080] If the determination in step S35 is "Yes," the execution of the flowchart ends.

[0081] 19 is a flowchart illustrating the details of step 03. The calculation unit 40 acquires the work allocation of all steps in step 02 (step S41).

[0082] Next, the calculation unit 40 sets a variable n that indicates the order of the process. The calculation unit 40 sets n=1 (step S42).

[0083] Next, the calculation unit 40 acquires the earliest task start time of all tasks in the nth process (step S43).

[0084] Next, the calculation unit 40 arranges the nth process work in a forward-locating manner, starting from the earliest work start time (step S44).

[0085] Next, the calculation unit 40 arranges the work of the nth process in a forward-shifted manner, starting from the start time of the planning period (step S45).

[0086] Next, the calculation unit 40 determines whether the nth process is the final process (step S46).

[0087] If the determination in step S46 is "No", the calculation unit 40 substitutes n+1 for n, thereby incrementing n by 1 (step S47). After that, the process is executed again from step S43.

[0088] If the determination in step S46 is "Yes", the execution of the flowchart ends.

[0089] Fig. 20 is a flowchart illustrating details of step 04. As illustrated in Fig. 20, the calculation unit 40 acquires the work allocation of all steps in step 03 (step S52).

[0090] Next, the calculation unit 40 sets a variable n that indicates the order of the process. The calculation unit 40 sets the variable n to 2 (step S52).

[0091] Next, the calculation unit 40 arranges the work in the nth process so as to be close to the front, taking into account the previous process (step S53).

[0092] Next, the calculation unit 40 determines whether the nth process is the final process (step S54).

[0093] If the determination in step S54 is "No", the calculation unit 40 assigns n+1 to the variable n, thereby incrementing the variable n by 1 (step S55). After that, the process is executed again from step S53.

[0094] If the determination in step S54 is "Yes," the execution of the flowchart ends.

[0095] Next, a simulation was performed using the optimization process according to this embodiment on the layout of FIG. 1(a) and the master data of FIG. 1(b). FIG. 21 shows the simulation results. As shown in FIG. 21, the solutions surrounded by dotted lines are the optimal solutions resulting from optimization using the optimization process according to this embodiment. As shown in FIG. 21, it can be seen that both the equipment availability rate and the task completion time were optimized simultaneously.

[0096] The solutions obtained by the FIFO method and the priority method are also shown in Figure 21. From the results in Figure 21, it can be seen that a solution with high equipment utilization rate was obtained that could not be found by either the FIFO method or the priority method.

[0097] Fig. 22(a) is a diagram showing the results of the optimization process when the number of devices in process 1 is 2, the number of devices in process 2 is 2, and the number of devices in process 3 is 1. As shown in Fig. 22(a), it can be seen that the results of optimization using the optimization process according to this embodiment are better than those using the FIFO method and the priority method.

[0098] Fig. 22(b) is a diagram showing the results of the optimization process when the number of devices in process 1 is 2, the number of devices in process 2 is 2, and the number of devices in process 3 is 2. As shown in Fig. 22(b), it can be seen that the results of optimization using the optimization process according to this embodiment are better than those using the FIFO method and the priority method.

[0099] According to this embodiment, by repeating backward and forward placement based on the placement planned in forward placement while satisfying constraints in both directions, it is possible to suppress bias in one direction and simultaneously optimize both the task completion time and the equipment operation rate. By adopting the FIFO method in the initial forward placement, it is possible to further improve the equipment operation rate.

[0100] In each of the above examples, multiple product types are an example of multiple objects. The equipment for each process is an example of a processing entity for each process. Therefore, the processing entity is not limited to a machine, but may also be a person. Step 01 is an example of a first process in which multiple objects are allocated to processing entities for multiple processes by forward allocation, which plans the allocation starting from a predetermined time point according to a predetermined order for the multiple objects. Step 02 is an example of a second process in which multiple objects are allocated to processing entities for multiple processes by backward allocation, which plans the allocation in reverse time from a predetermined time point according to the order of completion of each object in the final process in the allocation obtained in the first process. Step 03 is an example of a third process in which the processing start time of each object is moved forward to align it for each process in the allocation obtained in the second process. Step 04 is an example of a fourth process in which the allocation obtained in the third process is moved forward to a predetermined time point.

[0101] In the above examples, the results output by the output unit 60 are output to the display device 105, but they may also be output to the operating device 200. FIG. 23 is a block diagram illustrating this case. The operating device 200 is, for example, a belt conveyor for transporting each product type to each device in each process on a production line. As illustrated in FIG. 23, the results output by the output unit 60 are output to the operating device 200. The operating device 200 operates to realize the optimal solution received from the output unit 60. The operating device 200 includes a CPU, RAM, a storage device, etc., and, for example, the storage device stores a control program for controlling the operation of the operating device 200, the RAM stores the optimal solution received from the output unit 60, and the CPU controls the operation of the operating device 200 based on the control program and the optimal solution.

[0102] Although the embodiments of the present invention have been described in detail above, the present invention is not limited to such specific embodiments, and various modifications and variations are possible within the scope of the gist of the present invention as defined in the claims. [Explanation of symbols]

[0103] 10 Storage area 20 Calculation condition setting section 30 Input order generation section 40 Arithmetic section 50 Judgment section 60 Output section 100 Information processing device 105 Display device

Claims

1. A planning program for planning the allocation of a plurality of objects to processing agents for the plurality of processes, under the condition that a plurality of processes are performed in sequence on a plurality of objects, a processing time is set for each of the plurality of processes on each of the plurality of objects, the number of processing agents for any of the plurality of objects is set for each of the plurality of processes, and while a processing agent is performing a process on any of the objects, the processing agent does not perform a process on other objects, On the computer, a first step of arranging the plurality of objects in the processing subjects of the plurality of processes by forward arrangement, which plans arrangement of the plurality of objects from a predetermined point in time in accordance with a predetermined order of the plurality of objects; a second step of arranging the plurality of objects in the processing subjects of the plurality of processes by backward arrangement, which plans an arrangement in a backward direction on a time axis starting from a predetermined point in time, according to the order of completion of processing of each object in the final process in the arrangement obtained in the first step; a third step of aligning the processing start times of the respective objects in the arrangement obtained in the second step; a fourth step of moving the arrangement obtained in the third step forward to a predetermined point in time; A planning program characterized by executing the above.

2. 2. The planning program according to claim 1, wherein in the first step, the plurality of objects are arranged in a first process in a predetermined order, and then arranged in a next process in order of the earliest completion of each process.

3. 2. The planning program according to claim 1, wherein in the first step, the plurality of objects are arranged in the processing subjects of the plurality of processes in accordance with priorities set for the plurality of objects.

4. The computer, a repeating step of repeating the first to fourth steps after changing the input order of the plurality of objects to be input into the plurality of processes, and a process of searching for the input order in the repeating step so that the operating rate and the processing completion time satisfy predetermined conditions; The operating rate is defined as the total operating time for each process (the time span from the start time of the first object to be processed to the completion time of the last object to be processed) x number of entities, the actual operating time is the time that each object is placed in each entity in each process, and the operating rate for each process is the actual operating time / total operating time x 100 (%), and is the average value of the operating rate for each process.

4. The planning program according to claim 1, wherein the processing completion time is defined as the time from the processing start time of the first object to the processing completion time of the last object.

5. The computer, 5. The planning program according to claim 4, wherein the program executes a process of selecting and outputting the result with the best availability and processing completion time from the results obtained by the repeating process.

6. 5. The planning program according to claim 4, wherein a genetic algorithm is used when searching for the input sequence.

7. A planning method for planning the allocation of a plurality of objects to processing agents for a plurality of processes, under the condition that a plurality of processes are performed in sequence on a plurality of objects, a processing time is determined for each of the plurality of processes for each of the plurality of objects, the number of processing agents for any of the plurality of objects is determined for each of the plurality of processes, and while a processing agent is performing a process on any of the objects, the processing agent does not perform a process on other objects, comprising: The computer a first step of arranging the plurality of objects in the processing subjects of the plurality of processes by forward arrangement, which plans arrangement of the plurality of objects from a predetermined point in time in accordance with a predetermined order of the plurality of objects; a second step of arranging the plurality of objects in the processing subjects of the plurality of processes by backward arrangement, which plans an arrangement in a backward direction on a time axis starting from a predetermined point in time, according to the order of completion of processing of each object in the final process in the arrangement obtained in the first step; a third step of aligning the processing start times of the respective objects in the arrangement obtained in the second step; a fourth step of moving the arrangement obtained in the third step forward to a predetermined point in time; A planning method comprising:

8. An information processing device that performs a plurality of processes on a plurality of objects in sequence, and plans to allocate the plurality of objects to the processing agents of the plurality of processes under the condition that a processing time is determined for each of the plurality of processes on each of the plurality of objects, the number of processing agents for any of the plurality of objects is determined for each of the plurality of processes, and while a processing agent is performing a process on any of the objects, the processing agent does not perform a process on other objects, an information processing device comprising a calculation unit that executes: a first step of arranging the plurality of objects in the processing subjects of the plurality of processes by forward arrangement, which plans the arrangement starting from a predetermined time point in accordance with a predetermined order for the plurality of objects; a second step of arranging the plurality of objects in the processing subjects of the plurality of processes by backward arrangement, which plans the arrangement in the reverse direction of the time axis starting from a predetermined time point in accordance with the processing completion order of each object of the final process in the arrangement obtained in the first step; a third step of aligning the processing start time of each object in each process in the arrangement obtained in the second step by moving forward; and a fourth step of moving the arrangement obtained in the third step forward to the predetermined time point.

Citation Information

Patent Citations

  • Scheduling method

    JP1995021264A

  • Scheduling method and scheduling device

    JP1999053440A

  • Production schedule generating device and recording medium with recorded production schedule generating program of production schedule generating device

    JP2002073142A

  • Production scheduling method, program for computer to execute the same method and computer-readable recording medium with the program recorded thereon

    JP2002373013A

  • Production scheduling method and system

    JP2005050009A