image thumbnail

Multi-objective Differential Evolution Algorithm with Spherical Pruning

by

 

A MOEA which uses a spherical pruning mechanism to build a Pareto front approximation for MOP's

spMODEparam.m
%% spMODEparam
% Generates the required parameters to run the spMODE optimization 
% algorithm.
%%
%% Beta version 
% Copyright 2006 - 2012 - CPOH  
%
% Predictive Control and Heuristic Optimization Research Group
%      http://cpoh.upv.es
%
% ai2 Institute
%      http://www.ai2.upv.es
%
% Universitat Politcnica de Valncia - Spain.
%      http://www.upv.es
%
%%
%% Author
% Gilberto Reynoso-Meza
% gilreyme@upv.es
% http://cpoh.upv.es/en/gilberto-reynoso-meza.html
% http://www.mathworks.es/matlabcentral/fileexchange/authors/289050
%%
%% For new releases and bug fixing of this Tool Set please visit:
% 1) http://cpoh.upv.es/en/research/software.html
% 2) Matlab Central File Exchange
%%
%% Overall Description
% This code implements a version of the multi-objective differential
% evolution algorithm with spherical pruning described in:
%
% Gilberto Reynoso-Meza, Javier Sanchis, Xavier Blasco, Miguel Martnez.
% Design of Continuous Controllers Using a Multiobjective Differential
% Evolution Algorithm with Spherical Pruning. Applications of Evolutionary 
% Computation. LNCS Volume 6024, 2010, pp 532-541.
% 
%%
%% Variables regarding the multi-objective problem

spMODEDat.NOBJ = 3;                  % Number of objectives

spMODEDat.NVAR = 20;                 % Number of decision variables

spMODEDat.mop  =...
    str2func('CostFunction');        % Cost Function

spMODEDat.CostProblem  = 'DTLZ2';    % Problem Instance


spMODEDat.FieldD  = ...
    [zeros(spMODEDat.NVAR,1) ...
    ones(spMODEDat.NVAR,1)];         % Optimization bounds

spMODEDat.Initial = spMODEDat.FieldD;% Initialization bounds
%
%%
%% Variables regarding the optimization algorithm (Differential Evolution)

spMODEDat.Xpop = 4*spMODEDat.NVAR;   % Population size

spMODEDat.SubXpop=2*spMODEDat.NVAR;  % SubPopulation size

spMODEDat.ScalingFactor = 0.5;       % Scaling factor

spMODEDat.CRrate= 0.5;               % Croosover Probability
%
%%
%% Variables regarding spreading (spherical pruning)

spMODEDat.Strategy='SphP';           % 'Push' for a basic Dominance-based 
                                     % selection; 'SphP' for the spherical
                                     % pruning;
                                     
spMODEDat.Alphas=10;                 % Number of Arcs (Strategy='SphP').

spMODEDat.Norma='manhattan';         % Norm to be used in Strategy='SphP';
                                     % It could be 'eucliden', 'manhattan',
                                     % 'infinite'.
                                     
spMODEDat.StopSize=15000;            % Maximum Pareto optimal solutions 
                                     % required.
%
%%
%% Variables regarding convergence improving (elitism)

spMODEDat.CarElite = ...             % Solutions from the Approximated
    spMODEDat.SubXpop/2 - ...        % Pareto front in a generation
    spMODEDat.NOBJ;                  % to be merged with the population
                                     % in the evolution process.
%               
%%
%% Variables regarding basic pertinency (Bounds on objectives)
%
spMODEDat.Pertinency=[];             % Bounds on objectives; implemented
                                     % in the CostFunction. A row for each
                                     % objective, minimum and maximum
                                     % values desired. If empty, the
                                     % Pareto front approximated will be
                                     % unbounded. Please, refer to:
% G. Reynoso-Meza, J. Sanchis, X. Blasco, J.M. Herrero. Multiobjective
% evolutionary algorithms for multivariable PI controller design. Expert 
% Systems with Applications Volume 39, Issue 9, July 2012, Pages 78957907.
%
%%
%% Regarding Constraint Handling (different for objectives bound)
%
% Constraints could be defined as additional objectives. For an example
% please refer to:
%
% G. Reynoso-Meza, X. Blasco, J. Sanchis, M. Martnez. Multiobjective 
% optimization algorithm for solving constrained single objective problems.
% Evolutionary Computation (CEC), 2010 IEEE Congress on. 18-23 July 2010
%
% In such case, we encourage to define a pertinency vector (above).
%
%%
%% Execution Variables

spMODEDat.MAXGEN =1e3;              % Generation bound

spMODEDat.MAXFUNEVALS = 2e4;        % Function evaluations bound

spMODEDat.PobInitial=[];            % Initial population (if any)

spMODEDat.SaveResults='yes';        % Write 'yes' if you want to 
                                    % save your results after the
                                    % optimization process;
                                    % otherwise, write 'no';

spMODEDat.Plotter='yes';            % 'yes' if you want to see some
                                    % a graph at each generation.

spMODEDat.SeeProgress='no';         % 'yes' if you want to see some
                                    % information at each generation.
%
%%
%% Initialization (don't modify)

spMODEDat.CounterGEN=0;             % Counter for generations.

spMODEDat.CounterFES=0;             % Counter for function evaluations.
%
%%
%% Put here the variables required by your code (if any).
%
%
%
%% Release and bug report:
%
% November 2012: Initial release

Contact us