Talent scheduling

From testwiki
Jump to navigation Jump to search
An example of talent scheduling with 8 actors and 8 scenes

Talent scheduling represents a complex optimization challenge within the fields of computer science and operations research, specifically categorized under combinatorial optimization. Consider, for example, a case involving the production of multiple films, each comprising several scenes that necessitate the participation of one or more actors. Importantly, only one scene can be filmed per day, and the remuneration for the actors is calculated on a daily basis. A critical constraint in this problem is that actors must be engaged for consecutive days; for instance, an actor cannot be contracted for filming on the first and third days without also being hired on the intervening second day. Furthermore, during the entire hiring period, producers are obligated to compensate the actors, even on days when they are not actively participating in filming. The primary objective of talent scheduling is to minimize the total salary expenditure for the actors by optimizing the sequence in which scenes are filmed.[1]

Mathematical formulation

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

tm×n0={1,if actor i is required in scene j,0,otherwise.

Then we define the pay vector m, with the ith element given by ci which means rate of pay per day of the ith actor. Let v denote any permutation of the n columns of T0, we have:

σ:{1,2,...,n}{1,2,...,n}

σn is the permutation set of the n shooting days. Then define T(σ) to be the matrix T0 with its columns permuted according to σ, we have:

ti,j(σ)=ti,σ(j)0 for i{1,2,...,n},j{1,2,...,n}

Then we use li(σ) and ei(σ) to represent denote respectively the earliest and latest days in the schedule S determined by a which require actor i. So we can find actor i will be hired for li(σ)ei(σ)+1 days. But in these days, only ri=j=1ntij0 days are actually required, which means hi(S) days are unnecessary, we have:

hi(S)=hi(σ)=li(σ)ei(σ)+1ri=li(σ)ei(σ)+1j=1nti,j0

The total cost of unnecessary days is:

K(σ)=i=1mcihi(σ)=i=1mci[li(σ)ei(σ)+1j=1nti,j0]

K(σ) will be the objective function we should minimize.[1]

Proof of strong NP-hardness

It can be proved that the talent scheduling problem is NP-hard by a reduction to the optimal linear arrangement(OLA) problem.[2] Even if we restrict the problem by requiring that 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=1mci(liei+1)
subject to j=1nxj,k=k=1nxj,k=1, 1j,kn
ti,jeik=1nti,jkxj,kli, 1im,1jn
li,ei1, 1im
xj,k{0,1}, 1j,kn
li,ei, 1im

In this model, ei means the earliest shooting day for talent i, li is the latest shooting day for talent i, xj,k is the scheduling for the project, i.e.

xj,k={1if scene j is scheduled in day k of shooting 0otherwise

References

Template:Reflist

  1. 1.0 1.1 Template:Cite journal
  2. Template:Cite journal
  3. Template:Cite book
  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).