⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sgalab_contents.m

📁 一个matlab环境下编制的使用很方便的多目标程序
💻 M
字号:
% /*M-FILE SCRIPT SGALAB_contents MMM SGALAB */ %
% % /*==================================================================================================
%  Simple Genetic Algorithm Laboratory Toolbox for Matlab 7.x
%
%  Copyright 2007 The SxLAB Family - Yi Chen - chenyi2005@gmail.com
% ====================================================================================================

%File description:
% this is the content m file for SGALAB 

%     I try to do my best to improve SGALAB's CFRUP, where
%     CFURP is function's QA Std.
%                    C-- Consistency
%                    F-- Functionality
%                    U-- Usability
%                    R-- Reliability
%                    P-- Performance


%===================================================================================================
%Revision -
%Date        Name    Description of Change email                 Location
%29-Sep-2006 Chen Yi Initial version       chenyi2005@gmail.com  Shanghai 
%30-May-2007 Chen Yi Beta5002              chenyi2005@gmail.com  Glasgow
%HISTORY$
%==================================================================================================*/
% SGALAB_contents Begin 
SGALAB_Toolbox_List = list_current_dir_files

%%Entry function
% SGA_entry     -- entry for math optimization
% SGA_entry_TSP -- entry for TSP case
%% SGA_about
%% Encoding/Decoding method
%%(1) binary encoding
% SGA__binary_encoding
% SGA__binary_decoding
% SGA__binary_uniformly_encoding --  uniformly distributed random integers  
% SGA__binary_manually_encoding -- binary coding designed or given by user

% SGA__get_distance_hamming    -- to get hamming distance between 2 vectors, encoding space, genotypic space
% SGA__get_distance_combined   -- combined distance both genotypic and phenotypic space
% SGA__get_distance_phenotypic -- to get phenotypic distance, fitness space
% SGA_FITNESS_sharing          -- to get shared fitness

%%(2)real encoding (float type)
% SGA__real_encoding -- we use rand() to Generate matrix of  uniformly distributed random integers 
% SGA__real_decoding -- float decoding
% SGA__real_roulettewheel_selection

%%(3) int encoding
% SGA__int_uniformly_encoding
% SGA__int_decoding

%%(4)Gray code 
% SGA__gray_encoding
% SGA__gray_decoding

%%(5)messy code
%   SGA__messy_encoding  
%   SGA_cut
%   SGA_splice

%%(6)DNA code

%%(7)TSP path generation
% SGA__permutation_encoding
% SGA__TSP_xypoint_to_costmatrix

%%Selection 
%%(1)roulette wheel selection
% SGA__roulettewheel_selection
%%(2)stochastic universal sampling 
% SGA__selection_stochastic
%%(3)local selection

%%(4)truncation selection
% SGA__selection_truncation
%%(5)tournament selection
% SGA__selection_tournament
%%(6)uniform random selection 
% SGA__selection_uniform_random
%%Crossover 
%%(1) real valued recombination 
 
% SGA__crossover_real_int_singlepoint
%% (1-1) discrete recombination
%% (1-2) intermediate recombination
%% (1-3) linear recombination
%% (1-4) extended linear recombination



%%(2)binary valued crossover
%%(2-1)single-point crossover
% SGA__binary_singlepoint_crossover

%%(2-2)multiple-point crossover
%%(2-3)uniform crossover
%%(2-4)shuffle crossover
%%(2-5)crossover with reduced surrogate

%%(3)TSP Crossover
% SGA__TSP_PMX_crossover        - TSP - Partially Matched Crossover, PMX
% SGA__TSP_OX_crossover         - TSP - Ordered Crossover operation, OX 
% SGA__TSP_CX_crossover         - TSP - Cycle Crossover, CX
% SGA__TSP_BOOLMATRIX_crossover - TSP - Matrix Representations and Operators
% SGA__TSP_EAX_crossover        - Travel Salesman Problem--TSP Operator
%                                            Edge Assembly Crossover( EAX ) is to do
%                                            Edge Recombination Crossover(ERX) With double edge marker, 
%                                            Briefly:
%                                 EAX = ERX + Edge_Marker  
% SGA__TSP_topological_crossover-Topological Crossover for the Permutation Representation



