Arithmetic processing system and arithmetic processing method
The computing system and method address the issue of missed neighborhood searches by using a particle swarm algorithm with a tabu list to ensure comprehensive searches, thereby accurately finding optimal solutions.
Patent Information
- Application Number
- JP2024052075
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-27
- Publication Date
- 2025-10-09
AI Technical Summary
The optimization method in existing systems fails to accurately find an optimal solution due to missed neighborhood searches when dealing with integer variables.
A computing system and method that utilizes a particle swarm algorithm with a no-search area configuration to avoid prohibited search areas, incorporating a tabu list to ensure comprehensive neighborhood searches are conducted.
Ensures the finding of an optimal solution without omitting neighborhood searches, enhancing the accuracy of the optimization process.
Smart Images

Figure 2025150913000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a processing system and a processing method. [Background technology]
[0002] Patent Document 1 describes a method for optimizing daily operation of a government pump station system with a variable number of pumps and variable angles based on time-optimized divisions. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Special Publication No. 2022-509112 Summary of the Invention [Problem to be solved by the invention]
[0004] The optimization method of Patent Document 1 uses an improved mixed particle swarm algorithm, but when searching for an optimal solution for integer variables, it has a problem that the optimal solution cannot be accurately found due to missed neighborhood searches. Therefore, an object of the present disclosure is to provide a processing system and a processing method that search for an optimal solution without missing neighborhood searches. The processing system of the present disclosure can be executed by machine learning artificial intelligence. [Means for solving the problem]
[0005] The computing system of the present disclosure comprises: Set a no-search area in the optimization search area, The calculation processing system performs optimization calculations using a particle swarm algorithm so as to avoid searching the prohibited search areas.
[0006] The above configuration provides a processing system that searches for an optimal solution without omission in a neighborhood search.
[0007] The computation method of the present disclosure includes: Set a forbidden area in the optimization search area, This is a calculation processing method in which an optimization calculation is performed using a particle swarm algorithm so as to avoid searching the search-prohibited area.
[0008] The above configuration provides a calculation processing method that searches for an optimal solution without omission in a neighborhood search. [Effects of the Invention]
[0009] The present disclosure provides a computing system and a computing method that searches for an optimal solution without omission in a neighborhood search. [Brief explanation of the drawings]
[0010] [Figure 1] 1 is a flowchart of a calculation processing method according to an embodiment. [Figure 2] 10 is a flowchart of an initial solution (particle position) generation module according to the embodiment. [Figure 3] 10 is a flowchart of a particle update module according to an embodiment. [Figure 4] 10 is a flowchart of an integer variable neighborhood search module according to an embodiment. [Figure 5] 10 is a flowchart of a first iteration decision according to an embodiment. [Figure 6] 10 is a flowchart of a second iteration decision according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0011] Embodiment Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the invention according to the claims is not limited to the following embodiments. Furthermore, not all of the configurations described in the embodiments are necessarily essential means for solving the problems. For clarity of explanation, the following description and drawings have been omitted and simplified as appropriate. In each drawing, the same elements are given the same reference numerals, and duplicate explanations are omitted as necessary.
[0012] (Description of the arithmetic processing method according to the embodiment) 1 is a flowchart of a calculation processing method according to an embodiment, which will be described with reference to FIG.
[0013] As shown in Fig. 1, first, the hyperparameters of the algorithm are input (step S101). The hyperparameters of the algorithm are the total number of particles, the selection range of the initial particle position, the selection range of the initial velocity, the inertia coefficient change function, the swarm optimal solution learning coefficient, the individual optimal solution learning coefficient, the tabu list size change function, the maximum number of iterations, and the convergence threshold.
[0014] Next, the initial particle position (initial solution) generation module is executed (step S102). Particles are randomly generated within the selection range of the initial particle position according to the total number of particles. After the particles are generated, an initial velocity is randomly assigned to each particle within the selection range of the initial velocity.
[0015] Next, the particle update module is executed (step S103). The fitness of each particle is calculated, and the optimal position of the individual particle and the optimal position of the entire particle are updated. When calculating the fitness, if the current solution of the integer variable is not an integer, the current solution is restored to an integer solution. The velocity of each particle is updated based on the inertia coefficient change function, the swarm and individual optimal solution learning coefficient, the particle individual historical optimal position, and the overall particle historical optimal position. Then, the position of each particle is updated according to the velocity of each particle.
[0016] Next, the integer variable neighborhood search module is executed (step S104). The current solution of the integer variable is adjusted based on the tabu list. The maximum size of the tabu list is adjusted based on the tabu list size change function. The current solution is added to the tabu list, and the oldest solutions in the tabu list are deleted according to the maximum size of the tabu list.
[0017] Next, it is determined whether the iteration stop condition is satisfied (step S105). If the maximum number of iterations is not exceeded or does not fall within the range of the convergence threshold (NO in step S105), the process returns to step S103. If the maximum number of iterations is not reached or convergence does not occur, the process returns to the particle update module. If the maximum number of iterations is reached or falls within the range of the convergence threshold (YES in step S105), output is made (step S106). If the maximum number of iterations is reached or convergence occurs, the iteration is stopped. In step S106, the optimal solution, the all-particle history optimal position, is output.
[0018] In this way, by installing an integer variable neighborhood search module, it is possible to perform forced neighborhood search of integer variables, and to avoid situations where integer variables do not converge to the optimal solution in solution space search.
[0019] (Explanation of Hyperparameter Input of Algorithm According to Embodiment) The acquisition of the hyperparameters of the algorithm (step S101) will be described. First, the number of particles is specified and the total number of particles M is acquired. Next, the range of the initial position of each particle is specified and the selection range of the initial particle position is acquired. Get TIFF2025150913000002.tif7150, where j is the variable index. Next, specify the range of initial velocity for each particle and select the initial velocity range. Get TIFF2025150913000003.tif7150. Here, j is the variable index. Next, specify the method of changing the particle velocity inertia coefficient, and set the inertia coefficient change function ω t =f(ω,t) is obtained, where ω is the initial inertia coefficient and t is the current iteration number. Next, when adjusting the speed, a coefficient is assigned to each particle to learn the historical optimal position of the whole particle, and the swarm optimal solution learning coefficient C g Next, when adjusting the speed, each particle specifies the coefficient by which it learns its own historical optimal position, and the individual optimal solution learning coefficient C p Specify the method for changing the maximum tabu list length and obtain the tabu list size change function K t= g(K,t), where K is the initial size of the tabu list and t is the current iteration number. Specify the maximum iteration number and obtain the maximum iteration number T.
[0020] (Description of Initial Solution (Particle Position) Generation Module According to the Embodiment) 2 is a flowchart of the initial solution (particle position) generation module (step S102) according to the embodiment. The initial solution (particle position) generation module according to the embodiment will be described with reference to FIG.
[0021] First, the initial position (initial solution) and initial velocity (change value of the solution) of the particle are randomly generated within a selected range (step S201). Select TIFF2025150913000004.tif6150 Randomly generate within TIFF2025150913000005.tif7150. The selection is the search area for optimization. TIFF2025150913000006.tif7150, where i is the particle index.
[0022] Also, the initial velocity of each particle and each variable Select TIFF2025150913000007.tif6150 Randomly generate within TIFF2025150913000008.tif7150, where: TIFF2025150913000009.tif7150, where i is the particle index.
[0023] Next, a tabu list for each integer variable of each particle is set (step S202). The initial setting of the tabu list is the tabu list L i,j Set to the free list.
[0024] (Description of particle update module according to embodiment) 3 is a flowchart of the particle updating module (step S103) according to the embodiment. The particle updating module according to the embodiment will be described with reference to FIG. 3. The particle updating module performs optimization calculations using a particle swarm algorithm to calculate optimal positions of particles.
[0025] As shown in Figure 3, first, the fitness of each particle is calculated, and the optimal position for each particle and the optimal position for all particles are updated (step S301). The fitness of each particle is calculated based on the objective function, and the objective function value of the current solution corresponding to each particle position is calculated. Next, when calculating the objective function value, if the current solution of an integer variable is not an integer, it is converted to the nearest integer.
[0026] The historical optimum position of the particle is updated by comparing the current fitness with the historical optimum fitness for each particle. If the current fitness is good, the historical optimum position of the particle is updated to the current solution, and the historical optimum fitness of the particle is updated to the current objective function value. A good current fitness means that it is large for a maximization problem, and small for a minimization problem. The historical optimum position is Pbest i,j where i is the particle index.
[0027] The best historical position of the whole particle is updated by comparing the best current fitness of each particle with the best historical fitness of the whole particle. If the best current fitness is better, the best historical position of the whole particle is updated to the best current solution. The best historical position is Gbest j It is expressed as:
[0028] Next, the velocity and position of each particle are updated using the optimum position for each particle and the optimum position for all particles (step S302). The velocity of each particle is updated using the following velocity update formula.
number
[0029] The position of each particle is updated using the following position update formula. TIFF2025150913000011.tif6150
[0030] (Description of Integer Variable Neighborhood Search Module According to the Embodiment) 4 is a flowchart of the integer variable neighborhood search module (step S104) according to the embodiment. The integer variable neighborhood search module according to the embodiment will be described with reference to FIG.
[0031] As shown in Figure 4, first, the current solution of particle i and variable j TIFF2025150913000012.tif6150 is acquired (step S401).
[0032] next, It is determined whether TIFF2025150913000013.tif6150 is an integer variable (step S402). If it is not an integer variable (NO in step S402), TIFF2025150913000014.tif6150 is output (step S409). If the variable to be adjusted is not an integer variable, it is output directly.
[0033] If it is an integer variable (YES in step S402), TIFF2025150913000015.tif6150 is Taboo List L i,j (Step S403). If the variable to be adjusted is an integer variable, the next step is to determine whether it is in the taboo list L. i,j is a no-search area.
[0034] If it is in the taboo list (YES in step S403), TIFF2025150913000016.tif6150 to L i,j If the current solution for the variable to be adjusted is in the taboo list, a neighborhood search is initiated. The current solution for the variable to be adjusted is updated to the feasible solution that is outside the taboo list for that variable and is closest in distance to the current solution. After updating the current solution (after step S404), TIFF2025150913000017.tif6150 to L i,j (step S405).
[0035] If it is not in the taboo list (NO in step S403), TIFF2025150913000018.tif6150 to L i,j (Step S405). If the current solution of the variable to be adjusted is not in the tabu list, the tabu list update is performed directly. In the tabu list update, the current solution of the variable to be adjusted is added to the tabu list of the corresponding variable.
[0036] After step S405, L i,j The maximum length of the tabu list is periodically adjusted (step S406). t = Adjust according to g(K,t).
[0037] After step S406, L i,j It is determined whether the current length of L is greater than the maximum length (step S407). i,j If the current length of is greater than the maximum length (YES in step S407), the earliest added integer solution is i,j (Step S408). After step S408, the process returns to step S407. If the tabu list for the variable in question is longer than a predetermined maximum length, the integer solution that was added earliest to the list is repeatedly deleted.
[0038] L i,j If the current length of is not greater than the maximum length, TIFF2025150913000019.tif6150 is output (step S409).
[0039] In this way, a calculation system and a calculation method are provided that search for an optimal solution without omission in the neighborhood search.
[0040] (Explanation of Repetitive Decision 1 According to the Embodiment) FIG. 5 is a flowchart of the iterative determination 1 (step S105) according to the embodiment. The iterative determination 1 according to the embodiment will be described while referring to FIG. 5.
[0041] As shown in FIG. 5, first, the current iteration number t and the maximum iteration number T are obtained (step S501). Next, it is determined whether t < T (step S502). If t < T (YES in step S502), 1 is added to t (step S503). After step S503, the process returns to the particle update module (step S103) (step S504). If the current iteration number t, which is the number of outputs of the current solution, is smaller than the maximum iteration number T, the iteration number is updated to t + 1, and the process returns to the particle update module.
[0042] If t ≥ T (NO in step S502), the optimal solution is output (step S505). When the current iteration number t reaches the maximum iteration number T, the optimal solution is output. The optimal solution outputs the historical optimal position of all the particles.
[0043] <Next, it is determined whether the average speed < ε (step S603). If the average speed < ε (YES in step S603), the optimal solution is output (step S607). If TIFF2025150913000021.tif6150 is smaller than the convergence threshold ε, the optimal solution is output.
[0047] If the average speed is not < ε (NO in step S603), it is determined whether t < T (step S604). If TIFF2025150913000022.tif6150 is larger than the convergence threshold ε, it enters the iterative judgment.
[0048] If t < T (YES in step S604), 1 is added to t (step S605). After step S605, it returns to the particle update module (step S103) (step S606). If the current iteration number t is smaller than the maximum iteration number T, the iteration number is updated to t + 1, and it returns to the particle update module.
[0049] If t is not < T (NO in step S604), the optimal solution is output (step S607). If the current iteration number t reaches the maximum iteration number T, the optimal solution is output. The optimal solution outputs the historical optimal position of all particles.
[0050] Iterative judgment 2 is an alternative method to iterative judgment 1. Either iterative judgment 1 or iterative judgment 2 can be selected and used.
[0051] The above method is realized by an information processing device including at least a processor that executes a program to perform processing and a memory that stores the program. The information processing device is also called an arithmetic processing system. The information processing device may be composed of one device or multiple devices. The information processing device may also be a cloud server that executes part or all of the functions in a distributed manner.
[0052] Furthermore, part or all of the processing in the information display device described above can be realized as a computer program. Such a program can be stored on various types of non-transitory computer-readable media and provided to a computer. Non-transitory computer-readable media include various types of tangible recording 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 provided to a computer by various types of temporary computer-readable media. Examples of temporary computer-readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable media can provide the program to a computer via wired communication paths such as electric wires and optical fibers, or via wireless communication paths.
[0053] The present invention is not limited to the above-described embodiment, and can be modified as appropriate within the scope of the invention.
Claims
1. Set a no-search area in the optimization search area, A calculation processing system that performs optimization calculations using a particle swarm algorithm so as to avoid searching the prohibited areas.
2. The search prohibition area is performing the optimization operation to calculate a current solution; If the current solution is in the search forbidden area, calculate an integer solution that is not in the search forbidden area and is closest to the current solution, and add the calculated integer solution to the search forbidden area; If the current solution is not in the search forbidden area, add the current solution to the search forbidden area; 2. The arithmetic processing system according to claim 1, wherein the size of the search prohibition area is set by deleting the current solution or the integer solution that was added earliest when the size of the search prohibition area exceeds a predetermined value.
3. setting a maximum number of iterations for the optimization operation; determining whether the number of outputs of the current solution is less than the maximum number of iterations; When the output number of the current solution is less than the maximum number of iterations, perform the optimization operation; 3. The processing system according to claim 2, wherein an optimal solution is output when the number of outputs of the current solution is not smaller than the maximum number of iterations.
4. setting a convergence threshold for particle velocity and a maximum number of iterations for the optimization operation; Calculate the average velocity of all particles, determining whether the average velocity is greater than the convergence threshold; outputting an optimal solution when the average velocity is not greater than the convergence threshold; When the average speed is greater than the convergence threshold, determining whether the output number of the current solution is less than the maximum number of iterations; When the output number of the current solution is less than the maximum number of iterations, perform the optimization operation; 3. The processing system according to claim 2, wherein an optimal solution is output when the output number of the current solution is not smaller than the maximum number of iterations.
5. Set a forbidden area in the optimization search area, A calculation processing method that performs optimization calculation using a particle swarm algorithm so as to avoid searching the search-prohibited area.
Citation Information
Patent Citations
A daily optimization method for variable number and angle of tidal pumping station systems based on time-optimized partitioning
JP2022509112A