Open Access

Boundary modeling in model-based calibration for automotive engines via the vertex representation of the convex hulls

Pacific Journal of Mathematics for Industry20179:1

https://doi.org/10.1186/s40736-016-0027-7

Received: 5 July 2016

Accepted: 14 December 2016

Published: 5 January 2017

Abstract

When using the convex hull approach in the boundary modeling process, Model-Based Calibration (MBC) software suites – such as Model-Based Calibration Toolbox from MathWorks – can be computationally intensive depending on the amount of data modeled. The reason for this is that the half-space representation of the convex hull is used. We discuss here another representation of the convex hull, the vertex representation, which proves capable to reduce the computational cost. Numerical comparisons in this article are executed in MATLAB by using MBC Toolbox commands, and show that for certain conditions, the vertex representation outperforms the half-space representation.

Keywords

Convex hullBoundary modelingOptimizationModel-based calibrationAutomotive engineMBC toolbox

Introduction

Model-Based Calibration (abbr. MBC) is a systematic approach for more cost-effective and short-term development of automotive engines, that enables engineers to design more efficient automotive engines, e.g., more fuel-efficient and/or eco-friendly engines. For efficient design of automotive engines, mathematical models for automotive engines are created in MBC, and statistics and optimization are applied to the model by using MBC software, such as [10].

Boundary modeling is one of the processes in MBC used to represent/approximate a region where the automotive engine works normally, e.g., without misfire and knock of the engine. We call the region the admissible operation domain (abbr. AOD). In general, as it is assumed that internal-combustion engines are highly nonlinear systems, it is impossible to exactly represent the AOD of the automotive engine from a finite number of acquired data. Thus one approximates the AOD instead of representing it exactly. One of the approximations of AOD is to use the convex hull of a set of data. This is a simple way to approximate AOD from data and is implemented in MBC software, such as [10]. In addition to the convex hull, the use of support vector machine for the approximation of AOD is also proposed in [7].

An AOD is used as a constraint in constrained optimization problems. One can assume that some of optimal solutions will lie on the boundary of the feasible region, otherwise the constraints would be irrelevant. That is why a proper handling of AODs is important in engine optimization problems.

The motivation of this article comes from the comment in [5] that some of the MBC software suites spend much computational time constructing a convex hull boundary model. In general, two representations for the convex hull of a set of points are possible, the half-space representation and the vertex representation. The reason for the comment was that the half-space representation for the convex hull of a set of points is typically used by software like MBC Toolbox, instead of the vertex representation.

The contribution of this article is to propose the use of the convex hull in the vertex representation instead of the half-space representation. In practice, the former representation seems to perform better than the latter. In fact, the numerical comparison in this article shows that the vertex representation is less computationally intensive than the hyperplane representation in the case when the dimension of inputs for engine models is more than five.

The organization of this article is as follows: convex hull modeling theory is discussed in Section 2. Section 3 provides an application of the vertex representation of the convex hull and numerical experiments. Conclusion is given in Section 4. Throughout this article, we assume that the measured engine data was acquired by keeping the engine under test at steady condition by controlling its inputs.

Preliminaries

We give a brief introduction on boundary modeling via the convex hull in Section 2.1, and some definitions and facts on the convex hull for a set of points in Section 2.2. Refer to [2, 4] for more details regarding the convex hull mathematical representation.

2.1 Boundary modeling in model-based calibration

