CN113408728B - Population individual initialization method and device in genetic algorithm - Google Patents

Population individual initialization method and device in genetic algorithm Download PDF

Info

Publication number
CN113408728B
CN113408728B CN202110651526.6A CN202110651526A CN113408728B CN 113408728 B CN113408728 B CN 113408728B CN 202110651526 A CN202110651526 A CN 202110651526A CN 113408728 B CN113408728 B CN 113408728B
Authority
CN
China
Prior art keywords
individuals
initial
population
search
individual
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN202110651526.6A
Other languages
Chinese (zh)
Other versions
CN113408728A (en
Inventor
姜雪松
李�浩
井立超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qilu University of Technology
Original Assignee
Qilu University of Technology
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 Qilu University of Technology filed Critical Qilu University of Technology
Priority to CN202110651526.6A priority Critical patent/CN113408728B/en
Publication of CN113408728A publication Critical patent/CN113408728A/en
Application granted granted Critical
Publication of CN113408728B publication Critical patent/CN113408728B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Genetics & Genomics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Physiology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses a method and a device for initializing population individuals in a genetic algorithm, wherein the method comprises the following steps: processing the boundary of the function based on uniform design to generate a uniformly covered initial individual; optimizing the generated initial individuals based on local search to generate optimized initial individuals; performing polymerization treatment on the optimized initial individuals; and clustering the initial individuals after the polymerization treatment to construct an initial population. The invention combines the establishment, optimization and combination of initial population individuals, so that new population individuals are made at the cost of only increasing initialization time before iteration, and the time consumption, fitness function, convergence and other aspects of the iteration process are more advantageous compared with the existing initialization method, thereby further improving the performance of the genetic algorithm.

Description

Population individual initialization method and device in genetic algorithm
Technical Field
The invention relates to a method and a device for initializing population individuals in a genetic algorithm, and belongs to the technical field of robot calibration.
Background
Genetic algorithm is a search algorithm for solving optimization in computational mathematics, and is one of evolutionary algorithms. Evolutionary algorithms were originally developed by using some phenomena in evolutionary biology, including inheritance, mutation, natural selection, and hybridization. Genetic algorithms are usually implemented as a computer simulation, where for an optimization problem a population of abstract representations (called chromosomes) of a certain number of candidate solutions (called individuals) evolves towards better solutions.
The initialization of the population is crucial to the convergence of the genetic algorithm and also influences the speed of searching for excellent population individuals, the initial population individuals with high quality have a good help to solve the problem of poor searching capability of the genetic algorithm, and a large number of population initialization methods are randomly generated, such as a method based on Pseudo Random Numbers (PRNGs) obtained through 'seed values' and a method based on a chaotic generator. The random strategy can make the initial population individual quality difficult to be kept at a high level, and meanwhile, all population individuals cannot be guaranteed to cover all search areas, so that the algorithm usually needs more iteration times and more time to find the foreground space.
Aiming at the problem of low-quality population individuals caused by random initialization, a plurality of new population initialization methods are created by introducing a local search correlation algorithm, a professional sampling method of statistical discipline and the like in the population initialization process. Through clustering and Cauchy variation, bajer, brest and the like view-recognize a part with better prospect in a near search area, and generate a relatively better solution scheme near the part, so that the method has certain reference significance for a high-dimensional population initialization method and can provide a relatively good initial position; poikolainen, neri and the like provide an intelligent population initialization differential evolution framework, namely, the population initialization based on clusters uses the technologies of random generation, local search, clustering and the like, and the algorithm performance is improved; elsayed Saber and Sarker Ruhul et al propose a sequence-based initialization method, which improves the coverage rate of initial individuals on a search space and can relatively improve the chance of obtaining an optimal solution.
However, the existing population initialization algorithm has the following disadvantages: 1) The algorithm has high complexity, for example, a population initialization method of reverse learning needs the support of fitness function values of all individuals to select the optimal initial population individuals, which of course needs extra large amount of calculation; 2) Although the random method is simple to operate and has low algorithm complexity, the quality of the initial population individuals obtained randomly can influence the performance of the genetic algorithm in the subsequent iteration process; 3) Although initial population individuals generated by sequence-based population initialization ensure the coverage of the whole search space, the quality of the initial population individuals is very different, and high-quality individuals and poor-quality individuals are not screened, so that search resources occupied by independent poor-quality individuals in the population are likely to be wasted.
Disclosure of Invention
In order to solve the above problems, the present invention provides a method and an apparatus for initializing population individuals in a genetic algorithm, which can further improve the performance of the genetic algorithm.
The technical scheme adopted for solving the technical problem is as follows:
in a first aspect, an embodiment of the present invention provides a method for initializing population individuals in a genetic algorithm, including the following steps:
processing the boundary of the function based on uniform design to generate a uniform coverage initial individual;
optimizing the generated initial individuals based on local search to generate optimized initial individuals;
performing polymerization treatment on the optimized initial individuals;
and clustering the initial individuals after the polymerization treatment to construct an initial population.
As a possible implementation manner of this embodiment, the processing the boundary of the function based on the uniform design to generate the uniform coverage initial individual includes:
dividing the plane space of the boundary of the solved function into m by m in an orthogonal equal way to obtain m by m orthogonal uniform coverage solutions, wherein m is a positive integer;
setting a uniform design table to the initialized population individuals, wherein the uniform design table is Um (m) n ) Wherein x is the initialized population individual, n = INT (x) × 2+1;
and dividing the whole search space into m × n subspaces according to a uniform design table, and taking orthogonal initialized individuals close to the centers of the subspaces as data of the initial population individuals.
As a possible implementation manner of this embodiment, the optimizing the generated initial individual based on the local search, and the generating the optimized initial individual includes:
calculating the objective function value f (x) of each initial population i ) Then, calculating values f (j) of other points in the adjacent cross direction, wherein j belongs to (1,2,3,4);
if the function value of one point is more optimal, the search is successful, then x i Changing to a more optimal point coordinate, centering on the latest point coordinate in the next search, expanding the search range by using a new step length = an old step length and an acceleration variable alpha, wherein alpha is more than or equal to 1, if no such point is found, the search is failed, and the search still uses x i As a center, new step = old step × reduction ratio β reduces the search range, 0<β<1;
The above search operation is repeated until the step size is smaller than the search precision epsilon.
As a possible implementation manner of this embodiment, the performing aggregation processing on the optimized initial individuals includes:
determining two distances T 1 And T 2 ,T 1 >T 2 (ii) a Randomly picking one individual x out of the optimized initial individuals i As a sphere center, calculating the distance d from other individuals in the individual set to the sphere center, and calculating d<T 2 Is removed from the individual set, T 2 <d<T 1 Is drawn into canty, the operation is repeated until the collection of individuals is empty.
As a possible implementation manner of this embodiment, the clustering the aggregated initial individuals to construct an initial population includes:
determining the center of the K-means method according to the canty center;
calculating the distance from each sample individual to each centroid;
determining cluster markers of the sample according to the closest centroids;
configuring all samples into each cluster;
updating the centroid of each cluster, wherein the centroid is the mean of all samples contained in the cluster;
circularly iterating the above process until the centers of all the subsections are not changed; or otherwise set stop conditions.
In a second aspect, an embodiment of the present invention provides an apparatus for initializing population individuals in a genetic algorithm, including:
the uniform design module is used for processing the boundary of the function based on uniform design to generate a uniformly covered initial individual;
the optimization module is used for optimizing the generated initial individuals based on local search to generate optimized initial individuals;
the aggregation module is used for carrying out aggregation treatment on the optimized initial individuals;
and the clustering module is used for clustering the initial individuals after the aggregation processing to construct an initial population.
As a possible implementation manner of this embodiment, the uniformly designing module includes:
the space orthogonal module is used for dividing the plane space orthogonality of the boundary of the solved function into m to obtain m orthogonal uniform coverage solutions, wherein m is a positive integer;
a design table setting module for setting a uniform design table for initialized population individuals, wherein the uniform design table is Um (m) n ) Wherein x is the initialized population individual, n = INT (x) × 2+1;
and the space dividing module is used for dividing the whole search space into m × n subspaces according to a uniform design table, and the orthogonal initialization individuals close to the centers of the subspaces are used as the data of the initial population individuals.
As a possible implementation manner of this embodiment, the optimization module is specifically configured to:
calculating the objective function value f (x) of each initial population i ) Then, calculating values f (j) of other points in the adjacent cross direction, wherein j belongs to (1,2,3,4);
if the function value of one point is more optimal, the search is successful, then x i Changing to a more optimal point coordinate, centering on the latest point coordinate in the next search, expanding the search range by using a new step length = an old step length and an acceleration variable alpha, wherein alpha is more than or equal to 1, if no such point is found, the search is failed, and the search still uses x i As a center, new step = old step × reduction ratio β reduces the search range, 0<β<1;
The above search operation is repeated until the step size is smaller than the search precision epsilon.
As a possible implementation manner of this embodiment, the aggregation module is specifically configured to:
determining two distances T 1 And T 2 ,T 1 >T 2 (ii) a Randomly picking one individual x out of the optimized initial individuals i As a sphere center, calculating the distance d from other individuals in the individual set to the sphere center, and calculating d<T 2 Is removed from the individual set, T 2 <d<T 1 Is drawn into canty, the operation is repeated until the collection of individuals is empty.
As a possible implementation manner of this embodiment, the clustering module is specifically configured to:
determining the center of the K-means method according to the canty center;
calculating the distance from each sample individual to each centroid;
determining cluster markers of the sample according to the closest centroids;
configuring all samples into each cluster;
updating the centroid of each cluster, wherein the centroid is the mean of all samples contained in the cluster;
circularly iterating the above process until the centers of all the subsections are not changed; or otherwise set stop conditions.
The technical scheme of the embodiment of the invention has the following beneficial effects:
the technical scheme of the embodiment of the invention combines the establishment, optimization and combination of the initial population individuals, so that the new population individuals are at the cost of only increasing the initialization time before iteration, the time consumption, fitness function, convergence and other aspects of the iteration process are more advantageous compared with the existing initialization method, and the performance of the genetic algorithm is further improved.
According to the technical scheme of the embodiment of the invention, the uniform design method in the test design method is introduced into population initialization, so that population individuals are ensured not to decrease in granularity of a search space and the number of the population individuals can still be controlled not to increase rapidly under the condition of ensuring full coverage of the search space, highly similar population individuals are clustered and combined, and the burden of space search is reduced, so that the time in the iterative process of a genetic algorithm is shorter; the local search in the initialization process improves the efficiency of space search in the subsequent genetic iteration process, so that the algorithm can be more effectively and stably converged to the function optimal value.
Description of the drawings:
FIG. 1 is a flow diagram illustrating a method for population individual initialization in a genetic algorithm in accordance with an exemplary embodiment;
FIG. 2 is a block diagram illustrating an apparatus for population individual initialization in a genetic algorithm in accordance with an exemplary embodiment;
FIG. 3 is a diagram illustrating convergence during an initial iteration of various trial functions, in accordance with an exemplary embodiment;
FIG. 4 is a diagram illustrating convergence in the middle of an iteration of various trial functions, according to an exemplary embodiment;
FIG. 5 is a diagram illustrating convergence at a later stage of an iteration of various trial functions, according to an example embodiment.
Detailed Description
The invention is further illustrated by the following examples in conjunction with the accompanying drawings:
in order to clearly explain the technical features of the present invention, the following detailed description of the present invention is provided with reference to the accompanying drawings. The following disclosure provides many different embodiments, or examples, for implementing different features of the invention. To simplify the disclosure of the present invention, the components and arrangements of specific examples are described below. Furthermore, the present invention may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed. It should be noted that the components illustrated in the figures are not necessarily drawn to scale. Descriptions of well-known components and processing techniques and procedures are omitted so as to not unnecessarily limit the invention.
Example 1
FIG. 1 is a flow chart illustrating a method of population individual initialization in a genetic algorithm according to an exemplary embodiment. As shown in fig. 1, an embodiment of the present invention provides a method for initializing population individuals in a genetic algorithm, including the following steps:
processing the boundary of the function based on uniform design to generate a uniform coverage initial individual;
optimizing the generated initial individuals based on local search to generate optimized initial individuals;
performing polymerization treatment on the optimized initial individuals;
and clustering the initial individuals subjected to the polymerization treatment to construct an initial population.
In the embodiment, the uniform design method in the test design method is introduced into the population initialization, so that the population individuals are ensured not to decrease the granularity of the search space and the population individual number can still be controlled not to increase rapidly under the condition of ensuring the full coverage of the search space; then, optimizing the initial population individuals through local search (such as step search), changing the low-quality individuals and accelerating the convergence speed; then, the calculation amount of the genetic algorithm is reduced under the condition of not influencing the performance of the genetic algorithm through a coarse clustering (canty) algorithm and a fine clustering (K-means) algorithm.
As a possible implementation manner of this embodiment, the processing the boundary of the function based on the uniform design to generate the uniform coverage initial individual includes:
dividing the plane space of the boundary of the solved function into m by m in an orthogonal equal way to obtain m by m orthogonal uniform coverage solutions, wherein m is a positive integer;
setting a uniform design table for initialized population individuals, wherein the uniform design table is Um (m) n ) Wherein x is the initialized population individual, n = INT (x) × 2+1;
and dividing the whole search space into m × n subspaces according to a uniform design table, and taking orthogonal initialized individuals close to the centers of the subspaces as data of the initial population individuals.
The coverage of the population initial individuals on the whole search space is similar to the idea of uniform dispersion of the test points in the test design method, so the uniform design method for ensuring the uniformity of the test points in the test design method can be referred. When a multi-level test is used for meeting the condition range, the uniform design can still enable the test times to be slowly increased, and the sampling requirement can be basically met only by the test times being equal to the condition number of factors. Therefore, the process of selecting the uniform design method to guide population initialization can control the number of initialized populations as much as possible under the condition of ensuring uniform coverage of the search space, and the operation burden of subsequent operation is reduced.
As a possible implementation manner of this embodiment, the optimizing the generated initial individual based on the local search, and the generating the optimized initial individual includes:
calculating the objective function value f (x) of each initial population i ) Then calculate itThe values f (j), j e (1,2,3,4) of other points in the adjacent cross direction;
if the function value of one point is more optimal, the search is successful, then x i Changing the point coordinate into a more optimal point coordinate, taking the latest point coordinate as the center when searching next time, and expanding the searching range by using a new step length = an old step length and an acceleration variable alpha, wherein the alpha is more than or equal to 1; if no such point is found, it indicates a search failure, still by x i As a center, new step = old step-reduction ratio β reduces the search range, 0 < β < 1, i.e. x is when there are no more optimal point coordinates around i Maintaining an original coordinate, namely the coordinate before the search;
the above search operation is repeated until the step size is smaller than the search precision epsilon.
After the search space is divided equally by the initial population individuals generated in the previous section, local search is carried out by using a Hookee-like algorithm from the initial individuals at the center of each sub-search space, and the initial individuals generated by the uniform design method are replaced by the individuals with better local.
Taking a local search process of one of the initial individuals as an example, a specific local search process is roughly as follows:
[1]setting initial population individual x 1 The search space of (1) is D, the initial step length is delta, the acceleration variable of the step is alpha (alpha is more than or equal to 1), the reduction rate is beta (0 < beta < 1), the step search precision is epsilon (epsilon is more than 0), ej = (0, …,0,1,0, …, 0) T, j =1,2, …, n, order y 1 =x 1 ,k=1,j=1.
[2]And (4) axial searching. Reference point from the initial point y j Initially, the individuals better than the individuals of the current population are found along the direction of the component of x with a set step length δ, so that
Figure BDA0003110062800000081
[4]After the step search in each direction of the x-axis is completed, let f (y) n+1 )<f(x k ) If not, the step distance is readjusted and then the search is carried out.
[5]And (4) searching modes. With y n+1 =x k+1 Is a condition of y 1 =x k+1 +α(x k+1 -x k ) The population individuals under establishment serve as new reference individuals, and k: k +1,j =1. And after the obtained new reference individual is determined, turning to 2) to continue searching.
[6]And adjusting the stepping distance. If delta is ≦ ε, the search is ended, x k The population individuals after optimization are obtained; otherwise, let δ: = β δ, y 1 =x k ,x k =x k+1 Let k: k +1, j =1, continue to rotate [2 ]]A search is conducted.
And carrying out local search on the population individuals obtained by uniform design in the sub-search space corresponding to the population individuals to obtain better individuals, replacing the initial uniformly designed individuals, and preparing for population aggregation in the same foreground space.
As a possible implementation manner of this embodiment, the performing aggregation processing on the optimized initial individuals includes:
determining two distances T 1 And T 2 ,T 1 >T 2 (ii) a Randomly taking one individual x from the optimized initial individuals i As a canopy center, calculating the distance d from other individuals in the individual set to the canopy center, and calculating d<T 2 Is removed from the individual set, T 2 <d<T 1 Until the individual set is empty, i.e., all divisions are completed.
When the clustering is performed by the method of the class K-means, the speed and the effect of clustering are affected by the selection of the clustering center, so that the preliminary clustering needs to be performed to make a reference for selecting the clustering center for the next section of clustering.
Canopy belongs to a rough clustering method, data are divided into a plurality of sub-Canopy through calculation and comparison of distances between points, the algorithm is low in precision, and the algorithm can be used as a preposition method of a next section. Two distances T 1 And T 2 The choice of (c) can be determined approximately by cross-validation. The similarity of genes can be used as a distance index in the canty method in the population initialization process of the genetic algorithmAnd (4) marking.
As a possible implementation manner of this embodiment, the clustering the initial individuals after the aggregation to construct the initial population includes:
determining the center of the K-means method according to the canty center;
calculating the distance from each sample individual to each centroid
Determining cluster labels for samples from nearest centroids
Configuring all samples into respective clusters
Updating the centroid of each cluster, which is the mean of all samples contained in that cluster
Circularly iterating the above process until the centers of all the sub-parts are not changed; or other set stop conditions are reached, such as the number of iterations reaching a maximum value, the squared difference being less than a desired value, etc.
The K-means algorithm cluster is a method cluster for finding a given data set, and can be used for clustering the data set so as to obtain a desired foreground space, combining similar population initial individuals and reducing the calculation amount of each iteration of a subsequent genetic algorithm. Distances can be specifically quantified in genetic algorithms by the similarity between genes. Because the K value of the standard K-means algorithm needs to be adjusted and parameters, the standard K-means algorithm is sensitive to the initial centroid and the like, the improved K-means-like algorithm is generally used, and the centroid problem is solved in the previous sections, so that a good result can be obtained by using the standard K-means method.
As shown in fig. 2, an apparatus for initializing population individuals in a genetic algorithm according to an embodiment of the present invention includes:
the uniform design module is used for processing the boundary of the function based on uniform design to generate a uniformly covered initial individual;
the optimization module is used for optimizing the generated initial individuals based on local search to generate optimized initial individuals;
the aggregation module is used for carrying out aggregation treatment on the optimized initial individuals;
and the clustering module is used for clustering the initial individuals after the aggregation processing to construct an initial population.
As a possible implementation manner of this embodiment, the uniformly designing module includes:
the space orthogonal module is used for dividing the plane space of the boundary of the function into m by m in an orthogonal equal way to obtain m by m orthogonal uniform coverage solutions, wherein m is a positive integer;
a design table setting module for setting a uniform design table for initialized population individuals, wherein the uniform design table is Um (m) n ) Wherein x is the initialized population individual, n = INT (x) × 2+1;
and the space dividing module is used for dividing the whole search space into m × n subspaces according to a uniform design table, and the orthogonal initialization individuals close to the centers of the subspaces are used as the data of the initial population individuals.
As a possible implementation manner of this embodiment, the optimization module is specifically configured to:
calculating the objective function value f (x) of each initial population i ) Then, calculating values f (j) of other points in the adjacent cross direction, wherein j belongs to (1,2,3,4);
if the function value of one point is more optimal, then the search is successful, then x i Changing to a more optimal point coordinate, centering on the latest point coordinate in the next search, expanding the search range by using a new step length = an old step length and an acceleration variable alpha, wherein alpha is more than or equal to 1, if no such point is found, the search is failed, and the search still uses x i As a center, new step = old step × reduction ratio β reduces the search range, 0<β<1;
The above search operation is repeated until the step size is smaller than the search precision epsilon.
As a possible implementation manner of this embodiment, the aggregation module is specifically configured to:
determining two distances T 1 And T 2 ,T 1 >T 2 (ii) a Randomly picking one individual x out of the optimized initial individuals i As a synopy center, calculating the distance d from other individuals in the individual set to the synopy center, and making d < T 2 Is removed from the individual set, T 2 <d<T 1 Is drawn into a sphere, and is,the operation is repeated until the set of individuals is empty.
As a possible implementation manner of this embodiment, the clustering module is specifically configured to:
determining the center of the K-means method according to the canty center;
calculating the distance from each sample individual to each centroid
Determining cluster labels for samples from nearest centroids
Configuring all samples into respective clusters
Updating the centroid of each cluster, which is the mean of all samples contained in that cluster
Circularly iterating the above process until the centers of all the subsections are not changed; or otherwise set stop conditions.
The device of the invention is used for initializing population individuals in genetic algorithm, and the population individuals are initialized according to a unimodal function Zakharoy in CEC2017 function set: y = x 1 2 +x 2 2 +(0.5(x 1 +x 2 )) 2 +(0.5(x 1 + x 2) 4, the minimum value of the function is 0.
1. Uniform design method
First, from the boundary x of the function sought 1 ∈[-5,10]、x 2 ∈[-5,10]The planar space of the solution is divided into 100 x 100 in an orthogonal way, and the obtained orthogonal uniform coverage solution (10000) parts are as follows:
[ -4.92500000, -4.92500000] [ -4.92500000, -4.77500000] [ -4.92500000, -4.62500000] [ -4.92500000, -4.47500000] [ -4.92500000, -4.32500000] [ -4.92500000, -4.17500000] [ -4.92500000,4.02500000] [4.92500000,4.02500000 ]. Somewhat 4.92500000,4.02500000 [4.92500000,4.02500000 ] [4.92500000,4.02500000 ] [4.92500000,4.02500000 ] [4.92500000,4.02500000 ] [4.92500000,4.02500000 ] [4.92500000,4.02500000 ] [4.92500000,4.02500000 ] [ 6258 ] z xft 6258
Since the data amount of the orthogonal equal division is too large, it is assumed here that 50 individuals are used as the initialized population individuals, it is possible to use the U17 × 175 table (table 1) as the uniform design table by referring to the relevant data of the uniform design table, and when s =3, that is, 3 rows in total, i.e., 1,2, and 4 rows, is used in cooperation with the corresponding use table (table 2), 3 × 17=51 partitioned spaces, that is, 51 initial population individuals, are closest to the number of 50 initial population individuals scheduled to be used. The whole search space is divided into 17 × 5 subspaces according to a uniform design table, and orthogonal initialization individuals close to the centers of the subspaces can be used as data of the initial population individuals.
TABLE 1.U 17 * (17 5 ) Uniform design table
Figure BDA0003110062800000121
TABLE 2.U 17 * (17 5 ) Use the table
Figure BDA0003110062800000122
Figure BDA0003110062800000131
The following initial population individual (51) coordinates were obtained from the results of columns 1,2, and 4 of the uniform design taking the orthogonal results:
[-4.92500000,-4.92500000][-4.92500000,-4.04300000][-4.92500000,-3.16100000][-4.92500000,-2.27900000][-4.92500000,-1.39700000][-4.92500000,-0.51500000][-4.92500000,0.36700000][-4.92500000,1.24900000][-4.92500000,2.13100000][-4.92500000,3.01300000][-4.92500000,3.89500000][-4.92500000,4.77700000][-4.92500000,5.65900000][-4.92500000,6.54100000][-4.92500000,7.42300000][-4.92500000,8.30500000][-4.92500000,9.18700000][-4.92500000,10.06900000][-1.92500000,-4.92500000][-1.92500000,-4.04300000][-1.92500000,-3.16100000][-1.92500000,-2.27900000][-1.92500000,-1.39700000][-1.92500000,-0.51500000][-1.92500000,0.36700000][-1.92500000,1.24900000][-1.92500000,2.13100000][-1.92500000,3.01300000][-1.92500000,3.89500000][-1.92500000,4.77700000][-1.92500000,5.65900000][-1.92500000,6.54100000][-1.92500000,7.42300000][-1.92500000,8.30500000][-1.92500000,9.18700000][-1.92500000,10.06900000][4.07500000,-4.92500000][4.07500000,-4.04300000][4.07500000,-3.16100000][4.07500000,-2.27900000][4.07500000,-1.39700000][4.07500000,-0.51500000][4.07500000,0.36700000][4.07500000,1.24900000][4.07500000,2.13100000][4.07500000,3.01300000][4.07500000,3.89500000][4.07500000,4.77700000][4.07500000,5.65900000][4.07500000,6.54100000][4.07500000,7.42300000]。
2. local search (the embodiment uses step search)
The step search is to let each point in the direction of the independent variable, select a point with a better result than the current point in the adjacent range as the current point to be searched next time, and use the step length L < the step precision e =0.0005 as the ending condition of the local optimization iterative process.
All initial points have been determined, i.e. the 51 population individuals obtained by the uniform design method in the previous step, and then since there are two independent variables, the search direction is advanced along the direction of the two independent variables by the currently set step length L =0.0075, i.e. the search is performed in the cross direction on the solution plane.
The method comprises the following specific steps:
(1) the objective function value f (x) of each initial population (51 points) is calculated i ) Then, the values f (j), j ∈ (1,2,3,4) of the other points in the adjacent cross direction are calculated.
(2) If the function value of one point is more optimal, the search is successful, then x i The point coordinate is changed to be more optimal, the next search is centered on the latest point coordinate, the new step = the old step = the acceleration variable α =1.5 (α ≧ 1), the search range is expanded, if such a point is not found, the search is failed, and x is still used i As a center, new step = old step × reduction ratio β =0.5 (0)<β<1) And the search range is narrowed.
(3) The operation of (2) is repeated, resulting in a termination condition (step < epsilon).
For example, one population is [ -4.925, -4.925]The point values of the adjacent cross directions are 659.20, 663.00, 659.20 and 663.00, and one coordinate of the optimal value is the current value [ x 1 ,x 2 ](ii) a Then (new) L = (old) L0.5, continue repeating the first step, and repeating the cycle, if each point in the adjacent cross direction is better than the center point, then (new) L = (old) L1.5, until L<=0.0005 stop.
Each population initial point obtains the following data through the step searching steps, wherein the first value is a function value, the second value is a third value, and the third value is x 1 、x 2
[627.52439578,-4.85750000,-4.85750000][439.36882645,-4.85750000,-3.97550000][297.73775423,-4.85750000,-3.08600000][196.32514961,-4.85750000,-2.20400000][126.51258548,-4.85750000,-1.32950000][80.02730675,-4.85750000,-0.44000000][52.59409069,-4.85750000,0.43450000][38.28930633,-4.85750000,1.31650000][33.30855899,-4.85750000,2.20600000][33.99673248,-4.85750000,2.93800000][38.52922346,-4.85750000,3.82000000][45.71019186,-4.85750000,4.70200000][54.92572376,-4.85750000,5.58400000][66.46965392,-4.85750000,6.46600000][81.54356568,-4.85750000,7.34800000][102.14396265,-5.00000000,8.23000000][130.12435876,-5.00000000,9.11200000][169.99038223,-5.00000000,9.99400000][165.39457950,-1.85750000,-4.85750000][100.11244267,-1.85750000,-3.97550000][56.40982784,-1.85750000,-3.08600000][29.43879481,-1.85750000,-2.20400000][14.20486995,-1.85750000,-1.32950000][6.70494708,-1.85750000,-0.44000000][4.40159984,-1.85750000,0.43450000][4.95901593,-1.85750000,1.17400000][7.68738985,-1.85750000,2.05600000][12.45920845,-1.85750000,2.93800000][19.93264094,-1.85750000,3.82000000][31.26536369,-2.00000000,4.70200000][48.70453648,-2.00000000,5.58400000][75.65852299,-2.00000000,6.46600000][116.26982688,-2.00000000,7.34800000][175.58870040,-2.00000000,8.23000000][259.57314446,-2.00000000,9.11200000][375.08890857,-2.00000000,9.99400000][39.81292502,4.00000000,-4.85750000][31.80475034,4.00000000,-3.97550000][25.77586290,4.00000000,-3.08600000][22.31430741,4.00000000,-2.20400000][22.31711251,4.00000000,-1.47200000][27.70591935,4.00000000,-0.59000000][41.89951546,4.00000000,0.29200000][68.86132482,4.00000000,1.17400000][113.46252004,4.00000000,2.05600000][181.48202235,4.00000000,2.93800000][279.60650161,4.00000000,3.82000000][415.43037630,4.00000000,4.70200000][597.45581353,4.00000000,5.58400000][835.09272904,4.00000000,6.46600000][1138.65878716,4.00000000,7.34800000][1519.37940090,4.00000000,8.23000000][1989.38773185,4.00000000,9.11200000][2561.72469024,4.00000000,9.99400000]。
3. Coarse clustering
Coarse clustering uses the canty algorithm:
first, two distances T are set 1 T 2 6 and 3 respectively, and then randomly selecting an initial individual from the second step results, such as [627.52439578, -4.85750000, -4.85750000]As the centroid of the first crop and deleted from the individual set; then randomly selecting an individual from the result set such as [116.26982688, -2.00000000,7.34800000]Calculating the distances from the center of mass to all the center of mass, wherein only one center of mass exists, and the distance between the center of mass and the center of mass exceeds T 1 Thus, the second individual forms a new centroid and is deleted from the set of individuals; taking another individual, if the minimum distance is less than T 2 Adding the cluster of the centroid and deleting from the individual set if the cluster is larger than T 2 Then form a new centroid and delete it from the individual set if the distance is at T 1 T 2 And only adding clusters without deleting, and circulating until the individual cluster of the clusters is empty.
The individual set of the second step can be divided into 11 clusters by the above steps:
[196.32514961,-4.85750000,-2.20400000][297.73775423,-4.85750000,-3.08600000][627.52439578,-4.85750000,-4.85750000][52.59409069,-4.85750000,0.43450000][80.02730675,-4.85750000,-0.44000000][439.36882645,-4.85750000,-3.97550000][126.51258548,-4.85750000,-1.32950000];
[4.95901593,-1.85750000,1.17400000][12.45920845,-1.85750000,2.93800000][6.70494708,-1.85750000,-0.44000000][14.20486995,-1.85750000,-1.32950000][19.93264094,-1.85750000,3.82000000][7.68738985,-1.85750000,2.05600000][4.40159984,-1.85750000,0.43450000];
[1519.37940090,4.00000000,8.23000000][1989.38773185,4.00000000,9.11200000][1138.65878716,4.00000000,7.34800000][2561.72469024,4.00000000,9.99400000];
[68.86132482,4.00000000,1.17400000][41.89951546,4.00000000,0.29200000][113.46252004,4.00000000,2.05600000];
[45.71019186,-4.85750000,4.70200000][54.92572376,-4.85750000,5.58400000][81.54356568,-4.85750000,7.34800000][31.26536369,-2.00000000,4.70200000][48.70453648,-2.00000000,5.58400000][38.52922346,-4.85750000,3.82000000][33.99673248,-4.85750000,2.93800000][33.30855899,-4.85750000,2.20600000][66.46965392,-4.85750000,6.46600000];
[22.31430741,4.00000000,-2.20400000][31.80475034,4.00000000,-3.97550000][25.77586290,4.00000000,-3.08600000][27.70591935,4.00000000,-0.59000000][22.31711251,4.00000000,-1.47200000][39.81292502,4.00000000,-4.85750000];
[259.57314446,-2.00000000,9.11200000][75.65852299,-2.00000000,6.46600000][116.26982688,-2.00000000,7.34800000][175.58870040,-2.00000000,8.23000000][375.08890857,-2.00000000,9.99400000];
[415.43037630,4.00000000,4.70200000][597.45581353,4.00000000,5.58400000][181.48202235,4.00000000,2.93800000][279.60650161,4.00000000,3.82000000][835.09272904,4.00000000,6.46600000];
[169.99038223,-5.00000000,9.99400000][102.14396265,-5.00000000,8.23000000][130.12435876,-5.00000000,9.11200000];
[100.11244267,-1.85750000,-3.97550000][165.39457950,-1.85750000,-4.85750000][56.40982784,-1.85750000,-3.08600000][29.43879481,-1.85750000,-2.20400000];
[38.28930633,-4.85750000,1.31650000]。
the 11 clusters are the basis of the fourth step of fine clustering.
4. Fine clustering (K-Means algorithm)
a) Determining the center of the K-means method according to the center (sphere center) obtained in the previous section of preliminary polymerization;
b) Calculating the distance from each sample individual to each centroid
c) Determining cluster labels for samples from nearest centroids
d) Configuring all samples into respective clusters
e) Updating the centroid of each cluster, which is the mean of all samples contained in that cluster
f) Circularly iterating the above process until the centers of all the subsections are not changed; or otherwise set stop conditions are reached (e.g., the number of iterations reaches a maximum value, the squared difference is less than a desired value, etc.).
Determining the initial center of the K-means method through 11 clustering clusters of the results in the previous step as follows:
[196.32514961,-4.85750000,-2.20400000],
[4.95901593,-1.85750000,1.17400000],
[1519.37940090,4.00000000,8.23000000],
[68.86132482,4.00000000,1.17400000],
[45.71019186,-4.85750000,4.70200000],
[22.31430741,4.00000000,-2.20400000],
[259.57314446,-2.00000000,9.11200000],
[415.43037630,4.00000000,4.70200000],
[169.99038223,-5.00000000,9.99400000],
[100.11244267,-1.85750000,-3.97550000],
[38.28930633, -4.85750000,1.31650000], configuring other individuals to a cluster where the closest centroid is located, changing the centroid to mean data of the individuals in the cluster, and repeating in a loop until the centroid is not changed, wherein the final centroid can be obtained as:
[196.73681098,-4.85750000,-2.20828571][5.08419293,-1.85750000,1.23614286][1742.42882019,4.00000000,8.67100000][68.86132482,4.00000000,1.17400000][41.12583210,-4.22250000,4.81666667][23.88051615,4.00000000,-2.69750000][175.58870040,-2.00000000,8.23000000][415.43037630,4.00000000,4.70200000][130.12435876,-5.00000000,9.11200000][75.85786835,-1.85750000,-3.53075000][38.28930633,-4.85750000,1.31650000]。
the above is the population individuals when the initialization is completed.
The embodiment can be applied to chromosome generation of initial population individuals mapped by a process of conventional workshop scheduling of a genetic algorithm in workshop scheduling. According to the reality, the independent variable value can be changed into discrete (such as process number and workpiece number); in the local search, in order to ensure the contraction and expansion of the step length, the step length can be fixed to be 2, and the minimum step length is set to be 1; in coarse clustering T 2 Can be set to the value of the maximum difference of the process numbers 0.2 result, T 1 Is set to T 2 The distance between chromosomes of various groups can be quantified by using the similarity of genes (such as the sum of the numerical differences of the corresponding genes between two chromosomes, and the like); the fine clustering is similar to the coarse clustering, and the operation process and the result are rounded according to the actual situation.
In order to verify the effectiveness of the genetic algorithm initial individual generation method provided by the invention, the initial method is compared with the existing initial individual generation method in terms of running time, fitness function, convergence and the like, the experiment is carried out to control variables, the same cross mutation probability, the maximum genetic algebra, the population size and the number of genes of individuals are set, and each algorithm runs for multiple times to eliminate errors.
The experiment is tested by using a CEC2017 function set, and in order to improve the efficiency, 10 functions are selected for testing in the experiment, wherein the 10 functions comprise 3 unipolar value functions, 2 multiextremum functions and 5 mixing and combining functions.
PICCM, CBPI and SBDI are selected as reference initialization methods through the research of the comparison of the conventional initialization methods of genetic algorithms in the prior literature.
Table 3 shows the mean and standard deviation of the fitness function of the genetic algorithm under different population initialization methods, and table 4 shows the average convergence condition of each test function at each stage.
Table 3: mean and standard deviation of fitness function
Figure BDA0003110062800000191
Table 4: average convergence of each test function at each stage
Figure BDA0003110062800000201
3-5, the genetic algorithm population initialization method using the algorithm of the present invention has better fitness function than other algorithms in the initial iteration stage.
Table 5: mean and standard deviation of iterative process time
Figure BDA0003110062800000211
Table 5 shows the iterative process times for the algorithm of the present invention and the CBPI, PICCM, SBDI initialization algorithms. Analysis shows that the initialization algorithm provided by the invention effectively reduces the time consumption of the genetic algorithm in the iterative process, and the standard deviation is better.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solutions of the present invention and not for limiting the same, and although the present invention is described in detail with reference to the above embodiments, those of ordinary skill in the art should understand that: modifications and equivalents may be made to the embodiments of the invention without departing from the spirit and scope of the invention, which is to be covered by the claims.

