edge $(n_1,n_2)\in{\mathcal{F}}$ between nodes such that:

-   $n_1$ and $n_2$ are connected, i.e., $(n_1,n_2)\in{\mathcal{E}}$, and

-   $n_1$ belongs to a network level immediately higher to the one of $n_2$, e.g., $n_1$ is a ring and $n_2$ is a base station.

We will say that node $n_1$ is a [*parent*]{} of $n_2$ if $(n_1,n_2)\in{\mathcal{F}}$. Base stations have no children, i.e., they are leaves in the DAG, while core switches have no parents, i.e., they are roots.

[**Notation.**]{} We denote by $n\in{\mathcal{N}}$ all the nodes of the cellular network, from base stations to core-level switches, and by $b\in{\mathcal{B}}\subset{\mathcal{N}}$ the base stations among them. The physical distance between any two nodes $n_1$ and $n_2$ is denoted by $d(n_1,n_2)$. Contents are specific to [*category*]{} $k\in{\mathcal{K}}$, e.g., video, gaming, or maps, and time is discretized into steps $t\in{\mathcal{T}}$. We denote by $\delta(b,k,t)$ the demand from users covered by base station $b$, for contents of category $k$ and during step $t$.

MEC design {#mec-design}
----------

Designing our MEC network means making two decisions, each corresponding to a binary variable:

-   whether we should place a server at node $n\in{\mathcal{N}}$, expressed through variable $y(n)\in\{0,1\}$;

-   whether the traffic coming from base station $b\in{\mathcal{B}}$ shall be served by 