Lecture Set 1B. S.D. Sudhoff Spring 2010

Similar documents
What is GOSET? GOSET stands for Genetic Optimization System Engineering Tool

GOSET * Manual Version 2.3. For Use with MATLAB. United States Naval Academy. Purdue University School of Electrical and Computer Engineering

GOSET * Manual Version 2.2. For Use with MATLAB. United States Naval Academy. Purdue University School of Electrical and Computer Engineering

Multi-Objective Optimization using Evolutionary Algorithms

Multi-Objective Optimization using Evolutionary Algorithms

Heuristic Optimisation

Multi-objective Optimization

Approximation Model Guided Selection for Evolutionary Multiobjective Optimization

CHAPTER 2 CONVENTIONAL AND NON-CONVENTIONAL TECHNIQUES TO SOLVE ORPD PROBLEM

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

Multi-objective Optimization

REAL-CODED GENETIC ALGORITHMS CONSTRAINED OPTIMIZATION. Nedim TUTKUN

Constraint Handling. Fernando Lobo. University of Algarve

Comparison of Evolutionary Multiobjective Optimization with Reference Solution-Based Single-Objective Approach

Multiobjective Job-Shop Scheduling With Genetic Algorithms Using a New Representation and Standard Uniform Crossover

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

CHAPTER 6 REAL-VALUED GENETIC ALGORITHMS

Part II. Computational Intelligence Algorithms

Multi-Objective Optimization Using Genetic Algorithms

March 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms

CHAPTER 2 MULTI-OBJECTIVE REACTIVE POWER OPTIMIZATION

Lamarckian Repair and Darwinian Repair in EMO Algorithms for Multiobjective 0/1 Knapsack Problems

Bi-Objective Optimization for Scheduling in Heterogeneous Computing Systems

Introduction to Genetic Algorithms

Outline. CS 6776 Evolutionary Computation. Numerical Optimization. Fitness Function. ,x 2. ) = x 2 1. , x , 5.0 x 1.

An Evolutionary Multi-Objective Crowding Algorithm (EMOCA): Benchmark Test Function Results

Application of Genetic Algorithm in Multiobjective Optimization of an Indeterminate Structure with Discontinuous Space for Support Locations

Evolutionary multi-objective algorithm design issues

Introduction to Design Optimization: Search Methods

Balancing Survival of Feasible and Infeasible Solutions in Evolutionary Optimization Algorithms

HYBRID GENETIC ALGORITHM WITH GREAT DELUGE TO SOLVE CONSTRAINED OPTIMIZATION PROBLEMS

Recombination of Similar Parents in EMO Algorithms

A Similarity-Based Mating Scheme for Evolutionary Multiobjective Optimization

GENETIC ALGORITHM with Hands-On exercise

Comparative Analysis of Genetic Algorithm Implementations

OPTIMIZATION FOR SURFACE ROUGHNESS, MRR, POWER CONSUMPTION IN TURNING OF EN24 ALLOY STEEL USING GENETIC ALGORITHM

Lecture

THE DEVELOPMENT OF THE POTENTIAL AND ACADMIC PROGRAMMES OF WROCLAW UNIVERISTY OF TECHNOLOGY METAHEURISTICS

Multi-objective Optimization Algorithm based on Magnetotactic Bacterium

NOVEL HYBRID GENETIC ALGORITHM WITH HMM BASED IRIS RECOGNITION

Introduction to ANSYS DesignXplorer

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem

Handling Constraints in Multi-Objective GA for Embedded System Design

Reference Point Based Evolutionary Approach for Workflow Grid Scheduling

SPEA2+: Improving the Performance of the Strength Pareto Evolutionary Algorithm 2

Pseudo-code for typical EA

OPTIMIZATION METHODS. For more information visit: or send an to:

Offspring Generation Method using Delaunay Triangulation for Real-Coded Genetic Algorithms

Constraint Handling in Evolutionary Multi-Objective Optimization

Dynamic Uniform Scaling for Multiobjective Genetic Algorithms

Genetic Algorithms for Vision and Pattern Recognition

DETERMINING MAXIMUM/MINIMUM VALUES FOR TWO- DIMENTIONAL MATHMATICLE FUNCTIONS USING RANDOM CREOSSOVER TECHNIQUES

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Genetic Algorithms. PHY 604: Computational Methods in Physics and Astrophysics II

The Genetic Algorithm for finding the maxima of single-variable functions

