人才调度

人才调度（英語：Talent scheduling）是计算机科学和运筹学领域的优化问题，亦是组合优化问题。在这一问题中，剧组需要完成电影的拍摄任务，其中分為若干个场景，而每个场景需要一个或多个特定的演员。现假定剧组每天只能完成一个场景的拍摄任务，而演员的薪资则按天计算。而在这一问题中，剧组需要连续性的聘请演员，例如某位演员需要参加第一天和第三天的演出活动，该剧组必须在第一天至第三天连续雇佣这位演员三天并支付其三天工资，即使这位演员第二天处于闲置状态。该问题的最终目的是通过调整场景的拍摄顺序，使得剧组的演员薪资支出最小化。 当问题中有 n {\displaystyle n} 个场景与 m {\displaystyle m} 个演员，现使用演员拍摄日程矩阵（day out of days matrix，DODM） T 0 ∈ { 0 , 1 } m × n {\displaystyle T^{0}\in \{0,1\}_{m\times n}} 表示某位演员是否需要参加某个场景的演出任务： 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}}} 此外还存在薪资向量 R m {\displaystyle {\mathfrak {R}}^{m}} ，其元素 c i {\displaystyle c_{i}} 表示演员 i {\displaystyle i} 的日薪资。此外对于场景的排列顺序，定义： σ : { 1 , 2 , . . . , n } → { 1 , 2 , . . . , n } {\displaystyle \sigma :\{1,2,...,n\}\rightarrow \{1,2,...,n\}} 其中 σ n {\displaystyle \sigma _{n}} 是 n {\displaystyle n} 个拍摄日的排列集合。接下来定义矩阵 T ( σ ) {\displaystyle T(\sigma )} 为矩阵 T 0 {\displaystyle T^{0}} 的列经过 σ {\displaystyle \sigma } 排列后的样子，其具体定义如下： 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\}} 接下来用 l i ( σ ) {\displaystyle l_{i}(\sigma )} 以及 e i ( σ ) {\displaystyle e_{i}(\sigma )} 表示演员 i {\displaystyle i} 在 σ {\displaystyle \sigma } 的排序下需要出演的最后一天与第一天。因此，演员 i {\displaystyle i} 需要被雇佣的闲置天数为： h i ( σ ) = l i ( σ ) − e i ( σ ) + 1 − r i = l i ( σ ) − e i ( σ ) + 1 − ∑ j = 1 n t i , j 0 {\displaystyle 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}} 鉴于此，剧组需要为演员闲置天数支付的总薪资为： 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 )} 为该问题需要最小化的值，不过考虑到 ∑ j = 1 n t i , j 0 {\displaystyle \sum _{j=1}^{n}t_{i,j}^{0}} 为定值，因此可以在最佳化时忽略此项。 该问题的难度可通过将其简化为最大线性排列问题来证明。在该问题中，当所有演员的薪资皆为1时，此问题可以被简化为最大线性排列问题，因此这一问题不大可能有伪多项式时间算法。 人才调度问题有如下整数规划形式： 在此模型中， e i {\displaystyle e_{i}} 与 l i {\displaystyle l_{i}} 分别表示演员 i {\displaystyle i} 需要参演的第一天和最后一天，而决策变量 x j , k {\displaystyle x_{j,k}} 则表示场景 j {\displaystyle j} 是否被安排到了第 k {\displaystyle k} 天： 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}}} Cheng, T. C. E.; Diamond, J. E.; Lin, B. M. T. Optimal scheduling in film production to minimize talent hold cost. Journal of Optimization Theory and Applications. 1993-12-01, 79 (3): 479–492 [2022-07-25]. S2CID 120319128. doi:10.1007/BF00940554. （原始内容存档于2023-02-24） （英语）.  Garey, M. R.; Johnson, D. S.; Stockmeyer, L. Some simplified NP-complete graph problems. Theoretical Computer Science. 1976-02-01, 1 (3): 237–267. ISSN 0304-3975. doi:10.1016/0304-3975(76)90059-1  （英语）.  Garey, M. R.; Johnson, D. S. Victor Klee , 编. 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. 1979: x+338. ISBN 0-7167-1045-5. MR 0519066.  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).