Claims (6)

1. A method for initializing population individuals in a genetic algorithm for workshop scheduling is characterized by comprising the following steps:
processing the boundary of the function based on uniform design to generate a uniformly covered initial individual, wherein the initial individual is a workshop scheduling process;
optimizing the generated initial individuals based on local search to generate optimized initial individuals;
performing polymerization treatment on the optimized initial individuals;
clustering the initial individuals after the polymerization treatment to construct an initial population; the initial population is an optimized workshop scheduling procedure;
the processing the boundary of the function based on the uniform design to generate a uniform coverage initial individual comprises:
dividing the plane space of the boundary of the solved function into m by m in an orthogonal equal way to obtain m by m orthogonal uniform coverage solutions, wherein m is a positive integer;
setting a uniform design table for initialized population individuals, wherein the uniform design table is Um (m) n ) Wherein x is the initialized population individual, n = INT (x) × 2+1;
dividing the whole search space into m × n subspaces according to a uniform design table, and taking orthogonal initialization individuals close to the centers of the subspaces as data of initial population individuals;
the optimizing the generated initial individual based on the local search to generate the optimized initial individual comprises:
calculating the objective function value of each initial population
Figure 746040DEST_PATH_IMAGE001
Then, calculating values f (j) of other points in the adjacent cross direction, wherein j belongs to (1,2,3,4);
if the function value of one point is more optimal, the search is successful, then x i Changing to a more optimal point coordinate, centering on the latest point coordinate in the next search, expanding the search range by using a new step length = an old step length and an acceleration variable alpha, wherein alpha is more than or equal to 1, if no such point is found, the search is failed, and the search still uses x i Is used as the center of the device,new step = old step-reduction ratio β narrowing the search range, 0<β<1;
The above search operation is repeated until the step size is smaller than the search precision epsilon.
2. The method for initializing population individuals in genetic algorithm for plant dispatching as claimed in claim 1, wherein the aggregating the optimized initial individuals comprises:
determining two distances T 1 And T 2 ,T 1 >T 2 (ii) a Randomly taking out one individual from the optimized initial individuals
Figure 834082DEST_PATH_IMAGE002
As a sphere center, calculating the distance d from other individuals in the individual set to the sphere center, and calculating d<T 2 Is removed from the individual set, T 2 <d<T 1 Is drawn into canty, the operation is repeated until the collection of individuals is empty.
3. The method for initializing population individuals in the genetic algorithm for plant scheduling according to claim 2, wherein the clustering process is performed on the initial individuals after the aggregation process to construct the initial population, and comprises the following steps:
determining the center of the K-means method according to the canty center;
calculating the distance from each sample individual to each centroid;
determining cluster markers of the sample according to the closest centroids;
configuring all samples into each cluster;
updating the centroid of each cluster, wherein the centroid is the average of all samples contained in the cluster;
circularly iterating the above process until the centers of all the subsections are not changed; or otherwise set stop conditions.
4. An apparatus for initializing population individuals in a genetic algorithm for plant scheduling, comprising:
the uniform design module is used for processing the boundary of the function based on uniform design to generate a uniformly covered initial individual, and the initial individual is a workshop scheduling process;
the optimization module is used for optimizing the generated initial individuals based on local search to generate optimized initial individuals;
the aggregation module is used for carrying out aggregation treatment on the optimized initial individuals;
the clustering module is used for clustering the initial individuals after the aggregation processing to construct an initial population, and the initial population is an optimized workshop scheduling process;
the uniform design module includes:
the space orthogonal module is used for dividing the plane space orthogonality of the boundary of the solved function into m to obtain m orthogonal uniform coverage solutions, wherein m is a positive integer;
a design table setting module for setting a uniform design table to the initialized population individuals, wherein the uniform design table is Um (m) n ) Wherein x is the initialized population individual, n = INT (x) × 2+1;
the space dividing module is used for dividing the whole search space into m × n subspaces according to a uniform design table, and orthogonal initialization individuals close to the centers of the subspaces are used as data of the initial population individuals;
the optimization module is specifically configured to:
calculating the objective function value of each initial population
Figure 101115DEST_PATH_IMAGE001
Then, calculating values f (j) of other points in the adjacent cross direction, wherein j belongs to (1,2,3,4);
if the function value of one point is more optimal, the search is successful, then x i Changing to a more optimal point coordinate, centering on the latest point coordinate in the next search, expanding the search range by using a new step length = an old step length and an acceleration variable alpha, wherein alpha is more than or equal to 1, if no such point is found, the search is failed, and the search still uses x i As center, new step = old step reduction rateBeta narrow search range, 0<β<1;
The above search operation is repeated until the step size is smaller than the search precision epsilon.
5. The apparatus for population individual initialization in a genetic algorithm for plant scheduling according to claim 4, wherein the aggregation module is specifically configured to:
determining two distances T 1 And T 2 ,T 1 >T 2 (ii) a Randomly picking one individual out of the optimized initial individuals
Figure 1812DEST_PATH_IMAGE002
As a sphere center, calculating the distance d from other individuals in the individual set to the sphere center, and calculating d<T 2 Is removed from the individual set, T 2 <d<T 1 Is drawn into canty, the operation is repeated until the collection of individuals is empty.
6. The apparatus for population individual initialization in a genetic algorithm for plant scheduling according to claim 5, wherein the clustering module is specifically configured to:
determining the center of the K-means method according to the canty center;
calculating the distance from each sample individual to each centroid;
determining cluster markers of the sample according to the closest centroids;
configuring all samples into each cluster;
updating the centroid of each cluster, wherein the centroid is the mean of all samples contained in the cluster;
circularly iterating the above process until the centers of all the subsections are not changed; or otherwise set stop conditions.
CN202110651526.6A 2021-06-10 2021-06-10 Population individual initialization method and device in genetic algorithm Active CN113408728B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110651526.6A CN113408728B (en) 2021-06-10 2021-06-10 Population individual initialization method and device in genetic algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110651526.6A CN113408728B (en) 2021-06-10 2021-06-10 Population individual initialization method and device in genetic algorithm

