#### Abstract

The scheduling problem of movie scenes refers to the reasonable ordering of the shooting sequence of the scene, thereby minimizing the total cost of the movie scenes. This paper considers the factors affecting the cost of movie scenes shooting in the real world and constructs an integer linear programming model. A tabu search based method (TSBM) and a particle swarm optimization based method (PSOBM) are designed to solve larger-scale problems. Numerical experiments show that both TSBM and PSOBM are suitable for solving small-scale movie scenes scheduling problem. Moreover, through the comparison experiments between TSBM and PSOBM, it is verified that the TSBM can effectively solve the large-scale movie scenes scheduling problem.

#### 1. Introduction

In the real world, the sequence of movie scenes shoot is not the final sequence. Therefore, we do this research in order to find the optimal sequence. The movie scenes scheduling problem can be described as follows. Let represent a set of scenes and denote a set of actors. Let show the duration of scenes and mean the wage of actors in one day. The actor shot from the first scene belongs to his last scene. Meanwhile, the actors are in the crew. During this period, the actor will be paid every day. Even in some days, they may not be shot. The movie scenes scheduling problem is how to reduce the transfer cost in consideration of actors with different wages so as to minimize the total cost.

The movie scenes scheduling problem is a multifactor optimization problem. Most literatures study the scheduling problem at the same location, taking no account of the impact of different locations on the sequence of the scene. It is very likely that the transfer cost of the scene location will be generated. In this paper, the location of the movie scenes is considered. In addition, this paper also considers different wage of actors and different scenes shooting duration in order to construct an integer linear programming model. Then, this paper designs a tabu search based method (TSBM) and a particle swarm optimization based method (PSOBM) to solve large-scale problems, comparing them through a series of numerical experiments.

The remainder of this paper is organized as follows. Section 2 is related works. In Section 3, we build an integer programming model for the movie scenes scheduling problem. Then, we establish a TSBM in Section 4. Section 5 develops a PSOBM to handle the movie scenes scheduling problem. The experiment results and settings are shown in Section 6. In Section 7 we conclude the whole paper.

#### 2. Related Works

During the movie scenes shooting process, many factors affect the order in which movie scenes are shot, such as the cost of the actors, the duration of the scenes shot, and the duration of the actors. In addition, cost control is one of the issues that must be considered. Optimizing the sequence of scenes in the movie scenes shooting process, reducing the waiting time for the actors, and minimizing the total cost of the crew are the overall goals.

The movie scenes scheduling problem was proposed by Cheng et al. [1]. Considering the different daily wage of actors, the shooting duration of each scene was the same value. A joint model was proposed to minimize the waiting time of actors as well as the total minimized costs. And they used the branch and bound algorithm and heuristic algorithm to solve large-scale problems. Nordström and Tufekci [2] applied hybrid genetic algorithm to solve the problem of movie scenes scheduling based on the research of Cheng et al. [1] and verified that the proposed algorithm is better than the heuristic algorithm of Cheng et al. [1]. Fink and Voß [3] solved the movie scenes scheduling problem as a special application of the general pattern ordering problem and used simulated annealing algorithm and TS to solve this problem. Bomsdorf and Derigs [4] put forward a conceptual model to solve the scheduling problem in the movie scenes shooting process and used a heuristic algorithm to generate a feasible scheme. Finally, a decision support system is proposed and the effectiveness of the decision support system is proved.

