## 2 Manufacturing System Context
### Flow Shop
#### 2.4.2 Flexible Flow Shop  
The flexible flow shop can be defined as \"a generalization of the flow shop and the parallel machine environments\" [63]. Regarding the flexible flow shop, [PERSON] et al. [77] proposed an approach based on two phases to consider peak power in the scheduling problem. In the first phase using mixed integer programming, a production schedule is obtained in order to minimize the weighted sum of the total tardiness and the makespan, without considering a power constraint. The machine assignments and job sequences were defined solving the mathematical model and, considering these values fixed and defining a power constraint, the mathematical model is resolved. The new schedule respects the limits on power consumption but can have a worsening of the objective function compared to the previous planning. [PERSON] et al. [78] used a genetic-simulated annealing algorithm to obtain the minimization of the maximum completion time and total energy consumption in a flexible flow shop scheduling problem. An ant colony optimization algorithm was applied in the multiobjecttive hybrid flow shop scheduling [79]; the minimization targets are the makespan and the electrical power cost and time-of-use tariff is considered. Unlike other works, [PERSON] et al. [80] considered worker flexibility to achieve energy efficiency. The authors developed a mathematical model in which the objective functions to be minimized are the makespan, the total worker cost, and the green production indicator. The last one is composed of energy consumption, the noise, the recycling rate of tool chips, and the safety coefficient. The mathematical model was solved using a hybrid evolutionary algorithm. The minimization of energy consumption costs considering three possible machine states (standby, shut-down, and operation) was studied and solved with a hybrid genetic algorithm in [81]. [PERSON] and [PERSON] [82] considered, in the bi-objective scheduling problem, production cost and energy consumption as the two targets to be minimized and implemented a makespan constraint. The investigated flexible flow shop consists of unrelated parallel machines in the first stage and a single machine in the next stages; a non-dominated sorting genetic algorithm II was used to address the problem. A dynamic scheduling model with the aim of minimizing the weighted aggregation of the makespan and the total tardiness, considering a bound on the power peak, was analyzed in [83]. The dynamic features of scheduling were also studied in [84]. The authors considered the makespan and energy consumption as the objective functions and solved the scheduling problem with an improved particle swarm optimization method. A non-dominated sorting genetic algorithm II and a non-dominated ranked genetic algorithm were used and tested in scheduling problems with two objective functions, i.e., the total weighted tardiness and energy consumption, in [85]. [PERSON] et al. [86] proposed an energy-efficient method based on multi-level optimization. The proposed approach aims to combine energy saving at the machine level and at the line level. The cutting energy and the cutting time were considered as objectives in the machine tool level, whereas in the shop floor level the makespan and total energy consumption were defined as the targets; the optimization was achieved using grey relational analysis and a genetic algorithm respectively at the machine and at the line grade. The flexible flow shop scheduling problem, considering the time of use electricity tariffs and makespan and electricity cost as the objective functions, was addressed using an improved strength Pareto evolutionary algorithm in [87]. In addition to two typical objective functions in energy-efficient scheduling, i.e., the makespan and electricity consumption, [PERSON] et al. [88] considered material wastage as one of the multi-targets of the optimization process. The mathematical model was solved with a hybrid non-dominated sorting genetic algorithm II.