Received 16 May 2002; accepted 26 February 2004
time windows. The bandwidth scheduling (BWS) problem can be considered the extension and general-
ization of the bandwidth packing (BWP) problem found in the literature. This latter problem does not*Available online 8 June 2004
We consider the bandwidth scheduling problem that consists of selecting and scheduling calls from a list of available
calls to be routed on a bandwidth-capacitated telecommunication network in order to maximize prot. Each accepted
call should be routed within a permissible scheduling time window for a required duration. To authors knowledge, this
study represents the rst work on bandwidth scheduling with time windows. We present an integer programming
formulation of the problem. We also propose a solution procedure based on the well-established Lagrangean relaxation
technique. The results of extensive computational experiments over a wide range of problem structures indicate that the
procedure is both ecient and eective.
2004 Elsevier B.V. All rights reserved.
Keywords: Telecommunications; Bandwidth packing; Scheduling; Integer programming; Lagrangean relaxation
This paper considers the bandwidth scheduling (BWS) problem that arises in the area of telecommu-
nications. The problem involves selecting and scheduling calls from a list of available calls to be routed on a
bandwidth-capacitated telecommunication network in order to maximize prot. Each available call is
characterized by a revenue, a demand or trac requirement, a duration, and a scheduling time window for
routing the call. Each accepted call should be routed within the permissible time window for the requiredduration of the call. A path/route should also be selected from among all possible paths in the network to
route the demand of each accepted call during each time of the entire duration of the call.
To authors best knowledge, the current study represents the rst work on bandwidth scheduling withO.R. Applications
The selection and scheduling of telecommunication callswith time windows
Ali Amiri *
Department of Management Science and Information Systems, College of Business Administration, Oklahoma State University,
210 Business, Stillwater, OK 74078, USA
European Journal of Operational Research 167 (2005) 243256
www.elsevier.com/locate/dswTel.: +1-405-744-8649; fax: +1-405-744-5180.
E-mail address: email@example.com (A. Amiri).
0377-2217/$ - see front matter 2004 Elsevier B.V. All rights reserved.doi:10.1016/j.ejor.2004.02.026
resulting in better overall bandwidth utilization and increased revenue for the network operator. Inaddition, it allows for the eective implementation of discriminatory pricing policy. For example, clientscan be charged more for requesting calls to be routing during peak-hours (i.e., period of high utili-
zation of the network) and less for requesting calls to be routing during o-peak-hours (i.e. period of
low utilization of the network). Of course, after the network operator solves the bandwidth scheduling
problem, he/she noties each client about the start time of his/her call to get ready to transmit the call.
The major contributions of this study are indeed the introduction and formulation of this more practical
and general problem and the development of an eective method to solve based on the Lagrangean
The bandwidth packing (BWP) problem as known in its generic form in the literature has been rstintroduced by Cox et al. . The problem is not just applicable to phone networks. As stated by Parker and
Ryan , the problem is quite general and applies to telecommunications networks used to carry mainly
high bandwidth applications that can share communication channels such as video-on-demand, multimedia
services, video teleconferencing, and of course voice and text. It is also important to note that the term
call as used in the literature dealing with this problem refers to a request to use the network resources to
transmit trac between a pair of communicating nodes usually for extended durations compared to phone
Anderson et al. , Laguna and Glover , Cox et al. , Parker and Ryan  and Park et al. studied the bandwidth packing problem. They formulated the problem and presented heuristic solution
procedures based on tabu search [3,12], genetic algorithm , column generation , and branch-and-
bound technique using column generation and cutting plane approaches . More recently, Amiri et al. 
and Rolland et al.  incorporated the queueing delay issue in the problem. Amiri and Barkhi  extended
the problem to allow the demand of a call to vary by the hours of the days. They did not consider, however,
durations and scheduling time windows of available calls.
The purpose of this paper is to present this new (BWS) problem and propose an optimization based
approach to solve it eciently. This approach is based on a straightforward implementation of the well-established Lagrangean relaxation technique. The remainder of this paper is organized as follows. In
Section 2, a mathematical formulation of the (BWS) problem is presented. A Lagrangean relaxation of the
problem obtained by dualizing a subset of the constraints and a heuristic solution procedure are presented
in Section 3. Computational results are reported in Section 4. The conclusions are summarized in the last
2. Formulation of the problem
In order to formulate the bandwidth scheduling problem in a telecommunications network, we are given
the network topology, the capacity of the links, the ow costs, and the list of available calls. Each available
call is characterized by a revenue, a demand or trac requirement, a duration, and a scheduling time
window for routing the call. The (BWS) problem consists of determining the set of calls to route and the
assignment of these calls to the paths in the network to maximize prot while satisfying the bandwidthconsider durations and scheduling time windows for routing calls. Alternatively, it assumes that allavailable calls have the same duration of one time unit and the same scheduling time window of length one.
In practice however, the durations and permissible scheduling time windows vary. A good example would
be the scheduling of teleconferences for customers on a telecommunication network.
The use of time windows allows a client to specify an interval/window of acceptable times for routing
the call rather than just one time. This arrangement increases the chance that the call getting accepted,
thereby beneting the customer; it also enables better packing of the calls in the network links,
244 A. Amiri / European Journal of Operational Research 167 (2005) 243256capacity limitations and permissible time window restrictions.
1 if call m is routed starting at time p 2 S ;
Y mp6 1 8m 2 M ; 2
Xmpji;t Y mp if i Om;Y mp if i Dm0 otherwise;
8>: 8i 2 N ; m 2 M ; p 2 S
m and t 2 p; p dm 1; 3
Xp2Sm j p6 t6 pdm1
amXmpij;t 6Qij 8i; j 2 E and t 2 T ; 4
Xmpij;t 2 0; 1 8i; j 2 E; m 2 M ; p 2 Sm and t 2 p; p dm 1; 5Y mp 2 0; 1 8m 2 M and p 2 Sm: 6
In this formulation, the objective function represents total prot of routed calls. Constraint set (2) re-
quires that at most one starting time from the acceptable start time interval be selected for each call.
Constraint set (3) contains the ow conservation equations which dene a route (path) for each accepted
call during every scheduling time unit of the duration of the call. Constraint set (4) represents the capacity
constraints on the links during every time unit t 2 T . Constraint sets (5) and (6) enforce the integrality
rmpY mp Xm2M
CtijamXmpij;t 1Xmpij;t 1 if call m is routed starting at time p 2 S through a path that uses link i; j
at time t 2 p; p dm 1;
the details are referred to papers  and to books describing related material [13,14,18].
246 A. Amiri / European Journal of Operational Research 167 (2005) 243256ZLR MaxXm2M
rmpY mp Xm2M
ampij;tXmpij;t W mpij;t ; 9
subject to 26and8:
Problem LR can be decomposed into two subproblems as follows:
rmpY mp Xm2M
ampij;tWmpij;t ; 10W mpij;t 2 0; 1 8i; j 2 E; m 2 M ; p 2 Sm and t 2 p; p dm 1: 8
Note that, because of the minimization nature of the problem, the values of the variables W mpij;t and Xmpij;t
will be equal in an optimal solution.
We consider the Lagrangean relaxation of problem P obtained by dualizing constraints in set (7) using
nonnegative multipliers ampij;t 8i; j 2 E; m 2 M ; p 2 Sm and t 2 p; p dm 1.of the problem.
W mpij;t 6Xmpij;t 8i; j 2 E; m 2 M ; p 2 Sm and t 2 p; p dm 1; 73.1. The Lagrangean relaxation
To apply Lagrangean decomposition (we refer to this simply as Lagrangean relaxation in the remainder
of the paper) to the problem, we introduce a new set of decision variables W mpij;t dened in the same as Xmpij;t ,
re-write constraints (3) in terms of W mp rather than Xmp, and add the following constraints to the formu-g integer programs. A special case of Lagrangean relaxation, often referred to as Lagrangeanposition, was presented in Guinard and Kim .
the case of the bandwidth scheduling problem, a direct implementation of Lagrangean relaxation
des extremely good results. This is a convenient feature to have, as the basic Lagrangean relaxation
ach is relatively easy to implement. In this section, we provide a brief description of the solution
ach. Details of the Lagrangean relaxation methodology are not provided here; readers interested indicult to solve practical size instances of this problem to optimality in reasonable time. We propose in this
paper an eective solution approach based on a straightforward implementation of Lagrangean relaxation.
The application of Lagrangean relaxation to integer programming was introduced by Held and Karp
[10,11], while Georion  and Fisher  helped establish Lagrangean relaxation as a powerful tool forlution methodology
e problem studied in  is a special case of problem P and is known to be NP-complete. Thus, it issubject to 2; 3; 6 and 8:
3.2. GA heuristic algorithm, called ProfGreed, is used to generate initial feasible solutions to the problem(BWSconstraint (0,1) knapsack problem. We have chosen, however, to relax the integrality constraints and
the continuous version in order to expedite the solution process.
enerating initial feasible solutionsDm (one for every t 2 p; p dm 1) with ampij;t as the nonnegative costs of the links using Dijkstrasalgorithm . If a particular start time p with the most positive value of the objective function of thesubproblem is found, then the call is routed through those paths. If not, the call is not routed and we set
Y mp 0 and W mpij;t 0 8i; j 2 E, p 2 Sm and t 2 p; p dm 1.Each subproblem of problem L2 corresponding to a link i; j at scheduling time t is equivalent to ahat gives the most positive value of the objective function of the subproblem. Each subproblem LR1mcall m with a particular start time p can be solved by solving dm shortest path problems from Om tom
time be selected for the call. Thus, we solve the subproblem for each possible start time p 2 Sm and select theunit t 2 T and link i; j 2 E) as follows:ZLR2i;j Max
Xp2Sm j p6 t6 pdm1
ampij;t CtijamXmpij;t 17
Xp2Sm j p6 t6 pdm1
amXmpij;t Qij; 18
Xmpij;t 2 0; 1 8m 2 M and p 2 Sm: 19solve a subproblem LR1 for a call m, we observe that constraints (13) require that at most one startW mpij;t 2 0; 1 8i; j 2 E; p 2 Sm and t 2 p; p dm 1: 16Similarly, Problem LR2 can be further decomposed into jT jjEj subproblems (one for each scheduling0 otherwise;
Y mp 2 0; 1 8p 2 Sm; 15j2NXij;t
j2NXji;t Y if i Dm;>: 8i 2 N ; p 2 S and t 2 p; p d 1 14p2SmY 6 1; 13
Y mp if i Om;mp
8> 0, where Lt is the set of links in the feasible path used to route demandll m at time t; that is, if the revenue from the call exceeds the total cost of routing the call during the
mexamined sequentially according to some ordering rule R that is greedy in nature. Several ordering ruleswere examined. Among them, the following three were retained:
R1: order the calls by nonincreasing prot, i.e., rmp,R2: order the calls by nonincreasing ratio of prot/demand, i.e., rmp=am,R3: order the calls by nonincreasing ratio of prot/(demand earliest start time), i.e., rmp=am Em.
It is important to note that the ordering of the calls according to rules R1, R2 and R3 is dynamic; that is,
the ordering changes during the application of the heuristic. The reason is simple: at each iteration of theheuristic, the available capacities of the links are adjusted when a call is accepted for routing, and therefore
a routing option with its corresponding prot for a particular call available at iteration k may becomeinfeasible at iteration k 1. A feasible routing option for a particular call m corresponds to choosing a starttime p 2 Sm for routing the call and determining a feasible path to route the demand of the call at each timet 2 p; p dm 1 of the duration of the call. A feasible path is a path that has enough available capacity ineach of its links from the source node Om to the destination node Dm of the call.
A feasible routing option for call m when its routing starts at time p 2 Sm is protable if
248 A. Amiri / European Journal of Operational Research 167 (2005) 243256ng and moved to the set A of accepted calls. The algorithm terminates when the set U is empty; that is,
Step 1. Set iteration k 1, A . Place all calls in U .
Step 2. For each call m 2 U , determine the most protable feasible routing option along with the corre-
sponding best start time (as explained above). Remove from U every call that has no feasiblerouting option.
Step 3. Select the best call mk , according to rule R, from among all calls in U to route at iteration k. Adjustthe remaining capacities of the links in the paths used to route the demand of call mk according tothe most protable feasible routing option for the call. Remove mk from U and add it to A.
Step 4. Set k k 1. Repeat steps 2 and 3 until U is empty.
3.2.2. Complexity of ProfGreed
Step 2 of the algorithm is of order OjM jsjN 2j, where s maxm2M fjSmjg is the maximum length of thestart time intervals. Indeed, for each call m 2 U , all possible start times p 2 Sm are evaluated to choose themost protable feasible routing option and the shortest feasible path is determined for each time
t 2 p; p dm 1 using Dijkstras algorithm. In step 3, the best call, according to rule R, from among allcalls in U is selected with complexity OjM j. The question now is how many times at most steps 2 and 3 arerepeated? At worst, no more than on...