• No results found

1.3 Model

1.3.7 Multi-objective optimization

In this section, given a navigation line graph whose edges carry well defined, non-comparable, positive, macroscopic costs, the path planning problem is for- mulated as a multi-objective optimization.

In the worst case, the Pareto set contains all simple paths between source and target (an exponential number with respect to the size of the graph). We

26 1.3 Model 0 20 40 60 80 100 120 140 160 180 estimated length [m] 0 20 40 60 80 100 120 140 160 180 actual length [m] Trajectory length L L B 0 5 10 15 20 25 30 estimated turning [rad]

0 5 10 15 20 25 30

actual turning [rad]

Trajectory turning T

L B

Figure 1.6. Estimation of the geometric features of the optimal trajectory from

the navigation line graph L for 300 random trajectories in our laboratory (see Figure 1.10). Blue corresponds to optimal pedestrian trajectories, red to optimal

wheelchair trajectories computed in Chapter 2. Perfect estimations lie on the

dashed lines.

(a) Length (b) Turning

Figure 1.7. Part of the geometric description of the edges of the line graph L;

27 1.3 Model

argue that, for indoor spaces, the average complexity is significantly lower and we present a simple algorithm to compute all solutions in a short enough time. We explore computational costs on a real building map in Section 1.4.

Path planning instance We are given: an agent, its navigation line graph L = (NL, EL), n positive cost functions C1≤i≤n(e, x) ∈ R+, source s and a target loca-

tions t. We complete L with any edge from s to neighboring cell boundaries, and from all neighbor cell boundaries to t.

The planning problem looks for the best set of paths π ∈ Π on L between source and target according to costs C1≤i≤n. Figure 1.8 illustrates an example

of a path given by a sequence of cells and cells boundaries to be crossed when travelling from s to t.

(a) A topological path is computed on the

navigation layer from the lighter to the darker cells. The geometric information about the cells can be used to compute an smooth trajectory (in black), see Chapter 2.

(b) The same path, projected onto other

map layers, provides a rich description. For example, the projection on the smart cam-

era layer informs that the agent will be par-

tially tracked by cameras 3 and 4.

Figure 1.8. A topological pathπ on a multi-layered map.

Optimal solutions In case of a single cost (n = 1), the best possible path is the one that minimizes the total cost in Equation (1.1). We can compute it in polynomial time with respect to the size of L using one of several algorithms for shortest paths on a graph, like Dijkstra’s algorithm.

Instead, when multiple costs need to be minimized, there are multiple sensible ways to define and interpret a solution (see [99] for a complete survey).

Lexicographic order We can define a total ordering between the costs; then,

we choose the path minimizing the first cost; if there are many such paths, we choose the one minimizing the second cost, and so on.

28 1.3 Model

Costs as constraints We could interpret a subset of costs as constraints. That

is, we could define thresholds Cj and imposeCj(π) ≤ Cj for some j’s and

solve for the best path with respect to the remaining costs, using one of the other models presented in this list.

Combination of costs The most intuitive and simplest solution is to combine all

costs in a single cost, for example using a weighted sum.

Pareto front We may define the best set of paths as the Pareto front of the multi-

objective minimization problem, i.e. the set of all non dominated solutions. A dominated solution is a path for which there exists at least another path that is at better (or equal) to it with respect to every cost[20].

In general, to discriminate paths with respect to multiple costs, we need addi- tional criteria that may not be specified at query time. In case of lexical ordering, cost as constraints and combination of costs, the strategic decision is taken be- fore the path is computed by setting the order, the thresholds or the function to combine the costs respectively. On the contrary, the selection of one solution from the Pareto front is delegated (as an informed strategic decision) to the agent afterwards.

In the remaining of this chapter, we consider the multi-objective path plan- ning problem associated with the computation of the Pareto front.

Computation of the Pareto front.

Yen’s algorithm [156] computes iteratively the k-th shortest simple path on a graph and provides the key component to compute the set of optimal paths with respect to a set of costs, as illustrated by Algorithm 4.

The algorithm computes the Pareto front by iteratively applying Yen’s algo- rithm (with respect to switching costs) and adding any non dominated solution until one solution π has been computed by Yen’s algorithm with respect to all costs. In fact, any further application of Yen’s algorithm would compute a path with higher costs than π. Figure 1.9 illustrates this search in cost space in the case of n= 2.

Complexity analysis The time complexity of Yen’s algorithm depends on the

shortest path algorithm that it uses. For example, for using Dijkstra’s algorithm with Fibonacci heap, k applications of Yen’s algorithm have a worst-case time complexity O(k|NL|(|EL| + log |NL|)), which implies a worst-case time complexity

29 1.3 Model 0 2 4 6 8 10 C1 0 2 4 6 8 10 C2

Pareto front search

Figure 1.9. An illustrative example of the computation of the Pareto front Π by

Algorithm 4. Each point represents the cost(C1,C2) of a solution in the two di-

mensional cost space. The best solution with respect to cost C1(left most point)

is computed first; then the best solution with respect to cost C2 (bottom most

point), and so on. We keep adding solutions (black dots) to the setΠ, provided they are not dominated by one of the current members of Π (which is not the case for the red solution), following blue or green arrows, which correspond to the computation of the next shortest path using Yen’s algorithm with respect to C1 and C2 respectively. We stop as soon as we find a solution (orange) that has

been visited by arrows of all colors. The search is terminated before most gray solutions (which are all dominated) are even computed.

30 1.3 Model

OptimalSolutions(G, s, t,C1, . . . ,Cn)

Π ← ;

forall i∈ {1, . . . , n} do

/* Initialize n instances of Yen’s algorithm */

nextShortestPathi ← Initialize Yen’s generator of shortest paths between s and t on G with respect to costCi

end i ← 1 do π ←nextShortestPathi() ifπ ∈ Π then addπ to Πi end else

if notdominated(π, Πi,C1, . . . ,Cn) then

addπ to Π

addπ to Πi

end end

i← i + 1 mod n

whileπ /∈ Πi for some i∈ {1, . . . , n}

returnΠ dominated(π, Π, C1, . . . ,Cn) forallπ0∈ Π do ifCi(π0) < Ci(π) ∀i = 1, . . . , n then return true end end return false

Algorithm 4: Construction of the Pareto front of all paths between s and t on