Multi-Objective Evolutionary Algorithms

Evolutionary Algorithms: Lecture 4. Department of Cybernetics, CTU Prague.

An Experimental Multi-Objective Study of the SVM Model Selection problem

Mechanical Component Design for Multiple Objectives Using Elitist Non-Dominated Sorting GA

Introduction to Optimization

Introduction to Optimization

EVOLUTIONARY algorithms (EAs) are a class of

Evolutionary Computation

Multiobjective Formulations of Fuzzy Rule-Based Classification System Design

Incorporation of Scalarizing Fitness Functions into Evolutionary Multiobjective Optimization Algorithms

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

ATI Material Do Not Duplicate ATI Material. www. ATIcourses.com. www. ATIcourses.com

Evolutionary Algorithms and the Cardinality Constrained Portfolio Optimization Problem

APPLIED OPTIMIZATION WITH MATLAB PROGRAMMING

Development of Evolutionary Multi-Objective Optimization

Towards Understanding Evolutionary Bilevel Multi-Objective Optimization Algorithm

Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

Evolutionary Algorithms. CS Evolutionary Algorithms 1

Multi-Objective Sorting in Light Source Design. Louis Emery and Michael Borland Argonne National Laboratory March 14 th, 2012

A Distance Metric for Evolutionary Many-Objective Optimization Algorithms Using User-Preferences

Adaptive Crossover in Genetic Algorithms Using Statistics Mechanism

Global Optimization. for practical engineering applications. Harry Lee 4/9/2018 CEE 696

Generalized Multiobjective Multitree model solution using MOEA

Simultaneous Assembly Planning and Assembly System Design Using Multi-objective Genetic Algorithms

Evolutionary Algorithm for Embedded System Topology Optimization. Supervisor: Prof. Dr. Martin Radetzki Author: Haowei Wang

CHAPTER 5 STRUCTURAL OPTIMIZATION OF SWITCHED RELUCTANCE MACHINE

Genetic Algorithm for Dynamic Capacitated Minimum Spanning Tree

A GENETIC ALGORITHM APPROACH TO OPTIMAL TOPOLOGICAL DESIGN OF ALL TERMINAL NETWORKS

Communication Strategies in Distributed Evolutionary Algorithms for Multi-objective Optimization

Classification of Optimization Problems and the Place of Calculus of Variations in it

NCGA : Neighborhood Cultivation Genetic Algorithm for Multi-Objective Optimization Problems

DERIVATIVE-FREE OPTIMIZATION

A MULTIOBJECTIVE GENETIC ALGORITHM APPLIED TO MULTIVARIABLE CONTROL OPTIMIZATION

Structural Optimizations of a 12/8 Switched Reluctance Motor using a Genetic Algorithm

Genetic Algorithm for Finding Shortest Path in a Network

The Binary Genetic Algorithm. Universidad de los Andes-CODENSA

Elitist-Multi-objective Differential Evolution (E- MODE) Algorithm for Multi-objective Optimization

Optimization of Constrained Function Using Genetic Algorithm

Solving A Nonlinear Side Constrained Transportation Problem. by Using Spanning Tree-based Genetic Algorithm. with Fuzzy Logic Controller

Design of Curves and Surfaces Using Multi-Objective Optimization

An evolutionary annealing-simplex algorithm for global optimisation of water resource systems

Generation of Ultra Side lobe levels in Circular Array Antennas using Evolutionary Algorithms

Particle Swarm Optimization to Solve Optimization Problems

Genetic Algorithms Variations and Implementation Issues

Transcription:

Lecture Set 1B More Basic Tools S.D. Sudhoff Spring 2010 1

Outline Time Domain Simulation (ECE546, MA514) Basic Methods for Time Domain Simulation MATLAB ACSL Single and Multi-Objective Optimization (ECE580) GOSET (ECE 695; Electromechanical and Electromechanical Component Design) 2

Manual Design Approach Flux Density B/m 2 Analysis 0.08 0.06 0.04 0.02 y,m 0 Design Equations Numerical Analysis Design Revisions -0.02-0.04-0.06-0.08-0.1-0.05 0 0.05 0.1 x,m Final Design 3

Evolutionary Design Approach Evolutionary Environment Detailed Analysis Fitness Function 4

Optimization Based Design Pose Design Problem As An Optimization Problem Can be single or multi-objective Systematically encode design constraints and objectives into fitness functions Reality Check: Problem Properties Not Always Friendly Not differentiable Not convex Many local extrema No unique global optimum 5

