1.
Introduction
Television (TV) plays an important role in transmitting advertising messages in the current era of multimedia. In fact, TV advertising is one of the most effective channels to provide fast propagation of advertising messages to audiences [1]. In India, TV is the largest and fastest growing medium and is expected to grow at a compound annual growth rate of 15%, with total revenue reaching USD 15.2 billion in 2019 [2]. According to an NBC Universal report, its TV advertising business generated more than 5 billion U.S. dollars in revenue each year from 2012 to 2020 [3]. The website Statista predicted that television advertising revenue in the United States will grow from 72.3 billion U.S. dollars in 2021 to 81 billion in 2025. Further, global TV advertising revenue has been projected to increase from 151 billion U.S. dollars to 162 billion between 2020 and 2024 [4]. Thus, TV advertising, which is the primary source of revenue for the TV industry, is very big business [5] and [6].
In TV advertising, there are two major participants: TV channels (or networks/stations) and advertisers. TV channels need to schedule programs into appropriate time slots or spots (advertising breaks) for the next scheduling horizon. Then, the marketing department of the TV channel sells the spots based on associated audience ratings. Advertisers buy the advertising breaks with the goal of achieving the most efficient media plan within a limited budget [7]. Thus, TV advertising scheduling allocates a number of advertisement time slots to advertisers while satisfying advertisers' requirements or choosing the advertisers to whom the time slots are sold [8]. This is one of the most important decisions for a TV channel, providing a vital source of revenue for the TV station [9]. This type of scheduling is becoming more and more competitive and turbulent because of the fast development of communication and broadcasting means. Over the past two decades, this challenging problem has attracted much research.
Brown [10] discussed various difficulties in scheduling TV commercials manually and developed an algorithm to exchange commercials of different lengths between advertising slots to gain space for other commercials. Hägele, Ó Dúnlaing, and Riis [11] proved that the problem defined by Brown [10] is NP-complete. Bollapragada et al. [12], Bollapragadae et al. [13] and Brusco [14] dealt with the advertising scheduling challenges faced by NBC. Bollapragada et al. [12] defined an optimization model to generate sales plans to meet the requirements of a single advertiser. The problem was modelled as mixed-integer programming, and solutions were found sequentially for each advertiser using mathematical programming-based heuristics.
Bollapragada et al. [13] and Brusco [14] also discussed the scheduling of multiple commercials such that the output schedule allows for the appropriate spacing of multiple airings of the same commercials. Brusco [14] developed an enhanced version of the branch and bound algorithm of Bollapragada et al. [13] and a simulated annealing heuristic for handling larger instances of the problem studied. Bollapragada and Garbiras [15] formulated the commercial scheduling problem as a goal programming model and designed a two-stage heuristic algorithm for the automatic scheduling of commercials that minimized the penalty cost for the television network while incorporating the costs of sales personnel and meeting promised positions with consideration of product conflicts. Gaur, Krishnamurti, and Kohli [16] extended the model proposed by Bollapragada and Garbiras [15]. They considered the differential weighting of conflicts between the pairs of commercials by formulating the problem as a binary integer program that was a generalization of the max k-cut.
Ghassemi-Tari and Alaei [5] considered the concept of a combinatorial auction and formulated a combinatorial auction-based mathematical programming model to maximize the revenue of the television network via commercial placement. García-Villoria and Salhi [7] considered the possibility of multiple airings of each commercial being as evenly spaced as possible during the airing period. Furthermore, advertisers may request a minimum number of times for which each commercial is aired in high- and medium-audience-rating spots. Thus, García-Villoria and Salhi [7] presented two mixed-integer linear programming models, local search procedures, and a simulated annealing algorithm to solve the proposed problem.
Guerriero, Miglionico, and Olivito [17] addressed the problem of accepting commercials for TV slots with the aim of maximizing TV revenue. They developed mathematical programming models and defined several constructive heuristics together with some local searches to solve the problem. Díaz-Núñez, Halman, and Vásquez [9] discussed a TV channel considering a TV rating points function and willingness to pay coefficients with the aim of scheduling a set of TV commercials in a single time slot to maximize the total revenue. Sinha, Dharmarha, and Kumar [1] proposed a goal programming model to determine the optimal schedule of commercials for a TV channel, advertising breaks, and the frequency of commercials.
Czerniachowska [6] considered the scheduling problem from the perspective of the advertisers, proposing a genetic algorithm to allocate TV commercials according to the requirements of the advertisers and their limited budget while maximizing the total viewership. Fontes, Pereira, and Fontes [8] considered the problem of scheduling self-promotion commercials to a given set of advertising breaks while maximizing audience ratings between TV programs for a TV station. For comprehensive surveys in this area, we refer the readers to [2].
Considering the literature described above, we find that a critical issue faced by TV channels is how to schedule commercials in advertising breaks to maximize the revenue or minimize the penalties incurred for not satisfying the requirements of the clients. This is similar to the machine scheduling problem, which also faces availability constraints. The machine availability constraint denotes a set of identical machines that are not continuously available for processing; in other words, the machines can only serve jobs on a set of availability intervals [18,19]. To the best of our knowledge, the existing literature has not considered the TV advertising scheduling problem from this perspective. Thus, we are motivated to deal with the TV advertising scheduling problem by applying the methods developed for solving the machine scheduling problem with availability constraints. Therefore, we propose a branch and bound algorithm to address the TV commercial scheduling problem.
The remainder of the paper is organized as follows. In Section 2, we describe the problem and notations used throughout this paper. In Section 3, we construct a branch and bound algorithm for the problem. Computational experiments are given in Section 4, and Section 5 concludes.
2.
Definition of the problem and notations
In a typical parallel machine scheduling problem with machine availability constraints, there are n jobs, each with given processing time and due date, and m machines, which are only available for processing in specified availability intervals. The goal is to find a schedule that minimizes the maximum lateness. The lateness of a job is defined to be its completion time minus its due date. The maximum lateness problem consists of finding a schedule that minimizes the maximum lateness over all jobs. In other words, jobs should be completed at available times on machines as close as possible to their due dates. In this paper, the studied problem is similar to the stated parallel machine scheduling problem with machine availability constraints.
Next, we define the scheduling in the context of TV advertising as follows. We consider the problem of scheduling n commercials with service-level requirements on m TV channels. Each commercial has a due date, release time, processing time, and required service level. Each TV channel has a number of advertising breaks. These advertising breaks are classified into different levels according to certain properties, such as the audience rating on TV programs, which is used as the service level in this study. The service level constraint denotes that a commercial can only be processed within a specified set of the advertising breaks. A lower service-level requirement of a commercial can be satisfied by advertising breaks with the same or higher service level. However, a TV channel that provides a lower service level cannot broadcast commercials that require higher service levels. The objective is to minimize the maximum lateness of the schedule, as most TV channels do not want to delay the time taken to broadcast their clients' commercials because the delay can incur penalties.
2.1. Assumptions
● A system has m TV channels, which do not operate continuously; each channel is ready for processing only in certain advertising breaks.
● The start and finish times of each advertising break and the number of all advertising breaks are known in advance.
● At any time, a commercial can be assigned to a maximum of one TV channel, and a TV channel can execute a maximum of one commercial.
● Advertising breaks can be classified into different service levels, and each advertising break is characterized by only one type of service level in the system.
● No commercials are allowed to be preempted.
● Each commercial can be processed only on a specified set of TV channels.
● Each commercial has a specific service-level requirement to be broadcasted. For example, a commercial with service level k implies that the commercial must be broadcast in an advertising break with service level k or below.
2.2. Notations
We are given m TV channels and n commercials with the following notations (Table 1) throughout this paper.
3.
A branch and bound algorithm
In this section, we propose a branch and bound algorithm to find an optimal solution for the studied problem. We introduce the proposed algorithm in the following three stages. First, we introduce the bounding scheme in Section 3.1. We extend the modified LFJ (least flexible job first)-based algorithm proposed by Liao [20] to construct an LFJ/EDD (earliest due date first) algorithm to find a feasible solution and use the result as the upper bound. Then, we apply a two-phase binary search algorithm, proposed by Sheen and Liao [21], to find an optimal solution for scheduling machine-dependent jobs on machines with availability constraints and use this result as the lower bound of the studied problem. Following this, we discuss the branching scheme in Section 3.2. Finally, we propose the complete branch and bound algorithm in Section 3.3.
3.1. Bounding scheme
We introduce the procedures for obtaining a lower bound LB_ and an upper bound ¯UB of the maximum lateness.
3.1.1. The procedure of the upper bounding
Our proposed algorithm to find a feasible schedule extends the modified LFJ algorithm provided by Liao [20]. Liao's algorithm solved the problem with identical machines in the presence of machine availability for minimizing makespan in polynomial time, where makespan is defined as the total length of the schedule. However, this approach did not account for due date constraints and only incorporated unit processing time. Hence, we extend the modified LFJ algorithm to integrate the LFJ and EDD rules to find a feasible schedule that allocates commercials in advertising breaks that satisfy the service-level requirements. The algorithm derives an upper bound of the maximum lateness for the following problem formulation:
Assume that there are m TV channels and each channel is only available for processing within each of N(i) specified advertising breaks [bri,fri] with service level rsri. There are n commercials to be scheduled. Each commercial j is associated with a release time rj, a processing time pj, a due date dj, and a required service level rsj. Commercial j can only be processed for a specific set SLj. A commercial is selected to be scheduled when it belongs to the least flexible commercial with the earliest due date in the unscheduled commercial set Jc, namely, the commercial with the minimum value of |SLj|. The selected job j will be allocated to [bri,fri] as early as possible. The commercials continue being allocated to suitable advertising breaks until all commercials are fully scheduled or there exists no feasible schedule. We derive an upper bound of the maximum lateness for the studied problem when the proposed algorithm obtains a feasible schedule.
Theorem 1. Assume n commercials and total ∑mi=1N(i) advertising breaks in m TV channels, as well as h service levels in the TV advertising scheduling problem. The time complexity of the LFJ/EDD rule algorithm is O(n2∑mi=1N(i)).
Proof. The worst-case complexity is analyzed as follows:
Step 0: Need O(n∑mi=1N(i)) time for initialization.
0.1) O(n∑mi=1N(i)) time for initializing sets SLj.
0.2) O(1) time.
Step 1: NeedO(n) time to choose least flexible commercial j*.
Step 2: Need O(∑mi=1N(i)) time at Step 2 since there are, at most, ∑mi=1N(i) available advertising breaks in SLj.
Step 3: O(1) time.
3.1) O(1) time.
3.2) O(1) time.
3.3) O(1) time.
Step 4: Need O(n∑mi=1N(i)) time to update the [bri,fri] in set SLj, for j∈Jc).
Step 5: O(1) time.
The algorithm needs to iterate Step 1 to Step 5 n times. As such, the worst-case complexity of the algorithm is dominated by Step 4 and is O(n2∑mi=1N(i)). The proof is complete.
3.1.2. The procedure of the lower bounding
In this section, we derive the lower bound LB_ of the maximum lateness of the studied problem by applying the two-phase binary search algorithm proposed by Sheen and Liao [21]. In Sheen and Liao's article [21], the machine scheduling problem had n pre-emptive jobs on m machines under machine availability constraints with the objective of minimizing maximum lateness. The polynomial time two-phase binary search algorithm solved the problem optimally by solving a series of maximum flow problems. The time complexity of this algorithm is O((n + (2n + 2x))3 log(UB − LB)), where x=∑mi=1N(i). We omit the detail because the algorithm is obtained directly from the work of Sheen and Liao [21].
3.2. Branching scheme
Each node α in the search tree is defined by Jα, Jcα, Lmax(α), ¯UB(α), andLB_(α), which are defined as follows. Jαrepresents the scheduled commercials on the TV channel i for i∈A. Jcα represents all commercials that are not yet scheduled. Lmax(α) indicates the maximum lateness among the scheduled commercials in Jα. ¯UB(α) and LB_(α) denote the upper and lower bounds of node α, respectively.
There is only one root node at the top of the search tree. Let α be the root node. There are no commercials in the corresponding Jα, and Jcα contains all commercials. In node α, the proposed LFJ/EDD rule algorithm is applied to calculate the value of ¯UB(α) based on the commercials in Jcα. Then, a two-phase binary search algorithm is uesd to find the lower bound LB_(α).A newly created node, say β, branching out from node α is created by taking m commercials in Jcα and arranging these commercials into sequence Jβ. This means that node β corresponds to a partial schedule with m commercials scheduled as compared to node α. In the following, we offer a proposition that aims to eliminate unnecessary node branching.
Proposition 1. Assume two commercials j and l. Job j cannot be processed before job l on machine i if the following condition is satisfied, where j,l∈Jc, j≠l
Proof. This proposition is easy to prove. If job j satisfies this inequality, then selecting job l before job j on machine i does not increase the value Cj and Lmax. Therefore, scheduling job j at the current position on machine i is not an optimal schedule. The proposition follows.
From Proposition 1, it is not necessary to consider every node generated from the branching process. If job j is scheduled before job l and satisfies Eq (1), the node should be eliminated rather than branched.
3.3. The proposed branching and bound algorithm
In this section, we develop a branch and bound algorithm, which follows the branching and bounding schemes stated above. In the branch and bound tree, the root node has no commercials scheduled. The upper and lower bounds of the root node are obtained by applying the procedures of the upper and lower bounding, respectively. During the branching process, each other node in the tree is generated when there is a commercial that is unscheduled. Each node has at most m commercials scheduled during the available advertising breaks on m TV channels. If Proposition 1 is satisfied, the node is eliminated. According to the branching process, the upper and lower bounds can also be used to eliminate nodes that are not an optimal solution. Each iteration of the algorithm can obtain a partial schedule with at most m commercials on m TV channels. The node is then checked and new nodes are generated by performing the branching scheme and the upper and lower bounding procedures. In the following, we propose a branch and bound algorithm for solving the problem optimally.
3.3.1. The proposed branch and bound algorithm
Step 0: Initialization
0.1) Set q = 0; r(i) = 1 and M(i) = False, for i∈A.
0.2) Create a root node, root of the search tree.
● Set Jroot={} and Jcroot={1,2,…,n}.
● Calculate the upper bound ¯UB(root) and Lmax(root) for commercials in Jcroot by the LFJ/EDD rule algorithm.
Set UB=¯UB(root)=Lmax(root).
● Calculate the lower boundLB_(root) by the two-phase binary search algorithm.
If LB_(root)=UB, then stop the algorithm and output the optimal schedule.
0.3) Set node α=root node.
Step 1: If Jcα≠∅, then branch out child nodes of node αand set q = q + 1.
If |Jcα|<m, then take (m−|Jcα|) artificial commercials into set Jcα.
Create a child node β for each combination of m commercials in Jcα and put these m commercials into sequence Jβ.
1.1) For i∈A, let [br(i)i,fr(i)i] be an advertising break with service level k and commercial j in the ith position of sequenceJβ.
● If M(i) = True, then remove commercial j in the ith position ofJβand replace it with artificial commercial X.
● If Proposition 1 is satisfied, then remove node β.
1.2) Set Jcβ=Jcα∖{Jβ}; Lmax(β)=Lmax(α); ACTIVEβ=False.
1.3) For i∈A, let commercial j be scheduled in the ith position of sequence Jβ.
● Set tj=max{rj,br(i)i} and Cj=max{rj,br(i)i}+pj;
If Lmax(β)<Cj−dj, then set Lmax(β)=Cj−dj.
If Lmax(β)≥UB, then remove node β.
● Update the advertising break set of node β.
If Cj=fr(i)i, set fr(i)i=tj and r(i) = r(i) + 1.
Else If br(i)i=tj, set br(i)i=Cj.
Otherwise,
● Set [bα+1i,fα+1i]=[bαi,fαi] for α = r(i) + 1, …, N(i).
● N(i)=N(i)+1.
● Set br(i)+1i=Cj; fr(i)+1i=fr(i)i; fr(i)i=tj.
● Set r(i)=r(i)+1.
While (fr(i)i−br(i)i)<pj and r(i)≤N(i), for all j∈Jcβ∩Rk,
do r(i)=r(i)+1;
if (i)=N(i), then set M(i) = True.
1.4) Calculate the lower bound and the upper bound of node β.
● Calculate the upper bound ¯UB(β) by the LFJ/EDD rule algorithm.
If ¯UB(β)≤UB, then set UB=¯UB(β).
● Calculate the lower bound LB_(β) by the two-phase binary search algorithm.
If LB_(β)>UB, then remove node β.
Step 2: If q≠0, then select the node with the lowest lower bound and its ACTIVEα=falses at level q.
2.1) Set node α= selected node; ACTIVEα=True, go to Step 1.
2.2) If no node with Active=False exists at level q, then set q = q − 1 and repeat Step 2.
Otherwise, stop the algorithm and output the optimal schedule.
4.
Computational analysis
Here, we discuss a computational analysis for the proposed branch and bound algorithm. To conduct the evaluation of the proposed algorithm, we code the branch and bound algorithm in Visual C++ and test it on a number of randomly generated problems. The computational experiments are run on a PC Intel Core(TM) i5-4570 3.2 GHz with 4 GB RAM. The test instances are generated according to the following scheme. We select the values of parameters based on the information that we observe from TV stations in Taiwan. A TV station has three to eight different channels to broadcast different types of TV programs. In the given planning horizon, which is usually an hour, there are four to eight advertising breaks that can air commercials. Each advertising break has a length [bri,fri] between 50 to 70 s and is categorized according to the higher, average, and lower TV rating points. Therefore, each advertising break is classified into the three types of service levels. For each commercial, the processing time pj is set to 5, 10, 15, 20, 25 or 30 s, and a specific service-level requirement to be broadcasted is applied.
We set n∈{5,10,20,30,40}, m∈{3,5,8}, rmax=3000, pmax=6, rsmax=3, lmax=600, and lmin=50. For each job j, the release time rj, processing time pj, due date dj, and required service level rsj are randomly drawn from uniform distributions on the intervals [0,rmax], [1,pmax]×5, [0,rmax+600]+rj+pj, and[1,rsmax], respectively. Each TV station is capable of processing job j with a probability equal to 0.5. For each TV channel i, the number of advertising breaks N(i) is randomly drawn from the discrete uniform distribution [4,8]. For each advertising break r on TV channel i, the start time bri and end time fri, as well as the service level rsri, are generated as follows.
● b1i is randomly drawn from the uniform distribution [0,lmax];
● bri is randomly drawn from the uniform distribution [0,lmax]+fr−1i, r∈F;
● fri is randomly drawn from the uniform distribution [lmin,70]+bri, r∈F.
● rsri is randomly drawn from the uniform distribution [1,rsmax], i∈A and r∈F.
In total, there are 20 test instances for each combination of n and m tested. The computational results are presented in Table 2. The columns labelled Max. (Min.) indicate the maximum (minimum) number of nodes created and the maximum (minimum) computational time among the test instances, respectively. The columns labelled "Average" give the average number of nodes created and the average computational time, respectively. From Table 2, we can obtain optimal solutions using the branch and bound algorithm for the problem size of 40 commercials and eight TV channels within a moderate CPU time. The larger the problem size, the more nodes created, and the more computational time will be required.
5.
Conclusions
In this paper, we presented an exact branch and bound algorithm to find an optimal solution for scheduling TV commercials to minimize the maximum lateness. The branch and bound algorithm incorporates the LFJ and EDD rules to find feasible schedules as upper bounds and lower bounds based on an algorithm that combines a binary search and a network flow technique for pruning nodes. In the studied problem, commercials had service-level constraints and processing times and could not be split at any point in time. This problem is more general than the scheduling problem discussed in [20] and [21]. A large number of nodes can be eliminated by upper and lower bounds, and only a very small percentage of potential nodes are generated. The branch and bound algorithm can be used to solve the problem optimally for up to 40 commercials and eight TV channels.
Acknowledgments
The author is grateful for the financial support from the Ministry of Science and Technology in Taiwan under grant 108-2622-E-025-001-CC3 and from National Taichung University of Science and Technology under grant NTCUST110-19.
Conflict of interest
The author declares that there are no conflicts of interest regarding the publication of this paper.