2.2 The distributed algorithm

Recall the problem of combination of L subproblems in (2). Now, let us have the following global problem:

$$\begin{aligned} \min\_{\{u^i\}} & \sum\_{i=1}^L J^i(u^i) \\ \text{s.t. } u^i \in \mathcal{Q}^i, \forall i \\ & g^i(u^1, u^2, \dots, u^L) \le 0, \forall i \end{aligned} \tag{16}$$

min ui ;ti f g<sup>s</sup> <sup>∀</sup>k,∀<sup>i</sup>

s:t: zi

DOI: http://dx.doi.org/10.5772/intechopen.85668

xi

Ω<sup>i</sup> x<sup>i</sup> ð Þ<sup>k</sup> � � ∀i ; ui ð Þ<sup>k</sup> � � ∀i ; t i s ð Þ<sup>k</sup> � � ∀i

g<sup>i</sup> x<sup>i</sup>

Ω<sup>i</sup> x<sup>i</sup> ð Þ<sup>k</sup> � � ∀i ; u<sup>i</sup> ð Þ<sup>k</sup> � � ∀i ; t i s ð Þ<sup>k</sup> � � ∀i

∑ L i¼1 H x<sup>i</sup>

ð Þ¼ <sup>k</sup> <sup>þ</sup> <sup>1</sup> <sup>f</sup> <sup>D</sup> <sup>x</sup><sup>i</sup>

ð Þk ; t i s ð Þ<sup>k</sup> � �≤<sup>0</sup>

<sup>k</sup> <sup>¼</sup> <sup>0</sup>, <sup>1</sup>, …, N,i <sup>¼</sup> <sup>1</sup>, …, L, z<sup>i</sup>

ð Þ¼ <sup>k</sup> <sup>þ</sup> <sup>1</sup> zi

ð Þ<sup>k</sup> ; <sup>u</sup><sup>i</sup>

problem. To simplify the notations, let us define

have, for example, two robot inputs <sup>u</sup><sup>i</sup> <sup>¼</sup> ui

with objectives

Ξ<sup>i</sup> :

3.2 Distributed algorithm

125

zi

8 >>><

>>>:

xi

g<sup>i</sup> xi

∀k, z<sup>i</sup>

ð Þ <sup>N</sup> � � <sup>þ</sup> <sup>z</sup><sup>i</sup>

ð Þ<sup>k</sup> ; <sup>u</sup><sup>i</sup>

� �≤<sup>0</sup>

with superscript i corresponding to each robot. The objective function is just the summation of individual objectives. The coupling constraint of

ui <sup>¼</sup> ui

ð Þþ k t i s

Distributed Optimization of Multi-Robot Motion with Time-Energy Criterion

ð Þ N

ð Þ� <sup>k</sup> <sup>L</sup> <sup>x</sup><sup>i</sup>

ð Þk ; t i s

ð Þ<sup>k</sup> � �

You can see that the problem above is just the combination of L subproblems

� �<sup>≤</sup> <sup>0</sup>, <sup>∀</sup><sup>k</sup> is the only difference to the single robot

ð Þk ; t i s ð Þ<sup>k</sup> � �<sup>N</sup>

The above definition is just to reduce the notation of robot input sequence. If we

a total of 3 � L � N control variables of the optimization problem. We can condense notation of the global problem of multi-robot system without loss of generality to be

> ∑ L i¼1 J <sup>i</sup> u<sup>i</sup> � �

s:t: u<sup>i</sup> ∈ Ξ<sup>i</sup>

; …; u<sup>L</sup> � �≤0, ∀i

ð Þ <sup>N</sup> � � <sup>þ</sup> <sup>z</sup><sup>i</sup>

ð Þ� <sup>k</sup> L x<sup>i</sup>

ð Þk ; t i s

ð Þ<sup>k</sup> � �

ð Þ<sup>k</sup> ; <sup>u</sup><sup>i</sup>

ð Þ<sup>k</sup> � � � �

ð Þk ; t i s

min <sup>u</sup><sup>i</sup> f g∀<sup>i</sup>

Ω<sup>i</sup> u<sup>1</sup> ; u<sup>2</sup>

<sup>i</sup> ui � � <sup>¼</sup> H xi

ð Þþ k t i s

ð Þ<sup>k</sup> ; <sup>u</sup><sup>i</sup>

ð Þ¼ <sup>0</sup> xi 0