Some scholars assumed that each scene shooting duration is different, and different actors have different daily wages. de la Banda et al. [5] described the scheduling problem. In their study, actor's daily wage was different. And scenes may have different durations. They proposed the basic dynamic programming algorithm, through the preprocessing, search limits, to determine the upper and lower bound to improve the algorithm. Preprocessing mainly includes two simplified methods. On the one hand, referring to the same actors in the two scenes, you can combine the two scenes shooting duration and reduce the calculation. On the other hand, if any actor appears in only one scene, then the cost of the actor can be calculated as a fixed cost. Kochetov [6] studied the movie scenes scheduling problem in movie shooting of the column transformation problem that can be reconstructed into a binary matrix and solved it using the improved greedy algorithm and metaheuristic algorithm of iterative local search. Liang et al. [7] proposed a branch and bound algorithm to solve the movie scenes scheduling problem. They used a new lower bound function to delete redundant search nodes. Based on de la Banda et al. [5], Qin et al. [8] proposed an enhanced branch and bound algorithm to solve the movie scenes scheduling problem. They used an integer linear programming model and branch and bound algorithm to solve the problem. By preprocessing, double-ended search determines the lower bound, and cache search states and dominant rules enhance the branch and bound algorithm. The preprocessing is similar to that of de la Banda et al. [5]. Experiments results show that the improved branch and bound algorithm has better performance than the dynamic programming algorithm of de la Banda et al. [5]. Cheng et al. [9] presented two methods to improve the lower bound of the movie scenes scheduling problem. The result can give a partial timetable.

Most of studies consider the cost of the actor, nevertheless, a small number of studies, not only consider the cost of the actor, but also consider the operating costs of crew. Wang et al. [10] studied the minimization of movie costs, including the cost of the actors as well as the cost of operating the crew. They used the next fitting algorithm and the first fitting reduction algorithm to solve this problem.

Scheduling in movie shooting process is essentially a scheduling problem, which can draw lessons from the scheduling problem. There are also many studies that resemble the scheduling problem in movie. For example, the problem of program rehearsal is optimized through reasonable scheduling, so as to reduce the waiting time and minimize the total cost. Therefore, we can learn from such research ideas and methods. Gregory et al. [11] solved the rehearsal scheduling problem by planning and model checking, setting the daily wage of actors differently, and the rehearsal duration of each program was determined. Sakulsom and Tharmmaphornphilas [12] proposed a two-stage method to solve the problem of rehearsal of music programs. They set the same actor daily wage, and the rehearsal duration of each program was determined.

From the above study, we can see that most scholars consider the cost of actors from the perspective of actors. They consider the cost of actors, including the daily wage of actor which is different, and each scene has the same shooting duration. As well as the daily wage of actor is different, each scene shooting duration for different values. Some scholars not only consider the cost of actors, but also consider the operational costs of the crew. Few scholars consider the transfer cost between scenes. Different movie scenes may be taken at different locations, so there is a high potential for transfer costs between the scene and the scene transition during movie scenes shooting process.

#### 3. Model Formulation

Above all, the movie scenes scheduling problem is a scheduling problem. Zhen [13] studied the scheduling problem of tactical berth allocation problem. The first deterministic model established in the paper considers the certainty of the period. The research in this paper considers the certainty of the shooting duration. The model building process refers to the deterministic model in Zhen [13]. This paper establishes an integer programming model to solve the movie scenes scheduling problem considering the different wage of actors, different shooting duration of actors, and the transfer cost between scenes. The model mainly consists of two parts, one takes the cost of the actors into account, and the other considers the transfer cost between scenes.

Before formulating the model for the movie scenes scheduling problem, we list the notation used in the paper below.

##### 3.1. Notations

*Indices and Sets* : Index of scenes. : Index of an actor. : Index of shooting locations. : Set of all actors; . : Set of all shooting locations; . : Set of all scenes. Set two virtual scenes and , in which indicates the scene where the crew begins to shoot and indicates the scene the crew shot in the end. .

*Parameters* : The daily wage of actor . : Set to one if actor appears in scene , and zero otherwise. : Set to one if actor appears in scene and scene , and zero otherwise. : The cost of moving from scene to scene . : The number of days required to shoot scene .

