14
O.R. Applications The selection and scheduling of telecommunication calls with 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 required duration 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 European Journal of Operational Research 167 (2005) 243–256 www.elsevier.com/locate/dsw

The selection and scheduling of telecommunication calls with time windows

Embed Size (px)

Citation preview

Page 1: The selection and scheduling of telecommunication calls with time windows

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

Page 2: The selection and scheduling of telecommunication calls with time windows

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.

Page 3: The selection and scheduling of telecommunication calls with time windows

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

Xp2Sm

Y 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.

Page 4: The selection and scheduling of telecommunication calls with time windows

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Þ:

Page 5: The selection and scheduling of telecommunication calls with time windows

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

Xp2Sm

Y 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 scheduling

time 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

Xm2M

Xp2Sm 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

Page 6: The selection and scheduling of telecommunication calls with time windows

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,

Page 7: The selection and scheduling of telecommunication calls with time windows

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

Page 8: The selection and scheduling of telecommunication calls with time windows

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

Page 9: The selection and scheduling of telecommunication calls with time windows

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

Page 10: The selection and scheduling of telecommunication calls with time windows

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.

Page 11: The selection and scheduling of telecommunication calls with time windows

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.

Page 12: The selection and scheduling of telecommunication calls with time windows

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.

Page 13: The selection and scheduling of telecommunication calls with time windows

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.

Page 14: The selection and scheduling of telecommunication calls with time windows

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.