Professional Documents
Culture Documents
A Simulation Perspective - Error Analysis in The Distributed
A Simulation Perspective - Error Analysis in The Distributed
Research Article
A Simulation Perspective: Error Analysis in the Distributed
Simulation of Continuous System
Copyright © 2015 Y.-f. Ma and X. Song. This is an open access article distributed under the Creative Commons Attribution License,
which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
To construct a corresponding distributed system from a continuous system, the most convenient way is to partition the system into
parts according to its topology and deploy the parts on separated nodes directly. However, system error will be introduced during
this process because the computing pattern is changed from the sequential to the parallel. In this paper, the mathematical expression
of the introduced error is studied. A theorem is proposed to prove that a distributed system preserving the stability property of the
continuous system can be found if the system error is limited to be small enough. Then, the compositions of the system error are
analyzed one by one and the complete expression is deduced, where the advancing step T in distributed environment is one of the
key factors associated. At last, the general steps to determine the step T are given. The significance of this study lies in the fact that
the maximum T can be calculated without exceeding the expected error threshold, and a larger T can reduce the simulation cost
effectively without causing too much performance degradation compared to the original continuous system.
𝑦𝑞𝑘×ℎ
𝑖
= 𝑓𝑞𝑖 (𝑥𝑞𝑘×ℎ
𝑖
) = 𝑓𝑞𝑖 (𝑦𝑞𝑘×ℎ
𝑖−1
), trajectory of the resulting distributed system. To reduce
the error, a portioning rule was proposed to eliminate the
𝑖 = 2, . . . , 𝑛, possible cumulative delays caused by improper partitioning,
(1) which contribute a lot to the overall error.
This paper will study the mathematical expression of this
where 𝑘 = 0, 1, 2, . . . , ℎ is the step size and the subscript 𝑞𝑖 error. The correlation between the error and the advancing
refers to the index in 𝑄. In the pipeline computing, the first step 𝑇 in distributed environment is revealed. Then, a max-
component is assumed to get the input from a signal source imum 𝑇 can be calculated according to the error threshold
𝐼, and the others get inputs following the data dependence specified by the system engineer. The significance to find
among themselves. the maximum 𝑇 lies in the fact that a larger 𝑇 will improve
By contrast, the one-step computing in distributed envi- the parallelism of the partitioned system by reducing the
ronment can be described as synchronization frequency between nodes, without causing
𝑥1𝑘×𝑇 = 𝐼𝑘×𝑇 , too much performance degradation at the same time.
(7)
−9.4
Figure 1: An inverted pendulum system. The states are “cart position” and “pendulum angle.” A computing sequence is maintained (indicated
by red numbers) in the nondistributed environment.
4.0 4.0
3.5 3.5
3.0 3.0
Cart position
Cart position
2.5 2.5
2.0 2.0
1.5 1.5
1.0 1.0
0.5 0.5
0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Time (s) Time (s)
T=h T = 5h T = 50h
T = 2h T = 10h T = 100h
(a) (b)
Figure 2: (a) The comparison of the trajectories (“cart position”). (a) The distributed system became unstable when 𝑇 = 2ℎ without applying
the partitioning rule. (b) By applying this rule, the distributed system was stable even when 𝑇 = 100ℎ.
is still one step (𝑇) delay among each node. This delay cannot { ̇ = 𝑓𝑝 (𝑥𝑝 (𝑡) , (𝑢𝑑 ) (𝑡))
𝑥𝑝 (𝑡)
{
{ 𝑞
be eliminated completely because of the parallelism nature {
Plant (DS) : {𝑦𝑝 = 𝑔𝑝 (𝑥𝑑 (𝑡)) (4b)
of distributed environment, leading to the system error {
{
(denoted as Δ𝐸). To understand the influence of 𝑇 to Δ𝐸, the {
mathematical expression of Δ𝐸 needs to be formulized. {(𝑢𝑝 )𝑑 (𝑡) = (𝑦𝑐 )𝑑 (𝑡 − 𝑇) ,
To simplify the analysis of Δ𝐸, an abstract control system where (∗)𝑑 is the discretization operator. This operator
containing two components is employed here: one compo- indicates the operand updates its value to the external world
nent is the Controller and the other is the Plant. This system following the advancing step 𝑇, just like being discretized.
is assumed to be Asymptotically Stable. Denoting the original Perturbation Analysis is used here to analyze the com-
continuous system as CS and the distributed system as DS, the position of Δ𝐸. Perturbation analysis treats Δ𝐸 as the out-
controller and plant can be described as differential equations come of disturbances to CS such as the output delay and
in CS [15]: discretization. The difference between CS and DS can be
determined without formulizing the differential equations of
both systems and then comparing the eigenvalues. First of
{ ̇ = 𝑓𝑐 (𝑥𝑐 (𝑡) , 𝑢𝑐 (𝑡))
𝑥𝑐 (𝑡)
{
{ all, the DS system is expressed in the form of perturbation
{ equations:
Controller (CS) : {𝑦𝑐 (𝑡) = 𝑔𝑐 (𝑥𝑐 (𝑡) , 𝑢𝑐 (𝑡)) (3a)
{
{
{
{𝑢𝑐 = 𝑦𝑝 , 𝑥𝑝̇ = 𝑓𝑝 (𝑥𝑝 , (𝑔𝑐 )𝑑 (𝑥𝑐 (𝑡 − 𝑇) , 𝑔𝑝 (𝑥𝑝 (𝑡 − 𝑇))))
(iv) Δ𝑦𝑐𝑑 = (𝑔𝑐 )𝑑 −𝑔𝑐 , the error of controller output caused We have
by discretization;
̇
𝛼 (𝑥, 0, 0, 0, 0) = V (𝑥), (9)
(v) Δ𝑦𝑝𝑑 = (𝑔𝑝 )𝑑 − 𝑔𝑝 , the plant output error caused by
discretization. where 𝑥 = (𝑥𝑝 , 𝑥𝑐 ) and V(𝑥) is the Lyapunov function of CS.
Define the second auxiliary function 𝛽(∗) over a region
The system error is represented as 𝐷3 :
Δ𝐸 = (Δ𝑥𝑐 , Δ𝑥𝑝 , Δ𝑦𝑝 , Δ𝑦𝑐𝑑 , Δ𝑦𝑝𝑑 ) . (6) 𝛽 (Δ𝑥𝑐 , Δ𝑥𝑝 , Δ𝑦𝑝 , Δ𝑦𝑐𝑑 , Δ𝑦𝑝𝑑 )
(10)
To find out the detailed expression of Δ𝐸, a preparation = sup (𝛼 (𝑥, Δ𝑥𝑐 , Δ𝑥𝑝 , Δ𝑦𝑝 , Δ𝑦𝑐𝑑 , Δ𝑦𝑝𝑑 )) ,
𝑥∈𝐷3
theorem is proposed as follows.
where 𝐷3 = 𝐷2 − 𝐷1 . 𝛽(∗) is continuous since 𝛼(∗) is
4. The Mathematical Analysis continuous. Then, we have
4.1. A Preparation Theorem. Based on the assumption of 𝛼 (𝑥, Δ𝑥𝑐 , Δ𝑥𝑝 , Δ𝑦𝑝 , Δ𝑦𝑐𝑑 , Δ𝑦𝑝𝑑 )
Asymptotically Stable, the functions of 𝑓𝑝 (∗), 𝑔𝑝 (∗), 𝑓𝑐 (∗), (11a)
and 𝑔𝑐 (∗) in (3a), (3b), (4a), and (4b) are further assumed < 𝛽 (Δ𝑥𝑐 , Δ𝑥𝑝 , Δ𝑦𝑝 , Δ𝑦𝑐𝑑 , Δ𝑦𝑝𝑑 )
to be Lipschitz Continuous over a region 𝐷, where 𝐷 is a
nonsaturation region defined by 𝑥𝑝 and 𝑥𝑐 : and then
̇ .
𝛽 (0, 0, 0, 0, 0) = sup (𝛼 (𝑥, 0, 0, 0, 0)) = sup (V (𝑥)) (11b)
𝐷 = {𝑥𝑝 , 𝑥𝑐 | 𝑥𝑝 ∈ 𝐷𝑥𝑝 , 𝑥𝑐 ∈ 𝐷𝑥𝑐 , 𝑔𝑝 (𝑥𝑝 ) 𝑥∈𝐷3 𝑥∈𝐷3
(7)
̇ is the
A positive real number 𝑠 can be found since V(𝑥)
∈ 𝐷𝑦𝑝 , 𝑔𝑐 (𝑥𝑐 , 𝑔𝑝 (𝑥𝑝 )) ∈ 𝐷𝑦𝑐 } .
negative definition to satisfy:
For convenience, the time symbol 𝑡 is omitted unless neces- ̇ < −𝑠.
V (𝑥) (12a)
sary. 𝐷𝑥𝑝 and 𝐷𝑥𝑐 are nonsaturation regions for 𝑥𝑝 and 𝑥𝑐 ,
respectively, that is, the state spaces of the controller and the Combining (11b), then
plant. 𝐷𝑦𝑝 and 𝐷𝑦𝑐 are nonsaturation regions for 𝑦𝑝 and 𝑦𝑐 ,
𝛽 (0, 0, 0, 0, 0) < −𝑠. (12b)
respectively, that is, the output spaces of the controller and
the plant. With this assumption, a preparation theorem [18] As a result, a region 𝐷4 can always be found in the vicinity of
is given. the origin of 𝛽(∗):
⋅ 𝑓𝑝 (𝑥𝑝 , 𝑔𝑐 (𝑥𝑐 + Δ𝑥𝑐 , 𝑔𝑝 (𝑥𝑝 + Δ𝑥𝑝 ) + Δ𝑦𝑝 ) (8) 𝑉 (𝑥 (𝑡)) < 𝑉 (𝑥0 ) − 𝑠1 ∗ 𝑡, (17b)
𝜕𝑉 where 𝑥0 ∈ 𝐷3 is the start point of state trajectory. Inequation
+ Δ𝑦𝑐𝑑 ) + ⋅ 𝑓 (𝑥 , 𝑔 (𝑥 + Δ𝑥𝑝 ) + Δ𝑦𝑝𝑑 ) .
𝜕𝑥𝑐 𝑐 𝑐 𝑝 𝑝 (17b) means the state trajectory in DS is strictly constrained
6 Mathematical Problems in Engineering
by a diminishing function in 𝐷3 . Considering the fact that 4.2.2. Δ𝑥𝑝 . Δ𝑥𝑝 is the variation of the plant’s state value
̇ < 0, we have
V(𝑥) within time interval 𝑇. Following a similar approach in the
analysis of Δ𝑥𝑐 , we have
𝑉 (𝑥0 ) < 𝑉𝐷1 , (18a)
Δ𝑥𝑝 ≤ 𝑀𝑓𝑝 ⋅ 𝑇, (24)
𝑉 (𝑥 (𝑡)) < 𝑉𝐷1 − 𝑠1 ∗ 𝑡, (18b)
where 𝑀𝑓𝑝 is the upper bound of 𝑓𝑝 (∗) within [𝑡 − 𝑇, 𝑡].
where 𝑉𝐷1 is the value of 𝑉(𝑥) where the state trajectory
crosses the level surface that defines region 𝐷1 . Inequations 4.2.3. Δ𝑦𝑝 . Δ𝑦𝑝 is the variation of the plant’s output within
(18a) and (18b) mean that the state trajectory of DS will stay time interval 𝑇. According to (5a) and (5b), we have
inside 𝐷1 . Considering V(𝑥)̇ < 0, we also have
Δ𝑦𝑝 = 𝑔𝑝 (𝑥𝑝 (𝑡 − 𝑇)) − 𝑔𝑝 (𝑥𝑝 )
𝑉 (𝑥0 ) > 𝑉𝐷2 , (19) (25a)
= 𝑔𝑝 (𝑥𝑝 + Δ𝑥𝑝 ) − 𝑔𝑝 (𝑥𝑝 ) ,
where 𝑉𝐷2 is the value of 𝑉(𝑥) where the state trajectory
crosses the level surface that defines region 𝐷2 . Then, the Δ𝑦𝑝 = 𝑔𝑝 (𝑥𝑝 + Δ𝑥𝑝 ) − 𝑔𝑝 (𝑥𝑝 ) . (25b)
solution trajectory of DS will go from the start point to 𝐷2
Considering 𝑔𝑝 (∗) is Lipschitz Continuous (Theorem 1), we
within finite time:
have
𝑉 (𝑥0 ) − 𝑉𝐷2 Δ𝑦𝑝 = 𝑔𝑝 (𝑥𝑝 + Δ𝑥𝑝 ) − 𝑔𝑝 (𝑥𝑝 )
Δ𝑡 < . (20)
𝑠1
≤ 𝑀𝑔𝑝 ⋅ (𝑥𝑝 + Δ𝑥𝑝 ) − (𝑥𝑝 ) (26a)
Inequation (20) means a DS can be found, whose trajectory
will converge to the equilibrium point of CS eventually within = 𝑀𝑔𝑝 ⋅ Δ𝑥𝑝 .
finite time, given CS being asymptotically stable and the
system error being constrained as (13) shows. Considering (24), we have
Δ𝑦 ≤ 𝑀 ⋅ 𝑀 ⋅ 𝑇,
𝑝 𝑔𝑝 𝑓𝑝 (26b)
4.2. The Mathematical Expression of System Error. The math-
ematical expression of Δ𝐸 is studied by analyzing each where 𝑀𝑔𝑝 is the Lipschitz Const of 𝑔𝑝 (∗).
component of it.
4.2.4. Δ𝑦𝑝𝑑 . Δ𝑦𝑝𝑑 is caused by discretization on the plant’s
4.2.1. Δ𝑥𝑐 . Δ𝑥𝑐 is the variation of the controller’s state value output, where the discrete interval is 𝑇. Δ𝑦𝑝𝑑 is bounded by
within time interval 𝑇. According to the definition in (5a) and the changing rate of the output, as shown in Figure 3.
(5b), According to the definitions in (5a) and (5b), we have
Δ𝑥𝑐 = 𝑥𝑐 (𝑡 − 𝑇) − 𝑥𝑐 Δ𝑦𝑝𝑑 = (𝑔𝑝 ) − 𝑔𝑝 ≤ Δ𝑦𝑝 . (27)
𝑑
𝑡 (21a)
=∫ 𝑓𝑐 (𝑥𝑐 (𝜏) , 𝑢𝑐 (𝜏)) ⋅ 𝑑𝜏, Considering (26b),
𝑡−𝑇
Δ𝑦𝑝𝑑 ≤ 𝑀𝑔𝑝 ⋅ 𝑀𝑓𝑝 ⋅ 𝑇. (28)
𝑡
Δ𝑥𝑐 = ∫ 𝑓𝑐 (𝑥𝑐 (𝜏) , 𝑢𝑐 (𝜏)) ⋅ 𝑑𝜏 . (21b)
𝑡−𝑇
4.2.5. Δ𝑦𝑐𝑑 . Similarly, we have
Integrating both sides of (21b), Δ𝑦𝑐𝑑 ≤ 𝑀𝑔𝑐 ⋅ 𝑀𝑓𝑐 ⋅ 𝑇. (29)
𝑡
Combining (6), (23), (24), (26b), (28), and (29),
Δ𝑥𝑐 = ∫ 𝑓𝑐 (𝑥𝑐 (𝜏) , 𝑢𝑐 (𝜏)) ⋅ 𝑑𝜏
𝑡−𝑇
(22) Δ𝐸 = (Δ𝑥𝑐 , Δ𝑥𝑝 , Δ𝑦𝑝 , Δ𝑦𝑐𝑑 , Δ𝑦𝑝𝑑 )
𝑡
≤ ∫ 𝑓𝑐 (𝑥𝑐 (𝜏) , 𝑢𝑐 (𝜏)) ⋅ 𝑑𝜏. (30)
𝑡−𝑇 ≤ √ 𝑀𝑓2 (1 + 𝑀𝑔2𝑐 ) + 𝑀𝑓2 ⋅ (1 + 2𝑀𝑔2𝑝 ) ⋅ 𝑇,
𝑐 𝑝
y y
T 2T 3T 4T 5T 6T T 2T 3T 4T 5T 6T
{𝑥1̇ = 𝑓𝑥1 = 𝑥2
for any 𝑇 < 𝑇max , and the overall error will be less than Component I: { (33a)
Δ𝐸∗ . Equation (31) also indicates the way to partition CS 𝑦 = 𝑔𝑥1 = 𝑥1 ,
{ 1
will influence 𝑇max : the more the parts partitioned (supposing
each part is deployed on a node), the greater the denominator −𝑘 𝑅
{𝑥2̇ = 𝑓𝑥 = 𝑥1 − 𝑥2
of the right part of (31), thus the smaller that of the allowable Component II: { 2
𝑚 𝑚 (33b)
𝑇max . {𝑦2 = 𝑔𝑥2 = 𝑥2 ,
8 Mathematical Problems in Engineering
1.2 1.0
1.0 Error: 0.2386
0.5
0.8
0.6 0
0.4
x1
Error: 0.0764
x2
−0.5
0.2
0 −1.0
Error: 0.1445 Error: 0.1945
−0.2
−1.5
−0.4
−0.6 −2.0
0 2 4 6 8 10 0 2 4 6 8 10
Time (s) Time (s)
x1 of the distribution system with T = 0.1 s x2 of the distribution system with T = 0.1 s
x1 of the original continuous system x2 of the original continuous system
(a) (b)
1.2 1
1
0.5
0.8 Error: 0.5065
0.6 0
−0.5
x1
0.2
−1 Error: 0.4971
0
−0.2 −1.5
Error: 0.2835
−0.4
−2
0 2 4 6 8 10 0 2 4 6 8 10
Time (s) Time (s)
x1 of the distribution system with T = 0.15 s x2 of the distribution system with T = 0.15 s
x1 of the original continuous system x2 of the original continuous system
(c) (d)
1.2 1
1
0.5
0.8 Error: 0.7081
0.6 0
Error: 0.2646
0.4
x1
x2
−0.5
0.2
0 −1
−0.2 Error: 0.6039
−1.5
−0.4
Error: 0.3931
−0.6 −2
0 2 4 6 8 10 0 2 4 6 8 10
Time (s) Time (s)
x1 of the distribution system with T = 0.2 s x2 of the distribution system with T = 0.2 s
x1 of the original continuous system x2 of the original continuous system
(e) (f)
Figure 7: The comparison of 𝑥1 and 𝑥2 . In the distributed simulation, 𝑇 is set to be 0.1 s, 0.15 s, and 0.2 s, respectively; the trajectories of 𝑥1
and 𝑥2 are compared in each case.
Mathematical Problems in Engineering 9
where 𝑦1 , 𝑦2 are the output of components I and II, respec- play a role in multicore or multi-CPU parallel computing
tively. These two parts are deployed on two nodes, forming environments.
the simple distributed system. However, for systems that may become unstable after
Equation (31) indicates that the parameters reflecting system partitioning, this approach is not so convenient since
system dynamic need to be determined firstly, which are as a Lyapunov function of the continuous system needs to
follows: be found firstly. The parameters defining specific regions
satisfying (13)–(15) also need to be determined. More work
𝑀𝑓𝑥 : the upper bound of function 𝑓𝑥1 within any time needs to be done to improve this approach’s availability.
1
interval [𝑡 − 𝑇, 𝑡];
𝑀𝑔𝑥 : the Lipschitz Const of function 𝑔𝑥1 ; Conflict of Interests
1
𝑀𝑓𝑥 : the upper bound of function 𝑓𝑥2 within any time The authors declare that there is no conflict of interests
2
interval [𝑡 − 𝑇, 𝑡]; regarding the publication of this paper.
𝑀𝑔𝑥 : the Lipschitz Const of function 𝑔𝑥2 .
2
References
From the engineering perspective, these parameters can be
directly observed from the simulation results of the original [1] E. Hairer, S. P. Nørsett, and G. Wanner, Solving Ordinary Dif-
system. In this case, 𝑀𝑓𝑥 is determined by the lower bound ferential Equations I: Nonstiff Problems, vol. 8 of Springer Series
1
in Computational Mathematics, Springer, Berlin, Germany, 2nd
of 𝑥1̇ as Figure 6 shows.
edition, 1993.
As a result, 𝑀𝑓𝑥 = −1.3844. According to the definition
1 [2] E. Hinton, P. Bettess, and R. W. Lewis, Eds., Numerical Methods
of Lipschitz Const, 𝑀𝑔𝑥 is limited by the upper bound of in Coupled Problems, Pineridge Press, Swansea, UK, 1981.
1
𝑔𝑥̇ 1 , that is, the upper bound of 𝑥1̇ in this case. Then, we [3] R. W. Lewis, Ed., Numerical Methods in Coupled Problems, John
have 𝑀𝑔𝑥 = −1.3844. Following similar procedures, we have Wiley & Sons, London, UK, 1984.
1
𝑀𝑓𝑥 = −1.7796, 𝑀𝑔𝑥 = −1.7796. According to (31), 𝑇max is [4] Y.-f. Ma, X. Song, J.-y. Wang, and Z. Xiao, “A practical
2 2
estimated as follows: infrastructure for real-time simulation across timing domains,”
Mathematical Problems in Engineering, vol. 2015, Article ID
163845, 12 pages, 2015.
𝑇max ≈ √ 𝑀𝑓2 (1 + 𝑀𝑔2𝑥 ) + 𝑀𝑓2 ⋅ (1 + 2𝑀𝑔2𝑥 ) [5] R. W. Lewis, Ed., Numerical Methods in Coupled Problems,
𝑥2 2 𝑥1 1
(34)
Wiley, London, UK, 1984.
≈ 0.211 ⋅ Δ𝐸. [6] C. Ocampo-Martinez, S. Bovo, and V. Puig, “Partitioning
approach oriented to the decentralised predictive control of
The distributed system described in (33a) and (33b) is large-scale systems,” Journal of Process Control, vol. 21, no. 5, pp.
simulated. The trajectories of the system states are compared 775–786, 2011.
to those of the original continuous system, as Figure 7 shows. [7] K. Salahshoor and S. Kamelian, “A new weighted graph-
The threshold value of Δ𝐸 is 0.5, and then 𝑇max is estimated based partitioning algorithm for decentralized nonlinear model
to be 0.1055 s according to (34). Three configurations, where predictive control of large-scale systems,” International Journal
𝑇 = 0.1 s, 𝑇 = 0.15 s, and 𝑇 = 0.2 s, are tested in the form of of Computer Applications, vol. 40, no. 14, pp. 7–14, 2012.
distributed simulation. As expected, only the case 𝑇 = 0.1 s [8] C. A. Felippa, K. C. Park, and C. Farhat, “Partitioned analysis
satisfies that both 𝑥1 and 𝑥2 do not exceed the threshold value of coupled mechanical systems,” Computer Methods in Applied
of Δ𝐸. Mechanics and Engineering, vol. 190, no. 24-25, pp. 3247–3270,
However, the actual error does not exceed the threshold 2001.
value immediately when 𝑇 is configured to be greater than [9] W. Michiels and S.-I. Niculescu, Stability and Stabilization of
0.1 s, as shown in Figures 7(c) and 7(d). The reason is that 𝑇max Time-Delay Systems: An Eigenvalue-Based Approach, vol. 12,
is not strictly estimated since many associated parameters use SIAM, 2007.
their boundary values. [10] J.-B. Hu, G.-P. Lu, S.-B. Zhang, and L.-D. Zhao, “Lyapunov
stability theorem about fractional system without and with
delay,” Communications in Nonlinear Science and Numerical
6. Conclusion Simulation, vol. 20, no. 3, pp. 905–913, 2015.
[11] S. Kamelian and K. Salahshoor, “A novel graph-based partition-
The mathematical expression of Δ𝐸 helps us to gain the ing algorithm for large-scale dynamical systems,” International
insight of system error produced in the construction of the Journal of Systems Science: Principles and Applications of Systems
distributed system using the partitioning approach. Giving and Integration, vol. 46, no. 2, pp. 227–245, 2015.
an expected threshold of Δ𝐸, a proper advancing step 𝑇 [12] A. Adegoke, H. Togo, and M. K. Traore, “A unifying framework
of the distributed system can be determined. A larger 𝑇, for specifying DEVS parallel and distributed simulation archi-
compared to the integral step in the nondistributed system, tectures,” Simulation-Transactions of The Society for Modeling
will reduce the data-exchange frequency between simulation and Simulation International, vol. 89, no. 11, pp. 1293–1309, 2013.
nodes, leading to the reduction of demands on system timing [13] F. Bergero, E. Kofman, and F. Cellier, “A novel parallelization
performance and network bandwidth. Then, the simulation technique for DEVS simulation of continuous and hybrid
cost is saved eventually. In fact, this approach can also systems,” SIMULATION, vol. 89, no. 6, pp. 663–683, 2013.
10 Mathematical Problems in Engineering
International
Journal of Journal of
Mathematics and
Mathematical
Discrete Mathematics
Sciences