Engine Calibration Process Optimization
Engine Calibration Process Optimization
net/publication/288578969
CITATIONS READS
2 3,333
4 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by David Dronzkowski on 06 February 2019.
Abstract: Before an engine can be scheduled in the Product Development cycle for inclusion in a vehicle, it must be
calibrated in such a way that it satisfies a variety of regulatory tests over a range of conditions. The current
engine calibration process involves conducting a design of experiments at a representative number of steady
state points in order to satisfy all required regulatory tests: test engineers use a standard 16 × 16 grid with
standard grid spacing and then conduct a design of experiments on a subset of those points - about 120 of
them. This work explores how to reduce the engine calibration process time by finding the best 16 × 16 grid
choice (i.e. the best spacing on both the engine speed and torque axes) and the minimum number of points
on the grid to test in order to satisfy regulatory constraints around NOX , particulate matter, noise, and fuel
consumption. Our proposed method models the problem as a Binary Integer Program that simultaneously
selects the best grid spacing and optimized number of points to test, while guaranteeing that all specified
constraints hold. We present an example that demonstrates how we can reduce the number of necessary test
points by approximately 56%.
a transient manner with engine speed and load con- decision variables are binary. This problem is re-
stantly changing with pedal position. The transient lated to set-covering problems (Balas and Padberg,
test in Figure 1 is a discretized version of an FTP test, 1972), (Wolsey, 1998), where we find the minimum-
but note that the time spent at any of these points is cost cover. However, in the traditional set covering
less than one second. problems, the points from which to determine the
Figure 1 illustrates a conventional 16 × 16 grid cover are pre-defined. In our problem, we have to
(calibration table points), a discretized representation simultaneously determine both the points from which
of a transient drive cycle (FTP74 Test Points), typi- to select the cover (i.e. which SS points will be in the
cal engine calibration test points, and an engine’s full grid) and the best cover (i.e. which SS points we will
load curve (FLC). The transient drive cycle, usually test). We consider that a transient point or SS point
mandated by a regulatory agency such as the EPA, not selected in the grid is covered by a selected SS
is intended to represent a “typical” vehicle’s driving point if it is within a certain distance to any selected
pattern. The engine calibration test points are usually SS point.
a subset of the 256 possible speed and load combina-
tions discussed above. The FLC essentially represents 2.1 Inputs
the output capability of the engine. The typical engine
test points denoted by circles in Figure 1 include all
The inputs below describe the necessary information
points directly above and below the FLC, all points on
to run the model: several are illustrated in Figure 2.
the zero axis, and every other grid point. The current
process involves performing some level of calibration Es = engine speed starting point = mink {FLEk }.
work: in-vehicle idle validation for zero load points Ee = engine speed ending point = maxk {FLEk }.
for idle and off-idle performance, set point mapping Ts = torque starting point.
at the FLC to ensure hardware limits are maintained, Te = torque ending point = maxk {FLTUk }.
p = length/width dimensions of final grid.
and a DoE at selected points to ensure emissions com-
GX min = minimum allowed for the grid to be spaced
pliance and minimize fuel consumption. The work in the engine speed direction.
included in this paper is an attempt to minimize the GY min = minimum allowed for the grid to be spaced
number of speed/load points to test and to find the in the torque direction.
best grid location for these points instead of always q = number of possible grid points on x-axis
considering a fixed subset of points as demonstrated r = number of possible grid points on y-axis
by the calibration test points in Figure 1. The goal n = q × r number of possible SS points.
is to expedite the product development life-cycle and m = number of transient points.
K = {1, . . . , q} : set of grid point indices on x-axis.
significantly reduce testing costs. R = {1, . . . , r} : set of grid point indices on y-axis.
S = {1, . . . , n} : set of possible SS points.
I = {1, . . . , m} : set of transient points.
1400
dti j = distance between transient point i ∈ I and
Full Load Curve
FTP74 Test Points possible SS point j ∈ S.
1200
Calibration Table Points
Calibration Test Points ds j1 j2 = distance between two SS points j1 , j2 ∈ S.
DT max = max distance allowed between a transient
1000
point and its closest selected SS point.
DSmax = max distance allowed between a SS point
Torque [Nm]
800
and its closest selected SS point.
600 DX max = max grid spacing in x direction.
DY max = max grid spacing in y direction.
400
Ej = engine speed j ∈ S.
200 Tj = torque j ∈ S.
FE max = max engine speed value of FLC.
0
400 800 1200 1600 2000 2400 2800 3200 3600 4000
FT max = max torque value of FLC.
Engine Speed [RPM] FLEk = FLC engine speed value ∀ k ∈ K.
FLTk = FLC torque value ∀ k ∈ K.
Figure 1: Typical engine operating regime. FLTUk = FLC torque upper value ∀ k ∈ K.
FLT Dk= FLC torque lower value ∀ k ∈ K.
336
ENGINE CALIBRATION PROCESS OPTIMIZATION
1 if ds j1 j2 ≤ DSmax
b j1 j2 = ∀ i, j ∈ S 16 × 16 grid will have a DoE run at that point. These
0 otherwise selected points will have to cover the other grid points
Figure 2 is illustrative of many of the input pa- for which a DoE will not be run and cover all transient
rameters. It shows the FLC on the grid of all pos- points:
sible SS points, which are denoted by circles. The
1 if j ∈ S is a SS point selected for
transient points are superimposed on this figure and yj = testing
are denoted by stars. The torque value, T e = 1300 0 otherwise
TRQ, corresponds to the SS point that is directly
above the highest point on the FLC. In this figure, 2.3 Objective Function
FT max = 1255 TRQ is just slightly above the pos-
sible SS point, x1897 , which has a torque value of Our objective function is currently to minimize the
1250; hence, T e is given the next highest torque value, size of the cover. Since we consider all points in the
1300 TRQ. There are a total of n = 1755 possible SS cover of equal value, we are just minimizing the num-
points. In our implementation, the indexing scheme ber of SS points needed to cover the transient points
for each possible SS point starts from the bottom left and all other possible SS points. Our current objective
corner of the grid and continues up from left to right is to minimize the cover points, which is reflected in
(see Figure 3). Each possible SS point has an asso-
ciated engine speed and torque, but is not indexed min ∑ y j . (1)
over engine speed and torque. For example, in Fig- j∈S
ure 2 x161 is a SS point with an engine speed, E161 ,
The objective function could easily account for
and a torque, T161 , where (E161 , T161 ) = (2100, 100).
different costs associated with each selected point to
Also shown in the Figure are FE max = 3800 RPM,
include things such as the actual distance between the
E e = 3800 RPM, (FLE10 , FLT10 ) = (1050, 818.25),
cover of SS points and the points it is covering. This
FLT D10 = 800 TRQ, and FLTU10 = 850 TRQ.
would capture the case where the greater the distance
between the point in the cover and the points it is cov-
FTmax
Te ering, the worse the cover. For example, this could
x 1897 accommodate if the error rate for interpolating a SS
Ee value was worse for a greater distance between the
FLTU10
(FLE10,FLT10) interpolated point and its cover point. However, this
could increase the number of tested points.
Torque (TRQ)
FLTU10
(E161, T161) 2.4 Constraints
This section describes the cover constraints, as well as
FEmax
(E161, T161) additional constraints that capture certain points that
must be included in the cover, grid spacing require-
ments, and constraints to ensure the resulting grid is
Engine Speed (RPM) 16 × 16. To illustrate these constraints, we introduce
a small example, where p = 6, E s = 500, E e = 1200,
Figure 2: This figure shows all possible grid points in the
engine speed and torque space labeled with example input
T s = 0, T e = 450, GX min = 50, GY min = 50, DX max =
parameters. 150, and DY max = 150. There are q = 12 possible
engine speeds from which to choose for the grid in
the x-direction and r = 10 possible torque values from
2.2 Variables which to choose for the grid in the y direction. Note
that in this example we need to choose a 6 × 6 grid
In this section, we introduce the decision variables for (i.e. 36 points) from a total of 120 points, whereas in
the model. The first binary variable will determine if a the typical problem we need to choose 256 points to
possible SS point will be included in the 16 × 16 grid. form the grid from a total of 1755 points. Figure 3
shows the indexing scheme for this size problem: the
1 if j ∈ S is selected to be a SS
xj = point in the 16 × 16 grid highlighted indices are the grid points directly above
0 otherwise and below the FLC (i.e. FLTUk and FLT Dk ∀ k ∈ K).
337
ICORES 2012 - 1st International Conference on Operations Research and Enterprise Systems
R Torque
10 450 109 110 111 112 113 114 115 116 117 118 119 120 10 450 109 110 111 112 113 114 115 116 117 118 119 120
9 400 97 98 99 100 101 102 103 104 105 106 107 108 9 400 97 98 99 100 101 102 103 104 105 106 107 108
8 350 85 86 87 88 89 90 91 92 93 94 95 96 8 350 85 86 87 88 89 90 91 92 93 94 95 96
7 300 73 74 75 76 77 78 79 80 81 82 83 84 7 300 73 74 75 76 77 78 79 80 81 82 83 84
6 250 61 62 63 64 65 66 67 68 69 70 71 72 6 250 61 62 63 64 65 66 67 68 69 70 71 72
5 200 49 50 51 52 53 54 55 56 57 58 59 60
5 200 49 50 51 52 53 54 55 56 57 58 59 60
4 150 37 38 39 40 41 42 43 44 45 46 47 48
3 100 25 26 27 28 29 30 31 32 33 34 35 36 4 150 37 38 39 40 41 42 43 44 45 46 47 48
2 50 13 14 15 16 17 18 19 20 21 22 23 24 3 100 25 26 27 28 29 30 31 32 33 34 35 36
1 0 1 2 3 4 5 6 7 8 9 10 11 12 2 50 13 14 15 16 17 18 19 20 21 22 23 24
Engine Speed 500 650 700 800 850 900 950 1000 1050 1100 1150 1200 1 0 1 2 3 4 5 6 7 8 9 10 11 12
K 1 2 3 4 5 6 7 8 9 10 11 12
0 500 650 700 800 850 900 950 1000 1050 1100 1150 1200
Figure 3: This figure shows all possible grid points and cor- Figure 5: This figure an example grid with exactly 6 rows
responding index from which a 6 × 6 grid must be chosen. and 6 columns.
2.4.1 Choosing a Grid Note that in Figure 5, column 1 is selected, and since
E s = 500, this constraint holds.
The first constraint guarantees that we have exactly Next, we require the grid to be spaced at most
p × p SS points in the grid: DY max in the torque direction:
∑ xj = p × p (2)
x j1 + ∑ x j2 ≥ p + ∑ xc (6)
j∈S
j2 ∈S: j2 > j1 ∧|Tj1 −Tj2 |≤DY max c∈S:Tc =Tj1
Note that this constraint does not guarantee that all
∀ k ∈ {0, . . . , ((T end − DY max )/GY min )}
of the points are chosen to be in the same rows and
columns. Figure 4 shows an example selection of 6 × ∀ j1 ∈ S : j1 = qk + 1.
6 = 36 highlighted points that were chosen based on
this constraint, but they do not form a 6 × 6 grid. Following Figure 5, we can see that the maxi-
mum space between any two rows is 100, and since
10
9
8
450
400
350
109
97
85
110
98
86
111
99
87
112
100
88
113
101
89
114
102
90
115
103
91
116
104
92
117
105
93
118
106
94
119
107
95
120
108
96
DY max = 100, this constraint holds.
7
6
300
250
73
61
74
62
75
63
76
64
77
65
78
66
79
67
80
68
81
69
82
70
83
71
84
72 Finally, we guarantee that the grid can be spaced
at most DX max in the engine speed direction:
5 200 49 50 51 52 53 54 55 56 57 58 59 60
4 150 37 38 39 40 41 42 43 44 45 46 47 48
3 100 25 26 27 28 29 30 31 32 33 34 35 36
2 50 13 14 15 16 17 18 19 20 21 22 23 24
1 0 1 2 3 4 5 6 7 8 9 10 11 12
0 500 650 700 800 850 900 950 1000 1050 1100 1150 1200
∑
8 350 85 86 87 88 89 90 91 92 93 94 95 96
7 300 73 74 75 76 77 78 79 80 81 82 83 84
x j2 = px j1 ∀ j1 ∈ K. (3) 6
5
250
200
61
49
62
50
63
51
64
52
65
53
66
54
67
55
68
56
69
57
70
58
71
59
72
60
j2 ∈S:E j1 =E j2 4
3
150
100
37
25
38
26
39
27
40
28
41
29
42
30
43
31
44
32
45
33
46
34
47
35
48
36
2 50 13 14 15 16 17 18 19 20 21 22 23 24
1 0 1 2 3 4 5 6 7 8 9 10 11 12
The following guarantees we choose exactly p rows: 0 500 650 700 800 850 900 950 1000 1050 1100 1150 1200
∑ x j2 = px j1 ∀ k ∈ {0, . . . , r − 1} (4) Figure 6: This figure is an example grid selection that satis-
fies all constraints in Section 2.4.1.
j2 ∈S:T j1 =Tj2
∀ j1 ∈ S : j1 = qk + 1.
2.4.2 Required Grid Points
Figure 5 shows an example grid selection, choosing
columns 1, 2, 4, 7, 8, and 12 and rows 2, 4, 5, 7, 9, and There are a couple of types of SS points that are re-
10. The next few constraints enforce maximum spac- quired to be a part of the grid. The first require-
ing between the grid points in both the engine speed ment forces the grid to contain points that have values
and torque directions. We ensure that the first (i.e., greater than or equal to the max torque on the FLC.
left-most) column in the grid must be at most DX max This is equivalent to forcing the maximum value in
away from the starting value of E s : the grid to be selected.
∑ x j ≥ p. (5) ∑ x j = p. (8)
j∈S:E j ≤E1 +DX max j∈S:T j =T e
338
ENGINE CALIBRATION PROCESS OPTIMIZATION
Similarly, the grid has to contain points that have val- to be part of the cover, then it must have been selected
ues greater than or equal to the max engine speed on to be a part of the grid:
the FLC.
∑ x j = p. (9) y j ≤ x j ∀ j ∈ S. (13)
j∈S:E j =E e
Next, we guarantee that p SS points directly above the
We can see that the grid of chosen SS points in Figure FLC are selected to test:
6 satisfies these two constraints because row 10 and
column 12 are selected. ∑ ∑ y j = p. (14)
k∈K:Ek ≤E end j∈S:Tj =FLTUk ∧E j =FLEk
The next requirement is that points on the zero
axis must be selected: Additionally, we guarantee that p SS points directly
below the FLC are selected to be in the cover:
∑ x j = p. (10)
j∈K
∑ ∑ y j = p. (15)
Note that the grid of chosen SS points in Figure 6 k∈K:Ek ≤E end j∈S:T j =FLT Dk ∧E j =FLEk
does not satisfy this constraint because row 1 is not Finally, we must ensure that all the SS points in the
selected. Figure 7 shows a grid selection that satis- selected grid that are above the point directly chosen
fies this constraint, as well as all of the constraints above the FLC are not selected as a part of the cover:
in Section 2.4.1. Note that selected rows have been
changed: row 1 instead of row 2 and row 3 instead of ∑ ∑ y j = 0. (16)
row 4 to maintain DY max = 100. k∈K j∈S:T j >FLTUk ∧E j =FLEk
Next, we ensure that all SS points that are not in the We provide the values for the inputs introduced in
cover are covered: Section 2.1. Refer to Figure 2 for a pictorial of the
∑ b j1 j2 y j2 ≥ 1 ∀ k ∈ K : Ek ≤ E end ∀ j1 ∈ S : (12) entire grid space, the FLC, and the transient points
for the internal combustion engine in this example.
j2 ∈S
T j1 ≤ FLTUk ∧ E j1 = FLEk . In Table 1, we provide the values for the engine
start and end speed, the torque start and end speed,
The following constraints are not standard cover- the grid dimensions, minimum grid spacing in the
ing constraints: they guarantee that the points directly engine and torque grid directions, maximum engine
above and below the FLC are not only included in the speed and torque for the FLC, and cover require-
selected grid but are also selected as part of the cover. ments. Other parameters that are calculated from
First, though, we must ensure that if a point is chosen these values are the number of possible grid points
339
ICORES 2012 - 1st International Conference on Operations Research and Enterprise Systems
along the x-axis, the y-axis, and the number of possi- actly 256 points chosen, with exactly 16 rows and 16
e s min
ble SS points: q = E −EGX+GX
min = 3800−600+50
50 = 65, columns. In addition, the maximum spacing between
e s min the grid points in this example in the engine speed
r = T −TGY+GY
min = 1300−0+50
50 = 27, and n = q × r = direction is 550 RPM and 150 TRQ in the torque di-
65 × 27 = 1755.
rection, which satisfies constraints (5), (6), and (7).
Table 1: Input Parameters: scalar numbers.
1300
1250
Param. Value Unit Param. Value Unit 1200
1150
1100
Es 600 RPM n 1755 1050
1000
Ee 3800 RPM m 2618 950
900
Torque (TRQ)
850
Ts 0 TRQ DT max 300 800
750
700
Te 1300 TRQ DSmax 300 650
600
p 16 DX max 550 RPM 550
500
450
GX min 50 RPM DY max 150 TRQ 400
350
300
GY min 50 TRQ FE max 3800 RPM 250
200
150
q 65 FT max 1255 TRQ 100
50
0
r 27 600 1000 1400 1800 2200 2600 3000 3400 3800
Egine Speed (RPM)
340
ENGINE CALIBRATION PROCESS OPTIMIZATION
1300
1250
illustrate the diverse types of problems for which this
1200
1150 approach can be applied.
1100
1050
1000
950
900
850
REFERENCES
Torque (TRQ)
800
750
700
650
600
550 Balas, E. and Padberg, M. (1972). On the set coverying
500
450
problem. Operations Research, 20:1152–1161.
400
350 Castagné, M., Bentolila, Y., Chaudoye, F., Hallé, A., Nico-
300
250 las, F., and Sinoquet, D. (2008). Comparison of engine
200
150 calibration methods based on design of experiments
100
50 (DoE). Oil & Gas Science and Technology, 63:563–
0
600 1000 1400 1800 2200 2600 3000 3400 3800 582.
Engine Speed (RPM)
EPA (1977). Title 40 - protection of environment, CFR § 86
Figure 9: This figure shows the coverage of non-selected subpart B.
transient and SS points. Geoffrion, A. (1976). A guided tour of recent practical
advances in integer linear programming. OMEGA,
The international Journal of Management Science,
testing 122 points with the standard grid spacing. Our 4(1):49–57.
method selects a different grid spacing and chooses IBM (2010). IBM ILOG CPLEX opti-
only 54 points to test, giving us around a 56% reduc- mization studio (OPL). http://www-
tion in the number of points needed for testing. 01.ibm.com/software/integration/optimization/cplex-
optimization-studio/.
Langouët, H., Métivier, L., Sinoquet, D., and Tran, Q.
(2008). Optimization for engine calibration. In En-
4 SUMMARY gOpt 2008 - International Conference on Engineering
Optimization. Rio de Janeiro, Brazil.
Maloney, P. (2009). Objective determination of minimum
Completing a DoE at all possible steady-state engine engine mapping requirements for optimal SI DIVCP
operating points is a time consuming process. This engine calibration. Warrendale: SAE International.
project focused not on reducing the time to complete Wolsey, L. (1998). Integer Programming. John Wiley &
the DoE, but on reducing the number of experiments Sons, Inc.
that needed to be performed. We captured the con- Yoshida, S., Ehara, M., and Koroda, Y. (2011). Rapid
straints to ensure that by minimizing the number of boundary detection for model-based diesel engine cal-
tests to perform, we could still satisfy regulatory re- ibration. Warrendale: SAE International.
quirements and internal testing constraints.
We introduced a BIP formulation that is based on
a set-covering approach to select the best grid dimen-
sions and to minimize the number of SS points. This
formulation yields an optimal solution to simultane-
ously solving the grid selection and covering prob-
lem. We demonstrated the optimization methodology
for a typical internal combustion engine and provided
an optimal grid selection that resulted in an approxi-
mately 56% reduction in the points for which to per-
form a DoE.
While we applied this approach to the area of en-
gine calibration, this method could also be applied to
other automotive related areas. One example would
be to select the minimum number of points on a sur-
face on which to weld in order to satisfy certain ma-
terial properties. Another example would be to min-
imize the number of stamping facilities and to deter-
mine the best locations to add stamping facilities in
order to guarantee that every assembly plant would
have at least one stamping facility within a certain
distance. These are just a couple of examples that
341