Publications (2)

Publication Number Publication Date
CN113408728A CN113408728A (en) 2021-09-17
CN113408728B true CN113408728B (en) 2022-10-21

Family

ID=77683574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110651526.6A Active CN113408728B (en) 2021-06-10 2021-06-10 Population individual initialization method and device in genetic algorithm

Country Status (1)

Country Link
CN (1) CN113408728B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114744310B (en) * 2022-02-11 2023-02-03 长安大学 Power lithium battery two-step charging method based on SOC self-adaptive grading

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110188785A (en) * 2019-03-28 2019-08-30 山东浪潮云信息技术有限公司 A kind of data clusters analysis method based on genetic algorithm
CN112446400A (en) * 2019-09-02 2021-03-05 南京理工大学 Variable-length coding clustering method based on genetic MinmaxK mean value
CN112307678B (en) * 2020-11-05 2023-03-24 湖南科技大学 Robot multi-target searching method based on chaos non-dominated sorting genetic algorithm
CN112348156A (en) * 2020-11-16 2021-02-09 兰州理工大学 Standard test function processing method based on particle swarm genetic hybrid algorithm
CN112763988B (en) * 2020-12-24 2023-12-26 西安电子科技大学 Anti-interference waveform design method based on self-adaptive binary particle swarm genetic algorithm

