Information processing apparatus, job planning method, and computer-readable storage medium
By grouping products and using a mathematical programming solver to optimize the job sequence, the problem of uneven operator workload in multi-product mixed flow operations is solved, and a fast and efficient job plan is achieved.
Patent Information
- Application Number
- CN202210332670.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-07-16
- Filing Date
- 2022-03-31
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2042-03-31
AI Technical Summary
In multi-product mixed flow operation methods, the imbalance of product flow paths leads to an uneven workload for operators, and existing technologies make it difficult to quickly plan the operation sequence under complex constraints.
By dividing products into multiple groups according to constraint types and optimizing the job sequence of each group using a mathematical programming solver, a job plan that satisfies the constraints is generated by combining group creation units and sequential calculation units.
Efficiently plan the sequence of tasks in a short time, reduce uneven workload among operators, and improve work quality and productivity.
Smart Images

Figure CN115619113B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to an information processing apparatus, a job planning method, and a job planning program. BACKGROUND
[0002] There is a demand for a technique of generating a loading order of job objects into a job line using a planning algorithm.
[0003] Japanese Laid-Open Patent Publication No. 2000-317777 and Japanese Laid-Open Patent Publication No. 04-069137 are disclosed as related art. SUMMARY
[0004] [TECHNICAL PROBLEM]
[0005] In a multi-product mixed flow job method, different types of products move on a job line. However, there is a problem in that, in a case where the flow paths of the products are not balanced, the burden on the operator is not balanced. Therefore, in the multi-product mixed flow job method, it is desirable to plan a job order considering constraint conditions regarding the order. However, as the constraint conditions become more complex, it takes a long time to plan the job order.
[0006] An object of the present application is to provide an information processing apparatus, a job planning method, and a job planning program that can plan a job order in a short time.
[0007] [Solution to Problem]
[0008] According to an aspect of the embodiment, a non-transitory computer-readable storage medium stores a job planning program that causes at least one computer to execute a process including: dividing a plurality of objects into a plurality of groups according to a type of a constraint condition set for each of the plurality of objects, the constraint condition relating to an order in which the plurality of objects are processed in a job line; and acquiring an order of the plurality of objects in the job line such that the constraint condition is satisfied in each of the plurality of groups.
[0009] [Advantageous Effects of Invention]
[0010] A job order can be planned in a short time. BRIEF DESCRIPTION OF DRAWINGS
[0011] Figure 1 is a graph showing an order of products;
[0012] Figure 2 is a graph showing a solution method of a mathematical programming solver;
[0013] Figure 3A is a block diagram showing an overall configuration of an information processing apparatus;
[0014] Figure 3Bis a diagram showing a hardware configuration of an information processing apparatus;
[0015] Figure 4A is a diagram showing product data stored in a product data storage unit;
[0016] Figure 4B is a diagram showing constraint conditions stored in a constraint condition storage unit;
[0017] Figure 5A is a diagram showing a label;
[0018] Figure 5B is a diagram showing an occurrence rate;
[0019] Figure 6 is a diagram showing an order in a group;
[0020] Figure 7 is a diagram showing optimization;
[0021] Figure 8 is a diagram showing optimization;
[0022] Figure 9 is a diagram showing an operation of an information processing apparatus as a flowchart;
[0023] Figures 10A to 10C is a diagram for explaining details of a method of determining a number of groups; and
[0024] Figures 11A to 11C is a diagram for explaining details of a determination method in a case where products in a group are determined. DETAILED DESCRIPTION
[0025] Before the embodiments are described, an outline of a production line utilizing a multi-product mixed flow operation method will be described. In the multi-product mixed flow operation method, different types of products are sequentially loaded into a single production line in a predetermined order and sequentially moved on the production line. Each product is processed according to the predetermined order. In the multi-product mixed flow operation method, the amount of processing (batch) of the same type of product in one production line can be reduced, and the required amount of operation can be performed as needed. As a result, in the production line as an example of the production line, the amount of waste inventory and intermediate products that are not worth as products can be reduced. Figure 1 In an example of the multi-product mixed flow operation method, 12 products numbered 001 to 012 are loaded into the production line from a product numbered 001. The products from product 001 to product 012 can include the same type of product, and can include different types of products.
[0026] With the multi-product mixed flow operation method, the amount of processing (batch) of the same type of product in one production line can be reduced, and the required amount of operation can be performed as needed. As a result, in the production line as an example of the production line, the amount of waste inventory and intermediate products that are not worth as products can be reduced.
[0027] On the other hand, the problem of the mixed flow production operation method of multiple products is that when the flow path is unbalanced, the burden on the operator is also unbalanced due to the simultaneous flow of different types of products on the operation line. For example, when a vehicle equipped with a sunroof is continuously flowing on the operation line, the personnel in charge of the sunroof continuously operate without a break. In this case, there is a possibility that an operation error will eventually occur and the influence on quality, cost, productivity, and the like will increase.
[0028] Therefore, in the mixed flow production operation method of multiple products, it is desirable to plan the operation order in consideration of "constraint conditions", for example, "do not load a specific type of product and a specific type of product in sequence to the operation line". The constraint condition here is a constraint condition regarding the order of products flowing on the operation line. In recent years, in order to increase added value, the type of product has changed, and such "constraint conditions" have become complex, and it has been difficult to plan an operation order that satisfies a wide variety of and complex "constraint conditions".
[0029] As a method of planning an operation order in a mixed flow production operation method of multiple products in consideration of "constraint conditions", there is a method of using a mathematical programming solver. Figure 2 is a diagram showing the solving method of the mathematical programming solver. As shown in Figure 2 , first, mixed flow product data is input to the mathematical programming solver. Next, the constraint conditions set for each product are input to the mathematical programming solver. Next, the mathematical programming solver calculates the operation order of each product so as to optimize the operation order. Next, the mathematical programming solver outputs the optimization result.
[0030] The mathematical programming solver generally has the following characteristics: for small problems, the mathematical programming solver can efficiently obtain a high-quality result. However, in the case of applying the mathematical programming solver to a scenario of operating a large number of products, for example, 100 to 10,000 products per day, it cannot be guaranteed that the result will be obtained within the actual time period required to calculate the planning result (for example, a few minutes). For example, there is a possibility that the result cannot be obtained before the operation starts. In addition, the memory size required for processing becomes enormous, and there are cases where a real computer cannot perform the processing.
[0031] There is a method of improving the processing time by parallel processing, and parallel processing has been implemented in commercially available mathematical programming solvers. However, the current mathematical programming solver is difficult to achieve the above-mentioned purpose by improving the processing time several times. In addition, it is possible to stop the optimization when a certain period of time has elapsed. However, the decrease in the quality of the operation order deteriorates quality, cost, productivity, and the like.
[0032] In the following embodiments, an information processing apparatus capable of planning a work order of each product in a short time in a work line, a work planning method, and a work planning program will be described.
[0033] [First Embodiment]
[0034] Figure 3A is a block diagram illustrating the overall configuration of the information processing apparatus 100. As Figure 3A indicated, the information processing apparatus 100 includes a product data storage unit 10, a constraint condition storage unit 20, a group creation unit 30, an order generation unit 40, an order calculation unit 50, an output unit 60, and the like.
[0035] Figure 3B is a block diagram illustrating the hardware configuration of the information processing apparatus 100. As Figure 3B indicated, the information processing apparatus 100 includes a CPU 101, a RAM 102, a storage device 103, an input device 104, a display device 105, and the like.
[0036] The central processing unit (CPU) 101 is a central processing unit. The CPU 101 includes one or more cores. The random access memory (RAM) 102 is a volatile memory that temporarily stores a program to be executed by the CPU 101, data to be processed by the CPU 101, and the like. The storage device 103 is a non-volatile storage device. For example, a read only memory (ROM), a solid state drive (SSD) such as a flash memory, a hard disk to be driven by a hard disk drive, or the like can be used as the storage device 103. The storage device 103 stores a work planning program. The input device 104 is an input device such as a keyboard or a mouse. The display device 105 is a display device such as a liquid crystal display (LCD). The CPU 101 executes the work planning program to realize the product data storage unit 10, the constraint condition storage unit 20, the group creation unit 30, the order generation unit 40, the order calculation unit 50, and the output unit 60. Note that hardware (for example, a dedicated circuit) can also be used as the product data storage unit 10, the constraint condition storage unit 20, the group creation unit 30, the order generation unit 40, the order calculation unit 50, and the output unit 60.
[0037] Figure 4A is a diagram illustrating product data stored in the product data storage unit 10. The product data is stored in the product data storage unit 10 via the input device 104 or the like. As Figure 4A indicated, the product data storage unit 10 stores product numbers and constraint condition numbers for which processing is performed in the work line in association with each other. The order from the top down indicates the initial loading order in which each product enters the work line. The product numbers are arranged in the order in which the products enter the work line. The constraint condition numbers are arranged in the order in which the constraint conditions are applied to the products in the work line. Figure 4AThe initial loading order loads products 001 to 012 into the production line in product number order. Products 001 to 012 can include products of the same type or different types. The same operations are performed on products of the same type. The same constraints are set for products of the same type.
[0038] Figure 4B This is a diagram illustrating the constraints stored in the constraint storage unit 20. The constraints are stored in the constraint storage unit 20 via input devices such as input device 104. Figure 4B As shown, constraint storage unit 20 stores three types of constraints, including processing at intervals of one or more other products (constraint 1), processing at intervals of two or more other products (constraint 2), and processing at intervals of five or more other products (constraint 3). For example, constraint 1 is provided because the same color is not continuously applied. Constraint 2 is provided because large vehicles require time to assemble, thus requiring certain intervals. Constraint 3 is provided because optional processing (e.g., sunroofs) requires a large number of personnel, thus requiring large intervals to allocate resources. Figure 4A As shown, there are cases where one or more constraints are set for each product, or cases where no constraints are set for each product.
[0039] The group creation unit 30 assigns the same label to each product stored in the product data storage unit 10 that has the same type of constraint set for it. For example, the group creation unit 30 assigns labels to each product as follows: group a, products for which no constraints are set; group b, products for which only constraint 1 is set; group c, products for which only constraint 2 is set; group d, products for which only constraint 3 is set; and group e, products for which both constraint 1 and constraint 2 are set. For example, in Figure 5A In the example, tag group a is assigned to products 006 and 007, and tag group b is assigned to products 001, 003, 004, and 005.
[0040] Next, the group creation unit 30 calculates the ratio (occurrence rate) of the number of products with each tag relative to the total number of products stored in the product data storage unit 10. For example, as Figure 5BAs shown, since the number of products assigned to label group a is 2, and the total number of products is 12, the occurrence rate of the products assigned to label group a is 0.17. Since the number of products assigned to label group b is 4, the occurrence rate of the products assigned to label group b is 0.33. Since the number of products assigned to corresponding label groups c to e is 2, the occurrence rate of the products assigned to corresponding label groups c to e is 0.17.
[0041] Next, group creation unit 30 divides products 001 to 012 into multiple groups to reduce label type imbalance using the calculated occurrence rate. For example, group creation unit 30 divides products 001 to 012 into multiple groups to balance the distribution of label types. The occurrence rate of the number of products assigned to label group b is 0.33, which is twice the occurrence rate of the number of products assigned to other label groups a and groups c to e, which is 0.17. Therefore, for example, group creation unit 30 includes two products assigned to label group b and one product for each label in each of groups a and groups c to e in each of groups #1 and group #2. Group #1 is loaded into the production line before group #2. For example, group #1 includes products 001, 002, 003, 006, 008, and 009. Group #2 includes products 004, 005, 007, 010, 011, and 012.
[0042] Next, the sequence generation unit 40 determines the order to balance the distribution of constraints in each group within group #1 and group #2. For example, as... Figure 6 As shown, the sequence generation unit 40 rearranges the products in group #1 in the order of product 001, product 006, product 002, product 009, product 008, and product 003. Furthermore, the sequence generation unit 40 rearranges the products in group #2 in the order of product 004, product 007, product 010, product 012, product 011, and product 005. In this way, the product belonging to group b for which only constraint condition 1 is set is the furthest, and products from other groups are arranged between the products in group b and other products in group b.
[0043] Here, the constraints for each product in groups #1 and #2 are examined. Constraint 1 is set for products 008, 003, and 004. However, no other product is sandwiched between products 008 and 003, nor between products 003 and 004. Therefore, Figure 6 The order of the products does not satisfy constraint 1. Furthermore, constraint 2 is set for products 002 and 008. However, there are no two or more other products sandwiched between products 002 and 008. Therefore, Figure 6The order in the code does not satisfy constraint condition 2.
[0044] Therefore, the sequential calculation unit 50 performs optimization to satisfy each constraint by using a mathematical programming solver to calculate the order of products in each of groups #1 and #2.
[0045] Here, a mathematical programming solver will be described. First, assume that only one product is the j-th product to be processed (Equation (1) below). Furthermore, product i is processed only once (Equation (2) below). (See attached figure for reference x.) i,j This indicates that product i is the j-th product to be processed. Furthermore, x... i,j It can be either "0" or "1".
[0046] [Formula 1]
[0047]
[0048] [Equation 2]
[0049]
[0050] Next, the conditions regarding the interval are determined as in formula (3) below. In formula (3) below, “M” represents the set of interval constraints m. The symbol “C” is used to indicate the interval constraints. m "" indicates the distance of the interval to be ensured in the interval constraint m. The symbol "R" indicates this. m "" represents the set of products for which the interval constraint m is applied.
[0051] [Formula 3]
[0052] |j1-j2|≥C m x i1j1 x i2j2
[0053]
[0054] Figure 7 This is a graph showing the optimization. In Figure 7 In the results shown, each of constraints (1) to (4) is satisfied in each group. Next, the sequential calculation unit 50 determines whether the constraints are satisfied between adjacent groups. Figure 7 In the example, there are no five or more other products sandwiched between product 009 and product 012. Therefore, constraint 3 is not satisfied. Therefore, the sequential calculation unit 50 replaces the product order with another order, such that each constraint is satisfied between adjacent groups. Figure 8 In the example, adjacent groups satisfy the constraints. Therefore, output unit 60 outputs... Figure 8 The optimization results are then displayed on the display device 105. For example, the results output from the output unit 60 are displayed on the display device 105.
[0055] Figure 9 This is a flowchart illustrating the operation of the information processing device 100 described above. For example... Figure 9 As shown, the product data storage unit 10 stores product data input via the input device 104, etc. (step S1). The product data is referenced... Figure 4A The data described. Next, the constraint storage unit 20 stores the constraints input via the input device 104, etc. (step S2). The constraints are referenced Figure 4B The conditions described.
[0056] Next, the group creation unit 30 references the product data stored in the product data storage unit 10 and assigns the same label to products with the same type of constraints (step S3). As a result, classification can be performed according to the type of constraints. For example, as referenced... Figure 5A As described, group creation unit 30 assigns a label to each product.
[0057] Next, the group creation unit 30 groups each product according to the occurrence rate of each group obtained in step S3 (step S4). As a result, grouping can be performed based on the classification of constraints in step S3. For example, the group creation unit 30 based on the reference... Figure 5B The described occurrence rates are grouped for each product.
[0058] Next, the sequence generation unit 40 generates the loading order of the products in each group to ensure a balanced distribution of constraints in each group obtained in step S4 (step S5). For example, the sequence generation unit 40 generates the loading order as shown in the reference... Figure 6 The loading order described.
[0059] Next, the sequential calculation unit 50 performs optimization by calculating the order of the products to satisfy each constraint in each group (step S6). In this case, as referred to Figure 7 and Figure 8 As described, the sequential calculation unit 50 optimizes the order of products to meet the constraints between adjacent groups.
[0060] Here, details of the method for determining the number of groups in step S4 of the group creation unit 30 will be described. For example, constraints include providing six intervals between products. To provide six intervals between products, such as... Figure 10AAs shown, a group needs to include at least eight products. However, if the number of products included in a group is set to eight, and two products for which a constraint providing six intervals is set are unexpectedly included in the group, then those two products are fixed at both ends. Therefore, by focusing on the maximum interval for each constraint, the number of products in each group is set to the maximum number of intervals + 2 + α (margin). The margin α is set to be equal to or greater than 1.
[0061] Figure 10C This is a flowchart illustrating an example of the process when the group creation unit 30 calculates the number of groups during grouping in step S4. For example... Figure 10C As shown, the group creation unit 30 obtains the maximum interval L for each constraint (step S11). Next, the group creation unit 30 sets L+2+α as the number D of products included in each group (step S12). Next, the group creation unit 30 sets the number of groups to the value obtained by dividing the total number of products included in the product data stored in the product data storage unit 10 by the number of products D (step S13). Preferably, the number of products in each group is the same. However, if there is a remainder when dividing the total number of products by the number of products D, the remainder can be added to any group.
[0062] Next, the details of the determination method when the group creation unit 30 determines the products in the group in step S5 will be described. First, the group creation unit 30 assigns the same label to all products for which the same type of constraint is set. For example, the set S of labels is set as S = {S1, S2, ..., SN}. The number of products to which each label Si is assigned is set as |Si|. The probability T of the number of products for which the label is set is set as T = |Si| / B. Here, "B" is the total number of products.
[0063] Group creation unit 30 sets the set T of occurrence probabilities as T = {|S1| / B, |S2| / B, ..., |SN| / B} (step 1). Figure 11A This is a graph showing the probability T of occurrence.
[0064] Next, as Figure 11B As shown, the group creation unit 30 substitutes the occurrence probability T into the cumulative occurrence probability Z1 (step 2). Next, the group creation unit 30 calculates the cumulative occurrence probability Z2 by adding the occurrence probability T to the cumulative occurrence probability Z1, assigns the type with the highest cumulative occurrence probability to the slot, and subtracts 1 from the cumulative occurrence probability of that type (step 3). Figure 11B In the example, constraint (1) is the maximum value "0.66", and "0.34" is obtained by subtracting "0.66" from 1. As a result, as Figure 11CAs shown, product 001, for which constraint (1) is set, is assigned to the first segment. Following a similar process, the occurrence probability T is added to the cumulative occurrence probability Z3. In this case, "no constraint" is the maximum value "0.51", and "0.49" is obtained by subtracting "0.51" from 1. As a result, as... Figure 11C As shown, product 006, for which no constraints have been set, is assigned to the second segment. The process ends when the above process is repeated and no more products need to be assigned.
[0065] According to this embodiment, products are divided into two or more groups based on the type of constraints set for each product. As a result, the type of constraints is considered when grouping. Next, the loading order for the production line is calculated such that the constraints set for each product are satisfied within each group. As a result, the number of products in each group is less than the total number of products. As described above, since it is sufficient to calculate the loading order of a smaller number of products in each group while considering the constraints, the production order of each product on the production line can be planned in a short time. For example, while a mathematical programming solver can calculate the optimal solution with high accuracy, there is a possibility of increased computation time. However, since it is sufficient to calculate the production order in each group in this embodiment, the computation time is shorter.
[0066] By satisfying the constraints between adjacent groups when calculating the loading order in a group, the order of operations for each product in the production line can be planned more accurately.
[0067] By assigning the same label to each object with the same type of constraint and dividing the objects into two or more groups, the imbalance of label types between the two or more groups when dividing the product into multiple groups is reduced, thus satisfying the conditions for a near-optimal solution. As a result, the time required to search for the optimal solution can be shortened.
[0068] Note that in the above embodiment, the interval when processing the same type of products is described as a constraint. However, this embodiment is not limited to this. Other constraints regarding the order of products flowing in the production line can be applied to the above embodiment.
[0069] For example, consider the constraint that "allows up to two vehicles of the same type to be arranged in a row." This constraint is designed to address situations where it is desirable to alternate between right-handle and left-handle vehicles, the number of right-handle vehicles is greater than the number of left-handle vehicles, and to prevent unnecessarily sequential arrangement of right-handle vehicles.
[0070] Alternatively, assume that four components are mounted on a shared component carriage. Then, assume that the maximum number of large components that can be mounted on the carriage is three, and the maximum number of small components can be mounted. In this case, consider the constraint that "up to three vehicles of the same type can be arranged in a row." In this case, when this constraint is set for vehicles with large components, up to four components can always be mounted on the carriage.
[0071] Alternatively, consider the constraint that "only three of the same type of vehicle are allowed in a consecutive five vehicles, and it does not matter whether these three vehicles are consecutive." This constraint aims to prevent shelf overflow if only a maximum of three electric vehicle components can always be placed on the component shelf.
[0072] In the examples above, the products are examples of objects to be processed sequentially on a production line. Group creation unit 30 is an example of a group creation unit that divides multiple objects into multiple groups based on the type of constraints set for each object in a group. Sequential calculation unit 50 is an example of a sequential calculation unit that calculates the order of objects so that the constraints set for each object in the group are satisfied.
[0073] Although 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 changes can be made within the scope of the invention as described in the claims.
Claims
1. A non-transitory computer-readable storage medium storing a job planning program that causes at least one computer to execute a process, the process comprising: dividing a plurality of objects into a plurality of groups according to a type of a constraint condition set for each of the plurality of objects, the constraint condition relating to an order of processing the plurality of objects in a job line, the constraint condition including a condition that determines a number of other objects to be inserted between two objects for which the same processing is performed; and acquiring an order of the plurality of objects in the job line such that the constraint condition is satisfied in each of the plurality of groups, wherein the dividing includes: assigning the same label to products having the same type of constraint condition; and reducing imbalance of types of labels between the plurality of groups.
2. The non-transitory computer-readable storage medium of claim 1, wherein, The acquiring includes acquiring an order such that each constraint condition between adjacent groups is satisfied.
3. The non-transitory computer-readable storage medium of claim 1, wherein, The acquiring includes using a mathematical programming solver.
4. An information processing apparatus comprising: a group generating unit that divides a plurality of objects into a plurality of groups according to a type of a constraint condition set for each of the plurality of objects, the constraint condition relating to an order of processing the plurality of objects in a job line, the constraint condition including a condition that determines a number of other objects to be inserted between two objects for which the same processing is performed, wherein the group generating unit assigns the same label to products having the same type of constraint condition, and reduces imbalance of types of labels between the plurality of groups; and an order calculating unit that acquires an order of the plurality of objects in the job line such that the constraint condition is satisfied in each of the plurality of groups.
5. A job planning method for causing a computer to execute a process, the process comprising: dividing a plurality of objects into a plurality of groups according to a type of a constraint condition set for each of the plurality of objects, the constraint condition relating to an order of processing the plurality of objects in a job line, the constraint condition including a condition that determines a number of other objects to be inserted between two objects for which the same processing is performed; and acquiring an order of the plurality of objects in the job line such that the constraint condition is satisfied in each of the plurality of groups, wherein the dividing includes: assigning the same label to products having the same type of constraint condition; and reducing imbalance of types of labels between the plurality of groups.
Citation Information
Patent Citations
Manufacture of alkanoic acid
JP1992069137B2
Production plan generation device, production plan generation method, and production plan generation program
CN109076725A
Production management method, production management system and computer readable medium
CN110119834A
Production plan generation device, production plan generation program, and production plan generation method
CN110494812A
Production schedule creating apparatus, production schedule creating method, and production schedule creating program
US20190228360A1