Solution System

The solution-finding system distributes search resources by adjusting the search regions of less efficient units, addressing the challenge of local solution concentration and improving the speed and accuracy of combinatorial optimization problem-solving.

JP7803404B2Active Publication Date: 2026-01-21NEC CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024508857
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-22
Publication Date
2026-01-21
Estimated Expiration
2042-03-22

AI Technical Summary

Technical Problem

Existing methods for solving combinatorial optimization problems, such as those in logistics planning and drug discovery, often fail to quickly and accurately find the global optimal solution due to multiple optimization devices concentrating on local solutions rather than exploring the broader solution space.

Method used

A solution-finding system that includes multiple optimization processing units, a best solution extraction unit, and a search area modification unit, which identifies and modifies the search regions of less efficient units based on the performance of other units, ensuring a more distributed search across the solution space.

Benefits of technology

This approach allows for faster and more accurate identification of the optimal solution by avoiding concentration on local solutions, thereby enhancing the efficiency of combinatorial optimization processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007803404000001
    Figure 0007803404000001
  • Figure 0007803404000002
    Figure 0007803404000002
  • Figure 0007803404000003
    Figure 0007803404000003
Patent Text Reader

Abstract

A solution finding system 100 according to the present invention comprises: a plurality of optimization processing units 121 for finding solutions to the same optimization problem via a neighborhood search; and a selection unit for specifying, on the basis of the solutions found by the optimization processing units, a first optimization processing unit that is at least one of the optimization processing units and second optimization processing units that are the other optimization processing units, and selecting some optimization processing units among the second optimization processing units as optimization processing units to be changed in which the search region is to be changed.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a solution-finding system, a solution-finding method, and a solution-finding program. [Background technology]

[0002] A combinatorial optimization problem refers to the problem of finding the best combination that meets a given objective from a vast number of options, and it is known that a wide range of real-world issues, such as logistics planning, digital marketing, and drug discovery, can be expressed as a combinatorial optimization problem. A combinatorial optimization problem can be modeled as a problem of searching for a solution that has the best evaluation value based on some metric when a large number of candidate solutions are given. For example, in logistics planning, a combinatorial optimization problem exists in which a search is made to find the one that minimizes the total travel distance or transport time from among a large number of transportation routes.

[0003] Simulated Annealing (SA) is a common approximate solution method for combinatorial optimization problems. SA starts with a random initial solution and repeatedly transitions to nearby solutions that vary a portion of the current solution, searching the solution space to find the solution with the best evaluation value. If a nearby solution has a better evaluation value than the current solution, the system always transitions to that nearby solution. Even if the evaluation value is poor, the system transitions probabilistically, making it possible to reach a global optimum without falling into a local optimum. Figure 1 illustrates how SA solves problems. First, the search begins with a random initial solution P1. After that, the system generates and transitions to nearby solutions (solid arrows) to reach a local optimum P2. Furthermore, if the evaluation value worsens, the system transitions probabilistically (dotted arrows) to escape from the local optimum P2 and transition to solutions P3 and 4. Finally, the system reaches a global optimum P6 with the best evaluation value.

[0004] On the other hand, many combinatorial optimization problems are classified as NP-hard, and as the problem scale increases, the number of solution candidates increases explosively, making it difficult to find the optimal solution in a realistic amount of time. To address this issue, a method of running multiple SAs in parallel is considered. In this case, each SA starts its search from a different initial solution, and the final solution reached will also be different. Therefore, by adopting the solution from the SA with the best final evaluation value, it is expected that the solution accuracy will be improved compared to when searching with a single SA.

[0005] Here, Patent Document 1 describes a method for executing multiple SAs in parallel. Patent Document 1 implements cooperative operation when multiple solution search units each employ a different search algorithm. Specifically, in Patent Document 1, each solution search unit operates asynchronously, and the best solution among the solutions obtained by all the solution search units is stored. During optimization, each solution search unit compares its own solution with the best solution, and if the solutions differ, it replaces its own solution with the best solution. Thereafter, each solution search unit continues optimization again, repeating this operation. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Patent Publication No. 2021-144443 Summary of the Invention [Problem to be solved by the invention]

[0007] However, in the method of Patent Document 1, all optimization devices are used to concentrate on searching around the best solution, so even if the best solution at a certain point in time is a good solution from a local perspective, if the global optimal solution is located far away in the solution space, there is a risk that all optimization devices will concentrate around local solutions far from the optimal solution. As a result, the problem arises that the optimal solution cannot be found quickly and accurately.

[0008] Therefore, an object of the present invention is to provide a solution-finding system that can solve the above-mentioned problem of not being able to quickly and accurately find a solution to an optimization problem when multiple optimization devices that perform neighborhood searches are operated. [Means for solving the problem]