Also Published As

Publication number Publication date
CN113408728A (en) 2021-09-17

Similar Documents

Publication Publication Date Title
CN111400180B (en) Software defect prediction method based on feature set division and ensemble learning
CN112232413B (en) High-dimensional data feature selection method based on graph neural network and spectral clustering
WO2018210010A1 (en) Array element arrangement method for l-type array antenna based on inheritance of acquired characteristics
CN111125469B (en) User clustering method and device of social network and computer equipment
CN113408728B (en) Population individual initialization method and device in genetic algorithm
CN109034372B (en) Neural network pruning method based on probability
CN117521788A (en) Multi-mode and multi-target evolution method with double reference vector guidance
CN114328922B (en) Selective text clustering integration method based on spectrogram theory
CN111176865B (en) Peer-to-peer mode parallel processing method and framework based on optimization algorithm
CN113963758A (en) Prediction recommendation method, device and terminal for thermodynamic stable structure of disordered material
CN113989584A (en) Neural network hyper-parameter tuning method based on orthogonal design
CN114077924A (en) Wind power prediction gale data enhancement method considering extreme gale weather
CN111860755A (en) Improved particle swarm algorithm based on regression of support vector machine
CN111639797A (en) Gumbel-softmax technology-based combined optimization method
CN113011589B (en) Co-evolution-based hyperspectral image band selection method and system
CN113657419A (en) Density peak value clustering algorithm based on dynamic K neighbor representative points
Mohamad et al. An improved binary particle swarm optimization algorithm for gene selection and classification of colon cancer data
CN110750732B (en) Social network global overlapping community detection method based on community expansion and secondary optimization
CN112446400A (en) Variable-length coding clustering method based on genetic MinmaxK mean value
Geh et al. Fast and accurate learning of probabilistic circuits by random projections
Zhang et al. Crescendonet: A simple deep convolutional neural network with ensemble behavior
CN117171599A (en) Uniform sampling method for sequencing problem measurement space
Huang et al. A General and Efficient Training for Transformer via Token Expansion
Mohamad et al. An improved binary particle swarm optimisation for gene selection in classifying cancer classes
CN118171123A (en) Data clustering method based on path integral Monte Carlo-quantum annealing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant