Upload
ali-amiri
View
212
Download
0
Embed Size (px)
Citation preview
European Journal of Operational Research 167 (2005) 243–256
www.elsevier.com/locate/dsw
O.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
Received 16 May 2002; accepted 26 February 2004
Available online 8 June 2004
Abstract
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 profit. Each accepted
call should be routed within a permissible scheduling time window for a required duration. To author’s knowledge, this
study represents the first 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 efficient and effective.
� 2004 Elsevier B.V. All rights reserved.
Keywords: Telecommunications; Bandwidth packing; Scheduling; Integer programming; Lagrangean relaxation
1. Introduction
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 profit. Each available call is
characterized by a revenue, a demand or traffic 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 author’s best knowledge, the current study represents the first work on bandwidth scheduling with
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
* Tel.: +1-405-744-8649; fax: +1-405-744-5180.
E-mail address: [email protected] (A. Amiri).
0377-2217/$ - see front matter � 2004 Elsevier B.V. All rights reserved.
doi:10.1016/j.ejor.2004.02.026
244 A. Amiri / European Journal of Operational Research 167 (2005) 243–256
consider 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 benefiting the customer; it also enables better ‘‘packing’’ of the calls in the network links,
resulting in better overall bandwidth utilization and increased revenue for the network operator. In
addition, it allows for the effective 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 ‘‘off-peak-hours’’ (i.e. period of
low utilization of the network). Of course, after the network operator solves the bandwidth scheduling
problem, he/she notifies 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 effective method to solve based on the Lagrangean
relaxation technique.
The bandwidth packing (BWP) problem as known in its generic form in the literature has been firstintroduced by Cox et al. [5]. The problem is not just applicable to phone networks. As stated by Parker and
Ryan [16], 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 traffic between a pair of communicating nodes usually for extended durations compared to phone
conversations.
Anderson et al. [3], Laguna and Glover [12], Cox et al. [5], Parker and Ryan [16] and Park et al. [15]studied the bandwidth packing problem. They formulated the problem and presented heuristic solution
procedures based on tabu search [3,12], genetic algorithm [5], column generation [16], and branch-and-
bound technique using column generation and cutting plane approaches [15]. More recently, Amiri et al. [2]
and Rolland et al. [17] incorporated the queueing delay issue in the problem. Amiri and Barkhi [1] 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 efficiently. 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
section.
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 flow costs, and the list of available calls. Each available
call is characterized by a revenue, a demand or traffic 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 profit while satisfying the bandwidth
capacity limitations and permissible time window restrictions.
A. Amiri / European Journal of Operational Research 167 (2005) 243–256 245
We use the following notation to formulate the (BWS) problem.
N the set of nodes in the network
E the set of undirected links in the network
M the set of available calls. Each call is represented by a communicating node pair
OðmÞ the source node for call m 2 MDðmÞ the destination node for call m 2 MT the time scheduling window
Sm ¼ ½Em; Lm� the start time interval of call m 2 M ;Em and Lm are the earliest and latest start times,respectively
dm the duration of call m 2 Mam the traffic requirement or demand of call m 2 Mrmp the revenue from call m 2 M if its routing starts at time p 2 Sm
Qij the capacity of link ði; jÞCt
ij the cost for the unit flow on link ði; jÞ at time t 2 T
The decision variables are
Y mp ¼ 1 if call m is routed starting at time p 2 Sm;0 otherwise;
�
Xmpij;t ¼
1 if call m is routed starting at time p 2 Sm through a path that uses link ði; jÞat time t 2 ½p; p þ dm � 1�;
0 otherwise:
8<:
Problem P
ZP ¼ MaxXm2M
Xp2Sm
rmpY mp �Xm2M
Xp2Sm
Xt2T
Xði;jÞ2E
Ctija
mXmpij;t ð1Þ
subject to
Xp2SmY mp6 1 8m 2 M ; ð2Þ
Xj2N
Xmpij;t �
Xj2N
Xmpji;t ¼
Y mp if i ¼ OðmÞ;Y mp if i ¼ DðmÞ0 otherwise;
8><>: 8i 2 N ; m 2 M ; p 2 Sm and t 2 ½p; p þ dm � 1�; ð3Þ
Xm2M
Xp2Sm j p6 t6 pþdm�1
amXmpij;t 6Qij 8ði; jÞ 2 E and t 2 T ; ð4Þ
Xmpij;t 2 ð0; 1Þ 8ði; jÞ 2 E; m 2 M ; p 2 Sm and t 2 ½p; p þ dm � 1�; ð5Þ
Y mp 2 ð0; 1Þ 8m 2 M and p 2 Sm: ð6Þ
In this formulation, the objective function represents total profit 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 flow conservation equations which define 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
conditions on Xmpij;t and Y mp variables, respectively.
246 A. Amiri / European Journal of Operational Research 167 (2005) 243–256
3. Solution methodology
The problem studied in [3] is a special case of problem P and is known to be NP-complete. Thus, it is
difficult to solve practical size instances of this problem to optimality in reasonable time. We propose in this
paper an effective 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 Geoffrion [8] and Fisher [6] helped establish Lagrangean relaxation as a powerful tool for
solving integer programs. A special case of Lagrangean relaxation, often referred to as Lagrangeandecomposition, was presented in Guinard and Kim [9].
In the case of the bandwidth scheduling problem, a direct implementation of Lagrangean relaxation
provides extremely good results. This is a convenient feature to have, as the basic Lagrangean relaxation
approach is relatively easy to implement. In this section, we provide a brief description of the solution
approach. Details of the Lagrangean relaxation methodology are not provided here; readers interested in
the details are referred to papers [6–9] and to books describing related material [13,14,18].
3.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 defined in the same as Xmp
ij;t ,
re-write constraints (3) in terms of W mpij;t rather than Xmp
ij;t , and add the following constraints to the formu-
lation of the problem.
W mpij;t 6Xmp
ij;t 8ði; jÞ 2 E; m 2 M ; p 2 Sm and t 2 ½p; p þ dm � 1�; ð7Þ
W mpij;t 2 ð0; 1Þ 8ði; 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 Xmp
ij;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 8ði; jÞ 2 E; m 2 M ; p 2 Sm and t 2 ½p; p þ dm � 1�.
Problem LR
ZLR ¼ MaxXm2M
Xp2Sm
rmpY mp �Xm2M
Xp2Sm
Xt2T
Xði;jÞ2E
Ctija
mXmpij;t
þXm2M
Xp2Sm
Xt2½p;pþdm�1�
Xði;jÞ2E
ampij;tðXmpij;t � W mp
ij;t Þ; ð9Þ
subject to ð2Þ–ð6Þandð8Þ:
Problem LR can be decomposed into two subproblems as follows:
Problem LR1
ZLR1 ¼ MaxXm2M
Xp2Sm
rmpY mp �Xm2M
Xp2Sm
Xt2T
Xði;jÞ2E
ampij;tWmpij;t ; ð10Þ
subject to ð2Þ; ð3Þ; ð6Þ and ð8Þ:
A. Amiri / European Journal of Operational Research 167 (2005) 243–256 247
Problem LR2
ZLR2 ¼ MaxXm2M
Xp2Sm
Xt2½p;pþdm�1�
Xði;jÞ2E
ðampij;t � Ctija
mÞXmpij;t ; ð11Þ
subject toð4Þ and ð5Þ:
Note that ZLR ¼ ZLR1 þ ZLR2 and that the Lagrangean problem (LR) does not satisfy the integrality
property [4,6] because the linear programming relaxation of (LR) does not necessarily have an integer
solution. Thus, our relaxation of problem ðP Þ can theoretically give an upper bound which is at least asgood as, and possibly better than the linear programming relaxation of ðP Þ.
Problem LR1 can be further decomposed into jM j subproblems (one for each call m 2 M) as follows:
ZLR1m ¼ MaxXp2Sm
rmpY mp �Xp2Sm
Xt2T
Xði;jÞ2E
ampij;tWmpij;t ð12Þ
subject to
Xp2SmY mp6 1; ð13Þ
Xj2N
Xmpij;t �
Xj2N
Xmpji;t ¼
Y mp if i ¼ OðmÞ;�Y mp if i ¼ DðmÞ;0 otherwise;
8><>: 8i 2 N ; p 2 Sm and t 2 ½p; p þ dm � 1� ð14Þ
Y mp 2 ð0; 1Þ 8p 2 Sm; ð15ÞW mp
ij;t 2 ð0; 1Þ 8ði; jÞ 2 E; p 2 Sm and t 2 ½p; p þ dm � 1�: ð16Þ
Similarly, Problem LR2 can be further decomposed into jT jjEj subproblems (one for each schedulingtime unit t 2 T and link ði; jÞ 2 E) as follows:
ZLR2ði;jÞ ¼ MaxXm2M
Xp2Sm j p6 t6 pþdm�1
ðampij;t � Ctija
mÞXmpij;t ð17Þ
subject to
Xm2MXp2Sm j p6 t6 pþdm�1
amXmpij;t Qij; ð18Þ
Xmpij;t 2 ð0; 1Þ 8m 2 M and p 2 Sm: ð19Þ
To solve a subproblem LR1m for a call m, we observe that constraints (13) require that at most one start
time be selected for the call. Thus, we solve the subproblem for each possible start time p 2 Sm and select the
time that gives the most positive value of the objective function of the subproblem. Each subproblem LR1mfor a call m with a particular start time p can be solved by solving dm shortest path problems from OðmÞ toDðmÞ (one for every t 2 ½p; p þ dm � 1�) with ampij;t as the nonnegative costs of the links using Dijkstra’s
algorithm [19]. If a particular start time p� with the most positive value of the objective function of the
subproblem 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 8ði; 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 a
single constraint (0,1) knapsack problem. We have chosen, however, to relax the integrality constraints and
solve the continuous version in order to expedite the solution process.
3.2. Generating initial feasible solutions
A heuristic algorithm, called ProfGreed, is used to generate initial feasible solutions to the problem
(BWS) before the subgradient optimization procedure starts (discussed later). In the algorithm, the calls are
248 A. Amiri / European Journal of Operational Research 167 (2005) 243–256
examined 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 profit, i.e., ðrmpÞ,R2: order the calls by nonincreasing ratio of profit/demand, i.e., ðrmp=amÞ,R3: order the calls by nonincreasing ratio of profit/(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 profit for a particular call available at iteration k may become
infeasible at iteration k þ 1. A feasible routing option for a particular call m corresponds to choosing a start
time p 2 Sm for routing the call and determining a feasible path to route the demand of the call at each time
t 2 ½p; p þ dm � 1� of the duration of the call. A feasible path is a path that has enough available capacity in
each of its links from the source node OðmÞ to the destination node DðmÞ of the call.
A feasible routing option for call m when its routing starts at time p 2 Sm is profitable if
ðrmp �P
t2½p;pþdm�1�P
ði;jÞ2Lt Ctija
mÞ > 0, where Lt is the set of links in the feasible path used to route demandof call m at time t; that is, if the revenue from the call exceeds the total cost of routing the call during the
entire duration of the call. All possible start times p 2 Sm for call m are examined and the feasible routing
option corresponding to the start time that results in the highest profit is chosen as the most profitable
feasible routing option for call m. In order to maximize profit, the shortest (in terms of cost) feasible path
should be selected from among all available paths at each time of the duration of the call. Dijkstra’s
algorithm [10] is used to find the shortest feasible path from the source node OðmÞ to the destination node
DðmÞ. The algorithm uses dynamically computed costs to include or exclude specific links. A link is included
if its remaining capacity is larger than or equal to the demand of the call and it is excluded if the remainingcapacity is smaller. Specifically, let us say we are considering, at iteration k, routing call m starting at time pand we want to determine the shortest feasible path to route call m at time t 2 ½p; p þ dm � 1�. Then, thetemporary cost C
tij of each link ði; jÞ at time t is given by
Ctij ¼ Ct�
ij am if Q
tkij P am;
BIG otherwise;
�
where Qtk
ij represents the remaining/available capacity for link ði; jÞ at time t and at iteration k of the
application of the algorithm, and BIG is a ‘‘large cost’’ equal at least to jEj� maxði;jÞ2E ðCtijÞ
�am. If the
shortest path has a length of at least BIG, then no feasible path exists for the considered call m at time twhen the routing of this call starts at time p. In this case, the option of routing call m starting at time p 2 Sm
is not a feasible routing option. If the shortest path has a length less than BIG, then this path is the shortest
feasible path to be used to route the demand of the call at time t.Some additional notations:
k iteration number
U set of unexamined calls at iteration kA set of accepted calls at iteration k
3.2.1. Algorithm ProfGreed
This algorithm is a greedy algorithm that can examine each call several times at various iterations beforeit is accepted or rejected for routing. At each iteration k, the best feasible routing option according to rule R
is determined for each call in order to update the set U and the most profitable call in the set is accepted for
routing and moved to the set A of accepted calls. The algorithm terminates when the set U is empty; that is,
A. Amiri / European Journal of Operational Research 167 (2005) 243–256 249
when no feasible routing option can be determined for any of the unaccepted calls. The various steps of thealgorithm are as follows.
Step 1. Set iteration k ¼ 1, A ¼ Ø. Place all calls in U .
Step 2. For each call m 2 U , determine the most profitable feasible routing option along with the corre-
sponding ‘‘best’’ start time (as explained above). Remove from U every call that has no feasible
routing option.
Step 3. Select the best call m�k , according to rule R, from among all calls in U to route at iteration k. Adjust
the remaining capacities of the links in the paths used to route the demand of call m�k according to
the most profitable feasible routing option for the call. Remove m�k 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 OðjM jsjN 2jÞ, where s ¼ maxm2M fjSmjg is the maximum length of the
start time intervals. Indeed, for each call m 2 U , all possible start times p 2 Sm are evaluated to choose the
most profitable feasible routing option and the shortest feasible path is determined for each time
t 2 ½p; p þ dm � 1� using Dijkstra’s algorithm. In step 3, the best call, according to rule R, from among allcalls in U is selected with complexity OðjM jÞ. The question now is how many times at most steps 2 and 3 are
repeated? At worst, no more than one call is removed from the set U and placed in set A at every iteration of
the algorithm. Hence, steps 2 and 3 can be repeated jM j times until the stopping criterion is met, namely the
set U becomes empty. Therefore, the complexity of the algorithm is OðjM j2sjN j2Þ.
3.3. Heuristic solution procedure
Subgradient optimization [4] is used to optimize the Lagrangean dual. Feasible solutions to problem Pare obtained at each iteration through a heuristic embedded in the subgradient optimization procedure. The
procedure called SCHEDULE generates a feasible solution to problem P at every iteration of the sub-
gradient optimization algorithm using information provided by the solution to problem LR1. The best
feasible solution is retained when the subgradient algorithm is terminated. Note that in the solution to
problem L1 every call is either accepted for routing at a start time through the links in the network or it is
not. But there may be some links with loads higher than their available capacities. This simple heuristic tries
to route calls through the network without exceeding the link capacities. That is why this heuristic guar-
antees to generate a feasible solution at every iteration of the subgradient optimization procedure. Theheuristic is greedy in nature and can be described as follows:
Step 1. Order the calls by sorting them in nonincreasing order of the optimal values of the objective func-
tions (ZLR1m ) of their corresponding subproblems of problem LR1.
Step 2. Starting with the first call, check if the call can be routed at the start time and using the paths deter-
mined in the solution of its corresponding subproblem (LR1m) without exceeding the available link
capacities. If yes, the call is routed and the available link capacities are adjusted; otherwise the call
is not routed.Step 3. Proceed with the next call and repeat step 2. Stop when all calls have been examined.
4. Computational study
The goal of the computational study is to test the quality of the proposed heuristic SCHEDULE by
comparing the gaps between the bounds due to changes in the parameters of the problem such as the
6 (10,8)
4
7
6
8
9
3
2
1
5
12 (20,7)
8 (15,5)
4 (20,5)
3 (40,9)
7 (20,4) 2 (35,7)
5 (15,4)
1 (25,5)
11 (10,3)
9 (10,14)
10 (15,6)
arc (capacity, cost)
10
Fig. 1. Example network.
250 A. Amiri / European Journal of Operational Research 167 (2005) 243–256
number of available calls, length of the scheduling time window, and the call traffic requirements. For thispurpose, we use a modified version of an example problem found in the literature dealing with the
bandwidth packing problem [12,15] and a set of randomly generated test problems.
The heuristic solution procedure described in the previous section has been coded in Borland Delphi as
an integral part of the subgradient optimization algorithm. A series of computational experiments were
carried out to evaluate the effectiveness of the solution procedure using a Pentium-450 personal computer.
First, we describe the method used to generated data for random networks. Next, we report the results of
applying the heuristic solution procedure to the example network found in the literature and the randomly
generated networks.
Table 1
Call table for the example problem
m OðmÞ DðmÞ am rmp for all p dm Em Lm
1 1 3 10 1680 2 1 3
2 1 5 6 1560 2 1 3
3 1 6 6 1600 2 1 2
4 1 8 7 1520 2 1 2
5 2 5 7 1600 2 2 3
6 2 6 5 1960 2 2 3
7 2 7 5 2000 3 1 2
8 2 8 6 2000 3 1 2
9 2 9 6 1840 2 2 3
10 2 10 5 680 2 2 3
11 3 4 4 1800 2 1 3
12 3 5 8 2000 2 1 3
13 3 6 3 800 2 1 3
14 3 9 8 1800 2 1 2
15 3 10 2 600 3 1 2
16 4 6 6 3400 2 1 3
17 5 8 2 480 3 1 2
18 6 10 5 1440 2 1 3
19 7 10 5 1480 3 1 2
20 8 10 5 1360 2 2 3
Table 2
Effects of changes in the number of available calls
jN j R (% of calls) jM j Number %Gap CPU
Variables Constraints
15 20 21 11,392 4121 0.35 16
15 30 31 16,340 5817 0.43 24
15 40 42 22,786 8072 0.39 34
15 50 52 27,567 9741 0.63 42
15 60 63 33,354 11,720 0.57 52
15 70 73 37,960 13,347 0.76 60
15 80 84 43,825 15,407 0.48 72
15 90 94 48,459 17,019 0.57 80
20 20 38 26,939 9564 0.40 46
20 30 57 41,122 14,499 0.52 72
20 40 76 52,435 18,422 0.39 95
20 50 95 67,362 23,637 0.66 123
20 60 114 79,790 27,920 0.61 148
20 70 133 91,079 31827 0.74 173
20 80 152 104,896 36,626 0.87 204
20 90 171 119,433 41,577 0.58 233
25 20 60 50,759 18,483 0.67 104
25 30 90 76,589 27,753 0.78 160
25 40 120 101,097 36,543 0.58 216
25 50 150 125,482 45,233 1.03 273
25 60 180 148,250 53,378 1.01 328
25 70 210 179,635 64,753 1.00 396
25 80 240 201,881 72,738 1.21 458
25 90 270 229,320 82,558 1.32 521
30 20 87 86,107 31831 1.14 202
30 30 130 126,435 46,514 0.92 305
30 40 174 169,474 62,272 1.28 422
30 50 217 215,502 79,211 1.32 542
30 60 261 262,245 96,265 1.33 667
30 70 304 297,105 108,998 1.21 765
30 80 348 342,666 125,566 1.05 877
30 90 391 378,772 138,821 1.45 981
jT j ¼ 8, TRM¼ 1, CM¼ 1.
A. Amiri / European Journal of Operational Research 167 (2005) 243–256 251
4.1. Data generation
We used 10 sets of networks with 15–60 nodes generated randomly but systematically to capture a wide
range of problem structures. Ten problem instances from each group with the same structure were gen-
erated in order to achieve a reasonable level of confidence about the performance of the solution procedure
on that problem structure. A total of 860 problem instances were solved.
The following test problem generator was used to generate the networks. First, the generator locates the
specified number of nodes on a 100� 100 grid. Each node has a degree equal to 2, 3 or 4 with probability of0.6, 0.3 and 0.1, respectively. The parameters that define the networks (node degrees and their associated
probability of occurrence) are chosen in order to generate realistic telecommunication networks, where
there are some ‘‘redundant’’ communication links. The numbers 0.6 and 2 specify that for 60% of the nodes
in the network there are two ways that a node can be accessed by connecting it to two other nodes. This is
252 A. Amiri / European Journal of Operational Research 167 (2005) 243–256
the minimum adjacency required for a node to be covered by a backup communication link. In realisticnetworks, some nodes may have higher adjacency requirements. This is captured by using node degrees of 3
and 4 for 30% and 10% of the nodes in the network, respectively.
We repeat the following procedure for each node i 2 N to generate the links in the network. Determine
node i’s closest neighbor (in terms of Euclidean distance) with unsatisfied degree requirement, call this node
j. Add arc ði; jÞ and repeat this until first, node i’s degree requirement is satisfied or second, all the nodes
with unsatisfied degree requirements have been considered. In the latter case, connect node i to its closest
neighbors to which it is not already connected until the degree requirement of node i’s satisfied. At the end
check to see if the network is connected; if not, add links necessary to make it connected. Each link in thenetwork is randomly assigned a capacity (Qij) equal to 960, 1920, 5000, or 10,800 with equal probabilities.
The test problem generator also produces a call table. The percentage of the number of available calls (R)in the table varies between 40 and 90. R is a parameter that is used to control the number of available calls
in the test problems. If the network includes n nodes, then the number of available calls is
R � nðn� 1Þ=ð2 � 100Þ. For instance, if R ¼ 50 (which is actually used in the base case) and n ¼ 60, then this
means that the network manager will receive 50 � 60 � 59=ð2 � 100Þ or 855 requests from which he/she will
choose the most profitable set of calls to be routed. Each call has an origin and destination nodes deter-
mined randomly. The length of the time window jT j varies from 4 to 14. The duration of each call is selectedfrom a uniform distribution between 1 and 5. The start time interval Sm ¼ ½EmLm� of call m 2 M is deter-
Table 3
Effects of changes in the length of time scheduling window
jN j jT j Number %Gap CPU
Variables Constraints
15 4 26,763 9384 0.08 28
15 6 26,511 9332 0.47 37
15 8 27,567 9741 0.63 43
15 10 28,329 10,054 0.86 47
15 12 28,329 10,097 0.76 51
15 14 28,329 10,140 0.85 54
20 4 66,559 23,254 0.36 84
20 6 65,105 22,800 0.85 109
20 8 67,362 23,637 0.66 125
20 10 69,379 24,395 0.82 137
20 12 69,379 24,453 0.75 146
20 14 69,379 24,510 0.94 155
25 4 122,875 44,174 0.46 197
25 6 121,054 43,579 0.89 244
25 8 125,482 45,233 1.03 278
25 10 128,680 46,453 0.76 304
25 12 128,680 46,523 1.20 324
25 14 128,680 46,592 1.06 344
30 4 210,763 77,331 0.62 358
30 6 206,704 75,895 0.64 476
30 8 215,502 79,211 1.30 542
30 10 220,125 80,973 1.19 587
30 12 220,125 81,055 1.06 624
30 14 220,125 81,137 1.06 661
% calls (R)¼ 50, TRM¼ 1, CM¼ 1.
A. Amiri / European Journal of Operational Research 167 (2005) 243–256 253
mined randomly with the condition that Lm þ dm � 16 jT j ; that is, the call should finish routing no laterthan jT j.
The values of the parameters in the model such as traffic requirements, revenues of the calls (rpm) andunit flow costs (Ct
ij) are determined in such a way that the solution procedure effectiveness due to changes in
these parameter values can be evaluated with high confidence level. The traffic requirement for each call is
generated randomly as am ¼ TRM � hm, where TRM, called the traffic requirement multiplier, is a constant
that varies between 0.50 and 1.50 with increment of 0.25 (this constant is equal to 1 for the base case) and
hmt is a number determined randomly from the uniform distribution between 100 and 200. The revenue for
each call is the same for all acceptable start times and is generated randomly from a uniform distributionbetween 5000 and 15,000. The unit flow cost for each link ði; jÞ is set equal to CM multiplied by a random
number drawn from the uniform distribution between 4 and 10, where CM (called cost multiplier) is a
constant that varies from 0.50 to 1.50, (this constant is equal to 1 for the base case).
4.2. Results from the example problem
First, we illustrate the proposed solution approach by applying it to the example problem. The data for
the example problem (the example network and the call table) are due to Laguna and Glover [12] and Parket al. [15]. The example problem involves 20 calls over a network with 10 nodes and 12 arcs. The example
network is presented in Fig. 1. Table 1 shows the list of available calls. We generated randomly the
durations and start time intervals for the calls.
The heuristic ProfGreed applied to the example problem gave an initial solution with value of 23,835,
24,344, and 26,009 using rules, R1, R2, and R3, respectively. The CPU time is practically zero. The
complete Lagrangean relaxation based solution approach applied to the example problem gave a solution
Table 4
Effects of changes in the traffic requirement multiplier (TRM)
jN j jT j Number %Gap CPU
Variables Constraints
15 0.50 27,567 9741 0.39 43
15 0.75 27,567 9741 0.49 43
15 1.00 27,567 9741 0.63 43
15 1.25 27,567 9741 0.42 43
15 1.50 27,567 9741 0.87 43
20 0.50 67,362 23,637 0.40 126
20 0.75 67,362 23,637 0.56 125
20 1.00 67,362 23,637 0.66 125
20 1.25 67,362 23,637 0.52 125
20 1.50 67,362 23,637 0.41 125
25 0.50 125,482 45,233 0.88 280
25 0.75 125,482 45,233 0.79 279
25 1.00 125,482 45,233 1.03 278
25 1.25 125,482 45,233 0.80 277
25 1.50 125,482 45,233 1.10 211
30 0.50 215,502 79,211 0.73 543
30 0.75 215,502 79,211 1.14 542
30 1.00 215,502 79,211 1.32 542
30 1.25 215,502 79,211 1.17 541
30 1.50 215,502 79,211 1.20 540
% calls (R)¼ 50, jT j ¼ 8, CM¼ 1.
254 A. Amiri / European Journal of Operational Research 167 (2005) 243–256
with value of 26,419 which is 0.4% lower than the upper bound generated by the subgradient method. TheCPU time is 3 seconds. The example problem is formulated as an integer programming problem with 2543
variables (not counting the W mpij;t variables) and 1108 constraints (not counting constraints (7)). We used the
commercial package LINDO 6.01 to solve the problem optimally. The optimal value is found to be 26419 in
557 seconds, confirming the optimality of the solution generated by our proposed solution approach and
the time efficiency of the approach itself.
4.3. Results from generated data
We conducted more comprehensive computational experiments to evaluate the quality of the solution
approach proposed in this paper using test problems generated randomly as explained above. We varied the
Table 6
Performance of the solution procedure for large networks
jN j jT j Number %Gap CPU
Variables Constraints
35 297 358,958 124,957 1.13 903
40 390 546,016 186,731 1.75 1493
45 495 775,867 264,158 1.88 2350
50 612 1,066,695 36,5516 1.80 3355
55 742 1,436,216 482,120 1.22 4795
60 885 1,835,604 628,035 1.58 6592
% calls (R)¼ 50, jT j ¼ 8, TRM¼ 1, CM¼ 1.
Table 5
Effects of changes in the cost multiplier (CM)
jN j jT j Number %Gap CPU
Variables Constraints
15 0.50 27,567 9741 0.86 43
15 0.75 27,567 9741 0.65 43
15 1.00 27,567 9741 0.63 42
15 1.25 27,567 9741 0.80 43
15 1.50 27,567 9741 0.88 43
20 0.50 67,362 23,637 1.17 125
20 0.75 67,362 23,637 0.96 125
20 1.00 67,362 23,637 0.66 123
20 1.25 67,362 23,637 0.80 125
20 1.50 67,362 23,637 0.60 125
25 0.50 125,482 45,233 1.29 278
25 0.75 125,482 45,233 1.27 286
25 1.00 125,482 45,233 1.03 273
25 1.25 125,482 45,233 0.96 288
25 1.50 125,482 45,233 1.02 287
30 0.50 215,502 79,211 1.85 561
30 0.75 215,502 79,211 1.18 562
30 1.00 215,502 79,211 1.32 542
30 1.25 215,502 79,211 1.23 561
30 1.50 215,502 79,211 1.08 560
% calls (R)¼ 50, TRM¼ 1, jT j ¼ 8.
A. Amiri / European Journal of Operational Research 167 (2005) 243–256 255
values of several parameters such as the number of nodes in the network (jN j), the number of available calls(jM j), the time window (jT j), and the traffic requirements. The results of the experiments are summarized in
Tables 2–6. They are described by providing the number of nodes in the network (jN j), the number of
available calls (jM j), the traffic requirement multiplier (TRM), the number of decision variables and con-
straints, the gap between the best feasible solution value and the upper bound expressed as a percentage of
the upper bound, and the CPU times in seconds.
The size of the test problems varies from small corresponding to jN j ¼ 15, jM j ¼ 21, and jT j ¼ 4 with
11392 variables (not counting the W mpij;t variables) and 4121 constraints (not counting constraints (7)) to
large corresponding to jN j ¼ 60, jM j ¼ 885, and jT j ¼ 8 with 1,835,604 (not counting the W mpij;t variables)
and 628,035 constraints (not counting constraints (7)). The gap is relatively small and usually within 2%.
The CPU times needed to solve the test problems are reasonable varying from 16 seconds for the smallest
problem to 6592 seconds for the largest problem. It is important to note that the optimal solutions for these
sets of randomly generated test problems with 15 nodes or more could not be obtained using LINDO 6.0.1
because of the large size of the problems and/or because the software run out of memory after extended
period of execution time.
5. Concluding remarks
In this paper, we examined 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 profit. Each accepted call should be routed within a permissible scheduling time window
for a required duration. To author’s knowledge, this study represents the first work on bandwidth
scheduling with time windows. We presented an integer programming formulation of the problem. We also
proposed a solution procedure based on the well-established Lagrangean relaxation technique. Extensivecomputational experiments over a wide range of problem structures are conducted to evaluate the per-
formance of the procedure. The results showed that the procedure solves the problem fast to near opti-
mality and hence it can be used for practical purpose.
The concept of using permissible scheduling time windows for routing calls may be applied to other
potential areas of telecommunication networks, especially those related to bandwidth allocation and route
selection. The use of other techniques to solve the bandwidth scheduling problem can also be investigated in
future research.
References
[1] A. Amiri, R. Barkhi, The multi-hour bandwidth packing problem, Computer Operations Research 27 (2000) 1–14.
[2] A. Amiri, E. Rolland, R. Barkhi, Bandwidth packing with queuing delay costs: Bounding and heuristic procedures, European
Journal of Operational Research 112 (1999) 635–645.
[3] C.A. Anderson, K. Fraughnaugh, M. Parkner, J. Ryan, Path assignment for call routing: An application of tabu search, Annals of
Operations Research 41 (1993) 301–312.
[4] M.S. Bazaraa, J.J. Goode, A survey of various tactics for generating Lagrangean multipliers in the context of Lagrangean duality,
European Journal of Operational Research 3 (1979) 322–328.
[5] L. Cox, L. Davis, Y. Qui, Dynamic anticipatory routing in cuircuit-switched telecommunications networks, in: L. Davis (Ed.),
Handbook of Genetic Algorithms, Van Nostrand/Reinhold, New York, 1991.
[6] M. Fisher, The Lagrangean relaxation method for solving integer programming problems, Management Science 27 (1981) 1–18.
[7] B. Gavish, On obtaining the ‘‘best’’ multipliers for a Lagrangean relaxation for integer programming, Computers and Operations
Research 5 (1978) 55–71.
[8] A. Geoffrion, Lagrangean relaxation for integer programming, Mathematical Programming Study 2 (1974) 82–114.
[9] M. Guignard, S. Kim, Lagrangean decomposition: A model yielding stronger Lagrangean bounds, Mathematical Programming
39 (1987) 215–228.
256 A. Amiri / European Journal of Operational Research 167 (2005) 243–256
[10] M. Held, M. Karp, The travelling salesman problem and minimum spanning tree, Operations Research 18 (1970) 1138–1162.
[11] M. Held, M. Karp, The travelling salesman problem and minimum spanning trees: Part II, Mathematical Programming 1 (1971)
6–25.
[12] M. Laguna, F. Glover, Bandwidth packing: A tabu search approach, Management Science 39 (1993) 492–500.
[13] R. Martin, Large scale linear and integer programming: A unified approach, Kluwer Academic Press, Dordrecht, 1999.
[14] G. Nemhauser, L. Wolsey, Integer and combinatorial optimization, Wiley Interscience Series in Discrete Mathematics and
Optimization, 1988.
[15] K. Park, S. Kang, S. Park, An integer programming approach to the bandwidth packing problem, Management Science 42 (1996)
1277–1291.
[16] M. Parker, J. Ryan, A column generation algorithm for bandwidth packing, Telecommunication Systems 2 (1995) 185–196.
[17] E. Rolland, A. Amiri, R. Barkhi, Queueing delay guarantees in bandwidth packing, Computers and Operations Research 26
(1999) 921–935.
[18] A. Schrijver, Theory of Linear and Integer Programming, John Wiley & Sons, New York, 1986.
[19] M.M. Syslo, N. Deo, J.S. Kowalik, Discrete optimization algorithms with Pascal programs, Prentice-Hall, Englewood Cliffs, NJ,
1983.