You are on page 1of 113

Multi-objective decision-making

method

Xianfeng Huang
College of Water Conservancy and Hydropower Engineering
Hohai University
xfhuang@hhu.edu.cn, 18539123@qq.com
Outline
Why & When to Use GA?
What is GA?
GA operators
Examples of GA operators
GA parameters
Numerical Example
Applications in Environmental Systems
Summary
Optional Exercise
WHY USE GA?
advantages, disadvantages, heuristic methods
Motivation
We have in our suitcase
Linear Programming (LP),
Non Linear Programming
(NLP), Dynamic
Programming (DP), and
others.

Why do we need an additional,


entirely different, method?
Analytical methods
Analytically search for better solutions
Linear programming can easily be
implemented
Nonlinear programming requires derivatives
of the objective function and constraints
For nonlinear problems, analytical
methods are limited to certain types of
functions
Must be continuous and differentiable
To find a globally optimal solution, must be
convex
Some advanced methods can handle non-
Search methods
Randomly search for better solutions
Build from promising solutions (guided
search) to ensure greater efficiency than
completely random search
Can handle any type of problem
More computationally expensive and
time consuming than analytical methods
But one does not have to spend time
linearizing the problem or finding derivatives
Example: naive search
method
min f ( x1 ,..., xn )
x

s.t.
0 x1 ,..., xn 5
Generate a sample between 0 and 5.
How ?
Evaluate the generated sample
Save the best values

What should we do next ? The same ?


WHAT IS GA?
Background, basic idea, terminologies, fundamental
concepts,
Genetic Algorithms
Background
GAs: Search and optimization
algorithms that mimic natural
evolution

GAs are based on


Darwins theory of evolution

Genetic algorithms (GAs) (Holland, 1975;


Goldberg, 1989) are heuristic
combinatorial search techniques that
imitate the mechanics of natural
selection and natural genetics of
Genetic Algorithms
Biological Background
Heres an oversimplified description of how
evolution works in biology
Organisms (animals or plants) produce a number of
offspring which are almost, but not entirely, like
themselves Mutation
Variation may be due to mutation (random
changes) Crossover
Variation may be due to sexual reproduction

Selection
(offspring have some characteristics from each
parent)
Some of these offspring may survive to produce
offspring of their ownsome wont
The better adapted offspring are more likely to
survive
Genetic Algorithms
Basic idea
The basic idea is to simulate the natural
evolution mechanisms of Organisms. In a competitive
environment the fittest survive.

This is accomplished by creating a random search


technique that combines survival of the fittest.

involving: selection, crossover, and mutation.


Genetic Algorithms
Terminologies
Population: A set of possible solutions to a problem

Chromosome: A single solution (string of decision variables)

Gene: A single decision in the chromosome

Fitness function: How to evaluate the quality of a member


of the population
Genetic Algorithms
(cont.) Terminologies
min f ( x1 ,..., xn )
x

s.t.
0 x1 ,..., xn 5
X-vector of decision variables chromosome
(individual)

Xi- decision variable gene (part of the


chromosome)

f- objective function fitness function


Genetic Algorithms
Fundamentals
Based on two fundamental principles:
Exploration (variation)
Exploitation (survival of the fittest)
Based on three fundamental operators
Selection Exploitation
Crossover
Exploration
Mutation
GA OPERATORS

Selection, crossover, mutation, elitism,


Genetic Algorithms
Terminologies
Selection: How to determine which members of the
population will survive to the next generation

Crossover: Combining two members of the population

Mutation: Changing a single member of the population

Elitism: Allowing the best members to pass to the next


generation
GA Operators
Selection
Darwinian survival of the fittest.
Better individuals have more children
(more copies in mating pool)
Best solutions survive into final
generations and produce more
copies effectively taking over the
population
GA Operators

Crossover
Combine pieces of good parents
A random shuffle on chromosomes
Produce new, possibly better children
(chromosomes)
Requires genetic diversity among the
parents to ensure sufficiently varied
offspring
GA Operators

