improved fuzzy genetic algorithm
Optimization strategies that are based on satisfying constrained equations might be subject to becoming trapped into local minima, leading to suboptimal parameter values, and thus, having a limitation on operating in large, multimodal , and noisy spaces. Since 1950, other strategies that employ Darwin’s evolution theory have been proposed . The most significant advantage of using this evolutionary search lies in the gain of flexibility and adaptability to the task at hand and the global search characteristics. Among various evolutionary computation methods (ECM), genetic algorithms (GA), which have been applied to many optimization problems employ a random, yet directed, search for locating the global optimal solution. They are superior to gradient descent techniques, as the search is not biased towards the local optimal solution. They differ from random sampling algorithms, as they can direct the search towards relatively prospective regions in
the search space . However, the usage of GA was progressed slowly in real applications. Apart from the shortcomings of early approaches, it was also largely due to the lack of powerful computer platforms at that time.
The parameters of the search space in GA are encoded in the form of a chromosome-like structure. A group of these chromosomes constitutes a population. An index of merit (fitness value) is assigned to each individual chromosome, according to a defined fitness function. A new generation is evolved by a selection technique, in which there is a larger probability of the fittest individuals being chosen. These chosen chromosomes are used as the parents in the construction of the next generation. A new generation is produced as a result of reproduction operators applied on parents. There are two main reproduction operators, namely, crossover and mutation. Crossover occurs only
with some probability px Notable crossover techniques include the single-point, the two-point, and the uniform types . Mutation involves the modification of the value of each gene in the chromosome with some probability pm The role of mutation is to restore unexplored or lost genetic material into the population to prevent the premature convergence of the GA to suboptimal solutions. New generations are repeatedly produced until a predefined convergence level is reached.
This MATLAB code presents the use of fuzzy logic to adaptively adjust px and pm. A fuzzy system is used to adjust the values of px and pm . It is based on considering the relative size of the cluster containing the best chromosome and the one containing the worst chromosome. Both population distribution factor and computational efficiency are considered.
The purpose of this MATLAB code is to implement a new fuzzy genetic algorithm.
You can use this code for any other purpose of optimization.
Our reference for this code in following paper :
Zhang, Jun, Henry Shu-Hung Chung, and Wai-Lun Lo. “Clustering-based adaptive crossover and mutation probabilities for genetic algorithms.” Evolutionary Computation, IEEE Transactions on 11.3 (2007): 326-335.
you can download this paper from here :
membership function :
Fuzzy Rules :