  Let G = (V, E) be a directed and weighted graph with vertex set V of size n
and edge set E of size m, such that each edge (u, v) \in E has a real-valued
weight w(u, c). An arborescence in G is a subgraph T = (V, E') such that for a
vertex u \in V, the root, there is a unique path in T from u to any other
vertex v \in V. The weight of T is the sum of the weights of its edges. In this
paper, given G, we are interested in finding an arborescence in G with minimum
weight, i.e., an optimal arborescence. Furthermore, when G is subject to
changes, namely edge insertions and deletions, we are interested in efficiently
maintaining a dynamic arborescence in G. This is a well known problem with
applications in several domains such as network design optimization and in
phylogenetic inference. In this paper we revisit algorithmic ideas proposed by
several authors for this problem, we provide detailed pseudo-code as well as
implementation details, and we present experimental results on large scale-free
networks and on phylogenetic inference. Our implementation is publicly
available at \url{https://gitlab.com/espadas/optimal-arborescences}.
