Talent scheduling

An example of talent scheduling with 8 actors and 8 scenes

Talent scheduling is an optimization problem in computer science and operations research, and it is also a problem in combinatorial optimization. Suppose we need to make films, and each film contains several scenes. Each scene needs to be shot by one or more actors. And suppose you can only shoot one scene a day. The salaries of these actors are calculated by the day. In this problem, we can only hire each actor consecutively. For example, we can't hire an actor on the first and third days, but not the second day. During the hiring period, the producers still need to pay the actors even if they are not involved in the filming assignment. The purpose of talent scheduling is to minimize the actors' total salary by adjusting the sequence of scenes.[1]

Mathematical formulation

Consider a film shoot composed of n {\displaystyle n} shooting days and involving a total of m {\displaystyle m} actors. Then we use the day out of days matrix (DODM) T 0 { 0 , 1 } m × n {\displaystyle T^{0}\in \{0,1\}_{m\times n}} to represent the requirements for the various shooting days. The matrix with the ( i , j ) {\displaystyle (i,j)} entry given by:

t m × n 0 = { 1 , if actor i is required in scene j, 0 , otherwise. {\displaystyle t_{m\times n}^{0}={\begin{cases}1,&{\mbox{if actor i is required in scene j,}}\\0,&{\mbox{otherwise.}}\end{cases}}}

Then we define the pay vector R m {\displaystyle {\mathfrak {R}}^{m}} , with the i {\displaystyle i} th element given by c i {\displaystyle c_{i}} which means rate of pay per day of the i {\displaystyle i} th actor. Let v denote any permutation of the n columns of T 0 {\displaystyle T^{0}} , we have:

σ : { 1 , 2 , . . . , n } { 1 , 2 , . . . , n } {\displaystyle \sigma :\{1,2,...,n\}\rightarrow \{1,2,...,n\}}

σ n {\displaystyle \sigma _{n}} is the permutation set of the n shooting days. Then define T ( σ ) {\displaystyle T(\sigma )} to be the matrix T 0 {\displaystyle T^{0}} with its columns permuted according to σ {\displaystyle \sigma } , we have:

t i , j ( σ ) = t i , σ ( j ) 0 {\displaystyle t_{i,j}(\sigma )=t_{i,\sigma (j)}^{0}} for i { 1 , 2 , . . . , n } , j { 1 , 2 , . . . , n } {\displaystyle i\in \{1,2,...,n\},j\in \{1,2,...,n\}}

Then we use l i ( σ ) {\displaystyle l_{i}(\sigma )} and e i ( σ ) {\displaystyle e_{i}(\sigma )} to represent denote respectively the earliest and latest days in the schedule S {\displaystyle S} determined by a which require actor i {\displaystyle i} . So we can find actor i {\displaystyle i} will be hired for l i ( σ ) e i ( σ ) + 1 {\displaystyle l_{i}(\sigma )-e_{i}(\sigma )+1} days. But in these days, only r i = j = 1 n t i j 0 {\displaystyle r_{i}=\sum _{j=1}^{n}t_{ij}^{0}} days are actually required, which means h i ( S ) {\displaystyle h_{i}(S)} days are unnecessary, we have:

h i ( S ) = h i ( σ ) = l i ( σ ) e i ( σ ) + 1 r i = l i ( σ ) e i ( σ ) + 1 j = 1 n t i , j 0 {\displaystyle h_{i}(S)=h_{i}(\sigma )=l_{i}(\sigma )-e_{i}(\sigma )+1-r_{i}=l_{i}(\sigma )-e_{i}(\sigma )+1-\sum _{j=1}^{n}t_{i,j}^{0}}

The total cost of unnecessary days is:

K ( σ ) = i = 1 m c i h i ( σ ) = i = 1 m c i [ l i ( σ ) e i ( σ ) + 1 j = 1 n t i , j 0 ] {\displaystyle K(\sigma )=\sum _{i=1}^{m}c_{i}h_{i}(\sigma )=\sum _{i=1}^{m}c_{i}[l_{i}(\sigma )-e_{i}(\sigma )+1-\sum _{j=1}^{n}t_{i,j}^{0}]}

K ( σ ) {\displaystyle K(\sigma )} will be the objective function we should minimize.[1]

Proof of strong NP-hardness

In talent scheduling problem, we can prove that is NP-hard by a reduction from the optimal linear arrangement(OLA) problem.[2] And in this problem, even we restrict each actor is needed for just two days and all actors' salaries are 1, it's still polynomially reducible to the OLA problem. Thus, this problem is unlikely to have pseudo-polynomial algorithm.[3]

Integer programming

The integer programming model is given by:[4]

Minimize i = 1 m c i ( l i e i + 1 ) {\displaystyle \sum _{i=1}^{m}c_{i}(l_{i}-e_{i}+1)}
subject to j = 1 n x j , k = k = 1 n x j , k = 1 , {\displaystyle \sum _{j=1}^{n}x_{j,k}=\sum _{k=1}^{n}x_{j,k}=1,} 1 j , k n {\displaystyle 1\leq j,k\leq n}
t i , j e i k = 1 n t i , j k x j , k l i , {\displaystyle t_{i,j}e_{i}\leq \sum _{k=1}^{n}t_{i,j}kx_{j,k}\leq l_{i},} 1 i m , 1 j n {\displaystyle 1\leq i\leq m,1\leq j\leq n}
l i , e i 1 , {\displaystyle l_{i},e_{i}\geq 1,} 1 i m {\displaystyle 1\leq i\leq m}
x j , k { 0 , 1 } , {\displaystyle x_{j,k}\in \{0,1\},} 1 j , k n {\displaystyle 1\leq j,k\leq n}
l i , e i Z , {\displaystyle l_{i},e_{i}\in \mathbb {Z} ,} 1 i m {\displaystyle 1\leq i\leq m}

In this model, e i {\displaystyle e_{i}} means the earliest shooting day for talent i {\displaystyle i} , l i {\displaystyle l_{i}} is the latest shooting day for talent i {\displaystyle i} , x j , k {\displaystyle x_{j,k}} is the scheduling for the project, i.e.

x j , k = { 1 if scene  j  is scheduled in day  k  of shooting  0 otherwise {\displaystyle x_{j,k}={\begin{cases}1&{\text{if scene }}j{\text{ is scheduled in day }}k{\text{ of shooting }}\\0&{\text{otherwise}}\end{cases}}}

References

  1. ^ a b Cheng, T. C. E.; Diamond, J. E.; Lin, B. M. T. (1 December 1993). "Optimal scheduling in film production to minimize talent hold cost". Journal of Optimization Theory and Applications. 79 (3): 479–492. doi:10.1007/BF00940554. S2CID 120319128. Retrieved 25 July 2022.
  2. ^ Garey, M. R.; Johnson, D. S.; Stockmeyer, L. (1 February 1976). "Some simplified NP-complete graph problems". Theoretical Computer Science. 1 (3): 237–267. doi:10.1016/0304-3975(76)90059-1. ISSN 0304-3975.
  3. ^ Garey, M. R.; Johnson, D. S. (1979). Victor Klee (ed.). Computers and Intractability: A Guide to the Theory of NP-Completeness. A Series of Books in the Mathematical Sciences. San Francisco, Calif.: W. H. Freeman and Co. pp. x+338. ISBN 0-7167-1045-5. MR 0519066.
  4. ^ Close Kochetov, Y. (2011). Iterative local search methods for the talent scheduling problem. In Proceedings of 1st international symposium and 10th Balkan conference on operational research, September 22, Thessaloniki, Greece (pp. 282–288).