WO2020181934A1 - 一种基于粒子群算法确定目标对象位置的方法和装置 - Google Patents

一种基于粒子群算法确定目标对象位置的方法和装置 Download PDF

Info

Publication number
WO2020181934A1
WO2020181934A1 PCT/CN2020/073825 CN2020073825W WO2020181934A1 WO 2020181934 A1 WO2020181934 A1 WO 2020181934A1 CN 2020073825 W CN2020073825 W CN 2020073825W WO 2020181934 A1 WO2020181934 A1 WO 2020181934A1
Authority
WO
WIPO (PCT)
Prior art keywords
particle
fitness value
particles
particle swarm
value
Prior art date
Application number
PCT/CN2020/073825
Other languages
English (en)
French (fr)
Inventor
林炳文
Original Assignee
阿里巴巴集团控股有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2020181934A1 publication Critical patent/WO2020181934A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Definitions

  • the present disclosure relates to the technical field of machine learning, and in particular to a method and device for determining the position of a target object based on a particle swarm algorithm.
  • Particle swarm algorithm is a global random search algorithm based on swarm intelligence proposed by simulating the migration and gathering behavior of birds in the process of foraging.
  • the particle swarm algorithm has many application scenarios, and one of the application scenarios may be to search for the position of an object, which may be called a target object.
  • the traditional particle swarm algorithm can start from the random solution and find the optimal solution as the target object position through iteration.
  • this kind of algorithm is often easy to fall into the local optimal solution, and the convergence speed is not ideal, which affects the efficiency and accuracy of searching the target object position.
  • one or more embodiments of this specification provide a method and device for determining the position of a target object based on a particle swarm algorithm, so as to improve the efficiency and accuracy of the position search.
  • a method for determining the position of a target object based on a particle swarm algorithm includes:
  • the fitness value of each particle in the particle swarm is sorted, and some particles with a larger fitness value are selected from the sorting result to enter the cross pool.
  • the crossover probability is determined so that particles are selected in the crossover pool for crossover;
  • the position corresponding to the optimal solution of the particle swarm algorithm is taken as the location of the target object.
  • a device for determining the position of a target object based on a particle swarm algorithm including:
  • Data determination module used to determine the speed and position of each particle in the particle swarm
  • the cross-processing module is used to determine the fitness value of each particle according to the speed and position, and the fitness value is related to the distance between the particle and the target object; and according to the fitness value Size, sort the fitness value of each particle in the particle swarm, and select some particles with a larger fitness value from the sorting result to enter the cross pool, and the part of the particles is determined according to the size of the particle swarm and the cross probability. Select particles in the cross pool to cross;
  • a mutation processing module used to mutate the particles in the particle swarm
  • the position determination module is configured to use the position corresponding to the optimal solution of the particle swarm algorithm as the location of the target object when the termination condition of the particle swarm algorithm is satisfied.
  • a device for determining the location of a target object based on a particle swarm algorithm includes a memory, a processor, and a computer program stored in the memory and running on the processor, and the processor executes the The program implements the method steps of determining the position of the target object based on the particle swarm algorithm described in any embodiment of this specification.
  • the method and device of one or more embodiments of the present specification improves the convergence speed by introducing crossover and mutation into the particle swarm algorithm, and finds the optimal solution effect better.
  • FIG. 1 is a method for determining the position of a target object based on a particle swarm algorithm according to one or more embodiments of this specification;
  • Figure 2 shows the flying robot group during initialization
  • FIGS. 3 to 5 are schematic diagrams of the process of searching for vital signs by the flying robot
  • Fig. 6 is a schematic structural diagram of an apparatus for determining the position of a target object based on a particle swarm algorithm according to one or more embodiments of this specification.
  • the particle swarm algorithm is an algorithm used to solve the optimal solution.
  • the particle swarm algorithm has a wide range of application scenarios. For example, it can be used to solve the shortest path in route planning; or it can also be used to solve the smallest path in commercial profit projects. Cost, etc. Different functions can be constructed according to different problems that need to be solved. This function can be called fitness function. Each particle in the particle swarm can be calculated according to the fitness function to obtain a fitness value, which can be measured by the fitness value The pros and cons of particles relative to a problem target.
  • At least one embodiment of this specification provides a particle swarm algorithm that is improved by combining genetic algorithm, and introduces crossover and mutation in genetic algorithm to particle swarm.
  • genetic algorithm is a computational model that simulates the biological evolution process of natural selection and genetic mechanism of Darwin's biological evolution theory, and is a method to search for the optimal solution by simulating the natural evolution process.
  • Fig. 1 is a method for determining the position of a target object based on a particle swarm algorithm according to at least one embodiment of this specification. As shown in Fig. 1, the method may include the following processing:
  • step 100 the speed and position of each particle in the particle swarm are determined.
  • this step may include the following processing:
  • the population scale of the particle swarm is initialized. For example, there are M particles in the particle swarm.
  • the position and velocity of each particle can be initialized.
  • D indicates that the search space of the particle swarm algorithm to search for the optimal solution is a D-dimensional search space.
  • the initial particle position and velocity can be set randomly.
  • the fitness value is calculated by each particle according to the fitness function.
  • Different application scenarios can construct different fitness functions.
  • each particle during initialization is equivalent to a random solution.
  • each particle is a potential optimal solution. If the fitness value of a particle is higher, it means that the closer the particle is to the optimal solution, it belongs to the particle with better performance in the process of searching for the optimal solution.
  • F it [i] can be used to represent the fitness value of the i-th particle in the particle swarm.
  • each particle updates the speed and position of the particle by comparing its fitness value with the individual extreme value and the global extreme value.
  • the optimal position of the i-th particle searched so far is called the individual extremum, denoted as p best (i).
  • the optimal position searched by the entire particle swarm so far is the global extremum, denoted as g best .
  • the particle swarm algorithm finds the optimal solution through multiple iterations. In each iteration, each particle can update its position and velocity by tracking two extreme values: one extreme value is the optimal value found by the particle itself The solution is the aforementioned individual extreme value; the other extreme value is the optimal solution found by the entire particle swarm, that is, the aforementioned global extreme value.
  • the position of the particle is one of the parameters in the fitness function, and the position can be considered as the solution of the fitness function. If two particles are compared, the fitness value of one particle is better than the fitness value of the other particle, then The position corresponding to the particle with the better fitness value is also a better solution.
  • Each particle can compare the calculated fitness value with the individual extreme value and the global extreme value to update the speed and position of the particle, as follows:
  • the fitness value of the particle is compared with the individual extreme value, and if the fitness value is greater than the individual extreme value, the individual extreme value is replaced with the position of the particle.
  • the fitness value of the particle is compared with the global extreme value, and if the fitness value is greater than the global extreme value, the global extreme value is replaced with the position of the particle.
  • the particle velocity and position can be updated according to the following formula (1) and formula (2):
  • v id v id +c 1 r 1 (p id -x id )+c 2 r 2 (p gd -x id ) (1)
  • c 1 and c 2 are learning factors, also called acceleration constants, and r 1 and r 2 are uniform random numbers in the range of [0, 1].
  • the right side of formula (1) is composed of three parts. The first part is the “inertia” or “momentum” part, which reflects the particle's movement "habit” and represents the particle's tendency to maintain its previous speed; The second part is the “cognition” part, which reflects the memory or remembrance of the particle to its own historical experience, representing the tendency of the particle to approach the best position in its own history; the third part is "society”
  • the “(social)” part reflects the group’s historical experience of collaboration and knowledge sharing among particles, and represents the tendency of particles to approach the best position in the group or neighborhood history.
  • v id is the speed of the particle
  • v max is a constant, set by the user to limit the speed of the particle.
  • r 1 and r 2 are random numbers between [0,1].
  • the updated velocity and position of the particles can be obtained.
  • step 102 calculate the fitness value of each particle according to the updated particle speed and position, and sort according to the fitness value; select some particles from the sorting result to enter the cross pool, and this part of the particles is based on The particle swarm size and crossover probability are obtained.
  • the particles to be crossed are selected from the particle swarm to form a cross pool.
  • the cross pool can be obtained as follows, but it should be noted that the order of execution is not limited in actual implementation.
  • the fitness value of each particle can be calculated according to the updated speed and position of the particle.
  • the fitness value may be related to the distance between the particle and the target object. For example, the larger the fitness value, the closer the distance between the particle and the target object.
  • the crossover probability can be multiplied by the particle swarm size to obtain the number N of particles in the crossover pool.
  • the first N particles with a larger fitness value can be selected from the sorting result to enter the cross pool.
  • the crossover probability can be an artificially set data extraction ratio, between 0 and 1.
  • step 104 particles are selected from the crossing pool for crossing.
  • This step is a specific cross operation.
  • Two different particles can be randomly selected from the cross pool as the parent particle for real number cross.
  • the position and speed of the parent particle are replaced by the position and speed of the child particle. Otherwise, the position and velocity of the parent particle does not change.
  • the offspring particles inherit the advantages of the parent particles and theoretically strengthen the ability to search for the area between particles. For example, if two parent particles are in different local optimal regions, then the child particles generated by the intersection of the two can often get rid of the local optimal and obtain improved search results.
  • step 106 the particles in the particle swarm are mutated.
  • Gaussian mutation can be performed on the particles in the particle group.
  • the local search ability of Gaussian mutation is better.
  • Gaussian mutation is to replace the original gene value with a random number with a mean value of ⁇ and a variance of ⁇ 2 in a normal distribution.
  • the mutation probability can be 0.5. Before a particle is mutated, a random value between 0 and 1 is obtained. If the random value is greater than 0.5, the mutation will be performed; otherwise, no mutation will be performed.
  • the position and velocity of the mutated particle can be used to replace the position and velocity of the pre-mutation particle. Otherwise, it can be left unchanged.
  • step 108 it is determined whether the termination condition of the particle swarm algorithm is satisfied.
  • This step can check whether the termination condition of the particle swarm algorithm is met.
  • the termination condition can be that the fitness value calculated by the final global extremum is within the met accuracy.
  • the particle position can be As the global extremum, the optimal position found by the particle swarm.
  • the optimal solution of particle swarm optimization is the global extremum.
  • step 110 If the judgment result of this step is satisfied, the optimal solution is obtained, that is, step 110.
  • step 110 the optimal solution is obtained.
  • the particle swarm algorithm of at least one embodiment of the present specification is applied to search for the position of a target object.
  • the target object may be, for example, a life in disaster rescue, for example, in an application scenario where a flying robot searches for life.
  • the life search and detection robot can solve the above problems well.
  • flying robots In the early stages of an earthquake, in order to avoid the dangers on the surface, flying robots can be used to search and detect lives. Considering the size of the ruins and the efficiency of the search, a group of flying robots can be used to complete the search and positioning of life. This kind of search method is similar to the predation method of a flock of birds.
  • the particle swarm algorithm can be used to quickly detect life by using flying robots to search and detect life.
  • each flying robot can have a storage function and a communication function.
  • each flying robot itself can perform the iterative processing of the particle swarm algorithm, and the flying robot can update the optimal solution it finds in each iteration of the algorithm and save it. That is, each flying robot itself can find and store individual extreme values. Therefore, the robot can have simple storage functions and algorithm processing functions.
  • each flying robot can also update its own speed and position according to its own optimal solution and the global optimal solution. Therefore, the robots can have simple communication functions for mutual optimization between robots. The interaction of the optimal solution to obtain the global extremum. In this way, each robot can update the speed and position according to the individual extreme value and the global extreme value.
  • each flying robot can include power modules such as batteries and motors to provide the motion function of the robot. It can also include a communication module, which is responsible for comparing and recording the global optimal position.
  • the storage module can be used to store simple program instructions and individual extreme values and global extreme values.
  • the robot can also apply the calculated speed to the power module through the control module to drive the robot to fly.
  • the fitness function corresponding to the fitness value is a function constructed based on the location of the target object (for example, the aforementioned survivor life), and the fitness value represents the signal sent by the life received by the robot (for example, the signal may be the intensity of the sound.
  • the signal may be the intensity of the sound.
  • the stronger the signal the larger the fitness value.
  • the larger the fitness value the closer the robot is to life, the better the position of the robot.
  • the individual extreme value is the closest position between the robot used for searching and the life, and the global extreme value is the closest position between all robots and the life.
  • the fitness function in this example can be:
  • MaxZ can be the fitness value
  • s can be the signal strength received by the robot
  • n is the number of steps of the robot iteration
  • i and j are the two-dimensional coordinates of the robot
  • x is the The position of the robot
  • d is the distance
  • x ij means the distance from node i to node j
  • d ij means the distance from node i to node j.
  • node i and node j are the two positions of the robot movement.
  • a flying robot can be considered to perform a search task in a two-dimensional space.
  • the size of the robot group is m
  • Figure 2 is the group of flying robots during initialization.
  • the area 21 near the life in the figure is the darkest.
  • the small black dot in the figure is the flying robot 22.
  • the shade of the color indicates that the robot receives when it is there.
  • the strength of the received life signal For example, if the flying robot is in a lighter-colored area, the fitness value calculated by the robot is lower, which means that the received life signal is weak.
  • the robot tracks individual extreme values and global extreme values to update its position and speed, which is equivalent to flying toward a better position. That is, during the search process, the flying robot is towed by itself and the group in the moving position. As shown in Figure 3, after iteration, the originally loosely distributed flying robots gradually moved closer to the darker colored area.
  • the flying robots move closer to the strong life signal, and finally gather at the strongest global life signal, which is the position of the global extreme value.
  • the particle swarm algorithm has converged, and the flying robot has also found a surviving life.
  • each flying robot can update its position and speed according to individual extreme values and global extreme values.
  • a central processing device can be set outside these flying robots.
  • the device can receive the fitness value sent by each flying robot, and sort according to the fitness value; from the sorting result, select the first N particles with the larger fitness value to enter the cross pool.
  • the central processing device may select particles from the cross pool for cross, and send the speed and position of the child particles obtained by the cross to the corresponding parent flying robot, so that the child particles replace the parent particles.
  • the central processing device may also mutate the particles in the particle swarm, and send the position and velocity of the particles obtained after the mutation to the corresponding pre-mutation particle to realize the mutation update.
  • the above is an exemplary implementation scenario, and other methods may also be adopted, for example, one of the flying robots executes the processing of the foregoing central processing device.
  • FIG. 6 is a schematic structural diagram of a device for determining the position of a target object based on a particle swarm algorithm according to at least one embodiment of this specification.
  • the device may include: a data determination module 61, a cross-processing module 62, and a mutation Processing module 63 and position determination module 64.
  • the data determining module 61 is used to determine the speed and position of each particle in the particle swarm;
  • the cross-processing module 62 is configured to determine the fitness value of each particle according to the speed and position, where the fitness value is related to the distance between the particle and the target object; and according to the fitness value
  • the size of the particle swarm is sorted by the fitness value of each particle in the particle swarm, and some particles with a larger fitness value are selected from the ranking result to enter the cross pool, and the part of the particles is determined according to the particle swarm size and cross probability to be determined by Selecting particles in the crossing pool for crossing;
  • the mutation processing module 63 is used to mutate the particles in the particle swarm
  • the position determining module 64 is configured to use the position corresponding to the optimal solution of the particle swarm algorithm as the location of the target object when the termination condition of the particle swarm algorithm is satisfied.
  • the data determining module 61 is specifically configured to: compare the fitness value of the particle with the individual extreme value, and if the fitness value is greater than the individual extreme value, replace the particle position with the individual extreme value. Individual extreme value; compare the fitness value of the particle with the global extreme value, and if the fitness value is greater than the global extreme value, replace the global extreme value with the position of the particle; according to the updated The individual extreme value and the global extreme value update the velocity and position of the particle.
  • the mutation processing module 63 is specifically configured to perform Gaussian mutation on the particles in the particle swarm.
  • the particles in the particle swarm are robots for searching; the individual extremum is the closest position of the robot and the target object;
  • the global extremum is the closest position of all robots in the particle swarm to the target object
  • the fitness value represents the magnitude of the signal strength sent by the target object received by the robot. The stronger the signal, the larger the fitness value.
  • each step in the process shown in the foregoing method embodiment is not limited to the order in the flowchart.
  • the description of each step can be implemented in the form of software, hardware, or a combination thereof.
  • a person skilled in the art can implement it in the form of software code, which can be a computer executable that can implement the logic function corresponding to the step. instruction.
  • the executable instructions can be stored in the memory and executed by the processor in the device.
  • the devices or modules described in the above embodiments may be implemented by computer chips or entities, or implemented by products with certain functions.
  • a typical implementation device is a computer.
  • the specific form of the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email receiving and sending device, and a game control A console, a tablet computer, a wearable device, or a combination of any of these devices.
  • one or more embodiments of this specification can be provided as a method, a system, or a computer program product. Therefore, one or more embodiments of this specification may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, one or more embodiments of this specification may adopt a computer program implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes. The form of the product.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing functions specified in a flow or multiple flows in the flowchart and/or a block or multiple blocks in the block diagram.
  • One or more embodiments of this specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules.
  • program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types.
  • One or more embodiments of this specification can also be practiced in distributed computing environments. In these distributed computing environments, tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices.
  • At least one embodiment of the present specification also provides a device for determining the location of a target object based on a particle swarm algorithm.
  • the device includes a memory, a processor, and a computer program stored in the memory and running on the processor. The following steps are implemented when the processor executes the program:
  • the fitness value of each particle is calculated, and sorted according to the size of the fitness value; the first N particles with the larger fitness value are selected from the sorting result to enter the cross pool, The N is obtained by multiplying the size of the particle swarm by the crossover probability; the N is a natural number; the higher the fitness value, the closer the distance between the particle and the target object;

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Feedback Control In General (AREA)

Abstract

一种基于粒子群算法确定目标对象位置的方法和装置,其中,所述方法包括:确定粒子群中每个粒子的速度和位置(100);根据更新后的粒子的速度和位置,计算每个粒子的适应度值,并根据适应度值的大小进行排序,由排序结果中选择部分粒子进入交叉池,该部分粒子是根据粒子群规模和交叉概率得到(102);由所述交叉池中选择粒子进行交叉(104);对所述粒子群中的粒子进行变异(106);判断是否满足粒子群算法的终止条件(108);当不满足粒子群算法的终止条件时,则返回到步骤(100),当满足粒子群算法的终止条件时:则得到最优解(110)。

Description

一种基于粒子群算法确定目标对象位置的方法和装置 技术领域
本公开涉及机器学习技术领域,特别涉及一种基于粒子群算法确定目标对象位置的方法和装置。
背景技术
粒子群算法是一种通过模拟鸟群觅食过程中的迁徙和群聚行为,而提出的一种基于群体智能的全局随机搜索算法。粒子群算法的应用场景较多,其中一种应用场景可以是用于搜索某个对象的位置,该对象可以称为目标对象。传统的粒子群算法,可以从随机解出发,通过迭代寻找最优解作为目标对象的位置。但是这种算法经常容易陷入局部最优解,并且收敛速度并不理想,影响了对目标对象位置搜索的效率和准确性。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种基于粒子群算法确定目标对象位置的方法和装置,以提高位置搜索的效率和准确性。
具体地,本说明书一个或多个实施例是通过如下技术方案实现的:
第一方面,提供一种基于粒子群算法确定目标对象的位置的方法,所述方法包括:
确定粒子群中每个粒子的速度和位置;
根据所述速度和位置,确定所述每个粒子的适应度值,所述适应度值与所述粒子和目标对象之间的距离相关;
根据所述适应度值的大小,对所述粒子群中各个粒子的适应度值排序,并由排序结果中选择适应度值较大的部分粒子进入交叉池,所述部分粒子根据粒子群规模和交叉概率确定,以由所述交叉池中选择粒子进行交叉;
对所述粒子群中的粒子进行变异;
当满足粒子群算法的终止条件时,将粒子群算法的最优解对应的位置作为所述目标对象的所在位置。
第二方面,提供一种基于粒子群算法确定目标对象的位置的装置,所述装置包括:
数据确定模块,用于确定粒子群中每个粒子的速度和位置;
交叉处理模块,用于根据所述速度和位置,确定所述每个粒子的适应度值,所述适应度值与所述粒子和目标对象之间的距离相关;并根据所述适应度值的大小,对所述粒子群中各个粒子的适应度值排序,并由排序结果中选择适应度值较大的部分粒子进入交叉池,所述部分粒子根据粒子群规模和交叉概率确定,以由所述交叉池中选择粒子进行交叉;
变异处理模块,用于对所述粒子群中的粒子进行变异;
位置确定模块,用于当满足粒子群算法的终止条件时,将粒子群算法的最优解对应的位置作为所述目标对象的所在位置。
第三方面,提供一种基于粒子群算法确定目标对象的位置的设备,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本说明书任一实施例所述的基于粒子群算法确定目标对象位置的方法步骤。
本说明书一个或多个实施例的方法和装置,通过将交叉和变异引入粒子群算法,提高了收敛速度,并且找到的最优解效果更好。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例提供的一种基于粒子群算法确定目标对象的位置的方法;
图2为初始化时的飞行机器人群体;
图3至图5为飞行机器人搜索生命信号的过程示意图;
图6为本说明书一个或多个实施例提供的一种基于粒子群算法确定目标对象位置的装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
粒子群算法是一个用于求解最优解的算法,该粒子群算法的应用场景较为广泛,例如,可以用于求解路线规划中的最短路径;或者,还可以用于求解商业利润项目中的最小费用,等。可以根据需要解决的不同问题,构造对应的不同函数,该函数可以称为适应度函数,粒子群中的每个粒子都可以根据该适应度函数计算得到一个适应度值,以通过适应度值衡量粒子相对于某个问题目标的优劣。
本说明书至少一个实施例提供了一种结合遗传算法改进的粒子群算法,将遗传算法中的交叉和变异引入到粒子群。其中,遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
图1为本说明书至少一个实施例提供的一种基于粒子群算法确定目标对象位置的方法,如图1所示,该方法可以包括如下处理:
在步骤100中,确定粒子群中每个粒子的速度和位置。
例如,本步骤可以包括如下的处理:
首先,初始化粒子群,包括群体规模,粒子群中每个粒子的位置和速度。
本步骤中,初始化粒子群的群体规模,例如,该粒子群中共有M个粒子。
并且,还可以初始化每个粒子的位置和速度,其中,粒子的位置可以是一个向量X i=(x i1,x i2,…,x iD),i=1、2...M;粒子的速度可以表示成向量:V i=(v i1,v i2,…,v iD),i=1、2....M。其中,D表示该粒子群算法搜索最优解的搜索空间是一个D维的搜索空间。
初始的粒子位置和速度可以是随机设定。
其次,计算每个粒子的适应度值。
本步骤中,适应度值每个粒子根据适应度函数计算得到的数值,不同的应用场景可以构造不同的适应度函数。在粒子群中,初始化时的每一个粒子都相当于一个随机解,在粒子群的迭代更新过程中,每个粒子都是一个潜在的最优解。如果一个粒子的适应度值较高,表示该粒子距离最优解越近,在搜索最优解的过程中属于性能较好的粒子。
可以用F it[i]表示粒子群中第i个粒子的适应度值。
接着,每个粒子通过将自己的适应度值与个体极值和全局极值进行比较,更新所述粒子的速度和位置。
其中,第i个粒子迄今为止搜索到的最优位置称为个体极值,记为p best(i)。
整个粒子群迄今为止搜索到的最优位置为全局极值,记为g best
粒子群算法是通过多次迭代找到最优解,其中,在每一次的迭代中,每个粒子可以通过跟踪两个极值更新自己的位置和速度:一个极值就是粒子本身所找到的最优解,即上述的个体极值;另一个极值是整个粒子群找到的最优解,即上述的全局极值。
其中,粒子的位置是适应度函数中的其中一个参数,该位置可以认为就是适应度函数的解,如果两个粒子比较,一个粒子的适应度值比另一个粒子的适应度值更优,则该适应度值更优的粒子对应的位置也是更好的解。
每个粒子可以将计算得到的自己的适应度值与个体极值和全局极值进行比较,以更新所述粒子的速度和位置,如下:
将粒子的适应度值与个体极值比较,如果该适应度值大于个体极值,则用所述粒子的位置替换掉所述个体极值。将所述粒子的适应度值与全局极值比较,若所述适应度值大于全局极值,则用所述粒子的位置替换掉所述全局极值。
以全局极值为例来说:假设适应度函数f(x,y)=x+y,其中(x,y)是粒子的位置坐标。整个粒子群在搜索全局极值时,是将最接近期望结果的适应度值对应的粒子位置作为最优位置即全局极值。比如,期望得到的f(x,y)=1,而某一个粒子的位置是x=0.5,y=0.49,f(x,y)=0.99,那么该适应度值与期望的适应度值的误差就是0.01。而可以预先设定误差范围是2%以内,那么该0.01的误差满足误差范围的条件,则f(x,y)=0.99对应的位置(0.5,0.49)可以替换掉原来的全局极值。即,全局极值是一个粒子的位置,如果一个粒子的适应度值最接近标准答案,最接近最优解,则将该粒子的位置作为全局极值。
再根据更新后的所述个体极值和全局极值,更新所述粒子的速度和位置。可以按照 如下的公式(1)和公式(2)进行粒子速度和位置的更新:
v id=v id+c 1r 1(p id-x id)+c 2r 2(p gd-x id)   (1)
x id=x id+v id   (2)
其中,c 1和c 2为学习因子,也称加速常数(acceleration constant),r 1和r 2为[0,1]范围内的均匀随机数。式(1)右边由三部分组成,第一部分为“惯性(inertia)”或“动量(momentum)”部分,反映了粒子的运动“习惯(habit)”,代表粒子有维持自己先前速度的趋势;第二部分为“认知(cognition)”部分,反映了粒子对自身历史经验的记忆(memory)或回忆(remembrance),代表粒子有向自身历史最佳位置逼近的趋势;第三部分为“社会(social)”部分,反映了粒子间协同合作与知识共享的群体历史经验,代表粒子有向群体或邻域历史最佳位置逼近的趋势。v id是粒子的速度,v id∈[-v max,v max],v max是常数,由用户设定用来限制粒子的速度。r 1和r 2是介于[0,1]之间的随机数。
经过上述处理,可以得到更新后的粒子的速度和位置。
在步骤102中,根据更新后的粒子的速度和位置,计算每个粒子的适应度值,并根据适应度值的大小进行排序;由排序结果中选择部分粒子进入交叉池,该部分粒子是根据粒子群规模和交叉概率得到。
本步骤中,是由粒子群中选择要进行交叉的粒子,组成交叉池。例如,可以按照如下处理得到交叉池,但是需要说明的是,实际实施中不限制执行顺序。
首先,可以根据更新后的粒子的速度和位置,计算每个粒子的适应度值。该适应度值可以与粒子和目标对象之间的距离相关,例如,适应度值越大,表示粒子与目标对象之间的距离越接近。
接着,可以根据适应度值的大小进行排序。
然后,根据粒子群规模和交叉概率确定要进入交叉池的部分粒子。例如,可以由粒子群规模乘以交叉概率,得到交叉池中的粒子数目N。
再者,可以根据粒子数目N,由排序结果中选择适应度值较大的前N个粒子进入交叉池。
其中,交叉概率可以是一个人为设置的数据提取比例,在0至1之间。交叉池大小N=粒子群规模M*交叉概率,比如,当前的粒子群共有100个粒子,交叉概率=0.1,那 么交叉池大小=10。然后就选择前10个适应度值最好的粒子放入交叉池。交叉池中的粒子都是适应度值较高的,可以认为都是较好的解。这种生成交叉池的方式,可以避免选择到适应度较差的粒子做交叉粒子。
在步骤104中,由所述交叉池中选择粒子进行交叉。
本步骤是具体的交叉操作。
可以随机的由交叉池中选择两个不同的粒子,作为父代粒子进行实数交叉。
对交叉后得到的子代粒子计算适应度值。
如果所述子代粒子的适应度值比父代粒子的适应度值高,则由所述子代粒子的位置和速度取代父代粒子的位置和速度。否则,则父代粒子的位置和速度不改变。通过对粒子群中的粒子进行交叉操作,可以增加粒子的多样性,跳出局部最优,加快收敛速度。
举例来说:两个父代粒子交叉可以生成一个子代粒子,如果子代粒子比两个父代粒子的适应度值都高,那么该子代粒子就比父代粒子好。比如,假设两个父代粒子是父代粒子A和父代粒子B,上面的f(x,y)=x+y,标准答案是f(x,y)=1,那么如果父代粒子A的f(x,y)=0.8,父代粒子B的f(x,y)=0.7,如果子代粒子的f(x,y)=0.9,那么这个子代粒子就比两个父代粒子都好。可以保留该子代粒子的位置,而父代粒子可以由粒子群中去除。粒子群大小保持不变,比如,初始时的粒子群规模是200,始终保持200。
通过对粒子进行交叉操作,并用产生的子代粒子取代父代粒子,使得子代粒子继承了父代粒子的优点,在理论上加强了对粒子间区域的搜索能力。例如,两个父代粒子均处于不同的局部最优区域,那么二者交叉产生的子代粒子往往能够摆脱局部最优,而获得改进的搜索结果。
在步骤106中,对所述粒子群中的粒子进行变异。
本步骤中,可以对所述粒子群中的粒子进行高斯变异。高斯变异的局部搜索能力较好。高斯变异是在进行变异时用一个均值为μ、方差为σ2的正态分布的一个随机数来替换原有的基因值。
其中,可以根据变异概率,随机的从整个粒子群中选择粒子进行高斯变异。例如,变异概率可以是0.5,一个粒子要变异前,获取一个0~1之间的随机值,如果该随机值大于0.5,则进行变异;否则,不变异。
计算变异后的粒子的适应度值,如果变异后粒子的适应度值比变异前粒子的适应度 值更优,则可以用变异后粒子的位置和速度取代变异前粒子的位置和速度。否则,可以不改变。
在步骤108中,判断是否满足粒子群算法的终止条件。
本步骤可以检查是否满足粒子群算法的终止条件。
该终止条件可以是最终的全局极值计算出来的适应度值在满足的精度以内,比如,上面提到的例子中,假设适应度函数f(x,y)=x+y,期望得到的f(x,y)=1,一个粒子的位置是x=0.5,y=0.49,f(x,y)=0.99,该适应度值与期望的适应度值的误差满足精度要求,该粒子位置可以作为全局极值,即粒子群找到的最优位置。粒子群算法的最优解就是全局极值。
若本步骤的判断结果是满足,则得到最优解,即步骤110。
否则,返回继续执行对粒子群中粒子的位置和速度的更新,即返回步骤100。并且,每次更新粒子的速度和位置后,都要重新计算粒子的适应度值。
在步骤110中,得到最优解。
通过上述例子,将交叉和变异引入粒子群算法,提高了收敛速度,并且找到的最优解效果更好。
如下将本说明书至少一个实施例的粒子群算法应用于搜索目标对象的位置,该目标对象例如可以是灾难救援中的生命,例如应用于飞行机器人搜索生命的应用场景中。
地震、火灾、矿难等灾难发生后,在废墟中搜寻定位幸存者,给予必要的医疗救助,以及尽快救出被困者是救援人员面临的三项紧迫任务。这其中,幸存者的搜寻定位显得尤为重要。生命搜索探测机器人可以很好地解决上述问题。在地震初期,为了规避地表的危险,可以采用飞行机器人完成生命的搜索探测。而考虑到废墟面积的大小以及搜索的效率,可以采用一群飞行机器人来完成生命的搜索定位。此类搜索方式比较类似鸟群的捕食方式,一群鸟在随机搜索食物时,在这个区域里只有一块食物,所有的鸟都不知道食物在那里。但是它们知道当前的位置离食物还有多远。此时就可以利用粒子群算法,通过使用飞行机器人搜索探测生命,快速探测到生命。
在本例子中,每一个飞行机器人可以具有存储功能和通信功能。
其中,每个飞行机器人自身可以进行粒子群算法的迭代处理,飞行机器人可以在算法的每一步迭代中更新自己找到的最优解,并将其保存。即每个飞行机器人自身可以找 到并存储个体极值。因此,机器人可以具有简单的存储功能和算法的处理功能。
此外,根据粒子群算法,每个飞行机器人还可以根据自己的最优解和全局的最优解更新自己的速度和位置,所以机器人可以具有简单的通信功能,用于在机器人之间相互进行最优解的交互,从而获知全局极值。这样每个机器人就可以根据个体极值和全局极值更新速度和位置。
因此,每个飞行机器人可以包括电池、电动机等动力模块,提供机器人的运动功能。还可以包括通信模块,负责比较记录全局最优的位置。存储模块可以用于存储简单的程序指令和个体极值、全局极值。机器人还可以通过控制模块将计算出的速度作用于动力模块,驱动机器人飞行。
其中,在上述场景中,适应度值对应的适应度函数,是根据目标对象(例如,上述的幸存者生命)的位置搜索应用构造的函数,适应度值表示机器人接收到的生命发出的信号(例如,该信号可以是声音)强度的大小,信号越强,所述适应度值越大。适应度值越大时,表明该机器人距离生命越近,该机器人的位置就越优。个体极值是用于进行搜索的机器人与生命之间最近的位置,全局极值是所有机器人中与生命之间最近的位置。
示例性的,本例子中的适应度函数可以是:
Figure PCTCN2020073825-appb-000001
在上面的公式(1)中,MaxZ可以是适应度值,s可以是该机器人接收到的信号强度,n是该机器人迭代的步数,i和j是该机器人的二维坐标,x是该机器人的位置,d是距离,x ij的意思是节点i到节点j,d ij的意思是节点i到节点j的距离。其中,节点i和节点j是该机器人运动的两个位置。
例如,飞行机器人可以认为是在二维空间中执行搜索任务,设机器人群体规模为m,群体中每个机器人i(1≤i≤m)有如下属性:第t步迭代时所处的位置xi(t)=(xi1,xi2),飞行速度vi(t)=(vi1,vi2),飞行机器人记住并实时更新自身与所搜索的生命最近的位置pi(个体极值),第i个机器人所在邻域的(整个群体看作邻域)与搜索的生命的最近的位置pl(全局极值)。
接着,可以按照图1所示的算法流程,来执行机器人对生命的搜索。方法步骤可以结合参见图1,不再详述。
其中,请参见图2,图2是初始化时的飞行机器人的群体,图中的生命附近的区域21颜色最深,图中的小黑点是飞行机器人22,颜色的深浅表示机器人在该处时接收到的生命信号的强弱。比如,如果飞行机器人在颜色较浅的区域时,该机器人计算的适应度值较低,表示接收到的生命信号较弱。
随着算法的多次迭代,每一次迭代中,机器人都是跟踪个体极值和全局极值来更新自己的位置和速度,相当于在朝着更好的位置飞行。即飞行机器人在搜索过程中,受到自身和群体的牵引在移动位置。参见图3所示,经过迭代后,原本分布松散的飞行机器人逐渐向颜色深的区域靠拢了。
请参见图4和图5所示,随着迭代的继续进行,飞行机器人更加向生命信号强的地方靠拢,最终聚集在全局生命信号最强处,这就是全局极值的位置。粒子群算法得到了收敛,飞行机器人也找到了幸存的生命。
在该例子中,每个飞行机器人可以根据个体极值和全局极值更新自己的位置和速度,到执行交叉和变异的处理时,可以在这些飞行机器人之外设置一个中央处理设备,该中央处理设备可以接收每个飞行机器人发送的适应度值,并根据适应度值的大小进行排序;由排序结果中选择适应度值较大的前N个粒子进入交叉池。中央处理设备可以由所述交叉池中选择粒子进行交叉,并将交叉得到的子代粒子的速度和位置发送到对应的父代飞行机器人,以实现子代粒子取代父代粒子。中央处理设备还可以对所述粒子群中的粒子进行变异,并将变异后得到的粒子的位置和速度发送到对应的变异前粒子,以实现变异更新。当然,以上是一种示例性的实施场景,还可以采用其他方式,比如,由其中一个飞行机器人来执行上述中央处理设备的处理。
图6为本说明书至少一个实施例提供的一种基于粒子群算法确定目标对象的位置的装置的结构示意图,如图6所示,该装置可以包括:数据确定模块61、交叉处理模块62、变异处理模块63和位置确定模块64。
数据确定模块61,用于确定粒子群中每个粒子的速度和位置;
交叉处理模块62,用于根据所述速度和位置,确定所述每个粒子的适应度值,所述适应度值与所述粒子和目标对象之间的距离相关;并根据所述适应度值的大小,对所述粒子群中各个粒子的适应度值排序,并由排序结果中选择适应度值较大的部分粒子进入交叉池,所述部分粒子根据粒子群规模和交叉概率确定,以由所述交叉池中选择粒子进行交叉;
变异处理模块63,用于对所述粒子群中的粒子进行变异;
位置确定模块64,用于当满足粒子群算法的终止条件时,将粒子群算法的最优解对应的位置作为所述目标对象的所在位置。
在一个例子中,数据确定模块61,具体用于:将所述粒子的适应度值与个体极值比较,若所述适应度值大于个体极值,则用所述粒子的位置替换掉所述个体极值;将所述粒子的适应度值与全局极值比较,若所述适应度值大于全局极值,则用所述粒子的位置替换掉所述全局极值;根据更新后的所述个体极值和全局极值,更新所述粒子的速度和位置。
在一个例子中,变异处理模块63,具体用于对所述粒子群中的粒子进行高斯变异。
在一个例子中,所述粒子群中的粒子是用于进行搜索的机器人;所述个体极值是所述机器人与目标对象的最近位置;
所述全局极值是粒子群中的所有机器人与目标对象的最近位置;
所述适应度值,表示所述机器人接收到的目标对象发出的信号强度的大小,信号越强,所述适应度值越大。
上述方法实施例中所示流程中的各个步骤,其执行顺序不限制于流程图中的顺序。此外,各个步骤的描述,可以实现为软件、硬件或者其结合的形式,例如,本领域技术人员可以将其实现为软件代码的形式,可以为能够实现所述步骤对应的逻辑功能的计算机可执行指令。当其以软件的方式实现时,所述的可执行指令可以存储在存储器中,并被设备中的处理器执行。
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软 件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书至少一个实施例还提供了一种基于粒子群算法确定目标对象的位置的设备,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
初始化粒子群中每个粒子的位置和速度;
计算所述每个粒子的适应度值;
对于所述每个粒子,通过将所述粒子的适应度值与个体极值和全局极值进行比较,更新所述粒子的速度和位置;
根据更新后的粒子的速度和位置,计算每个粒子的适应度值,并根据所述适应度值的大小进行排序;由排序结果中选择适应度值较大的前N个粒子进入交叉池,所述N由粒子群规模乘以交叉概率得到;所述N是自然数;所述适应度值越高,粒子和目标对象之间的距离越接近;
由所述交叉池中选择粒子进行交叉;
对所述粒子群中的粒子进行变异;
判断是否满足粒子群算法的终止条件,若满足,则将粒子群算法的最优解对应的位置作为目标对象的所在位置;否则,返回继续执行对粒子群中粒子的位置和速度的更新。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据采集设备或者数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。

Claims (12)

  1. 一种基于粒子群算法确定目标对象的位置的方法,所述方法包括:
    确定粒子群中每个粒子的速度和位置;
    根据所述速度和位置,确定所述每个粒子的适应度值,所述适应度值与所述粒子和目标对象之间的距离相关;
    根据所述适应度值的大小,对所述粒子群中各个粒子的适应度值排序,并由排序结果中选择适应度值较大的部分粒子进入交叉池,所述部分粒子根据粒子群规模和交叉概率确定,以由所述交叉池中选择粒子进行交叉;
    对所述粒子群中的粒子进行变异;
    当满足粒子群算法的终止条件时,将粒子群算法的最优解对应的位置作为所述目标对象的所在位置。
  2. 根据权利要求1所述的方法,所述由排序结果中选择适应度值较大的部分粒子进入交叉池,所述部分粒子根据粒子群规模和交叉概率确定,包括:
    由排序结果中选择适应度值较大的前N个粒子进入交叉池;
    所述N是由粒子群规模乘以交叉概率得到。
  3. 根据权利要求1所述的方法,
    所述确定粒子群中每个粒子的速度和位置,包括:
    初始化粒子群中每个粒子的位置和速度;
    计算所述每个粒子的适应度值;
    对于所述每个粒子,通过将所述粒子的适应度值与个体极值和全局极值进行比较,更新所述粒子的速度和位置;
    所述根据所述速度和位置确定所述每个粒子的适应度值,具体为:根据更新后的粒子的速度和位置,计算所述适应度值。
  4. 根据权利要求3所述的方法,所述每个粒子通过将自己的适应度值与个体极值和全局极值进行比较,更新所述粒子的速度和位置,包括:
    将所述粒子的适应度值与个体极值比较,若所述适应度值大于个体极值,则用所述粒子的位置替换掉所述个体极值;
    将所述粒子的适应度值与全局极值比较,若所述适应度值大于全局极值,则用所述粒子的位置替换掉所述全局极值;
    根据更新后的所述个体极值和全局极值,更新所述粒子的速度和位置。
  5. 根据权利要求3所述的方法,所述粒子群中的粒子是用于搜索目标对象的机器 人;
    所述个体极值是所述机器人与目标对象的最近位置;
    所述全局极值是粒子群中的所有机器人与目标对象的最近位置;
    所述适应度值,表示所述机器人接收到的目标对象发出的信号强度的大小,信号越强,所述适应度值越大。
  6. 根据权利要求1所述的方法,所述对所述粒子群中的粒子进行变异,具体为:对所述粒子群中的粒子进行高斯变异。
  7. 根据权利要求1所述的方法,所述由交叉池中选择粒子进行交叉,包括:
    随机的由所述交叉池中选择两个不同的粒子,作为父代粒子进行交叉;
    对交叉后得到的子代粒子计算适应度值;
    若所述子代粒子的适应度值比父代粒子的适应度值高,则由所述子代粒子取代父代粒子。
  8. 一种基于粒子群算法确定目标对象的位置的装置,所述装置包括:
    数据确定模块,用于确定粒子群中每个粒子的速度和位置;
    交叉处理模块,用于根据所述速度和位置,确定所述每个粒子的适应度值,所述适应度值与所述粒子和目标对象之间的距离相关;并根据所述适应度值的大小,对所述粒子群中各个粒子的适应度值排序,并由排序结果中选择适应度值较大的部分粒子进入交叉池,所述部分粒子根据粒子群规模和交叉概率确定,以由所述交叉池中选择粒子进行交叉;
    变异处理模块,用于对所述粒子群中的粒子进行变异;
    位置确定模块,用于当满足粒子群算法的终止条件时,将粒子群算法的最优解对应的位置作为所述目标对象的所在位置。
  9. 根据权利要求8所述的装置,
    所述数据确定模块,在用于确定粒子群中每个粒子的速度和位置时,包括:初始化粒子群中每个粒子的位置和速度;计算所述每个粒子的适应度值;对于所述每个粒子,通过将所述粒子的适应度值与个体极值和全局极值进行比较,更新所述粒子的速度和位置;所述根据所述速度和位置确定所述每个粒子的适应度值,具体为:根据更新后的粒子的速度和位置,计算所述适应度值。
  10. 根据权利要求9所述的装置,所述粒子群中的粒子是用于进行搜索的机器人;所述个体极值是所述机器人与目标对象的最近位置;
    所述全局极值是粒子群中的所有机器人与目标对象的最近位置;
    所述适应度值,表示所述机器人接收到的目标对象发出的信号强度的大小,信号越强,所述适应度值越大。
  11. 根据权利要求8所述的装置,
    所述变异处理模块,具体用于对所述粒子群中的粒子进行高斯变异。
  12. 一种基于粒子群算法确定目标对象的位置的设备,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至7任一所述的方法步骤。
PCT/CN2020/073825 2019-03-11 2020-01-22 一种基于粒子群算法确定目标对象位置的方法和装置 WO2020181934A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910181971.3 2019-03-11
CN201910181971.3A CN109961130A (zh) 2019-03-11 2019-03-11 一种基于粒子群算法确定目标对象位置的方法和装置

Publications (1)

Publication Number Publication Date
WO2020181934A1 true WO2020181934A1 (zh) 2020-09-17

Family

ID=67024207

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/073825 WO2020181934A1 (zh) 2019-03-11 2020-01-22 一种基于粒子群算法确定目标对象位置的方法和装置

Country Status (2)

Country Link
CN (1) CN109961130A (zh)
WO (1) WO2020181934A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220371709A1 (en) * 2021-05-21 2022-11-24 Wuhan University Of Technology Path planning system and method for sea-aerial cooperative underwater target tracking

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109961130A (zh) * 2019-03-11 2019-07-02 阿里巴巴集团控股有限公司 一种基于粒子群算法确定目标对象位置的方法和装置
CN112965530B (zh) * 2021-02-09 2024-03-19 辽宁警察学院 一种多无人机自适应变尺度动态目标搜索方法
CN112862057B (zh) * 2021-04-07 2023-11-03 京东科技控股股份有限公司 一种建模方法、装置、电子设备和可读介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120259600A1 (en) * 2011-04-11 2012-10-11 King Fahd University Of Petroleum And Minerals Method of identifying hammerstein models with known nonlinearity structures using particle swarm optimization
CN104638637A (zh) * 2014-12-08 2015-05-20 国家电网公司 基于agc与avc的协调优化控制方法
CN106126479A (zh) * 2016-07-07 2016-11-16 重庆邮电大学 基于遗传变异优化的二阶振荡粒子群盲源分离方法
CN106502092A (zh) * 2016-10-21 2017-03-15 东南大学 一种采用改进混合粒子群算法的热工过程模型参数辨识方法
CN107253442A (zh) * 2017-06-21 2017-10-17 太原科技大学 一种优化电液复合制动系统中制动力分配的方法
CN109039173A (zh) * 2018-08-09 2018-12-18 沈阳工业大学 一种基于杂交粒子群优化的pmlsm迭代学习控制方法及系统
CN109961130A (zh) * 2019-03-11 2019-07-02 阿里巴巴集团控股有限公司 一种基于粒子群算法确定目标对象位置的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296711B2 (en) * 2010-09-30 2012-10-23 Synopsys, Inc. Method and apparatus for using entropy in ant colony optimization circuit design from high level synthesis
CN107506821A (zh) * 2017-10-13 2017-12-22 集美大学 一种改进的粒子群优化方法
CN108399450A (zh) * 2018-02-02 2018-08-14 武汉理工大学 基于生物进化原则的改进粒子群算法
CN108846472A (zh) * 2018-06-05 2018-11-20 北京航空航天大学 一种自适应遗传粒子群混合算法的优化方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120259600A1 (en) * 2011-04-11 2012-10-11 King Fahd University Of Petroleum And Minerals Method of identifying hammerstein models with known nonlinearity structures using particle swarm optimization
CN104638637A (zh) * 2014-12-08 2015-05-20 国家电网公司 基于agc与avc的协调优化控制方法
CN106126479A (zh) * 2016-07-07 2016-11-16 重庆邮电大学 基于遗传变异优化的二阶振荡粒子群盲源分离方法
CN106502092A (zh) * 2016-10-21 2017-03-15 东南大学 一种采用改进混合粒子群算法的热工过程模型参数辨识方法
CN107253442A (zh) * 2017-06-21 2017-10-17 太原科技大学 一种优化电液复合制动系统中制动力分配的方法
CN109039173A (zh) * 2018-08-09 2018-12-18 沈阳工业大学 一种基于杂交粒子群优化的pmlsm迭代学习控制方法及系统
CN109961130A (zh) * 2019-03-11 2019-07-02 阿里巴巴集团控股有限公司 一种基于粒子群算法确定目标对象位置的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DENG, MING: "Intelligent collaborative task allocation algorithm research on mulit-AUVs", CHINA MASTER'S THESES FULL-TEXT DATABASE, ENGINEERING SCIENCE & TECHNOLOGY II, 15 June 2018 (2018-06-15), ISSN: 1674-0246, DOI: 20200407161233 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220371709A1 (en) * 2021-05-21 2022-11-24 Wuhan University Of Technology Path planning system and method for sea-aerial cooperative underwater target tracking

Also Published As

Publication number Publication date
CN109961130A (zh) 2019-07-02

Similar Documents

Publication Publication Date Title
WO2020181934A1 (zh) 一种基于粒子群算法确定目标对象位置的方法和装置
Deepak et al. Assembly sequence planning using soft computing methods: a review
CN107169608B (zh) 多无人机执行多任务的分配方法及装置
CN109690576A (zh) 在多个机器学习任务上训练机器学习模型
Hidalgo-Paniagua et al. MOSFLA-MRPP: Multi-objective shuffled frog-leaping algorithm applied to mobile robot path planning
Dames et al. Autonomous localization of an unknown number of targets without data association using teams of mobile sensors
Yu et al. A knee-guided differential evolution algorithm for unmanned aerial vehicle path planning in disaster management
CN108801266B (zh) 一种多无人机对不确定环境搜索的航迹规划方法
Jalali et al. Autonomous robot navigation system using the evolutionary multi-verse optimizer algorithm
Wang et al. Rank-driven salp swarm algorithm with orthogonal opposition-based learning for global optimization
Mcgill et al. Robot algorithms for localization of multiple emission sources
Hu et al. HG-SMA: hierarchical guided slime mould algorithm for smooth path planning
Gaier et al. Data-efficient neuroevolution with kernel-based surrogate models
Wang et al. Research on dynamic path planning of wheeled robot based on deep reinforcement learning on the slope ground
Hamami et al. A systematic review on particle swarm optimization towards target search in the swarm robotics domain
CN115129064A (zh) 基于改进萤火虫算法与动态窗口法融合的路径规划方法
Surynek On Satisfisfiability Modulo Theories in Continuous Multi-Agent Path Finding: Compilation-based and Search-based Approaches Compared.
Haasdijk et al. Racing to improve on-line, on-board evolutionary robotics
Baioletti et al. Smart multi-objective evolutionary GAN
Cui et al. Improved multi-objective artificial bee colony algorithm-based path planning for mobile robots
EP4137997B1 (en) Methods and system for goal-conditioned exploration for object goal navigation
Ma et al. Exploiting bias for cooperative planning in multi-agent tree search
CN114964247A (zh) 基于高阶图卷积神经网络的人群感知导航方法及系统
Tian et al. ASAP: Automated Sequence Planning for Complex Robotic Assembly with Physical Feasibility
Mishra et al. Weapon target assignment problem: multi-objective formulation, optimisation using MOPSO and TOPSIS

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20769169

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20769169

Country of ref document: EP

Kind code of ref document: A1