Multi-task robot allocation method based on self-organizing mapping genetic algorithm
By introducing a self-organized mapping mechanism into the genetic algorithm, the diversity solution of multi-robot task allocation problems is achieved, and the problem that it is difficult for a simple genetic algorithm to solve multiple local optimal solutions is solved, and a more efficient multi-task robot allocation strategy is realized.
Patent Information
- Application Number
- CN202411476187.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-22
- Publication Date
- 2025-02-14
AI Technical Summary
When using genetic algorithms to solve the multi-robot task allocation problem, the solutions are insufficient, making it difficult to solve multiple local optimal solutions at the same time.
The self-organized mapping mechanism is introduced into the genetic algorithm, unsupervised learning is carried out through self-organized mapping, and cross-region rules are set according to the mapping relationship to ensure the multi-directional development of the population in the evolution process.
The diversity of populations is improved through self-organizing mapping, allowing the genetic algorithm to iterate in multiple directions to obtain multiple local optimal solutions, and solve the problem of insufficient diversity in understanding.
Smart Images

Figure CN119443606A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of task allocation, and in particular relates to a multi-task robot allocation method based on a self-organizing map genetic algorithm. Background Art
[0002] The task allocation problem is a typical combinatorial optimization problem. Its purpose is to find the most reasonable resource allocation plan for several tasks in order to achieve the overall system goals of improving efficiency, saving costs, rationally allocating resources or optimizing utility. The multi-robot task allocation problem belongs to the task allocation problem, which can be described as follows: there is a group of robots and a group of tasks. Each robot can complete multiple tasks, and each task can also be completed by multiple robots in cooperation. Each robot has multiple capability attributes such as read and write, and different robots have their specific costs and efficiencies. Each task contains multiple robot execution requirements such as the need to be read and the need to be written. In a specific area, tasks can only be performed by robots that are assigned to the working distance range and match the task type. Find the robot combination with the minimum total cost or the highest efficiency required to complete this group of tasks.
[0003] Genetic Algorithms (GA) is one of the commonly used algorithms for solving combinatorial optimization problems. It is an algorithm inspired by the theory of natural selection and biological genetic mechanisms. Its basic principle simulates the inheritance, crossover and mutation process in biological evolution. It gradually optimizes the individuals in the solution space through continuous iteration and evolution to find the optimal solution or approximate optimal solution. The algorithm process is as follows: Figure 1 The algorithm first initializes a primary population, and each individual in the population represents a potential solution to the combinatorial optimization problem. The chromosomes of these individuals are represented by a certain encoding method (such as real number encoding, binary encoding). For each individual in the population, its fitness is calculated based on the objective function of the problem, that is, the degree of superiority of the individual in the problem solution space. Then selection, crossover recombination, and mutation are performed to produce a better population. After multiple selection, crossover, and mutation operations, the individuals in the population gradually tend to the optimal individual.
[0004] To solve the multi-robot task allocation problem, we first establish a mathematical model of the problem. The existing solution is to set the decision variable x of the problem as the number of robots used, assuming that its objective function is to minimize the robot cost. The first constraint is that the number of robots allocated to each type must be less than the upper limit ub of the number of robots corresponding to that type. Secondly, the total value of the read and write capability values of the allocated robots must be greater than the capability requirements of the task at this stage, read_req and write_req. The basic expression of the model is as follows (1).
[0005] After the model is established, a genetic algorithm is used to solve it.
[0006]
[0007] Self-Organizing Map (SOM) is a neural network model developed under the framework of unsupervised learning. It is a powerful data dimension reduction and representation tool. Through training iterations, the input sample data is mapped to neurons. The network gradually learns the distribution of the input data, realizes local topological mapping, completes the mapping of input data and neurons, and finally achieves the effect of clustering.
[0008] There are some shortcomings in using genetic algorithms alone to solve multi-robot task problems. First, the solutions obtained lack diversity. During the iteration process of the genetic algorithm, the candidate population will gradually converge, and eventually there will be no difference between the individuals in the population, and only one strategy will be generated. Secondly, many combinatorial optimization problems in reality have multiple local optimal solutions, and we often need multiple different local optimal strategies. It is difficult to solve multiple local optimal solutions at the same time using genetic algorithms alone. Summary of the invention
[0009] In order to solve the above-mentioned shortcomings in solving the multi-task robot allocation problem, the inventors, after extensive research, introduced the self-organizing map mechanism into the genetic algorithm and invented a multi-task robot allocation method based on the self-organizing map genetic algorithm. The specific method is to embed the self-organizing map into the genetic algorithm solution process. By modeling the multi-task robot allocation problem, the final allocation solution is solved as a population individual with high-dimensional characteristics. At the beginning of each generation of population evolution, all candidate individuals are subjected to unsupervised learning of self-organizing maps to obtain the mapping relationship between each candidate individual and the self-organizing neuron, so as to realize the classification of the population, and set the crossover rules between individuals based on the mapping relationship:
[0010] 1. Individuals activated by the same neuron can cross over;
[0011] 2. Individuals whose distances between neurons corresponding to them are less than the isolation distance can cross over;
[0012] 3. Cross-recombination is not allowed between other individuals.
[0013] In the process of evolution, based on these crossover rules, the crossover recombination between individuals in the population is within a certain range, ensuring the diversity of population categories in the process of evolution, so that the population can evolve and iterate in different directions with a high probability to obtain multiple local optimal populations, ensuring the diversity of solutions. The self-organizing map population classification mechanism can maintain multiple different candidate strategies during the evolutionary iteration of the genetic algorithm, supporting the diversified output of the robot allocation strategy.
[0014] The present invention adopts the following technical solution: designing a multi-task robot allocation method based on self-organizing map genetic algorithm, comprising the following steps:
[0015] S1 embeds the self-organizing map into the genetic algorithm solution process, and through modeling the multi-task robot allocation problem, the final allocation solution is solved as a population of individuals with high-dimensional characteristics;
[0016] The S2 population gradually evolves to the optimal population through iterative evolution. The evolution includes individual selection, crossover recombination, and mutation stages. At the beginning of each generation of population evolution, all candidate individuals are subjected to unsupervised learning of self-organizing maps to obtain the mapping relationship between each candidate individual and the self-organizing neuron, thereby realizing population classification.
[0017] S3 sets the crossover rules between individuals based on the mapping relationship; during the evolution process, based on the crossover rules, the crossover recombination between individuals in the population is within a certain range, ensuring the diversity of population categories in the evolution process, so that the population can evolve and iterate in different directions with a high probability to obtain multiple local optimal populations, ensuring the diversity of solutions.
[0018] Preferably, in step S1, modeling includes the following aspects: (1) setting the decision variable of the problem to the number of each type of robot used; (2) setting the objective function of the problem to minimize the cost of using robot equipment; (3) setting the constraints as follows: first, the number of each type of robot allocated must be less than the total number of corresponding robots; second, the total value of the allocated robot capability must be greater than the capability requirement of the task at this stage; finally, adding matching constraints on the robot position, distance and type with the task; (4) The robot allocation scheme is modeled as an individual in the population, and the initial population contains several individuals, that is, there are several robot allocation schemes.
[0019] Preferably, in step S3, the crossover rule is: individuals activated by the same neuron can cross over, individuals whose corresponding neurons are at a distance less than the isolation distance can cross over, and individuals other than the above two types cannot cross over and recombine.
[0020] Furthermore, the algorithm solves the problem with a population of N individuals as input, each individual is assigned a strategy for a robot, and the output is M optimal strategies; the algorithm iteration termination condition is that the number of iterations reaches a certain maximum number of iterations, or the objective function value is less than a certain stagnation threshold after a sufficient number of iterations.
[0021] Furthermore, the self-organizing map function first creates a two-dimensional competitive layer network with a length of x and a width of y. The neuron nodes in the network are arranged in a rectangular shape. The input layer is a population of individuals of a d-dimensional vector, where the dimension d is the number of robot types. A connection weight weight is formed between each element i of each vector of the input layer and the neuron node j of the competitive layer. ij , the weight vector of neuron node j has d connection weights weight 1j , weight 2j , …, weight dj .
[0022] Furthermore, the weight vector of neuron node j is randomly initialized, and then training is started. In the training stage, an individual X in the population is randomly sampled, and the Euclidean distance between the individual X and the weight vector of neuron node j is calculated. The best matching node between individual X and neuron node j is found according to the Euclidean distance, and the best matching node is the winning node; the number of neuron nodes included in the best neighborhood is determined according to the neighborhood radius σ, and the weight vectors corresponding to the number of neuron nodes in the neighborhood are updated through the neighborhood function.
[0023] Furthermore, the neighborhood function selects a Gaussian function to determine the influence of a certain node on its neighborhood nodes and the update amplitude of each node in the neighborhood; when the neighborhood radius σ is large, the update amplitude decays slowly, and even the edge nodes have a large update amplitude; when the neighborhood radius σ is very small, the winning node has a large update amplitude, and the remaining nodes are almost not updated.
[0024] Furthermore, the neighborhood radius σ and the learning rate lr decay with the number of iterations t. After completing one round of iterations, the training cycle continues until the set number of iterations is met and the training ends.
[0025] Furthermore, after self-organizing mapping, individuals in the population are mapped to different neurons, and labels corresponding to the neurons are generated to achieve classification of individuals in the population; populations with large category differences cannot cross-recombination, resulting in reproductive isolation; similar category populations undergo cross-recombination, mutation, and selection operations to generate a new generation of populations, and after merging these populations, it is determined whether the population meets the termination conditions: if the new generation of population does not meet all the termination conditions, it continues to be classified using self-organizing mapping and evolves iteratively; if the termination conditions are met, a clustering algorithm is used to generate k groups with a specified number of categories as k, and the individual with the highest fitness is found in each group, and the optimal individual of each of the k groups is returned to achieve multiple local optimal allocation strategies for the robot.
[0026] Preferably, the clustering algorithm adopts one of Kmeans, DBSCAN, and OPTICS.
[0027] Compared with the prior art, the present invention has the following beneficial effects:
[0028] 1. The present invention proposes the concept of genetic algorithm population diversity.
[0029] 2. The present invention adds self-organizing maps in the iterative process of the genetic algorithm to ensure the multi-directional evolution of the population, thereby generating multiple local optimal strategies. Compared with the genetic clustering algorithm based on self-organizing maps, the problems solved and the solution steps are completely different. The latter solves the clustering problem, while the present invention solves a type of integer programming problem. The latter uses self-organizing maps to compress and reduce the dimension of the original data, thereby reducing the search space and helping the genetic algorithm to achieve a solution in a smaller search space. The present invention performs self-organizing maps in the iterative process of the genetic algorithm to achieve population classification and multi-directional evolution, thereby achieving the diversity of the solution results.
[0030] 3. The present invention adopts a multi-robot task allocation strategy based on a self-organizing map genetic algorithm. Compared with the traditional method of simply using a genetic algorithm to allocate tasks, in the process of generating a better new population in each iteration, the population is self-organizing mapped so that individuals in the population correspond to different neurons, thereby realizing unsupervised classification of individuals in the population. Individuals mapped to the same or similar neurons can be cross-operated, and when the gradual convergence ends, the populations corresponding to different neurons can be solved. By searching for the best individuals in multiple populations, multiple local optimal strategies can be obtained, thereby ensuring the diversity of robot task allocation strategies. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Figure 1 It is a flow chart of the genetic algorithm in the background technology.
[0032] Figure 2 It is a network structure diagram of the self-organizing map in Example 1 of the present invention.
[0033] Figure 3 It is a schematic diagram of the self-organizing map learning process in Example 1 of the present invention.
[0034] Figure 4 This is a flowchart of the execution of the self-organizing map genetic algorithm in Example 1 of the present invention.
[0035] Figure 5 It is a heat map of the average distance between each neuron and adjacent neurons in the self-organizing map neural network in Example 1 of the present invention.
[0036] Figure 6 4 is a diagram showing the corresponding relationship between the number of candidate robot strategies and the self-organizing map neurons in Example 1 of the present invention.
[0037] Figure 7It is a comparison diagram between the self-organizing map genetic algorithm and the traditional genetic algorithm in Example 1 of the present invention.
[0038] Figure 8 This is a flowchart of the execution of the self-organizing map genetic algorithm in Example 2 of the present invention. DETAILED DESCRIPTION
[0039] The specific implementation modes of the present invention are described below in conjunction with the accompanying drawings and examples. However, the following examples are only used to illustrate the present invention in detail and do not limit the scope of the present invention in any way.
[0040] Embodiment 1: The present invention provides a multi-task robot allocation method based on a self-organizing map genetic algorithm, and the basic steps are as follows:
[0041] 1. Establishment of multi-task robot allocation problem model;
[0042] 2. Self-organizing map genetic algorithm solves the optimization model.
[0043] The self-organizing map genetic algorithm combines the self-organizing map algorithm and the genetic algorithm. During the training process, the self-organizing map module is added to classify individuals in the population. The algorithm execution flow chart is as follows: Figure 4 The following is a detailed description of the process from problem modeling to solution by this algorithm.
[0044] The multi-task robot assignment problem is a combinatorial optimization problem, and its modeling includes the following aspects:
[0045] 1. Set the decision variable of the problem to the number of each robot used.
[0046] 2. Set the objective function of the problem to minimize the cost of using the robot equipment.
[0047] 3. The constraints are set as follows. First, the number of robots assigned to each type must be less than the total number of robots of that type. Second, the total value of the assigned robot capabilities must be greater than the capability required by the task at this stage. Finally, constraints such as robot position, distance, and type matching with the task are added.
[0048] 4. The robot allocation scheme is modeled as an individual in a population. The initial population contains several individuals, that is, several robot allocation schemes.
[0049] After the problem model is established, the self-organizing map-based genetic algorithm is used to solve it. The specific steps are shown in the pseudo code in Table 1 below.
[0050] Table 1 Specific steps for solving the multi-robot task allocation problem
[0051]
[0052] The input is a population of N individuals, each individual is assigned a strategy to a robot, and the output is M optimal strategies. The termination condition of the algorithm is that the number of iterations reaches a maximum number of iterations max_generation, or the objective function value is less than a stagnation threshold after a sufficient number of iterations max_trappedcount.
[0053] The SOM function first creates a two-dimensional competitive layer network with a length of x and a width of y. The neuron nodes in the network are arranged in a rectangular shape. The input layer is a population of individuals of a d-dimensional vector, and the dimension is the number of robot types. In this way, a connection weight weight is formed between each element i of the input layer and the neuron node j of the competitive layer. ij , the weight vector of neuron node j has d connection weights weight 1j , weight 2j , …, weight dj ,like Figure 2 As shown. The weight vector of neuron node j is randomly initialized, and then training is started. First, an individual X in the population is randomly sampled, and the Euclidean distance between individual X and the weight vector of neuron node j is calculated. The best matching node between individual X and neuron node j is found based on the Euclidean distance. The best matching node is the winning node. According to the neighborhood radius σ, the number of neuron nodes included in the best neighborhood is determined, and the weight vectors corresponding to several neuron nodes in the neighborhood are updated through the neighborhood function h. The closer to the winning node, the larger the update amplitude; the farther away from the winning node, the smaller the update amplitude. The neighborhood function selects the Gaussian function to determine the influence of a node on its neighborhood nodes, that is, the update amplitude of each node in the neighborhood. When the neighborhood radius σ is large, the update amplitude decays slowly, and even the edge nodes have a large update amplitude. When the neighborhood radius σ is very small, the winning node has a large update amplitude, and the remaining nodes are almost not updated. The neighborhood radius σ, the learning rate lr decays with the number of iterations t, After completing one round of iteration, t+1 is counted, and the cycle continues until the set number of iterations is met, and the training ends. Each individual is mapped to a neuron, such as Figure 3 As shown, the classification of the population is completed.
[0054] After the self-organizing map, the individuals in the population are mapped to different neurons, and labels corresponding to the neurons are generated. This step of the self-organizing map realizes the classification of the individuals in the population. Populations with large category differences cannot cross-recombination. Specifically, populations with a distance between categories greater than dis_threshold produce reproductive isolation. The populations within each category undergo recombination, mutation, and selection operations to generate a new generation of populations. After merging these populations, it is determined whether the new generation of populations meets the termination conditions. If the new generation of populations does not meet all the termination conditions, continue to classify them using the self-organizing map, and repeat from step 2 in Table 1. If the termination conditions are met, a clustering algorithm is used to generate a group of k specified categories, find the individual with the highest fitness in each group, and return the optimal individuals of multiple groups, that is, multiple local optimal allocation strategies of the robot.
[0055] Technical verification:
[0056] A set of experiments is set up to verify the multi-task robot allocation method based on the self-organizing map genetic algorithm. There are 4 candidate robots and 1 task. The specific parameter settings are as shown in Table 2:
[0057] Table 2 Basic parameters of the self-organizing map genetic algorithm
[0058]
[0059]
[0060] Unsupervised learning of the self-organizing map neural network for the sample robot combination strategy candidate population data. After 181 rounds of unsupervised training of the self-organizing map, the topological relationship of the self-organizing map neurons converged.
[0061] During the training process, the average distance heat map of 64 self-organizing map neurons and adjacent neurons is shown in Figure 5 As shown in the figure, the upper right corner of each heat map indicates the number of unsupervised training rounds. It can be seen from the figure that three clusters are formed between neurons after unsupervised training of self-organizing maps. The corresponding relationship between the 149 robot allocation strategies and the self-organizing map neurons is shown in Figure 6 As shown in the figure, the number of robot strategies mapped by each neuron is marked with red numbers. The strategies mapped to the same neuron have great similarity. After that, the self-organizing map crossover restriction rule is added to the genetic algorithm, and after 100 generations of genetic evolution, the optimized strategy population is obtained. It is compared with the results obtained by traditional genetic algorithm evolution, and the two-dimensional visualization is obtained through PCA. Figure 7 As shown in the scatter plot, it can be seen that the robot allocation strategies of the traditional genetic algorithm converge to the same local optimal point, while the allocation strategy of the self-organizing map genetic algorithm converges to multiple local optimal points with greater diversity.
[0062] Example 2: In Example 1, after completing the evolutionary iteration, the Kmeans algorithm is used to cluster the population. In this example, other clustering algorithms such as DBSCAN, OPTICS and other numerical clustering algorithms are used to replace the Kmeans algorithm, which can ultimately achieve similar results. Figure 8 As shown:
[0063] The present invention has been described in detail above with reference to the accompanying drawings and embodiments; however, those skilled in the art will appreciate that, without departing from the concept of the present invention, the specific parameters in the above embodiments may be changed, or related components and structures may be replaced by equivalents, thereby forming multiple specific embodiments, which are all within the common variation range of the present invention and will not be described in detail one by one.
Claims
1. A multi-task robot allocation method based on self-organizing map genetic algorithm, characterized in that: The following steps are involved: S1 embeds the self-organizing map into the genetic algorithm solution process, and through modeling the multi-task robot allocation problem, the final allocation solution is solved as a population of individuals with high-dimensional characteristics; The S2 population gradually evolves to the optimal population through iterative evolution. The evolution includes individual selection, crossover recombination, and mutation stages. At the beginning of each generation of population evolution, all candidate individuals are subjected to unsupervised learning of self-organizing maps to obtain the mapping relationship between each candidate individual and the self-organizing neuron, thereby realizing population classification. S3 sets the crossover rules between individuals based on the mapping relationship; during the evolution process, based on the crossover rules, the crossover recombination between individuals in the population is within a certain range, ensuring the diversity of population categories in the evolution process, so that the population can evolve and iterate in different directions to obtain multiple local optimal populations, ensuring the diversity of solutions.
2. The multi-task robot allocation method according to claim 1, characterized in that: In step S1, modeling includes the following aspects: (1) setting the decision variable of the problem to the number of each type of robot used; (2) setting the objective function of the problem to minimize the cost of using robot equipment; (3) setting the constraints as follows: first, the number of each type of robot allocated must be less than the total number of corresponding robots; second, the total value of the allocated robot capabilities must be greater than the capability requirement of the task at this stage; finally, adding matching constraints on the robot position, distance and type with the task; (4) The robot allocation plan is modeled as an individual in the population. The initial population contains several individuals, that is, there are several robot allocation plans.
3. The multi-task robot allocation method according to claim 1, characterized in that: In step S3, the crossover rule is: individuals activated by the same neuron can cross over, individuals whose corresponding neurons are less than the isolation distance can cross over, and individuals other than the above two cannot cross over and recombine.
4. The multi-task robot allocation method according to claim 1, characterized in that: The algorithm takes as input a population of N individuals, each of which is assigned a strategy to a robot, and outputs M optimal strategies. The algorithm's iterative termination condition is that the number of iterations reaches a certain maximum number of iterations, or the objective function value is less than a certain stagnation threshold after a sufficient number of iterations.
5. The multi-task robot allocation method according to claim 1, characterized in that: The self-organizing map function first creates a two-dimensional competitive layer network with a length of x and a width of y. The neuron nodes in the network are arranged in a rectangular shape. The input layer is a population of individuals of a d-dimensional vector, where the dimension d is the number of robot types. A connection weight weight is formed between each element i of each vector in the input layer and the neuron node j of the competitive layer. ij , the weight vector of neuron node j has d connection weights weight 1j , weight 2j , …, weight dj .
6. The multi-task robot allocation method according to claim 5, characterized in that: The weight vector of neuron node j is randomly initialized, and then training is started. In the training stage, an individual X in the population is randomly sampled, and the Euclidean distance between individual X and the weight vector of neuron node j is calculated. The best matching node between individual X and neuron node j is found according to the Euclidean distance, and the best matching node is the winning node; the number of neuron nodes included in the best neighborhood is determined according to the neighborhood radius σ, and the weight vectors corresponding to the number of neuron nodes in the neighborhood are updated through the neighborhood function.
7. The multi-task robot allocation method according to claim 6, characterized in that: The neighborhood function selects a Gaussian function to determine the influence of a certain node on its neighborhood nodes and the update amplitude of each node in the neighborhood; when the neighborhood radius σ is large, the update amplitude decays slowly, and even the edge nodes have a large update amplitude; when the neighborhood radius σ is very small, the winning node has a large update amplitude, and the remaining nodes are almost not updated.
8. The multi-task robot allocation method according to claim 7, characterized in that: The neighborhood radius σ and the learning rate lr decay with the number of iterations t. After completing one round of iterations, the training cycle continues until the set number of iterations is met and the training ends.
9. The multi-task robot allocation method according to claim 1 or 8, characterized in that: After self-organizing mapping, individuals in the population are mapped to different neurons, and labels corresponding to the neurons are generated to achieve classification of individuals in the population; populations with large category differences cannot cross-recombination, resulting in reproductive isolation; populations of similar categories undergo cross-recombination, mutation, and selection operations to generate a new generation of populations, and after merging these populations, it is determined whether the population meets the termination conditions: if the new generation of population does not meet all the termination conditions, it continues to be classified using self-organizing mapping and continues to evolve; if the termination conditions are met, a clustering algorithm is used to generate a group of k specified categories, find the individual with the highest fitness in each group, and return the optimal individual of each of the multiple groups to achieve multiple local optimal allocation strategies for the robot.
10. The multi-task robot allocation method according to claim 9, characterized in that: The clustering algorithm used is one of Kmeans, DBSCAN, and OPTICS.