July 16, 2026
Complex networks have become a fundamental tool for modeling and understanding the structure and dynamics of interconnected systems across various domains, such as biology [1], social sciences, and information technology [2]. In many cases, networks are considered static entities, where the set of nodes and edges remains unchanged over time. However, numerous real-world networks evolve dynamically, with both topology and edge weights varying over time. Such networks are referred to as time-evolving or temporal networks [3]. These dynamic interactions capture a wide range of phenomena, including communication patterns in social networks, where two users may follow each other for a certain period before one of them stops following the other. Similarly, in transportation systems, flight routes between airports may only be active during specific months of the year [4]. In brain networks, neural pathways may be activated only under particular conditions [5], [6]. Understanding how these networks evolve is crucial for uncovering patterns, predicting future behavior, and controlling processes occurring within the network.
The study of time-evolving networks has led to the development of an array of methods for analyzing how information propagates through such systems. Concepts such as dynamic centrality measures [7]–[10], temporal motifs [11], and communicability matrices [12] extend classical static graph metrics [13] to the temporal domain. These tools enable a more accurate and comprehensive understanding of the roles of individual nodes and overall network behavior in time-varying structures. In this context, we focus on how to control network connections by adding, modifying, or removing edges to drive measures of network communicability toward a desired state. This work addresses the centrality problem in dynamic networks, specifically dynamic centrality [7]. This measure computes the centrality of a node by solving a matrix differential equation when computing communicability indices between any two nodes or a vector differential equation when determining dynamic broadcast or receive centrality. Our goal is to determine a minimal modification of the time-dependent network that achieves a prescribed centrality at a given final time \(T\). This generalizes the analogous problem for centralities in static networks [14]–[16]. Since dynamic centrality is formulated as the solution of an ordinary differential equation (ODE), the problem can be posed as an optimal control problem for an ODE, either matrix- or vector-based, where the control acts on network edges to steer the centrality toward the desired values.
Control theory has been widely applied to networks in various contexts. One example is the introduction of a dynamical process defined on network edges [17], demonstrating that the controllability properties of such edge-based dynamics differ significantly from those of traditional node-based dynamics. In the latter case, it is possible to identify a set of driver nodes with time-dependent control inputs that can steer the entire system’s dynamics [18]. This edge-based control framework is particularly relevant for monitoring the evolution of dynamic phenomena on networks, including epidemic spread, opinion dynamics and other compartmental models [19]–[21]. Recent work has further addressed controllability in dynamic networks by proposing an adaptive control algorithm that minimizes driver node switching costs under stochastic topology changes without requiring prior knowledge of network evolution [22]; while in the same direction also a graphical criterion to evaluate the controllable subspace of temporal networks via maximum matching on aggregated static representations has been introduced [23], and another approach adopts a temporal ant colony optimization–based approach to efficiently approximate maximum matching in temporal networks to identify driver nodes for structural controllability [24].
For the problems we consider here, we have either a nonlinear or a linear ODE whose state variable represents the time-dependent centrality measure. Hence, the problem we face is that of steering this state towards a prescribed value by modifying the time-dependent edge weights. This is indeed an instance of a bilinear control problem in which the control, or more precisely one of its functions, acts multiplicatively on the state of the system. As it is often the case, the control problem is highly dimensional, and due to the underlying state equation [7] involves the computation of large-scale matrix-function [25], and matrix-function vector products [26], [27]. We discuss and adapt the related techniques for working in our regime of interest—large scale, repeated computation, possibly non-normal matrices. To formulate the solution of the optimal control problem we make use of the Pontryagin Maximum Principle (PMP) which requires computing the evolution of the adjoint variable, due to the presence of the matrix function in the state equation this requires the computation of large-scale Fréchet derivatives of a matrix function [28], and again their application against a vector [29] through the construction of suitable rational Krylov methods. Henceforth, the main contributions of this work include a pattern-constrained optimal-control formulation for steering dynamic receive centrality in temporal networks and the derivation of sufficient linear feasibility constraints to preserve the well-posedness of the logarithmic model. Furthermore, we establish PMP-based first-order optimality conditions for both logarithmic and linear dynamics and present a matrix-free projected-gradient algorithm that utilizes Krylov and rational Krylov approximations for matrix logarithm and Fréchet derivative actions. Finally, we provide empirical validation of our approach using both synthetic and real temporal networks. The manuscript is organized as follows. In Section 1.1, we introduce the notation and context necessary to describe time-dependent networks. Section 2 presents the construction of the dynamic centrality measure we focus on [7], which serves as the foundation for formulating the problem of steering centrality toward a desired state in Section 3. Once the problem is formulated, we discuss its solution using the PMP in Section 4, followed by a description of its discretization and efficient implementation in Section 5. Section 6 applies the proposed methodology to synthetic and real-world temporal network test cases. Finally, in Section 7, we conclude our analysis and discuss potential extensions.
Definition 1. A time-evolving weighted network (or graph)* is a dynamic graph that evolves over time, formally represented as a tuple \(G_t = (V, E_t, w_t)\), where \(V\) is the set of vertices, which remains constant over time, \(E_t \subseteq V \times V\) is the set of edges at time \(t\), for \(t \in \mathbb{T}\) and \(\mathbb{T}\) the discrete or continuous time domain; \(w_t: E_t \to \mathbb{R}^+\) is a function that assigns a weight to each edge at time \(t\), representing the strength, capacity, or cost of the connection between vertices; see Figure [fig:time-evolving-graph] for an example.*
If for all \(t \in \mathbb{T}\) all vertices \((v_i,v_j) \in E_t\) are reciprocated, then the network is said to be undirected, otherwise it is directed.
The edge set \(E_t\) and weight function \(w_t\) are both time-dependent, reflecting the fact that the structure and properties of the graph may change as time progresses. To represent it in a compact form we define the related concept of a time-dependent (weighted) adjacency matrix.
Definition 2. Let \(G_t = (V, E_t, w_t)\) be a time-evolving weighted graph, where \(V = \{v_1, v_2, \dots, v_n\}\) is a set of \(n\) vertices. The adjacency matrix* \(A(t) \in \mathbb{R}^{n \times n}\) of the graph \(G_t\) at time \(t\) is a square matrix, where each element \((A(t))_{ij}\) is defined as: \[(A(t))_{ij} = \begin{cases} w_t(v_i, v_j) & \text{if } (v_i, v_j) \in E_t, \\ 0 & \text{if } (v_i, v_j) \notin E_t, \end{cases}\] where \(w_t(v_i, v_j)\) is the weight of the edge between vertices \(v_i\) and \(v_j\) at time \(t\). For an undirected network \(A(t)\) is a symmetric matrix for all \(t \in \mathbb{T}\).*
Throughout the paper we assume that all \(G_t\) are such that \(A(t) \leq \overline{A}\) for all \(t \in \mathbb{T}\). This boundedness property guarantees that the spectral radius of all \(A(t)\) is bounded as well, and will permit formulating the differential models in Section 2. We also note that, in many applications, the network \(G_t\) is observed only at a finite collection of time points \(0 = t_1 < t_2 < \cdots < t_k = T\). In this setting, we still take the time domain to be \(\mathbb{T} = [0,T]\) and extend the observed network to all \(t \in \mathbb{T}\) by defining \(G_t\) to be piecewise constant on the intervals \([t_i, t_{i+1})\), that is, \(G_t = G_{t_i}\) for \(t \in [t_i, t_{i+1})\).
The other set of tools we need to write the problem formulation and solution are matrix functions and some related properties.
Definition 3 (Matrix Function [25]). Let \(f : \mathbb{C} \to \mathbb{C}\) be a scalar function that is defined and analytic on the spectrum of an \(n \times n\) matrix \(A \in \mathbb{C}^{n \times n}\). The matrix function* \(f(A)\) can be defined in terms of the Jordan canonical form of \(A = X J X^{-1}\). The matrix \(J\) has a block-diagonal form with Jordan blocks \(J_k\) corresponding to each eigenvalue \(\lambda_k\) of \(A\): \[J = \text{diag}(J_1, J_2, \dots, J_m),\] where each Jordan block \(J_k\) has the form \[J_k = \begin{bmatrix} \lambda_k & 1 & 0 & \cdots & 0 \\ 0 & \lambda_k & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_k & 1 \\ 0 & 0 & \cdots & 0 & \lambda_k \end{bmatrix}.\] The matrix function \(f(A)\) is then defined by applying \(f\) to each Jordan block \(J_k\): \[f(A) = X \begin{bmatrix} f(J_1) & 0 & \cdots & 0 \\ 0 & f(J_2) & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & f(J_m) \end{bmatrix} X^{-1},\] where \(f(J_k)\) is defined by applying \(f\) to each entry along the superdiagonal in \(J_k\) using the formula \[f(J_k) = \begin{bmatrix} f(\lambda_k) & f'(\lambda_k) & \frac{f^{(2)}(\lambda_k)}{2!} & \cdots & \frac{f^{(n_k-1)}(\lambda_k)}{(n_k-1)!} \\ 0 & f(\lambda_k) & f'(\lambda_k) & \cdots & \frac{f^{(n_k-2)}(\lambda_k)}{(n_k-2)!} \\ \vdots & \vdots & \ddots & \ddots & \vdots \\ 0 & 0 & \cdots & f(\lambda_k) & f'(\lambda_k) \\ 0 & 0 & \cdots & 0 & f(\lambda_k) \end{bmatrix}.\] Here, \(n_k\) is the size of the Jordan block \(J_k\), and \(f^{(j)}(\lambda_k)\) denotes the \(j\)-th derivative of \(f\) evaluated at \(\lambda_k\).*
Definition 4 (Fréchet Derivative of a Matrix Function). Let \(f : \mathbb{R}^{n \times n} \to \mathbb{R}^{n \times n}\) be a matrix function. The Fréchet derivative* of \(f\) at \(A \in \mathbb{R}^{n \times n}\) in the direction \(E\) is a linear map \(\mathrm{L}_f : \mathbb{R}^{n \times n} \to \mathbb{R}^{n \times n}\) that approximates the change in \(f\) due to a small perturbation \(E \in \mathbb{R}^{n \times n}\) in \(A\). Formally, \(\mathrm{L}_f\) is the Fréchet derivative of \(f\) at \(A\) in the direction \(E\) if \[f(A + E) = f(A) + \mathrm{L}_f(A,E) + o(\|E\|),\] where \(o(\|E\|)\) denotes a term that vanishes faster than \(\|E\|\) as \(\|E\| \to 0\).*
This can be computed for a \((2n-1)\)-times differentiable function \(f\) in an open set containing the eigenvalues of \(A\) as the matrix function of the \(2 \times 2\) block matrix [25] \[\label{eq:explicit-frechet} \mathrm{L}_f(A, E) = \left[ \begin{matrix} I & O \end{matrix} \right] f\left( \begin{bmatrix} A & E \\ O & A \end{bmatrix} \right) \left[ \begin{matrix} O \\ I \end{matrix} \right],\tag{1}\] where \(I\) and \(O\) are the \(n \times n\) identity and zero matrices, respectively. For some particular functions \(f\) it is possible to find other expressions of \(\mathrm{L}_f(A,E)\), e.g., in the case of the logarithm [28].
Finally, we recall the definition of Katz’s centrality index [30] for a static network, which we will need for using the collection of Katz centralities computed for the different time steps \(t \in \mathbb{T}\).
Definition 5. Let \(G = (V, E, w)\) be a static weighted network with \(n\) vertices and adjacency matrix \(A \in \mathbb{R}^{n \times n}\). The Katz centrality* of the nodes in \(G\) is defined as the vector \(\boldsymbol{\mu} \in \mathbb{R}^n\) that satisfies the relationship: \(\boldsymbol{\mu} = a A \boldsymbol{\mu} + \mathbf{1}\), where \(a > 0\) is a scalar attenuation factor, and \(\mathbf{1} \in \mathbb{R}^n\) is the column vector of all ones. Provided that \(a < \frac{1}{\rho(A)}\), where \(\rho(A)\) denotes the spectral radius of \(A\), the Katz centrality vector is well-defined and can be computed via the matrix resolvent as \(\boldsymbol{\mu} = (I - a A)^{-1} \mathbf{1}\), where \(I\) is the \(n \times n\) identity matrix.*
With the goal of quantifying the ability of node \(v_i\) to communicate with node \(v_j\) over time in a dynamic network, in [7] a dynamical system formulation is introduced for defining a dynamic communicability matrix for the network. The foundation of this approach is the time-dependent adjacency matrix \(A(t)\) (Definition 2), where edges appear, disappear and, generally, modify their weights as the network evolves. The dynamic communicability matrix \(S(t)\) is constructed by counting dynamic walks that involve edges present at time \(t\) or earlier, while also accounting for the temporal decay of information relevance.
To update \(S(t)\) over small time intervals \(\delta t\), the following formula is introduced in [7]: \[\label{eq:discrete-formulation} S(t + \delta t) = (I + e^{-b \delta t} S(t)) (I - a A(t + \delta t))^{-\delta t} - I,\tag{2}\] where \(S(0) = 0\), \(I\) is the identity matrix, \(a > 0\) is the edge attenuation parameter that controls the weight assigned to walks based on the number of edges, and \(b > 0\) is the temporal downweighting parameter that governs how older walks are penalized. This formulation allows the matrix \(S(t)\) to count walks between nodes while diminishing the importance of longer and older walks.
Remark 1. Observe that the parameter \(a>0\) can be chosen such that \(\rho(A(t+\delta t)) < 1/a\) for all \(0 \leq \delta t < \delta^*\). It then follows that \(I - aA(t+\delta t)\) is a nonsingular \(M\)-matrix; see, for example, [31]. Consequently, \((I - aA(t+\delta t))^{\delta t}\) is also an \(M\)-matrix [32], and therefore its inverse satisfies \((I - aA(t+\delta t))^{-\delta t} \geq 0\). Since \(S(0) = 0\) and the update formula preserves nonnegativity, an induction argument shows that \(S(t) \geq 0\) for all \(t \geq 0\), and in particular \(S(t+\delta t) \geq 0\).
Taking the limit as \(\delta t \to 0\) in 2 , the following ordinary differential equation (ODE) for the communicability matrix is obtained: \[\label{eq:ODE-formulation} \dot{C}(t) = -b (C(t) - I) - C(t) \log (I - a A(t)),\tag{3}\] where \(C(t) = I + S(t)\) and \(\log\) denotes the matrix logarithm. In this ODE, the term \(-b (C(t) - I)\) ensures that older walks are downweighted over time, while the term \(-C(t) \log (I - a A(t))\) accounts for the dynamic walks utilizing edges present at time \(t\).
Remark 2. We recall that a logarithm of \(M \in \mathbb{C}^{n \times n}\) is any matrix \(X\) such that \(e^X = M\). Any nonsingular \(M\) has infinitely many logarithms. To enforce uniqueness we need to require that \(M\) has no eigenvalues on \(\mathbb{R}^-\) and choose the principal determination of the multivalued \(\log_{\mathbb{C}}\) function [25], i.e., the unique logarithm whose spectrum lies in the strip \(\{ z \in \mathbb{C} \,:\, -\pi < \Im(z) < \pi \}\). For the case at hand, \(M = I - a A(t)\). Hence, the natural requirement on the \(a\) parameter in 3 is \(\displaystyle a < \inf_{t} \frac{1}{\rho(A(t))}\), for \(\rho(\cdot)\) the spectral radius. This condition ensures that \(I-aA(t)\) is a nonsingular M-matrix, hence its eigenvalues lie in the open right half plane. This condition needs to be fixed at the outset before the whole computation.
The matrix \(C(t)\) encodes the communication capability at time \(t\) between node \(i\) and node \(j\) through dynamic walks in the network, applying downweighting to both the length of walks and the age of information.
To derive a more efficient collective measure of the importance of the nodes in the time-evolving network from the communicability matrix \(C(t)\), as in [7], we define the dynamic broadcast centrality and dynamic receive centrality vectors as: \[\label{eq:broadcast95and95receiving} \mathbf{b}(t) = C(t) \mathbf{1} \quad \text{and} \quad \mathbf{r}(t) = C(t)^\top \mathbf{1},\tag{4}\] where \(\mathbf{1}\) is the vector of ones. These measures capture the propensity of each node to broadcast and receive information, respectively.
All these formulations can be generalized to the case \[\label{eq:generalized} \dot{C}(t) = - b( C(t) - I ) + C(t) \log(H(A(t))), \qquad C(0) = I,\tag{5}\] where \(H(A(t))\) is a given matrix function, i.e., we consider a given combination of walk lengths in the model. A choice that greatly simplifies the construction is \(H(x) = \exp(a x)\). With this choice the entire formulation of the problem is reduced to the linear case \[\label{eq:simplified} \dot{C}(t) = - b( C(t) - I ) + a C(t) A(t), \qquad C(0) = I,\tag{6}\] if \(\log(\exp(a A(t) )) = a A(t)\), which is true when \(|\Im(\lambda_i( a A(t)))| < \pi\), for all \(i = 1,\ldots,n\) and \(t \in \mathbb{T}\), or, for any consistent matrix norm \(\|a A(t)\| < \pi\) for all \(t \in \mathbb{T}\); see [25]. In the case in which \(A(t) = A(t)^\top\), i.e., the network is undirected this always holds. Otherwise, we need to select \(a\) in such a way that \(|\Im(\lambda_i(a A(t)))| < \pi\) for all \(t \in \mathbb{T}\), \(i=1,\ldots,n\).
Suppose we now have access to a network that evolves over time, \(G_t\), and that we can selectively intervene at each time \(t\) on the weights of all or some of the edges. Our objective is to steer the network’s communicability, represented in matrix form, or its broadcast and reception centrality indices, towards a desired state at a given time \(T\). We can formulate these problems as optimal control problems for the ODEs 3 or 6 , or for the derived broadcast and receiving centralities 4 .
For the communicability matrix, given a desired state \(C^* \in \mathbb{R}^{n\times n}\) at time \(T\) and a set \(\mathcal{P} \subseteq V \times V\), we can express the problem as: \[\label{eq:matrix-formulation} \begin{array}{rl} \displaystyle \min_{U} & \displaystyle \mathrm{J}(C,U) = \frac{1}{2}\| C(T) - C^* \|_F^2 + \frac{\alpha}{2}\int_{0}^{T} \| U(t) \|_F^2 \, \mathrm{d}t, \qquad \alpha > 0\\ \text{s.t.} & \begin{cases}\dot{C}(t) = -b (C(t) - I) - C(t) \log \left(I - a (A(t) + U(t)) \right), \\ C(0) = I, \end{cases} \\ & A(t) + U(t) \geq 0, \\ & \rho(A(t) + U(t)) < \frac{1}{a}, \\ & [U(t)]_{i,j} = 0 \text{ if } (i,j) \not\in \mathcal{P}, \end{array}\tag{7}\] where we require that the control \(U(t)\) be a matrix of the same size as \(A(t)\), maintaining a sparsity pattern contained in the predetermined set \(\mathcal{P}\), that the weights of the perturbed network remain nonnegative, and that the uniqueness condition for the matrix logarithm remains satisfied along the solution trajectory as described in Remark 2. The \(\alpha \in \mathbb{R}_{> 0}\) value in the cost functional is a Tikhonov regularization parameter of the control.
A similar formulation can be applied to the dynamic receive case, where we selected a desired receive centrality vector \(\mathbf{r}^* \geq \boldsymbol{1} \in \mathbb{R}^n\): \[\label{eq:dynamic-receive-original} \begin{array}{rl} \displaystyle \min_{U} & \displaystyle \mathrm{J}(\mathbf{r},U) = \frac{1}{2}\| \mathbf{r}(T) - \mathbf{r}^* \|_{2}^2 + \frac{\alpha}{2}\int_{0}^{T} \| U(t) \|_F^2 \, \mathrm{d}t, \qquad \alpha > 0 \\ \text{s.t.} & \begin{cases}\dot{\mathbf{r}}(t) = -b (\mathbf{r}(t) - \mathbf{1}) - \log \left(I - a (A(t) + U(t)) \right)^\top \mathbf{r}(t), \\ \mathbf{r}(0) = \mathbf{1}, \end{cases}\\ & A(t) + U(t) \geq 0, \\ & \rho(A(t) + U(t)) < \frac{1}{a}, \\ & [U(t)]_{i,j} = 0 \text{ if } (i,j) \not\in \mathcal{P}. \end{array}\tag{8}\] Observe that the broadcast vector \(\mathbf{b}(t)\) tracks the information that has flowed out of each node, thus it requires access to the entries of the \(C(t)\) matrix. Consequently, the receive centrality is fundamentally simpler to solve than the broadcast centrality.
If we consider the extended framework discussed in [7] with a generic matrix function \(H(A(t))\) and select \(H(A(t))=\exp(a A(t))\), we may employ the simplified linear model 6 , so as to lead us to the solution of the control problem \[\label{eq:dynamic-receive-simplified-original} \begin{array}{rl} \displaystyle \min_{U} & \displaystyle \mathrm{J}(\mathbf{r},U) = \frac{1}{2}\| \mathbf{r}(T) - \mathbf{r}^*\|_2^2 + \frac{\alpha}{2} \int_{0}^{T} \| U(t)\|_F^2 \mathrm{d}t, \qquad \alpha > 0 \\ \text{ s.t. }& \begin{cases}\dot{\mathbf{r}}(t) = - b (\mathbf{r}(t) - \mathbf{1}) + a (A(t) + U(t))^\top \mathbf{r}(t),\\ \mathbf{r}(0) = \mathbf{1}, \end{cases}\\ & A(t) + U(t) \geq 0, \\ & |\Im(\lambda_i(A(t) + U(t)))| < \frac{\pi}{a}, \quad \forall\, i = 1,\ldots,n \\ & [U(t)]_{i,j} = 0 \text{ if } (i,j) \not\in \mathcal{P}. \end{array}\tag{9}\] Observe that although we no longer compute any matrix logarithm in the state equation of 9 , to have the transformation between 5 and 6 we need the condition \(\log(\exp(A)) = A\), hence the condition on the imaginary part of the spectrum. Observe also that if both \(G_t\) is undirected and that \(U(t) = U(t)^\top\) for all \(t \in \mathbb{T}\), then such a condition can be removed; see the discussion in Section 2.1. In the case of directed graphs, a sufficient condition for the constraint on the imaginary part of the eigenvalues can be stated in terms of the outdegree, as in Proposition 2.
The constraint on the spectral radius of \(A(t)+U(t)\) in 7 is nonlinear and nonconvex, hence its use complicates any optimization procedure one can use to solve the control problem. To obtain a more efficient procedure with a linear constraint, we consider the following relaxation which makes use of the collection of Katz centrality measures (Definition 5) for all \(t \in \mathbb{T}\), and establishes first the existence of a choice of the \(a\) parameter which makes Katz centrality well defined for a general time evolving graph (Definition 1).
Lemma 1. Let \(A(t)\) be the adjacency matrix at time \(t\). If \(0< a < \inf_{t} \frac{1}{\rho(A(t))}\), then the Katz centrality at time \(t\) \(\boldsymbol{\mu}(t) = (I - a A(t))^{-1}\mathbf{1}\) is well defined.
Proof. For the Katz centrality to exist, it is needed that the resolvent matrix \(I - aA(t)\) is invertible. If \(0< a < \inf_t \frac{1}{\rho(A(t))},\) then \(\rho(aA(t)) < 1\) for every \(t\), which implies that \(I - aA(t)\) is invertible; consequently the vectors \(\boldsymbol{\mu}(t)\) are well-defined. ◻
Proposition 1. Let \(a\) and \(A(t)\) be as in Lemma 1, and let \(\boldsymbol{\mu}(t)\) be the Katz centrality associated with the matrix \(A(t)\) and parameter \(a\). If \(U(t)\) is such that \((I - a(A(t)+U(t)))\boldsymbol{\mu}(t) \geq \mathbf{0}\) and \(A(t)+U(t) \geq 0\), then \(\rho(A(t)+U(t)) \le \frac{1}{a}\).
Proof. From the assumption we have \((I - a(A(t)+U(t)))\boldsymbol{\mu}(t) \geq \mathbf{0}\), which is equivalent to \(a(A(t)+U(t))\boldsymbol{\mu}(t)\leq \boldsymbol{\mu}(t)\). Since \(\boldsymbol{\mu}(t) \ge \mathbf{1} > \mathbf{0}\), we define \(D_{\boldsymbol{\mu}(t)} = \operatorname{diag}( \boldsymbol{\mu}(t))\) and find that \[a\;D_{\boldsymbol{\mu}(t)}^{-1} (A(t)+U(t))\; D_{\boldsymbol{\mu}(t)} \mathbf{1} \le \mathbf{1}.\] Since the matrix \(A(t)+U(t)\) is nonnegative, the above inequality shows that \[a\;\|D_{\boldsymbol{\mu}(t)}^{-1} (A(t)+U(t))\; D_{\boldsymbol{\mu}(t)}\|_\infty \le 1,\] hence \(a\rho(D_{\boldsymbol{\mu}(t)}^{-1} (A(t)+U(t))\; D_{\boldsymbol{\mu}(t)})=a \rho(A(t)+U(t))\le 1\). ◻
According to Proposition 1, the linear inequality \((I - a(A(t)+U(t)))\boldsymbol{\mu}(t) \geq \mathbf{0}\), which is easier to handle computationally than the nonlinear spectral radius constraint, guarantees that \(\rho((A(t)+U(t))\le \frac{1}{a}\). To provide a sufficient condition guaranteeing that the strict inequality \(\rho(A(t)+U(t)) < \frac{1}{a}\) is satisfied, we then need to just add a safety guarantee of a small \(\frac{1}{a} \gg \epsilon>0\), asking that \(U(t) \boldsymbol{\mu}(t) \leq \left( \frac{1}{a} - \epsilon \right)\boldsymbol{1}\), where we used the fact that \((I-aA(t))\boldsymbol{\mu}(t) = \mathbf{1}\).
We need a relaxation also for the constraint of the imaginary part of the spectrum in problem 9 in the case of directed graphs. We can employ the observation on the consistent matrix norms made in Section 2.1.
Proposition 2. Let \(a > 0\) and \(A(t)\ge 0\). If \(U(t)\) is such that \(A(t) + U(t) \geq 0\) and \[\label{eq:linear95constraint95for95im95part} (A(t) + U(t)) \mathbf{1} \leq \frac{\pi}{a} \mathbf{1},\qquad{(1)}\] then \(\left| \Im( \lambda_i(a (A(t)+U(t)) ) \right|\le \pi\).
Proof. If \(A(t) + U(t) \geq 0\), then the condition ?? implies that \(\| a (A(t) + U(t)) \|_\infty \leq \pi\), hence that \(\left|\Im( \lambda_i(a (A(t)+U(t)) ) \right| \le \pi\), since \(\|\cdot\|_\infty\) is a compatible norm. ◻
As for the other relaxation, we need to add a safety guarantee of a small \(\frac{\pi}{a} \gg \varepsilon > 0\), asking that \[(A(t) + U(t)) \mathbf{1} \leq \left( \frac{\pi}{a} - \varepsilon \right) \mathbf{1},\] observe also that in network terms, this amounts to a constraint on the out-degree of the network. An immediate corollary of Proposition 2 is then obtained by changing from out-degree to in-degree and from the compatible norm \(\|\cdot\|_\infty\) to the compatible norm \(\|\cdot\|_1\).
Corollary 1. Let \(a > 0\) and \(A(t)\ge 0\). If \(U(t)\) is such that \(A(t) + U(t) \geq 0\) and \(\mathbf{1}^\top (A(t) + U(t)) \leq \frac{\pi}{a} \mathbf{1}^\top\), then \(\left| \Im( \lambda_i(a (A(t)+U(t)) ) \right| \le \pi\).
We can therefore rewrite the two problems 8 , 9 using the simplified bounds, i.e., for the case of 8 , we rewrite it as \[\label{eq:dynamic-receive} \begin{array}{rl} \displaystyle \min_{U} & \displaystyle \mathrm{J}(\mathbf{r},U) = \frac{1}{2}\| \mathbf{r}(T) - \mathbf{r}^* \|_{2}^2 + \frac{\alpha}{2}\int_{0}^{T} \| U(t) \|_F^2 \, \mathrm{d}t, \qquad \alpha > 0, \; \epsilon > 0 \\ \text{s.t.} & \begin{cases}\dot{\mathbf{r}}(t) = -b (\mathbf{r}(t) - \mathbf{1}) - \log \left(I - a (A(t) + U(t)) \right)^\top \mathbf{r}(t), \\ \mathbf{r}(0) = \mathbf{1}, \end{cases}\\ & A(t) + U(t) \geq 0, \\ & U(t) \boldsymbol{\mu}(t) \leq \left( \frac{1}{a} - \epsilon \right)\boldsymbol{1}, \\ & [U(t)]_{i,j} = 0 \text{ if } (i,j) \not\in \mathcal{P}, \end{array}\tag{10}\] while we simplify the constraints in 9 for a directed graph as \[\label{eq:dynamic-receive-simplified} \begin{array}{rl} \displaystyle \min_{U} & \displaystyle \mathrm{J}(\mathbf{r},U) = \frac{1}{2}\| \mathbf{r}(T) - \mathbf{r}^*\|_2^2 + \frac{\alpha}{2} \int_{0}^{T} \| U(t)\|_F^2 \mathrm{d}t, \qquad \alpha > 0, \; \epsilon > 0 \\ \text{ s.t. }& \begin{cases}\dot{\mathbf{r}}(t) = - b (\mathbf{r}(t) - \mathbf{1}) + a (A(t) + U(t))^\top \mathbf{r}(t),\\ \mathbf{r}(0) = \mathbf{1}, \end{cases}\\ & A(t) + U(t) \geq 0, \\ & (A(t) + U(t)) \mathbf{1} \leq \left( \frac{\pi}{a} -\epsilon\right) \mathbf{1}, \\ & [U(t)]_{i,j} = 0 \text{ if } (i,j) \not\in \mathcal{P}, \end{array}\tag{11}\] while for an undirected graph, where \(A(t) = A^\top(t)\) for all times, we have \[\label{eq:dynamic-receive-simplified-undirected} \begin{array}{rl} \displaystyle \min_{U} & \displaystyle \mathrm{J}(\mathbf{r},U) = \frac{1}{2}\| \mathbf{r}(T) - \mathbf{r}^*\|_2^2 + \frac{\alpha}{2} \int_{0}^{T} \| U(t)\|_F^2 \mathrm{d}t, \qquad \alpha > 0 \\ \text{ s.t. }& \begin{cases}\dot{\mathbf{r}}(t) = - b (\mathbf{r}(t) - \mathbf{1}) + a (A(t) + U(t))^\top \mathbf{r}(t),\\ \mathbf{r}(0) = \mathbf{1}, \end{cases}\\ & A(t) + U(t) \geq 0, \\ & [U(t)]_{i,j} = 0 \text{ if } (i,j) \not\in \mathcal{P}, \\ & U(t) = U^\top(t). \end{array}\tag{12}\]
We can prove that the admissible set of controls in the three cases are not empty under reasonable choices of the modification pattern \(\mathcal{P}\).
Proposition 3. The admissible set for problem 10 \[\label{eq:admset95original} \mathcal{U}_{ad}(t) = \left\{ U(t) \in \mathbb{R}^{n \times n} \;\middle|\; \begin{align} & A(t) + U(t) \geq 0, \\ & U(t) \boldsymbol{\mu}(t) \leq \left( \frac{1}{a} - \epsilon \right)\boldsymbol{1}, \\ & [U(t)]_{i,j} = 0 \text{ if } (i,j) \not\in \mathcal{P} \end{align} \right\rbrace,\qquad{(2)}\] is non trivial for \(\emptyset\neq\mathcal{P}\subseteq V \times V\), i.e., \(\mathcal{U}_{ad}(t) \setminus \{O\} \neq \emptyset\) for \(O\) the zero matrix.
Proof. Let \(H\) be the \(n \times n\) binary indicator matrix representing the sparsity pattern \(\mathcal{P}\), such that \(h_{i,j} = 1\) if \((i,j) \in \mathcal{P}\) and \(h_{i,j} = 0\) otherwise. We seek to construct a matrix \(U(t) \in \mathcal{U}_{ad}(t)\) of the form \(U(t) = D H\), where \(D = \operatorname{diag}(x_1, \dots, x_n)\) with \(x_i \geq 0\) for all \(i \in \{1, \dots, n\}\). By construction, \([U(t)]_{i,j} = x_i h_{i,j} = 0\) if \((i,j) \notin \mathcal{P}\), which satisfies the sparsity constraint. Since the matrix \(A(t)\) has non-negative entries, the condition \(A(t) + U(t) \geq 0\) is rewritten as \(a_{i,j}(t) + x_i h_{i,j} \geq 0\) for all \(i,j\). Since we restrict \(x_i \geq 0\) and \(h_{i,j} \geq 0\), the term \(x_i h_{i,j}\) is non-negative, meaning the inequality is satisfied.
Next, we consider the constraint \(U(t) \boldsymbol{\mu}(t) \leq \left( \frac{1}{a} - \epsilon \right)\boldsymbol{1}\). For the \(i\)-th row, this gives \[x_i \sum_{j=1}^n h_{i,j} \mu_j(t) \leq \frac{1}{a} - \epsilon.\] Let \(S_i(t) = \sum_{j=1}^n h_{i,j} \mu_j(t)\). Provided that \(\frac{1}{a} - \epsilon > 0\), this inequality is satisfied for each row \(i\) if either \(S_i(t) = 0\)—for which any \(x_i \geq 0\) is a valid choice—or, if \(S_i(t) > 0\)—then, the condition is satisfied for any \(x_i\) chosen such that \(0 \leq x_i \leq \frac{\left(\frac{1}{a} - \epsilon\right)}{S_i(t)}\). To prove that \(\mathcal{U}_{ad}(t)\) is non-trivial (\(\mathcal{U}_{ad}(t) \setminus \{O\} \neq \emptyset\)), we must show there exists a valid \(U(t)\) other than the zero matrix. Because \(\mathcal{P} \neq \emptyset\), the matrix \(H\) has at least one non-zero entry \(h_{i,j}\), and we can choose \(0<x_i\le \frac{\left(\frac{1}{a} - \epsilon\right)}{S_i(t)}\), so that \(U(t)\ne O\). Therefore, the admissible set is non-trivial. ◻
We introduce the admissible control set for the linear model for the general case of directed graphs 11 : \[\label{eq:adm95set95directed} \mathcal{U}_{ad}(t) = \left\{ U(t) \in \mathbb{R}^{n \times n} \;\middle|\; \begin{align} & U(t) \ge -A(t), \\ & U(t) \mathbf{1} \leq \left( \frac{\pi}{a} - \varepsilon \right) \mathbf{1} - A(t)\mathbf{1}, \\ & [U(t)]_{i,j} = 0 \text{ if } (i,j) \notin \mathcal{P} \end{align} \right\},\tag{13}\] while for undirected graphs case 12 we have \[\label{eq:adm95set} \mathcal{U}_{ad}(t) = \left\{ U(t) \in \mathbb{R}^{n \times n} \;\middle|\; \begin{align} & U(t) \ge -A(t), \\ & U(t) = U^\top(t) , \\ & [U(t)]_{i,j} = 0 \text{ if } (i,j) \notin \mathcal{P} \end{align} \right\},\tag{14}\] which are not empty under a stricter assumption on the pattern of the admissible modifications.
Proposition 4. The sets 13 and 14 are non trivial for \(\mathcal{P} = \cup_{t \in \mathbb{T}} E_t\), i.e., \(\mathcal{U}_{ad}(t) \setminus \{O\} \neq \emptyset\) for \(O\) the zero matrix.
Proof. We prove first the case 13 . Let us define \(D = \operatorname{diag}(x_1,\ldots,x_n)\) and search for a \(U(t) \in \mathcal{U}_{ad}(t)\) of the form \(U(t) = DA(t)\). The conditions 13 are then equivalent to \[\begin{align} U(t) + A(t) \geq 0 \,\Leftrightarrow\,& (I + D)A(t) \geq 0 \,\Leftrightarrow \, (1 + x_i) a_{i,j}(t) \geq 0 \\ U(t) \mathbf{1} \leq \left( \frac{\pi}{a} - \varepsilon \right) \mathbf{1} - A(t) \mathbf{1} \,\Leftrightarrow\,& x_i d_i \leq \frac{\pi}{a}-\epsilon - d_i, \text{ with } d_i = (A(t)\mathbf{1})_i. \end{align}\] If \(d_i=0\), i.e, \(a_{i,j}(t)=0\) for any \(j\), then for any choice of \(x_i\) the above inequalities are satisfied. If \(d_i> 0\) then we can choose \(x_i\ge -1\) and \(x_i \leq \frac{\frac{\pi}{a}-\epsilon}{d_i} - 1\); since \(\frac{\left(\frac{\pi}{a}-\epsilon\right)}{d_i} > 0\), there are infinite values of \(x_i\) satisfying both the inequalities. By construction, \([U(t)]_{i,j} = 0\) if \((i,j) \not\in \mathcal{P}\). For 14 we look for \(U(t) = D A(t) D\), \(\operatorname{diag}(x_1,\ldots,x_n)\), and we need to prove \[\begin{align} U(t) + A(t) \geq 0 \,\Leftrightarrow\,& D A(t) D + A(t) \geq 0 \,\Leftrightarrow \, x_i a_{i,j}(t) x_j \geq - a_{i,j}(t), \end{align}\] if \(a_{i,j}(t) = 0\), then the inequality is verified for every choice of \(D\). If \(a_{i,j}(t) > 0\), the condition becomes \(x_i x_j \geq -1\), which is satisfied for every \((x_1,\ldots,x_n)\) with constant sign. Again, by construction, \([U(t)]_{i,j} = 0\) if \((i,j) \not\in \mathcal{P}\). ◻
Propositions 3 and 4 suggest that a reasonable choice for the modification pattern \(\mathcal{P}\) is therefore the collection of the patterns of the \(A(t)\) for all \(t \in \mathbb{T}\): from a modeling perspective, this choice means that we want to modify edges that existed at some point in the network’s temporal evolution.
To guarantee that the optimal control problems formulated in the previous sections are well-posed, we must establish the existence of an optimal control \(U^*(t)\) and its corresponding state trajectory. We state the existence result focusing on the simplified linear model 11 , utilizing the classic Filippov-Cesari existence theorem for Bolza problems [33].
Theorem 5. For the dynamic receive optimal control problems defined in 11 and 12 , there exists an optimal control \(U^*(t) \in \mathcal{U}_{\mathrm{ad}}(t)\), where \(\mathcal{U}_{\mathrm{ad}}(t)\) denotes the admissible control set defined in 13 and 14 , respectively, together with an absolutely continuous optimal state trajectory \(\mathbf{r}^*(t)\) for \(t \in [0,T]\).
Proof. We verify the required conditions of the Filippov-Cesari theorem ([33]) step by step. For every admissible control \(U(t)\), we define \[f(t,\mathbf{r},U) := - b(\mathbf{r}-\mathbf{1}) + a(A(t)+U)^\top \mathbf{r} .\] Thus the controlled dynamics can be written compactly as \[\dot{\mathbf{r}}(t)=f(t,\mathbf{r}(t),U(t)), \qquad \mathbf{r}(0)=\mathbf{1} .\]
Under the linear constraints of 14 , the control is bounded from below by the constraint \(U(t) \ge -A(t)\), but remains unbounded from above. Thus, \(\mathcal{U}_{ad}(t)\) is a closed, convex, but unbounded set. However, the running cost \(L(U) = \frac{\alpha}{2}\|U\|_F^2\) is strictly convex and coercive. The coercivity guarantees that the optimal control is bounded, meaning there exists a sufficiently large constant \(R > 0\) such that the optimal control must satisfy \(\|U(t)\|_F \le R\) almost everywhere. Without loss of generality, we can intersect our original control set with this closed ball to define an effective control set \(\widetilde{\mathcal{U}}_{ad}(t) = \mathcal{U}_{ad}(t) \cap \{ U \mid \|U\|_F \le R \}\). This effective set is both closed and bounded in a finite-dimensional space, satisfying the compactness requirement. Under the constraint 13 , we can take instead \(\widetilde{\mathcal{U}}_{ad}(t) = \mathcal{U}_{ad}(t)\) which is already closed and bounded in a finite-dimensional space.
Second, we establish the existence and uniqueness of the state trajectories. For any measurable control \(U(t) \in \widetilde{\mathcal{U}}_{ad}(t)\), \(f\) is continuous in \(t\) and uniformly Lipschitz continuous with respect to the state \(\mathbf{r}\). This holds because the spectral norm \(\|A(t)+U(t)\|_2\) is uniformly bounded over the compact domain \(\widetilde{\mathcal{U}}_{ad}(t)\). By the Carathéodory existence theorem, there exists a unique, absolutely continuous trajectory \(\mathbf{r}(t)\) on \([0,T]\).
Third, we analyze the extended velocity set \(N(\mathbf{r}, t)\), which characterizes the reachable directions penalized by the running cost: \[N(\mathbf{r}, t) = \left\{ (f(t, \mathbf{r}, U), \gamma) \;\middle|\; U \in \widetilde{\mathcal{U}}_{ad}(t), \gamma \ge \frac{\alpha}{2}\|U\|_F^2 \right\}.\] We recall that the state dynamics \(f(t, \mathbf{r}, U)\) are affine with respect to the control matrix \(U\) and the running cost \(L(U) = \frac{\alpha}{2}\|U\|_F^2\) is strictly convex with respect to \(U\). Because the mapping \(U \mapsto f\) is affine, the mapping \(U \mapsto L\) is convex, and the domain \(\widetilde{\mathcal{U}}_{ad}(t)\) is a convex set, it follows that the extended velocity set \(N(\mathbf{r}, t)\) is convex.
Since the effective admissible control set is compact, the dynamics are well-posed and bounded, and the extended velocity set is convex, all requirements of the Filippov-Cesari theorem are satisfied. Therefore, an absolute minimum for the functional \(J(\mathbf{r},U)\) within the class of admissible pairs is guaranteed to exist. ◻
Remark 3. For the nonlinear formulations 7 and 10 , the dynamics involve the nonlinear term \(-\log(I - a(A(t)+U(t)))\). The non-affine nature of the logarithm implies the mapping \(U \mapsto f(t, C, U)\) is nonlinear. Consequently, the extended velocity set \(N(C, t)\) may lose convexity with respect to \(U \in \mathcal{U}_{ad}(t)\). Consequently, standard existence results like the Filippov-Cesari theorem cannot be directly applied. Establishing the existence of an optimal control for this log-based formulation presents significant mathematical challenges and falls beyond the scope of this paper. Nonetheless, Proposition 3 is sufficient to ensure that at least the chosen set of admissible controls is nonempty for a reasonable choice of modification pattern.
The optimization problems described in 10 , 11 and 12 are instances of a general optimal control problem with constraints imposed on the control variable. To outline our solution approach, we first recall the general formulation of an optimal control problem.
Consider a system characterized by a state variable \(\mathbf{x}(t) \in \mathbb{R}^n\), which evolves according to the following system of differential equations: \[\begin{cases} \dot{\mathbf{x}}(t) = \mathbf{f}(\mathbf{x}(t), \mathbf{u}(t), t), \\ \mathbf{x}(0) = \mathbf{x}_0, \end{cases}\] where \(\mathbf{u}(t) \in \mathcal{U}_{ad} \subset \mathbb{R}^m\) is the control variable which is taken into a subset \(\mathcal{U}_{ad}\) of \(\mathbb{R}^m\) of admissible controls, and \(\mathbf{f} : \mathbb{R}^n \times \mathbb{R}^m \times \mathbb{R} \to \mathbb{R}^n\) is a continuous function defining the system dynamics. Our objective is to determine an optimal control function \(\mathbf{u}^*(t)\) that minimizes a given cost functional \(\mathrm{J}\), which typically takes the form: \[\mathrm{J}(\mathbf{x},\mathbf{u}) = \int_{0}^{T} L(\mathbf{x}(t), \mathbf{u}(t), t) \, \mathrm{d}t + \Phi(\mathbf{x}(T)),\] where \(L : \mathbb{R}^n \times \mathbb{R}^m \times \mathbb{R} \to \mathbb{R}\) represents the running cost, and \(\Phi : \mathbb{R}^n \to \mathbb{R}\) is the terminal cost. The optimal control function \(\mathbf{u}^*(t)\) must ensure that the state trajectory \(\mathbf{x}(t)\) satisfies the given dynamic constraints and initial conditions while minimizing the cost functional.
For a.e. \(t\in[0,T]\), we work with effective admissible control sets that are nonempty, closed, convex, and compact in all the cases under consideration. In addition, the corresponding state dynamics are measurable with respect to \(t\) and continuously differentiable with respect to the variables \((\mathbf{r},U)\) on the admissible set. Hence, the PMP applies and provides first-order necessary optimality conditions; see, e.g., [34]. It provides necessary conditions that an optimal control \(\mathbf{u}^*(t)\) and corresponding state \(\mathbf{x}^*(t)\) must satisfy. Define the Hamiltonian function \(\mathrm{H} : \mathbb{R}^n \times \mathbb{R}^m \times \mathbb{R}^n \times \mathbb{R} \to \mathbb{R}\) as: \[\label{eq:generic95hamiltonian} \mathrm{H}(\mathbf{x}, \mathbf{u}, \boldsymbol{\lambda}, t) = \boldsymbol{\lambda}(t)^\top \mathbf{f}(\mathbf{x}, \mathbf{u}, t) + L(\mathbf{x}, \mathbf{u}, t),\tag{15}\] where \(\boldsymbol{\lambda}(t) \in \mathbb{R}^n\) is the costate (or adjoint) variable.
The PMP asserts that for an optimal control \(\mathbf{u}^*(t)\) and state trajectory \(\mathbf{x}^*(t)\), there exists a nontrivial costate vector \(\boldsymbol{\lambda}(t)\) such that:
The state and costate dynamics satisfy: \[\begin{align} & \dot{\mathbf{x}}^*(t) = & \frac{\partial \mathrm{H}}{\partial \boldsymbol{\lambda}}(\mathbf{x}^*(t), \mathbf{u}^*(t), \boldsymbol{\lambda}(t), t), \tag{16}\\ & \dot{\boldsymbol{\lambda}}(t) = & -\frac{\partial \mathrm{H}}{\partial \mathbf{x}}(\mathbf{x}^*(t), \mathbf{u}^*(t), \boldsymbol{\lambda}(t), t). \tag{17} \end{align}\]
The optimal control \(\mathbf{u}^*(t)\) minimizes the Hamiltonian: \[\label{eq:hamiltonian95minimization} \mathbf{u}^*(t) = \arg \min_{\mathbf{u} \in \mathcal{U}_{ad}} \mathrm{H}(\mathbf{x}^*(t), \mathbf{u}, \boldsymbol{\lambda}(t), t),\tag{18}\] for the set of admissible controls \(\mathcal{U}_{ad} \subset \mathbb{R}^m\), for which the unconstrained gradient is given by \[\label{eq:hamiltonian95gradient} \mathbf{g}(t) = \frac{\partial \mathrm{H}}{\partial \mathbf{u}}.\tag{19}\]
The boundary conditions include the initial condition \(\mathbf{x}(0) = \mathbf{x}_0\), and if the terminal state \(\mathbf{x}(T)\) is free, the transversality condition for the costate: \[\label{eq:terminal95condition} \boldsymbol{\lambda}(T) = \frac{\partial \Phi}{\partial \mathbf{x}}(\mathbf{x}(T)).\tag{20}\]
In the following, we reformulate the problems 10 , 11 and 12 in a manner that allows us to leverage the PMP to derive a solution procedure. Specifically, we express these conditions as a constrained optimization problem: \[\min_{\mathbf{u} \in \mathcal{U}_{ad}} \mathrm{J}(\mathbf{u}) = \min_{\mathbf{u} \in \mathcal{U}_{ad}} \mathrm{J}(\mathbf{x}(\mathbf{u}), \mathbf{u}) = \min_{\mathbf{x}, \mathbf{u}} \left\{ \mathrm{J}(\mathbf{x}, \mathbf{u}) \mid e(\mathbf{x}, \mathbf{u}) = 0 \right\},\] where the constraint function \(e(\mathbf{x}, \mathbf{u})\) is given by \[e(\mathbf{x}, \mathbf{u}) = \begin{bmatrix} \dot{\mathbf{x}}(t) - \mathbf{f}(\mathbf{x}, \mathbf{u}, t) \\ \mathbf{x}(0) - \mathbf{x}_0 \end{bmatrix}.\] The unconstrained gradient of the objective function is denoted by \(\mathbf{g}(\mathbf{u})\). Suppose we have a projection operator \(\Pi_{\mathcal{U}_{ad}}\) that projects a vector from \(\mathbb{R}^m\) onto the feasible set \(\mathcal{U}_{ad}\), i.e., \[\Pi_{\mathcal{U}_{ad}}(\mathbf{y}) = \arg\min_{\mathbf{x} \in \mathcal{U}_{ad}} \| \mathbf{x} - \mathbf{y}\|_2.\] We can then construct a projected gradient method, incorporating Nesterov’s acceleration to optimize this problem (Algorithm [alg:nesterov95pg]).
The key idea is to maintain, alongside the iterates \(\mathbf{u}^{(k)}\), an extrapolated auxiliary sequence \(\mathbf{y}^{(k)}\) that incorporates a momentum term from the previous step: \[\mathbf{y}^{(k)} = \mathbf{u}^{(k)} + \beta_k \left( \mathbf{u}^{(k)} - \mathbf{u}^{(k-1)} \right), \qquad \beta_k = \frac{k-1}{k+2}.\] The gradient of the Hamiltonian and the state/costate equations are then evaluated at \(\mathbf{y}^{(k)}\) rather than at \(\mathbf{u}^{(k)}\), and the next iterate is obtained by a single projected gradient step from \(\mathbf{y}^{(k)}\): \[\label{eq:nesterov95update} \mathbf{u}^{(k+1)} = \Pi_{\mathcal{U}_{ad}}\!\left[ \mathbf{y}^{(k)} - \eta\,\hat{\mathbf{g}}^{(k)} \right],\tag{21}\] where \(\hat{\mathbf{g}}^{(k)}\) is the unconstrained gradient 19 evaluated at \((\mathbf{x}(\mathbf{y}^{(k)}), \mathbf{y}^{(k)}, \boldsymbol{\lambda}(\mathbf{y}^{(k)}))\).
Since the optimization problem associated with the controlled dynamic network is not convex in general, the extrapolated point \(\mathbf{y}^{(k)}\) may occasionally produce an accelerated step that increases the objective functional [35]. For this reason, we adopt a monotone restart strategy: if the candidate iterate obtained from 21 satisfies \[J\bigl(\mathbf{u}^{(k+1)}\bigr) > J\bigl(\mathbf{y}^{(k)}\bigr),\] then the momentum contribution is discarded for that iteration by resetting \(\mathbf{y}^{(k)} \gets \mathbf{u}^{(k)}\), recomputing the corresponding gradient at \(\mathbf{u}^{(k)}\), and replacing the accelerated trial with the standard projected-gradient step \[\mathbf{u}^{(k+1)} = \Pi_{\mathcal{U}_{ad}}\!\left[ \mathbf{u}^{(k)} - \eta\,\hat{\mathbf{g}}^{(k)} \right].\] This safeguard preserves the simplicity of the fixed-step iteration while preventing the momentum term from generating non-descent updates.
The convergence of Algorithm [alg:nesterov95pg] is monitored via the projected-gradient mapping norm, which is the standard optimality measure for projected-gradient methods [36]. At iteration \(k\), given step size \(\eta> 0\), the projected-gradient mapping is defined as \[\mathbf{g}^{(k)} = \dfrac{1}{\eta}\!\left(\mathbf{y}^{(k)} - \mathbf{u}^{(k+1)}\right),\] defined in line [line:project] of the algorithm. Note that \(\mathbf{g}^{(k)} = \mathbf{0}\) is a necessary optimality condition for the projected problem, and \(\| \mathbf{g}^{(k)} \|_2\) measures how far the current iterate is from satisfying this condition. The algorithm is declared converged when \[\frac{\|\mathbf{g}^{(k)}\|_2}{\max(1,\|\mathbf{y}^{(k)}\|_2)} \leq \varepsilon_g,\] where \(\varepsilon_g > 0\) is a user-specified tolerance. As a secondary safeguard against stagnation, a simultaneous check on both the relative change in the iterates, \[\frac{\|\mathbf{u}^{(k+1)} - \mathbf{u}^{(k)}\|_2}{\max(1,\|\mathbf{u}^{(k)}\|_2)} \leq \varepsilon_x,\] and the relative change in the objective value is also employed.
In the following subsection, we derive the expression for the state, costate, and gradient equations for the problems we formulated in Section 3.
We start by applying the general theory to dynamic receive case from 10 . For this problem the Hamiltonian 15 can be written as \[\label{eq:our-hamiltonian} \begin{align} \mathrm{H}(\mathbf{r}, U, \boldsymbol{\lambda}, t) = \frac{\alpha}{2} \| U(t) \|^2_F + \boldsymbol{\lambda}(t)^\top \left( -b \left( \mathbf{r}(t) - \mathbf{1} \right) - \log \left( I - a (A(t) + U(t))^\top \right) \mathbf{r}(t) \right). \end{align}\tag{22}\] The next step is to derive the optimality conditions for the state 16 , costate 17 and for the gradient of the minimization problem in 18 . To obtain them we need to prove some preliminary results regarding the Fréchet derivative of the matrix logarithm function.
Lemma 2. The partial derivative of the Hamiltonian \(\mathrm{H}\) in 22 with respect to the constraint \(U\) can be expressed as \[\left[ \frac{\partial \mathrm{H}}{\partial U} \right]_{i,j} = \alpha \mathbf{e}_i^\top U \mathbf{e}_j + a \boldsymbol{\lambda}(t)^\top \mathrm{L}_{\log}\left( I - a(A+U)^\top,E_{j,i} \right) \mathbf{r}(t) \qquad \forall\,i,j=1,\ldots,n.\]
Proof. We call \[f(U) = \frac{\alpha}{2}\| U \|_F^2 - \boldsymbol{\lambda}(t)^\top \log\left( I - a(A + U)^\top\right) \mathbf{r}(t) = f_1(U) + f_2(U),\] with \(f_1\) collecting the Frobenius norm term, and \(f_2\) collecting the bilinear form involving the matrix-logarithm. Then \([\frac{\partial \mathrm{H}}{\partial U}]_{i,j}\) can be expressed in terms of the rank-1 matrix \(E_{i,j} = \mathbf{e}_i \mathbf{e}_j^\top\) as the sum of the derivatives of the two functions \(f_1\) and \(f_2\). Indeed, \[\begin{align} \lim_{t \rightarrow 0} & \frac{1}{t} \left( f_1(U + t E_{i,j}) - f_1(U) \right) = \lim_{t \to 0} \frac{\alpha}{2 t}\left( \operatorname{tr}((U+t E_{i,j})^\top (U+t E_{i,j})) - \operatorname{tr}(U^\top U) \right) = \\ & \lim_{t \to 0} \frac{\alpha}{2t} \left( \operatorname{tr}\left( t (E_{i,j}^\top U + U^\top E_{i,j} + t E_{i,j}^\top E_{j,i} \right) \right) = \frac{\alpha}{2} \left( \operatorname{tr}\left( \mathbf{e}_j \mathbf{e}_i^\top U + U^\top \mathbf{e}_i \mathbf{e}_j^\top \right) \right), \end{align}\] exploiting again the linearity and the cyclicity of the trace we have \[\left[\frac{\partial f_1}{\partial U}\right]_{i,j} = \alpha \mathbf{e}_i^\top U \mathbf{e}_j, \qquad \forall\,i,j=1,\ldots,n.\] Let \(M(U) := I-a(A+U)^\top\). We apply the same direct computation also in the case of \(f_2\), obtaining \[\begin{align} \lim_{t \to 0} & \frac{1}{t} \left( f_2(U + t E_{i,j}) - f_2(U) \right) = \lim_{t \to 0} - \frac{1}{t} \boldsymbol{\lambda}(t)^\top \left( \log\left( M(U + t E_{i,j})\right) - \log\left( M(U)\right) \right) \mathbf{r}(t), \end{align}\] now using the definition of Fréchet derivative (Definition 4) we find \[\begin{align} \lim_{t \to 0} & - \frac{1}{t} \boldsymbol{\lambda}(t)^\top \left( \log\left( M(U)\right) + \mathrm{L}_{\log}(M(U),-t a E_{j,i} ) + o(|t|\|E_{i,j}\|) - \log\left( M(U)\right)\mathbf{r}(t) \right) = \\ \lim_{t \to 0} & - \frac{1}{t} \boldsymbol{\lambda}(t)^\top \left( \mathrm{L}_{\log}(M(U),-t a E_{j,i}) + o(|t|\|E_{i,j}\|) \right) \mathbf{r}(t), \end{align}\] we now use the fact that the Fréchet derivative is linear in the second argument, to conclude that \[\left[\frac{\partial f_2}{\partial U}\right]_{i,j} = a \boldsymbol{\lambda}(t)^\top \mathrm{L}_{\log}\left( I - a(A+U)^\top,E_{j,i} \right) \mathbf{r}(t) \qquad \forall\,i,j=1,\ldots,n.\] From which we recover the thesis by adding the two expressions for \(f_1\) and \(f_2\). ◻
We can now express the entire derivative in matrix form using an expression for computing a bilinear form of the Fréchet derivative of a matrix function in a rank-1 direction [29].
Theorem 6 ([29]). Let \(A \in \mathbb{R}^{n \times n}\), \(\mathbf{u},\mathbf{v} \in \mathbb{R}^n\), let \(f\) be Fréchet differentiable at \(A\), and denote \(E_{i,j} = \mathbf{e}_i \mathbf{e}_j^\top\). Then \[\mathbf{u}^\top \mathrm{L}_f(A,E_{i,j}) \mathbf{v} = \left[ \mathrm{L}_f(A^\top, \mathbf{u}\mathbf{v}^\top )\right]_{i,j}.\]
With these preliminary results, we can then formulate the set of optimality conditions for the problem 10 .
Proposition 7. The optimality conditions for the Hamiltonian 22 with the linearized constraint from Proposition 1 are given by \[\begin{cases} \begin{cases} \displaystyle \dot{\mathbf{r}}(t) = \frac{\partial \mathrm{H}}{\partial \boldsymbol{\lambda}} = -b \left( \mathbf{r}(t) - \mathbf{1} \right) - \log \left( I - a (A(t) + U(t))^\top \right) \mathbf{r}(t), \\ \mathbf{r}(0) = \mathbf{1}, \end{cases} \\ \begin{cases}\displaystyle \dot{\boldsymbol{\lambda}}(t) =-\frac{\partial \mathrm{H}}{\partial \mathbf{r}} = b \boldsymbol{\lambda}(t) + \log \left( I - a (A(t) + U(t)) \right) \boldsymbol{\lambda}(t), \\ \boldsymbol{\lambda}(T) = \mathbf{r}(T) - \mathbf{r}^*. \end{cases} \\[1.4em] \displaystyle \frac{\partial \mathrm{H} }{\partial U} =\alpha U(t) + a\left(\mathrm{L}_{\log}\left(I - a(A(t)+U(t)),\boldsymbol{\lambda}(t) \mathbf{r}(t)^\top\right)\right)^\top, \\ U(t) \in \mathcal{U}_{\text{ad}}(t), \end{cases}\] where the Fréchet derivative \(\mathrm{L}_{\log}(\cdot,\cdot)\) can be expressed in terms of the matrix logarithm following the formula 1 , \(\boldsymbol{\mu}(t) = (I - a A(t))^{-1} \mathbf{1}\), and \(\mathcal{U}_{\text{ad}}(t)\) is the one given in ?? .
Proof. The state equation for the dynamic receive \(\mathbf{r}(t)\) is derived by noting that the Hamiltonian \(\mathrm{H}\) is linear with respect to \(\boldsymbol{\lambda}\). For the costate equation, we proceed via direct computation as follows: \[\begin{align} \frac{\partial \mathrm{H}}{\partial \mathbf{r}} &= \frac{\partial}{\partial \mathbf{r}} \left[ \frac{\alpha}{2} \| U(t) \|_F^2 + \boldsymbol{\lambda}(t)^\top \left( -b \left( \mathbf{r}(t) - \mathbf{1} \right) - \log \left( I - a (A(t) + U(t))^\top \right) \mathbf{r}(t) \right) \right] \\ &= -b \boldsymbol{\lambda}(t)^\top - \boldsymbol{\lambda}(t)^\top \log \left( I - a (A(t) + U(t))^\top \right), \end{align}\] from which the result follows by transposing and changing the sign of the previous expression.
To obtain the expression for \(\frac{\partial \mathrm{H}}{\partial U}\), we utilize Lemma 2 and apply Theorem 6 directly. Proposition 1 directly implies the well-posedness of the state and co-state equations for \(\mathbf{r}(t)\) and \(\boldsymbol{\lambda}(t)\), respectively. It therefore remains only to verify the Fréchet derivative term appearing in the gradient. The term \(\mathrm{L}_{\log}\left(I - a(A(t)+U(t)),\boldsymbol{\lambda}(t) \mathbf{r}(t)^\top\right)\) can be equivalently expressed by 1 as \[\begin{bmatrix} I & O \end{bmatrix} \log\!\left( \begin{bmatrix} I - a\bigl(A(t) + U(t)\bigr) & \boldsymbol{\lambda}(t)\,\mathbf{r}(t)^\top \\ O & I - a\bigl(A(t) + U(t)\bigr) \end{bmatrix} \right) \begin{bmatrix} O \\[4pt] I \end{bmatrix}.\] The matrix logarithm of this \(2 \times 2\) block matrix is well-defined under the condition \(\rho\left(A(t) + U(t)\right) < \frac{1}{a},\) which is ensured by Proposition 1. ◻
In the linear case 11 , obtaining the optimality conditions is then an immediate corollary of Proposition 7.
Corollary 2. The Hamiltonian for the optimal control 11 problem is defined as \[\mathrm{H}(\mathbf{r}, U, \boldsymbol{\lambda}, t) = \frac{\alpha}{2}\| U(t) \|_F^2 + \boldsymbol{\lambda}(t)^\top \left( -b (\mathbf{r}(t) - \mathbf{1}) + a (A(t) + U(t))^\top \mathbf{r}(t) \right),\] and the optimality conditions are given by \[\begin{cases} \begin{cases}\displaystyle \dot{\mathbf{r}}(t) = \displaystyle \frac{\partial \mathrm{H}}{\partial \boldsymbol{\lambda}} = - b (\mathbf{r}(t) - \mathbf{1}) + a (A(t) + U(t))^\top \mathbf{r}(t),\\ \displaystyle \mathbf{r}(0) = \displaystyle \mathbf{1}, \end{cases} \\ \begin{cases}\displaystyle \dot{\boldsymbol{\lambda}}(t) =-\frac{\partial \mathrm{H}}{\partial \mathbf{r}} = b \boldsymbol{\lambda}(t) - a \left(A(t) + U(t)\right) \boldsymbol{\lambda}(t), \\ \boldsymbol{\lambda}(T) = \mathbf{r}(T) - \mathbf{r}^*. \end{cases} \\[1.4em] \displaystyle \frac{\partial \mathrm{H} }{\partial U} = \alpha U(t) + a \mathbf{r}(t) \boldsymbol{\lambda}(t)^\top, \\ U(t) \in \mathcal{U}_{\text{ad}}(t), \end{cases}\] for \(\mathcal{U}_{\text{ad}}(t)\) in either 13 or 14 .
At this stage, we have derived all the analytical expressions required to implement Algorithm [alg:nesterov95pg]. It remains to address their discretization and to develop an efficient computational strategy, which we discuss in the next Section 5.
To solve the problems in 10 , 11 and 12 using the PMP framework introduced in Section 4 and summarized in Algorithm [alg:nesterov95pg], we first need to discretize the expressions for the gradient, as well as the state and costate equations.
Once this is achieved, we apply a projected gradient method enhanced with the Nesterov’s acceleration to compute an approximation of the optimal control \(U(t)\) at the selected discretization time steps. In our implementation, all norms are induced by the Frobenius inner product on control matrices \(U(t)\), i.e., aggregated across all time steps. We use the tolerances \(\varepsilon_g\) and \(\varepsilon_x\) for monitoring the convergence of the projected gradient Algorithm [alg:nesterov95pg].
In the following sections, we detail the components of the resulting algorithm. Specifically, we begin by deriving an appropriate discretization scheme for the state and costate equations. We then address the efficient computation of matrix-function–vector products (Section 5.2), and finally discuss the evaluation of the projection operators (Section 5.3).
To evaluate the conditions in Proposition 7, i.e., update the state and costate in lines [line:solve_state] and [line:solve_costate] of Algorithm [alg:nesterov95pg], we need to march in time two non-autonomous ODEs \[\label{eq:state95for95r} \begin{cases} \displaystyle \dot{\mathbf{r}}(t) = \frac{\partial \mathrm{H}}{\partial \boldsymbol{\lambda}} = -b \left( \mathbf{r}(t) - \mathbf{1} \right) - \log \left( I - a (A(t) + U(t))^\top \right) \mathbf{r}(t), \\ \mathbf{r}(0) = \mathbf{1}, \end{cases}\tag{23}\] and \[\label{eq:costate95for95r} \begin{cases}\displaystyle \dot{\boldsymbol{\lambda}}(t) =-\frac{\partial \mathrm{H}}{\partial \mathbf{r}} = b \boldsymbol{\lambda}(t) + \log \left( I - a (A(t) + U(t)) \right) \boldsymbol{\lambda}(t), \\ \boldsymbol{\lambda}(T) = \mathbf{r}(T) - \mathbf{r}^*. \end{cases}\tag{24}\] In general, we consider the adjacency matrix \(A(t)\) at a finite set of time instants, \(\{A(t_k)\}_k\). However, these discrete observations are often insufficient to define a difference equation with reasonable accuracy, especially when the time intervals \(h_k = t_{k+1} - t_k\) are large. To address this, it is typically assumed that \(A(t)\) is a piecewise constant function over the intervals \([t_k, t_{k+1})\). While this assumption simplifies the representation, it results in the dynamics of the corresponding ODE being only piecewise continuous.
To effectively integrate the ODE systems 23 –24 , it is necessary to account for the discontinuities in the time-dependent adjacency matrix \(A(t)\). Under the piecewise constant assumption, the right-hand side of both equations is only piecewise continuous, with possible jumps at the time instants \(\{t_k\}_k\).
To handle this structure, we adopt an explicit Euler scheme applied separately on each interval \([t_k, t_{k+1})\) with a fixed step size \(h\). More precisely, within each interval, the dynamics are integrated assuming \(A(t)\) is constant and equal to \(A(t_k)\). The numerical solution is then advanced step by step until reaching \(t_{k+1}\).
At each switching time \(t_{k+1}\), the value of the numerical solution obtained at the end of the interval \([t_k, t_{k+1})\) is used as the initial condition for the subsequent interval \([t_{k+1}, t_{k+2})\). In this way, the integration procedure consistently propagates the solution across intervals while properly accounting for the discontinuities in \(A(t)\). While we selected the Euler method to control the computational cost, higher-order time-stepping methods can in principle improve the accuracy of the approximation.
To apply the procedure to a large time-dependent network we need a reliable way to evaluate for a large, sparse matrices \(M\) the matrix-vector product \(\log(M)\mathbf{v}\). Instead of explicitly forming \(\log(M)\), we employ Krylov-type subspace methods to provide an efficient way to approximate \(\log(M)\mathbf{v}\).
The key idea behind Krylov methods is to approximate the action of \(\log(M)\) on \(\mathbf{v}\) by working on the Krylov subspace of dimension \(k\) \[\mathcal{K}_k(M,\mathbf{v}) = \{\mathbf{v}, M\mathbf{v}, M^2\mathbf{v}, \ldots, M^{k-1}\mathbf{v}\}.\] The approximation in this subspace becomes more manageable by working on a smaller, projected, version of \(M\). The process begins by constructing an orthonormal basis \(Q_k\) for the Krylov subspace via the Lanczos method [37] for a symmetric \(M\) or via the Arnoldi method [37] for a general matrix. The result is a set of basis vectors that are used to form a small tridiagonal or Hessenberg matrix \(H_k\), respectively, which represents \(M\) in the reduced subspace as \(H_k = Q_k^\top M Q_k\). Once the projection is complete, we compute the matrix logarithm of \(H_k\) explicitly [28], [38] and obtain the approximation \[\log(M)\mathbf{v} \approx Q_k \log(H_k) (Q_k^\top \mathbf{v}).\] For the large number of evaluations that we need to march in time the solution to the state, costate equation and Hamiltonian gradient in Proposition 7 polynomial Krylov methods are particularly appealing. To march in time the solution of the differential equation for the state and the costate we can resort to the Lanczos method in the case where the underlying network is undirected at every instant of time and we seek a symmetric control \(U(t)\) to preserve the overall structure.
To evaluate the gradient of the Hamiltonian we need to compute the Fréchet derivative of the matrix logarithm. By 1 , the Fréchet derivative \(\mathrm{L}_{\log}(M,E)\) can be extracted from the matrix logarithm of a \(2n \times 2n\) block matrix. For each direction vector \(\mathbf{v}\), this amounts to computing the \(n\)-dimensional vector \[\mathrm{L}_{\log}(M,E)\mathbf{v} = \begin{bmatrix} I & O \end{bmatrix} \log \begin{pmatrix} M & E \\ O & M \end{pmatrix} \begin{bmatrix} \mathbf{0} \\ \mathbf{v} \end{bmatrix}, \quad M = I - a(A(t_k) + U_k),\] for \(U_k\) the approximation of \(U(t_k)\) induced by the choice of the time-stepping procedure. Although polynomial Krylov methods perform well for the state and costate equations, where the matrix \(M\) has spectrum in the right half-plane and the Arnoldi projection preserves this property reliably, the situation is different for the \(2n \times 2n\) block matrix above. For this doubled system, the projected Hessenberg matrix \(H_k\) can develop eigenvalues with negative real part, even when the spectrum of the original block matrix lies entirely in the right half-plane. Since the principal logarithm has a branch cut on \((-\infty,0]\), such spurious eigenvalues render the evaluation of \(\log(H_k)\) unreliable. To address this, we employ rational Krylov methods [27], [39], which replace the polynomial Krylov subspace by the rational Krylov subspace \[\mathcal{Q}_k(M,\mathbf{b},\Xi) = \operatorname{span}\left\{ \prod_{i=1}^{k}(M - \xi_i I)^{-1} \, p(M)\mathbf{b} \;:\; p \in \mathcal{P}_{k-1} \right\},\] where \(\Xi = \{\xi_1,\ldots,\xi_k\}\) is a prescribed set of poles. Poles at infinity recover the standard polynomial Krylov step. The rational Arnoldi decomposition [26] produces an orthonormal basis \(V_k\) and upper-Hessenberg pencil \((K_k,H_k)\) such that \[M \, V_k K_k = V_k H_k.\] The small projected matrix \(\hat{M}_k = K_k^{-1} H_k\) captures the spectral information of \(M\) relevant to the starting vector, and the approximation reads \[\label{eq:rat95krylov} \log(M)\mathbf{b} \approx V_k\, K_k \log(\hat{M}_k)\, (K_k^{-1} e_1 \|\mathbf{b}\|_2).\tag{25}\] In practice, the quality of the rational approximation depends crucially on the choice of poles. We select them automatically by computing an AAA rational approximant [40] of \(\log(x)\) on a set of sample points covering the interval \([1 - a \max_t \rho(A(t)), 1 + a \max_t \rho(A(t))]\), where \(a > 0\) is the edge attenuation parameter of the network model. The poles of the resulting rational function provide near-optimal shifts for the rational Krylov iteration. In this way, the number of poles (and therefore the Krylov subspace dimension) is determined adaptively by the AAA algorithm and is typically small (on the order of \(10\)–\(20\)) even when polynomial Krylov methods would require significantly more iterations.
We apply this rational Krylov strategy to the \(2n \times 2n\) block matrix from 1 . The block upper-triangular structure of this matrix is exploited in the operator-vector products and shifted system solves required by the rational Arnoldi iteration: each shifted solve reduces to two triangular back-substitutions with the \(n\times n\) shifted matrix \(\nu M - \mu I\), preserving the sparsity of the original problem.
The projected gradient method in Algorithm [alg:nesterov95pg] requires the computation of the projection operator \(\Pi_{\mathcal{U}_{ad}}:\mathbb{R}^{m}\rightarrow\mathcal{U}_{ad}\) onto the admissible control set. The dimension \(m\) corresponds to the number of independent control variables after taking into account the sparsity pattern \(\mathcal{P}\). In the general directed case, \(m\) is equal to the number of admissible entries of the pattern. In the symmetric case 14 , the number of variables is further reduced by considering only one triangular part of the control matrix, since the remaining entries are imposed by the condition \(U(t)=U^\top(t)\).
The sparsity constraint \([U(t)]_{i,j}=0\) if \((i,j)\notin\mathcal{P}\) is therefore incorporated directly into the choice of optimization variables and does not need to be enforced explicitly during the projection step.
For the admissible sets 13 and 14 , the constraint \(U(t)\geq -A(t)\) is an elementwise lower bound. After discretizing the control variables in time and introducing the vectorization operator \(\operatorname{vec}(\cdot)\), the projection onto this constraint reduces to a componentwise clipping operation.
Let \(\mathbf{U}^{(k)}\) denote the vectorized control at iteration \(k\) and let \(G^{(k)}\) denote the gradient of the objective functional. The projected gradient update is \[\begin{align} \mathbf{U}^{(k+1)} &= \Pi_{\mathcal{U}_{ad}} \left( \mathbf{U}^{(k)} -\eta G^{(k)} \right) \nonumber \\ &= \max \left\{ \mathbf{U}^{(k)} -\eta \left( \alpha\mathbf{U}^{(k)} + a\,\operatorname{vec} (\boldsymbol{\lambda}\mathbf{r}^{\top}) \right), -\operatorname{vec}(\mathbf{A}) \right\}, \end{align}\] where the maximum is taken componentwise. Here \(\mathbf{A}\) denotes the vectorized adjacency matrix corresponding to the considered time step.
For the admissible set ?? , the constraint involving the Katz vector is given by \[U(t)\boldsymbol{\mu}(t) \leq \left(\frac{1}{a}-\epsilon\right)\mathbf{1}.\] Using the identity \(\operatorname{vec}(U\boldsymbol{\mu}) = (\boldsymbol{\mu}^{\top}\otimes I_n)\operatorname{vec}(U)\), the constraint can be written as a linear inequality in the vectorized control variables: \[\begin{align} (\boldsymbol{\mu}(t)^\top\otimes I_n)\mathbf{U}(t) \leq \left(\frac{1}{a}-\epsilon\right)\mathbf{1}. \end{align}\] The unconstrained gradient step is first computed independently at each time instant. E.g., for the logarithmic dynamics, this gives \[\begin{align} \widetilde{\mathbf{U}}^{(k)} = \mathbf{U}^{(k)} - \eta \left[ \alpha\mathbf{U}^{(k)} + a\,\operatorname{vec} \left( \mathrm{L}_{\log} \left( I-a(A(t_k)+U^{(k)})^\top, \boldsymbol{\lambda}(t_k)\mathbf{r}(t_k)^\top \right) \right) \right]. \end{align}\] The projection is then obtained by solving the quadratic program \[\begin{align} \min_{\mathbf{U}\in\mathbb{R}^{m}} \quad& \frac{1}{2} \left\| \mathbf{U}-\widetilde{\mathbf{U}}^{(k)} \right\|_2^2 \\ \text{s.t.}\quad& (\boldsymbol{\mu}(t_k)^\top\otimes I_n)\mathbf{U} \leq \left(\frac{1}{a}-\epsilon\right)\mathbf{1}, \\ & \mathbf{U}\geq-\mathbf{A}(t_k). \end{align}\] This projection is a convex quadratic program because both the objective and the constraints are convex. The case in 13 can be handled in an entirely analogous manner, leading to a similar quadratic program where the first linear constraint is replaced by \((\mathbf{1}^{\top} \otimes I_n)\mathbf{U} \leq \left(\frac{\pi}{a}-\epsilon\right)\mathbf{1} - A(t_k)\mathbf{1}\). Finally, for the symmetric admissible set 14 , the equality constraint \(U(t)=U^\top(t)\) is enforced by a reduced parametrization. Let \(\mathcal{I}_{\mathcal{P}}\) denote the set of admissible entries in the upper triangular part of the sparsity pattern. The independent control variables are collected in \(\mathbf{u}(t) = \{U_{ij}(t):(i,j)\in\mathcal{I}_{\mathcal{P}},\;i\leq j\}\). A linear expansion operator \(S\) reconstructs the complete symmetric matrix according to \(\operatorname{vec}(U(t)) = S\mathbf{u}(t)\). The projected gradient step is therefore performed in the reduced variable space: \(\mathbf{u}^{(k+1)} = \Pi_{\mathcal{U}_{ad}^{s}} \left( \mathbf{u}^{(k)} -\eta g^{(k)} \right)\), where the reduced gradient is obtained from the full matrix gradient through \(g^{(k)} = S^\top \operatorname{vec} \left( \nabla_U J(U^{(k)}) \right)\). For the elementwise admissible constraint, the projection remains a componentwise clipping operation, but it is applied only to the independent triangular variables \[\begin{align} u_{ij}^{(k+1)} = \max \left\{ u_{ij}^{(k)} -\eta g_{ij}^{(k)}, -A_{ij}(t_k) \right\}, \qquad (i,j)\in\mathcal{I}_{\mathcal{P}}. \end{align}\] The remaining entries are recovered automatically by symmetry, namely \(U_{ji}=U_{ij}\). Consequently, the equality constraint \(U=U^\top\) is satisfied by construction and no additional projection step is required.
In this section we consider numerical experiments to validate the theory discussed in Section 4. In Section 6.1 we discuss a few small-size cases for which we can easily visualize
the obtained controls and states to verify that the results are the expected ones. Then, in Section 6.2, we investigate a larger case scenario in which we employ the techniques discussed in Section 5 to reduce the computational costs. The implementation is done in Matlab (v9.10.0.1602886 (R2021a)), and the experiments are run on a single node (AMD EPYC 7763, 2 Threads per core, 64 cores
per socket, 2 sockets, 2 of RAM, Ubuntu 22.04.4 LTS) of the Toeplitz cluster at the Green Data Center (GDC) of the University of Pisa. For the AAA algorithm [40] we employ the implementation available in the Chebfun [41]
package (v5.7.0). For the generation of the Rational Krylov subspace we use instead the Rational Krylov Toolbox for Matlab (RKToolbox) [26] (v2.9).
The focus of this section is on small-scale examples where the results can be effectively visualized. We begin with the case of the temporal network illustrated in Figure 3.
This network, originally presented in [7], is a synthetic telephone-call example with \(n = 17\) nodes evolving through seven snapshots. The nodes represent callers and are visibly organized in the form of a tree, at time step \(0\) two callers start the diffusion of an information that triggers a cascade of calls between the callers. We first compute the uncontrolled dynamic receive centrality \(\mathbf{r}(t)\) over \(t \in [0,7]\), which measures the importance as receiver at time \(t\) of the different callers, then we define a perturbed target by setting \(\mathbf{r}^* \equiv \mathbf{r}(7)\), \(\mathbf{r}_3^* = \mathbf{r}_4^* = 1.2\), while keeping all other components equal to the uncontrolled final state (Figure [fig:switching-tree-shortcut:states]). Namely, we want to just increase the importance as receivers of two of the callers.
The admissible pattern is \(\mathcal{P} = \{ (i,j) \in V\times V\, :\, (i,j) \in E_t \text{ for some } t\in[0,T]\}\), that is, every edge that appears at least once in the temporal sequence can be controlled. Time integration is performed with the forward Euler scheme discussed in Section 5.1, using step size \(h=10^{-2}\). We then solve problem 10 by Algorithm [alg:nesterov95pg] for three values of the Tikhonov weight \(\alpha\in\{1,0.5,0.05\}\), and \(\eta = 10^{-1}\).
The convergence curves in Figure 4 (a) show the expected trade-off between control effort and iteration count. For \(\alpha=1\) the method reaches \(\|\mathbf{g}^{(k)}\|\approx 8.43\times 10^{-7}\) in \(24\) iterations, while for \(\alpha=0.5\) it reaches \(\|\mathbf{g}^{(k)}\|\approx 8.80\times 10^{-7}\) in \(31\) iterations; the low-regularization case \(\alpha=0.05\) requires substantially more iterations (\(604\)) and reaches \(\|\mathbf{g}^{(k)}\|\approx 1.40\times 10^{-6}\).
The objective values in Figure 4 (b) are consistent with this behavior: reducing \(\alpha\) yields a lower final cost, from \(J\approx 4.80\times 10^{-3}\) (\(\alpha=1\)) to \(J\approx 3.87\times 10^{-3}\) (\(\alpha=0.5\)) and \(J\approx 9.31\times 10^{-4}\) (\(\alpha=0.05\)). Panel [fig:dynamic-receive-panel-c] confirms that the controlled terminal state moves the two modified components toward the prescribed target, and that lower regularization improves the terminal matching while preserving the qualitative structure of the uncontrolled profile on the remaining components.
We repeat the same test for the linear dynamics in 11 , using exactly the same target-design procedure as above. Namely, we first compute the uncontrolled trajectory up to \(t=7\), then define the desired terminal state by replacing only the components at nodes \(3\) and \(4\) with the value \(1.2\), while leaving all other entries unchanged. Figure [fig:switching-tree-shortcut-linear:results] reports the corresponding convergence histories and final objective values.
The linear case exhibits the same qualitative dependence on the Tikhonov weight \(\alpha\) observed in the logarithmic model. From Figure 5, for \(\alpha=1\) the method converges in \(54\) iterations with \(\|\mathbf{g}^{(k)}\|\approx 8.33\times 10^{-7}\), for \(\alpha=0.5\) in \(102\) iterations with \(\|\mathbf{g}^{(k)}\|\approx 9.93\times 10^{-7}\), and for \(\alpha=0.05\) in \(615\) iterations with \(\|\mathbf{g}^{(k)}\|\approx 1.75\times 10^{-6}\). As expected, weaker regularization reduces the final value of the cost functional: Figure [fig:switching-tree-shortcut-linear:results-b] gives \(J\approx 7.35\times 10^{-3}\) (\(\alpha=1\)), \(J\approx 6.12\times 10^{-3}\) (\(\alpha=0.5\)), and \(J\approx 1.92\times 10^{-3}\) (\(\alpha=0.05\)). Overall, this confirms the same accuracy-versus-effort trade-off: smaller \(\alpha\) yields better terminal matching at the price of more iterations.
As a larger-scale example, we consider the CollegeMsg temporal network [42], a dataset of private messages exchanged on an
online social network at the University of California, Irvine. The dataset records directed interactions: an edge \((u, v, t)\) indicates that user \(u\) sent a private message to user \(v\) at Unix timestamp1 \(t\), yielding a total of \(n = 1899\) users and over
\(59\,000\) timestamped communications.
To construct the time-varying adjacency matrices, we partition the full observation period uniformly into \(n_t = 30\) time windows and normalize the resulting breakpoints to the interval \([0, 10]\); see Figure [fig:messagenet-window]. For each window \(i = 1, \ldots, n_t - 1\), we collect all edges with timestamps in \([t_i, t_{i+1})\) and assemble the sparse adjacency matrix \(A_i \in \mathbb{R}^{n \times n}\), where each nonzero entry records an observed message. The communication activity varies considerably across windows, as reflected by the spread in the number of nonzeros \(\operatorname{nnz}(A_i)\) shown in Figure [fig:messagenet-nnz]. The parameter \(a\) in the centrality model is set to \(a = 1/(\rho_{\max} + 1)\), where \(\rho_{\max} = \max_i \rho(A_i)\) is the largest spectral radius across all snapshots, ensuring that \(I - aA_i\) admits a matrix logarithm throughout the horizon; see again Remark 1.
Before running the full optimization, we validate the Krylov method for the matrix logarithm action described in Section 5. For each snapshot \(A_i^\top\), we apply
logmv with tolerance \(10^{-6}\) and a maximum of \(40\) Arnoldi iterations to compute \(\log(I - a A_i^\top)\mathbf{e}\), where \(\mathbf{e}\) is a fixed random Gaussian vector, and compare the result against the dense reference [28] \(\texttt{logm}(I - aA_i^\top)\mathbf{e}\). The absolute and relative errors, together with the number of Krylov iterations \(k\) required to meet the stopping criterion, are reported in Table 1. Across all \(29\) snapshots the method converges in at most \(18\) iterations, and both absolute and relative errors remain well below \(10^{-7}\), confirming that the Krylov-based procedure from Section 5 is an effective method for the matrices arising in this dataset.
| \(i\) | \(k\) | Abs.error | Rel.error | \(i\) | \(k\) | Abs.error | Rel.error |
|---|---|---|---|---|---|---|---|
| 1 | 6 | \(4.78\times10^{-11}\) | \(1.75\times10^{-10}\) | 16 | 9 | \(2.48\times10^{-9}\) | \(2.53\times10^{-9}\) |
| 2 | 11 | \(4.39\times10^{-9}\) | \(2.41\times10^{-9}\) | 17 | 8 | \(2.11\times10^{-9}\) | \(3.96\times10^{-9}\) |
| 3 | 17 | \(1.39\times10^{-8}\) | \(3.89\times10^{-9}\) | 18 | 8 | \(4.89\times10^{-10}\) | \(9.41\times10^{-10}\) |
| 4 | 15 | \(2.18\times10^{-8}\) | \(6.01\times10^{-9}\) | 19 | 9 | \(6.61\times10^{-10}\) | \(1.38\times10^{-9}\) |
| 5 | 14 | \(1.84\times10^{-8}\) | \(7.69\times10^{-9}\) | 20 | 10 | \(2.58\times10^{-9}\) | \(2.76\times10^{-9}\) |
| 6 | 18 | \(4.48\times10^{-8}\) | \(4.61\times10^{-9}\) | 21 | 9 | \(4.60\times10^{-10}\) | \(5.98\times10^{-10}\) |
| 7 | 14 | \(1.26\times10^{-8}\) | \(3.66\times10^{-9}\) | 22 | 8 | \(1.74\times10^{-10}\) | \(4.54\times10^{-10}\) |
| 8 | 8 | \(2.02\times10^{-9}\) | \(1.65\times10^{-9}\) | 23 | 8 | \(5.13\times10^{-9}\) | \(5.36\times10^{-9}\) |
| 9 | 13 | \(5.38\times10^{-9}\) | \(3.16\times10^{-9}\) | 24 | 8 | \(8.96\times10^{-10}\) | \(1.04\times10^{-9}\) |
| 10 | 7 | \(1.06\times10^{-9}\) | \(2.82\times10^{-9}\) | 25 | 8 | \(3.30\times10^{-8}\) | \(9.92\times10^{-9}\) |
| 11 | 6 | \(1.82\times10^{-10}\) | \(1.09\times10^{-9}\) | 26 | 8 | \(3.97\times10^{-10}\) | \(8.93\times10^{-10}\) |
| 12 | 10 | \(4.63\times10^{-9}\) | \(6.72\times10^{-9}\) | 27 | 8 | \(9.75\times10^{-10}\) | \(2.20\times10^{-9}\) |
| 13 | 9 | \(1.76\times10^{-9}\) | \(2.99\times10^{-9}\) | 28 | 6 | \(1.17\times10^{-9}\) | \(5.05\times10^{-9}\) |
| 14 | 8 | \(4.11\times10^{-9}\) | \(7.28\times10^{-9}\) | 29 | 7 | \(8.05\times10^{-11}\) | \(4.53\times10^{-10}\) |
| 15 | 8 | \(3.26\times10^{-9}\) | \(3.90\times10^{-9}\) |
We perform a similar validation for the Fréchet-derivative action used in the gradient evaluation, \[\mathrm{L}_{\log}(A_i^\top,\boldsymbol{\lambda}\mathbf{r}^\top)\mathbf{v}.\] For each snapshot \(A_i^\top\), we set \(M_i = I-aA_i\), generate fixed random Gaussian vectors \(\boldsymbol{\lambda},\mathbf{r},\mathbf{v}\in\mathbb{R}^n\), and compare the Krylov
approximation produced by the rational Krylov approximation 25 against the dense reference \(\mathbf{y}_{\mathrm{ref}} =
\mathrm{L}_{\log}(M_i^\top,\boldsymbol{\lambda}\mathbf{r}^\top)\mathbf{v}\), computed with logm_frechet_pade [28]. For the Fréchet
action we now use the rational Krylov routine with a fixed set of \(11\) poles (obtained by AAA on the \([1 - a \max_t \rho(A(t)), 1 + a \max_t \rho(A(t))]\) interval). The absolute and
relative errors are reported in Table 2. Across all \(29\) snapshots, the relative errors range from \(1.07\times10^{-14}\) to \(1.60\times10^{-7}\), confirming that the rational Krylov Fréchet action is highly accurate for gradient evaluations in this dataset.
| \(i\) | Abs.error | Rel.error | \(i\) | Abs.error | Rel.error |
|---|---|---|---|---|---|
| 1 | \(1.06\times10^{-12}\) | \(1.07\times10^{-14}\) | 16 | \(1.45\times10^{-11}\) | \(1.60\times10^{-13}\) |
| 2 | \(4.05\times10^{-9}\) | \(2.91\times10^{-11}\) | 17 | \(6.60\times10^{-12}\) | \(6.99\times10^{-14}\) |
| 3 | \(7.80\times10^{-6}\) | \(1.60\times10^{-7}\) | 18 | \(6.87\times10^{-12}\) | \(7.01\times10^{-14}\) |
| 4 | \(1.14\times10^{-6}\) | \(5.76\times10^{-9}\) | 19 | \(7.23\times10^{-12}\) | \(7.63\times10^{-14}\) |
| 5 | \(2.08\times10^{-7}\) | \(1.50\times10^{-9}\) | 20 | \(2.97\times10^{-9}\) | \(3.25\times10^{-11}\) |
| 6 | \(9.17\times10^{-6}\) | \(3.41\times10^{-8}\) | 21 | \(1.73\times10^{-11}\) | \(1.98\times10^{-13}\) |
| 7 | \(1.51\times10^{-7}\) | \(8.91\times10^{-10}\) | 22 | \(6.46\times10^{-12}\) | \(5.82\times10^{-14}\) |
| 8 | \(7.82\times10^{-12}\) | \(8.33\times10^{-14}\) | 23 | \(2.13\times10^{-11}\) | \(3.56\times10^{-13}\) |
| 9 | \(4.78\times10^{-8}\) | \(3.22\times10^{-10}\) | 24 | \(1.16\times10^{-11}\) | \(1.79\times10^{-13}\) |
| 10 | \(6.14\times10^{-12}\) | \(5.90\times10^{-14}\) | 25 | \(2.02\times10^{-10}\) | \(2.13\times10^{-12}\) |
| 11 | \(6.61\times10^{-12}\) | \(6.35\times10^{-14}\) | 26 | \(6.31\times10^{-12}\) | \(6.54\times10^{-14}\) |
| 12 | \(7.08\times10^{-10}\) | \(8.97\times10^{-12}\) | 27 | \(4.74\times10^{-12}\) | \(5.19\times10^{-14}\) |
| 13 | \(1.26\times10^{-11}\) | \(1.54\times10^{-13}\) | 28 | \(6.29\times10^{-12}\) | \(6.27\times10^{-14}\) |
| 14 | \(6.80\times10^{-12}\) | \(8.21\times10^{-14}\) | 29 | \(6.79\times10^{-12}\) | \(6.36\times10^{-14}\) |
| 15 | \(7.08\times10^{-12}\) | \(7.86\times10^{-14}\) |
We now consider the general problem using the CollegeMsg temporal network with approximately 1,899 nodes and 29 snapshots. The adjacency matrices are interpolated at a uniform time step \(\Delta t = 0.1\)
across the normalized time domain, yielding \(116\) discrete time levels for optimization. Following Remark 2, the edge
attenuation parameter is set to \(a = 1/(2\rho_{\max})\), where \(\rho_{\max} = \max_k \rho(A_k)\) is the maximum spectral radius. The temporal decay rate is \(b =
0.85\), and the control regularization weight is \(\alpha = 1\). For the Krylov approximations, we use tolerance \(10^{-6}\) and maximum 40 iterations for polynomial actions on
state/costate, and a fixed set of 11 poles (chosen via AAA) for rational Krylov Fréchet actions. To decide the set of edges of the temporal network we can modify, we first build the sparsity pattern \(P\) as the union of
all temporal adjacency patterns, then we restrict it to only the edges incident to 50 randomly selected nodes, creating \(814\) controllable entries per time step. Feasibility is enforced via the Katz-based linear
constraint from Proposition 1, ensuring \(\rho(A(t) + U(t)) < 1/a\) at all times through convex quadratic
projections with numerical margin \(10^{-6}\). To decide the target state, we first simulate the uncontrolled receive centrality \(\mathbf{r}^{\mathrm{nc}}(T)\) to terminal time \(T = 10\). The target state \(\mathbf{r}^*\) is a perturbed version: for each of the 50 controllable nodes, we set \(r^*_i = \max(2 \cdot r^{\mathrm{nc}}_i \cdot \xi,
1)\) where \(\xi \sim \mathrm{U}(0,1)\) is uniform random, creating a non-trivial steering objective.
We employ the Nesterov accelerated projected-gradient method with monotone restart from Algorithm [alg:nesterov95pg]. The algorithm runs for up to \(2000\) iterations with fixed step size \(\eta = 0.10\), momentum coefficient and the three stopping criteria: \(\|\nabla_U J\| \le 10^{-6}\), relative step size \(\le 10^{-8}\), or relative objective change \(\le 10^{-8}\). Monotone restart rejects momentum if an extrapolated gradient step increases the objective, enhancing robustness.
At each iteration, the algorithm computes the state trajectory (forward Euler), costate trajectory (backward adjoint, reverse time), and gradient via matrix-free Krylov evaluations. The control gradient is computed employing the Fréchet action via rational Krylov with AAA poles on \([1-a \max_{t}\rho(A(t)),1+a \max_{t}\rho(A(t))] \approx [a, 2]\). Feasibility projections via quadratic programming are applied to each time-step control after the gradient step. The accuracy of the Krylov approximations (as validated in Table 2) ensures that repeated state/costate/gradient evaluations remain stable throughout the optimization.
Figure 7 shows the convergence history of the Nesterov accelerated projected-gradient solver on the full temporal network problem.
We note that even in the case of a larger-scale problem the behavior with respect to the regularization parameter is analogous to what was seen in the cases in Section 6.1, the number of necessary iterations increases as \(\alpha\) decreases, and the method declares convergence at iteration 862 with a projected gradient norm \(\approx 3.663 \times 10^{-6}\), and a total convergence cost of \(J \approx 3.758922\). The gradient tolerance is not satisfied, but the difference between two successive iterates has dropped below the threshold of \(10^{-7}\) reaching \(9.9 \times 10^{-8}\) and causing convergence to be declared.
In this work we formulated and analyzed a pattern-constrained optimal control problem for dynamic receive centrality on temporal networks. Using the Pontryagin Maximum Principle, we derived state, costate, and gradient conditions for both the logarithmic model and its linearized counterpart, and we introduced a practical projection strategy based on a sufficient linear constraint that preserves well-posedness of the logarithmic dynamics. On the algorithmic side, we adopted a Nesterov accelerated projected-gradient scheme with monotone restart, and we combined it with matrix-free Krylov approximations for both matrix-logarithm actions and Fréchet-derivative actions. The numerical results show that this combination is effective on both synthetic and real temporal data: the optimization procedure remains stable under pattern constraints, and Krylov-based evaluations provide accurate approximations at moderate subspace dimensions, making repeated state/costate/gradient evaluations computationally viable.
Several extensions can follow from the present framework. A first direction is a sharper theoretical analysis of convergence for the projected accelerated method in the nonconvex setting induced by the logarithmic dynamics, including quantitative guarantees for restart strategies. A second direction is to further reduce the cost of the Fréchet term by exploiting block, low-rank, or recycling Krylov spaces across consecutive time steps and optimization iterations. A third direction is to investigate adaptive and higher-order time integration tailored to piecewise-smooth temporal networks, balancing accuracy and runtime in large horizons. From a modeling perspective, it is also of interest to consider multi-objective formulations that jointly steer receive centrality and other dynamic-network functionals, as well as robust or stochastic variants that account for uncertainty in temporal edges. Finally, extending the framework to distributed and parallel implementations would be essential for very large networks, where sparse linear algebra and matrix-function actions become the dominant computational bottleneck.
All the authors are members of the INdAM GNCS and acknowledge the MUR Excellence Department Project awarded to the Department of Mathematics, University of Pisa, CUP I57G22000700001.
This research has been partially funded by the Italian Ministry of University and Research (MUR) through the PRIN 2022 “MOLE: Manifold constrained Optimization and LEarning”, code: 2022ZK5ME7 MUR D.D. financing decree n. 20428 of November 6th, 2024 (CUP B53C24006410006) and Fondo Italiano per la Scienza (FIS2023-01334) advanced grant “ADvanced numerical Approaches for MUltiscale Systems with uncertainties"- ADAMUS.
The code to reproduce the numerical examples is available on the GitHub repository Cirdans-Home/optimal-network-control.
Not applicable The authors declare no competing interests.
The Unix timestamp is the number of seconds between a particular date and the Unix Epoch (January 1st, 1970 UTC).↩︎