[0009] A solution system according to one aspect of the present invention comprises: a plurality of optimization processing units each solving the same optimization problem by neighborhood search; a selection unit that identifies a first optimization unit that is at least one of the optimization units and a second optimization unit that is a plurality of the other optimization units based on the solutions obtained by each of the optimization units, and selects some of the second optimization units as change-target optimization units that change the search region; Equipped with The structure is as follows.

[0010] Furthermore, a solution method according to one aspect of the present invention includes: A solution-finding method for a solution-finding system including a plurality of optimization processing units that each solve the same optimization problem by neighborhood search, comprising: Identifying at least one of the optimization processors, a first optimization processor, and a plurality of other optimization processors, a second optimization processor, based on the solutions obtained by each of the optimization processors; selecting some of the second optimization processors as change-target optimization processors that change the search region based on the solutions obtained by the respective optimization processors; The structure is as follows.

[0011] Furthermore, a program according to one aspect of the present invention includes: An information processing device having a plurality of optimization processing units each solving the same optimization problem by neighborhood search, Identifying at least one of the optimization processors, a first optimization processor, and a plurality of other optimization processors, a second optimization processor, based on the solutions obtained by each of the optimization processors; selecting some of the second optimization processors as change-target optimization processors that change the search region based on the solutions obtained by the respective optimization processors; Execute the process, The structure is as follows. [Effects of the Invention]

[0012] With the above-described configuration, the present invention can quickly and accurately find a solution to an optimization problem when a plurality of optimization devices that perform local search are operated. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 illustrates an example of an approximate solution method for an optimization problem. [Figure 2] 1 is a block diagram showing a configuration of a solution-finding system according to a first embodiment of the present invention. [Figure 3] 3 is a flowchart showing the operation of the solution-finding system disclosed in FIG. 2. [Figure 4A] FIG. 3 is a diagram illustrating an example of a solution-finding process performed by the solution-finding system disclosed in FIG. 2. [Figure 4B] FIG. 3 is a diagram illustrating an example of a solution-finding process performed by the solution-finding system disclosed in FIG. 2. [Figure 5A] FIG. 3 is a diagram illustrating an example of a solution-finding process performed by the solution-finding system disclosed in FIG. 2. [Figure 5B] FIG. 3 is a diagram illustrating an example of a solution-finding process performed by the solution-finding system disclosed in FIG. 2. [Figure 5C] FIG. 3 is a diagram illustrating a comparative example of the solution-finding process performed by the solution-finding system disclosed in FIG. 2. [Figure 6] FIG. 3 is a diagram illustrating an example of a process for generating a new search region by the solution-finding system disclosed in FIG. 2. [Figure 7]FIG. 3 is a diagram illustrating an example of a process for generating a new search region by the solution-finding system disclosed in FIG. 2. [Figure 8] FIG. 10 is a block diagram showing the hardware configuration of a solution-finding system according to a second embodiment of the present invention. [Figure 9] FIG. 10 is a block diagram showing the configuration of a solution-finding system according to a second embodiment of the present invention. [Figure 10] 10 is a flowchart showing the operation of the solution-finding system according to the second embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0014] <Embodiment 1> A first embodiment of the present invention will be described with reference to Fig. 2 to Fig. 7. Fig. 2 is a diagram for explaining the configuration of a solution-finding system, and Fig. 3 to Fig. 7 are diagrams for explaining the processing operation of the solution-finding system.

[0015] [composition] The solution-finding system of the present invention is a system that has the function of finding a solution to a combinatorial optimization problem, which is a problem of finding the best combination that meets a purpose from a huge number of options. For example, in logistics planning, the solution is used to find a solution to an optimization problem such as finding the transportation route with the shortest total travel distance or transportation time from among multiple transportation routes. However, the solution-finding system may also be used to find a solution to an optimization problem in any field, such as digital marketing or drug discovery.

[0016] The solution-finding system is composed of one or more information processing devices each equipped with a calculation device and a storage device. As shown in FIG. 2, the solution-finding system includes a plurality of optimization processing units 11, best solution extraction units 12, search information accumulation units 13, and search area modification units 14. The plurality of optimization processing units 11, best solution extraction units 12, search information accumulation units 13, and search area modification units 14 can be realized by the calculation device executing programs for realizing each function stored in the storage device. Note that although only three optimization processing units 11 are shown in FIG. 2, the number is not limited to three and any number may be provided. Each component will be described in detail below.

