## 4 Proposed Solution  
### Specific Heuristic Algorithm  
Two heuristic approaches have been discussed for implementation in the DSS. The first one is a _Receding Horizon Strategy_ (RHS) which obtains a sub-optimal solution sequentially (similar to [30]), while the second one is a _Specific Heuristic Algorithm_ (SHA) based on list scheduling techniques [31; 32; 33]. The SHA for the scheduling of patients problem is composed of three parts: (i) a previous data analysis; (ii) the scheduling of the time blocks; and (iii) a re-assignment of time blocks. Part (i): A previous data analysis. This part is composed of two steps executed sequentially once at the beginning of the scheduling. _Step 1. Classify the set of surgeries \(\mathcal{S}\)_ in a given number \(t\) of disjoint subsets such that \(\mathcal{S}=\overline{S_{1}}\cup\ldots\cup\overline{S_{t}}\), \(t\) being an input parameter. This classification is done based on two conditions: (1) the average duration of all surgeries in a subset \(\overline{S_{i}}\in\mathcal{S},i=1,2,\ldots,t-1\) must be less than or equal to the average duration of all surgeries in subset \(\overline{S_{i+1}}\in\mathcal{S}\), and (2) the expected number of patients in each subset \(S_{i}\in\mathcal{S}\) should be similar. In order to compute the expected number of patients for each \(\overline{S_{i}}\in\mathcal{S}\), the probability of occurrence of all surgeries in \(\mathcal{S}\) should be known, and it is obtained using historical data of the studied department. For example, if there exist three types of surgeries \(\mathcal{S}=\{s_{1},s_{2},s_{3}\}\) with \(\mu_{d}(s_{1})<\mu_{d}(s_{2})<\mu_{d}(s_{3})\) and the occurrence probabilities are 0.25 for \(s_{1}\) and \(s_{2}\) and 0.5 for \(s_{3}\), a valid classification for \(t=2\) is \(\mathcal{S}=\{\overline{S_{1}},\overline{S_{2}}\}\) where \(\overline{S_{1}}=\{s_{1},s_{2}\}\) and \(\overline{S_{2}}=\{s_{3}\}\). However, if \(\mu_{d}(s_{1})<\mu_{d}(s_{3})<\mu_{d}(s_{2})\), a valid classification could be \(\overline{S_{1}}=\{s_{1},s_{3}\}\) and \(\overline{S_{2}}=\{s_{2}\}\) but also \(\overline{S_{1}}=\{s_{1}\}\) and \(\overline{S_{2}}=\{s_{2},s_{3}\}\) is a valid solution. _Step 2: Obtain the set of possible scheduling types for each time block \(b_{i}\in\mathcal{B}\)._ In this step, all multisets from set \(\mathcal{S}=\{\overline{S_{1}},\overline{S_{2}},\ldots,\overline{S_{t}}\}\) are obtained from the possible scheduling type for the time block \(b_{i}\). Formally, a possible scheduling type is a tuple \((\mathcal{S},m)\), where \(\mathcal{S}\) is the underlying set of the multiset and \(m:\mathcal{S}\rightarrow\mathbb{N}_{\geq 1}\) is a function giving the multiplicity of the elements in the multiset. A multiset belonging to the possible scheduling type of block \(b_{i}\) should satisfy the chance constraint (3). In order to check that the chance constraint (3) is satisfied, the surgeries with lower average duration are considered. For example, a possible scheduling type for time block \(b_{i}\) could be \(\{\overline{S_{k}},\overline{S_{k}},\overline{S_{j}}\}\) meaning that, in block \(b_{i}\), two surgeries from set \(\overline{S_{k}}\) may be scheduled and another one from set \(\overline{S_{j}}\). If \(s_{k}^{1}\) is the surgery type with the lowest average duration from \(\overline{S_{k}}\) and \(s_{j}^{1}\) is the surgery type with the lowest average duration from \(\overline{S_{j}}\), according to the total duration in (1), the minimum total duration of the time block \(b_{i}\) is  
\[T_{b_{i}}=\left(Dt+s_{k}^{1}+s_{k}^{1}+s_{j}^{1}+2\cdot Ct\right),\]  
where \(Dt\) is the delay with respect to the starting time and \(Ct\) is the cleaning time duration after each surgery.