*Decision Variables* : Binary variable; it equals one if the actor first appears in scene and then appears in scene , and zero otherwise; note that it is not required that scene and scene are adjacent to each other. : Binary variable; it equals one if the actor appears in two adjacent scenes and in which scene is the next scene of scene , and zero otherwise. : Integer; the time interval of actor plays between scene and scene . For the actor , it first appeared in the scene , followed by the scene . : Binary variable; it equals one if the scene is the next scene of scenes , and zero otherwise. : Integer; the time that scene finishes.

##### 3.2. Mathematical Model

Objective function (1) minimizes the total costs of the movie scenes scheduling problem. The total costs include the wage of actors and the transfer cost of scenes. Constraints (2) and (3) guarantee that each scene has a start point and an end point . Constraints (4) and (5) ensure that there is only one scene before and after each scene. Constraint (6) states the priority relationship of scene and scene . Constraint (7) links the two decision variables and . Constraints (8) and (9) ensure that each actor starts with scene and ends with scene . Constraints (10) and (11) define the relation of , , and . Constraints (12) and (13) guarantee that for actor , each scene before and after there is only one scene. Constraints (14), (15), and (16) define . Constraint (17) ensures that actor completes the shooting scenes according to the sequence decided by . Constraint (18) links the two decision variables and . Constraints (19), (20), and (21) link the two decision variables and . Constraints (22), (23), and (24) define the decision variable.

The above model can be solved by ILOG CPLEX solver. However, ILOG CPLEX solver can only solve small-scale movie scenes scheduling problems. For some large-scale movie scenes scheduling problems, the ILOG CPLEX solver cannot solve very well. Therefore, this paper proposes a TSBM to handle the movie scenes scheduling problems under large-scale situation.

#### 4. Tabu Search Based Method

##### 4.1. Introduction to the Tabu Search

At present, many scholars have used tabu search (TS) algorithms to solve optimization problems. Xue et al. [15] studied the problem of local container shipping under the new operating mode, defining that the tractor can be removed from its associated trailer and assigned to a new mission. Aiming at this problem, the TS is proposed, which uses numerical experiments to evaluate the performance of the algorithm and the advantages of the new operation mode. Shen [16] designed a TS with complex neighborhood structure for job shop problems with sequence-related setup time. The method of inserting is used to define the neighborhood function without a simple exchange. The test results show that the proposed TS is superior to other algorithms. Qin et al. [17] studied a multicycle inspector scheduling problem, which is an extension of the multistroke vehicle routing problem with time windows, and then solved using the TS. In addition, a constrained backpack model is proposed, which can generate an upper limit of the problem, thereby improving the efficiency of the solution. Peng et al. [18] combined the TS process into the path relinking framework to study a new algorithm to solve the job shop scheduling problem. The experimental results show that the new algorithm has a good effect on the solution quality and computational efficiency. Li and Alidaee [19] use the TS to solve the black and white traveling salesman problem. The improved TS is built on a new efficient neighborhood structure, which utilizes the arrangement of black and white traveling salesman problems and the backpack function. Moreover, the TS is embedded as a heuristic process to improve the upper bound of the mixed integer linear programming equation. Li and Gao [20] use a hybrid algorithm of genetic algorithm and TS to solve the shop scheduling problem, in order to minimize the completion time. The genetic algorithm with powerful global search ability is used to explore the TS with good local search ability. The experimental results show that the hybrid algorithm has good search ability and can balance the intensification and diversification. Shahvari and Logendran [21] improved the TS for a batch scheduling problem on a set of uncorrelated parallel machines with the goal of minimizing the linear combination of total weighted completion time and total weighted delay. Therefore, we design a TSBM to solve the integer linear programming model. Wei et al. [22] studied the partner selection problem from the perspective of supplier network global optimization. The study established an optimal combination model of supplier selection to choose the right suppliers for improving the efficiency of the supply chain. A dynamic programming-TS and an ant colony algorithm were developed to solve the model, respectively.

