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]
Consider a film shoot composed of
n
m
T0\in\{0,1\}m
(i,j)
0 | |
t | |
m x n |
=\begin{cases} 1,&ifactoriisrequiredinscenej,\\ 0,&otherwise. \end{cases}
Then we define the pay vector
ak{R}m
i
ci
i
T0
\sigma:\{1,2,...,n\} → \{1,2,...,n\}
\sigman
T(\sigma)
T0
\sigma
ti,j
0 | |
(\sigma)=t | |
i,\sigma(j) |
i\in\{1,2,...,n\},j\in\{1,2,...,n\}
li(\sigma)
ei(\sigma)
S
i
i
li(\sigma)-ei(\sigma)+1
ri=\sum
n | |
j=1 |
0 | |
t | |
ij |
hi(S)
hi(S)=hi(\sigma)=li(\sigma)-ei(\sigma)+1-ri=li(\sigma)-ei(\sigma)+1-\sum
n | |
j=1 |
0 | |
t | |
i,j |
m | |
K(\sigma)=\sum | |
i=1 |
cihi(\sigma)=\sum
m | |
i=1 |
ci[li(\sigma)-ei(\sigma)+1-\sum
n | |
j=1 |
0 | |
t | |
i,j |
]
K(\sigma)
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]
The integer programming model is given by:[4]
Minimize |
ci(li-ei+1) | ||||||||||||||
subject to |
xj,k=
xj,k=1, | 1\leqj,k\leqn | |||||||||||||
ti,jei\leq
kxj,k\leqli, | 1\leqi\leqm,1\leqj\leqn | ||||||||||||||
li,ei\geq1, | 1\leqi\leqm | ||||||||||||||
xj,k\in\{0,1\}, | 1\leqj,k\leqn | ||||||||||||||
li,ei\inZ, | 1\leqi\leqm |
In this model,
ei
i
li
i
xj,k
xj,k=\begin{cases}1&ifscenejisscheduledindaykofshooting\ 0&otherwise\end{cases}