Mutation
Mutation is a random change of a
chromosome
Change a gene( or some genes),
small movement in the neighborhood
Helpful to prevent premature
convergence
Creates the diversity required by the
Crossover
GA Operators
Summary
Selection involves the process of choosing
chromosomes from the current population for
reproduction according to their fitness values
Crossover involves partial exchange of
information between pairs of chromosomes
Mutation involves a random change in the
chromosomes
GA Operators
Rules of the Game
Chromosomes from the current population need to be
selected for reproduction.
The selection procedure picks out two parent
(chromosomes) at a time, based on their fitness values,
for reproduction.
The two parents then undergo crossover and mutation
operators to produce two offsprings for the new
population.
This selection crossover - mutation cycle is repeated
until a new population is generated.
The higher the fitness value of a chromosome is, so is
its probability to be selected for reproduction.
GA Operators
Put Together to form GA
GA EXAMPLE
Example 1
Example [min f(x)]
2.5

1.5

0.5
f=0.37 at x
= 809
0
0 100 200 300 400 500 600 700 800 900 1000
First Population

2.2

1.8

1.6

1.4

1.2

0.8

0.6

0.4
Generation 1
0.2
0 200 400 600 800 1000 1200

Individual Best
s individu
al
Solution process
2.2

1.8

1.6

1.4 Mean Best Final


1.2 fitness fitness Solutio
1
n
1.3
0.8 Best Fitness
Mean Fitness
1.2
0.6
1.1
0.4
Generation 1 1
0.2
0 200 400 600 800 1000 1200
0.9
Fitness

0.8

Individu Best 0.7

al individu 0.6

al 0.5

0.4

0.3
0 10 20 30 40 50 60 70 80
Generations
Generation
s
EXAMPLES OF GA
OPERATORS
Selection (Tournament, Roulette)
Crossover (One point, Uniform, Blending)
Mutation (Flip bit, Random)
Selection Mechanisms
Roulette (Proportional): Cost/Rank
Within this selection method the likelihood of a
chromosome to be selected is computed according to
its relative fitness (cost) (also known as Proportional
Selection) / or according to its rank

Tournament
Randomly, using a uniform distribution, select
chromosomes of the population (two or more)
Run a "tournament" between the chosen chromosomes
where the relative fitness of each chromosome acts as
its probability to win the "tournament"
Selection Mechanisms
(Roulette/Proportional)
Example

How to model this roulette?


Selection Mechanisms

N pairs in the
Present mating pool
population
1
1 Roulette: Pair 1
4
2 Six times
3
3 Pair 2
5
4
5 2
Pair 3
6 2

