1
Symposium on Automotive/
Symposium on Automotive/AvionicsAvionics Systems Engineering Systems Engineering (SAASE) 2009, UC San Diego
(SAASE) 2009, UC San Diego
Model-based Parameter Optimization of an Engine Control Unit
using Genetic Algorithms
Dipl.-Inform. Malte Lochau M.Sc. Bo Sun
Prof. Dr. Ursula Goltz Dr. Petra Huhn
Institute for Programming and Reactive Systems
Contents Contents
1. Constraint Multi-objective Optimization, Pareto-Optimality, and Genetic Algorithms (GA)
2. Case Study: 4-stroke Internal Combustion Engine 3. Design of Experiments and GA Application
4. Results and Observations
3
Motivation Motivation
• Combustion engine callibration/regulation
Multitude of electronically influenced controlling parameters
Growing number of requirements
• Conflicting optimization goals for objective values
Maximization: engine performance
Minimization: fuel consumption
Constraints
Depends on working point
Engine Engine
Engine Control Unit
Engine Control Unit
Parameterization (Design Variables)
Constraints
Working Point Working Point
Constraints Optimization Goals
(Objective Values)
Engine
Engine Control Unit Control Unit
• Central part of modern automotive engines
• High computational complexity
5
Optimization
Optimization Approach Approach
• (Constrained) Multi-Objective Optimization Problem (MOP)
Large, nonconvex search space
High inner complexity with interdisciplinary influences
• Conventional analytical optimization approaches inapplicable
Blind optimization
Random search techniques
• Continuous validation of possible solutions on the engine test bed costly and impracticable
Engine model simulation as objective function
( ( Constraint Constraint ) ) Multi Multi - - objective objective Optimization Optimization
minimize Z = (z1(x), z2(x), …, zm(x)) (objective functions) subject to hj(x) = 0, j = 1, 2, …, p (constraint functions)
gk(x) ≤ 0, k = 1, 2, …, q
where x ∈ S (decision variables)
and S ⊂ Rn (search space)
7
Pareto
Pareto - - Optimality Optimality
• Contradicting objectives:
Min. fuel consumption
Max. power values
• Selection of a solution from a set of best rated value combinations:
Domination relation on decision vectors: x1 ≺ x2
Pareto-optimal set: non-dominated set of objectives in S
Pareto-Front: corresponding set in the objective space
⇒ Set of optimal solutions constitute different possible tradeoffs between objectives
Non Non Dominance Dominance and and Pareto Pareto - - Front Front
• Pareto-optimal set: non-dominated set of the entire feasible region of the search space
• Pareto-Front: corresponding set in the objective space
9
Genetic
Genetic Algorithms Algorithms (GA) (GA)
• Random, stochastic search technique for a defined MOP search space
• Evolutionary optimization approach inspired by natural selection („survival of the fittest“)
• A population of abstract representations of candidate solutions (individuals) to an optimization problem evolves towards better solutions
• Independent of the complexity and internal structure of the optimization problem
Principles
Principles of GA of GA
• Initialization:
Population composed of random/preselected individuals in the search space
• Iteration: chain of generations
Fitness of each individual in the population is evaluated according to optimization goals
Multiple individuals are stochastically selected from the current population based on their fitness
Selected individuals are modified, recombined, and possibly randomly mutated to form a new population (genetic operators)
Infeasible individuals are refused
• Termination:
A specified number of generations has been met, or
A satisfactory fitness level has been reached for the population
11
GA GA Flow Flow
Individual
Individual Encoding Encoding
• Representation of decision variables
• Components encoded as genes
13
Population
Population Encoding Encoding
• Population of generations: set of individuals
Genetic
Genetic Operators (1/4) Operators (1/4)
• Selection: choose individuals in a population to produce the next generation
• Individuals are selected mainly based on their fitness value expressing their survivability in the population
• Examples:
Elitist selection
Roulette-Wheel selection
Tournament selection
Rank selection
…
15
Genetic
Genetic Operators (2/4) Operators (2/4)
• Crossover (recombination): mates two individuals to produce two offsprings
Genetic
Genetic Operators (3/4) Operators (3/4)
• Crossover with multiple crossover points
17
Genetic
Genetic Operators (4/4) Operators (4/4)
• Mutation: spontaneous changes on individuals
Evolutionary
Evolutionary Process Process
• Further GA Settings:
Population Size N
Crossover probability Pc
Mutation probability Pm
…
19
Case Case Study Study : 4 : 4 - - stroke stroke Internal Internal Combustion Combustion Engine Engine
• Cycle process:
4 movements (strokes)
Crankshaft rotates 720°
• Angle of crankshaft:
Point in time for operations of the strokes
Controlled by ECU
4 4 Movements Movements
1. Intake / induction stroke – fuel / air injection
2. Compression stroke – ignition
3. Power / combustion stroke – engine gives power
4. Exhaust stroke – gas leaves combustion chamber
21
Engine
Engine Model Model
• WAVE® model (http://www.ricardo.com)
• Parameterized simulation ⇒ performance values
parameterization
simulation
Design Variables
Design Variables – – Engine Engine Parameters Parameters
[326, 386]
degree [deg]
Intake valve open x7
[-30, 30]
degree [deg]
Combustion start x6
[0, 240]
degree [deg]
Injection duration x5
[-360, 60]
degree [deg]
Injection start x4
[20, 110]
bar [bar]
Fuel pressure x3
[40, 51.7]
millimeter [mm]
Diameter of throttle x2
[0.5, 0.1111]
- Fuel/Air ratio
x1
Scope Unit
Description Variable
• Optimization: adjusting parameters by the ECU
• Constraint: x4 + x5 < x6
23
Objective
Objective Values Values – – Requirements Requirements
≤ 180000 rpm
Speed of turbine y7
in [0,400]
mm2 Area of waste-gate attached to turbine
y8
y10 – y9 ≤ 180 K
Temperature of thermocouple in duct of inlet y9
K Temperature of thermocouple in exhaust of duct
y10
≤ 1323.15 K K
Temperature of thermoelement of turbine inlet y11
≤ 1223.15 K K
Temperature of thermoelement of turbine outlet y12
= 0
≤ 8
≤ 130 (mechanical pressure)
≈ 14.5 ([10.5,18.5] acceptable) Maximum in (0, ∞∞∞∞)
Maximum in (0,∞∞∞)∞ Minimum in [0,1]
Objective / Constraint
- Normalized stall magnitude of compressor
y13
bar/° KW Maximum rate of pressure rise in cylinder
y6
bar Maximum cylinder pressure of cylinder 1
y5
- Air/Fuel ratio trapped, multi-cylinder average
y4
bar Brake mean effective pressure
y3
bar Net indicated mean effective pressure
y2
kg/KW /h Brake specific fuel consumption
y1
Unit Description
fi
Optimization
Optimization Approach Approach
minimize y = f(x) = (f1(x), -f2(x), -f3(x))
subject to x1 + x5 < x6 0 ≤ f1(x) ≤ 1 f2(x) > 0 f3(x) > 0
| f4(x) – 14.5 | ≤ 4 f5(x) ≤ 130
f6(x) ≤ 8 f7(x) ≤ 180000
0 ≤ f8(x) ≤ 400 f10(x) – f9(x) ≤ 180 f11(x) ≤ 1323.15 f12(x) ≤ 1223.15 f13(x) = 0
where x ∈ S ⊂ R7
25
Tool Tool - - based based Framework Framework for for GA GA Application Application
GA Optimization Tool
Interface
GA
Model File Simulation Output File
GA Settings
ParetoOptimal Solutions
Individual Encoding
Individual Fitness Performance Values,
Constraints Design Variables,
Simulation Settings
WAVE ®
Engine Model Simulation
Archived Individuals
Experiments Experiments
100 200
200 population size
80 40
40 generations
0.9 0.8
0.8 crossover probability
0.1 0.2
0.2 mutation probability
Gaussian Gaussian
Gaussian mutation
Blend Uniform
Uniform crossover
Rank Roulette Wheel
Roulette Wheel selection scheme
Elitist Elitist
Elitist replacement
no yes
no preselection
no yes
yes discretized decision variables
Case 3 Case 2
Case 1
27
Observations
Observations (1/2) (1/2)
• Collecting individual data during GA application
• Deriving further relations between design variables and objectives values
⇒ Simplified engine model
Observations
Observations (2/2) (2/2)
• y2 and y3: linear increasing dependency ⇒ neglecting y3
• y1 and y2: competitive ⇒ 2-dimensional objective space
29
Initialization
Initialization
1st Generation
1st Generation
31
2nd Generation
2nd Generation
3rd Generation
3rd Generation
33
4th Generation
4th Generation
5th Generation
5th Generation
35
Final Generation
Final Generation
Dominated
Dominated Space Space
• Measering size of dominated space ⇒ final Pareto-Front
37
Pareto
Pareto - - Front Front for for Case Case 1 1
• Comprehensive coverage of the search space
• Selection of a solution:
Further analyses
Ranking
• Validation on the real engine test best:
Plausibility of optimization results
Ensuring correctness of the model
Observations Observations
• Final Pareto sets stable
• Clear and consistent solution identification in all 3 Cases
• Validation on the engine test bed
• But: convergence speed depends on GA settings
⇒ Speed vs. Accuracy
39
Convergence Convergence
• Case 2: preselection
• Case 1 and 2: discretized decision variables
ca. 8 d, 19 h ca. 12 d, 17 h
Overall duration
ca. 120 sec ca. 180 sec
Simulation duration
5760 5555
Total
simulations
Case 2 Case 1
Some Some Statistics Statistics
78 71
53 Individuals in Pareto-front of
final generation
60 43
36 Average individuals in
Pareto-front of generations
2 4
4 Individuals in Pareto-front of
initial generation
7653 5760
5555 Total simulated individuals
2304 5312
5496 Total infeasible individuals
68 72
68 Average feasible individuals
of generation
5412 2885
2703 Total feasible individuals
7716 8197
8199 Total created individuals
Case 3 Case 2
Case 1
41
Scalability
Scalability of GA of GA
• Independent of inner complexity
• Supplying no further information on system under optimization
• Adaptable optimization framework:
Engine Model
Optimization goals und constraints
GA Settings
• Adaptive GA:
Adjustable object function (working point)
Integration of learning approaches
Future
Future Work Work
• Improving efficiency of GA:
Enhanced genetic operators
Punishment for constraint violations
Parallel computation of individuals
• Improving accuracy of GA:
Hybrid approaches
Domain knowledge for different engine classes
• Improving usability of GA:
Engineering workflow integration
Result selection, statistics capabilities
…