Production planning device, production planning method, and computer program
The production planning system optimizes production plans by directly calculating setup times and extending decision variables, addressing the challenge of varying setup times to achieve efficient and timely production planning.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- KK TOYOTA CHUO KENKYUSHO
- Filing Date
- 2024-11-08
- Publication Date
- 2026-05-20
AI Technical Summary
Existing production planning technologies fail to achieve an optimal production plan when there is a large variation in setup times among multiple types of products, as they rely on representative values for setup times rather than accurate calculations, leading to suboptimal product allocation on production lines.
A production planning system that uses linear programming to calculate the sum of setup times directly, optimizing production and setup times by extending one-dimensional decision variables to two dimensions and setting an objective function that minimizes or maximizes the sum of these times, ensuring a closer-to-optimal production plan.
The system achieves a production plan that minimizes total production time even with varying setup times, outperforming existing methods in both efficiency and calculation time, by accurately accounting for setup times and production times on each line.
Smart Images

Figure 2026083837000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a production planning apparatus, a production planning method, and a computer program. [Background technology]
[0002] When producing multiple types of products using multiple production lines, a production planning device is known that assigns products to be produced on each production line (see, for example, Patent Document 1). The device described in Patent Document 1 formulates a production plan that minimizes the total time required for production on multiple production lines, taking into account the changeover time that occurs when different products are produced on the same line. Non-Patent Document 1 describes a technique for assigning products to be produced on each production line using SIO (Shortest Imminent Operations), which assigns products with shorter processing times to production lines for multiple flow shop lines. [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2023-163409 [Non-patent literature]
[0004] [Non-Patent Document 1] Tomohiro Hirose, Yasuhiro Yogo, Kenichi Yamada, Koji Kameyama, Miki Fujimoto, "Study of Dispatching Rules for Rapid Scheduling of Flexible Flow Shops," Production Systems Division Research Conference 2022, The Japan Society of Mechanical Engineers, March 7-8, 2022, https: / / doi.org / 10.1299 / jsmemsd.2022.203 [Overview of the project] [Problems that the invention aims to solve]
[0005] The technology described in Patent Document 1 employs mixed-integer programming, and the number of setup changes is calculated using a decision variable. The calculated number of setup changes is multiplied by a representative value, such as the average or maximum value of the setup time, and this value is treated as the setup time. However, when there is a large variation in setup times among multiple types of products, calculating the setup time using representative values does not guarantee that a theoretically optimal production plan can be obtained. Furthermore, there was room for improvement in the allocation of products to each line using the technology described in Patent Document 2 in order to obtain an optimal production plan.
[0006] The present invention has been made to solve at least some of the above-mentioned problems, and aims to determine the allocation of products to a production line in which the total time required for production approaches the theoretical minimum, even when there is a large variation in setup time. [Means for solving the problem]
[0007] The present invention has been made to solve at least some of the above-mentioned problems and can be realized in the following forms.
[0008] (1) According to one embodiment of the present invention, a production planning device is provided for formulating a production plan when producing multiple types of products using multiple flow shop lines. This production planning device includes: an acquisition unit that acquires constraints including the number of products to be produced and information about the products that can be produced on each line, the cycle time which is the time required to produce a product on each line, and the setup changeover time that occurs when different types of products are produced on the same line; a provisional allocation unit that provisionally allocates the products to be produced on each line; a decision variable setting unit that corresponds the decision variables in linear programming to the allocation of products to be produced on each line; a first evaluation value calculation unit that calculates an evaluation value of the production time required to produce a product on each line using the cycle time and the decision variables; a second evaluation value calculation unit that calculates an evaluation value of the sum of the setup changeover times that occur on each line using the setup changeover time and the decision variables; an objective function calculation unit that sets an objective function that changes according to the evaluation value of the production time and the evaluation value of the sum of the setup changeover times, and calculates to minimize or maximize the set objective function; and a reallocation unit that re-allocates the products to be produced on each line using the calculated value of the objective function and the constraints.
[0009] This configuration allows for the creation of a production plan that assigns products to each line in such a way that the objective function, which changes depending on the evaluated value of production time and the evaluated value of the sum of setup times, approaches its maximum or minimum value. In other words, by optimizing the evaluated values of production time on each line and the setup time required for any possible setup changes on each line, the system searches for product assignments that result in the shortest total of production time and setup time on each line. In this configuration, the sum of setup times, rather than the number of setup changes or a representative value, is used as the evaluated value of setup times set as the objective function. Therefore, even if there is a large variation in setup times, the system can find product assignments to lines where the total production time is theoretically minimized. This results in the creation of a production plan that is closer to the theoretically optimal production plan.
[0010] (2) In the production planning apparatus of the above embodiment, the decision variable setting unit may extend the one-dimensional decision variables representing the products assigned to each line to two dimensions, and use the two-dimensional extended decision variables to calculate the sum of the changeover times that occur on each line. In this configuration, the one-dimensional decision variable is extended to two dimensions, making it possible to express the sum of setup times using a linear equation. Therefore, the sum of possible setup times for each line can be calculated using linear programming.
[0011] (3) In the production planning apparatus of the above embodiment, the objective function calculation unit may use the sum of the production times of each line as the evaluation value of the production time, and use a value obtained by multiplying the sum of the setup times by 0.8 to 1.2 times the value obtained by dividing the number of types of products to be produced by the number of lines as the evaluation value of the total setup times, and set the sum of the evaluation value of the production time and the evaluation value of the total setup times as the objective function. In this configuration, if the weight of the production time evaluation value is set to 1, the weight of the sum of setup times will be less than 1 because the number of lines is less than the number of product types. Since the production time is longer than the setup time that occurs on each line, the weight of the production time evaluation value becomes relatively larger than the weight of the sum of setup times, resulting in the formulation of a more favorable production plan.
[0012] (4) In the production planning apparatus of the above embodiment, the calculation of the evaluation value of the production time, the calculation of the evaluation value of the sum of the setup changeover times, the maximization or minimization of the objective function, and the reallocation of products by the reallocation unit may be performed repeatedly. With this configuration, the calculation of evaluation values and objective functions, and the reallocation of products to each line are repeated, thereby formulating a more favorable production plan according to predetermined conditions such as calculation time.
[0013] Furthermore, the present invention can be realized in various forms, for example, as a production planning device, a product allocation device, a work organization device, a production planning method, a product allocation method, a work organization method, and a system comprising these devices or implementing these methods, a computer program for executing these devices or methods, a server device for distributing this computer program, a non-temporary storage medium storing the computer program, and so on. [Brief explanation of the drawing]
[0014] [Figure 1] This is a schematic block diagram of a production planning system as one embodiment of the present invention. [Figure 2] This is an illustrative diagram illustrating an example of the products a production line can produce and its cycle time. [Figure 3] This is an explanatory diagram illustrating an example of setup changeover time. [Figure 4] This is a diagram illustrating the planned production lot sizes for the products. [Figure 5] This is an explanatory diagram of the decision variables. [Figure 6] This is an explanatory diagram of the subscripts used in decision variables. [Figure 7] This is a diagram illustrating the input variables. [Figure 8] This is a diagram illustrating the four parameters used to calculate the objective function. [Figure 9] This is an explanatory diagram of the four extended decision variables. [Figure 10] This is an explanatory diagram illustrating an example of setup changeover time. [Figure 11] This is an explanatory diagram of the total changeover time. [Figure 12] This is an explanatory diagram of a method for extending a one-dimensional decision variable to two dimensions. [Figure 13] This is an explanatory diagram illustrating an example of a decision variable representing an indicator variable extended to two dimensions. [Figure 14] This is a flowchart of the production planning method according to this embodiment. [Figure 15]This is an explanatory diagram of the load time in a production plan where the weighting coefficient ratio is 1:1. [Figure 16] This is an explanatory diagram of the load time in a production plan with a weighting coefficient ratio of 1:0.2. [Figure 17] This is an explanatory diagram of the load time in the production plan for the comparative example. [Modes for carrying out the invention]
[0015] <Embodiment> Figure 1 is a schematic block diagram of a production planning system (production planning device) 100 as one embodiment of the present invention. In this embodiment, when producing multiple types of products in lot units using multiple flow shop lines, the production planning system 100 uses the sum of the setup changeover times that occur on each line as an evaluation value to formulate a production plan that assigns products to be produced on each line. Setup changeover time is the time that occurs when different types of products are produced on the same line, such as when removing jigs. The setup changeover time is determined according to the types of products produced first and the types of products produced second.
[0016] The production planning system 100 of this embodiment is composed of a so-called computer. As shown in Figure 1, the production planning system 100 includes a control unit 10, a production line database (production line DB) 21, a setup time database (setup time DB) 22, an objective function database (objective function DB) 23, an input unit 30 that accepts various operations, and an output unit 40 which consists of a monitor capable of displaying various images.
[0017] Various DBs 21-23 are composed of hard disk drives (HDDs), etc. The production line DB21 stores information about multiple production lines, the products that can be produced on each line, and the cycle time required to produce one lot of products on each line.
[0018] Figure 2 is an explanatory diagram illustrating an example of a production line, the products that each line can produce, and cycle time. Figure 2 shows a table linking 14 production lines F01-F14 (lines F01-F14), 70 product code numbers P01-P70 representing products that lines F01-F14 can produce, and the cycle time for one lot of product code P01-P70 on lines F01-F14. The cells in the table in Figure 3 contain the cycle time values. Cells without a value indicate that the corresponding line cannot produce the product. For example, product code P01 can be produced on 4 lines F01-F04, but not on the remaining 10 lines F05-F14. The cycle time for product code P01 when produced on lines F01-F04 is the same at 30 seconds. Also, product code 31 can be produced on any of the 14 lines F01-F14. On the other hand, the cycle time for product number 31 is 30 seconds for lines F01-F04 and 10 seconds for lines F05-F14. Thus, depending on the type of line, some products cannot be produced, and the cycle time changes accordingly.
[0019] The setup time database DB22 stores the setup time that occurs when different products are produced on the same line, depending on the order relationship between the product numbers. Figure 3 is an explanatory diagram of an example of setup time. In Figure 3, each row and column contains the product numbers P01 to P70, and a table is shown showing the setup time that occurs depending on the combination of product numbers whose order relationship is determined by the row and column. The numbers shown in the cells of the table represent the setup time (in seconds). For example, if the products in the order relationship are product numbers P01 and P02, the number in the cell is "0", so no setup time occurs. If the products in the order relationship are product numbers P01 and P11, the number in the cell is "0", so a setup time of 10 (seconds) occurs. In this embodiment, the setup time does not change even if the order relationship is reversed.
[0020] The objective function DB23 stores the allocation of products produced on each line and the value of the objective function that changes according to that allocation. Details of the value of the objective function will be described later, but in this embodiment, the allocation of products produced on each line is updated so that the value of the objective function is minimized.
[0021] In this embodiment, the input unit 30 acquires the number of product lots scheduled for production on lines F01 to F14. The input unit 30 consists of a keyboard, a mouse, and a microphone. For example, in response to input from the user via the keyboard and mouse, the input unit 30 acquires the number of product lots scheduled for production.
[0022] Figure 4 is an explanatory diagram of the planned production lot sizes. Figure 4 shows a list of the planned production lot sizes and the number of parts per lot for each product. The information entered by the input unit 30 is the lot size for each product. The planned production lot sizes shown in Figure 4 and the production feasibility information for products that can be produced by lines F01 to F14 shown in Figure 2 correspond to constraints.
[0023] The control unit 10 shown in Figure 1 is a so-called CPU (Central Processing Unit). The control unit 10 controls each part of the production planning system 100 by loading computer programs stored in ROM (Read Only Memory) into RAM (Random Access Memory) and executing them. The control unit 10 also functions as an information acquisition unit (acquisition unit) 11, an allocation unit (provisional allocation unit, reallocation unit) 12, a variable setting unit 13, an evaluation value calculation unit (first evaluation value calculation unit, second evaluation value calculation unit) 14, and an objective function calculation unit 15.
[0024] The information acquisition unit 11 acquires information on products that can be produced on each line stored in the production line DB 21, cycle times, changeover times stored in the changeover time DB 22, and the number of product lots of the production plan input via the input unit 30. The allocation unit 12 tentatively allocates products produced on each line to each line in lot units. In this tentative allocation, the number of product lots of the production plan and production availability information, which are constraint conditions, are not considered.
[0025] The variable setting unit 13 associates the decision variables x ij , y ij with the allocation of products produced on each line. FIG. 5 is an explanatory diagram of the decision variables x ij , y ij . FIG. 6 is an explanatory diagram of the subscripts i, j in the decision variables x ij , y ij . In FIG. 6, in addition to the subscripts i, j, the subscripts of I representing the set of product numbers, J representing the set of lines, p representing the production time (cycle time), and s representing the changeover time are explained.
[0026] FIG. 7 is an explanatory diagram of various input variables. In FIG. 7, explanations of each of the input variables set by the variable setting unit 13 are shown. The variable setting unit 13 sets four parameters using the input variables shown in FIG. 7 and the decision variables x ij , y ij . FIG. 8 is an explanatory diagram of the four parameters Tp j , Ts j , Jp j , Js j .
[0027] The objective function calculation unit 15 shown in FIG. 1 uses the parameters shown in FIG. 8 as the load time runTime j of each line in the present embodiment, and for the allocation result of products to a certain line j, the average mean(Ts j ) of the possible changeover times and the time Tp j required for productionThe following equation (1) is defined as the sum of the above. Furthermore, the objective function calculation unit 15 calculates the mean(Ts) of the setup changeover time. j ) is defined as shown in equation (2) below.
number
[0028] If the maximum load time of each line is defined as the total load time of the entire section, runTime, then the load time runTime can be expressed as shown in equation (3) below.
number
[0029] In equation (2) above, N j Ts is the set of possible setup changeover times that can occur on a particular line. j ∈N j The following relationship holds. Note that n(N j ) is N j This is the number of elements. In this embodiment, the objective function calculation unit 15 calculates the parameter Jp as an evaluation value representing the production time of line j in order to minimize the load time. j And the parameter Js is an evaluation value representing the setup changeover time for line j. j An objective function J is set, which is determined by the following equation (4). Note that the "J" on the left side of equation (4) that is minimized is different from the set of lines "J".
number
[0030] The parameter Jp of the evaluation value, which represents the production time of line j in the objective function J shown in equation (4) above. j ,Tp j These are expressed as shown in equations (5) and (6) below. The evaluation value calculation unit 14 shown in Figure 1 is the production time p representing the cycle time. ij (Figure 7) and the decision variable x ij ,y ij (Figure 5) is used to evaluate the production time, using the parameter Jpj The parameter Js represents the evaluation value of the objective function J, which is the changeover time for line j. j This will be discussed later.
number
[0031] The allocation unit 12 sets the following equations (7) and (8) which represent constraints between the lot size of each product (required product lot size) and production feasibility information. The evaluation value calculation unit 14 defines the following equations (9) and (10) as constraints for solving the flow shop allocation problem.
number
[0032] Equation (7) above represents the required production quantity d for part number i. i This represents the correct production of [product name]. Equation (8) above represents that product name i is produced on production line j. Equations (9) and (10) above represent the number of product lots of product name i assigned to line j, and the decision variable y represents the indicating variable. ij This indicates that it will be reflected in [the system / platform].
[0033] The evaluation value calculation unit 14 of this embodiment calculates the production time p, which represents the cycle time of the product. ij And the decision variable x ij ,y ij Using this, the sum of the possible setup times for each line is calculated, and the calculated sum is treated as the evaluation value of the line's setup time. The evaluation value calculation unit 14 uses a decision variable y that indicates whether or not part number i and line j are assigned. ij By extending this to a two-dimensional array, the total changeover time that may occur on line j can be calculated.
[0034] Figure 9 shows the decision variable y ij The four extended decision variables yh j ,yv j ,yhv j ,yy jThis is an explanatory diagram. Figure 10 is an explanatory diagram of an example of setup time. Figure 11 is an explanatory diagram of the total setup time that occurs depending on the product assigned to line j. The four decision variables yh shown in Figure 9 j ,yv j ,yhv j ,yy j This will be explained using an example of changeover time shown in Figure 10 and an explanatory diagram of the total changeover time shown in Figure 11.
[0035] Figure 10 shows the setup times for the order of processing of four products, A through D. In the example shown in Figure 10, the setup time does not change even if the order of processing is reversed, just as in Figure 3. For example, if product A is processed first on line j, the setup time is 0 seconds if the next product processed is product B, 2 seconds if product C, and 4 seconds if product D.
[0036] Figure 11 illustrates the concept of the sum of setup times when three products with part numbers A, C, and D, out of the four products with part numbers A to C shown in Figure 10, are assigned to line j. When three products with part numbers A, C, and D are assigned to line j, the number of combinations of processing order on line j is 6 (=3P2), including A, C, D and A, D, C. Therefore, the parameter Js for the sum of setup times on line j in the example shown in Figure 11 is... j This can be expressed as shown in equation (11) below, and the result is 16 (seconds).
[0037]
number
[0038] Figure 12 is an explanatory diagram of the method for expanding the decision variable. The evaluation value calculation unit 14 calculates the decision variable y, which represents the indicator variable when the three products A, C, and D shown in Figure 10 are assigned to line j. ijThis is represented as a 4x1 indicator variable vector shown in Figure 11(a). Subsequently, the variable setting unit 13 determines the decision variable y, which is the indicator variable vector shown in Figure 12(a). ij The decision variable yh is extended horizontally. j And the decision variable yv extended vertically j Create them as shown in Figures 12(b) and (c). The decision variable yh represents the indicator variable. j ,yv j These can be expressed as shown in equations (12) and (13) below.
[0039]
number
[0040] The variable setting unit 13 sets the decision variable yhv, which represents the intermediate variable shown in Figure 9. j As shown in equation (14) below, the decision variable yh shown in Figures 12(b) and (c) is determined by the following equation (14). j and the decision variable yv j Defined as the sum of [the two terms].
number
[0041] The variable setting unit 13 sets the decision variable yhv which represents the calculated intermediate variable. j And the decision variable yy, which represents the extended indicator variable shown in Figure 9. j To make them correspond, use the following equations (15) and (16) as the decision variable yhv j Apply to the decision variable yy j Set the following: In other words, the decision variable yh shown in Figures 12(b) and (c) j and the decision variable yv j The result of the AND operation is the decision variable yy j It corresponds to this.
[0042]
number
[0043] Figure 13 shows the decision variable yy, which represents the extended indicator variable. j This is an explanatory diagram of an example. Figure 13 shows the decision variable yy when the three products A, C, and D shown in Figure 10 are assigned to line j. j This is shown. The variable setting unit 13 is a decision variable yy that represents an extended indicator variable as shown in equation (17) below. j (For example, Figure 13) and the table of setup changeover times i , i' (For example, Figure 10) defines the sum of the element-wise products (Hadamard products). In this embodiment, the sum of the Hadamard products calculated by equation (15) is treated as an evaluation value representing the setup changeover time of line j.
number
[0044] The objective function calculation unit 15 adds the parameter Tp calculated from equations (5), (6), and (17) to equation (4) above. j ,Jp j ,Js p By substituting the values, the allocation unit 12 provisionally calculates the value of the objective function J corresponding to the allocation of products to be produced on each line. Using the above equation (7), the allocation unit 12 determines that the allocation of products to each line for which the value of the objective function J has been calculated corresponds to the required production quantity d i The allocation unit 12 determines whether the constraints based on the above are met. The allocation unit 12 also uses equation (8) above to determine whether the allocation of products to each line for which the value of the objective function J has been calculated satisfies the constraints regarding the feasibility of production for lines F01 to F14. If both equations (7) and (8) are met, the allocation unit 12 associates the calculated value of the objective function J with the allocation of products to be produced on each line and stores it in the objective function DB 23.
[0045] The allocation unit 12 creates product assignments to each line for which the value of the objective function J has been calculated, and different assignments from those for which the objective function J has been calculated. In this embodiment, the branch and bound method is used as the method for creating different assignments. For each product assignment to the created line, the parameter Tp is again calculated by the evaluation value calculation unit 14. j ,Jpj ,Js p The calculation of and the calculation of the objective function J by the objective function calculation unit 15 are repeated. In this embodiment, as the calculation of the objective function J is repeated, only the assignment with the smallest value of the objective function J is updated and stored in the objective function DB23.
[0046] Figure 14 is a flowchart of the production planning method according to this embodiment. In the production planning flow shown in Figure 14, first, the information acquisition unit 11 performs an acquisition process to acquire information about products that can be produced on each line stored in the production line DB 21, cycle time, setup time stored in the setup time DB 22, and the number of product lots to be produced (step S1). The allocation unit 12 performs a provisional allocation process to provisionally allocate the products to be produced on each line in lot units to each line (step S2).
[0047] The variable setting unit 13 sets the decision variable x in linear programming. ij ,y ij (Figure 5) is used in the decision variable setting process (step S3) to match the allocation of products produced on each line. The variable setting unit 13 uses the information acquired by the information acquisition unit 11 to set the decision variable x ij ,y ij The input variables are shown in Figure 7, and the decision variable yh is shown in Figure 9. j ,yv j ,yhv j ,yy j Set and.
[0048] The objective function calculation unit 15 sets the objective function J shown in equation (4) above (step S4). As shown in equation (4), the objective function J in this embodiment is a parameter Jp as an evaluation value representing the production time of line j. j And the parameter Js is an evaluation value representing the setup changeover time for line j. j It is the sum of the two.
[0049] The evaluation value calculation unit 14 calculates the product cycle time and the determination variable x ij ,y ijUsing these, a first evaluation value calculation step of calculating an evaluation value of the production time for each line is performed (step S5). The evaluation value calculation unit 14 uses the production time p representing the cycle time ij (Fig. 7) and the decision variables x ij , y ij (Fig. 5) to calculate the parameter Jp which is an evaluation value of the production time j .
[0050] The evaluation value calculation unit 14 uses the production time p representing the cycle time of the product ij and the decision variables x ij , y ij to perform a second evaluation value calculation step of calculating the parameter Js which is the sum of the setup change times that can occur for each line (step S6). The objective function calculation unit 15 substitutes the parameter Jp which is an evaluation value of the production time calculated by the evaluation value calculation unit 14 j and the parameter Js which is an evaluation value of the sum of the setup change times j into the above formula (4) to calculate the value of the objective function J (step S7). j The allocation unit 12 determines whether the allocation of the products to each line for which the value of the objective function J has been calculated satisfies both of the constraint conditions represented by the above formulas (7) and (8) (step S8). If it is determined that at least one of the two constraint conditions is not satisfied (step S8: NO), the process of step S10 is performed. If it is determined that both of the two constraint conditions are satisfied (step S8: YES), the calculated value of the objective function J and the allocation of the products allocated to each line are associated and stored in the objective function DB23 (step S9).
[0051]
[0052] The allocation unit 12 determines whether to end the calculation for minimizing the objective function J (step S10). The determination of the end of the calculation is made when the numerical value of the objective function J reaches a preset value or when the calculation time for minimizing the objective function J reaches a preset time. When it is determined that the calculation for minimizing the objective function J is not ended (step S10: NO), the allocation unit 12 performs a reallocation process of reallocating the products produced on each line (step S11). With the newly allocated allocation, the processes after step S5 are repeated. In the process of step S10, when it is determined that the calculation for minimizing the objective function J is ended (step S10: YES), the production plan formulation flow ends.
[0053] FIG. 15 and FIG. 16 are explanatory diagrams of the load time runTime of the production plan formulated by the production plan formulation system 100 of the present embodiment. The load time runTime of the lines F01 to F14 shown in FIGS. 15 and 16 j For the solution of the integer programming problem in, the branch and bound method by Gurobi ver 10.00 was used. Python, a programming language, used ver 3.8. The source code was implemented using the Pulp library. The time for performing the calculation, that is, 60 minutes was set as the required time set as the threshold value of step S8 in the production plan formulation flow of FIG. 14. FIG. 14 shows the weight coefficient w p for the production time shown in FIG. 7, and the weight coefficient w s for the setup change time. The ratio of is 1:1. The load time runTime j is shown. On the other hand, FIG. 15 shows the weight coefficient w p and the weight coefficient w s The ratio of is 1:1. The load time runTime j is shown.
[0054] In FIGS. 15 and 16, the load time runTime of each of the 14 lines F01 to F14 jThis is shown in bar graphs. Each bar graph represents the sum of the load time required for "Average Setup Time," "Specified Part Numbers," and "Common Part Numbers." "Average Setup Time" is the average value of the setup time that occurs on each line. "Specified Part Numbers" is the production time required to produce product lots of 30 part numbers P01 to P30, which can be produced on limited production lines as shown in Figure 2. "Common Part Numbers" is the production time required to produce product lots of 40 part numbers P31 to P70, which can be produced on any of the 14 lines F01 to F14. In the bar graphs in Figures 15 and 16, the production time for "Specified Part Numbers" is cross-hatched. "Common Part Numbers" is hatched diagonally, and "Average Setup Time" is hatched more finely than "Common Part Numbers."
[0055] When the weighting coefficient ratio shown in Figure 15 is 1:1, the maximum load time runTime among the 14 lines F01 to F14 was the load time of line F01, which was 3080 seconds. When the weighting coefficient ratio shown in Figure 16 is 1:0.2, the maximum load time runTime was the load time of line F02, which was 2910 seconds. Weighting coefficient w related to setup time in Figure 16 s (=0.2) is the value obtained by dividing the number of lines (=14) by the number of product part numbers (=70). The objective function calculation unit 15 of this embodiment calculates the weighting coefficient w of the production time included in the objective function J. p When set to 1, the weighting coefficient w is multiplied by the sum of the setup changeover times. s As such, the value obtained by dividing the number of part numbers by the number of lines is used. As shown in Figure 16, the weighting coefficient w s The weighting coefficient w related to production time is p The load time (runTime) calculated by dividing the number of lines by the number of part numbers yielded more favorable results than using the same value.
[0056] Figure 17 is an explanatory diagram of the load time (runTime) of the production plan formulated by the production planning system of the comparative example. jThis is performed by SIO, which assigns products with shorter cycle times (processing time as described in Non-Patent Document 1) to lines F01-F14.
[0057] In the comparative example, the 30 products with part numbers P01-P30, which can only be produced on limited production lines as shown in Figure 2, and the 40 products with part numbers P31-P70, which can be produced on any of the 14 lines F01-F14, are separated and then assigned to each line. When assigning a product lot to a line, an evaluation value is calculated by summing the production time and the average changeover time that would occur if the lot to be assigned were assigned to lines F01-F14. The lot is assigned to the line with the smallest evaluation value, i.e., the calculated sum. The 30 products with part numbers P01-P30, which have constraints on production feasibility, are assigned to the lines first, and then the 40 products with part numbers P31-P70, which can be produced on any line, are assigned to the lines later.
[0058] In the comparative example shown in Figure 17, the maximum load time (runTime) among the 14 lines F01 to F14 was that of line F12, which was 3147 seconds. That is, the load times (runTime) of the production plan formulated by the production planning system 100 of this embodiment, 3080 seconds (Figure 15) and 2910 seconds (Figure 16), are smaller than the load time (runTime) of the comparative example, which is 3147 seconds. Also, the time required to calculate the load time (runTime) of the comparative example was 150 minutes, which was longer than the 60 minutes in the embodiment. In other words, in this embodiment, a favorable production plan was formulated in a shorter time than in the comparative example.
[0059] As described above, in the production planning system 100 of this embodiment, the allocation unit 12 provisionally allocates the products to be produced on each line to each line in lot units. The variable setting unit 13 sets the decision variable x in linear programming. ij ,y ij This corresponds to the allocation of products produced on each line. The objective function calculation unit 15 uses parameter Jp as an evaluation value representing the production time of line j. jAnd the parameter Js is an evaluation value representing the setup changeover time for line j. j The objective function J, represented by the following equation (4), is set, determined by the above. The allocation unit 12 sets the following equations (7) and (8), which represent the constraints between the lot size of each product to be produced and the production feasibility information. The evaluation value calculation unit 14 calculates the production time p, which represents the cycle time of the product. ij And the decision variable x ij ,y ij Using this, the sum of the possible setup times for each line is calculated, and the calculated sum is treated as an evaluation value for the line's setup time. The objective function calculation unit 15 adds the parameter Tp to the above equation (4). j ,Jp j ,Js p By substituting the values, the value of the objective function J is calculated. The allocation unit 12 uses equations (7) and (8) above to determine whether the allocation of products to each line for which the value of the objective function J has been calculated satisfies the two constraints. In this embodiment, the parameter Jp represents the evaluation value of production time. j The parameter Js represents the evaluation value of the total changeover time. j The system searches for product assignments to each line that minimize the objective function J, which changes accordingly. In other words, by optimizing the evaluation values of the production time on each line and the setup time required for any possible setup changes on each line, the system searches for product assignments that result in shorter production times and setup times on each line. In this embodiment, the sum of setup times, rather than the number of setup changes or a representative value, is used as the evaluation value of the setup time set as the objective function J. Therefore, even if there is a large variation in setup times, the system can find product assignments to lines where the total production time is theoretically minimized. This allows for the creation of a production plan that is closer to the theoretically optimal production plan.
[0060] Furthermore, the variable setting unit 13 of this embodiment includes a determination variable y that indicates whether or not part number i and line j are assigned. ijBy extending this to a two-dimensional array, the sum of possible setup times for line j is calculated. In this embodiment, the one-dimensional decision variable is extended to two dimensions, making it possible to express the sum of setup times using a linear equation. Therefore, the sum of possible setup times for each line can be calculated using linear programming.
[0061] Furthermore, the objective function calculation unit 15 of this embodiment calculates the weighting coefficient w related to production time included in the objective function J. p When set to 1, the weighting coefficient w is multiplied by the sum of the setup changeover times. s As such, the value obtained by dividing the number of part numbers by the number of lines is used. In this embodiment, the weighting coefficient w of the production time evaluation value is used. p When set to 1, the number of lines is less than the number of product types, so the weighting coefficient w of the total changeover time s This value becomes less than 1. Since the production time is longer than the setup time on each line, the weight of the production time evaluation value becomes relatively larger than the weight of the sum of the setup times, resulting in the formulation of a more favorable production plan.
[0062] Furthermore, the allocation unit 12 of this embodiment creates product assignments different from those for which the value of the objective function J has been calculated. For each of the created product assignments to each line, the parameter Tp is again calculated by the evaluation value calculation unit 14. j ,Jp j ,Js p The calculation of the evaluation value and the calculation of the objective function J by the objective function calculation unit 15 are repeated. In this embodiment, the calculation of the evaluation value and the objective function J and the reallocation of products to each line are repeated, so that a more favorable production plan is formulated according to predetermined conditions such as calculation time.
[0063] <Modified examples of embodiments> The present invention is not limited to the embodiments described above, and can be implemented in various forms without departing from its spirit. For example, the following modifications are possible. Furthermore, in the above embodiments, some of the configurations implemented by hardware may be replaced with software, and conversely, some of the configurations implemented by software may be replaced with hardware.
[0064] In the above embodiment, the location of the production planning system 100, which plans production when producing 70 types of products using 14 flow shop lines, was described. However, the production planning system 100 has a parameter Jp that represents the evaluation value of production time. j The parameter Js represents the evaluation value of the total changeover time. j By minimizing or maximizing the objective function J set using these parameters, the load time runTime can be reduced, and the configuration can be modified within the range of products to be produced on each line.
[0065] The problem setting for formulating the production plan may involve fewer or more than 14 production lines, or fewer or more than 70 product types. The production feasibility information shown in Figure 2 and the planned product lot size shown in Figure 4, which serve as constraints, can also be modified. In this embodiment, the objective function J was repeatedly calculated and assigned to each line to approach its minimum value. However, it may also be set to approach its maximum value. Furthermore, "approaching" or "minimizing" does not necessarily mean converging to the theoretical minimum or maximum value, but rather approaching a more favorable production plan.
[0066] In the above embodiment, as shown in Figure 16, the weighting coefficient w for production time is p When set to 1, the weighting coefficient w is multiplied by the sum of the setup changeover times. s As such, 0.2 was used, obtained by dividing the number of part numbers (70 types) by the number of lines (14 lines). However, the weighting coefficient w for setup time sOther values besides 0.2 may be used, and as shown in Figure 15, 1 may be used. Weighting coefficient w for production time p When this is 1, the weighting coefficient for setup changeover time is w s Preferably, this value is between 0.8 and 1.2 times the value obtained by dividing the number of product variations by the number of lines.
[0067] The production planning system 100 was equipped with various databases 21-23, an input unit 30, and an output unit 40, but it is not required to have these configurations. In this case, the information acquisition unit 11 and input unit 30 of the production planning system 100 may acquire the information shown in Figures 2-4 from other databases. Also, the production planning system 100 may use a monitor or speaker as another device instead of the output unit 40 to output the planned production plan to the user.
[0068] In the above embodiment, as shown in the flowchart of Figure 14, the objective function J was set (step S4), followed by the first evaluation value calculation step (step S5) and the second evaluation value calculation step (step S6). However, the setting of the objective function J and the calculation of the objective function J (step S7) may be performed after the first and second evaluation value calculation steps have been completed. Each step can be modified within the range that allows for the calculation of the objective function J. Note that the setting of the objective function J and the calculation of the objective function J correspond to the objective function calculation step. In the reassignment step (step S11), the branch and bound method was used to assign different products, but other methods, such as the simplex method or other algorithms, may also be used.
[0069] The embodiments of this specification have been described above based on the embodiments and modifications described above. The embodiments described above are for the purpose of facilitating understanding of this specification and do not limit it. This specification may be modified and improved without departing from its spirit and the scope of the claims, and equivalents thereof are included in this specification. Furthermore, any technical features that are not described as essential in this specification may be deleted as appropriate.
[0070] The present invention can also be realized in the following forms. [Application Example 1] A production planning device for formulating a production plan when producing multiple types of products using multiple flow shop lines, An acquisition unit that acquires constraints including information on the number of products to be produced and the products that can be produced on each line, the cycle time which is the time required to produce a product on each line, and the setup changeover time that occurs when different types of products are produced on the same line. A provisional allocation section that provisionally allocates products produced on each line, A decision variable setting unit that corresponds the decision variables in linear programming to the allocation of products produced on each line, A first evaluation value calculation unit calculates an evaluation value of the production time required to produce a product on each line using the cycle time and the decision variable, A second evaluation value calculation unit calculates an evaluation value of the sum of the setup times occurring on each line using the setup time and the determination variable, An objective function calculation unit sets an objective function that changes according to the evaluation value of the production time and the evaluation value of the sum of the setup times, and calculates so that the set objective function is minimized or maximized. A reallocation unit that uses the calculated objective function value and the constraints to reassign the products produced on each line, A production planning device equipped with the following features. [Application Example 2] The production planning device described in Application Example 1, The aforementioned decision variable setting unit is a production planning device that expands the one-dimensional decision variables representing the products assigned to each line into two dimensions, and uses the two-dimensional expanded decision variables to calculate the sum of the changeover times that occur on each line. [Application Example 3] A production planning apparatus as described in Application Example 1 or Application Example 2, The aforementioned objective calculation unit, As the evaluation value for the aforementioned production time, the sum of the production times for each line is used. As an evaluation value for the sum of the aforementioned setup changeover times, the sum of the aforementioned setup changeover times is multiplied by a value that is between 0.8 and 1.2 times the value obtained by dividing the number of types of products produced by the number of lines. A production planning device that sets the sum of the evaluation value of the production time and the evaluation value of the total changeover time as the objective function. [Application Example 4] A production planning apparatus described in any one of Application Examples 1 to 3, A production planning apparatus that repeatedly performs the calculation of an evaluation value of the production time, the calculation of an evaluation value of the sum of the setup changeover times, the maximization or minimization of the objective function, and the reallocation of products by the reallocation unit. [Application Example 5] A production planning method for creating a production plan when producing multiple types of products using multiple flow shop lines, wherein a computer... A process for obtaining constraints including information on the number of products to be produced and the products that can be produced on each line, the cycle time which is the time required to produce a product on each line, and the setup changeover time that occurs when producing different types of products on the same line, A provisional allocation process for provisionally allocating products produced on each line, A decision variable setting process in linear programming, where the decision variables correspond to the allocation of products produced on each line, A first evaluation value calculation step calculates an evaluation value of the production time required to produce a product on each line using the cycle time and the determination variable, A second evaluation value calculation step calculates an evaluation value of the sum of the setup times occurring on each line using the setup time and the determination variable, A process for calculating an objective function, which involves setting an objective function that changes according to the evaluation value of the production time and the evaluation value of the sum of the setup times, and calculating the set objective function to be minimized or maximized. A reallocation process is performed using the calculated objective function value and the constraints to reassign the products produced on each line, A production planning method for executing this plan. [Application Example 6] A computer program for planning production when producing multiple types of products using multiple flow shop lines, A function to acquire constraints including the number of products to be produced and information about the products that can be produced on each line, the cycle time which is the time required to produce a product on each line, and the setup changeover time that occurs when producing different types of products on the same line. A provisional allocation function that provisionally allocates products produced on each line, A function to set decision variables in linear programming that corresponds to the allocation of products produced on each line, A first evaluation value calculation function calculates an evaluation value of the production time required to produce a product on each line using the cycle time and the decision variable, A second evaluation value calculation function calculates an evaluation value of the sum of the setup times occurring on each line using the aforementioned setup time and the aforementioned determination variable, A function for calculating an objective function that sets an objective function that changes according to the evaluation value of the production time and the evaluation value of the sum of the setup times, and calculates to minimize or maximize the set objective function. A reallocation function that uses the calculated objective function value and the aforementioned constraints to reassign the products produced on each line, A computer program that enables a computer to realize something. [Explanation of Symbols]
[0071] 10…Control Unit 11…Information acquisition unit (acquisition unit) 12… Allocation section (provisional allocation section, reallocation section) 13…Variable setting section (Decision variable setting section) 14…Evaluation value calculation unit (First evaluation value calculation unit, Second evaluation value calculation unit) 15... Objective function calculation section 30...Input section 40…Output section 100…Production planning system (production planning device) 21…Production Line Database 22…Setup Time Database 23…Objective Function Database F01~F014...Line P01~P70...Product part numbers runTime…load time w p ...weighting coefficient of production time w s ...weighting coefficient for setup changeover time yv j ...decision variable yy j ...decision variable
Claims
1. A production planning device for formulating a production plan when producing multiple types of products using multiple flow shop lines, An acquisition unit that acquires constraints including information on the number of products to be produced and the products that can be produced on each line, the cycle time which is the time required to produce a product on each line, and the setup changeover time that occurs when different types of products are produced on the same line. A provisional allocation section that provisionally allocates products produced on each line, A decision variable setting unit that corresponds the decision variables in linear programming to the allocation of products produced on each line, A first evaluation value calculation unit calculates an evaluation value of the production time required to produce a product on each line using the cycle time and the decision variable, A second evaluation value calculation unit calculates an evaluation value of the sum of the setup times occurring on each line using the setup time and the determination variable. An objective function calculation unit sets an objective function that changes according to the evaluation value of the production time and the evaluation value of the sum of the setup times, and calculates so that the set objective function is minimized or maximized. A reallocation unit that uses the calculated objective function value and the constraints to reassign the products produced on each line, A production planning device equipped with the following features.
2. A production planning apparatus according to claim 1, The aforementioned decision variable setting unit is a production planning device that expands the one-dimensional decision variables representing the products assigned to each line into two dimensions, and uses the two-dimensional expanded decision variables to calculate the sum of the changeover times that occur on each line.
3. A production planning apparatus according to claim 1, The aforementioned objective calculation unit, As the evaluation value for the aforementioned production time, the sum of the production times for each line is used. As an evaluation value for the sum of the aforementioned setup changeover times, the sum of the aforementioned setup changeover times is multiplied by a value that is between 0.8 and 1.2 times the value obtained by dividing the number of types of products produced by the number of lines. A production planning device that sets the sum of the evaluation value of the production time and the evaluation value of the total changeover time as the objective function.
4. A production planning apparatus according to any one of claims 1 to 3, A production planning apparatus that repeatedly performs the calculation of an evaluation value of the production time, the calculation of an evaluation value of the sum of the setup changeover times, the maximization or minimization of the objective function, and the reallocation of products by the reallocation unit.
5. A production planning method for creating a production plan when producing multiple types of products using multiple flow shop lines, wherein a computer... A process for obtaining constraints including information on the number of products to be produced and the products that can be produced on each line, the cycle time which is the time required to produce a product on each line, and the setup changeover time that occurs when producing different types of products on the same line. A provisional allocation process for provisionally allocating products produced on each line, A decision variable setting process in linear programming, where the decision variables correspond to the allocation of products produced on each line, A first evaluation value calculation step calculates an evaluation value of the production time required to produce a product on each line using the cycle time and the decision variable, A second evaluation value calculation step calculates an evaluation value of the sum of the setup times occurring on each line using the setup time and the determination variable, A process for calculating an objective function, which involves setting an objective function that changes according to the evaluation value of the production time and the evaluation value of the sum of the setup times, and calculating the set objective function to be minimized or maximized. A reallocation process is performed using the calculated objective function value and the constraints to reassign the products produced on each line, A production planning method for executing this plan.
6. A computer program for planning production when producing multiple types of products using multiple flow shop lines, A function to acquire constraints including the number of products to be produced and information about the products that can be produced on each line, the cycle time which is the time required to produce a product on each line, and the setup changeover time that occurs when producing different types of products on the same line. A provisional allocation function that provisionally allocates products produced on each line, A function to set decision variables in linear programming that corresponds to the allocation of products produced on each line, A first evaluation value calculation function calculates an evaluation value of the production time required to produce a product on each line using the cycle time and the decision variable, A second evaluation value calculation function calculates an evaluation value of the sum of the setup times occurring on each line using the aforementioned setup time and the aforementioned determination variable, A function for calculating an objective function that sets an objective function that changes according to the evaluation value of the production time and the evaluation value of the sum of the setup times, and calculates to minimize or maximize the set objective function. A reallocation function that uses the calculated objective function value and the aforementioned constraints to reassign the products produced on each line, A computer program that enables a computer to realize something.