The Sea Exploration Problem
Data-driven Orienteering on a Continuous Surface
João Pedro Pedroso∗1 , Alpar Vajk Kramer†1 , and Ke Zhang‡2
1

arXiv:1802.01482v1 [] 5 Feb 2018

2

INESC TEC and Faculdade de Ciências, Universidade do Porto, Portugal
School of Information Engineering, Wuhan University of Technology, China

November 2017

Abstract
This paper describes a problem arising in sea exploration, where the
aim is to schedule the expedition of a ship for collecting information about
the resources on the seafloor. The aim is to collect data by probing on
a set of carefully chosen locations, so that the information available is
optimally enriched. This problem has similarities with the orienteering
problem, where the aim is to plan a time-limited trip for visiting a set of
vertices, collecting a prize at each of them, in such a way that the total
value collected is maximum. In our problem, the score at each vertex is
associated with an estimation of the level of the resource on the given
surface, which is done by regression using Gaussian processes. Hence,
there is a correlation among scores on the selected vertices; this is a first
difference with respect to the standard orienteering problem. The second
difference is the location of each vertex, which in our problem is a freely
chosen point on a given surface.

Keywords Orienteering, Surface exploration, Gaussian processes, Recognition problems, Tour planning

1

Introduction

Sea exploration is important for countries with large areas in the ocean under their control, since in the future it may be possible to exploit some of
the resources in the seafloor. However, its contents are largely unknown; for
characterizing the seafloor, a preliminary step is to fetch information about its
composition. This is currently being done by sending a ship in an expedition
during which an underwater robot, or other equipment, collects samples at selected points. Such expeditions are typically very costly; additionally, the ship
must be available for other commitments at a predetermined port within a rigid
and tight time limit. Nowadays, planning is usually done by experts, based on
previously collected information and on intuition.
∗ jpp@fc.up.pt
† akramer@inesctec.pt
‡ kzhang@whut.edu.cn

1

Even though this paper describes the problem in the context of sea exploration, similar problems arise in other contexts (e.g., fire detection by drones on
a forest). The aim is to schedule the journey of a ship for collecting information
about the resources of the seafloor (e.g., composition in certain materials). The
surface being considered here represented as a given (bounded) surface S ⊂ R2 .
For the sake of simplicity, we consider that the actual resource level at any point
(x, y) ∈ S can be conveyed by a real number, denoted by v(x, y). This true value
is unknown, except for a limited number N of points in S for which there is
previous empirical information.
Optimal expedition planning involves three subproblems, each corresponding
to a different phase on the process. This first is assessment, which consists
of the following: given a finite set of points for which the contents are known,
build and indicator function h(x, y) that associates to each point (x, y) ∈ S the
“attractiveness” (a real number) for exploring it, in terms of information that can
be gathered in case that point is selected for probing. The second subproblem
is planning, i.e., deciding on the position of a certain number n of points to
probe in the next expedition so as to maximize the overall informational reward;
the duration of the trip is limited to a known bound. The third subproblem,
estimation, is related to the final aim of the problem, which is to have an
evaluation w(x, y) of the resource level available at any point on the surface S,
based on all the information available at the end of the trip.
This paper is organized as follows. In Section 2 we put this problem in the
context of the literature. Section 3 describes the method that we developed
of tackling the problem; results obtained with it are presented in Section 4.
Section 5 presents some conclusions and future research directions.

2

Related work

The problem we address in this work is a routing problem with similarities to the
orienteering problem (OP). The orienteering problem was initially introduced
by Golden et al (1981), and its roots are in an outdoor sport with the same
name, where there is a set of “control points”, each with an associated score, in
a given area. Competitors use a compass and a map for assisting in a journey
where they visit a subset of control points, starting and ending at given nodes,
with the objective of maximizing their total score. They must reach the end
point within a predefined amount of time.
The input to the standard OP consists of a vertex- and edge-weighted graph
G = (V, E), a source and a target vertices s, t ∈ V , and a time limit T ; V is
the set of vertices and E is the set of edges. The goal is to find an s − t walk of
total length at most T so as to maximize the sum of weights at vertices visited
through the walk. It can be shown that the OP is NP-hard via a straightforward
reduction from the traveling salesman problem. It is also known to be APXhard to approximate. The literature describes an unweighted version (i.e., with
a unit score at each vertex), for which a (2 + ) approximation is presented in
Chekuri et al (2012); for the weighted version, the approximation ratio has a
loss with factor (1 + o(1)).
An essential difference between the OP and our problem is that in the OP
a finite set of vertices is given, from which the solution must be selected. In
our problem, only the surface where some locations may be chosen for sam-

