## 2 Materials and Methods
### The Mixed-Integer and Asynchronous Level Decomposition  
For every point \(\mathbf{x}_{\mathrm{k}}\), where \(\mathrm{k}\) represents an iteration counter, worker \(\mathrm{j}\) receives \(\mathbf{x}_{\mathrm{k}}\) and provides us with the first-order information on the component function \(f^{\mathrm{j}}\): the value of the function \(f^{\mathrm{j}}(\mathbf{x}_{\mathrm{k}})\) and a subgradient [23]\(g^{\mathrm{j}}_{\mathrm{k}}\in\partial f^{\mathrm{j}}(\mathbf{x}_{\mathrm{k}})\), in the two-stage setting, \(g^{\mathrm{j}}_{\mathrm{k}}:=-\sum_{\mathrm{s}\in P_{\mathrm{j}}}\mathbf{T}_{ \mathrm{s}}^{\mathrm{T}}\pi_{\mathrm{s}}\). Convexity of \(f^{\mathrm{j}}\) implies that the linearization \(f^{\mathrm{j}}(\mathbf{x}_{\mathrm{k}})+\langle g^{\mathrm{j}}_{\mathrm{k}}, x-\mathbf{x}_{\mathrm{k}}\rangle\) approximates \(f^{\mathrm{j}}(x)\) from below for all \(x\). By gathering iteration indices into sets \(f^{\mathrm{j}}\subset\{1,2,\ldots,\mathrm{k}\}\) along with the iterations at which \(f^{\mathrm{j}}\) were evaluated, we can construct individual cutting-plane models for functions \(f^{\mathrm{j}}\), with \(\mathrm{j}\in\{1,\ldots,\mathrm{w}\}\):\(\min_{\mathrm{i}\in\partial f^{\mathrm{j}}}\{f^{\mathrm{j}}(\mathbf{x}_{ \mathrm{k}})+\langle g^{\mathrm{j}}_{\mathrm{k}},x-\mathbf{x}_{\mathrm{k}} \rangle\}\leq f(x)\). These models define--together with a stability center \(\hat{\mathbf{x}}_{\mathrm{k}}\), a level parameter \(\hat{\mathbf{f}}_{\mathrm{k}}^{\mathrm{dev}}\in\mathfrak{R}\), and a given norm \(\lVert\cdot\rVert_{2}\)--the following master program (MP)  
\[\left\{ \begin{array}{rl}\min_{x,y}&\lVert x-\hat{\mathbf{x}}_{\mathrm{k}} \rVert_{2}\\ \mathrm{s.t.}&\text{possible feasibility cuts}\\ &f^{\mathrm{j}}(\mathbf{x}_{\mathrm{i}})+\langle g^{\mathrm{j}}_{\mathrm{i}}, x-\mathbf{x}_{\mathrm{i}}\rangle\leq\eta_{\mathrm{j}},\quad\forall\mathrm{i}\in f ^{\mathrm{j}}_{\mathrm{k}},\forall\mathrm{j}=1,\ldots,\mathrm{w}\\ &\mathbf{c}^{\mathrm{T}}x+\sum\limits_{\mathrm{j}=1}^{\mathrm{w}}\tau_{ \mathrm{j}}\leq\hat{\mathbf{f}}_{\mathrm{k}}^{\mathrm{dev}},\ x\in\mathcal{X}. \end{array} \right. \tag{4}\]At iteration k, an MP solution is denoted by \(\mathbf{x}_{k+1}\). If any \(Q_{s}\) is infeasible at \(\mathbf{x}_{k+1}\), then a feasibility cut is added to the MP. We skip further details on this matter, since it is a well-known subject in the literature of two-stage programming [5]. On the other hand, if \(\mathbf{x}_{k+1}\) (sent to a work j) is feasible for all recourse functions, \(Q_{s}\), the model \(f^{\text{j}}\) in the MP is updated. The improvement in the model \(f^{\text{j}}\) is possibly based on outdated iterate \(\mathbf{x}_{a(\text{j})}\), where \(a(\text{j})<\text{k}\) is the iteration index of the _anterior_ information provided by worker j. We care to mention that the MP can be infeasible itself depending on the level parameter \(\mathbf{f}_{\text{k}}^{\text{dev}}\). Due to the convexity of the involved functions, if the MP is infeasible, then \(\mathbf{f}_{\text{k}}^{\text{dev}}\) is a valid lower bound, \(f_{\text{k}}^{\text{low}}\), on \(f_{*}\)[30]. Without coordination, there is no reason for all workers to be called upon the same iterate. This fact precludes the computation of an upper bound, \(f_{\text{k}}^{\text{up}}\), of \(f_{*}\). Algorithm 2 in Reference [31] deals with this situation without resorting to coordination techniques, but it requires more assumptions on the functions \(f^{\text{j}}\): upper bounds on their Lipschitz constants should be known. Since we do not make this assumption, we will need scarce coordination akin to Algorithm 3 of Reference [31] for computing upper bounds on \(f_{*}\). As in Reference [31], the coordination iterates are denoted by \(\mathbf{\widetilde{x}}_{\text{k}}\). Assuming that all workers eventually respond (after an unknown time), the coordination allows them to compute the full value, \(f(\mathbf{\widetilde{x}}_{\text{k}})\), and a subgradient, \(\mathbf{\widetilde{g}}\in\partial f(\mathbf{\widetilde{x}}_{\text{k}})\), at the coordination iterate.