[0017] The optimization processor 11 has a function of optimizing the combinatorial optimization problem to be solved using a neighborhood search algorithm, using a randomly set initial solution and an evaluation value function of the solution as input. As an example, the optimization processor 11 optimizes the optimization problem using the SA (Simulated Annealing) algorithm described above with reference to FIG. 1 . In this embodiment, the initial solution and its evaluation value function input to the optimization processor 11 may be expressed in any manner. This may be a representation specific to the combinatorial optimization problem to be solved, or an Ising model or QUBO (Quadratic Unconstrained Binary Optimization), which can generally represent many combinatorial optimization problems. The optimization processor 11 may also separately input constraints for the combinatorial optimization problem to be solved. The neighborhood search algorithm used in the optimization processor 11 is not limited to the SA described above, and any algorithm, such as tabu search or hill climbing, may be used. The optimization processor 11 may perform neighborhood search processing, i.e., solution processing, in parallel with other optimization processors 11.

[0018] The optimization processor 11 generates a neighboring solution and determines whether to transition to the neighboring solution for each loop, which is one unit of the solution-finding process. The optimization processor 11 also evaluates the solution based on the solution. For example, the optimization processor 11 calculates an evaluation value using the evaluation function described above based on the solution, or calculates a satisfaction level, which indicates the degree to which the constraint conditions set are satisfied, using a preset calculation formula. The optimization processor 11 then transmits information obtained during the search process, such as the solution, its evaluation value, the degree of satisfaction of the constraint conditions, and the number of loops elapsed, to the search information aggregator 13 during the search. The optimization processor 11 may transmit information obtained during the search process to the search information aggregator 13 at any timing, such as after each loop, after a predetermined number of loops, or upon a request from the search information aggregator 13.

[0019] Furthermore, when the optimization processing unit 11 receives new search area information from the search area changing unit 14 as described below, it changes the search area to the received new search area information and then continues the optimization process. Furthermore, when the optimization processing is completed, for example, when the number of loops reaches a set upper limit or the evaluation value satisfies a criterion, the optimization processing unit 11 transmits the solution with the best evaluation value obtained in the search process to the best solution extraction unit 12.

[0020] The best solution extraction unit 12 compares the best solutions received from each optimization processing unit 11, and outputs the solution with the best evaluation value as the overall best solution.

[0021] The search information collection unit 13 (search area change unit) analyzes the search information collected from the optimization processing unit 11 and determines whether or not a change in the search area is necessary. That is, the search information collection unit 13 determines the timing indicating when to change the search area based on the search information. If a change in the search area is necessary, the search information collection unit 13 then transmits a start signal for area change and the search information to the search area change unit 14. Here, examples of the search information collected by the search information collection unit 13 from each optimization processing unit 11 include the best solution obtained so far, its evaluation value, the degree of satisfaction of constraints, and the number of loops elapsed in the optimization process. However, the search information is not limited to the information described above, and all information obtained during the search process can be search information.

[0022] For example, the search information accumulation unit 13 may periodically change the search area every certain number of loops. As an example, the search information accumulation unit 13 may change the search area every 10 loops. In this way, the search information accumulation unit 13 may decide to change the search area based on the progress of the solution-finding process of the optimization processing unit 11. Alternatively, the search information accumulation unit 13 may dynamically change the search area based on the status of all optimization processing units 11. In this case, the search information accumulation unit 13 uses statistics of search information collected from the optimization processing units 11. For example, the search information accumulation unit 13 may observe statistics of the evaluation values ​​of the solutions of all optimization processing units 11, and when the statistics of the evaluation values ​​of the solutions exceed a threshold, it determines that a search area change is necessary and decides to change the search area. Here, statistics refer to the mean, median, maximum, minimum, variance, standard deviation, etc. of the evaluation values ​​of the solutions. In this way, the search information accumulation unit 13 may decide to change the search area based on the evaluation values ​​of the solutions obtained by each optimization processing unit. However, the above-described method of determining when to change the search area by the search information accumulation unit 13 is just an example, and any method may be used.

[0023] When the search area changing unit 14 (selection unit, search area changing unit) receives the area change start signal transmitted from the search information accumulation unit 13 as described above, it performs the following four processes to change the search area of ​​the optimization processing unit 11. Specifically, the four processes by the search area changing unit 14 are a process to identify an optimization processing unit with good search efficiency (first optimization processing unit) (first process), a process to select an optimization processing unit whose search area is to be changed (change-target optimization processing unit) from among optimization processing units different from the optimization processing units with good search efficiency (second process), a process to determine a new search area based on the state of the optimization processing unit with good search efficiency (third process), and a process to send the new search area to the optimization processing unit 11 that is to be changed (fourth process).

