## 2 State of the Art
### Constraints
#### 2.1.2 Resource Calendar Constraints  
Another common and practical constraint found in real environments is to consider the resource calendar. The traditional scheduling problem assumes that machines are continuously available. However, in reality, this is often not the case due to non-availability periods, such as maintenance, vacations, leaves, and so on. Considering these time-off periods for resources is crucial for accurate and realistic scheduling. This helps to determine when resources are available to work on assigned tasks, ensuring that work is only scheduled during available times.  
Machine availability constraints encountered in real-world environments can be classified as either fixed or non-fixed [13]. For fixed constraints, the intervals of unavailability are predetermined, whereas they are unknown for the non-fixed constraints. Unavailability periods can also be categorized based on operation preemption as non-preemptive [14], crossable or non-crossable [15], or resumable, semi-resumable, or non-resumable [16]. An operation is known as non-preemptive when its processing on a machine cannot be interrupted until it is totally completed, and after that the concerning machine switches to another operation. An operation interrupted by an unavailability period is called resumable when its processing can continue during the next availability period. It is called non-resumable if it has to restart from the beginning when the performing machine is available again. An operation is known as semi-resumable if it has to partially restart during the next available period. There is other terminology introduced by [PERSON] et al. [15]. It concerns unavailability periods allowing interruption of operations: crossable and non-crossable unavailability periods. An unavailability period that allows an operation to be interrupted and resumed after the unavailability period is called crossable, while an unavailability period that does not allow the interruption of any operation is known as non-crossable. Figure 2 gives a description for the notation used for interruptible and non-interruptible operations.  
[PERSON] et al. [17] consider a deterministic case where unavailability periods are known in advance and fixed and correspond to preventive maintenance tasks. They tackled a two-machine job shop scheduling problem with an availability constraint on one machine under makespan minimization. First, two mixed-integer programming (MIP) models were proposed and then some heuristics were performed to solve the problem. [PERSON] et al. [18] investigate the job shop problem where operations can be interrupted by resource unavailability periods. They propose approximation methods based on construction heuristics.  
Surprisingly, the literature on the flowshop scheduling problems with resource calendar or fixed machine availability is not abundant. [PERSON] et al. [14] address the flowshop scheduling problem with limited machine availability under the makespan criterion and under the assumption that the machines are not available during the whole planning horizon. They propose a heuristic approach based on the geometric approach to approximately solve the problem. [PERSON] [19] studied the problem of preemptive scheduling in a two-stage  
Figure 2: Notations for interruptible/non-interruptible operations.  
flowshop with parallel unrelated machines under makespan minimization. Heuristic algorithms were proposed based on combined linear programming procedures and a genetic algorithm. [PERSON] et al. [20] investigate an extension of the classical flowshop scheduling problem to the case where jobs processing requires additional nonrenewable resources; the goal is to minimize the makespan. They propose an efficient mathematical model.