2

pling is given. To the best of our knowledge, the closest related work can be
found in (Yu et al, 2016). The authors propose a non-linear extension to the
orienteering problem (OP), called the correlated orienteering problem (COP).
They use the COP to model the planning of informative tours for persistent
monitoring, through a single or multiple robots, of a spatiotemporal field with
time-invariant spatial correlations. The tours are constrained to have a fixed
length time budget. Their approach is discrete, as they focus on a quadratic
COP formulation that only looks at correlations between neighboring nodes in
a network.
Another problem related to ours is tour recommendation for groups, introduced in Anagnostopoulos et al (2017), where the authors deal with estimating
the best tour that a group could perform together in a city, in such a way that
the overall utility for whole group is maximized. They use several measures to
estimate this utility, such as the sum of the utilities of members in the group,
or the utility of the least satisfied member. In our case, we estimate this utility
(the attractiveness of a point) using a Gaussian process regression (see, e.g.,
Rasmussen and Williams (2005)). This is a generalization of the method known
as kriging, introduced in Krige (1951) as a geostatistical procedure for generating an estimated surface from a scattered set of points with known values; the
original application was on mine valuation.
Gaussian process regression provides estimations for both the mean and
the standard deviation; we use the latter as a measure of attractiveness in the
assessment phase, and the former as a value the final estimation, after the data
set is extended with points actually observed in the expedition.

3
3.1

Method
Assessment and estimation.

The first and the third subproblems, assessment and estimation, are strongly
related, in the sense that the aim of the assessment phase is to have a measure of
the interest of having empirical information on new points in S for improving the
estimation. Assessment evaluates how much a given point, if probed, is expected
to improve the quality of the estimation done at the third subproblem.
The estimation phase is a regression problem: given the known resource
levels at the N previously observed points and at n points to be observed in
the expedition, what is the best estimate for the resource level at a new point
in S? A first step for answering this question is to make an assumption on
the nature of the underlying function v(x, y). Our assumption is that is can
be conveniently estimated by a Gaussian process. In this approach, the model
attempts to describe the conditional distribution p(z|(x, y)) based on a set of
empirical observations of z on input (x, y), conveyed as a set of triplets D =
{(z̄i , x̄i , ȳi )}m
i=1 , where m is the number of samples (in our case, N before the
trip and N + n after the trip). This conditional distribution describes the
dependency of the observable z on the input (x, y) ∈ S, assuming that this
relation can be decomposed into a systematic and a random component. The
systematic dependency is given by a latent function w : S → R, which is to be
identified based on data D. Hence, the prior is on function values associated
with the set of inputs, whose joint distribution is assumed to be multivariate

3

normal.
We use the posteriors inferred thought the Gaussian process model in two
ways. In the assessment phase, we use the standard deviation of the model at
each point (x, y) ∈ S directly as an indicator of attractiveness for probing at
that point. Later, in the estimation phase, the Gaussian process (now with an
enlarged data set) is used as a regression for the resource level at any point in S.

3.2

Planning.

The second subproblem is the selection of points in S for probing, so as to allow
a subsequent estimation as accurate as possible. Points are to be probed in a trip
whose maximum duration is known beforehand. We are thus in the presence
of an orienteering problem. A standard orienteering problem consists of the
following: given a graph with edge lengths and a prize that may be collected
at each vertex, determine a path of length at most T , starting and ending at
given vertices, that maximizes the total prize value of the vertices visited. The
problem here is rather particular for several reasons. The first reason is that
besides edge lengths (in our case, edge traversal durations), we have to take
into account the time spend in probing at each vertex (which is a parameter of
our problem). The second reason is that the graph may consist of any discrete
subset of points V ⊂ S, as long as the duration of the tour — the time spent
on probing and on traveling from a point to the next — is not larger than the
upper bound T . An additional difficulty is related to the correlation between
the prizes obtained in visited vertices; indeed, as the “prize” is a measure of
the improvement on information obtained by probing, after probing at a given
location, probing other locations in this neighborhood are expected to provide
less information than distant points (other factors being equal).