[0024] In the first process, an optimization processor 11 (first optimization processor) having good search efficiency is identified based on the solutions obtained from each optimization processor 11. As an example, in the first process, an optimization processor 11 that is determined to have a high evaluation value of the solution, a high degree of satisfaction of the constraints, or an excellent overall evaluation of both the evaluation value and the degree of satisfaction according to a preset criterion is identified as an optimization processor having good search efficiency. In this case, the first process may identify one optimization processor 11 having the best search efficiency, or may identify multiple optimization processors 11 ranked from the top. Note that by identifying optimization processors 11 having good search efficiency in this way, the remaining optimization processors 11 are identified as optimization processors 11 having poor search efficiency (second optimization processors). In particular, as described above, it is preferable to identify a small number of optimization processors 11, such as one with the best search efficiency or multiple optimization processors 11 ranked from the top, from among multiple optimization processors 11, so that a larger number of optimization processors 11 having poor search efficiency can be identified.

[0025] In the second process, optimization processing units 11 whose search domain should be changed are selected from among the optimization processing units 11 whose search efficiency is poor in the first process. The second process uses statistics of the accumulated information collected from the optimization processing units 11 whose search efficiency is poor, such as statistical quantities (mean, median, maximum, minimum, variance, standard deviation, etc.) of the solution evaluation values ​​and the degree of satisfaction of constraint conditions. As an example, the second process evaluates the average value of the evaluation values ​​of the solutions held by all optimization processing units 11 whose search efficiency is poor, and selects optimization processing units 11 whose evaluation values ​​are poorer than a predetermined value from the average value as optimization processing units 11 whose search domain should be changed. As another example, the second process calculates the deviation value of the degree of constraint satisfaction of the solutions held by all optimization processing units 11 whose search efficiency is poor, and selects optimization processing units 11 whose deviation value is poorer than a threshold value as optimization processing units 11 whose search domain should be changed. In particular, the second processing unit selects one or more optimization processing units 11 whose search domain should be changed from among the multiple optimization processing units 11 whose search efficiency is poor, rather than selecting all of them. However, the method for selecting the optimization processing unit 11 for which the search region should be changed is not limited to the above-mentioned method, and other methods may be used.

[0026] In the third process, a new search area for the optimization processing unit 11 selected in the second process is determined based on the state of the optimization processing unit 11 with the best search efficiency identified in the first process. Here, the new search area refers to a new solution. Methods for determining a new solution in the third process include, for example, a method of using the solution of the optimization processing unit 11 with the best search efficiency identified in the first process as the new solution, a method of randomly changing part of the solution of the optimization processing unit 11 with the best search efficiency to create a new solution, and a method of combining multiple solutions from multiple optimization processing units 11 with good search efficiency to generate a new solution. However, the above-described method for determining a new solution in the third process is just one example, and other methods may also be used.

[0027] In the fourth process, the new solution determined in the third process is sent to the optimization processing unit 11 selected in the second process. This new solution overwrites the current solution in the optimization processing unit 11 whose search area has been changed. Here, in a neighborhood search algorithm typified by SA, the search area can be changed by overwriting the current solution to search for a nearby solution that is a partial change to the current solution. Note that probabilistic behavior may be added to the overwriting of the solution in each optimization processing unit 11 whose search area has been changed, i.e., to overwrite the current solution as is with a preset probability p, or to skip overwriting (not overwrite) the current solution even though it is subject to change with a probability of (1-p). This probabilistic behavior may prevent the overwriting of a solution in an optimization processing unit 11 in which the current solution is not very good but which could arrive at a very good solution if the optimization processing unit 11 continued its search.

[0028] [Operation] Next, the operation of the solution-finding system described above will be explained mainly with reference to the flowchart in FIG. 3. First, the solution-finding system inputs a randomly set initial solution to each optimization processor 11 (step S1). Then, the solution-finding system performs one loop of optimization processing using a neighborhood search algorithm in the optimization processor 11 (step S2). For example, one loop in SA refers to the generation of neighborhood solutions, calculation of evaluation values ​​for the neighborhood solutions, and determination and transition to the neighborhood solutions. Note that to avoid performing identical searches in multiple optimization processors 11, different initial solutions may be input to each optimization processor 11 in step S1, or different random number sequences may be used in each optimization processor 11 in step S2, or both may be performed.

[0029] Thereafter, the solution-finding system performs conditional branching according to the number of optimization loops that have progressed so far (step S3). For example, if the number of optimization loops that have progressed so far reaches a set upper limit (Yes in step S3), the solution-finding system collects the best solutions of each optimization processing unit 11 in the best solution extraction unit 12 and outputs an overall best solution (step S8). On the other hand, if the number of optimization loops that have progressed so far has not reached the set upper limit (No in step S3), the solution-finding system transmits search information obtained by the searches that have been performed so far by the optimization processing units 11 to the search information accumulation unit 13. The search information includes the best solution obtained so far, its evaluation value, the degree of satisfaction of the constraint conditions, the number of loops that have progressed in the optimization process, etc.