2N = 6 N=3
Crossover Mechanisms
With a predefined
N pairs in the mating pool Crossover Probability (Pc),
each of the pairs
1 undergoes Crossover (i.e.,
Pair 1 there is a probability of 1
4 - Pc that a specific pair
will move to the next
3
Pair 2 generation unchanged(.
5
Not all the pairs thus
2 undergo Crossover.
Pair 3 In fact in most GA
2
procedures the best
solution at a given
N=3 generation is moved
unchanged to the next
Crossover Mechanisms
(One Point Crossover)
One point: A random crossover point is selected.
The two second parts of the two parents are
switched producing two new offspring strings

Original Two new offspring strings


pair

One point cross over is the most common crossover scheme


which can be generalized to multiple crossover locations
Crossover Mechanisms
(One Point Crossover,
Binary)
Encoding schemes: Representation for a chromosome
of the population such as binary, integer, or real
values
Binary, one point crossover:
Crossover location

Parent #1: 011101|0101


Parent #2: 100111|0111

Offspring #1: 011101|0111


Offspring #2: 100111|0101
Crossover Mechanisms
(Blending Crossover, Real)
Crossover: Real Gene1 Genei

Parent #1: 2.34, 5.67, 8.97, 12.21


Parent #2: 5.65, 24.34, 15.61, 32.54
Using Blending (a linear combination of the two parents for each gene):
Genei (Offspring #1) = Genei (Parent1) b [Genei (Parent1) Genei (Parent2)]
Genei (Offspring #2) = Genei (Parent2) + b [Genei (Parent1) Genei (Parent2)]
where b is a random number between 0 and 1

For example: The first gene of Offspring #1 with b randomly selected as 0.76
will be: Gene1 (Offspring #1) = 2.34 0.76 (2.34 5.65) = 4.86

Offspring#1: 4.86, 19.86, 14.02, 27.66


Offspring#2: 3.13, 10.15, 10.56, 17.09
Crossover Mechanisms
(Blending Crossover,
Integer)
Crossover: Integer Gene1 Genei

Parent #1: 10, 11, 6, 2


Parent #2: 13, 15, 5, 1

Using Blending (a linear combination of the two parents for each gene):
Genei (Offspring #1) = Genei (Parent1) b [Genei (Parent1) Genei (Parent2)]
Genei (Offspring #2) = Genei (Parent2) + b [Genei (Parent1) Genei (Parent2)]
where b is randomly selected between 0 and 1, and each of the genes is rounded
to the nearest integer number

For example: The first gene of Offspring #1 with b randomly selected as 0.62
will be: Gene1 (Offspring #1) = 10 0.62 (10 13) = 11.86 ~ 12

Offspring#1: 12, 13, 8, 4


Offspring#2: 11, 13, 6, 2
Mutation Mechanisms
Mutation: a random change in one of the strings
locations
Examples of mutation methods:
Random: Randomly exchanging selected genes
with random values. Mutation is performed using
a mutation probability Pm which is usually very
low.
Examples of types of:
selection, crossover, mutation
Mutation
Binary: by randomly flipping, with a probability of
mutation (Pm), between 0 and 1. For example:

Before mutation: 0111010101


After mutation: 0101011100

Integer and real: randomly modifying, with a


probability of mutation (Pm), each gene with a random
value between each genes minimum and maximum
boundaries
Various Crossover &
Mutation Mechanisms
If a chromosome has a combination of gene
types, then each of the chromosomes sections
undergoes its own crossover and mutation
operators
4 real decision
For example: variables
[0 0 1 0 1 0 0 5 7 23 2.67 43.23 100.91 32.31]
7 binary decision 3 integer
variables decision variables

Selection: the same for all string types: selection is


performed according to the strings fitness (cost) not its type
GA EXAMPLE
Example 2
The Problem

min 20 x x 10(cos 2 x1 cos 2 x2 )


2
1
2
2
x
Initial Population
Second Population
Generations 60, 80, 95,
100
GA PARAMETERS
Population size, crossover & mutation probabilities, stopping
condition
Genetic Algorithms
Parameters
GA Parameters:
Population size N
Probability of Crossover Pc
Probability of Mutation Pm
Stopping condition (e.g., maximum number
of generations)
Genetic Algorithms
Parameters
For best GA performance, the parameters
need to be set appropriately to ensure
adequate exploration and exploitation
powers
Bad parameters could lead to premature
convergence or unnecessarily too long
computational time, which may render GA
unfeasible!
Generally parameters are problem
dependent and set using trial and error;
Genetic Algorithms
Parameters
Population size N: N 1.4 L
Chromosome
(string) length
TOO BIG:
More computational time to converge

TOO SMALL:
Premature convergence; stuck at a local
optimum (lack of exploration)
Genetic Algorithms
Parameters
Probability of Crossover Pc:

TOO BIG:
Disrupting good solutions before they have the
chance to take hold in the population

TOO SMALL:
Not sufficient mixing to find new (better)
solutions
Genetic Algorithms
Parameters
Probability of Mutation Pm:
1 1
Pm max ,
N L
TOO BIG:
Loss of good solutions Population
size
String
length

TOO SMALL:
Genetic drift (most of the population is to
similar to each other)
Genetic Algorithms
Parameters
Stopping condition:
Obviously the algorithm is required to stop when a
global optimum solution is reached. The problem is
that global (or local) optimal solutions have no labels,
and since no optimality conditions are checked for
stopping, different criteria exist for that:
1. Maximum number of generations.
2. No improvements of the objective function
(fitness) values for several generations.
3. Maximum computational time (budget).
HOW DOES GA WORK?

Stages, flowchart, steps, coding


Genetic Algorithms
Primary Stages
A typical GA form involves three main
stages:
(1) Initial population generation
(2) Computation of the strings fitness
(3) Generation of a new population
Genetic Algorithms
Stage 1
(1) Initial population generation: the GA generates a
bundle of strings (termed population or generation),
with each string being a coded representation of the
decision variables; The string is termed a
chromosome. Its components are entitled genes.

Each chromosome represents a possible solution and is


composed of a string of genes. The binary (0, 1)
alphabet is often used to represent these genes but
sometimes, depending on the application, integers or
real numbers are used. In fact, almost any
representation can be used that enables a solution
to be encoded as a finite length string.
Genetic Algorithms
Stage 2
(2) Computation of the strings fitness: the GA
evaluates each string fitness (i.e., the value of the
objective function corresponding to each string),
giving a fitness-penalty to infeasible strings

Computation of the strings fitness is the most


expensive stage of GAs. Note that an evaluation of
a string fitness can be easy, but extremely time
consuming and complicated if each string fitness
evaluation involves the utilization of a complicated
numerical model !
Genetic Algorithms
Stage 3
(3) Generation of a new population: the GA
generates the next population by performing three
operations:
Selection Crossover Mutation
Stage 1 Start with Initial Population (random set of possible
Stage 2 solutions)
Evaluate fitness of all individuals
Select better individuals from mating pool
Stage 3 Members of mating pool interact forming children
Mutate child population
Replace parent with child (this is one generation)
Repeat till convergence criterion met
Set of 1 Fitness 2 Generation
initial evaluation manipulations:
possible (i.e., 3 selection

solutions objective crossover


function mutation
A GA framework
evaluation)
4 Set of
No possible
The best solution 7
(final generation) solutions
Yes
5 Fitness
Stop ? 6
evaluation
Genetic Algorithms
Coding of a Genetic Algorithm might be wrong
ENTIRELY or PARTIALLY, but it will still seem to work !
Two extremes:
How can you tell if a GA is correctly coded? Partially True
Genetic Algorithm
Generally you can not!
Partially correct
The only checks that can be performed are
indirect code housekeeping tests

Random search True Genetic Algorithm


Completely wrong Completely correct
GA EXAMPLE

Example 3
GA Example
Objective is to fitness x 2

maximize
Decision Variables x
0 x 31
Constraints
Encoding scheme Binary base 2
Population size 4
Selection method Proportional
Crossover one point crossover
Pc = 0.9
Mutation Flip one mutation
Pm = 0.001
GA Example
How long the chromosome needs
to be?
Base 2 1 20 1 1
121 1 20 3 1,1

0 x 31 1 22 1 21
1 20 7 1,1,1
1 23 1 22 1 21 1 20 15 1,1,1,1
1 24 1 23
1 22 1 21 1 20 31 1,1,1,1,1

1 25 1 24
1 23 1 2
2
1 21 1
20 63 1,1,1,1,1,1
e.g.
0110 0 24 1 23
1 22 0 21 1 20 0 8 4 0 1 13
1
GA Example
Stage 1: Initial
Population
0 24 1 23
1 22 0 21 1 20 13 169
1170

Randomly String Binary Valu Fitness Proportional


Representati ex = x2 Selection
generate
on
4 strings
1 01101 13 169 0.144
2 11000 24 576 0.492
3 01000 8 64 0.055
4 10011 19 361 0.309
Sum = 1170 1.000
Average = 293
GA Example
Stage 2: Mating Pool
0.144 0.492 0.055 0.309

0.144
1

0.691
0

0.636
Generate
4 random
numbers Strin Binary x Fitnes Proportion cumul
g Number s al ative
s = x2 Selection
0.11 1 01101 1 169 0.144 0.14
0.53 3 4
0.64 2 11000 2 576 0.492 0.63
0.89 4 6
3
Strings 1,01000 8
2, 2, 4 are selected64 0.055
for crossover 0.69
GA Example
Stage 3: Crossover
Generate 1 random number 0.8
0.8 < (Pc = 0.9) perform crossover

01101 01100
11000 11001
Randomly
select a split
point for
each pair 01000 01011
10011 10000
Max 576
729
GA
fitness
Avg.
Example
01100
Stage 4: Mutation
fitness 11001
Generate 1 random number 0.3 01011
0.3 > (Pm = 0.001) NO mutation 10000
Comparison Initial Generation 1st Generation
of maximum Binary x Fitnes Binary x Fitnes
and average Number s Number s
fitness s = x2 s = x2
values from 01101 1 169 01100 1 144
initial 3 2
generation 11000 2 576 11001 2 625
to the first 4 5
Recall
one
Global 01000 8 64 01011 2 729
optimum 10011 1 361 7
GA Example
2 Generation
nd

Binary x Fitnes Proportion


Number s al
s = x2 Selection
01100 1 144 0.082
2 Selection
11001 2 625 0.356
5 Crossover
01011 2 729 0.416
7
NO Mutation
10000Next1 256 0.146
Generation
6
Stop ?
GA APPLICATIONS

Examples from Environmental Systems


Genetic Algorithms
Applications
Optimal design applications:
Optimizing pumping locations for
groundwater treatment
Pipe sizes for water distribution
systems
Optimal operation applications:
Optimizing pumping schedules for
groundwater treatment
Maximizing efficiency and well use
Reservoir operation to devise optimal
Genetic Algorithms
Applications
Inverse modeling:
Model calibration to fit observed data
(hydrologic models: HEC-HMS, HSPF,
SWAT)
Determining the source of air pollutants
given what is known about monitored
pollutants
Simulation-optimization approach:
GAs lend themselves to the simulation-
optimization approach, especially when
Genetic Algorithms
Other Applications
Trip, Traffic and Shipment Routing
Planning the most efficient
routes
Scheduling for travel
planners, traffic routers and
even shipping companies
Finding the shortest routes
for traveling
The timing to avoid traffic tie-
ups and rush hours
Most efficient use of
transport for shipping, even
to including pickup loads and
deliveries along the way.
Genetic Algorithms
Other Applications
Engineering Design
Getting the most out of a
range of materials to optimize
the structural and operational
design of buildings, factories,
machines, etc. (e.g.
optimizing the design of
building trusses, turbines,
Genetic Algorithms
Other Applications
Chemistry: Molecular Structure Optimization
Computer Science: State Assignment Problem
Economics: Game Theory Equilibrium Resolution
Engineering Design: Automatic creation of optimal
designs
Manufacturing Systems: Dynamic Re-configuration
Medicine: Classification of Mass and Normal Breast
Tissue
Physics: Calculation of Bound States and Local Density
Approximations
Scheduling: System for Scheduling Multiple Time
Dependent Events
GA SUMMARY
Advantages, disadvantages, take home message,
Genetic Algorithms
Advantages:
Global Optimizers
Solve a robust array of problems
(non-linear, multi-modal, discrete,
binary, discontinuous, etc)
Work for Single & Multiple-
Objectives
Robust over noise and uncertainty
Easy to parallelize
Extremely simple !

1. No need to know anything on the model properties (i.e.,


derivatives, smoothness, continuity, etc.)
2. Need only to have a smooth working link for fitness
evaluations for each set of randomized possible solutions
3. Advantages: general scheme. Can work in principal for
any model !
4. Disadvantage: (1) highly computationally intensive (2)
does not guarantee an optimal solution not even local (3)
loss of insight

Recommendation: use GA cautiously, not


for every instance!
OPTIONAL EXERCISE

Coding GA
Optional Exercise
Select an optimization problem of your
choice, for example the Linear
Programming simple problem solved in
class (or any other simple problem for
which you know the optimal solution) and
code yourself a genetic algorithm for its
solution.
No need to submit this exercise.
How To Convert from
Binary Decimal

Binary Evaluate 24 23 22 21 20
Decimal Value 16 8 4 2 1
How To Convert from
Binary Decimal

Binary Evaluate 24 23 22 21 20
Decimal Value 16 8 4 2 1

In Excel, the functions


= bin2dec(): converts a binary number to
decimal
= dec2bin(): converts a decimal number
to binary
Toy Example

Maximize
120

100

80

60

40

20

0
0 2 4 6 8 10 12 14 16 18 20
Toy Example

Maximize

Interval = [0, 20]


Run 3 GA generations
6 strings per generation
Proportional selection
One point crossover
A crossover probability of 1
A mutation probability of 0
Toy Example
Maximize

First randomly select 6 candidate solutions


from the integers between 1 and 20
12
9
2
14
7
6
Toy Example
Maximize

First Generation: This is the roulette

Individu f(x)/f(x
al x string f(x) )
0.18571
1 12 1100 104 4
0.19642
2 9 1001 110 9
0.09642
3 2 10 54 9
0.16071
4 14 1110 90 4
0.18571
Crossover
Select candidates based on
proportional (roulette) probabilities:
14
7
12
6
6
9
Crossover
Select random location for crossover,
cross chromosomes, and obtain 2nd
generation
14 1110 1111 15
1 pair
st
7 0111 0110 6

12 1100 1110 14
2nd
pair
6 0110 0100 4

6 0110 0101 5
3 pair
rd
9 1001 1010 10
2 nd
Generation

Individu f(x)/f(x
al x string f(x) )
1 15 1111 80 0.145985
2 6 110 98 0.178832
3 14 1110 90 0.164234
4 4 100 80 0.145985
5 5 101 90 0.164234
6 10 1010 110 0.20073
f(x) = 548
Crossover
Select candidates based on
proportional (roulette) probabilities:
15
4
5
5
14
5
Crossover
Select random location for crossover,
cross chromosomes, and obtain 3rd
generation
15 1111 1100 7
1 pair
st
4 0100 0111 12

5 0101 0101 5
2nd
pair
5 0101 0101 5

14 1110 1101 13
3 pair
rd
5 0101 0110 6
3 Generation
rd

Individu f(x)/f(x
al x string f(x) )
1 7 111 104 0.189781
2 12 1100 104 0.189781
3 5 101 90 0.164234
4 5 101 90 0.164234
5 13 1101 98 0.178832
6 6 110 98 0.178832
f(x) = 584
A Water Resources Example
in Excel and Matlab

10/1/2013
Problem Formulation

NB1 ( x1 ) 6 x1 x12 maximize the total net benefits


NB2 ( x2 ) 7 x2 1.5 x22
NB ( x )
j j
NB3 ( x3 ) 8 x3 0.5 x 2
3
j

The total amount of water available for the


firms is constrained or limited to a quantity of
50% of Q.
Evolutionary Solver in Excel
Evolutionary Solver in Excel
Genetic Algorithms in
Matlab
Genetic Algorithms in
Matlab
Genetic Algorithms in
Matlab
Results
Sensitivity of Solution
to GA Parameters
Problem Formulation

NB1 ( x1 ) 6 x1 x12 maximize the total net benefits


NB2 ( x2 ) 7 x2 1.5 x22
NB ( x )
j j
NB3 ( x3 ) 8 x3 0.5 x 2
3
j

The total amount of water available for the


firms is constrained or limited to a quantity of
50% of Q.
Genetic Algorithms in
Matlab
Genetic Algorithms in
Matlab
Results
Genetic Algorithms
Parameters
Population size N:

TOO BIG:
More computational time to converge

TOO SMALL:
Premature convergence; stuck at a local
optimum (lack of exploration)
Population Too Small
Population = 6
x1 = 2.2840
x2 = 2.7731
X3 = 2.8945

e m a tu re
Pr fval =
n ve rg enc
Co -35.3310
e
time = 1.6 sec
Population Too Large
Population = 1000

>1 hour!
Run aborted by user
Genetic Algorithms
Parameters
Probability of Crossover Pc:

TOO BIG:
Disrupting good solutions before they have the
chance to take hold in the population

TOO SMALL:
Not sufficient mixing to find new (better)
solutions
Crossover Probability Too
Big
Pc = 1.0
N = 10
r u p tion Gen =
D i s
of good 10
o l uti on s
s x1 = 0.7941
x2 = 0.3895
X3 = 5.7700

fval =
-36.1467
Crossover Probability Too
Small
Pc = 0.0
N = 10
Not Gen =
nt 10
sufficie
mixing
x1 = 0.3952
x2 = 2.5000
X3 = 5.0006

fval =
-37.8419
Genetic Algorithms
Parameters
Probability of Mutation Pm:

TOO BIG:
Loss of good solutions

TOO SMALL:
Genetic drift (most of the population is too
similar to each other)
Mutation Probability Too Big
Pm =
0.9
N = 10
Gen =
x110
= 1.6155
Disruption x2 = 1.8158
of good X3 = 0.7650
solutions
fval =
-20.6758
Mutation Probability Too
Small
Pm =
0.0
N = 10
o
Children to Gen =
m i l a r to e ach
si
other x110
= 2.3382
x2 = 0.4413
X3 = 5.2205

fval =
-39.4962
Genetic Algorithms
Parameters
Stopping condition:

1. Maximum number of generations.


2. No improvements of the objective function
(fitness) values for several generations.
3. Maximum computational time (budget).
Population Too Small
Population = 6
x1 = 2.2840
x2 = 2.7731
X3 = 2.8945

e m a tu re
Pr fval =
n ve rg enc
Co -35.3310
e
time = 1.6 sec
Stopping Criteria
Tolerance of change in fitness function
decreased.

x1 = 0.7426
x2 = 0.6488
X3 = 6.3431

fval =
-38.4415

You might also like