3.3

Tackling the problem

An instance of this problem must specify the area S being studied, an upper
bound T for the trip duration (including traveling and probing), the duration t
required for each probing (here considered independent of the location), and the
traveling speed s, which allows computing the traveling time between two given
points as d/s, where d is the Euclidean distance between those points. Without
loss of generality, we are assuming that the initial and end points of the trip to
be planned are the same. Among the instance’s data, it must also be provided
the previously known data D = {(z̄i , x̄i , ȳi )}N
i=1 , corresponding to a set of points
(x̄i , ȳi ) ∈ S and the corresponding resource level z̄i , for i = 1, . . . , N .
In order to evaluate an algorithm for this problem, another set of K points
E = {(x̃k , ỹk )}K
k=1 at which the level of information predicted by the model
is requested, should also be specified. For these points, the true value of the
resource level v(x̃k , ỹk ) must be known (for computing the error with respect to
its estimated value), but it cannot be used by the algorithm.
The main method, making use of a set of auxiliary functions, is provided in
Algorithm 1.
Algorithm 2 uses the assessment of the attractiveness on a grid of points
in S to determine a trip, i.e., a list of points to visit and probe. That list is
constructed in a greedy way, by determining which is the currently most attractive point, and attempting to add it to the trip. This is done by checking
4

Algorithm 1: Main procedure.
1
2
3
4
5
6

read instance’s data D, T, t, s, S, E
a ← Orienteering(D, T, t, s, S)
update D with probings on all points a
w ← GP regression trained with data D
input instance’s
P “true function” evaluator v
output ∆ ← (x,y)∈E |v(x, y) − w(x, y)|