TS is a global progressive optimization algorithm. Factors affecting search performance in TS include initial solution, special rules, neighborhood structure, tabu list, candidate set, and termination rule. For the amnesty rules, if the target value of a solution is better than any of the best candidate solutions, it can be special. And if all objects are contraindicated, then a solution with the smallest evaluation value is selected. It is possible to specifically target objects that have a large impact on the target value. For the size of the candidate set, the excessive calculation increases the computational memory and computation time and too small will cause the premature fall into the local optimum. For termination criteria, it is to make the search terminate the search process in some cases. For the tabu list, it has a short-term memory function that prohibits searching for previously searched content. For the tabu length, the purpose is to prevent the search from appearing in an infinite loop. When other variables are unchanged, the shorter the tabu length, the less memory usage, and the larger the scope of the lifting, that is, the upper limit of the search range. But it is easy to fall into local optimum earlier. If the length of the tabu is too long, it will be time-consuming.

##### 4.2. The Frame of Tabu Search

###### 4.2.1. The Basic Flow of the TSBM

The basic flow of the TSBM is as follows.

*Step 1. *Determine an initial feasible solution and its objective function value. Set the tabu list to empty and set the length of the tabu list. Meanwhile, let the initial solution as the current solution . In addition, define as the number of iterations. Set , .

*Step 2. *When reaches the maximum number of iterations , end the algorithm and output the optimal solution; otherwise, go to tep 3.

*Step 3. *If , the neighborhood function that generates the current solution will generate a number of neighborhood solutions, and go to tep 5; otherwise, go to tep 4;

*Step 4. *Use the diversification strategy to generate a new current solution , and set , go to tep 3.

*Step 5. *Sort the candidate solutions according to the fitness value, and judge from the candidate solution with the smallest fitness value. If it is not in the tabu list, directly replace it with the current solution to become ; if it is in the tabu list and meet the exemption criteria, let it as and go to tep 7. Otherwise, go to tep 6.

*Step 6. *If the candidate solution value is in the tabu list and does not meet the exemption criteria, certain courage criterion is given. If the candidate solution value satisfies the courage criteria, it is also selected as the current solution . Go to tep 7.

*Step 7. *Update the global optimal , and put the current solution into the tabu list. If the tabu list exceeds the set length, release the tabu element that firstly put into the tabu list. When has not changed, , , go to tep 2.

###### 4.2.2. Initial Solution

The initial solution has great influence on the algorithm search performance because the TSBM is mainly based on the neighborhood search. Therefore, we firstly consider generating a number of feasible solutions for CPLEX solver randomly and select the optimal fitness value of the solution as the initial solution.

Each represents one possible order of scene, i.e., the variable is known. If is given, then we select the optimal fitness value of the solution as the initial solution. For example, if there are 5 scenes, elements in are 1-4-5-3-2, which means the order of scene is 1-4-5-3-2.

###### 4.2.3. Neighborhood Structure

The neighborhood structure is critical in tabu search because it determines the form and number of neighborhood solutions of the current solution and the relationship between the solutions.

The neighborhood is generated by 2-swap and 2-opt methods. The 2-swap method is to generate neighborhood as explained below. On the basis of the current solution , the order of the two scenes is randomly exchanged. For example, is 1-4-5-3-2, and we exchange first and third scene to get a neighborhood, i.e., 5-4-1-3-2. However, the method of generating the neighborhood using the 2-opt method is random two scenes for 2-opt exchange. And 2-opt means that from the selected starting scene to the ending scene, all scenes are reversed to generate new neighborhoods. For example, is 1-4-5-3-2, and the two random scenes are the second and fifth scenes, so a new neighborhood is 1-2-3-5-4.

###### 4.2.4. Tabu List

The tabu list has a short-term memory function which prohibits the items that are searched before. TSBM uses tabu list to prevent the search process being caught in the local optimal.