Alternating Position Crossover (AP)     (1999)Larranaga, Kuijpers, Poza, Murga
% SGA__TSP_CX_crossover             Cycle Crossover (CX) (1987) Oliver, Smith and Holland 
Distance Preserving Crossover (DPX)     (1996) Freisbein and Merz 
% SGA__TSP_EAX_crossover            Edge Assembly Crossover  (EAX)          (1997) Nagata and Kobayashi 
Edge Recombination Crossover (ER)       (1989) Whitley, Timothy, Fuquay
Heuristic Crossover (HEU)               (1987) Grefenstette 
Inver-over Operator (IOO)               (1998) Tao and Michalewicz 
Maximal Preservative Crossover (MPX)    (1988) Mühlenbein, Schleuter and Kr?mer
Position Based Crossover (POS)          (1991) Syswerda 
% SGA__TSP_OX_crossover             Order Crossover (OX1)                   (1985) Davis 
Order Based Crossover (OX2)             (1991) Syswerda 
% SGA__TSP_PMX_crossover            Partially mapped Crossover (PMX)        (1985)  Goldberg and Lingle 
Voting Recombination Crossover (VR)     (1989) Mühlenbein 

%%Mutation method
% SGA__binary_singlepoint_mutation
% SGA__TSP_displacement_mutation       Displacement Mutation (DM)      (1992)  Michalewicz
% SGA__TSP_ReciprocalExchange_mutation Exchange Mutation (EM)          (1990)  Banzhaf
% SGA__TSP_insertion_mutation          Insertion Mutation (ISM)        (1988)  Fogel 
% SGA__TSP_inversion_mutation          Inversion Mutation (IVM)        (1990)  Fogel       

Scramble Mutation (SM)          (1991)  Syswerda 
Simple Inversion Mutation (SIM) (1975)  Holland 

%%TSP Mutation
% SGA__TSP_inversion_mutation (Inversion. Select two points along the permutation, cut it at these points and re-insert the reversed string.
%                           (1 2 | 3 4 5 6 | 7 8 9) ? (1 2 | 6 5 4 3 | 7 8 9).)
% SGA__TSP_insertion_mutation  (Insertion. Select a city and insert it in a random place.)
% SGA__TSP_displacement_mutation ( Displacement. Select a subtour and insert it in a random place.)
% SGA__TSP_ReciprocalExchange_mutation (Reciprocal Exchange. Swap two cities.)

%%Fitness Assignment
% SGA_FITNESS_assignment -- make fitness assignment by the following 2 functions
% SGA_FITNESS_scaling    -- Proportional fitness assignment
%                           (1) linear scaling :     f' = alpha*f + beta
%                           (2) Power scaling  :     f' = power(f,Kpara)
%                           (3) Exponential_function - Boltzmann scaling'
%                                                    f' = exp(-Kpara*f)
%                           (4) Normalizing scaling: f' = ( f - fmin + gamma )/( fmax - fmin + gamma );
% SGA_FITNESS_rank        -- Rank-based fitness assignment
% SGA_TSP_cost_evaluating -- is to evaluate fitness from TSP cost
% SGA_TSP_FITNESS_function

% SGA_CONSFUNC_evaluating
% SGA_CONSFUNC_function
% SGA_TSP_FITNESS_evaluating

%% Multi-Objective Algorithms
% % The 1st generation: Vector Evaluation approach
% Vector Evaluated Genetic Algorithm (veGA: Schaffer, 1985)
% Schaffer, J. D.: “Multiple objective optimization with vector evaluated genetic algorithms”, Proc. of 1st Inter. Conf. on GAs and Their Applic., pp.93-100, 1985. 

% % The 2nd generation: Pareto ranking + Diversity
% Multiobjective Genetic Algorithm (moGA: Fonseca and Fleming, 1993)
% Fonseca, C. M. & P. J. Fleming: “Genetic algorithms for multiobjective optimization: formulation, discussion and generalization”, Proc. of the 5th Inter. Conf. on GAs, pp. 416-423, 1993. 

% Non-dominated Sorting Genetic Algorithm (nsGA: Deb, 1995)
% Srinivas, N. & K. Deb: “Multiobjective function optimization using nondominated sorting genetic algorithms”, Evolutionary Computation, vol. 3, pp. 221-248, 1995. 

% % The 3rd generation:  Weighted Sum + Elitist Preserve
% Random-weight Genetic Algorithm (rwGA: Ishibuchi et al., 1998)
% Ishibuchi, H & T. Murata: “A multiobjective genetic local search algorithm and its application to flowshop scheduling”, IEEE Trans. on Sys., Man & Cyber., vol. 28, no. 3, pp. 392-403, 1998. 