[0030] The solution-finding system then performs analysis using the search information accumulated by the search information accumulation unit 13 (step S4) and determines whether or not it is necessary to change the search region in the optimization processing unit 11 (step S5). For example, the solution-finding system may statically determine the timing of changing the search region, such as changing the search region every 10 loops of the optimization process. Alternatively, the solution-finding system may observe the variation in the solutions of all optimization processing units 11 and determine to change the search region when the variation exceeds a threshold. Alternatively, the solution-finding system may dynamically determine the timing of changing the search region based on the state of the optimization processing unit 11, such as changing the search region when the difference between the best evaluation value and the worst evaluation value exceeds a threshold.

[0031] If the search region needs to be changed (Yes in step S5), the solution-finding system selects the optimization processing unit 11 whose search region needs to be changed (step S6) and changes the search region of that optimization processing unit 11 to a new search region (step S7). Specifically, in the first process, the solution-finding system identifies the optimization processing unit 11 whose solution has a better evaluation value than the others. Then, in the second process, the solution-finding system compares the evaluation values ​​of all the optimization processing units 11 other than the optimization processing unit 11 whose solution has been determined to have a good evaluation value and identified, and selects the optimization processing unit 11 with the lowest evaluation value, etc., as the optimization region to be changed. Next, in the third process, the solution-finding system determines a new search region, i.e., a new solution, to be the same as or a modified version of the solution of the optimization processing unit 11 whose solution has been determined to have a good evaluation value and identified. Finally, in the fourth process, the solution-finding system transmits the new solution determined in the third process to the optimization processing unit 11 selected in the second process and overwrites the solution of that optimization processing unit 11 with the new solution.

[0032] Next, a specific example of the operation of the above-described solution-finding system will be described with reference to FIGS. 4A and 4B. In FIG. 4, as an example, the solution of the optimization processor 11 with the highest evaluation value is copied to the solution of the optimization processor 11 with the lowest evaluation value every 10 optimization loops. Also, in FIG. 4, four optimization processors 11 labeled with the symbols "●, ▲, ■, ◆" operate cooperatively while sharing search information. At each timing indicated by symbols L1 to L6 in FIG. 4, the left diagram shows the evaluation value of the solution of each optimization processor 11, and the right diagram shows the positional relationship of the solutions of each optimization processor 11 in the solution evaluation value function. Here, the lower the evaluation value of a solution, the higher its evaluation and the better the solution.

[0033] First, as shown by symbol L1 in Figure 4A, a randomly set initial solution is input to each optimization processor 11. After that, after 10 optimization loops in each optimization processor 11, the state shown by symbol L2 is reached. At this point, the optimization processor ◆(V) has the best evaluation value (evaluation value 6.5), and the optimization processor ▲(W) has the worst evaluation value (evaluation value 8.5). Therefore, as shown by symbol L3, the solution of optimization processor ◆(V) is copied to optimization processor ▲(W). This changes the search area of ​​optimization processor ▲.

[0034] After 10 more optimization loops, the state reaches symbol L4 in Figure 4B. Note that because optimization processors ◆ and ▲ use different random number sequences, even if they reach the same state at symbol L3, their subsequent searches will be different. At symbol L4, the best evaluation value is optimization processor ■ (V), and the worst is optimization processor ● (W). Therefore, as shown by symbol L5, the solution of optimization processor ■ (V) is copied to optimization processor ● (W), changing the search area of ​​optimization processor ●. After 10 more optimization loops, the state reaches symbol L6. In this example, optimization processor ● reaches the global optimal solution, and optimization ends.

[0035] As shown in the specific examples of Figures 4A and 4B, in the solution-finding system of the present invention, the optimization processing units 11 operating in parallel share search information during the search process, making it possible to allocate resources to promising areas near the optimal solution and perform the search in a focused manner.

[0036] Next, the operation of the solution-finding system of the present invention will be compared with the operation of a configuration different from the present invention. Figures 5A and 5B are both examples of the operation of the present invention. Figure 5A shows an example of operation when there is one optimization processor 11 to be changed in the search region, and Figure 5B shows an example of operation when there are multiple (here, two) optimization processors 11 to be changed in the search region. Figure 5C also shows an example of operation of a configuration different from the present invention.

[0037] Specifically, Fig. 5A shows an example of operation in a design in which the solution (V) of the optimization processor 11 with the highest evaluation value is overwritten on the solution (W) of the optimization processor 11 with the lowest evaluation value, with the states changing as shown by symbols A1 to A4. Fig. 5B shows an example of operation in a design in which the solution (V) of the optimization processor 11 with the highest evaluation value is overwritten on solutions (W1, W2) of the optimization processors 11 with the two lowest evaluation values, with the states changing as shown by symbols B1 to B4. Fig. 5C shows, as a comparative example, an example of operation in a design in which the solution (V) of the optimization processor 11 with the highest evaluation value is overwritten on solutions of all optimization processors 11 except the one with the highest evaluation value.