Optimization Methods Classic Methods Newton s Method Gradient Methods Conjugate Direction Methods Quasi-Newton Methods Nedler-Mead Simplex Method Populations Based Methods Monte-Carlo Population Based Classical Methods Genetic Algorithms Swarm Algorithms 6

Newton s Method (1/4) 7

Newton s Method (2/4) 8

Newton s Method (3/4) 9

Newton s Method (4/4) 10

What Are Genetic Algorithms? Genetic algorithms are optimization algorithm inspired from natural selection and genetics A candidate solution is referred to as an individual Process Parent individuals generate offspring individuals The resultant offspring are evaluated for their fitness The fittest offspring individuals survive and become parents The process is repeated 11

Comparing GAs and Traditional Methods 12

Canonical GA The canonical genetic algorithm refers to the GA proposed by John Holland in 1965 START Initialization Fitness evaluation Selection Crossover Mutation STOP? END 13

Introduction to GOSET GOSET stands for Genetic Optimization System Engineering Tool GOSET is a MATLAB based genetic algorithm toolbox for solving optimization problems Available at: https://engineering.purdue.edu/ece/research/ Areas/PEDS 14

Algorithm Execution START Initialization Diversity control Mating & Crossover &Death Scaling Mutation Fitness evaluation Selection Migration Elitism Random search Report Plot STOP? END 15

Data Structures To conveniently process the information used in GOSET, the following data structures are employed Data No. of Contents structure fields P Population 15 GAP GA Parameters 86 GAS GA Statistics 6 16