% Strength Pareto Evolutionary Algorithm (spEA: E. Zitzler et al., 1999)
% Zitzler, E. & L. Thiele: “Multiobjective Evolutionary Algorithms: A Comparative Case Study and the Strength Pareto Approach”, IEEE Trans. on Evolutionary Comput., vol.3, no.4, pp.257-271, 1999.

% Adaptive-weight Genetic Algorithm (awGA: Gen and Cheng, 2000)
% Gen, M. & R. Cheng: Genetic Algorithms and Engineering Optimization, John Wiley & Sons, New York, 2000. 

% Non-dominated Sorting Genetic Algorithm Ⅱ (nsGAⅡ: Deb, 2002)
% Deb, K., A. Pratap, S. Agarwal & T. Meyarivan: “A Fast and Elitist Multiobjective Genetic Algorithm: NSGA-Ⅱ.” IEEE Trans. on Evolutionary Comput., vol. 6, no. 2, pp.182-197, 2002 

% Non-dominated Sorting Genetic Algorithm (nsGA: Deb, 1995)
% Srinivas, N. & K. Deb: “Multiobjective function optimization using nondominated sorting genetic algorithms”, Evolutionary Computation, vol. 3, pp. 221-248, 1995. 

%%Existing literature seems to approach this ranking problem using methods that can be classified in one of three
%%ways:
%% [1] the aggregating approaches, 
%% No.    SGALAB Function           Type                                           Reference
%  1)     SGA__MO_AGG_SWO_fitness() weighted sum approach,  
%  2)     SGA__MO_AGG_EC_fitness()  constraint method,      
%  3)     SGA__MO_AGG_GP_fitness()  goal programming.       


%% [2] the non-Pareto approaches and
%% No.    SGALAB Function          Type      Reference
%  1)     SGA__MO_NON_Pareto_VEGA  VEGA      Schaffer(1984)  SGALAB_MO_VEGA_DEMO.m is a demo for VEGA


%% [3] the Pareto approaches.
% Pareto ranking
% SGA__pareto_ranking -- ranking fitness by Goldberg's method
                            % options : 
                            % 'Goldberg','G'               -- Goldberg's method: rank = rank + 1;
                            % 'Fonceca','Fleming','MO','F' -- Fonceca and Fleming's ranking method
                            %                                 current rank =  the number of its dominating individulas + 1
   
%% No.    Type        SGALAB Function           Reference
% 1st Generation of Multi-Objective GAs
% 2)     MOGA        SGA__MO_Pareto_MOGA       Fonseca and Fleming(1993) 
% 3)     NPGA        SGA__MO_Pareto_NPGA       Horn,Nafpliotis,Goldberg(1994)
% 4)     NSAG        SGA__MO_Pareto_NSGA       Srinivas and Deb(1994)

% 2nd Generation of Multi-Objective GAs
5) SPEA        SGA__MO_Pareto_SPEA       Zitzler and Thiele(1999)
6) ELSA        SGA__MO_Pareto_ELSA       Menczer,Degeratu,Street(2000)
7) IEDS        SGA__MO_Pareto_IEDS       Parmee,Cvetkovic,Watson,Bonham(2000)

8)     MOMGA       SGA__MO_Pareto_MOMGA      Van Veldhuizen and Lamont(2000b)
%9)    NSGA-II     SGA__MO_Pareto_NSGA       Deb,Agrawal,Pratab,Meyarivan(2000)
10)     PAES        SGA__MO_Pareto_PAES       Knowles and Corne(2000)
11)     MOMGA-II    SGA__MO_Pareto_MOMGA      Zydallis, Van Veldhuizen, Lamont(2001)
12)     PDE         SGA__MO_Pareto_PDE        Abbass,Sarker,Newton(2001)/Abbass,Sarker(2002)
13)     MPANN       SGA__MO_Pareto_MPANN      Abbass(2001;2002a)
14)     SPEA2       SGA__MO_Pareto_SPEA2      Zitzler,Laumanns,Thiele(2001)
15)     PCGA        SGA__MO_Pareto_PCGA       Kumar and Rockett(2002)
16)     SPDE        SGA__MO_Pareto_SPDE       Abbass(2002b) 


%% Hybrid Algorithm , GA + Other Intelligent Algorithms
%% ( 1 ) GA + Fuzzy 
%% ( 2 ) GA + ANN 
% SGALAB_contents End 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -