The present application relates to an information processing device, a work plan determination method, and a storage medium.
A technique for generating a production plan for producing a plurality of types of production items through a plurality of works has been disclosed (for example, refer to Patent Document 1).
Patent Document 1: Japanese Laid-open Patent Publication No. 2003-84819.
According to an aspect of the embodiments, an information processing device includes one or more memories; and one or more processors coupled to the one or more memories and the one or more processors configured to specify a certain order in which a plurality of objects is processed in a work line under conditions that at least part of a plurality of works that is performed on each of the plurality of objects in the work line are different from each other among the plurality of objects, generate child individuals by evolving generations from parent individuals by a genetic algorithm, parent individuals being a certain number of individuals to which a feeding order of the part of the plurality of objects to the work line is given as input variables, acquire evaluation functions according to a plurality of objective functions for simulation results when the part of the plurality of objects are fed to the work line in the feeding order of the parent individuals and a feeding order of the child individuals, extract the certain number of individuals of which the evaluation functions satisfy a certain condition, as solutions, and repeat the generating, the acquiring, and extracting by: raising a number of objects of the plurality of objects one by one, taking over feeding history information indicating the feeding order of the parent individuals, the feeding order of the child individuals to a next generation, and histories traced by the certain number of individuals associated with one of identified numbers of the certain number of individuals, the identified numbers being added to the parent individuals as the input variables, two of the identified numbers being mated by the genetic algorithm when the generations evolve.
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.
For example, as an effort to determine a production work plan, a technique of applying a model predictive control technique and using sequential optimization in a multi-objective optimization technique is conceivable. Specifically, an approach is being considered in which a computable small number of products are calculated by an optimization solver such as a line simulator, and the feed products are successively determined. However, since the model predictive control, which is the basis of the method of sequentially determining the products, is based on single-objective optimization, the solution is supposed to be uniquely extracted from the Pareto solution group extracted by the multi-objective optimization. When there is a plurality of objective functions, a long computation time is taken to perform sequential optimization on each objective function. In addition, when a plurality of objective functions is transformed into a single objective by a weighted average or the like, it is difficult to evolve the original optimum solution group into an optimum solution by comprehensively calculating the original optimum solution group.
In one aspect, it is an object of the present invention to provide an information processing device, a work plan determination method, and a work plan determination program capable of improving the optimum solution determination accuracy while suppressing an increase in computation time.
The optimum solution determination accuracy may be improved while an increase in computation time is suppressed.
In a case where high-mix low-volume production is performed, the product variety will change many times during the day. Therefore, products of different varieties will be mixed and flowed on the same production line. In such a mixed flow production factory, conditions such as what kind of process is to be conducted and which piece of equipment is to be used differ depending on the varieties. Furthermore, how products move between buildings and between production facilities in the factory is not fixed. Meanwhile, since the processes common to many varieties are also complicatedly incorporated, many varieties merge before those processes, and traffic congestion occurs naturally. In this manner, when there are many branches and merges of product work paths, it is exceptionally important to resolve production instructions that maximize the efficiency of the entire factory, but it is also an exceptionally difficult problem.
For example, as an effort to determine a production work plan, a technique of applying a model predictive control technique and using sequential optimization in a multi-objective optimization technique is conceivable. Specifically, a computable small number of products are calculated by an optimization solver (such as a line simulator), and a first feed product is determined.
Here, an example of the line simulator will be described. First, an example of a manufacturing line model to be simulated by the line simulator will be described. The manufacturing line model contains branches and merges, and a plurality of products is fed one by one. For each of the plurality of products, a plurality of works is performed in order. At least part of the works are different between the plurality of products.
As an example, as illustrated in
The line simulator divides such a manufacturing line model into slight spaces, and executes a simple model computation such as flowing the product into the space instantly ahead when the space becomes vacant. At that time, the line simulator reads information on each product from a production master that stores information about each product. The production master stores, for example, a list of model numbers of products that have to be fed into the manufacturing line model, as illustrated in
The product fed into the manufacturing line model stays in the equipment in each process for a staying time in accordance with the information stored in the production master and passes through the equipment. As optimization indices (objective functions), the throughput time (the time from the start of feeding to when all products reach the goal), the maximum number of stores in the storage, the cost of each process, the operation rate of each piece of equipment, the delivery date compliance rate, and the like may be used.
The concept of the real-time optimization algorithm includes the following processes.
(1) As a near-future prediction, among the products to be fed into the manufacturing line model, a feeding plan for a number of (k: for example, 12) products that allow the formulation of a product feeding plan without causing an information explosion (combinatorial explosion) is optimized.
(2) In the optimized product feeding plan, a product feeding plan for the first n (for example, one) products is adopted.
(3) The products for which the product feeding plan has been determined are excluded, and the processes in (1) and (2) are repeated.
For example, the optimum solution is found for a product A, a product B, a product C, and a product D. It is assumed that this designates the product A as a first feed product. Next, the optimum solution is found for the product B, the product C, the product D, and a product E. It is assumed that this designates the product C as a second feed product. By repeating this procedure, the feeding order of the products will be designated in order from the first feed product.
This approach makes it easier to find a solution of a huge combination problem by sequentially performing optimization calculation on a number of fed productions for which finding a solution is possible and may execute multi-objective optimization at high speed. However, since the model predictive control, which is the basis of the method of sequentially determining the products, is based on single-objective optimization, the solution is supposed to be uniquely extracted from the Pareto solution group extracted by the multi-objective optimization. When there is a plurality of objective functions, a long computation time is taken to perform sequential optimization on each objective function. In addition, when a plurality of objective functions is transformed into a single objective by a weighted average or the like, it is difficult to evolve the original optimum solution group (Pareto solution) into an optimum solution by comprehensively calculating the original optimum solution group (Pareto solution).
Thus, the following embodiments will describe an information processing device, a work plan determination method, and a work plan determination program capable of improving the optimum solution determination accuracy by expanding a search space for the optimum solution while suppressing an increase in computation time.
In the present embodiment, when sequential multi-objective optimization is carried out, a product feeding history for a multi-objective solution determined in the optimization is taken over as an initial condition for determining the feeding order of the products. At that time, instead of finding with the whole feeding history as an input variable, individual numbers forming the Pareto solution that records the feeding order determined by the time of determining an instantly previous feed product is assigned as the input variable and will be reflected when the feeding order for the next generation is determined. Hereinafter, the principle of the present embodiment will be described.
For example, it is assumed that the first feed products of the individuals forming a Pareto solution are determined as illustrated in
Next, the history information at the time of determining the first feed product is taken over to and reflected in optimization calculation at the time of determining the second feed product. In the present embodiment, the determined feeding order linked with the individual number as an input variables is given as a hidden input variable to the optimization calculation at the time of determining the second feed product and is joined as an input variable at the time of the optimization calculation.
For example, when the input variable explicitly given is assumed as the feeding order, it is assumed that an input variable intended to make feeds in the order of (#1, #2, #3, #4, #5, #6) is given as the input variable that determines the feeding order, as a certain initial condition for the initial generation. Furthermore, at the time of determining the second and subsequent feed products, the hidden input variable assigned as the individual number in the Pareto solution at the time of determining the previous feed product is imparted as the hidden input variable. By using the individual number as an input variable, the number of input variables for the optimization calculation is raised by one.
When the hidden input variable (individual number) at the time of determining the second feed product is 1, the feeding order is determined such that the product with #1 as the number of the first feed product is to be fed as the history at the time of determining the first feed product. Therefore, the remaining six products determined by the explicitly indicated input variable are assumed to be fed successively after #1. In this case, the product with #7 is added by assigning the feeding order as the order of #1, #2, #3, #4, #5, #6, and #7.
Alternatively, for example, when an individual whose hidden input variable (individual number) is 4 is targeted in the feeding order that is the order of #1, #2, #3, #6, #4, and #5, the history of the individual number 4 assigns the product with #6 as the first feed product. Thus, the product with #7 is added by assigning the feeding order as the order of #6, #1, #2, #3, #7, #4, and #5 with the product numbers subsequent to #6 incremented by one. For other individuals (individual numbers 2 and 3), the product with #7 is added similarly, and the feeding order is determined as an input variable.
A simulation using a line simulator is performed on each of these individuals. This allows the objective functions to be calculated for each individual, and the evaluation function may be obtained. In the present embodiment, these are each assumed as the evaluation function of the parent individual.
When the child generation is calculated from these two parents, the next generation is determined for each input variable. For example, by mating the order of #1, #2, #3, #4, #5, and #6 and the order of #1, #2, #3, #6, #4, and #5, it is assumed that the order of #1, #2, #3, #6, #5, and #4 is determined as the input variable representing the feeding order.
Next, when determination is similarly made for the hidden input variable, the history of the child generation is calculated by mating directly the individual number as well, instead of making a determination by the feeding order history left in the history. Specifically, it is assumed that the hidden input variables of the parent 1 and the parent 2 are 1 and 4, respectively, and the individual number of the child determined from this information is 3. In this case, the history coupled with the individual number 3 is assigned as the feeding order of the child generation. Actually, since the first feed product feeding history of the individual number 3 supposes to feed #4, #4 is assigned as the first feed product, and thereafter, #1, #2, #3, #6, #5, and #4 in which the order has been adjusted are joined. Since the first feed product is #4, the order of products subsequent to #4 is incremented by one, and the feeding order of this child individual is assigned as #4, #1, #2, #3, #7, #6, and #5.
A simulation using a line simulator is performed on each child individual. This allows the objective functions to be calculated for each child individual, and the evaluation function may be obtained. In the present embodiment, these are each assumed as the evaluation function of the child individual.
From among all the parent individuals and all the child individuals, four individuals for which the best evaluation function was obtained are extracted as a Pareto solution (optimum solution group). The individual numbers (1 to 4) are attached to each of these individuals. Each optimum solution includes the feeding order of respective products, such as the first feed product and the second feed product. The individual number and the feeding order of the first feed product and the second feed product included in the individual with the individual number are saved in a database as history information. In this manner, by repeating the evolution of generations, the first feed product and the second feed product may be determined.
By repeating this determination process until the feeding order of all the products is determined, the feeding history is continuously updated on the individual number. Finally, at the time of determining the n-th feed product, the feeding histories linked with the individual numbers as in
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 nonvolatile 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 may be used as the storage device 103. The storage device 103 stores the work plan determination program. The interface 104 is an interface device between the input device 10, the display device 80, and the like. When the CPU 101 executes the work plan determination program, the optimization condition storage unit 20, the optimum solution extraction unit 30, the initial feeding order storage unit 40, the line simulator 60, the determined feeding order storage unit 50, and the production master 70 are implemented. Note that hardware such as a dedicated circuit may be used as the optimization condition storage unit 20, the optimum solution extraction unit 30, the initial feeding order storage unit 40, the line simulator 60, the determined feeding order storage unit 50, and the production master 70.
First, the optimum solution extraction unit 30 reads optimization conditions from the optimization condition storage unit 20 (step S1).
Next, the optimum solution extraction unit 30 reads the initial feeding order from the initial feeding order storage unit 40 and causes the line simulator 60 to execute the read initial feeding order (step S2).
The line simulator 60 simulates, for example, the manufacturing line model illustrated in
Next, the optimum solution extraction unit 30 evolves the obtained four parent individuals by the input number of generation evolutions. The optimum solution extraction unit 30 obtains the evaluation function by calculating the objective function 1 and the objective function 2 for each child individual. The optimum solution extraction unit 30 extracts the optimum solution group (Pareto solution) by extracting a number of optimum solutions equal to the number of individuals (four), for which the best evaluation function was obtained, from among all the parent individuals and all the child individuals (step S3). A genetic algorithm or the like may be used for evolution.
Next, the optimum solution extraction unit 30 attaches the individual numbers of 1 to 4 to each individual included in the Pareto solution and stores the first feed product and the individual number in the determined feeding order storage unit 50 as history information for each individual (step S4).
Next, the optimum solution extraction unit 30 increases the number of input variables for the optimization calculation by one (step S5). The input variable here is the individual number. That is, the optimum solution extraction unit 30 joins the individual number to the input variables used for the optimization calculation.
Next, the optimum solution extraction unit 30 reads the initial feeding order from the initial feeding order storage unit 40 and causes the line simulator 60 to execute the simulation using the initial feeding order and the individual number as initial input variables (step S6). In this case, the optimum solution extraction unit 30 assigns the feeding order including the following product (#7 at the first execution of step S6) as the initial input variables using the individual number, as described with reference to
Next, the optimum solution extraction unit 30 creates the input variables by evolving the generation from the parent individual obtained as a result of step S6 to the child individual (step S7). In step S7, the optimum solution extraction unit 30 reads the determined order information (the individual number and the determined feeding order) from the determined feeding order storage unit 50 and, as described with reference to
Next, the optimum solution extraction unit 30 causes the line simulator 60 to execute the simulation using the input variables created in step S7 (step S8). In addition, the optimum solution extraction unit 30 obtains the evaluation function by calculating the objective function 1 and the objective function 2 for each simulation result.
Next, the optimum solution extraction unit 30 verifies whether or not the evolution has been completed by the number of generation evolutions included in the optimization conditions (step S9). In the present embodiment, it is verified whether or not the evolution for ten generations has been completed.
When it is verified as “No” in step S9, the process is executed again from step S7. At the second and subsequent executions of step S7, the input variables for the next generation of the child individual are created. This will allow a simulation be performed for the next generation of the child individual. When it is verified as “Yes” in step S9, the optimum solution extraction unit 30 extracts the Pareto solution (step S10). In this case, the optimum solution extraction unit 30 extracts a number of optimum solutions equal to the number of individuals (four), for which the best evaluation function was obtained, from among all the parent individuals and all the child individuals.
Next, the optimum solution extraction unit 30 attaches the individual numbers 1 to 4 to each in the Pareto solution extracted in step S10 and stores the individual number and the feeding order of the first feed product and the second feed product included in the individual with the individual number, in the table of the determined feeding order storage unit 50 as history information. By performing in this manner, the newly determined feed product number is joined to the already determined order, and the determined order is added to the table of the determined feeding order storage unit 50 (step S11).
Next, the optimum solution extraction unit 30 verifies whether or not the order of all the products has been determined (step S12). In step S12, it is verified whether or not the order has been determined for all the products stored in the production master 70. When it is verified as “No” in step S12, the process is executed again from step S6. The product with #8 is added at the second execution of step S6, and the product with #9 is added at the third execution of step S6.
When it is verified as “Yes” in step S12, the execution of the flowchart ends. In this case, the display device 80 displays the feeding order of each individual stored in the determined feeding order storage unit 50. In this case, the value of each objective function may be displayed for each individual. By displaying the value of each objective function, the user may understand which objective function is allowed to be prioritized.
According to the present embodiment, when repeatedly executing a series of processes for determining one product feeding order by evolving the generation of the parent individual and extracting the optimum solution while raising the number of products one by one, the optimum solution extraction unit 30 ensures the feeding history information to be taken over to the next generation by linking the history traced by the extracted optimum solution with one of a number of individual numbers equal to the number of individuals, adding the individual number to the parent individual as an input variable, and mating directly the individual number by a genetic algorithm when the generations evolve. By performing in this manner, the optimum solution determination accuracy may be improved by expanding the search space for the optimum solution while the computation time is shortened.
In the above embodiment, the manufacturing line is an example of a work line in which a plurality of objects is processed in a predetermined order, a plurality of works is performed in order on each of the plurality of objects, and at least part of the works among the plurality of works are different from each other between the plurality of objects. The product is an example of the object. The optimum solution extraction unit 30 functions as an example of a solution extraction unit that executes a series of processes including: a process of generating child individuals by assigning a defined number of individuals to which a feeding order of part of the plurality of objects to the work line is given as input variables, as parent individuals, and evolving generations from the parent individuals by a genetic algorithm; a process of calculating evaluation functions according to a plurality of objective functions for simulation results when the part of the objects are fed to the work line in each feeding order of the parent individuals and the child individuals; and a process of extracting the defined number of individuals of which the evaluation functions satisfy a predetermined condition, as solutions.
While the embodiments of the present invention have been described above in detail, the present invention is not limited to such specific embodiments, and various modifications and alterations may be made within the scope of the present invention described in the claims.
All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations 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 one or more embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
This application is a continuation application of International Application PCT/JP2020/011727 filed on Mar. 17, 2020 and designated the U.S., the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2020/011727 | Mar 2020 | US |
Child | 17863436 | US |