<sup>i</sup> u<sup>i</sup> ð Þ m � � <sup>þ</sup> <sup>λ</sup><sup>i</sup>

Returning back to the primal-dual problem pair in Section 2, we can establish the algorithm updates according to the defined updates in (19). At each iteration m, we

ð Þ <sup>m</sup> <sup>þ</sup> <sup>α</sup>Ω<sup>i</sup>

n o

ð Þ m h i<sup>T</sup>

� � h i

ð Þ m

Ωi ð Þ m

which are subject to the set of individual robot i constraints of

ð Þk ; t i s ð Þ<sup>k</sup> � �≤<sup>0</sup>

J

ð Þ¼ <sup>k</sup> <sup>þ</sup> <sup>1</sup> <sup>z</sup><sup>i</sup>

ð Þ<sup>k</sup> ; <sup>u</sup><sup>i</sup>

update each robot inputs and multipliers according to

ð Þ <sup>m</sup>þ<sup>1</sup> <sup>¼</sup> <sup>φ</sup>min <sup>J</sup>

P<sup>λ</sup><sup>i</sup> <sup>≥</sup><sup>0</sup> λ<sup>i</sup>

ui

λi ð Þ <sup>m</sup>þ<sup>1</sup> ¼

ð Þ¼ <sup>k</sup> <sup>þ</sup> <sup>1</sup> <sup>f</sup> <sup>D</sup> xi

ð Þ¼ <sup>0</sup> <sup>0</sup>, xi

<sup>1</sup> ui 2 ð Þ<sup>k</sup> ; <sup>u</sup><sup>i</sup>

ð Þ¼ <sup>0</sup> <sup>0</sup>, <sup>x</sup><sup>i</sup>

k¼0

ð Þ<sup>k</sup> � � � �

ð Þk ; t i s

> ð Þ¼ <sup>0</sup> <sup>x</sup><sup>i</sup> 0

� �<sup>T</sup> (e.g., wheel torques), then we have

ð Þ N (22)

(20)

(21)

(23)

(24)

As mentioned, the constraints g<sup>i</sup> u1; u2; …; u<sup>L</sup> � �≤0 are the complicating (or coupling) constraints. We can formulate the dual pair problems to be

$$\max\_{\{\lambda^i\}} q\left(\{\lambda^i\}\right)$$
 
$$\text{s.t. } \lambda^i \ge 0, \forall i$$

Put in mind that <sup>λ</sup><sup>i</sup> � � <sup>¼</sup> <sup>λ</sup><sup>1</sup> ; λ<sup>2</sup> ; ⋯; λ<sup>L</sup> � �. If we define the notations of

$$\boldsymbol{u} = \begin{bmatrix} \boldsymbol{u}^1 & \boldsymbol{u}^2 & \dots & \boldsymbol{u}^L \end{bmatrix}^T,\\ \boldsymbol{\lambda} = \begin{bmatrix} \boldsymbol{\lambda}^1 & \boldsymbol{\lambda}^2 & \dots & \boldsymbol{\lambda}^L \end{bmatrix}^T,$$

then we can apply the primal-dual update from (13) and (15) at an iteration m as

$$\begin{aligned} \mathfrak{u}\_{(m+1)}^{\*} &= \arg\min\_{\{\boldsymbol{u}^{i}\} \in \mathcal{Q}^{i}} \left\{ \sum\_{i=1}^{L} \left\{ \boldsymbol{f}^{i}(\boldsymbol{u}^{i}) + \left[\boldsymbol{\lambda}\_{(m)}^{i}\right]^{T} \boldsymbol{g}^{i}(\boldsymbol{u}) \right\} \right\} \\ \boldsymbol{\lambda}\_{(m+1)} &= \mathcal{P}\_{\boldsymbol{\lambda} \ge 0} \left\{ \boldsymbol{\lambda}\_{(m)} + \boldsymbol{a}\_{(m)} \cdot \left[\boldsymbol{g}^{1} \left(\boldsymbol{\mathfrak{u}}^{\*}\_{(m)}\right) \boldsymbol{g}^{2} \left(\boldsymbol{\mathfrak{u}}^{\*}\_{(m)}\right) \dots \boldsymbol{g}^{L} \left(\boldsymbol{\mathfrak{u}}^{\*}\_{(m)}\right) \right]^{T} \right\} \end{aligned} \tag{18}$$