if a traveling salesman tour including the previous points and the current one
can still be done within the time limit (we use an implementation of the algorithm described in Lin and Kernighan (1973) for quickly finding a tour; if
its length is feasible, the solution is immediately returned, otherwise the exact
model available in Kubo et al (2012) is used to find the optimal solution with a
general-purpose mixed integer programming solver). After a new point (x, y) is
added to the tour, it is conjectured that a simulation using the latest available
Gaussian process provides the “true” evaluation z = v(x, y), and based on the
new speculative datum (z, x, y) the attractiveness allover S is recomputed.
Algorithm 2: Orienteering.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Data: Data: D = {(z̄i , x̄i , ȳi )}N
i=1 , T, t, s, S
Result: List a of points to visit for probing
procedure Orienteering(D, T, t, s, S)
G ← {(x0 + δk, y0 + δ`), k = 1, . . . K, ` = 1, . . . L}
// grid on S
a ← []
// list of points to probe
while True do
V ← GPstdev(D, G)
// points on G sorted by attractiveness
(σ, x, y) ← V.pop()
// remove and return last element of V
r ← TSP solution visiting (x, y) and all the positions in a
if length (r) < T then
// including time for probing
a←r
else
break
R ← GP regression trained with data D
z ← R(x, y)
D.append((z, x, y))
return a

Finally, a method for evaluating attractiveness is provided in Algorithm 3.
Algorithm 3: “Attractiveness” of points for probing.

1
2
3
4
5
6

Data: Data: D = {(z̄i , x̄i , ȳi )}m
i=1 , grid {(, xi , yi )}i∈G
Result: Assessment of standard deviation on grid G, {(σi , xi , yi )}i∈G
procedure GPstdev(D, G)
R ← GP regression trained with data D
s ← standard deviation function, as evaluated by R
V ← {(s(xi , yi ), xi , yi )}i∈G
sort (V)
return V

5

4
4.1

Computational results
Benchmark instances used

In order to assess the quality of the method proposed for solving this problem,
we have devised a set of artificial benchmark instances (see Appendix A for
details on their characteristics).
A solution to our problem consisting of two parts: a sequence of locations
a = [(ẋ1 , ẏ1 ), . . . , (ẋn , ẏn )] for points where to collect samples (aiming at having
maximum information collected), such that the total probing and travel time
does not exceed T ; and an estimation z̃k of the level of information predicted
by the model on each of the K requested points E = {(x̃k , ỹk )}K
k=1 .
The evaluation of a method for solving this problem is firstly based on
feasibility: the orienteering tour is checked by verifying that the duration of
tour [(ẋ1 , ẏ1 ), . . . , (ẋn , ẏn ), (ẋ1 , ẏ1 )] does not exceed T . Then, the final soluPK
tion
R Rquality is measured by k=1 |v(xk , yk ) − w(xk , yk )|, as an approximation
of
|v(x, y) − w(x, y)|dxdy.

4.2

Results obtained

Tables 2 to 7 report the results of the computational experiment executed.
Instances for the following cases have been solved: 16 previously known points
on a regular grid (Table 2) and on random positions (Table 3); instances with
49 points on a regular grid (Table 4) and on random positions (Table 5); and
instances with 100 points on a regular grid (Table 6) and on random positions
(Table 7). Instances 1 to 5 have an increasing number of local maxima, but are
relatively smooth; instances 6 to 10 are less so, with some of them having rather
narrow local maxima. Parameters used in the Gaussian process were roughly
tuned using benchmark instances f1 to f5; hence, these instances can be seen
as the training set, and instances f6 to f10 as the test set.
In order to have an assessment of the quality of Algorithm 2, we compare it
to a simple grid search, dividing the time available for exploration into probes on
a regular grid, simply avoiding new observations on points for which there was
already information available (notice that when the previously available information is very scarce, searching on a grid is a sensible strategy). Both methods
use the same Gaussian process for regression; hence, their initial solution is the
same.
As expected, increasing the number of initial points with information available increases the quality of the initial estimation with a Gaussian process; this
can be observed in the first column of tables 2 to 7. Having those points disposed in a grid is usually preferable, but this is not a general pattern. The
estimation is much improved when new data becomes available (an exception is
observed on instance f7 with 100 initial points randomly spread, where adding
more data on a regular grid strangely decreased the quality of the final estimation; this is likely to be a limitation of the optimizer used for training the
Gaussian processes).
The main results are summarized in Table 1, where we can observe that
the orienteering method proposed in Algorithm 2 is generally superior to grid
search. This superiority increases with the quantity of initial points available,

6

indicating that, e.g., only 16 points is not enough information for preparing a
probing plan based on those data.
Table 1: Summary of results: winning situations for grid search and for our
algorithm.
Benchmarks Grid search Orienteering
16-grid
4
6
49-grid
2
8
100-grid
2
8
16-random
6
4
49-random
5
5
100-random
1
9

Table 2: Results for instances with 16 initial points on a regular grid.
Name
Initial
Grid
Orienteering
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10

37 179.8
40 696.7
52 257.2
60 996.9
61 339.8
56.2
730.1
34 764.8
55 643.5
57 428.2

911.7
7509.1
6441.8
9769.0
9910.8
1.4
686.3
1415.7
2116.0
4547.9

622.6
6094.0
7935.3
14 253.4
9415.7
1.8
675.8
975.1
2007.9
6306.0

Table 3: Results for instances with 16 initial points on random positions.
Name
Initial
Grid
Orienteering
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10

45 328.0
34 509.9
48 476.6
40 291.3
67 108.6
51.2
711.0
44 127.1
62 935.0
39 025.1

981.1
6874.4
7282.7
11 324.1
8293.7
1.5
686.7
1414.3
2048.9
5966.0

393.0
8629.6
11 217.1
13 683.1
13 505.8
1.9
680.3
1138.9
5661.8
5711.9

In order to visualize the improvements that are obtained by probing, we have
prepared figures 1 and 2, each with the true function, the initial estimation (in
the cases shown, with 16 points), and with the estimation after probing with
the orienteering tour. As can be seen, the application of our method results in
a clear improvement on the approximation of the true function.
7

Table 4: Results for instances with 49 initial points on a regular grid.
Name
Initial
Grid
Orienteering
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10

12 109.0
19 311.7
24 787.4
24 215.7
24 157.9
5.1
2442.7
14 703.1
23 072.1
25 322.6

181.7
4443.1
5159.4
5197.2
5358.6
1.3
1186.1
2304.5
2811.5
5009.4

908.2
4312.2
4698.7
4915.6
5047.6
1.5
1030.0
1414.9
1993.6
4032.7

Table 5: Results for instances with 49 initial points on random positions.
Name
Initial
Grid
Orienteering
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10

13 997.3
17 605.5
28 619.3
35 975.5
45 076.4
10.4
678.3
23 555.6
22 699.3
18 552.7

480.4
3267.8
4357.6
7740.8
9694.2
1.3
685.5
826.8
1893.9
3835.1

733.3
6330.9
3726.9
6191.2
6937.1
1.5
676.0
752.7
2837.8
4540.8

Table 6: Results for instances with 100 initial points on a regular grid.
Name
Initial
Grid
Orienteering
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10

1731.8
6426.9
8809.9
11 401.9
11 740.1
2.1
4889.2
10 252.2
13 115.3
14 806.8

44.1
3221.4
4060.6
5408.0
5584.5
1.2
3015.2
5633.0
6356.3
7249.5

8

14.0
2709.2
2801.3
4552.7
5103.5
1.3
3714.0
4140.6
4435.7
6028.7

Table 7: Results for instances with 100 initial points on random positions.
Name
Initial
Grid
Orienteering
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10

0.0 0.2
0.4 0.6
0.8 1.0
x

0.0

0.2

770.8
16 669.0
16 099.8
17 974.6
25 562.2
1.6
675.7
883.8
3736.2
9484.1

15.1
5057.9
5152.5
6475.3
4947.6
1.1
682.8
6666.6
2079.5
3338.8

12.4
2904.1
4009.4
3115.2
4131.4
1.5
675.4
2556.0
837.3
3018.1

100

100

80

80

80

60

60

60

40
20
0
1.0
0.8
0.6
0.4 y

40
20
0
1.0
0.8
0.6
0.4 y

40
20
0
1.0
0.8
0.6
0.4 y

0.0 0.2
0.4 0.6
0.8 1.0
x

0.0

0.2

100

0.0 0.2
0.4 0.6
0.8 1.0
x

0.0

0.2

Figure 1: “True” function used in instance f1 (left), initial estimation (center)
and estimation after probing (right).

0.0 0.2
0.4 0.6
0.8 1.0
x

0.0

0.2

100

100

80

80

80

60

60

60

40
20
0
1.0
0.8
0.6
0.4 y

40
20
0
1.0
0.8
0.6
0.4 y

40
20
0
1.0
0.8
0.6
0.4 y

0.0 0.2
0.4 0.6
0.8 1.0
x

0.0

0.2

100

0.0 0.2
0.4 0.6
0.8 1.0
x

0.0

0.2

Figure 2: “True” function used in instance f5 (left), initial estimation (center)
and estimation after probing (right).

9

5

Conclusions

This paper describes a problem arising in sea exploration, where the aim is to
decide the schedule of a ship expedition for collecting information about the
resources of the seafloor. The setting involves the simultaneous use of tools
from machine learning and combinatorial optimization. We propose a method
for its solution, dividing the process in three phases: assessment (building an
indicator function that associates to each point in the sea a value for the interest
in probing it), planning (deciding on the position of points to probe in the next
trip) and estimation (predicting a value of the resource level at any point on the
surface). The results obtained indicate that using the method here proposed
clearly improves the quality of the estimation, by probing at promising points
and adding the newly collected information to a regression step, which is based
on Gaussian processes.
An interesting direction for future research is adapting the algorithm proposed here in order to deal with real-time changes in the path, reacting in the
most appropriate way to information available as new observations arrive.
Acknowledgements
This work was partially supported by project "Coral - Sustainable Ocean Exploitation: Tools and Sensors/NORTE-01- 0145-FEDER-000036", financed by
the North Portugal Regional Operational Programme (NORTE 2020), under the
PORTUGAL 2020 Partnership Agreement, and through the European Regional
Development Fund (ERDF).

References
Anagnostopoulos A, Atassi R, Becchetti L, Fazzone A, Silvestri F (2017)
Tour recommendation for groups. Data Mining and Knowledge Discovery
31(5):1157–1188
Chekuri C, Korula N, Pál M (2012) Improved algorithms for orienteering and
related problems. ACM Transactions on Algorithms (TALG) 8(3):23
Golden B, Levy L, Dahl R (1981) Two generalizations of the traveling salesman
problem. Omega 9(4):439 – 441
Krige DG (1951) A statistical approach to some basic mine valuation problems
on the witwatersrand. Journal of the Southern African Institute of Mining
and Metallurgy 52(6):119–139
Kubo M, Pedroso JP, Muramatsu M, Rais A (2012) Mathematical Optimization:
Solving Problems using Gurobi and Python. Kindaikagakusha, Tokyo, Japan
Lin S, Kernighan BW (1973) An effective heuristic algorithm for the travelingsalesman problem. Operations research 21(2):498–516
Rasmussen CE, Williams CKI (2005) Gaussian Processes for Machine Learning
(Adaptive Computation and Machine Learning). The MIT Press

10

Yu J, Schwager M, Rus D (2016) Correlated orienteering problem and its
application to persistent monitoring tasks. IEEE Transactions on Robotics
32(5):1106–1118

11

A

Benchmark instances used

A complete description of the benchmark instances used is available at the
author’s homepage1 . In summary, there are 10 different “true” functions that
should be guessed, f1 to f10; an illustration of their shapes is provided in figures
1 to 4.
The area S being studied is considered to be (x, y) ∈ [0, 1] × [0, 1]. The set of
points initially available are noiseless evaluations of functions f1 to f10, either
in a regular grid (e.g., as in Table 8) or randomly spread in S (as in Table 9).
Other relevant data are: the probing time t = 1 time units; the speed of
traveling s = 1; and parameter T = 100. The starting and ending nodes are
located at coordinates (0,0).
As for the evaluation of the quality of the algorithms, the differences between
the true and the predicted values, w(x, y) and v(x, y), are assessed on K points
E on a mesh x, y ∈ {0, 0.01, . . . , 1}.
Table 8:
ȳ
x̄
0.2
0.4
0.6
0.8

Evaluations of f1 on a grid.
0.20

0.40

0.60

0.80

0.00
0.00
0.00
0.00

0.02
0.00
0.00
0.00

8.21
0.15
0.00
0.00

60.65
1.11
0.00
0.00

Table 9: Evaluations
x
0.025
0.029
0.094
0.134
0.217
0.229
0.233
0.438
0.445
0.495
0.652
0.762
0.764
0.836
0.901
0.939

of f1 at random positions.
y
f (x, y)
0.541
0.000
0.222
0.179
0.028
3.338
0.847
0.000
0.422
0.085
0.945
0.000
0.231
13.845
0.496
0.008
0.722
0.000
0.449
0.027
0.789
0.000
0.002
0.017
0.255
0.004
0.433
0.000
0.031
0.000
0.381
0.000

1 http://www.dcc.fc.up.pt/~jpp/code/CORAL

12

100

0.0 0.2
0.4 0.6
0.8 1.0
x

0.0

0.2

100

80

80

60

60

40
20
0
1.0
0.8
0.6
0.4 y

40
20
0
1.0
0.8
0.6
0.4 y

0.0 0.2
0.4 0.6
0.8 1.0
x

0.0

0.2

100

0.0 0.2
0.4 0.6
0.8 1.0
x

0.0

0.2

100

80

80

60

60

40
20
0
1.0
0.8
0.6
0.4 y

40
20
0
1.0
0.8
0.6
0.4 y

0.0 0.2
0.4 0.6
0.8 1.0
x

0.0

0.2

Figure 3: “True” function used in instances f2, f3 (top) and f4, f6 (bottom).

100

0.0 0.2
0.4 0.6
0.8 1.0
x

0.0

0.2

100

80

80

60

60

40
20
0
1.0
0.8
0.6
0.4 y

40
20
0
1.0
0.8
0.6
0.4 y

0.0 0.2
0.4 0.6
0.8 1.0
x

0.0

0.2

100

0.0 0.2
0.4 0.6
0.8 1.0
x

0.0

0.2

100

80

80

60

60

40
20
0
1.0
0.8
0.6
0.4 y

40
20
0
1.0
0.8
0.6
0.4 y

0.0 0.2
0.4 0.6
0.8 1.0
x

0.0

0.2

Figure 4: “True” function used in instances f7, f8 (top) and f9, f10 (bottom).

13