The behavior of automotive engines is represented by the state space representation. One of the simplest formulations is as follows:
$$\left\{ \begin{array}{rcl} \frac{d\mathbf{x}}{dt} &=& f(\mathbf{x}, \mathbf{u}), \\ \mathbf{y} &=& g(\mathbf{x}, \mathbf{u}), \end{array} \right. $$
where t is time, x,u and y are vectors which represent the state of the automotive engine, the input signals into the engine and the output signals from the engine, respectively.

Control theory, statistics and optimization are applied to such mathematical models of automotive engines to design more fuel-efficient and/or eco-friendly engines. MBC is a systematic approach for aiding such an efficient design of automotive engines and consists of some processes, such as the design of experiments and the response surface methodology.

Boundary modeling is a functionality used in MBC, and is applied to define an AOD for a mathematical engine model. Input signals for automotive engines under development have specific operating ranges and dynamics. In addition, automotive engines may not behave normally when some specific input signals are used, leading to undesirable events such as misfire and knock of the engine. In boundary modeling, one approximates/represents a region of input signals where automotive engines behave normally, e.g., without misfire and knock of the engine.

One of the approximations of the AOD is the convex hull of a set of a finite number of input signals by which the automotive engine behaves normally. This approximation may be too rough, but is a simple way to define an AOD in practice. In fact, it is implemented in some MBC software, such as [10]. Figure 1 displays examples of the approximation of the AOD by the convex hull. In Fig. 1, black circles are input signals by which the automotive engine behaves normally, and red circles indicates input signals by which the automotive engine does not behave normally. The blue region is the approximation of the AOD via the convex hull.
Fig. 1

Examples of the approximation of the AOD by the convex hull

Note that as we mentioned, the approximation of the AOD by the convex hull may be rough. In fact, it does not always represent the region where the automotive engine behave normally. For instance, the approximation at the right of Fig. 1 contains red circles, which means that the automotive engine does not behave normally around the circle.

The approximation of the AOD is used in other processes in MBC as follows:
  1. (P1)
    Problem of determining whether a new point is in the approximated AOD or not. This is mainly used in design of experiment of MBC and mathematically formulated as the problem of determining
    $$\hat{\mathbf{v}} \in P \, \text{or}\, \hat{\mathbf{v}} \not\in P, $$
    where \(\hat {\mathbf {v}}\) is a new point and P is an approximation of the AOD.
     
  2. (P2)
    Optimization of some objective functions over the approximated AOD or a subset of the AOD for more realistic situation in response surface methodology. This is mathematically formulated as
    $$\min_{\mathbf{v}\in\mathbb{R}^{n}}\left\{f(\mathbf{v}) : g_{j}(\mathbf{v}) \ge 0 \ (j=1, \ldots, k), \mathbf{v}\in P\right\}, $$
    where f(v) is the objective function and g j (v)≥0 is an engine operating constraint.
     

2.2 Convex hull for a set of points in \(\mathbb {R}^{n}\)

Let V={v 1,…,v m } be a finite set of distinct points in \(\mathbb {R}^{n}\). A point
$$\mathbf{x} = \sum_{i=1}^{m} \alpha_{i} \mathbf{v}_{i}, \text{where} \sum_{i=1}^{m}\alpha_{i}=1, \alpha_{i}\ge 0~\text{for}~i=1, \ldots, m, $$
is called a convex combination of v 1,…,v m . In particular, the set {α a+(1−α)b:0≤α≤1} is called the line segment with the endpoints a and b and denoted by [ a,b].
A set \(K\subseteq \mathbb {R}^{n}\) is convex if for every a,bK, the line segment [ a,b] is contained in K. We define the empty set as a convex set. Figure 2 displays an example of convex and nonconvex sets. In fact, for the set at the left of Fig. 2, we see that for every a,b in the set, the line segment [ a,b] is contained in the set, which implies that the set is convex. In contrast, the line segment [ a,b] is not contained in the set at the right of Fig. 2.
Fig. 2

Convex set (left) and nonconvex set (right)

Let \(K\subseteq \mathbb {R}^{n}\) be a convex set. A point xK is an extreme point or vertex of K if y,zK,0<α<1 and x=α y+(1−α)z imply x=y=z. In other words, an extreme point of K is not a convex combination of other points in K. For instance, at the set of the left in Fig. 2, the black circles at the corners indicate an extreme point of the convex set. We denote the set of extreme points in K by ext(K).

The convex hull conv(A) of a subset \(A\subseteq \mathbb {R}^{n}\) is the set of all convex combination of points from A.

For a set V={v 1,…,v m } of distinct points in \(\mathbb {R}^{n}, \text {conv}(V)\) is formulated mathematically as
$$\begin{array}{*{20}l}{} \text{conv}(V) &= \left\{ \mathbf{v}\in\mathbb{R}^{n} : \mathbf{v} = \sum_{i=1}^{m}\alpha_{i} \mathbf{v}_{i}~ \text{for some }\right.\\ &\quad\left.\sum_{i=1}^{m}\alpha_{i} = 1, \alpha_{i}\ge 0 \ (i=1, \ldots, m) \right\}. \end{array} $$
Since some points in V are extreme points of the convex hull, this representation of conv(V) is called the vertex representation (abbr. V-representation). Figure 3 displays an example of the convex hull of V={(0,0),(2,0),(3,2),(1,1),(0,1)}. Since all points except for (1,1) are extreme points, ext(conv(V))={(0,0),(2,0),(3,2),(0,1)}. In fact, (1,1) is not the extreme point of the convex hull because (1,1) can be represented by a convex combination with (2,0),(3,2) and (0,1). In addition, we see conv(V)=conv(ext(V)) in Fig. 3.
Fig. 3

Convex hull of V={(0,0),(2,0),(3,2),(1,1),(0,1)}

A bounded convex set \(K\subseteq \mathbb {R}^{n}\) is a polytope if ext(K) is a finite set. Clearly the convex hull of a set of a finite numbers of points in \(\mathbb {R}^{n}\) is a polytope. A half-space is a set which is defined as \(\{x\in \mathbb {R}^{n} : \mathbf {a}^{T}\mathbf {x} \le b\}\), with suitable \(\mathbf {a}\in \mathbb {R}^{n}\) and \(b\in \mathbb {R}\). A set P is called polyhedron if P is formed as the intersection of finitely many half-spaces, i.e., there exist \(\mathbf {a}_{1}, \ldots, \mathbf {a}_{k}\in \mathbb {R}^{n}\) and \(b_{1}, \ldots, b_{k}\in \mathbb {R}\) such that \(P =\left \{ \mathbf {x} \in \mathbb {R}^{n} : \mathbf {a}_{i}^{T}\mathbf {x} \le b_{i} \ (i=1, \ldots, k) \right \}\).

Minkowski-Weyl’s theorem ensures that every polytope can be reformulated as a polyhedron. This implies that one can describe the convex hull of a set of points by some half-spaces in addition to the V-representation, which is called the half-space representation (abbr. H-representation).

Theorem 2.1

(Minkowski-Weyl) Every polytope is polyhedron, i.e., for a given polytope P, there exist \(\mathbf {a}_{1}, \ldots, \mathbf {a}_{k}\in \mathbb {R}^{n}\) and \(b_{1}, \ldots, b_{k}\in \mathbb {R}\) such that \(P=\{x\in \mathbb {R}^{n} : \mathbf {a}_{i}^{T}\mathbf {x}\le b_{i} \ (i=1, \ldots, k)\}\). Moreover, every bounded polyhedron is also polytope, i.e., for a given polyhedron P, there exist v 1,…,v m P such that P=conv(V), where V={v 1,…,v m }.

We give two examples of the V- and H-representations. We see from these examples that one needs to choose a suitable representation of the convex hull from the viewpoint of computation.

Example 2.2

(n-dimensional unit cube) Let \(P = \{\mathbf {x}\in \mathbb {R}^{n} : 0\le x_{i}\le 1 \ (i=1, \ldots, n)\}\). P is called the n-dimensional unit cube. Figure 4 displays an example of 3-dimensional unit cube. This is already the H-representation. In fact, we define \(\mathbf {a}_{i}\in \mathbb {R}^{n}, b_{i}\in \mathbb {R}\) (i=1,…,2n) as follows:
$${{}{\begin{aligned} \mathbf{a}_{i} = \left\{ \begin{array}{cl} \mathbf{e}_{i} & (i=1, \ldots, n), \\ -\mathbf{e}_{i} & (i=n+1, \ldots, 2n), \end{array} \right. \text{and}~b_{i} = \left\{ \begin{array}{cl} 1 & (i=1, \ldots, n), \\ 0 & (i=n+1, \ldots, 2n), \end{array} \right. \end{aligned}}} $$
where e i is the ith n-dimensional standard unit vector. Then P can be reformulated by \(\{\mathbf {x} \in \mathbb {R}^{n} : \mathbf {a}_{i}^{T}\mathbf {x}\le b_{i} \ (i=1, \ldots, 2n)\}\). On the other hand, for \(\text {ext}(P) = \{\mathbf {x}\in \mathbb {R}^{n} : x_{i} = 0 \text {or} 1\}\), the V-representation of P is
$$\begin{aligned} P& = \text{conv}(\{(0, 0, \ldots, 0), (1, 0, \ldots, 0),\\&\quad (0, 1, \ldots, 0), \ldots, (1, 1, \ldots, 1)\}). \end{aligned} $$
Fig. 4

3-dimensional unit cube (left) and cross-polytope (right)

We remark that the V-representation of P needs 2 n extreme points in ext(P), whereas the H-representation needs only 2n half-spaces.

Example 2.3

(Cross-polytope) Let \(P = \{x\in \mathbb {R}^{n} : |x_{1}|+\cdots +|x_{n}|\le 1\}\). P is called the n-dimensional cross-polytope. Figure 4 displays an example of the 3-dimensional cross-polytope. The H-representation of P is
$$ P = \left\{\mathbf{x}\in\mathbb{R}^{n} : \begin{array}{lcl} x_{1}+x_{2}+\cdots+x_{n}&\le& 1\\ -x_{1}+x_{2}+\cdots+x_{n}&\le& 1\\ x_{1}-x_{2}+\cdots+x_{n}&\le& 1\\ -x_{1}-x_{2}+\cdots+x_{n}&\le& 1\\ &\vdots&\\ -x_{1}-x_{2}-\cdots-x_{n}&\le& 1\\ \end{array} \right\}. $$

Here the H-representation is the intersection of 2 n half-spaces. In contrast, the V-representation of P can be formulated by 2n points in \(\mathbb {R}^{n}\). In fact, since both e i and −e i are extreme points in P, the V-representation of P is P=conv({±e 1,…,±e n }).

A more compact representation of the convex hull is often useful from the viewpoint of computation. For instance, the V-representation in Example 2.2 and the H-representation in Example 2.3 require more computer memory even for small n, whereas the H-representation in Example 2.2 and the V-representation in Example 2.3 need less memory even for large n. Hence the H-representation in Example 2.2 and the V-representation in Example 2.3 are more suitable to deal with in actual computers when the dimension n is large.

Application of the V-representation to model based calibration for automotive engines

We propose a way to handle the V-representation of the convex hull of a set of points without conversion into the H-representation in Sections 3.2 and 3.3. This way uses the results in [11]. Before mentioning them, we discuss the computational difficulty in using some MBC software in Section 3.1.

3.1 Computational difficulty due to the H-representation

As we have already mentioned in Section 2.1, the convex hull of a set of input signals which make the automotive engine behave normally is one of the approximation of the AOD of the engine. Let V={v 1,…,v m } be a set of input signals \(\mathbf {v}_{1}, \ldots, \mathbf {v}_{m}\in \mathbb {R}^{n}\). Then the approximation via the convex hull is formulated as conv(V) and is the V-representation. On the other hand, for both (P1) and (P2) in Section 2.1, it is converted into \(P = \{\mathbf {v}\in \mathbb {R}^{n} : \mathbf {A}\mathbf {v} \le \mathbf {b}\}\) for some \(\mathbf {A}\in \mathbb {R}^{k\times n}\) and \(\mathbf {b}\in \mathbb {R}^{k}\) in some MBC software, such as [10]. This corresponds to the conversion of the V-representation of the convex hull conv(V) into the H-representation, and after this conversion, (P1) and (P2) are respectively equivalent to
  1. (P1)’

    Problem of determining whether \(\mathbf {A}\hat {\mathbf {v}}\le \mathbf {b}\) or \(\mathbf {A}\hat {\mathbf {v}}\not \le \mathbf {b}\), and

     
  2. (P2)’

    Solution of \(\min _{\mathbf {v}\in \mathbb {R}^{n}}\left \{f(\mathbf {v}) : g_{j}(\mathbf {v}) \ge 0 \ (j=1, \ldots, k), \mathbf {A}\mathbf {v}\le \mathbf {b}\right \}\).

     
In general, the conversion is computationally costly and generates too many half-spaces to be handled efficiently by actual computers available RAM memory although some practical algorithms, such as polymake in [1] are proposed for efficient computation of convex hulls. This is the main computational difficulty in using the approximation of the AOD via the convex hull implemented in some MBC software. Table 1 displays the computation time and the number of generated half-spaces for the conversion of the V-representation into the H-representation. In this numerical experiment1, we generated a set V of m points in [ −1,1] n randomly and used vert2lcon.m in [9], which calls the built-in function convexhulln in MATLAB based on Qhull [12]. “–” in Table 1 indicates that we do not compute the conversion because it spends more than 1000 sec. We observe from Table 1 that when n is not so large, the conversion is not so computationally intensive and is rather fast. However, when n is larger (typically more than 10), generating the convex hull in the H-representation becomes computationally intensive. Moreover, since it generates many half-spaces, we can expect that the optimization in (P2)’ will also be computationally intensive.
Table 1

Numerical results on the conversion of the V-representation into the H-representation : computation time [ sec] (upper) and the number of generated half-spaces (lower)

n

m

5

7

9

11

13

15

50

0.34

0.15

1.23

11.25

72.05

391.27

 

566

5084

42,430

279,804

1,517,292

6,898,066

100

0.04

0.42

8.41

107.85

1506.60

 

1326

16,382

229,218

2,399,099

25,526,149

200

0.06

1.20

32.88

699.06

 

1970

42,918

851,321

13,002,403

1000

0.15

7.44

394.21

 

6724

238,486

8,053,847

2000

0.24

13.87

980.61

 

9262

427,048

17,550,631

3.2 Application of the V-representation to (P1) : to determine whether a new point is in the convex hull or not

Let V={v 1,…,v m } be a set of points in \(\mathbb {R}^{n}\). For (P1) in Section 2.1, i.e., the problem of determining whether \(\hat {\mathbf {v}} \in \text {conv}(V)\) or \(\hat {\mathbf {v}} \not \in \text {conv}(V)\), we have two approaches via H-representation and V-representation. In the approach via H-representation, after converting conv(V) to the linear inequalities A vb, we need to check whether \(\mathbf {A}\hat {\mathbf {v}}\le \mathbf {b}\) or not. It is relatively easy to check \(\mathbf {A}\hat {\mathbf {v}}\le \mathbf {b}\), while the conversion is computationally intensive for not so large m and/or n as in Table 1. On the other hand, in the approach via V-representation, the linear programming (abbr. LP) method is available. At the end of this subsection, we will show that the approach via V-representation is much faster than the H-representation.

Fundamentally, LP can be regarded as an optimization problem, i.e., the problem of minimization or maximization of a linear objective function over a polyhedron. The simplex method and interior-point method are efficient algorithms to solve a LP problem or detect the infeasibility of the problem. In addition, linprog implemented in Optimization Toolbox offered by MathWorks and [6], are available as commercial software to solve LP problems. Refer to [3, 8], for more details on LP.

One can determine whether a new point \(\hat {\mathbf {v}}\) is in conv(V) or not by solving the following LP problem:
$$ {{}{\begin{aligned} \min_{\alpha_{1}, \ldots, \alpha_{m}} \left\{\sum_{i=1}^{m} c_{i} \alpha_{i} : \sum_{i=1}^{m} \alpha_{i} \mathbf{v}_{i} = \hat{\mathbf{v}}, \sum_{i=1}^{m} \alpha_{i} = 1, \alpha_{i} \ge 0 \ (i=1, \ldots, m)\right\}, \end{aligned}}} $$
(1)
where \(\mathbf {c}\in \mathbb {R}^{m}\) is fixed arbitrarily. Since any convex combination of \(\hat {\mathbf {v}}\) with v 1,…,v m is feasible in (1), we see that
  • if the optimal value of (1) is finite, then \(\hat {\mathbf {v}}\) is in conv(V), and,

  • otherwise (1) is infeasible, i.e., the feasible region is empty, and thus \(\hat {\mathbf {v}}\) is not in conv(V).

Hence one can determine whether a new point \(\hat {\mathbf {v}}\) is in P or not by solving (1) instead of constructing A vb for the H-representation of conv(V).

Table 2 displays the computation time for the same sets V of m points in \(\mathbb {R}^{n}\) as Table 1. Here we generate \(\hat {\mathbf {v}}\in \,[\!-1, 1]^{n}\) randomly. We used linprog to solve all LP problems. Comparing Table 2 with Table 1, we see that the determination of \(\hat {\mathbf {v}}\in \text {conv}(V)\) via LP method is much faster in computation time than the conversion into the H-representation of conv(V). This implies that the H-representation for (P1) will require more time to compute than the V-representation. For instance, in the case (m,n)=(1000,9), the same V is used in Tables 1 and 2, and it spends 394.21 seconds to construct the H-representation of conv(V), whereas it spends only 0.09 seconds to determine whether \(\hat {\mathbf {v}}\in \text {conv}(V)\) or not. Since we need to check \(\mathbf {A}\hat {\mathbf {v}}\le \mathbf {b}\) for the determination of \(\hat {\mathbf {v}}\in \text {conv}(V)\) via the H-representation, where A and b are constructed by the H-representation of conv(V), the total amount of computation time via the H-representation is more than 394.21 seconds. Therefore, we can conclude from Tables 1 and 2 that the V-representation is less computationally intensive than H-representation.
Table 2

Computation time [ sec] to determine whether a new point is in the convex hull or not by using LP method

n

m

5

7

9

11

13

15

50

0.26

0.02

0.01

0.02

0.02

0.04

100

0.03

0.01

0.01

0.01

0.02

200

0.02

0.01

0.02

0.13

1000

0.02

0.03

0.09

2000

0.03

0.04

0.12

3.3 Application of the V-representation to (P2) : an optimization problem in the frame of MBC response surface methodology

As we have already mentioned in (P2) of Section 2.1, the following optimization problems are typically solved by using MBC models obtained using the response surface methodology:
$$ \min_{\mathbf{v}\in\mathbb{R}^{n}}\left\{f(\mathbf{v}) : g_{j}(\mathbf{v}) \ge 0 \ (j=1, \ldots, k), v\in P\right\}, $$
(2)
where P is the approximation of AOD by the convex hull for a set V={v 1,…,v m } of points in \(\mathbb {R}^{n}\), i.e. P=conv(V). Since any vconv(V) can be represented by a convex combination of v 1,…,v m , the optimization (2) can be equivalently reformulated as
$$ {{} {\begin{aligned} \min_{\alpha_{1}, \ldots, \alpha_{m}\in\mathbb{R}}\left\{\tilde{f}(\alpha_{1}, \ldots, \alpha_{m}) : \begin{array}{l} \tilde{g}_{j}(\alpha_{1}, \ldots, \alpha_{m}) \ge 0 \ (j=1, \ldots, k),\\ \sum_{i=1}^{m}\alpha_{i} = 1, \alpha_{i}\ge 0 \ (i=1, \ldots, m) \end{array} \right\}, \end{aligned}}} $$
(3)

where \(\tilde {f}(\alpha _{1}, \ldots, \alpha _{m}) = f\left (\sum _{i=1}^{m} \alpha _{i} \mathbf {v}_{i}\right)\) and \(\tilde {g}_{j}\) is defined in a similar manner to \(\tilde {f}\).

Before showing numerical comparison of (3) with (2), we mention some advantages and disadvantages of the formulation (3):
  1. (I)

    One can skip the process of constructing the H-representation of conv(V). As we have already seen in Table 1, the conversion is computationally intensive, and thus one can greatly reduce the computational cost.

     
  2. (II)

    Since one does not apply the conversion of the V-representation of conv(V) into the H-representation, the number of inequality constraints in (3) is much lower than (2) formulated by the H-representation. Consequently, the feasibility check of a generated solution in algorithms of optimization for (3) is much easier than (2).

     
  3. (III)
    In contrast, the number of variables in (3) increases. In fact, it is m, while for (2) is n, and thus the computational cost increases in one evaluation of a function value at a given solution. This is the disadvantage of the formulation (3). For instance, we will see in Table 3 that (2) formulated by the H-representation is more efficient than (3) for n=4.
    Table 3

    Comparison of (3) with (2) formulated by the H-representation of P in computation time [ sec]

      

    H-representation

    Optimization

    (2)

    (A type)

    0.06

    5.33

     

    (B type)

    7.72

    15.05

     

    (C type)

    285.31

    66.65

    (3)

    (A type)

    45.52

     

    (B type)

    26.06

     

    (C type)

    37.94

     

To compare (3) with (2) formulated by the H-representation, we use a diesel engine data set. This data set consists of 875 observations and each measured observation consists of following nine engine measurements, i.e., Start of main injection event MAINSOI [ degCA], Common rail fuel-pressure FUELPRESS [MPa], Variable-geometry turbo charger [VGT], vane position VGTPOS [mm], Exhaust gas recirculation (EGR) valve opening position EGRPOS [ratio], Amount of injected fuel mass during main injection event MAINFUEL[mg/stroke], Mass-flow ratio of recirculated exhaust gas EGRMF [ratio], Air-Fuel ratio AFR [ratio], VGT rotational speed VGTSPEED [rpm], and in-cylinder peak pressure PEAKPRESS [MPa]. The measurements were performed at seven specific engine operating points, expressed as (Engine Speed SPEED [rpm], Brake Torque BTQ [Nm]) pairs.

Next, we generated point-by-point response surface models, i.e., seven models, for the Brake-specific Fuel Consumption BSFC [g/kWh], by using the following three types of inputs from this diesel engine data set:
  1. (A type)

    BSFC p (MAINSOI, FUELPRESS, VGTPOS, EGRPOS),

     
  2. (B type)

    BSFC p (MAINSOI, FUELPRESS, VGTPOS, EGRPOS, MAINFUEL, EGRMF, AFR), and

     
  3. (C type)

    BSFC p (MAINSOI, FUELPRESS, VGTPOS, EGRPOS, MAINFUEL, EGRMF, AFR, VGTSPEED, PEAKPRESS),

     

where p=1,…,7.

The dimension n of these data sets is 4,7 and 9, respectively. We considered different n in order to investigate the scalability of our proposed approach and to compare the computational cost with the H-representation of the convex hull.

Next, for each data set, we have solved the following seven optimization problems, one for each operating point set:
$$ \min_{\mathbf{v}\in\mathbb{R}^{n}} \left\{ f_{p}(\mathbf{v}) : \mathbf{v} \in P \right\} \ (p=1, \ldots, 7), $$
where P=conv(V), and V consists of a subset of the initial 875 n-dimensional vectors, since the approach we adopted is a point-by-point one. The measured points in each subset are unique. As an indication, each local model consisted of 125 of such measurements, and for each local model a corresponding convex hull was generated. Next, an optimization problem was considered. For this, we generate seven objective functions f p (for example using BSFC as the objective to be minimized) and do not use any extra constraint g j (v)≥0 in this numerical experiment, except for the boundary model constraint itself. In particular, the objective functions f p are smooth but nonconvex, and thus it is a nonlinear optimization problem without the convexity. In conclusion, we have performed a point-by-point minimization problem for BSFC.
Table 3 displays numerical comparison of (3) with (2) formulated by the H-representation of P. In this numerical experiment2, we use MBC Toolbox [10] and compare computation time of (3) with (2). The third and fourth columns in Table 3 are the computation time of the conversion of P into the H-representation and the total of computation time for seven types of optimization, respectively. We do not describe the time in (3), but “–” in Table 3 because we do not convert P into the H-representation. We used fmincon with interior-point algorithm implemented in Optimization toolbox of MATLAB to solve both (2) and (3). The optimization settings that were used to obtain the solution are listed in Table 4. For the settings not listed in Table 4 the defaults settings were used.
Table 4

Optimization options used by fmincon

Maximum number of function evaluations

5000 for H-rep.

 

20000 for V-rep.

Maximum number of iterations

500

Maximum change in variables for finite-difference gradients

0.1

Minimum change in variables for finite-difference gradients

10−8

Step tolerance for free variables

10−6

Constraint violation tolerance

10−6

Objective function tolerance

10−6

We observe the following from Table 3.
  1. (i)

    In (A type) and (B type), i.e., n=4 and n=7, (2) formulated by the conversion of H-representation is faster than (3), whereas in (C type), (3) is approximately 2 times faster than (2). In fact, as we can expect form Table 1, the number of linear inequalities in (2) considerably increases. Consequently, the evaluation of computed solutions at each iteration becomes computationally intensive.

     
  2. (ii)

    The computation time of converting conv(V) into the H-representation considerably increases as n increases. This can be also expected from Table 1. As (3) can skip this conversion, we can expect that (3) is more efficient than (2) for n≥9.

     

Conclusion

We propose a way to reduce the computational cost in the approximation of the AOD via the convex hull. The H-representation of the convex hull is identified as the main bottleneck. We focus on the two processes in MBC and observe that the computational cost is greatly reduced when using the V-representation of a set of points instead of the H-representation. More precisely, when the dimension n of the space in which a set V of points lies is less than seven, the H-representation is not so computationally intensive. Otherwise it becomes more computationally intensive than the V-representation.

Enumeration of all the extreme points in conv(V) may be useful when the V-representation is applied to (P1) and (P2) described in Section 3. In fact, this is ensured by Krein-Milman’s theorem that for every bounded closed convex set A,conv(A)=conv(ext(A)) holds. A simple way to enumerate all extreme points of conv(V) is to solve the following LP problem for every v k V:
$$ {} {{\begin{aligned} \min_{\alpha_{i} \ (i\neq k)} \left\{\sum_{i\neq k}^{m} c_{i}\alpha_{i} : \sum_{i\neq k}^{m} \alpha_{i} \mathbf{v}_{i} = \mathbf{v}_{k}, \sum_{i\neq k}^{m}\alpha_{i} = 1, \alpha_{i} \ge 0 \ (i\neq k)\right\}. \end{aligned}}} $$
(4)

If the optimal value is finite, then v k is not an extreme point in conv(V) because v k is a convex combination with other v i except for v k . Otherwise (4) is infeasible, and thus v k is an extreme point. This way is used as a pre-processing for (P1) and (P2). If conv(V) consists a few extreme points in comparison to the set V, then we can expect the improvement of performance for (P1) and (P2). See [11] for a much faster algorithm of the enumeration of all extreme points.

Endnotes

1 The specification on the used computer is as follows: OS is Ubuntu 14.04, the CPU is Intel®; Xeon®; with 3.10GHz, and the memory is 128GB and version of MATLAB is R2015b.

2 The specification on the used computer is as follows: OS is Windows 7, the cpu is Intel®; Core™ i7 with 3.60GHz, and the memory is 32GB and version of MATLAB is R2015b.

Declarations

Acknowledgements

This article is based on discussion in workshops of the IMI Joint Research Projects “Research of Boundary Modeling” (Principal investigator : Satoru Watanabe) and “Research of Engine Calibration from the Viewpoint of Mathematical Science” (Principal investigator : Masahiro Satou). We would like to thank the participants in these workshops for a fruitful discussion and secretaries for hospitality. We would also like to thank Mr. Akira Ohata in Technova Inc. and Prof. Hiroyuki Ochiai in Kyushu University for significant comments to improve the presentation of this article.

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Authors’ Affiliations

(1)
Institute of Mathematics for Industry, Kyushu University
(2)
The MathWorks G.K. Nagoya Office, 16/F KDX Sakuradori Bldg.

References

  1. Assarf, B, Gawrilow, E, Herr, K, Joswig, M, Lorenz, B, Paffenholz A, Rehn, T: Computing convex hulls and counting integer points with polymake. Math. Prog. Comp. (2016). doi:10.1007/s12532-016-0104-z.
  2. Barvinok, A: A Course in Convexity. Graduate Studies in Mathematics, 54,Am. Math. Soc. Providence. (2002).Google Scholar
  3. Chvátal, V: Linear programming.W.H.Freeman & Co. Ltd., New York (1983).MATHGoogle Scholar
  4. Grünbaum, B: Convex Polytopes. Springer-Verlag, New York (2013).MATHGoogle Scholar
  5. Harada, S: Issues of MBC and boundary model of diesel engine development in Mazda. 2nd Workshop on Research of Boundary Modeling, held at Institute of Mathematics for Industry, Kyushu University. http://www.imi.kyushu-u.ac.jp/eng/events/view/787. Accessed 21 Dec 2016.
  6. IBM ILOG CPLEX Optimization Studio,. version 12. 6. 2. 0 https://www.ibm.com/developerworks/downloads/ws/ilogcplex/. Accessed 21 Dec 2016.
  7. Kieft, N, Linsen, R, Bäck, T: Evaluation of support vector machines as a design space description method in automotive applications. In: 6th Conference on Simulation and Testing for Automotive Electronics,pp. 123–139. Berlin (2014).Google Scholar
  8. Luenberger, DG, Ye, Y: Linear and Nonlinear Programming. Springer US, New York (2008).MATHGoogle Scholar
  9. Matt. J: Analyze N-dimensional Polyhedra in terms of Vertices or (In)Equalities. http://www.mathworks.com/matlabcentral/fileexchange/30892-representing-polyhedral-convex-hulls-by-vertices-or--in-equalities/content/vert2lcon.m. Accessed 21 Dec 2016.
  10. Model-Based Calibration Toolbox, MathWorks. http://www.mathworks.com/products/mbc. Accessed 21 Dec 2016.
  11. Pardalos, PM, Li, Y, Hager, WW: Linear Programming Approaches to the Convex Hull Problem in \(\mathbb {R}^{m}\). Comput. Math. Applic. 29(7), 23–29 (1995).MathSciNetView ArticleMATHGoogle Scholar
  12. Qhull. http://www.qhull.org. Accessed 21 Dec 2016.

Copyright

© The Author(s) 2017