This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2016-244597 filed on Dec. 16, 2016.
A certain aspect of the embodiments described herein relates to a device for deciding the number of persons to be assigned, a method for deciding the number of persons to be assigned, and a non-transitory computer-readable storage medium.
In job planning for assigning jobs to stations of an assembly line for assembling products, the optimization is conducted taking into consideration the compliance with the order of jobs at the stations and the balance of workloads among the stations. It is difficult to manually conduct the optimization. Thus, there have been suggested various algorithms.
Additionally, there has been known a technique that reduces the assembly cost by optimizing the assembly line organization of an assembly process as disclosed in, for example, International Publication No. 2016/009483.
According to an aspect of the embodiments, there is provided a device for deciding a number of persons to be assigned to an assembly line to which a predetermined number of robots are assigned, the device including: a memory; and a processor coupled to the memory and configured to: specify a first number and a second number based on a time it takes to complete jobs to be assigned to the robot or the person, a takt time common to the robot and the person, and an operation efficiency of each of the robot and the person, the first number being a minimum number of persons with which neither a work time of the robot nor a work time of the person exceeds the takt time, the second number being less than the first number; calculate a first cost of the first number of persons and the robot and a second cost of the second number of persons and the robot; and compare the first cost and the second cost, decide to assign the first number of persons to the assembly line when the first cost is less than the second cost, and decide to assign the second number of persons to the assembly line when the second cost is less than the first cost.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
In an assembly line in which the number of robots to be used is preliminarily determined, jobs need to be organized after the number of persons to be assigned is preliminarily determined. In this case, it is difficult to determine which is better increasing the number of persons so that a total work time (cycle time) of a robot or person does not exceed a time limit (a takt time) or decreasing the number of persons even though the cycle time exceeds the takt time somewhat.
Hereinafter, a description will be given of an embodiment with reference to
In the assembly line 20, products are conveyed from the station to the station by a belt conveyor (not illustrated) or the like. A robot 21A and persons 21B through 21D are assigned to the stations of the assembly line 20. In
The configuration example of the assembly line 20 is not limited to that illustrated in
In the example of
Referring back to
The planning condition 3 of which the input is received by the input reception unit 11 includes information about the takt time, the number of robots available, and the cost per unit time and the operation efficiency of each robot. The planning condition 3 includes a cost per unit time of each person capable of being assigned to the assembly line, an overtime pay (an increase rate to the cost per unit time), and information about operation efficiency. The planning condition 3 also includes information about a maximum time (an allowable excess time) for which a person or robot is allowed to work beyond the takt time. The allowable excess time is set in accordance to the situation of the assembly line or the situation of the factory in which the assembly line is installed. The planning condition 3 also includes an algorithm for initially assigning jobs and a search algorithm for obtaining a combination of jobs assigned to each station. Examples of the algorithm for initially assigning jobs include, but are not limited to, a first fit method and a strongest fit method. The examples of the search algorithm include a hill climbing method, a tabu search, and Simulated Annealing.
The person number decision unit 12 decides the number of persons to be assigned to the assembly line under the condition that the number of robots to be assigned to the assembly line is preliminarily determined in the planning condition 3. More specifically, the person number decision unit 12 determines which case is to be employed: the case in which the minimum number of persons is employed as far as the total work time (cycle time) of each of persons and robots does not exceed the takt time, jobs are assigned to the persons as many as possible, and the remaining jobs (odd jobs) are assigned to the robots as illustrated in
The search unit 13 uses algorithms determined in the planning condition 3 to search a job plan suitable for the number of robots preliminarily determined and the number of persons decided by the person number decision unit 12. The search unit 13 searches the best job plan taking into consideration the compliance with the order of jobs and the balance of workloads. The output unit 14 outputs the job plan searched by the search unit 13 by file output or display output to the display unit 193.
The process by the job planning device 10 of the present embodiment will be described along the flowchart of
In the process of
Then, at step S12, the person number decision unit 12 calculates the number of persons with which the cycle time exceeds the takt time (the case of
Here, cH, i represents the cost per unit time of the i-th person. Thus, the above formula means that the value of NH that minimizes the sum of cH, i (i=1 through NH) is defined as NH′. However, the condition represented by the following formula (2) needs to be met.
In the above formula (2), NR represents the number of robots, vH, i represents the operation efficiency of the i-th person, vR, i represents the operation efficiency of the i-th robot, T represents a total work time (the total time of the persons and the robots of all the jobs), and t represents the takt time. The operation efficiency of the person and the operation efficiency of the robot are a value obtained by dividing a time it takes for the person or robot to complete a job or a job group by a base time that is predetermined. The total work time is the time it takes if each of all the jobs is done in the corresponding base time.
Then, at step S14, the person number decision unit 12 calculates the difference (the excess time) Δt′ between the total work time (cycle time) of one work subject and the takt time (t) based on the following formula (3). Here, the work subject means a person or robot. In the present embodiment, since Δt′ is calculated from the following formula (3), one value is calculated, but the excess time of each work subject differs from one another in practice (see
Then, at step S16, the person number decision unit 12 determines whether the excess time is used as an index. More specifically, the person number decision unit 12 checks whether the planning condition 3 of which the input has been received by the input reception unit 11 includes the allowable excess time, and determines that the excess time is used as the index when the allowable excess time is included. In this case, the determination at step S16 becomes YES, and the process moves to step S18. On the other hand, when the planning condition 3 does not include the allowable excess time, the determination at step S16 becomes NO, and the process moves to step S26.
When the determination at step S16 is YES and the process moves to step S18, the person number decision unit 12 determines whether the excess time Δt′ goes over a limit, i.e., whether the excess time Δt′ is greater than the allowable excess time. When the determination at step S18 is YES, the process moves to step S20, and the person number decision unit 12 outputs the number of persons NH′ with which the cycle time does not exceed the takt time to the search unit 13. As described above, by deciding the number of persons NH′ with which the cycle time does not exceed the takt time as the number of persons to be assigned to the assembly line, the number of persons appropriate to the situation of the assembly line or the factory in which the assembly line is installed is decided as the number of persons to be assigned to the assembly line. After the process of step S20, the process moves to step S30.
On the other hand, when the determination at step S18 is NO, that is, when the excess time Δt′ is not greater than the allowable excess time, the process moves to step S22, and the person number decision unit 12 determines whether the cost is used as the index. In this case, the person number decision unit 12 determines whether the planning condition 3 includes information for calculating cost (e.g., information about the overtime pay, the cost per unit time, and the operation efficiency).
When the determination at step S22 is NO, the process moves to step S24, and the person number decision unit 12 outputs the number of persons NH′-1 with which the cycle time exceeds the takt time to the search unit 13. Thereafter, the process moves to step S30.
On the other hand, when the determination at step S16 is NO (when the excess time is not used as the index), or when the determination at step S22 is YES (when the excess time is not greater than the allowable excess time and the cost is used as the index) the process moves to step S26. At step S26, the person number decision unit 12 calculates the cost. In this case, the cost of the person and the robot in the whole of the assembly line is represented by the following formula (4).
Here, t represents the takt time, Δt represents the excess time, and si represents the overtime pay (a premium rate with respect to the cost per unit time) of the i-th person. Additionally, cR, R represents the cost per unit time of a robot that is to execute odd jobs (the robot that is in charge of a remainder illustrated in
Here, the right-hand first member in the above formula (4) represents the cost of a person, the right-hand second member represents the cost of a robot that is not to execute odd jobs (the robot illustrated in
The person number decision unit 12 calculates c(NH′-1, Δt′) by using the cost per unit time cH, i and the operation efficiency vH, of each of persons capable of being assigned to individual stations for the case where the cycle time exceeds the takt time (the example of
Then, at step S28, the person number decision unit 12 determines whether the cost when the cycle time exceeds the takt time is less than the cost when the cycle time does not exceed the takt time. That is, it is determined whether c(NH′-1, Δt′)<c(NH′, 0). When the determination at step S28 is YES, the process moves to step S24, and the number of persons NH′-1 (the number of persons with lower cost) with which the cycle time exceeds the takt time is output to the search unit 13. Then, the process moves to step S30. On the other hand, when the determination at step S28 is NO, the process moves to step S20, and the number of persons NH′ (the number of persons with lower cost) with which the cycle time does not exceed the takt time is output to the search unit 13. Thereafter, the process moves to step S30.
When the process moves to step S30 through step S20 or step S24, the search unit 13 searches a job plan. In this case, the search unit 13 searches the best job plan by using the number of persons output from the person number decision unit 12 and the number of robots preliminarily determined and taking into consideration the compliance with the order of jobs at each station and the balance of workloads among the stations (the persons and the robots). For example, the search unit 13 calculates the evaluation value indicating the difference between the takt time and the cycle times at the stations B through D to which the workers 21B through 21D are assigned for the case in which jobs are assigned to the workers 21B through 21D or the robot 21A, which are assigned to respective stations, based on the planning condition including the assignment of the workers 21B through 21D or the robot 21A to be assigned to each station on the assembly line 20, jobs to be assigned to each station, and the takt time, and the job information indicating whether the automation of each job is possible and the job time of each job obtained from the job DB 2. Then, the search unit 13 searches the job plan of the combination of jobs assigned to each station by solving the optimization problem under the condition that the evaluation value is minimized. In this case, the search unit 13 may search the job plan of the combination meeting the order constraint based on a penalty value corresponding to the number of violations of a precedence constraint.
Then, at step S32, the output unit 14 outputs the search result (the job plan).
The execution of the above process of
As clear from the above description, in the present embodiment, the person number decision unit 12 implements the functions as a specification unit configured to specify the number of persons NH′, NH-1, a calculation unit configured to calculate the cost when the number of persons NH′, NH′-1 is employed, a decision unit configured to decide which number of persons NH′ or NH-1 is employed based on the cost calculated by the calculation unit, and a determination unit configured to determine whether the excess time is greater than the allowable excess time (a threshold value) when the number of persons NH-1 is employed.
As described in detail above, in the present embodiment, the person number decision unit 12 calculates the minimum number of persons NH′ with which neither the work time of the robot nor the work time of the person exceeds the takt time and the number of persons that is one less than NH′ (the number of persons NH′-1 with which the cycle time exceeds the takt time) (S12) based on the time (T) it takes to complete jobs to be assigned to a robot or person, the takt time (t) common to the robot and the person, and the respective operation efficiencies (vH, i, vR, i) of the robot and the person. In addition, the person number decision unit 12 calculates the cost c(NH′, 0) of the number NH′ of persons and the robot, and the cost c(NH-1, Δt′) of the number NH′-1 of persons and the robot by using the above formula (4) (S26). Then, when the cost c(NH′, 0)<the cost c(NH′-1, Δt′), the person number decision unit 12 decides to assign the number NH′ of persons to the assembly line, and outputs the decision to the search unit 13. On the other hand, when the cost c(NH′, 0)>c(NH-1, Δt′), the person number decision unit 12 decides to assign the number NH′-1 of persons to the assembly line, and outputs the decision to the search unit 13 (S28, S20, S24). This configuration allows the present embodiment to decide the appropriate number of persons taking into consideration the cost of the assembly line. In this case, the appropriate number of persons is easily and expeditiously decided based on the above formulas, and thus the time necessary for the job planning is reduced.
As an example, it has conventionally taken 5.5 days to plan a process plan: 0.5 day for data input and process planning; 1.5 days for process analysis (line simulation (product constraint check, MCT prediction, technical problems, feasibility study)), 3 days for study of specifications of automated machines (system structure study, cost measures, effect prediction); and 0.5 day for a comparative review between multiple specification plans. In contrast, the present embodiment is able to reduce the time for the process analysis, the study of specifications of automated machines, and the comparative review between multiple specification plans, and thereby is able to plan the process plan in about three days.
In addition, in the present embodiment, the person number decision unit 12 determines whether the time (excess time Δt′) by which the work time of the robot or person exceeds the takt time is greater than a threshold value preliminarily determined (the allowable excess time) under the assumption that the number NH′-1 of persons are assigned to the assembly line (S18), and when the excess time is greater than the allowable excess time (S18: YES), decides to assign the number NH′ of persons to the assembly line (S20), while when the excess time Δt′ is not greater than the allowable excess time (S18: NO), decides one of the number of persons NH′ and the number of persons NH′-1 as the number of persons to be assigned to the assembly line based on the cost calculation result (S28, S20, S24). As described above, in the present embodiment, when the excess time Δt′ is greater than the allowable excess time, the number of persons NH′ is employed without calculating the cost. Thus, the appropriate number of persons is decided taking into consideration the situation of the assembly line or the situation of the factory in which the assembly line is installed.
In addition, in the present embodiment, the person number decision unit 12 calculates the cost of the person based on the cost per unit time within the takt time and the cost per unit time when the cycle time exceeds the takt time. This configuration enables to calculate the cost of the person taking into consideration the overtime pay.
In addition, in the present embodiment, the method of calculating the cost of the robot is made to be different between the case where the robot works beyond the takt time and the case where the robot works for the time less than the takt time. Thus, the cost of the robot is appropriately calculated in the case of
In the above embodiment, at step S26, when there are a plurality of combinations of persons capable of being assigned to individual stations, the person number decision unit 12 calculates the average of c(NH′-1, Δt) and the average of c(NH′, Δt) calculated for each combination, but this does not intend to suggest any limitation. For example, the minimum value of c(NH′-1, Δt) calculated for each combination and the minimum value of c(NH′, Δt) calculated for each combination may be calculated, and then, the minimum value of c(NH′-1, Δt) may be compared with the minimum value of c(NH′, Δt). In this case, the person number decision unit 12 may output the combination that minimizes c(NH′-1, Δt) and c(NH′, Δt) to the search unit 13. In this case, the search unit 13 may conduct the job planning most suitable for the obtained combination of persons.
In the above embodiment, the search unit 13 may use the cost c(H, Δt) and the excess time Δt′ of the formula (4), or the work time of the robot as an evaluation index, and search a job plan based on the evaluation index (for example, so that the evaluation index is minimized).
The above embodiment describes a case where the number of persons with which the cycle time exceeds the takt time is assumed to be NH-1, but does not intend to suggest any limitation. The number of persons with which the cycle time exceeds the takt time may be NH′-2, NH′-3, or the like.
The above embodiment describes a case where the job planning device 10 has the functions of
The above-described processing functions are implemented by a computer. In this case, a program in which processing details of the functions that a processing device (CPU) is to have are written are provided. The execution of the program by the computer allows the computer to implement the above described processing functions. The program in which the processing details are written can be stored in a storage medium (however, excluding carrier waves) capable of being read by a computer.
When the program is distributed, it may be sold in the form of a portable storage medium such as a DVD (Digital Versatile Disc) or a CD-ROM (Compact Disc Read Only Memory) storing the program. The program may be stored in a storage device of a server computer, and the program may be transferred from the server computer to another computer over a network.
A computer executing the program stores the program stored in a portable storage medium or transferred from a server computer in its own storage device. The computer then reads the program from its own storage device, and executes a process according to the program. The computer may directly read the program from a portable storage medium, and execute a process according to the program. Alternatively, the computer may successively execute a process, every time the program is transferred from a server computer, according to the received program.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various change, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2016-244597 | Dec 2016 | JP | national |