  Routing plays a fundamental role in network applications, but it is
especially challenging in Delay Tolerant Networks (DTNs). These are a kind of
mobile ad hoc networks made of e.g. (possibly, unmanned) vehicles and humans
where, despite a lack of continuous connectivity, data must be transmitted
while the network conditions change due to the nodes' mobility. In these
contexts, routing is NP-hard and is usually solved by heuristic "store and
forward" replication-based approaches, where multiple copies of the same
message are moved and stored across nodes in the hope that at least one will
reach its destination. Still, the existing routing protocols produce relatively
low delivery probabilities. Here, we genetically improve two routing protocols
widely adopted in DTNs, namely Epidemic and PRoPHET, in the attempt to optimize
their delivery probability. First, we dissect them into their fundamental
components, i.e., functionalities such as checking if a node can transfer data,
or sending messages to all connections. Then, we apply Genetic Improvement (GI)
to manipulate these components as terminal nodes of evolving trees. We apply
this methodology, in silico, to six test cases of urban networks made of
hundreds of nodes, and find that GI produces consistent gains in delivery
probability in four cases. We then verify if this improvement entails a
worsening of other relevant network metrics, such as latency and buffer time.
Finally, we compare the logics of the best evolved protocols with those of the
baseline protocols, and we discuss the generalizability of the results across
test cases.