The neighborhood exchange method and the exchanges of two points will be added to the tabu list. For example, is 1-4-5-3-2, and we exchange the first and the third scene to get a neighborhood, i.e., 5-4-1-3-2. Use the 2-swap method, and exchange the first and the third scene, then add 1-1-3 three numbers to the tabu list. Besides, set is 1-4-5-3-2, and two random scenes are the second and the fifth scenes, so the new neighborhood is 1-2-3-5-4. And we use the 2-opt method, and the random number is 2 and 5, then add 2-2-5 to the tabu list. This shows that when determining whether a candidate solution is in the tabu list, you need to know which method is used, and which two points should be random.

###### 4.2.5. Diversification Strategy

In order to avoid the algorithm getting into local optimum prematurely, a diversified strategy is adopted in this paper. If the optimal value does not change after a certain number of iterations, we will adopt a diversified strategy to regenerate the current solution and make the algorithm jump out of the local minimum. In addition, the method of generating the current solution is the same as that of generating the initial solution, i.e., it is generated randomly.

#### 5. Particle Swarm Optimization Based Method

##### 5.1. Introduction to the PSO

PSO is a new evolutionary algorithm proposed by Kennedy and Eberhart [23] to optimize continuous nonlinear functions. At present, PSO has been widely used to solve problems such as scheduling, combinatorial optimization, and supply chain network design. Garg and Sharma [24] use PSO to solve system assignment problems. Many of these goals are system reliability and design costs. Above all, a fuzzy nonlinear programming model is constructed, and then the particle swarm optimization algorithm is designed to solve the proposed problem. Hamta et al. [25] studied the assembly line balance problem of a single model. This considers the minimization of cycle time, total equipment cost, and smoothness index. A new method combining PSO and variable domain search is used to solve the proposed problem. Zhong et al. [26] use the PSO to solve the multiobjective hull assembly line balance problem. The goal is to minimize cycle time, multisite responsibility, and dynamic and static load balancing. In the particle swarm algorithm, the new method is used to encode the particles. Yao et al. [27] considered the carton heterogeneous vehicle routing problem at the collection station, constructed a mathematical model, and solved the model using the improved PSO. For improving the PSO, the local search is optimized in the algorithm. Experiments show that both the proposed model and the algorithm are feasible. Khatami et al. [28] constructed a PSO for flame detection, which enabled image detection techniques for flame detection. PSO can distinguish the different colors, and the color conversion matrix can detect different color flames. Hu et al. [14] established a mixed integer programming model for the joint optimization of multibatch production and vehicle routing problems involving a pickup. A two-stage hybrid heuristic algorithm is proposed to solve this model. The PSO was used in the second stage to allocate vehicles to each production batch. The results of numerical experiments validate the efficiency of the proposed algorithm.

PSO finds the best solution by simulating the process of bird flocking and sharing information between birds and birds. Each particle can change its position and speed, and the position of the particle is a viable solution in the search space. The speed of the particles determines the direction and distance of the flight of bird. Other particles will search for the direction of the current optimal particle. Each particle remembers, follows the current optimal particle, and searches in the solution space. But the process of each iteration is not completely random. If a better solution is found, it will be used as a basis to find the next solution to find the global optimal solution. The advantage of PSO is that the algorithm is easy to implement and there are not many parameters to adjust.

##### 5.2. The Frame of Particle Swarm Optimization

The flow of the PSOBM is as follows.

*Step 1. *Set the initial iteration number and the number of particles to . The position of the particle represents a feasible solution, and the velocity of the particle represents the search direction. The position and velocity of the initial particle swarm are randomly generated.

*Step 2. *Calculate the fitness value of each particle.

*Step 3. *Find the individual optimal and global optimal values of each particle. If it is better than the current individual extremum, it is updated; if the best of all the individual extremum of the particles is better than the current global optimal, the global optimal is updated.

*Step 4. *Use the particle velocity and position formula to update the velocity and position of the particle.

*Step 5. *If one of the two termination conditions is reached, the iteration is stopped and the optimal solution is output; otherwise, go to tep 2.