[0038] First, looking at the operation of the comparative example shown in Figure 5C, i.e., the state where the symbol C1 changes to C2, we can see that search resources are concentrated near the local solution. In contrast, in Figures 5A and 5B, which are design examples of the present invention, we can see that the solution space is searched more widely and distributed. In other words, the present invention can avoid a situation where search resources are overly concentrated on the local solution. As a result, it is possible to quickly and accurately find a solution to the optimization problem.

[0039] Note that the degree of concentration / dispersion of the search differs between Figures 5A and 5B. For example, Figure 5A searches a solution space in a more widely dispersed manner, while Figure 5B searches a narrower range in a concentrated manner. In this way, the search area change unit 14 can flexibly select the area to be changed using the accumulated information of multiple optimization processing units 11, excluding optimization processing units with good search efficiency. In this way, the present invention can control the degree of concentration / dispersion of search resources, thereby avoiding situations where search resources are overly concentrated on local solutions. As a result, solutions to optimization problems can be found more quickly and accurately.

[0040] In the above, an example has been described in which the solution of the optimization processor with the highest evaluation value is used as a new search area and overwritten on the optimization processor 11 to be changed. However, a modified example of the new search area will now be described. For example, methods for determining the new search area include a method of randomly changing part of the solution of the optimization processor 11 with the highest search efficiency to create a new solution, and a method of combining solutions of multiple optimization processors 11 with high search efficiency to generate a new solution. An example of the former is shown in FIG. 6, and an example of the latter is shown in FIG. 7. In these examples, the solution information is held as a sequence of binary variables that take on a value of 0 or 1.

[0041] Figure 6 shows an example in which a new solution is generated by randomly fluctuating part of the solution with the best evaluation value. By inverting the 0 or 1 value of a randomly selected bit, the area around the good solution can be made into a new search area. Figure 7 shows an example in which a majority vote is taken for each bit of the top three solutions in evaluation value to generate a new solution. This makes it possible to incorporate patterns commonly contained in good solutions into the new solution, and to make a solution different from the original top three into the new search area.

[0042] <Embodiment 2> Next, a second embodiment of the present invention will be described with reference to Fig. 8 to Fig. 10. Fig. 8 to Fig. 9 are block diagrams showing the configuration of a solution-finding system in the second embodiment, and Fig. 10 is a flowchart showing the operation of the solution-finding system. Note that this embodiment shows an outline of the configuration of the solution-finding system and solution-finding method described in the above-mentioned embodiments.

[0043] First, the hardware configuration of the solution-finding system 100 in this embodiment will be described with reference to Fig. 8. The solution-finding system 100 is configured with a general information processing device, and is equipped with the following hardware configuration, as an example. ·CPU(Central Processing Unit)101(Arithmetic unit) ROM (Read Only Memory) 102 (storage device) RAM (Random Access Memory) 103 (storage device) Programs 104 loaded into RAM 103 A storage device 105 for storing a group of programs 104 A drive device 106 that reads and writes from a storage medium 110 external to the information processing device A communication interface 107 that connects to a communication network 111 outside the information processing device Input / output interface 108 for inputting and outputting data Bus 109 connecting each component

[0044] The solution-finding system 100 can be equipped with an optimization processing unit 121 and a selection unit 122 shown in Fig. 9 by having the CPU 101 acquire and execute the group of programs 104. The group of programs 104 is stored in advance in the storage device 105 or the ROM 102, for example, and is loaded into the RAM 103 and executed by the CPU 101 as needed. The group of programs 104 may be supplied to the CPU 101 via the communication network 111, or may be stored in advance in the storage medium 110, with the drive device 106 reading out the programs and supplying them to the CPU 101. However, the optimization processing unit 121 and the selection unit 122 described above may be constructed using electronic circuits dedicated to realizing such means.

[0045] 8 shows an example of the hardware configuration of the information processing device that is the solution-finding system 100, and the hardware configuration of the information processing device is not limited to the above-described case. For example, the information processing device may be configured with only a part of the above-described configuration, such as excluding the drive device 106.

[0046] The solution-finding system 100 then executes the solution-finding method shown in the flowchart of FIG. 10 using the functions of the optimization processor 121 and the selector 122, which are constructed by the program as described above.

[0047] As shown in FIG. 10, the solution-finding system 100 Based on the solutions obtained by the optimization units 121, at least one optimization unit 121, which is a first optimization unit, and the other multiple optimization units 121, which are second optimization units, are identified (step S101). A part of the second optimization processors 121 is selected as a change target optimization processor that changes the search region (step S102). The following process is executed.

[0048] With the above configuration, the present invention can control the degree of concentration or dispersion of search, and can avoid situations where search resources are concentrated too much on local solutions, thereby enabling faster and more accurate solutions to optimization problems.