We can see that the above pair of updates can easily be distributed; after the relaxing of the constraints, the primal problem can be separated. The facility of subgradients lets us propose that any iteration m for subproblem i has

$$\begin{aligned} u\_{(m+1)}^i &= \mathfrak{op}\_{\min} \left( J^i \left( u\_{(m)}^i \right) + \left[ \lambda\_{(m)}^i \right]^T \mathfrak{g}^i \left( u\_{(m)}^1, u\_{(m)}^2, \dots, u\_{(m)}^L \right) \right) \\ \lambda\_{(m+1)}^i &= \mathcal{P}\_{\lambda^i \ge 0} \left\{ \lambda\_{(m)}^i + \mathrm{ag}^i \left( u\_{(m)}^1, u\_{(m)}^2, \dots, u\_{(m)}^L \right) \right\} \end{aligned} \tag{19}$$

The function φminð Þ: is any algorithm minimizer for the primal problem constrained by ui ∈ Ω<sup>i</sup> , ∀i. Observe that the primal update for each subproblem needs only the latest values of the other subproblem updates. During the computations of an iteration, computation of u<sup>i</sup> ð Þ <sup>m</sup>þ<sup>1</sup> and <sup>λ</sup><sup>i</sup> ð Þ <sup>m</sup>þ<sup>1</sup> is done independent of each other; the updates above can be computed in parallel for each subproblem. The only information shared after each iteration is u<sup>1</sup> ð Þ <sup>m</sup> , u<sup>2</sup> ð Þ <sup>m</sup> , …, u<sup>L</sup> ð Þ <sup>m</sup> among all.

## 3. Distributed algorithm for multi-robot system

#### 3.1 Problem formulation

Now, in this section we can apply the previous discussion into the problem of optimizing the motion of multiple robots. Recall the global optimization problem of motion of L mobile robots from (1)

Distributed Optimization of Multi-Robot Motion with Time-Energy Criterion DOI: http://dx.doi.org/10.5772/intechopen.85668

$$\begin{aligned} &\min\_{\{\mathbf{z}^i, t\_i^i\}\_{\forall k, \mathbf{w}}} \sum\_{i=1}^L H(\mathbf{z}^i(N)) + \mathbf{z}^i(N) \\ &\text{s.t.}\\ &z^i(k+1) = z^i(k) + t\_s^i(k) \cdot \left\{ \mathcal{L}\left(\mathbf{z}^i(k), \mathbf{u}^i(k), t\_s^i(k)\right) \right\} \\ &\mathbf{z}^i(k+1) = f\_D\left(\mathbf{z}^i(k), \mathbf{u}^i(k), t\_s^i(k)\right) \\ &\mathbf{g}^i\left(\mathbf{z}^i(k), \mathbf{u}^i(k), t\_s^i(k)\right) \le 0 \\ &\mathbf{z}^i\left(\left\{\mathbf{z}^i(k)\right\}\_{\forall i}, \left\{\mathbf{u}^i(k)\right\}\_{\forall i}, \left\{t\_s^i(k)\right\}\_{\forall i}\right) \le 0 \\ &k = 0, 1, \dots, N, i = 1, \dots, L, \mathbf{z}^i(0) = \mathbf{0}, \mathbf{x}^i(0) = \mathbf{x}\_0^i \end{aligned} \tag{20}$$

You can see that the problem above is just the combination of L subproblems with superscript i corresponding to each robot. The objective function is just the summation of individual objectives. The coupling constraint of Ω<sup>i</sup> x<sup>i</sup> ð Þ<sup>k</sup> � � ∀i ; ui ð Þ<sup>k</sup> � � ∀i ; t i s ð Þ<sup>k</sup> � � ∀i � �<sup>≤</sup> <sup>0</sup>, <sup>∀</sup><sup>k</sup> is the only difference to the single robot problem. To simplify the notations, let us define

$$\overline{u}^{i} = \left\{ u^{i}(k), t\_{s}^{i}(k) \right\}\_{k=0}^{N}$$

The above definition is just to reduce the notation of robot input sequence. If we have, for example, two robot inputs <sup>u</sup><sup>i</sup> <sup>¼</sup> ui <sup>1</sup> ui 2 � �<sup>T</sup> (e.g., wheel torques), then we have a total of 3 � L � N control variables of the optimization problem. We can condense notation of the global problem of multi-robot system without loss of generality to be