Population Data Structure (P) P.blckeval P.fithandle P.size P.nobj P.mfit P.fit P.eval Block evaluation flag Handle to the fitness function The number of individuals in the population Number of objectives Fitness function values (# obj. by pop. size) Aggregated fitness function values (1 by pop. size) Fitness evaluation flag P.age Age of individuals 17

Population Data Structure (P) P.ngenes Number of genes in an individual P.min Minimum value of genes (# genes by 1) P.max Maximum value of genes (# genes by 1) P.type Types of genes P.chrom_id Chromosome ID of genes (for multiple chromosome) P.normgene Normalized gene values (# genes by pop. size) P.gene Gene values (# genes by pop. size) 18

Population Data Structure (P) P.region P.pen Geographic region of individuals Fitness weight values for penalizing in the diversity control 19

Encoding P.type (# genes by 1) Determine the mapping method of the normalized gene value to its actual value There are three different types of mapping Integer Real Logarithmic max 1 max 1 max 1 min 0 min 0 min 0 20

Chromosome ID Given the genes of an individual a b c d e f g P.chrom_id Chromosome structure P.chrom_id = [ 1 1 1 1 1 1 1 ] T 1 a b c d e f g P.chrom_id = [ 1 1 1 2 2 3 3 ] T 1 a b c d 2 e f 3 g P.chrom_id = [ 1 2 3 2 2 3 1 ] T a 1 g 2 b d e c 3 f 21

Genetic Algorithm Parameters (GAP) Category Fundamental parameters Diversity control parameters Selection algorithm parameters Death algorithm parameters Field names GAP.fp_ngen GAP.fp_ipop GAP.fp_npop GAP.fp_nobj GAP.fp_obj GAP.dc_act GAP.dc_alg GAP.dc_spc GAP.dc_mnt GAP.dc_mxt GAP.dc_ntr GAP.dc_mnb GAP.dc_mxb GAP.dc_dc GAP.dc_nt GAP.sl_alg GAP.sl_nts GAP.sl_cah GAP.dt_alg GAP.dt_nts GAP.dt_cah Mating and crossover parameters GAP.mc_pp GAP.mc_fc GAP.mc_alg GAP.mc_gac GAP.mc_ec Mutation parameters GAP.mt_ptgm0 GAP.mt_prgm0 GAP.mt_srgm0 GAP.mt_pagm0 GAP.mt_sagm0 GAP.mt_prvm0 GAP.mt_srvm0 GAP.mt_pavm0 GAP.mt_savm0 GAP.mt_pigm0 GAP.mt_ptgmf GAP.mt_prgmf GAP.mt_srgmf GAP.mt_pagmf GAP.mt_sagmf GAP.mt_prvmf GAP.mt_srvmf GAP.mt_pavmf GAP.mt_savmf GAP.mt_pigmf Migration parameters GAP.mg_nreg GAP.mg_tmig GAP.mg_pmig Evaluation Parameters GAP.ev_bev GAP.ev_are GAP.ev_ssd Scaling parameters GAP.sc_alg GAP.sc_kln GAP.sc_cst GAP.sc_kmxq GAP.sc_kmnq Gene repair GAP.gr_alg Elitism parameters GAP.el_act GAP.el_fgs GAP.el_fpe Random search parameters GAP.rs_fgs GAP.rs_fps GAP.rs_srp GAP.rs_sap GAP.rs_frp GAP.rs_fea Reporting parameters GAP.rp_lvl GAP.rp_gbr GAP.rp_crh Objective plot parameters GAP.op_list GAP.op_style GAP.op_sign Pareto plot parameters GAP.pp_list GAP.pp_xl GAP.pp_yl GAP.pp_title GAP.pp_style GAP.pp_sign GAP.pp_axis Distribution plot parameters Trim parameters GAP.dp_type GAP.dp_np GAP.dp_res GAP.trimga Gene data parameters GAP.gd_min GAP.gd_max GAP.gd_type GAP.gd_cid 22

Genetic Algorithm Parameters (GAP) GAP.fp_ngen GAP.fp_ipop GAP.fp_npop GAP.fp_nobj GAP.fp_obj 23

Genetic Algorithm Statistics (GAS) GAS.[Field name] Description GAS.cg GAS.medianfit GAS.meanfit GAS.bestfit GAS.bestgenes GAS.ne Current generation number The median fitness values of each objective ( No. of objectives No. of generations ) The average fitness values of each objective ( No. of objectives No. of generations ) The best fitness values of each objective ( No. of objectives No. of generations ) The best gene values for each objective over the generations (No. of genes No. of generations No. of objectives ) The number of the total objective function evaluations 24

GOSET Genetic Operators Diversity control Scaling Selection Death Mating & crossover Mutation Gene Repair Migration Elitism Random search Deterministic Trim 25

Example: Minimize the Banana Minimization of Rosenbrock s function min f ( x 2 2 1, x2) = 100( x2 x1 ) + (1 x1) Also called as banana function due to the shape of the level sets The global minimizer is located at (1,1) 26

Banana Function 27

Banana Function Level Sets 28

Fitness Function Rosenbrock s function is non-negative The inverse of the Rosenbrock s function is used as the fitness function f ( x1, x2 ) = 100( x 1 + (1 ( 2 2 2 x1 ) x1 ) + 0.001 29

banana.m % Optimization of Rosenbrock's Problem % Initialize the parameters GAP=gapdefault; % load the default values for GAP % Define gene parameters % x1 x2 % gene 1 2 GAP.gd_min = [ -2-1 ]; GAP.gd_max = [ 2 3 ]; GAP.gd_type = [ 2 2 ]; GAP.gd_cid = [ 1 1 ]; % Execute GOSET [P,GAS,best_parameters] = gaoptimize(@banana_fitness,gap); 30

banana_fitness.m % banana_fitness.m % % Banana Function function f = banana_fitness(x) f1 = 100*(x(2) - x(1)^2)^2 + (1 - x(1))^2; % Banana function f = 1/(0.001 + f1); % Fitness function 31

Results best_parameters = 1.0000 1.0000 32

Alternate Call (banana2.m) % Optimization of Rosenbrock's problem % Initialize the parameters GAP=gapdefault; % Define gene parameters % min max type chorm GAP.gd = [ -2 2 2 1; % gene 1-1 3 2 1]; % gene 2 % Execute GOSET [P,GAS,best_parameters] = gaoptimize(@banana_fitness,gap); 33

Example 2: Curve Fitting Losses Characterize the i-v curve of the IGBT in a FUJI 6MBI 30L-060 IGBT module (gate voltage = 15 V) + (GU) (GV) (GW) BU BV BW EU EV EW U V W _ BX EX BY EY BZ EZ 34

Measured Data 4 Static IGBT Characteristics at 25 C 3.5 3 Voltage, V 2.5 2 1.5 1 0.5 0 5 10 15 20 25 30 Current, A 35

Step 1: Decide on Representation Assumed that the voltage (v) can be expressed as the function of current (i) as v = ai + ( bi) c Terms a, b, and c are constants to be identified using GOSET 36

Fitness Function Take set of K measurements v k voltage of k th measurement i k current at k th measurement Fitness function f ( a, b, c) = 1 K K k = 1 1 ai k 1 + ( bi v k k ) c + 10 3 37

igbt_fit.m % this rountine returns the fitness of the IGBT conduction % loss parameters based on the mean percentage error function fitness = igbt_fit(parameters,data,fignum) % assign genes to parameters a=parameters(1); b=parameters(2); c=parameters(3); vpred=a*data.i+(b*data.i).^c; error=abs(1-vpred./data.v); fitness=1.0/(1.0e-6+mean(error)); 38

igbt_fit.m (continued) if nargin>2 end figure(fignum); Npoints=200; ip=linspace(0,max(data.i),npoints); vp=a*ip+(b*ip).^c; plot(data.i,data.v,'bx',ip,vp,'r') title('voltage Versus Currrent'); xlabel('current, A'); ylabel('voltage, V'); legend({'measured','fit'}); figure(fignum+1); Npoints=200; plot(data.i,data.v.*data.i,'bx',ip,vp.*ip,'r') title('power Versus Currrent'); xlabel('current, A'); ylabel('power, V'); legend({'measured','fit'}); 39

igbt.m % load experimental data load igbt_data.mat % plot the raw data figure(1); plot(igbt_data.i,igbt_data.v,'x'); xlabel('current, A'); ylabel('voltage, V'); title('static IGBT Characteristics at 25 C'); % gafit GAP=gapdefault; % set up regions GAP.mg_nreg=4; GAP.mg_tmig=20; GAP.mg_pmig=0.05; GAP.mc_alg=10; 40

igbt.m % set up genes % min max type chrom GAP.gd = [1e-8 1e+2 3 1; % a 1e-6 1e+3 3 1; % b 1e-3 1e+0 3 1]; % c % do the optimization [fp,gas,bestparameters]= gaoptimize(@igbt_fit,gap,igbt_data); % plot the best fit igbt_fit(bestparameters,igbt_data,4); 41

Evolution 42

Result After 100 generations, the best individual has the following parameter values. a =0, b = 4.6415, c = 0.2574 43

Multi-Objective Optimization (MOO) Involve more than one objective function that are to be minimized or maximized Answer is set of solutions that define the best tradeoff between competing objectives MOO Suggested reading: K. Deb, Multi-Objective Optimization using Evolutionary Algorithms, John Wiley & Sons, Inc., 2001 44

General Form of MOOP Mathematically min/max subject to f m ( x), m = 1, 2,, M g h x j k lower bound ( x) 0, ( x) = 0, ( L) i x i j = 1, 2,, J k = 1, 2,, K x upper bound ( U) i, i = 1, 2,, n 45

Dominance In the single-objective optimization problem: In multi-objective optimization problem: 46

Definition of Dominance x 1 dominates x 2, if 47

Example Dominance Test f 2 (minimize) 2 4 1 5 3 f 1 (maximize) 1 Vs 2: 1 Vs 5: 1 Vs 4: 48

Pareto Optimal Solution Non-dominated solution set Given a set of solutions, the non-dominated solution set is a set of all the solutions that are not dominated by any member of the solution set The non-dominated set of the entire feasible decision space is called the Pareto-optimal set The boundary defined by the set of all point mapped from the Pareto optimal set is called the Paretooptimal front 49

Pareto Optimal Solution x 2 feasible decision space f 2 (x) (minimize) B feasible objective A space Pareto-optimal front C Pareto-optimal solutions x 1 f 1 (x) (minimize) 50

Goals in MOO Find set of solutions as close as possible to Paretooptimal front To find a set of solutions as diverse as possible f 2 (x) feasible objective space 1 2 Pareto-optimal front f 1 (x) 51

Multi-Objective GAs Our desired answer: a set of solutions Traditional optimization methods operate on a candidate solution Genetic algorithms fundamentally operate on a set of candidate solutions 52

Multi-Objective MOEAs Non-Elitist MOEAs Vector evaluated GA Vector optimized ES Weight based GA Random weighted GA Multiple-objective GA Non-dominated Sorting GA Niched Pareto GA Elitist MOEAs Elitist Non-dominated Sorting GA Distance-based Pareto GA Strength Pareto GA Pareto-archived ES 53

Multi-Objective Optimization in GOSET GOSET employ an elitist GA for the multi-objective optimization problem Diversity control algorithms are also employed to prevent over-crowding of the individuals in a specific region of the solution space The non-dominated solutions are identified using the recursive algorithm proposed by Kung et al. 54

Example: Schaffer s Problem Schaffer s problem is a single variable problem with two objectives to be minimized min f ( x ) = 1 2 x min f ( x) = ( x 2) 2 10 < x < 10 2 feasible decision space The Schaffer s problem has Pareto optimal solutions x [0, 2] 55

Fitness Function Two objectives have positive values and they are to be minimized The fitness function values are defined to be the negative of the objective function values 56

schaffer_fit.m % Schaffer's problem function [f] = schaffer_fit(x) f(1)= -x(1)^2; f(2)= -(x(1)-2)^2; 57

schaffer.m % Optimization of Schaffer's Problem % Initialize the parameters GAP = gapdefault(2,0,100,20); % Plot settings GAP.op_list = []; % No objective plot GAP.pp_list = [1 2]; % Objectives for paereto plot GAP.pp_style =[1 1]; % Plot style (linear) GAP.pp_sign = [-1-1]; % Plot sign GAP.pp_axis = [-2 25-2 25]; % Plot axis ranges % x1 % gene 1 GAP.gd_min = [ -10 ]; GAP.gd_max = [ 10 ]; GAP.gd_type = [ 2 ]; GAP.gd_cid = [ 1 ]; [P,GAS,best_solutions]=gaoptimize(@schaffer_fit,GAP); 58

Pareto Plot (20 Generations) 59

Example: Tanaka Problem Tanaka problem is a constrained optimization problem with two objectives to be minimized min f ( x, x ) = x 1 1 2 1 min f ( x, x ) = x 2 1 2 2 ( x ) x 2 2 1 subject to C1 ( x1, x2 ) = x1 + x2 1 0.1cos 16 arctan 0, 2 C ( x, x ) = ( x 0.5) + ( x 0.5) 0.5, 2 2 2 1 2 1 2 0 x π, 1 0 x π. 2 Note the variable space is also the objective space 60

Tanaka Problem 1.2 1 0.8 x 2, f 2 0.6 0.4 0.2 Pareto-optimal fronts 0 0 0.2 0.4 0.6 0.8 1 1.2 61 x 1, f 1

Fitness Function Two objectives have positive values and they are to be minimized The fitness function values are defined to be the negative of the objective function values Infeasible solutions are assigned with -10 to reduce the chance of surviving 62

tanaka.m % This is a multi-objective test function, with unconstrained domain; % proposed by Poloni (MOP3, p.110 [1]) % % Reference: % [1] C. A. Coello Coello, D. A. Van Veldhuizen, and G. B. Lamont, % "Evolutionary Algorithms for Solving Multi-Objective Problems" % Kluwer Academic Publishers, 2002 % % date: 12.5.2003 % Initialize the parameters GAP=gapdefault(2,0,200,200); % Use a pareto plot GAP.op_list = []; % objectives list for objective plots GAP.pp_list = [ 1, 2]; % gene list for Pareto plot GAP.pp_sign = [-1,-1]; % sign of fitness for each objective % (1=positive,-1=negative) GAP.pp_axis = [0 1.25 0 1.25]; % axis limits for Pareto plot % x1 x2 % gene 1 2 GAP.gd_min = [ 0 0 ]; GAP.gd_max = [ pi pi ]; GAP.gd_type = [ 2 2 ]; GAP.gd_cid = [ 1 1 ]; [P,GAS,best]= gaoptimize(@tanaka_fit,gap); % Plot final solutions figure(2) plot(best(1,:),best(2,:),'x'); axis([0 1.25 0 1.25]); xlabel('f_1'); ylabel('f_2'); axis square; title('pareto Front') 63

tanaka_fitness.m % This is a multi-objective test function, with unconstrained domain; % proposed by Poloni (MOP3, p.110 [1]) % % Reference: % [1] C. A. Coello Coello, D. A. Van Veldhuizen, and G. B. Lamont, % "Evolutionary Algorithms for Solving Multi-Objective Problems" % Kluwer Academic Publishers, 2002 % % date: 12.5.2003 function [f] = tanaka(x) C1 = x(1)^2+x(2)^2-1-0.1*cos(16*atan(x(1)/x(2))) >= 0; C2 = (x(1)-0.5)^2+(x(2)-0.5)^2 <= 0.5; if C1 & C2 f(1) = -x(1); f(2) = -x(2); else f(1) = -10; f(2) = -10; end 64

Pareto Plot 65

Non Dominated Solutions 66