[0049] The above-described program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)). The program may also be supplied to a computer by various types of transitory computer-readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transitory computer-readable media can supply the program to a computer via a wired communication path such as an electric wire or optical fiber, or via a wireless communication path.

[0050] Although the present invention has been described above with reference to the above-described embodiments, the present invention is not limited to the above-described embodiments. Various modifications that are understandable to those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. Furthermore, at least one or more of the functions of the optimization processing unit 121 and the selection unit 122 described above may be executed by an information processing device installed and connected anywhere on a network, i.e., may be executed by so-called cloud computing.

[0051] <Additional Notes> A part or all of the above-described embodiments can be described as follows: The following provides an overview of the configurations of the solution-finding system, solution-finding method, and program of the present invention. However, the present invention is not limited to the following configurations. (Appendix 1) a plurality of optimization processing units each solving the same optimization problem by neighborhood search; a selection unit that identifies a first optimization unit that is at least one of the optimization units and a second optimization unit that is a plurality of the other optimization units based on the solutions obtained by each of the optimization units, and selects some of the second optimization units as change-target optimization units that change the search region; Equipped with Solution system. (Appendix 2) 2. The solution system of claim 1, the selection unit identifies the first optimization processing unit and the second optimization processing unit based on an evaluation of the solutions obtained by each of the optimization processing units according to a preset criterion, and selects the change-target optimization processing unit. Solution system. (Appendix 3) 3. The solution system of claim 2, the selection unit identifies the optimization processing unit whose evaluation of the solution is judged to be good according to a preset criterion as the first optimization processing unit, and identifies the other multiple optimization processing units as the second optimization processing units. Solution system. (Appendix 4) 4. The solution system according to claim 2, further comprising: the selection unit selects the change-target optimization processing unit based on a comparison result of the evaluation of a plurality of solutions obtained by the plurality of optimization processing units identified as the second optimization processing units. Solution system. (Appendix 5) 5. The solution-finding system according to any one of Supplementary Notes 1 to 4, a search area change unit that determines a solution generated based on the solution of the first optimization processing unit as a new search area and changes the search area of ​​the change object optimization processing unit to the new search area; Solution system. (Appendix 6) 6. The solution system of claim 5, the search area change unit determines, as the new search area, a solution generated based on a plurality of solutions obtained by the plurality of optimization processing units identified as the first optimization processing unit; Solution system. (Appendix 7) 7. The solution system of claim 6, the search area change unit determines, as the new search area, a solution that combines a portion of each of a plurality of solutions obtained by the plurality of optimization processing units identified as the first optimization processing unit; Solution system. (Appendix 8) 6. The solution system of claim 5, the search area change unit determines, as the new search area, a solution obtained by changing a part of the solution obtained by the one optimization processing unit identified as the first optimization processing unit; Solution system. (Appendix 9) 9. The solution-finding system according to any one of Supplementary Notes 5 to 8, the search area change unit changes the search area of ​​the change object optimization processing unit to the new search area with a preset probability; Solution system. (Appendix 10) 10. The solution-finding system according to any one of Supplementary Notes 5 to 9, the search area change unit determines a time to change the search area of ​​the change object optimization unit based on the progress of the solution-finding process by the optimization unit. Solution system. (Appendix 11) 11. The solution-finding system according to any one of Supplementary Notes 5 to 10, the search area change unit determines the timing for changing the search area of ​​the change target optimization unit based on an evaluation of the solutions obtained by each of the optimization processing units according to a preset criterion. Solution system. (Appendix 12) A solution-finding method for a solution-finding system including a plurality of optimization processing units that each solve the same optimization problem by neighborhood search, comprising: Identifying at least one of the optimization processors, a first optimization processor, and a plurality of other optimization processors, a second optimization processor, based on the solutions obtained by each of the optimization processors; selecting some of the second optimization processors as change-target optimization processors that change the search region based on the solutions obtained by the respective optimization processors; Solution method. (Appendix 13) An information processing device having a plurality of optimization processing units each solving the same optimization problem by neighborhood search, Identifying at least one of the optimization processors, a first optimization processor, and a plurality of other optimization processors, a second optimization processor, based on the solutions obtained by each of the optimization processors; selecting some of the second optimization processors as change-target optimization processors that change the search region based on the solutions obtained by the respective optimization processors; A computer-readable storage medium that stores a program for executing a process. [Explanation of symbols]

[0052] 11 Optimization processing section 12 Best solution extraction part 13. Search Information Collection Department 14 Search area change section 100 Solution System 101 CPU 102 ROM 103 RAM 104 Programs 105 Storage device 106 Drive device 107 Communication Interface 108 Input / Output Interface 109 Bus 110 Storage medium 111 Communication Network 121 Optimization processing section 122 Selection section

Claims