$$\begin{aligned} \min\_{\left\{\overline{\boldsymbol{u}}^{i}\right\}\_{\forall i}} & \sum\_{i=1}^{L} l^{i} \left(\overline{\boldsymbol{u}}^{i}\right) \\ \text{s.t. } & \overline{\boldsymbol{u}}^{i} \in \Xi^{i} \\ \mathfrak{U}^{i} \left(\overline{\boldsymbol{u}}^{1}, \overline{\boldsymbol{u}}^{2}, \dots, \overline{\boldsymbol{u}}^{L}\right) \leq 0, \forall i \end{aligned} \tag{21}$$

with objectives

2.2 The distributed algorithm

Put in mind that <sup>λ</sup><sup>i</sup> � � <sup>¼</sup> <sup>λ</sup><sup>1</sup>

ð Þ <sup>m</sup>þ<sup>1</sup> <sup>¼</sup> arg min ui f g<sup>∈</sup> <sup>Ω</sup><sup>i</sup>

P

ui

λi ð Þ <sup>m</sup>þ<sup>1</sup> ¼

constrained by ui ∈ Ω<sup>i</sup>

iteration, computation of u<sup>i</sup>

3.1 Problem formulation

124

tion shared after each iteration is u<sup>1</sup>

motion of L mobile robots from (1)

ð Þ <sup>m</sup>þ<sup>1</sup> <sup>¼</sup> <sup>φ</sup>min <sup>J</sup>

P<sup>λ</sup><sup>i</sup> <sup>≥</sup><sup>0</sup> λ<sup>i</sup>

u�

λð Þ <sup>m</sup>þ<sup>1</sup> ¼

following global problem:

Recall the problem of combination of L subproblems in (2). Now, let us have the

, ∀i

; ⋯; λ<sup>L</sup> � �. If we define the notations of

, <sup>λ</sup> <sup>¼</sup> <sup>λ</sup><sup>1</sup> <sup>λ</sup><sup>2</sup> … <sup>λ</sup><sup>L</sup> � �<sup>T</sup>

… g<sup>L</sup> u�

ð Þ <sup>m</sup> ; …; uL

ð Þ m

ð Þ m

,

(16)

(17)

(18)

(19)

min ui f g ∑ L i¼1 J <sup>i</sup> u<sup>i</sup> � �

Path Planning for Autonomous Vehicles - Ensuring Reliable Driverless Navigation…

max <sup>λ</sup><sup>i</sup> f g <sup>q</sup> <sup>λ</sup><sup>i</sup> � � � � s:t: λ<sup>i</sup> ≥ 0, ∀i

<sup>i</sup> ui � � <sup>þ</sup> <sup>λ</sup><sup>i</sup>

subgradients lets us propose that any iteration m for subproblem i has

<sup>i</sup> u<sup>i</sup> ð Þ m � �

ð Þ <sup>m</sup>þ<sup>1</sup> and <sup>λ</sup><sup>i</sup>

3. Distributed algorithm for multi-robot system

� � � �

pling) constraints. We can formulate the dual pair problems to be

; λ<sup>2</sup>

<sup>u</sup> <sup>¼</sup> <sup>u</sup><sup>1</sup> <sup>u</sup><sup>2</sup> … <sup>u</sup><sup>L</sup> � �<sup>T</sup>

∑ L i¼1 J

<sup>λ</sup> <sup>≥</sup><sup>0</sup> <sup>λ</sup>ð Þ <sup>m</sup> <sup>þ</sup> <sup>α</sup>ð Þ <sup>m</sup> � <sup>g</sup><sup>1</sup> <sup>u</sup>�

s:t: u<sup>i</sup> ∈ Ω<sup>i</sup>

g<sup>i</sup> u1; u2; …; uL � �≤0, ∀i