Among the above steps, the two termination conditions in tep 5 are as follows. For the first, the number of iterations reaches the maximum number of iterations. And the global optimal value is no longer updated in the number of iterations.

#### 6. Numerical Experiments

##### 6.1. Experiment Settings

In this section, we apply the proposed model and methods to solve the movie scenes scheduling problem. The movie scenes scheduling problem is a scheduling problem. The numerical experiments in this paper mainly refer to the experiments of Zhen [29] and Zhen et al. [30] to analyze the proposed method and model.

The experimental cases in this paper are set as follows. For the cost transferred from scene to scene , they are randomly generated within the range (0, 10000). Moreover, it is necessary to satisfy . For the parameter (i.e., the daily wage of actor ), they are randomly generated within a range between 80 dollars/day and 1000 dollars/day. For the parameter (i.e., set to one if the actor appears in scene ) and (i.e., set to one if the actor appears in scene , scene ), they are mainly generated based on the actor . Numerical experiments are performed on a PC (Intel (R), 3.4 GHz; Memory, 128 G). The models are implemented by the CPLEX12.6, and the methods are coded by C# (Visual Studio 2015).

##### 6.2. Performances of the Proposed Solution Methods

This paper designs a TSBM and PSOBM to solve the proposed integer linear programming model. Compare the performance of the proposed solution with the results obtained by directly using the CPLEX solver. Table 1 shows the comparison of the experimental results of TSBM, PSOBM, and CPLEX solvers under the same parameters. In the “Case id” column of Table 1, the first three values represent the scene, the actor, and the location, and the fourth value represents the index of the different cases at the same scale (scene, actor, and location). The difference between the three cases in each group size is mainly due to the difference in the length of the scene. In this paper, , , and show the objective value of TSBM, PSOBM, and CPLEX. And , .

It can be seen from Table 1 that under the small-scale problems, the TSBM has a shorter solution time than CPLEX, and the average difference rate is 0.18%. The PSOBM has a longer solution time, and the average difference rate is 7.92%. Therefore, in the small-scale movie scene scheduling problem, the TSBM can obtain good results in a shorter time than the PSOBM. Based on the above analysis, it can be concluded that for small-scale problems, the proposed TSBM is a better way to obtain a satisfactory solution.

##### 6.3. Comparison between TSBM and PSOBM

For small-scale problems, CPLEX, TSBM, and PSOBM can obtain good results. But the CPLEX takes a long time. In addition, the result of TSBM and PSOBM takes a short time. Therefore, for large-scale problems, the validity of the TSBM and PSOBM needs to be further studied experimentally. In this test, the result of the comparison between TSBM and PSOBM is listed in Table 2. And °

The results in Table 2 show that the average difference between the experimental results obtained by the TSBM and the PSOBM is 35.39%. And as the size of the experimental case increases, the time required for problem solving continues to increase. Experimental results show that TSBM is more suitable for solving medium-scale movie scenes scheduling problem.

#### 7. Conclusions

This paper mainly studies the optimization problem of movie scenes scheduling by considering transfer costs and certain shooting duration. The purpose is to minimize the total cost of actors and transfer costs included in the shooting scene of the crew, considering the different wage of the actors, the duration of the scene shooting, and the transfer costs between scenes. An integer linear programming model is built, and TSBM and PSOBM are developed to solve the proposed model. Being compared with other related research work, the major contribution of this study includes two aspects:

(1) Being different from the general movie scenes scheduling problem, the proposed model in this paper considers the transfer costs and certain shooting duration.

(2) We propose different methods of TSBM and PSOBM for the movie scenes scheduling problem with different scale.

The numerical experiments indicate both TSBM and PSOBM are suitable for solving small-scale problems. For large-scale problems, the TSBM can get better results.

For future study, we will consider finding a better optimization method in TSBM to extend our work.

#### Data Availability

The data used in this research is generated randomly. Detailed data generation method is introduced in Section 6.1.

#### Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.