## 4 Solution Procedure
### Lower Bounds
#### 4.2.2 Lower Bound Heuristic on MMCMCLP  
In this section, a heuristic method to obtain the lower bound for the MMCMCLP is presented. This heuristic method produces feasible solutions that can be used as an approximation for the optimal value of the MMCMCLP. It is important to note that due to the computational simplicity of the proposed heuristic method, it can be used as an independent method to obtain a feasible approximate solution on the optimal objective value of MMCMCLP when the computational resources are limited. At Step 1, the heuristic starts with locating \(p\) facilities out of \(i\) possible points using the criteria of more capacity (with weight factor \(w_{1}\)) and the more coverage provided with each \(i\) point (with weight factor \(w_{2}\)). Using weight factors, one can determine the importance of cost or coverage in locating facilities. After finding the location of the \(p\) facilities, the decisions for the module assignment will be fulfilled at Step 2. At Step 2, the algorithm considers the potential of each size of each module to be assigned to the \(p\) located facilities using parameter \(\varphi_{i_{p}l}\). At Step 3, the demand points are sorted by the possible income that they can provide from each located facility \(i_{p}\) and module \(l\) at time period \(t\). At Step 4, the sorted income of demand points from modules is augmented in parameter \(\pi_{i_{p}l}\) until it reaches the capacity of the located facilities in each time period. On the other hand, the sorted income of the demand points will be augmented in parameter \(\sigma_{i_{p}l}\) for each located facility \(i_{p}\) and each module \(l\) at each time period \(t\), until it reaches the capacity of the module \(l\). At the final step, using the income from the covered demands and the calculated cost of the assigned modules, the objective value can be obtained. In contrary to the mathematical model of the MMCMCLP that capacity constraints impose computational difficulty, these constraints play a positive role in the quality of the solution obtained by the heuristic method. The detailed algorithm is shown as follows (Algorithm 1):  
```
Step 1. Choose the largest \(p\) values of \(\delta_{i}=w_{1}\beta_{i}+w_{2}\sum\limits_{j,l,t}g_{ij}\;a_{jlt}\). \(i_{p}\) is the set of \(i\) that provides \(p\) maximum values of \(\delta_{i}\) and put the related \(v_{i\in i_{p}}=1\), otherwise \(v_{i}=0\). Step 2. Calculate \(\varphi_{i_{p}l}=\max_{k}\left(B_{lk}/h_{i_{p}l_{k}l_{t}}\right)\) for each \(i_{p},l,k,t\). If \(\varphi_{i_{p}l}h\geq\left[\max_{l,k_{p}}B_{lk_{t}}/mean_{i_{p},l,k_{p}},h_{i _{p}l_{k}l_{t}}\right]\), assign the module \(l\) to the located facility \(i_{p}\) at time period \(t\) in variable \(y_{i_{p}l_{k}l_{t}}=1\), otherwise \(y_{i_{p}l_{k}l_{t}}=0\). Calculate \(\sum\limits_{i_{p}l_{k}l_{t}}h_{i_{p}l_{k}l_{t}}y_{i_{p}l_{k}l_{t}}\). Step 3. Sort \(\gamma_{i_{p}l}=g_{i_{p}l_{p}}\), \(a_{jlt}\) with respect to \(j\) for each \(i_{p},l\). \(t\). Set \(\pi_{i_{p}l}=0\) and \(\sigma_{i_{p}l}=0\). Step 4. For each \(i_{p},t\), iterate \(\pi_{i_{p}l}\leftarrow\pi_{i_{p}l}+\gamma_{i_{p}l_{t}}\) until \(\pi_{i_{p}l}\leq\beta_{i_{p}}v_{i_{p}}\). For each \(i_{p},l,t\), iterate \(\sigma_{i_{p}l}\leftarrow\sigma_{i_{p}l}+\gamma_{i_{p}l}\) until \(\sigma_{i_{p}l}\leq\sum\limits_{k_{p}}B_{lk_{t}}\), \(\gamma_{i_{p}l_{k}l_{t}}\). For the demand points \(j\) involved in the iterations put \(x_{i_{p}ll}=1\), for others \(x_{i_{p}ll}=0\). Step 5. \(Z_{HLB}=\sum\limits_{i_{p}jll}\;a_{j}\;g_{ij}\;a_{jlt}\;x_{i_{p}jl}-\sum\limits _{i_{p}l_{k}l_{t}}h_{i_{p}l_{k}l_{t}}y_{i_{p}l_{k}l_{t}}\).
```  
**Algorithm 1**The Heuristic Solution Method for MMCMCLP.