As mentioned, the constraints g<sup>i</sup> u1; u2; …; u<sup>L</sup> � �≤0 are the complicating (or cou-

then we can apply the primal-dual update from (13) and (15) at an iteration m as

ð Þ m h i<sup>T</sup> gi ð Þ u

> g<sup>2</sup> u� ð Þ m � �

> > g<sup>i</sup> u<sup>1</sup> ð Þ <sup>m</sup> ; <sup>u</sup><sup>2</sup>

ð Þ <sup>m</sup> ; …; <sup>u</sup><sup>L</sup>

, ∀i. Observe that the primal update for each subproblem needs

ð Þ <sup>m</sup> among all.

ð Þ m

ð Þ <sup>m</sup>þ<sup>1</sup> is done independent of each other; the

� � � �

ð Þ <sup>m</sup> ; <sup>u</sup><sup>2</sup>

n o � �

h i � � <sup>T</sup> � �

ð Þ m � �

We can see that the above pair of updates can easily be distributed; after the relaxing of the constraints, the primal problem can be separated. The facility of

> <sup>þ</sup> <sup>λ</sup><sup>i</sup> ð Þ m h i<sup>T</sup>

ð Þ <sup>m</sup> <sup>þ</sup> <sup>α</sup>g<sup>i</sup> <sup>u</sup><sup>1</sup>

ð Þ <sup>m</sup> , u<sup>2</sup>

The function φminð Þ: is any algorithm minimizer for the primal problem

only the latest values of the other subproblem updates. During the computations of an

updates above can be computed in parallel for each subproblem. The only informa-

ð Þ <sup>m</sup> , …, u<sup>L</sup>

Now, in this section we can apply the previous discussion into the problem of optimizing the motion of multiple robots. Recall the global optimization problem of

$$J^i(\overline{u}^i) = H(\mathfrak{x}^i(N)) + z^i(N) \tag{22}$$

which are subject to the set of individual robot i constraints of

$$\begin{aligned} \Xi^i: \begin{cases} z^i(k+1) = z^i(k) + t^i\_s(k) \cdot \left\{ L\left(\varkappa^i(k), \mu^i(k), t^i\_s(k)\right) \right\} \\ x^i(k+1) = f\_D\left(\varkappa^i(k), \mu^i(k), t^i\_s(k)\right) \\ g^i(\varkappa^i(k), \mu^i(k), t^i\_s(k)) \le 0 \\ \forall k, z^i(0) = 0, \varkappa^i(0) = \varkappa^i\_0 \end{cases} \end{aligned} \tag{23}$$

#### 3.2 Distributed algorithm

Returning back to the primal-dual problem pair in Section 2, we can establish the algorithm updates according to the defined updates in (19). At each iteration m, we update each robot inputs and multipliers according to

$$\begin{aligned} \overline{\boldsymbol{u}}\_{(m+1)}^i &= \boldsymbol{\mathfrak{op}}\_{\min} \left( \boldsymbol{J}^i \left( \overline{\boldsymbol{u}}\_{(m)}^i \right) + \left[ \boldsymbol{\lambda}\_{(m)}^i \right]^T \left[ \boldsymbol{\mathfrak{Q}}\_{(m)}^i \right] \right) \\ \boldsymbol{\lambda}\_{(m+1)}^i &= \boldsymbol{\mathcal{P}}\_{\boldsymbol{\lambda}^i \ge 0} \left\{ \boldsymbol{\lambda}\_{(m)}^i + \boldsymbol{a} \boldsymbol{\mathfrak{Q}}\_{(m)}^i \right\} \end{aligned} \tag{24}$$

The minimizer update φminð Þ: is responsible to solve the single robot optimization (primal) problem according to the objective defined in (22) and subject to constraints in (23). In this paper, the minimizer update φminð Þ: is selected to be any state-of-the-art nonlinear programming (NLP) algorithm. Let us have the step size α for the dual update to be constant. This is sufficient for converging to a solution of the original problem [33]. You can read the algorithm updates in (24) at iteration m as each robot independently optimizes its whole motion throughout the whole time horizon k ¼ 0, 1, …, N while at the same time puts in mind the extra cost of cooperation/interaction with others introduced by the term λ<sup>i</sup> ð Þ m h i<sup>T</sup> Ωi ð Þ m h i and so on.

#### 3.3 Algorithm convergence

In this brief section, elaboration is put forth about how to practically use the algorithm. The ultimate goal is to optimize primal problem with no collision violation, i.e., reaching optimal dual (maximum) solution. At each global iteration, we only need to improve the primal problem values for the updated extra cost of the interaction constraint, λ<sup>i</sup> � �<sup>T</sup> Ω<sup>i</sup> � �. In this paper, a perfect solution is to optimize while maintaining Ω<sup>i</sup> � � <sup>∀</sup><sup>k</sup> ≤0. A logical property is to monitor the M-element vector of constraints for positive values, i.e., violations. So, a stopping criterion for the algorithm can be chosen to be some minimum change TolJ in the primal problem value:

$$\left| J\_{(m+1)} - J\_{(m)} \right| \le \text{TolJ with} \\ J\_{(m)} = \sum\_{i=1}^{L} J\left( \overline{u}\_{(m)}^{i} \right) \tag{25}$$

choice of parameters of the robot model can be found in [21]. As mentioned before, for choices of Q,R in Section 1, the Lagrangian for the problem is chosen to include the cost for energy spent by the torques of the wheels, the cost for kinetic energy spent by robot body, and the weight on time. Individual robot constraints include final desired configuration tolerance, torque limits, and the ensurance of zero final

Distributed Optimization of Multi-Robot Motion with Time-Energy Criterion

DOI: http://dx.doi.org/10.5772/intechopen.85668

Here, we will discuss the formulation and the structure of the coupling constraints. The robots can be designed to perform any cooperative strategy in their motion. Here, we only consider the global goal of optimizing the motion of each robot in time and energy while avoiding colliding with each other during the motion. Let us

:

; y<sup>i</sup> in the 2D plane:

For the ith robot, it tries to avoid colliding with the rest of L � 1 robots at each of its time indexes <sup>k</sup>. Let us label elements of the constraint vector as <sup>Ω</sup>ijð Þ<sup>k</sup> . Each element is corresponding to a definition of constraint at time index k for all other

define the coupling constraint vector across the discrete time indexes as

ð Þ<sup>k</sup> ∀i ; ui ð Þ<sup>k</sup> ∀i ; t i s ð Þ<sup>k</sup> ∀i

robots, <sup>j</sup> 6¼ <sup>i</sup>. So, for each robot, the constraint vector <sup>Ω</sup><sup>i</sup> is of size

outside a safety circle region around each i robot at the position xi

So, we can define each element of the constraint vector as

ð Þ� <sup>k</sup> <sup>x</sup>^<sup>j</sup> ð Þ<sup>k</sup> <sup>2</sup>

<sup>M</sup> <sup>¼</sup> ð Þ� <sup>L</sup> � <sup>1</sup> <sup>N</sup>; of course, the multiplier vector <sup>λ</sup><sup>i</sup> in (24) is of the same size. We define the collision avoidance by constraining motion of other robots to be

<sup>þ</sup> <sup>y</sup><sup>i</sup>

The radius of the safety region is chosen as p. Because of the definition of the sampling period variable, at each of discrete time step k, the actual time variable

ð Þ� <sup>k</sup> <sup>x</sup>^<sup>j</sup> ð Þ<sup>k</sup> <sup>2</sup>

ð Þ� <sup>k</sup> ^y<sup>j</sup> ð Þ<sup>k</sup> <sup>2</sup>

<sup>þ</sup> <sup>y</sup><sup>i</sup>

≥ p<sup>2</sup> :

ð Þ� <sup>k</sup> ^y<sup>j</sup>

ð Þk for all the other L � 1 robots. That is why you

ð Þ<sup>k</sup> <sup>2</sup> (27)

ð Þ¼ <sup>k</sup> <sup>Ω</sup><sup>i</sup> xi

velocities (see more details in [36]).

Ωi

xi

<sup>Ω</sup>ijð Þ¼ <sup>k</sup> <sup>p</sup><sup>2</sup> � <sup>x</sup><sup>i</sup>

i ð Þ¼ k t j

does not necessarily imply t

127

4.2 Collision avoidance

Figure 1.

Wheeled mobile robot.

We can also distribute the stopping decision to individual robots by observing the change in individual objective values.

With condition (25) on its own, we cannot always be satisfying the collision requirement. So, this condition can be accompanied by a condition on the collision constraint violation. For all robots, elements of the complete constraint vector Ω<sup>i</sup> � � <sup>∀</sup><sup>k</sup> should be less than a relatively small positive value TolΩ. So, for each robot, an extra stopping criterion along with criteria in (25) is to have

$$\max\left(\left[\mathcal{Q}\_{(m)}^{i}\right]\_{\mathbb{W}k}\right) \le \text{Tol}\Omega\tag{26}$$

Specific values of TolΩ and TolJ depend on the nonlinear programming algorithm and/or the global desired requirements. Note that the behavior of the two tolerance parameters could be competitive with each other.