1. a plurality of optimization processing units each solving the same optimization problem by neighborhood search; a selection unit that identifies a first optimization unit that is at least one of the optimization units and a second optimization unit that is a plurality of the other optimization units based on the solutions obtained by each of the optimization units, and selects some of the second optimization units as change-target optimization units that change the search region; Equipped with the selection unit identifies the first optimization processing unit and the second optimization processing unit based on an evaluation of the solutions obtained by each of the optimization processing units according to a preset criterion, and selects the change-target optimization processing unit based on a comparison result of the evaluation of the plurality of solutions obtained by the plurality of optimization processing units identified as the second optimization processing units. Solution system.

2. A solution-finding system according to claim 1, the selection unit identifies a predetermined number of the optimization processing units having solutions obtained by the optimization processing units each having a high evaluation based on a preset criterion as the first optimization processing units, and identifies the remaining multiple optimization processing units as the second optimization processing units, and further selects the second optimization processing unit having a low evaluation based on a preset criterion as the change-target optimization processing unit based on statistics of the evaluations of the solutions obtained by the multiple optimization processing units identified as the second optimization processing units. Solution system.

3. A solution-finding system according to claim 2, the selection unit selects, as the change-target optimization processing unit, the second optimization processing unit whose evaluation is lower by a predetermined value or more than an average value of the evaluations of the plurality of solutions respectively obtained by the plurality of optimization processing units identified as the second optimization processing unit. Solution system.

4. 2. The solution system of claim 1, a search area change unit that determines a solution generated based on the solution of the first optimization unit as a new search area and changes the search area of ​​the change object optimization unit to the new search area; the search area change unit determines a time to change the search area of ​​the change target optimization unit based on the evaluation statistics of the plurality of solutions obtained by each of the optimization processing units. Solution system.

5. 5. The solution-finding system according to claim 4, the search area change unit determines, as the new search area, a solution generated based on a plurality of solutions obtained by the plurality of optimization processing units identified as the first optimization processing unit; Solution system.

6. 6. The solution-finding system according to claim 4 or 5, the search area change unit determines a time to change the search area of ​​the change object optimization unit based on the progress of the solution-finding process by the optimization unit. Solution system.

7. A solution-finding method for a solution-finding system including a plurality of optimization processing units that each solve the same optimization problem by neighborhood search, comprising: When identifying a first optimization processing unit, which is at least one of the optimization processing units, and a second optimization processing unit, which is a plurality of other optimization processing units, based on the solutions obtained by each of the optimization processing units, the first optimization processing unit and the second optimization processing unit are identified based on an evaluation of the solutions obtained by each of the optimization processing units according to a preset criterion; when selecting some of the second optimization processing units as change object optimization processing units that change the search region based on the solutions obtained by each of the optimization processing units, selecting the change object optimization processing units based on a comparison result of the evaluation of a plurality of solutions obtained by each of the plurality of optimization processing units identified as the second optimization processing units; Solution method.

8. A solution method according to claim 7, comprising: a predetermined number of the optimization processing units having solutions obtained by the respective optimization processing units with the highest evaluations according to a preset criterion are identified as the first optimization processing units, and the remaining multiple optimization processing units are identified as the second optimization processing units, and based on the statistics of the evaluations of the solutions obtained by the multiple optimization processing units identified as the second optimization processing units, the second optimization processing unit having the lowest evaluation according to a preset criterion is selected as the optimization processing unit to be changed; Solution method.

9. A solution method according to claim 7, comprising: determining a solution generated based on the solution of the first optimization processing unit as a new search area, changing the search area of ​​the change object optimization processing unit to the new search area, and determining the timing to change the search area of ​​the change object optimization processing unit based on the evaluation statistics of the multiple solutions respectively obtained by each of the optimization processing units; Solution method.

10. An information processing device having a plurality of optimization processing units each solving the same optimization problem by neighborhood search, When identifying a first optimization processing unit, which is at least one of the optimization processing units, and a second optimization processing unit, which is a plurality of other optimization processing units, based on the solutions obtained by each of the optimization processing units, the first optimization processing unit and the second optimization processing unit are identified based on an evaluation of the solutions obtained by each of the optimization processing units according to a preset criterion; when selecting some of the second optimization processing units as change object optimization processing units that change the search region based on the solutions obtained by each of the optimization processing units, selecting the change object optimization processing units based on a comparison result of the evaluation of a plurality of solutions obtained by each of the plurality of optimization processing units identified as the second optimization processing units; A program for executing a process.

Citation Information

Patent Citations

  • Method and device for planning schedule

    JP1995262016A

  • Optimization method, optimization device, program and image processing apparatus

    JP2017162069A

  • Information processing system, information processing method, and program

    JP2021144443A

  • FPGA Simulated Annealing Accelerator

    US20090319253A1