Job management apparatus and distributed processing system
The job management device in a distributed processing system addresses the issue of waiting times and missed deadlines by assigning jobs to multiple computers based on priority scores, enhancing production efficiency and meeting delivery deadlines.
Patent Information
- Application Number
- JP2024119370
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-25
- Publication Date
- 2026-02-05
AI Technical Summary
Creating a production plan for a mounting line requires processing multiple jobs, such as calculating cycle time and creating setup groups, which can result in waiting times and missed deadlines due to jobs being processed in the order they are submitted, especially when there are a large number of jobs.
A job management device for a distributed processing system that assigns jobs to multiple computers based on priority scores calculated using algorithms that consider deadlines, allowing for efficient job processing and reducing waiting times by prioritizing jobs with short deadlines.
The system effectively reduces waiting times and increases the likelihood of meeting delivery deadlines by prioritizing job processing based on deadlines, ensuring timely completion of jobs with short deadlines.
Smart Images

Figure 2026018196000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a technique for managing a calculation schedule for multiple jobs related to a production plan for a mounting line. [Background technology]
[0002] A mounting line is a production line for circuit boards, and is generally made up of machines such as a printing machine, a surface mounting machine, an inspection machine, and a reflow device. [Patent Document 1] Patent Publication No. 2022-41160 DISCLOSURE OF THE INVENTION [Problem to be solved by the invention]
[0003] Creating a production plan for a mounting line requires processing multiple jobs, such as calculating cycle time and creating setup groups.
[0004] Job processing takes time, so distributed processing is considered. However, when there are a large number of jobs, processing them in the order they are submitted creates waiting times, and there is a risk that jobs accepted later will not be able to be processed in time for their deadlines.
[0005] An object of the present invention is to reduce the waiting time for job processing and increase the possibility of meeting the delivery deadline. [Means for solving the problem]
[0006] (1) The job management device of the present invention is a job management device for a distributed processing system that distributes and processes multiple jobs related to a board production plan for a mounting line among multiple computers, and assigns jobs to the multiple computers by prioritizing delivery dates. In (1), any configuration other than the above is optional and may be used.
[0007] This configuration makes it possible to process jobs with priority given to deadlines, thereby reducing the waiting time for processing jobs with short deadlines.
[0008] (2) The job management device described in (1) may cause the computer to select an algorithm that prioritizes performance and calculate the job if the job processing will be completed by the deadline. If the job processing will not be completed by the deadline, the computer may cause the computer to select an algorithm that prioritizes calculation time and calculate the job. This configuration can contribute to the formulation of production plans with excellent production efficiency because it can obtain highly accurate calculation results (calculation results closer to the optimal solution) if the job processing is expected to be completed by the deadline. Furthermore, if the job processing is expected to be delayed, shortening the calculation time increases the likelihood that the job processing will be completed by the deadline.
[0009] (3) The job management device described in (1) may determine whether job processing will be completed within the deadline for each algorithm that the computer can use. The computer may select a high-performance algorithm from among the algorithms that will be completed within the deadline, and use the selected algorithm to calculate the job. This configuration allows for accurate calculation results (calculation results closer to the optimal solution) to be obtained while meeting the deadline.
[0010] (4) In the job management device described in any one of (1) to (3), the mounting line may include a surface mounter that mounts components on a board. The multiple jobs may include a first job that calculates a cycle time for a board produced by the surface mounter, and a second job that creates a setup group for the board produced by the surface mounter. This configuration can contribute to improving the production efficiency of the surface mounter by sharing the setup group.
[0011] The job management device described in (1) to (4) can be applied to a distributed processing system including a database for storing jobs and a plurality of computers for distributing the processing of the jobs stored in the database, and can also be applied to a job processing method. [Effects of the Invention]
[0012] According to the present invention, it is possible to process a job by giving priority to the delivery date, thereby increasing the possibility of meeting the delivery date. [Brief explanation of the drawings]
[0013] [Figure 1] Mounting line configuration diagram [Figure 2] Plan view of surface mounter [Figure 3] Diagram showing the head unit support structure [Figure 4] Distributed processing system configuration diagram [Figure 5] Ordering Information Chart [Figure 6] A chart summarizing the board type information included in the order information [Figure 7] Diagram showing the circuit board production process [Figure 8] An example of a job that occurs when product type A and product type B are registered [Figure 9] Diagram showing job processing order and calculation completion time (order of reception) [Figure 10] A diagram showing the job processing order and the time when the calculation is completed (updated by priority) [Figure 11] A table explaining the variables in Equation 1 [Figure 12] A table explaining the variables in Equation 2 [Figure 13A] Diagram showing multiple regression analysis (correlation between explanatory variables and target variables) [Figure 13B] Diagram showing a machine learning model [Figure 14] Job processing flowchart [Figure 15] Distributed processing system configuration diagram [Figure 16] Job processing flowchart [Figure 17] Ordering Information Chart [Figure 18] A diagram showing a list of jobs required to create a production plan for order information [Figure 19] Job processing flowchart [Figure 20] A chart summarizing algorithm performance, computational load, and computation time BEST MODE FOR CARRYING OUT THE INVENTION
[0014] <Embodiment 1> 1. Mounting line description The mounting line L is a line for mounting components E on boards PX. The mounting line L is equipped with a printer 11, an SPI 12, a surface mounter 13, an inspection machine 14, a reflow device 15, and an inspection machine 16.
[0015] These machines 11 to 16 are connected in series via a conveyor, and the substrate PX is sent to each machine in turn, while performing the specified operations (printing ⇒ inspection after printing ⇒ component mounting ⇒ inspection after component mounting ⇒ reflow ⇒ inspection after reflow).
[0016] It is also possible for multiple lines of mounting line L to produce boards PX in parallel. Figure 1 shows a two-line configuration consisting of a first mounting line L1 and a second mounting line L2.
[0017] 2. Explanation of surface mounter The surface mounter 13 is a device that mounts components E on the printed board PX. There may be one or more surface mounters 13. In the following description, the transport direction of the board PX is referred to as the X direction, and the direction perpendicular to that is referred to as the Y direction. The up and down direction is referred to as the Z direction. Mounting is considered to include the operation of using the head unit 33 to take out components E from the feeder F and the operation of mounting the taken-out components E on the board PX.
[0018] As shown in FIGS. 2 and 3, the surface mounter 13 includes a base 31, a transport conveyor 32, a head unit 33, and a drive device .
[0019] The transfer conveyor 32 is disposed in the center of the base 31. The transfer conveyor 32 is provided with a pair of transfer belts 35, and transfers the substrate PX in the X direction (the left-right direction in FIG. 2).
[0020] A large number of feeders F for supplying components E are arranged side by side on the base 31 so as to surround a work position in the center of the base. The components E are electronic components such as resistors and capacitors.
[0021] At the work position in the center of the base, a mounting process is performed by the head unit 33 to mount the components E supplied by the feeder F onto the substrate PX.
[0022] The driving device 34 is a device that moves the head unit 33 in a planar direction (X and Y directions) on the base 31. The driving device 34 is made up of a Y-axis ball screw 36, a Y-axis motor 37, an X-axis ball screw 38, and an X-axis motor 39.
[0023] By driving the Y-axis motor 37, the X-beam 40 and the head unit 33 can be moved in the Y direction along the guide rails 41 (Y-axis servo mechanism).
[0024] By driving the X-axis motor 39, the head unit 33 can be moved in the X direction relative to the X-beam 40 (X-axis servo mechanism).
[0025] 3, the head unit 33 includes a plurality of mounting heads 42. The mounting heads 42 are configured to be able to move up and down independently of the head unit 33 by a linear motion mechanism (for example, a screw mechanism) driven by a Z-axis motor.
[0026] A negative pressure is supplied to the mounting head 42 from a negative pressure means (not shown), which generates a suction force at the tip of the head. The mounting head 42 can hold the component E by the negative pressure.
[0027] Furthermore, the surface mounter 13 is equipped with multiple inspection cameras to check the status of the production process (board loading, component pickup, component mounting, etc.). Specifically, it is equipped with a component recognition camera 43, a side view camera 44, and a board recognition camera 45.
[0028] 2. Multiple jobs related to creating production plans In order to create a production plan for the board PX, it is necessary to process multiple jobs. For example, there are a first job and a second job related to the surface mounter 13.
[0029] The first job is a calculation job for the reference CT (cycle time). The second job is a setup group creation job.
[0030] The reference CT (cycle time) is the work time (the time from loading to unloading) required for the surface mounter 13 to produce one board PX.
[0031] A setup group is a group of product types (board types) that can be produced using a common setup in the surface mounter 13. A typical setup is the placement of feeders F that supply components E.
[0032] Standardizing setups eliminates the need for setup changeovers (rearranging feeder F in the above example), thereby shortening takt time. For this reason, it is generally desirable to standardize setups across multiple product types (board types).
[0033] In the setup group creation job, in addition to creating the setup groups, the order in which components E are to be mounted on the boards PX is determined so that the mounting work of components E on the boards PX is optimized. The optimization of the mounting work involves, for example, shortening the movement path of the head unit 33 involved in the mounting work or minimizing the mounting time.
[0034] 3.Description of distributed processing system The distributed processing system S1 is a system in which a plurality of computers 53 process a plurality of jobs 55 relating to the production plan for the mounting lines L1 and L2 in a distributed manner.
[0035] As shown in FIG. 4, the distributed processing system S1 includes a job management device 51, a database 52, and a plurality of computers 53 for processing jobs 55.
[0036] The job management device 51 is a device that manages the calculation schedule of jobs, and is connected to a plurality of computers 53 via a network such as a LAN. The job management device 51 can be configured, for example, by a server computer.
[0037] A user can input order information to the job management device 51 via a user interface (not shown) such as a keyboard. In addition to the order information, the user can also input (register) product type information for the substrate PX and line information for the production line L.
[0038] The job management device 51 mainly executes the following processes. (1) Processing to receive order information, product information, and line information (2) Processing for storing (saving) the generated job 55 in the database 52 in response to the receipt of order information and product type information. (3) A process of assigning jobs 55 stored in a database 52 to multiple computers 53
[0039] When product type information (information on a new board type) is received, the first job (calculation of the reference CT) occurs. When order information is received, the second job (creation of a setup group) occurs. Furthermore, when order information includes new product type information, both the first and second jobs occur.
[0040] If the job management device 51 assigns jobs 55 stored in the database 52 to multiple computers 53 in the order in which the order information and product type information are received, even in the form of distributed processing, there is a possibility that processing may not be completed in time, which may affect production.
[0041] For example, if sudden order information comes in and a setup group needs to be created immediately, and there are a large number of jobs that have been accepted earlier, it may take time to process the accepted jobs (resulting in waiting time), and the calculation may not be completed by the time production should start.
[0042] <Cases where delivery delays occur> Figure 5 is an example of order information for a board PX, Figure 6 is a chart summarizing the type information for the board PX included in the order information, and Figure 7 shows the production process for the board PX. Both type A and type B boards show that components are mounted on both the front and back of the board.
[0043] Figure 8 shows an example of a job that occurs when product types A and B are registered. The reference CT (cycle time) is the work time required to produce one board using the surface mounter 13. The reason for calculating the reference CT (cycle time) when registering a product type is to use it to estimate production time when creating a production plan. It also doubles as a data check for individual boards, and can be used to confirm which lines are available for production.
[0044] When the order in Figure 5 is received (the reference CTs for product types A and B have already been calculated), a setup group must be created at least before production starts.
[0045] However, as shown in FIG. 9, if another job 55 has already been accepted, processing the jobs in the order in which they were accepted will take time because it will be necessary to wait for job 55 to be completed, and there is a possibility that job 55 for creating a setup group will not be able to meet the deadline.
[0046] 4. Job assignment The job management device 51 assigns a priority score to the job 55 and allocates the jobs 55 to the computers 53 in descending order of the score.
[0047] By allocating jobs 55 in descending order of score, as shown in Fig. 10, jobs 55 with higher priority scores are processed preferentially, eliminating the need to wait for the completion of another job 55 that was accepted earlier. This increases the likelihood that setup groups will be created in time for the delivery date.
[0048] Formula 1 is an example of a formula for calculating a priority score for creating a setup group, and Formula 2 is an example of a formula for calculating a priority score for calculating a reference CT. Fig. 11 is a table explaining the variables included in Formula 1, and Fig. 12 is a table explaining the variables included in Formula 2.
[0049]
number
number
[0050] Formula 1 is the calculation time L required to create a setup group, the number of pieces to be produced n for the order, the standard CT for the process that is the target of the order, and the remaining time r from the current time to the nearest delivery date for the target product. g is used as a variable.
[0051] Formula 1 is the remaining time r from the current time to the nearest delivery date for the target product. g The shorter the time remaining until the due date, the higher the priority score. g Job 55 including a product with a short lead time can be processed with priority.
[0052] Equation 2 uses the calculation time l of the reference CT and the remaining time r from the current time to the nearest due date for the target product type as variables.
[0053] In formula 2, the shorter the remaining time r from the current time to the nearest due date for the target product type, the larger the priority score. Therefore, similar to formula 1, it is possible to give priority to processing jobs 55 that include products with a short remaining time r until the due date.
[0054] The method for estimating the job calculation time will be explained. The calculation time (calculation time required to create a setup group) can be estimated using statistical methods or methods that utilize machine learning models, based on data related to calculation time, such as the number of board data (number of types), number of mounted points, number of components, and number of machines (number of lines).
[0055] Here, it is assumed that data on the actual calculation time required for items such as the number of board data (number of types), number of mounted items, number of parts, number of machines (number of lines), etc. has been collected.
[0056] In this case, the calculation time can be estimated by performing the analysis (a) or (b) from the collected data.
[0057] (a) A multiple regression analysis is performed using items related to calculation time, such as the number of board data, number of mounting points, number of components, and number of machines, as explanatory variables, and calculation time as the objective variable (see Figure 13A). In Figure 13A, the vertical axis is the objective function, the horizontal axis is the explanatory variables, and the curve LC is the regression line showing the correlation between the explanatory variables and the objective variable. Note that multiple regression analysis is an analytical method that finds regression coefficients based on multiple explanatory variables so that the residual of the explanatory variables relative to the predicted value (regression line) is minimized.
[0058] (b) Machine learning is performed using a machine learning model that inputs (x) the number of board data, the number of mounted points, the number of components, and the number of machines, and outputs (y) the calculation time (see Figure 13B).
[0059] An example of a machine learning model is a deep neural network consisting of an input layer, a hidden layer, and an output layer. The connection weights w(n) and v(n) of each layer can be optimized using training data, etc., to improve the accuracy of estimating the calculation time.
[0060] In a similar manner, the calculation time for the reference CT can also be estimated.
[0061] FIG. 14 is a flowchart showing the flow of job processing following receipt of order information. S10 is a process for receiving order information, S20 is a process for calculating a priority score, S30 is a process for updating the job processing order, and S50 is a distributed process.
[0062] When the job management device 51 receives new order information, it stores the job 55 generated based on the received order information in the database 52 and calculates a priority score for the generated job 55 (S10, S20).
[0063] Thereafter, the job management device 51 updates the processing order of the jobs 55 based on the calculated priority scores, and then allocates the jobs 55 to the multiple computers 53 in accordance with the updated order, for distributed processing (S30, S50).
[0064] 5.Effects According to the present invention, when order information is received, it is possible to process job 55 with priority given to the delivery date, and it is possible to reduce the waiting time for processing jobs with short delivery dates (the time it takes to complete the processing of jobs that were received earlier). As a result, it is more likely that the delivery date will be met.
[0065] <Embodiment 2> 15 is a system configuration diagram of a distributed processing system S2 of embodiment 2. In the distributed processing system S2, a computer 53 stores a plurality of algorithms for job processing in an internal or external storage unit, and an algorithm can be selected.
[0066] Specifically, it stores algorithms that prioritize performance and algorithms that prioritize calculation time, and allows you to select between them.
[0067] Note that an algorithm that prioritizes performance (high computational load) is an optimal algorithm that does not impose time constraints and repeats calculations until a predetermined optimal solution is obtained. An algorithm that prioritizes computation time (low computational load) is an algorithm that repeats calculations within a time constraint to obtain an optimal solution. There is a trade-off between performance and computation time, and an algorithm that prioritizes computation time is inferior in performance to an algorithm that prioritizes performance.
[0068] 16 is a flowchart showing the flow of job processing associated with the acceptance of order information. The flowchart in Fig. 16 adds S41, S42, and S43 to the flowchart in Fig. 14.
[0069] S41 is a process for determining whether or not the job processing will be completed in time for the deadline, S42 is a process for selecting an algorithm that prioritizes performance, and S43 is a process for selecting an algorithm that prioritizes calculation time.
[0070] Upon receiving the order information, the job management device 51 calculates the priority score and updates the processing order of the job 55 (S10 to S30).
[0071] After updating the processing order, the job management device 51 estimates the calculation completion time of the job 55 based on the calculation time of the job 55 (which can be obtained by using multiple regression analysis or a learning model, as described in the first embodiment) when the job 55 is distributed processed in the updated processing order.
[0072] Specifically, the calculation completion time when the default algorithm (performance-oriented) is applied and the computer 53 is made to process the job is estimated. Then, based on the estimated calculation completion time of the job processing, it is determined whether the job processing will be in time for the delivery date (S41).
[0073] If the job processing will be completed on time (S41: YES), the job management device 51 instructs the computer 53 to select the performance-oriented algorithm, which is the default setting (S42).
[0074] If the job processing will not be completed in time for the deadline (S41: NO), the job management device 51 instructs the computer 53 to select an algorithm that prioritizes calculation time (S43).
[0075] The computer 53 selects an algorithm that prioritizes calculation time in accordance with the instruction and processes the job 55, thereby making it possible to complete the job processing by the deadline (S50).
[0076] For example, as shown in FIG. 17, it is assumed that order information is received for product type A, with a production quantity of 50 sheets and a delivery date of November 6, 2023.
[0077] Figure 18 shows a list of jobs 55 required to create a production plan for the above order information. If a performance-oriented algorithm is used, the calculation completion time for the fourth job 55 will be November 7, 2023, which may not be in time for the delivery date of the order information shown in Figure 17.
[0078] By changing the algorithm from one that emphasizes performance to one that emphasizes calculation time, the calculation completion time will be brought forward to November 6, 2023, as shown in Fig. 18, increasing the possibility of meeting the deadline for the order information. Note that the change in algorithm may be targeted at all jobs 55, or may be targeted at only jobs 55 that may not be completed on time.
[0079] <Embodiment 3> Fig. 19 is a flowchart of job processing following receipt of order information. The flowchart in Fig. 19 differs from the flowchart in Fig. 16 in that S41 to S43 are replaced by S45 and S46.
[0080] More specifically, when the job management device 51 receives the order information, it calculates the priority score and updates the job processing order (S10 to S30).
[0081] After updating the processing order, the job management device 51 estimates the job calculation completion time for each algorithm when the job is processed in a distributed manner in the updated processing order (S45).
[0082] Then, for each algorithm, it is determined whether the job processing will be completed in time for the deadline, and an algorithm with good performance that can meet the deadline is selected (S46).
[0083] For example, suppose that the computer 53 stores four types of algorithms A to D with different performance and calculation times, as shown in Fig. 20. Then, suppose that it is determined that algorithms A and B will not meet the deadline, and algorithms C and D will meet the deadline.
[0084] In this case, the job management device 51 instructs the computer 53 to select the algorithm C with better performance from the algorithms C and D that are expected to meet the delivery deadline, and performs distributed processing of the job 55 (S50). In this way, it becomes possible to formulate a production plan with good production efficiency while meeting the delivery deadline.
[0085] <Other embodiments> The present invention is not limited to the embodiments described above and illustrated in the drawings, and the following embodiments, for example, are also included within the technical scope of the present invention.
[0086] (1) In the first to third embodiments, job processing related to the production plan of the surface mounter 13 has been described, but the job processing related to the production plan of other machines on the mounting line L (e.g., the printing machine 11, the reflow device 15, etc.) may also be targeted.
[0087] (2) In the first to third embodiments, a job for calculating a reference CT and a job for creating a setup group are given as examples of jobs related to the production plan of the surface mounter 13. The types of jobs are not limited to those given in the embodiments, and may be other jobs as long as they are necessary for creating the production plan.
[0088] (3) In the first to third embodiments, the priority is recalculated (updated) when an order is received. The priority may be recalculated (updated) when a variable (parameter) used to calculate the priority is updated. For example, the priority may be recalculated when a delivery date is changed.
[0089] (4) In addition to the methods disclosed in the first to third embodiments, the priority of job processing can also be determined as follows. Based on the production time calculated from the number of boards to be produced and the reference CT, the latest date and time that production should start in order to meet the delivery deadline is calculated. The smaller the difference between that time and the current time, the higher the priority is assigned. In this way, jobs with a small difference between the date and time that production should start and the current time can be processed with priority. [Explanation of symbols]
[0090] 11 Printing machine 13 Surface Mounting Machine 15 Reflow equipment 12, 14, 15 Inspection machine 51 Job management device 52 databases 53 Computer L1, L2 mounting lines S Distributed Processing System
Claims
1. A job management device for a distributed processing system in which a plurality of jobs relating to a production plan for a mounting line are distributed and processed by a plurality of computers, A job management device for a distributed processing system that assigns jobs to the plurality of computers by prioritizing delivery dates.
2. 2. A job management device for a distributed processing system according to claim 1, If the job processing meets the deadline, causing the computer to select a performance-oriented algorithm to compute the job; If the job processing is not completed in time, A job management device that causes the computer to select an algorithm that prioritizes calculation time and calculates a job.
3. 2. A job management device for a distributed processing system according to claim 1, A job management device that determines whether or not the job processing can be completed in time for a deadline for each algorithm that the computer can use, selects an algorithm with good performance from among the algorithms that can be completed in time for the deadline, and causes the computer to calculate the job.
4. 3. A job management device for a distributed processing system according to claim 1, wherein: the mounting line includes a surface mounter that mounts components on a board, The multiple jobs include: a first job for calculating a cycle time of a board produced by the surface mounter; a second job for creating a setup group for a board to be produced by the surface mounter.
5. A distributed processing system, comprising: a database for storing jobs; a plurality of computers for distributing processing of jobs stored in the database; A distributed processing system comprising: the job management device according to claim 1 or 2.