SCHEDULING ADVERTISEMENTS ON A WEB PAGE TO MAXIMIZE …

30
SCHEDULING ADVERTISEMENTS ON A WEB PAGE TO MAXIMIZE SPACE UTILIZATION Subodha Kumar Varghese S. Jacob ¤ Chelliah Sriskandarajah School of Management The University of Texas at Dallas P.O. Box 830688, JO44 Richardson, TX 75083, USA ¤ Corresponding Author March 31, 2001

Transcript of SCHEDULING ADVERTISEMENTS ON A WEB PAGE TO MAXIMIZE …

SCHEDULING ADVERTISEMENTS ON A WEB PAGE

TO MAXIMIZE SPACE UTILIZATION

Subodha Kumar

Varghese S. Jacob¤

Chelliah Sriskandarajah

School of ManagementThe University of Texas at Dallas

P.O. Box 830688, JO44Richardson, TX 75083, USA

¤ Corresponding Author

March 31, 2001

SCHEDULING ADVERTISEMENTS ON A WEB PAGE

TO MAXIMIZE SPACE UTILIZATION

Abstract

Many web sites (e.g. Hotmail, Yahoo) provide free services to the users while generating

revenues from advertising. Advertising revenue is, therefore, critical for these sites. This in

turn raises the question, how should ads at a web site be scheduled in a planning horizon to

maximize revenue. Ads on the web are speci¯ed by geometry and display frequency and both

these factors need to be considered in developing a solution to the ad scheduling problem.

Since this problem belongs to the class of NP-hard problems, we develop a hybrid genetic

algorithm (GA) to solve the problem. The hybrid GA solution is compared to both the

solution generated by the SUBSET-LSLF algorithm proposed by Adler, Gibbons and Matias

as well as the upper bound generated by CPLEX for the integer programming formulation

of the problem. Our computational results show that the hybrid GA performs exceptionally

well in the sense that it provides optimal or near optimal solutions for a variety of randomly

generated problem instances of realistic sizes. Finally we present a case study to illustrate

how revenue could be signi¯cantly enhanced with a small improvement in the ad schedule.

Key words and phrases: Advertising, scheduling, NP-hard, heuristics, genetic algorithms.

1 Introduction

The number of world wide web users is increasing dramatically. At the end of 1999, the

number of web users was nearly 260 million worldwide. This number is estimated to be 490

million by the end of 2002 and 765 million by the end of 2005 - thus tripling in six years [32].

In 1999 alone, according to Passmore [30], the number of internet users grew by 11%. The

growth in the number of US households connected to the web is phenomenal. Jupiter [21]

forecasts the number of US households connected to the web to be 45% in 2002 as compared

to 9.4% in 1995. Given the large number of users on the web, especially a²uent users, the

web becomes an attractive medium for advertising.

Generally, the advertising revenue is dependent on the number of visitors to the site.

Consequently, in order to attract a larger number of customers, many web sites provide free

services to users. For example, sites such as Hotmail, Yahoo, AltaVista, Email.com, Angel¯re,

ApexMail and Youpy provide free email service while sites like Stormloader.com, Angel¯re,

CampusWest, Crosswinds, FreeServe, Moonfruit and Yahoo provide free web pages. Moreover,

sites such as 1stUp.com, Address.com, FreeWWWeb, Internet 4 Free, Juno, NetZero and

Tritium Network provide free internet access. Sites as AllAdvantage, GetPaid4, Cashsurfers,

Paidforsurf, Dollarweb, UtopiAD, Epipo and Desktop Horizon pay their users for watching

their ads. The revenue for these sites are heavily dependent on the advertisements they can

place on their web pages. For these ¯rms, therefore, the optimal placing of advertisements on

their web pages becomes a very important issue.

Currently, banner ads are one of the major forms of web advertising. Typically, a banner

ad is a small graphic image that is linked to a target web page [29]. Many di®erent types of

banners with di®erent sizes are being used in web advertisement. Rectangular-shaped banner

ads are the most common type of banner ads. These banners usually appear on the side, top,

or bottom of a screen as a distinct, clickable image [26]. Banner ads can be of di®erent sizes.

One can observe various types of banner ads on di®erent sites. For example, www.davesite.com

displays three side banners and one bottom banner as shown in Figure 1. All these banners

are of di®erent sizes.

Typically, a set of ads competes for space on a web page in a planning horizon (say a day).

1

Figure 1: Banner Ads on www.davesite.com (Date Clicked: 26 April, 2000)

A day consists of 24£ 60 minutes. If ads are updated every minute on the web page, we refer

to each minute as a time interval. Thus, in this case we have 24£60 time intervals to schedule

ads. Usually a site displays ads in consecutive time intervals and sells ad space to di®erent

sponsors in each planning horizon. In each time interval, a rectangular slot (i.e., rectangular

space) consisting of ads (e.g., a set of side banner ads) is displayed for viewers.

In this paper, we address the problem of scheduling ads on a web page for a given planning

horizon. Since the maximum space to be used by ads on a given screen is always limited, the

advertisement provider may not be able to place all the ads that are competing for space in

a given planning horizon. The advertisement provider will then try to select and place ads

in such a way that his/her revenue is maximized. Unscheduled ads will compete for space in

the next planning horizon with new ads demanded by the customers. In order to maximize

revenue, the advertisement provider will try to maximize the utilization of space available to

place the ads. Here the maximization of space utilization is equivalent to the minimization of

unused space.

The objective here is to select the ads from the set of available ads and schedule them in

such a way that the space utilization is maximized. In scheduling the ads we consider three

factors, the amount of time that an advertiser would like the ad to appear, the number of

users who could possibly view the ad and the size of the ad.

The ad scheduling problem belongs to the class of NP-hard problems [9], consequently

2

heuristic methods have to be designed to solve the problem. We used a Genetic Algorithm

(GA) based approach to solve the problem. A hybrid GA is developed by combining GA

with an existing algorithm proposed by Adler, Gibbons and Matias [1]. The hybrid GA takes

advantage of the GA search process and the problem-speci¯c information provided by the

algorithm.

We performed a computational study with 190 di®erent problems to study the performance

of the proposed hybrid heuristic. The hybrid heuristic solutions are compared to the heuristic

proposed by Adler, Gibbons and Matias [1] as well as to the upper bound obtained using

CPLEX to solve the integer programming formulation of the problem. The computational

results indicate that the hybrid heuristic outperforms the existing heuristic in all cases.

The remainder of the paper is organized as follows. Section 2 describes the ad scheduling

problem and di®erent scenarios related to the problem. In Section 3, we provide a brief

overview of some related work in literature. In Section 4, we propose genetic algorithms for

the ad scheduling problem. Section 5 compares the results of the proposed heuristic algorithms

with an existing heuristic. A case study on the basis of an actual dataset is provided in Section

6. Section 7 concludes the paper.

2 Problem Description

We consider the problem of scheduling a set of n ads A = fA1; : : : ; Ang that are competing

for space in a given planning horizon, in a given space allocated for ads on a web page. The

web space providers specify their ads usually using three parameters [1]: the time fraction,

the access fraction, and the ad geometry. These parameters determine the expected number

of impressions of an ad, which in turn determines the price of the ad.

The time fraction ti for an advertisement Ai is the fraction of time for which the advertise-

ment is displayed when a web page is accessed. The time fraction of ads is assumed to be 1

when most accesses are of very short durations (this short duration is assumed to be one time

unit for all such accesses). Thus, it is not advantageous to occasionally update the ad-display

in this short duration. Therefore, a user sees only one set of ads in a given access. However,

if users spend a long time on the page, then the ads on the page can be periodically updated.

In this case, an advertiser can specify the duration of time the ad should remain on screen

3

during a typical access. For example, if for a typical access the user spends 10 time units on

the page and the advertiser wants to display the ad for at least 2 time units, then the time

fraction for this ad is 2=10.

The access fraction ai for an advertisement Ai is the ratio of accesses of those who see a

particular ad to the total accesses of the web page. The access fraction of ads is assumed to

be 1 for space providers (e.g., on-line news service) that are accessed by users for long periods

of time. Thus, all users are treated identically and assumed to be watching the program (or

page) for a speci¯ed period. Therefore, it is useful to update the advertisements periodically

during the period. However, in the case of a web page for which most accesses are of very

short durations, an advertiser may specify the minimum number of users who should view the

page. For example, if an advertiser wants to display its advertisement to at least 500 accesses

in a day and the average number of hits for the page is 1000 per day, then the access fraction

for this advertisement is 1=2.

Here we consider only one dimensional geometry. In this case, the ad geometry of ad Aiis speci¯ed by `i which may represent the length of the ad Ai. The width (say W ) of all ads

is assumed to be the same (for example, scheduling ads for the side banners). Considering

only one dimensional geometry is not a limiting assumption and it is su±cient to deal with

real world ad-scheduling problems. In other words, scheduling ads for top, side and bottom

banners are done separately. In general, the space for each of these banners is a rectangular

slot and all ads displayed in any one slot have the same width which corresponds to the width

of that slot.

The ad-display on a web page is speci¯ed in the form of a rectangular slot of width W

and length S. Here, ads are packed without any overlap in the rectangular slot. The slot

can appear on screen in any format. One such format is shown in Figure 2 which shows a

screen, where one slot of side banner ads is displayed. This slot has four di®erent ads namely

A3; A4; A6 and A7. All these ads have the same width W and their lengths are l3; l4; l6 and

l7 respectively. The ads in this slot are displayed to the users accessing the web page in a

particular time interval. It should be noted that at any given time interval, only one slot is

shown to the user accessing the web page. We consider the problem of scheduling ads in the

available space for the time intervals representing a planning horizon. The available space is

4

A7

A6

A4

A3-¾

W

Side BannerAds

XYZ Info Page

Information for clients

..........

..........

..........

..........6?l3

6

?

l4

6

?

l6

6?l7

Figure 2: A Screen Showing The Format of a Slot

given in the form of a rectangular slot (e.g., side banner). For simplicity, a rectangular slot is

referred as slot hereafter.

An instance, denoted I1, of the ad-scheduling problem is given by: f(ai; ti; `i) j ai > 0; ti >

0; `i > 0; Ai 2 Ag and for each slot the available space size S > 0 (for example slot length).

Without any loss of generality, I1 can be transformed to the problem instance I2 which can be

stated as follows : f(si; wi) j si > 0; wi > 0; Ai 2 Ag, S > 0 and a positive integer number N ,

where N represents the number of slots each having a size S . At any time interval, only one

of these N slots is shown to the user accessing the web page. Planning horizon is usually the

integer multiple of N and all the ads assigned to these N slots are shown in a cyclic manner

throughout the planning horizon. In I2, the ad Ai is speci¯ed by its size si and frequency wi.

The frequency wi of ad Ai represents the number of slots in which the ad must appear. Here

wi must be integer. In practice, advertisers do not want to display an ad in the same slot

more than once. Thus, ad Ai must be displayed exactly once in each of the wi slots. Here we

note that each ad Ai 2 A must have a size si · S and frequency wi · N . The fullness of any

slot j is given by fj =PAi2Bj si, where Bj is a set of ads assigned in slot j . The maximum

slot fullness is given by maxjfj. For a feasible schedule, maxjfj · S.

5

Instance I1 is now converted to the instance I2, because it is easier to solve instance I2 as

the scheduling problem. We now show how instance I1 can be converted to a corresponding

instance I2 under three di®erent scenarios [1].

Scenario 1: Most accesses have very short duration.

In I1, the problem is given by: f(ai; ti; `i) j ai > 0; ti > 0; `i > 0; Ai 2 Ag and the available

space size S > 0 for each slot. Here, we assume that the time fraction ti = 1 for all i since

most accesses have very short duration and it is not advantageous to update the ad-display

in this short duration. Consider an example of four ads A1, A2, A3 and A4 with a1 = 1=8,

a2 = 1=4, a3 = 1=2, a4 = 1, `1 = 4, `2 = 6, `3 = 10 and `4 = 8. In I2, we set N to be

the least common multiple of the denominator of ai, that is, N = 8. Then we set wi = N:ai

and si = `i. Hence w1 = 1, w2 = 2, w3 = 4 and w4 = 8; s1 = 4, s2 = 6, s3 = 10 and

s4 = 8. A user is shown the ads assigned to one of the N slots given in the schedule for

I2. Note that only one set of ads is displayed to users who enter the page in a given inter-

val of time and this set of ads includes the ads assigned to one of the slots. The choice of

which slot to display in a time interval can be made by cycling through a deterministic per-

mutation of slots. In this way, the required access fractions of ads stated in I1 will be achieved.

Scenario 2: Most accesses have long duration.

In I1, the problem is given by: f(ai; ti; `i) j ai > 0; ti > 0; `i > 0; Ai 2 Ag and the available

space size S > 0 for each slot. Here, we assume that the access fraction ai = 1 for all i since

most accesses have long duration. Let us consider an example of three ads A1, A2, A3 with

t1 = 1=4, t2 = 1=2, t3 = 1, `1 = 5, `2 = 6 and `3 = 7. In I2, we set N to be the least common

multiple of the denominator of ti, that is, N = 4. Then we set wi = N:ti and si = `i. Hence

w1 = 1, w2 = 2 and w3 = 4; s1 = 5, s2 = 6 and s3 = 7. At any given time the set of ads

displayed in the ad space are those assigned to one of the slots given in the schedule for I2.

For example, for an on-line news program on a web page, all the slots are displayed one by

one during the program for equal amount of time. In this way, the time fraction ti can be

achieved for each ad Ai. The choice of which slot to display can be made by cycling through

a deterministic permutation of slots. In this way, the required time fractions of ads stated in

6

I1 will be achieved.

Scenario 3: Each ad has the same geometry and only one ad is displayed at a

time.

Scheduling a top (or a bottom) banner is an example of this case, when only one ad is displayed

at a time in this banner. Each user is assumed to be spending a known ¯xed amount of time.

In I1, the problem is given by: f(ai; ti; `i) j ai > 0; ti > 0; `i > 0; Ai 2 Ag and the available

space size S > 0 for each slot. Here, `i = 1 for all i, since all ads have the same geometry. Let

us consider an example of three ads A1, A2, A3 with a1 = 1=12, a2 = 1=2, a3 = 1, t1 = 1=5,

t2 = 1=3 and t3 = 1=11. In I2, we set N to be the least common multiple of the denominator

of ai, that is, N = 12. Then we set wi = N:ai and si = ti. Hence w1 = 1, w2 = 6 and w3 = 12;

s1 = 1=5, s2 = 1=3 and s3 = 1=11. Unlike the previous scenarios, S here is the time interval

(or duration of time) in which the ads in a slot is shown to a user. When a user accesses the

web page, the user is shown the ads assigned to one of the N slots given in the schedule for

I2. These ads are shown one at a time in a predetermined order. Note that each of the ads

belonging to Ai are displayed a fraction si of time. In this way, the required time fractions

and access fractions of ads stated in I1 will be achieved.

As explained earlier, we consider maximizing the space utilization given a set of ads

fA1; : : : ; Ang and the values speci¯ed for si and wi for each Ai, N and S . In this prob-

lem, we may not be able to place all the ads given in A. So, we try to ¯nd the optimal

subset of ads with a valid schedule. Here we consider this optimal subset A0 as the subset

which maximizes Pi2A0 jsiwij. Hence this ad-scheduling problem is called as the MAXSPACE

problem.

Consider an example of scenario 1 with seven ads namely A1, A2, A3, A4, A5, A6 and A7.

In this scenario, most accesses have very short duration and the time fraction ti = 1 for all

ads. The instance I1 for this example is shown in Table 1. For this example, let us assume

the available space size S = 16. In I2, we set N to be the least common multiple of the

denominator of ai, that is, N = 4. Then we set wi = N:ai and si = `i. The resulting instance

I2 is shown in Table 2. Figure 3 shows an optimal schedule for the example with 100% space

utilization. It should be noted that at any time interval, only one of these four slots in Figure 3

7

Ad Ai `i aiA1 8 1/2A2 4 1/4A3 2 1/4A4 8 3/4A5 8 1/4A6 4 1/2A7 2 1/4

Table 1: An Example Problem Instance I1

Ad Ai si wiA1 8 2A2 4 1A3 2 1A4 8 3A5 8 1A6 4 2A7 2 1

Table 2: An Example Problem Instance I2

is shown to a particular user accessing the web page. For example, side banner ads displayed

in Figure 2 correspond to slot 4 of Figure 3. This side banner ads can be updated periodically

based on the schedule shown in Figure 3.

3 Related Literature Review

The primary focus of work in this area has been on the e®ectiveness of web ads. For example,

Yager [41] describes a general framework for the competitive selection of advertisements at

web sites. A methodology is described in the paper for the use of intelligent agents to help in

the determination of the appropriateness of displaying a given advertisement to a visitor at

a site using very speci¯c information about potential customers. Fuzzy system modelling is

used for the construction of these intelligent agents. A paradigm for advertising on the web

is created, which can make optimal use of the general capability available for instantaneous

processing of information in real time.

The issue of increasing the e®ectiveness of web ads is also tackled by Risdel et al. [33],

8

6

?

8

6

?

8

A1 A1

A4 A4

A2

A5

A6

6

?

4

6

?

8

6

?

4

A3

A4

A6

A7

Slot 1 Slot 2 Slot 3 Slot 4 N = 4

8

S = 16

2

10

14

16

6?

2

6

?

8

6

?

4

6?

2

Figure 3: An Example of Ad Placement Schedule for I2

intern.com Corp. [19], Dreze and Zufryden [11], Marx [25], and Kohda and Endo [22]. Web

advertising theories and terminologies are described by intern.com Corp. [20], The Media

Measurement Task Force [38], Novak and Ho®man [29], and McCandless [26].

When it comes to the issue of optimizing the ad space on the web, we have found only two

articles, one by Aggarwal, Wolf and Yu [2], and the other by Adler, Gibbons and Matias [1].

Aggarwal, Wolf and Yu [2] describe a framework and provide an overview of general methods

for optimizing the management of advertisements on web servers. A high level framework

is provided in which optimized decisions can be made. They describe a minimum cost °ow

problem in order to optimize the assignment of advertisements to the prede¯ned standard

sizes of slots on web pages. This paper is intended as a starting point for further discussion

and details are not provided to apply the described methods in practice.

For the web advertisement scheduling problem, the most relevant work is done by Adler,

Gibbons and Matias [1]. They provide a heuristic algorithm (called SUBSET-LSLF), which

is explained in the following section.

9

4 Heuristic Algorithms

Since the MAXSPACE problem is NP-Hard [9], it is unlikely that the problem can be solved

by an e±cient optimal algorithm [13]. Thus we develop e®ective heuristic algorithms and

evaluate their performance using randomly generated problem instances. Here, we select the

ads from the set of available ads and schedule them in such a way that the space utilization

is maximized. In other words, the schedule provides details of the identity of ads that appear

together and the time interval they appear. Useful general references on scheduling problems

include the books by Baker [4] and Pinedo [31]. In°uential survey articles have been written

by Graham et al. [14], Lawler et al. [24], and Chen, Potts and Woeginger [6].

Integer Programming Formulation

We ¯rst develop Integer Programming formulation for the MAXSPACE problem. The

formulation is as follows:

max Z =NX

j=1

nX

i=1sixij

subject tonX

i=1sixij · S j = 1; 2; :::::; N (1)

NX

j=1xij = wiyi i = 1; 2; :::::; n (2)

where

xij =(

1 if ad Ai is assigned to slot j0 otherwise.

yi =(

1 if ad Ai is assigned0 otherwise.

Note that wi = Frequency of ad Ai and si = Size of ad Ai, i = 1; 2; :::::; n: Equation 1

guarantees that the fullness of any slot does not exceed S. If an ad Ai is assigned (i.e., yi = 1),

then from equation 2, it is assigned to exactly wi slots.

We use the CPLEX Linear Optimizer 6.0.1 to solve the above integer programming for-

mulation. CPLEX uses branch-and-bound method to solve integer programming problems. In

10

the branch-and-bound method, a series of LP subproblems is solved. A tree of subproblems is

built; each subproblem is a node of the tree. The root node is the LP relaxation. CPLEX also

uses cuts to reduce the number of branches that are needed to solve a mixed integer program

[7].

CPLEX fails to ¯nd the optimal solution for large size problems with N ¸ 25 as the

memory space is exceeded. Consequently, we look for heuristic methods to solve the problem.

However, CPLEX provides an upper bound on the optimal solution for all the problems.

The performance of heuristics methods are evaluated by comparing these solutions to upper

bounds.

SUBSET-LSLF

Adler, Gibbons andMatias [1] develop an algorithm called SUBSET-LSLF for the MAXSPACE

problem. This algorithm works as follows:

Algorithm SUBSET-LSLF

Step 1. Given si, wi, i = 1; 2; :::::; n, the number of slots N and the size of each slot S , let

s = fsi j si < Sg, Bs =Pi;si=S siwi, Bs =

Pi;si<S siwi.

Step 2. If Bs ¸ Bs, thena. Place the ads of size S in order by weight, from largest to smallest, discarding

any ad that would not ¯t into the remaining empty slots.

b. Sort the ads in s by size si from largest to smallest. Assign the ads in s in the

sorted order such that each ad Ai in s is assigned to wi least full slots. Discard any

ad that, when placed, would violate the size limit for some slot.

Step 3. If Bs < Bs, then

a. Sort the ads in s by size si from largest to smallest. Assign the ads in s in the

sorted order such that each ad Ai in s is assigned to wi least full slots. Discard any

ad that, when placed, would violate the size limit for some slot.

b. Place the ads of size S in order by weight, from largest to smallest, discarding

any ad that would not ¯t into the remaining empty slots.

Step 4. The set A0 is the set of ads that are assigned to slots. Terminate.

11

A Genetic Algorithm

Many scheduling problems are tackled using genetic algorithms (GAs). For example,

Kumar, Bagchi and Sriskandarajah [23], Bagchi [3], Wren and Wren [40], Holsapple, Jacob,

Pakath and Zaveri [17], Holsapple, Pakath, Jacob and Zaveri [18], Cartwright and Mott [5],

Syswerda and Palmucci [37], Gabbert et al. [12] and Hilliard et al. [16] reported GA as a viable

solution method for di®erent scheduling problems. In view of the advances made in tackling

scheduling problems using GAs, we develop GAs to solve the MAXSPACE problem. GAs

are directed global search meta-heuristics that can ¯nd solutions by simultaneously exploring

multiple regions of the solutions space and by exploiting the promising areas.

For the MAXSPACE problem, GA views sequences of ads as chromosomes (the candidate

solutions), which in turn are members of a population. Fitness of each chromosome is measured

by the value of the objective function (i.e., space utilization). A simple GA is usually composed

of three operations: selection (reproduction), crossover and mutation and the GA performance

depends greatly on the choices of the di®erent GA parameters, such as elite fraction ("),

population size (ps), the probability of crossover (pc), and the probability of mutation (pm).

Selection of these GA parameters itself is an optimization problem and these parameterization

have also been noted to be problem-speci¯c [23], [3], [35], [8], [34], [15], [10]. We devise a design

of experiments (DOE) approach that we used to quickly identify the good settings for ", ps,

pc and pm before using GA to solve our problem. ngen denotes the number of generations

desired.

We de¯ne a 1 £ n vector to represent a chromosome for a set of n ads A = fA1; : : : ; Ang.The vector contains all n ads to be scheduled. For example, a chromosome for a set of eight

ads can be represented as A8 A3 A5 A4 A6 A1 A7 A2 . Each cell of the vector

represents an ad. The ads are placed in the sequence given by the chromosome (i.e., at ¯rst

ad A8 is assigned followed by ad A3 and so on) discarding any ad that, when placed, would

violate the size limit (S) for some slot. The ads are assigned to the least full slots as in

SUBSET-LSLF. The ¯tness of any chromosome is then evaluated based on the maximum

space utilization for that chromosome.

The GA begins with a population (population size = ps) of randomly generated vectors

where ads are sequenced in a random order. We use the elite fraction (") to control the (upper)

12

A1 A2 A3 A4 A5 A6 A7 A8

?

Parent 1

A8 A3 A1 A6 A7 A4 A5 A2

?

Parent 2

Figure 4: Parents

A1 A2 A3 A4 A5 A8 A6 A7

?

Child 1

A8 A3 A1 A6 A7 A2 A4 A5

?

Child 2

Figure 5: Children

fraction of the population that is considered as elite and used to reproduce in proportion to

their relative ¯tness. We use the roulette wheel selection for reproduction. These reproduced

members are given a chance to mate according to the probability of crossover (pc). A key

consideration in designing the crossover operator is avoidance of infeasible solution. First, we

select the mating pairs of chromosomes at random from the population of reproduced strings.

Then, we use \one-point" crossover [28] in which one point is randomly selected for dividing

one parent. The elements on the left hand side of the selected point are always inherited

from one parent to the child. The elements on the right hand side of the selected point are

transferred from the second parent as they appear in the order which is taken from left to

right. Two children produced in this way are illustrated in Figures 4 and 5.

The o®springs produced after crossover are given a chance to mutate according to the

probability of mutation (pm). We use the arbitrary two-ad change mutation. In this type

of mutation, a column of chromosome at one position is exchanged with another randomly

selected column in the same chromosome. For our problem, feasibility is always maintained

in this type of mutation. In Figure 6, the column 3 of child 1 is exchanged with the column

7 of child 1.

13

A1 A2 A3 A4 A5 A8 A6 A7

? ?

Child 1 before mutation

A1 A2 A6 A4 A5 A8 A3 A7

Child 1 after mutation

Figure 6: Children

Algorithm GA

Step 1. Initialize ps, pc, pm, ", ngen. Set i = 0.

Step 2. Generate ps random sequences.

Step 3. Assign ads to least full slots as per the sequence discarding any ad that, when placed,

would violate the size limit (S) for some slot.

Step 4. Fitness value for each sequence is evaluated based on the maximum space utilization

(i.e.,Pi2A0 jsiwij) for that string. Here A0 is the subset of ads having all ads which

can be placed without violating the size limit of any slot.

Step 5. Sort all the sequences in descending order of their ¯tness values.

Step 6. Select " upper fraction of the population and reproduce them in proportion of their

relative ¯tness.

Step 7. Set k=0.

Step 8. Select two parents from the population randomly according to their relative ¯tness,

and crossover to obtain two children. Set k = k +1.

Step 9. Mutate the children based on their mutation probabilities.

Step 10. Estimate the ¯tness value of the children using steps 3 and 4.

Step 11. If k < ( ps2 ¡ 0:5), go to Step 8.

Step 12. If i = 0, set the overall best sequence = current best sequence and go to step 14.

Step 13. If the overall best sequence is better than the current best sequence, replace the

current worst sequence with the overall best sequnce; else, set the overall best

sequence = current best sequence.

Step 14. Set i = i + 1. If i = ngen, terminate; else, go to Step 5.

14

We develop the following variation of genetic algorithm to improve its performance.

Algorithm Hybrid GA-A Same as the above algorithm with one of the starting solutions

obtained by SUBSET-LSLF. As indicated in step 3 of the above algorithm, ¯tness of each

sequence is evaluated by assigning ads to the least full slots as per the sequence. The above

GA always preserves the best sequence obtained at any stage and since one of the starting

solutions in Hybrid GA-A is obtained by SUBSET-LSLF, the Hybrid GA-A can never perform

worse than the SUBSET-LSLF.

5 Computational Studies

For computational studies, we use 190 randomly generated problems. The size si of ad Ai

in any test problem is generated randomly between S=3 and 2S=3, where S is the size of

each slot for that problem. It is found that the problems generated with these limits on

the value of si are more di±cult for the proposed heuristic to solve than randomly generated

problems without any limits on the value of si. In order to evaluate their relative performance,

SUBSET-LSLF, GA and hybrid GA-A are coded in C and executed on SunOS 5.6 system.

CPLEX is ¯rst used to solve all the test problems. CPLEX provides the optimal solution

for the ¯rst 40 test problems. It also provides the optimal solution for some other small size

test problems among the remaining 150 test problems. For other problems, CPLEX fails

to ¯nd the optimal solution as the memory space is exceeded, but it always provides upper

bounds for all the problems.

A statistical experimental framework is used to discover the most appropriate values of

the GA parameters ", ps, pc and pm. The experimental layout is full-factorial design [27]

involving four factors (parameters). The details of GA parameterization and convergence are

shown in Appendix A. We run parameterization separately for problems with di®erent values

of the number of slots (N). Since our problem set contains ¯ve di®erent values of N , we run

¯ve di®erent parametrization. The results of these parameterization are shown in Table 3.

Comparison of results for the ¯rst 40 test problems with known optimal values

As mentioned earlier, CPLEX ¯nds the optimal solution for these test problems. In order

to evaluate the performance of SUBSET-LSLF, GA and hybrid GA-A, we compare them with

15

Set No of Elite Population Probability of Probability of# Slots (N) Fraction (") Size (ps) Crossover (pc) Mutation (pm)1 10 0.25 75 0.95 0.102 25 0.25 75 0.75 0.053 50 0.25 75 0.60 0.054 75 0.25 200 0.75 0.015 100 0.25 200 0.75 0.01

Table 3: Parameterization Results Showing Appropriate GA Parameters

the optimal solution obtained by CPLEX.

Table 4 shows the results for these test problems. Each row in this table is the result

for a di®erent combination of N and S . Percentage SUBSET-LSLF gap in the table is the

percentage deviation of SUBSET-LSLF from the optimal solution obtained by CPLEX. It is

calculated as follows:

Percentage SUBSET ¡ LSLF Gap = (Optimal Solution) ¡ (SUBSET¡LSLF )Optimal Solution £ 100%

We have generated 10 problems for each combination of N and S . So, Max, Avg and Min

columns show the maximum, average and minimum values of percentage gaps respectively,

out of these 10 problems in the set. Similarly, GA percentage gap is the percentage deviation

of GA from the optimal solution and GA-A percentage gap is the percentage deviation of

GA-A from the optimal solution.

We ¯nd that the GA and GA-A both provide the average percentage gap of 0% for all

these test problems, which means that the GA and GA-A achieve the optimal solution.

Percentage improvement in average percentage gap of GA over SUBSET-LSLF is calcu-

lated as follows:

Percentage Improvement in Avg %Gap= (Avg %SUBSET¡LSLF Gap)¡ (Avg %GA Gap)(Avg%SUBSET¡LSLF Gap) £ 100%

Since the GA provides the optimal solution for all these test problems, the improvement

of GA over SUBSET-LSLF is 100%. Percentage improvement in average percentage gap of

GA-A over SUBSET-LSLF is calculated similarly and again the improvement is 100% for all

these problems.

The last three columns indicate the average CPU times taken by SUBSET-LSLF, GA

and GA-A respectively. Each row gives the average of CPU times taken by 10 problems in

16

Prob No Size %SUBSET-LSLF Gap % GA Gap % GA-A Gap %Imp %Imp Avg Avg Avg

Set of of Max Avg Min Max Avg Min Max Avg Min in Avg in Avg CPU CPU CPU

# slots each %Gap %Gap Time Time Time

slot of GA of GA-A for for for

over over SUBSET- GA GA-A

SUBSET- SUBSET- LSLF

(N) (S) LSLF LSLF (in sec) (in sec) (in sec)

1 5 5 13.04 1.72 0 0 0 0 0 0 0 100 100 0.01 0.08 0.02

2 5 10 15.79 6.39 0 0 0 0 0 0 0 100 100 0.01 0.09 0.03

3 10 10 16.00 3.40 0 0 0 0 0 0 0 100 100 0.01 0.80 0.19

4 10 15 14.09 3.99 0 0 0 0 0 0 0 100 100 0.01 2.27 1.14

Table 4: Comparison of Results for the First 40 Test Problems with Known Optimal Values

Prob No Size %SUBSET-LSLF Gap % GA Gap % GA-A Gap %Imp %Imp Avg Avg Avg

Set of of Max Avg Min Max Avg Min Max Avg Min in Avg in Avg CPU CPU CPU

# slots each %Gap %Gap Time Time Time

slot of GA of GA-A for for for

over over SUBSET- GA GA-A

SUBSET- SUBSET- LSLF

(N) (S) LSLF LSLF (in sec) (in sec) (in sec)

1 10 10 15.0 10.6 4.3 4.4 1.5 0 4.4 1.5 0 85.43 85.43 0.01 2.83 2.31

2 10 15 13.3 8.4 2.8 5.4 1.5 0 5.4 1.7 0 81.56 79.88 0.01 2.97 2.39

3 10 20 7.5 3.8 0 2.6 1.0 0 3.1 1.1 0 73.23 70.34 0.01 2.38 2.02

4 25 10 13.6 10.5 4.2 4.8 2.3 0 4.8 2.2 0 78.57 79.33 0.02 45.3 34.9

5 25 15 13.9 9.1 4.9 3.7 1.2 0 4 1.2 0 86.86 86.86 0.02 47.4 39.1

6 25 25 5.1 2.4 0.7 3.0 1.9 0.7 3.2 1.3 0.3 22.54 45.49 0.02 36.8 28.9

7 50 15 15.6 9.6 4.5 3.2 1.5 0.3 3.2 1.3 0 84.65 86.20 0.08 543 498.3

8 50 25 4.0 2.1 0.3 3.6 1.7 0.6 3.4 1.2 0 16.75 42.11 0.06 432 393.4

9 50 50 11.0 4.0 1.4 3.2 2.4 1.4 2.5 1.7 0.6 40.35 56.40 0.06 406 386.7

10 75 25 6.8 2.3 0.4 2.3 1.2 0.4 2.9 1.1 0.1 46.26 51.54 0.16 9051 5963

11 75 50 11.7 3.4 0.8 3.1 1.8 1.0 3.2 1.1 0.5 47.02 66.37 0.15 6661 5224

12 75 75 11.1 3.7 0.9 3.4 2.1 0.7 3.5 1.5 0.3 43.58 59.36 0.15 6041 5638

13 100 25 5.4 1.7 0.3 2.7 0.9 0.3 2.6 0.8 0 47.09 49.42 0.32 9962 9815

14 100 50 8.8 3.7 1.5 3.1 1.8 1.3 2.4 1.1 0.5 50.14 68.49 0.30 9986 9774

15 100 100 10.6 6.1 1.5 3.7 2.1 1.2 3.3 1.7 0.6 65.62 71.91 0.30 9924 9836

Table 5: Comparison of Results for the Last 150 Test Problems with Known Upper Bounds

17

that problem set. All CPU times reported are for SunOS 5.6 system running \C". We note

that CPU times taken by SUBSET-LSLF is lower than that of GA and GA-A. We can say

here that SUBSET-LSLF is computationally e±cient because it is specially designed heuristic

which carefully and cleverly exploits the structure of these problems. Also hybrid GA-A is

computationally e±cient as compared to GA, because GA-A starts with one good solution

given by SUBSET-LSLF and converges very fast. We also observe for GA and GA-A that the

computational time increases with increase in the number of slots (N).

Comparison of results for the next 150 test problems with known upper bounds

Recall that CPLEX doesn't provide the optimal solution for all these test problems, but it

always provides the upper bound for all these problems. In order to evaluate the performance

of SUBSET-LSLF, GA and hybrid GA-A, we compare them with the upper bounds obtained

by CPLEX. The results are shown in Table 5. Columns in this table are similar to the columns

in Table 4.

We ¯nd that the average percentage gap for GA is very small for all the test problems

(in the range of 0.9%-2.3%) and the improvement of GA over SUBSET-LSLF is substantial

(in the range of 16%-87%). Similarly, the average percentage gap for hybrid GA-A is very

small (in the range of 0.8%-2.2%) and the improvement of hybrid GA-A over SUBSET-LSLF

is substantial (in the range of 42%-87%). We also observe that the hybrid GA-A outperforms

GA for the larger size test problems consistently. This hybrid GA-A takes advantage of both

GA search process and good initial starting solutions provided by SUBSET-LSLF.

6 Case Study

Finally the hybrid GA-A is implemented for an actual dataset. This dataset is obtained by

observing the ads on a web site \UtopiAd's ValueBar" for one hour on 6 July, 2000. On this

web site, most accesses have long duration and therefore the ads are updated periodically. So,

this case can be termed as Scenario 2 explained in Section 2. We consider one hour as the

planning horizon. It was observed that the ads were updated every 20 seconds. Therefore

the number of slots (N) for this planning horizon = 60 £ 60=20 = 180. At any time, the

ValueBar displays two ad banners of sizes 468 £ 60 pixels and 120 £ 60 pixels respectively

18

Ad Ai si wiA1 39 15A2 39 43A3 39 64A4 39 8A5 39 1A6 39 6A7 39 2

Ad Ai si wiA8 39 2A9 39 2A10 39 2A11 39 12A12 39 1A13 39 8A14 39 2

Ad Ai si wiA15 39 2A16 39 2A17 39 1A18 39 2A19 39 2A20 39 2A21 10 74

Ad Ai si wiA22 10 18A23 10 12A24 10 12A25 10 4A26 10 10A27 10 8A28 10 9

Ad Ai si wiA29 10 6A30 10 14A31 10 6A32 10 2A33 10 5

Table 6: Actual Ad Display Data on UtopiAd's Value Bar (Date Observed: 6 July, 2000)

Ad Ai si wiA34 19 28A35 13 25A36 29 36A37 3 44

Ad Ai si wiA38 31 55A39 32 49A40 21 35A41 12 10

Ad Ai si wiA42 36 46A43 29 35A44 25 43A45 33 52

Ad Ai si wiA46 7 4A47 25 38A48 47 50

Table 7: Additional Random Ads

[39]. Therefore, in this case width of each slot (W ) = 60. Without any loss of generality, we

can assume that unit size = 12 and then size (si) of ads are 39 (= 468/12) and 10 (= 120/12),

respectively. Therefore, size of each slot (S) = 39 + 10 = 49. In this one hour we observe

that 33 di®erent ads are displayed. The observed values of wi and si for all 33 ads are shown

in Table 6.

It has to be noted that the above 33 ads can ¯t into 180 slots. In reality, there will be

much more ads competing for space than those that ¯t into the available slots in a planning

horizon. Thus, in order to make the problem more realistic, 15 more ads have been generated

randomly and added to the existing ad list. Note that unscheduled ads will be rolled over

to the next planning horizon for consideration. We then run heuristics to determine which

ads will be selected for display in a one-hour period, if there are 48 (= 33 + 15) ads in place

of 33 ads. We generate 4 di®erent sets of additional 15 random ads in order to observe the

performance of heuristics in di®erent problem sets. The values of wi and si for one such set

of randomly generated ads are shown in Table 7.

To determine the price of an advertisement, web site administrators most commonly use

19

Random Increase in Revenue Using HybridProblem Heuristic Over SUBSET-LSLFSet # $ Increase/month Percentage

x = 50 x = 100 x = 500 x = 1000 Improvement1 $16,020 $32,040 $160,200 $320,400 6.04%2 $43,236 $86,472 $432,360 $864,720 16.54%3 $55,620 $111,240 $556,200 $1,112,400 23.38%4 $11,088 $22,176 $110,880 $221,760 4.01%

Table 8: Revenue Increase using the Hybrid Heuristic for an Actual Dataset

the CPM (cost-per-thousand exposures) model [29]. In CPM model, the price is calculated

on the basis of thousand impressions (exposures), where a unique impression is a single ad

served to one browser [36]. In this case, CPM may be considered proportional to the size

of ad. Observing the prevailing CPM rate, we assume CPM as $1/unit size. Therefore, the

CPM for any ad Ai = 1£si = si. For example, CPM for banner ad of size 120 £ 60 pixels is

$10 (= 1£10), because si = 10 for these ads.

First we use SUBSET-LSLF to decide which ads will be selected to display among the 48

ads in an one-hour period and then we use hybrid GA-A. Assuming that x users see the ads

in this period, the total impressions of any selected ad Ai is x£wi. So, the revenue obtained

from the selected ad Ai = x£si£wi=1000. Therefore, total revenue =Pi2A0 x£ si£wi=1000

= xPi2A0 siwi=1000, where A

0 is the set of selected ads for display.

For the given set of randomly generated ads, SUBSET-LSLF gives Pi2A0 siwi = 6609 and

hybrid GA-A gives Pi2A0 siwi = 8154. Therefore, improvement in P

i2A0 siwi of hybrid GA-A

over SUBSET-LSLF = 8154 ¡ 6609 = 1545. Therefore, increase in revenue using hybrid

GA-A over SUBSET-LSLF = x £ 1545=1000 = 1:545x (23.38% increase in the revenue). For

500 users, increase in revenue = 1.545 £ 500 = $772.50 per hour = $772.50 £ 24 £ 30 per

month = $556,200 per month. The increase in revenue is calculated similarly for a di®erent

set of random ads and for di®erent number of users. Table 8 shows how signi¯cant the impact

on revenue can be for even a small percentage improvement in the space utilization.

20

7 Conclusions

Firms that use the business model of free services to customers and advertising for revenues

need to be able to judiciously use the available ad space to maximize their revenues. In this

paper we have formulated the problem as an integer programming problem and developed

heuristic solutions to solve the problem. For the test problems that we generated, the hybrid

GA solutions are within 3% of the upper bounds generated by CPLEX and in some cases,

provide up to 87% improvement over the existing known heuristic proposed by Adler, Gib-

bons and Matias [1]. Even if one were more conservative and used the case study in which

improvements were of the order of 4 to 24%, it could lead to substantial improvements in

revenue, for example a 4% increase in revenue in the example discussed earlier could lead to

$221,760 increase in revenues while a 24% increase as shown earlier could lead to an increase

in revenues of $1,112,400 per month. These numbers could increase further if the number of

visitors to the site was higher than the 1000 visitors/hour we assumed in the example.

21

Appendix A

GA Parameterization and Convergence

A statistical experimental framework is used to discover the most appropriate values of the

GA parameters ", ps, pc and pm. The experimental layout is full-factorial design [27] involving

four factors (parameters). This experimental layout used three levels (possible values) each of

", pc and pm. For small size problems, two levels of ps are used and for larger size problems,

three levels of ps are used. Each \experimental run" involves parameterizing the GA according

to the rows in the experimental table and then running the GA from certain initial conditions

for a given number of generations, in a pilot run fashion. Further, to remove the bias of the

starting sequence and then assure robustness in the GA's performance, ten randomly produced

initial starting sequences are tested in each run, providing the necessary replications. Since

Bagchi [3] ¯nds that there is no panacea for selecting the values of these parameters, we select

the levels of ", ps, pc and pm from the set of most commonly used parameter values.

It is widely reported that the optimum parameter settings may be problem-speci¯c [23],

[35], [8], [34], [15], [10]. Therefore, we run parameterization separately for problems with

di®erent values of the number of slots (N ). Since our problem set contains ¯ve di®erent

values of N , we run ¯ve di®erent parametrization. The results of one such parameterization

is shown in Figures 7 and 8 with N = 50 and S = 25. Since this is a maximization problem,

higher value of the ad space utilization is the better solution.

Figure 7 gives good settings for ", ps, pc and pm. In this case, good settings are ps = 75,

pc = 0.60, pm = 0.05 and " = 0.25. We ¯nd that these good settings are di®erent for di®erent

values of N . Figure 8 indicates the interaction e®ects between the parameters. This interaction

is visible in almost all parameterization runs. This interaction indicates that the e®ect of "

depends on the setting of pm and vice versa. Therefore, the parameters here could not be

arbitrarily and individually selected. The good settings obtained from the parameterization

are used for further GA runs.

Figure 9 shows the characteristic convergence of the highest ad space utilization produced

by a well-parameterized solution routine for the MAXSPACE problem. It runs for 250 gen-

erations to maximize the ad space utilization for the problem with N = 25 and S = 25.

22

Figure 7: Factor E®ects on Average Values: N = 50, S = 25

Figure 8: Interaction E®ects on Average Values: N = 50, S = 25

23

Figure 9: Convergence for Maximizing the Ad Space Utilization: N = 25, S = 25

24

References

[1] M. Adler, P.B. Gibbons and Y. Matias, \Scheduling space-sharing for Internet advertis-

ing", Journal of Scheduling, 2001, to appear.

[2] C.C. Aggarwal, J.L. Wolf and P.S. Yu, \A framework for the optimizing of WWW ad-

vertising", Trends in Distributed Systems for Electronic Commerce, June 1998, 1-10.

[3] T.P. Bagchi, Multiobjective Scheduling by Genetic Algorithms, Kluwer Academic Publish-

ers, 1999.

[4] K.R. Baker, Introduction to Sequencing and Scheduling, Addison-Wesley, Reading, MA,

1974.

[5] H.M. Cartwright and G.F. Mott, \Looking around: using clues from the data space to

guide genetic algorithm searches", Proceedings of the Fourth International Conference on

Genetic Algorithms, Morgan Kaufmann, San Mateo, CA, 1991, 108-114.

[6] B. Chen, C.N. Potts and G. Woeginger, \A review of machine scheduling: Complexity,

algorithms and approximability, in: D.-Z. Du and P.M. Pardalos (Eds.)", Handbook of

Combinatorial Optimization, Volume 3, Kluwer, 1998, 21{169.

[7] CPLEX, Using the CPLEX Callable Library, CPLEX Optimization, Inc., 1989.

[8] L. Davis (ed.), Handbook of Genetic Algorithms, van Nostrand Reinhold, New York, 1991.

[9] M. Dawande, S. Kumar and C. Sriskandarajah, \Performance bounds of algorithms for

scheduling advertisements on a web page", Working Paper, The University of Texas at

Dallas, 2001. Submitted to Journal of Scheduling.

[10] K.A. De Jong, \An analysis of the behavior of a class of genetic adaptive systems, (Doc-

toral dissertation, University of Michigan), Dissertation Abstracts International, 36 (10),

5140B (University Micro¯lms No. 76-9381), 1975.

[11] X. Dreze and F. Zufryden, \Testing web site design and promotional content", Journal

of advertising research, March-April 1997, 77-91.

25

[12] P.S. Gabbert, D.E. Brown, C.L. Huntley, B.P. Markowicz and D.E. Sappington, \A

system for learning routes and schedules with genetic algorithms", Proceedings of the

Fourth International Conference on Genetic Algorithms, Morgan Kaufmann, San Mateo,

CA, 1991, 430-436.

[13] M.R. Garey, and D.S. Johnson, Computers and Intractability: A Guide to the Theory of

NP -Completeness, Freeman, San Francisco, 1979.

[14] R.L. Graham, E.L. Lawler, J.K. Lenstra and A.H.G. Rinnooy Kan, \Optimization and

approximation in deterministic sequencing and scheduling: a survey", Annals of Discrete

Mathematics, 5, 1979, 287-326.

[15] J.J. Grefenstette, \Optimization of Control Parameters for Genetic Algorithms", IEEE

Transactions on Systems, Man and Cybernetics, 16 (1), 1986.

[16] M.R. Hilliard, G.E. Liepins and M. Palmer, \The computer as a partner in algorithm

design: automated discovery of parameters for a multi-objective scheduling heuristic",

Impact of Recent Computer Advances on Operations Research, North Holland, Amster-

dam, 1989, 321-331.

[17] C.W. Holsapple, V.S. Jacob, R. Pakath and J.S. Zaveri, \A Genetics-Based Hybrid Sched-

uler for Generating Static Schedules in Flexible Manufacturing Contexts", IEEE Trans-

actions on Systems, Man, and Cybernetics, Vol. 23, No. 4, July/August 1993, 953-972.

[18] C.W. Holsapple, R. Pakath, V.S. Jacob and J.S. Zaveri, \Learning by problem processors:

Adaptive decision support systems", Decision Support Systems, 10, 1993, 85-108.

[19] intern.com Corp., \Research Sources and Findings",

http://webreference.com/dev/banners/research.html, Apr. 13, 1998.

[20] intern.com Corp., \Theories and Methodology",

http://webreference.com/dev/banners/theories.html, Apr. 27, 1997.

[21] Jupiter, \The 1997 Online Kids Report", Jupiter Communications, NY.,

http://www.jup.com, 1997.

26

[22] Y. Kohda and S. Endo, \Ubiquitous advertising on the WWW: Merging advertisement

on the browser", Computer Networks and ISDN Systems, 28, 1996, 1493-1499.

[23] S. Kumar, T.P. Bagchi and C. Sriskandarajah, \Lot streaming and scheduling heuristics

form-machine no-wait °owshops", Computers & Industrial Engineering, Volume 38, Issue

1, 2000, 149-172.

[24] E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan and D.B. Shmoys, \Sequencing and

scheduling: algorithms and complexity," Handbooks in Operations Research and Man-

agement Science, Volume 4, (S.C. Graves et al., Ed.) 4, 1993, 445-552.

[25] W. Marx, \Study shows big lifts from animated ads", Business Marketing, November 01,

1996.

[26] M. McCandless, \Web Advertising", IEEE Intelligent Systems, May/June, 8-9, 1998.

[27] D.C. Montgomery, Design and Analysis of Experiments, 4th edition, John Wiley & Sons,

1996.

[28] T. Murata and H. Ishibuchi, \Performance evaluation of genetic algorithms for °owshop

scheduling problems", Proceedings of the IEEE Conference on Genetic Algorithms, 1994,

812-817.

[29] T.P. Novak and D.L. Ho®man, \New Metrics for New Media: Toward the Development

of Web Measurement Standards", World Wide Web Journal (W3J), Vol. III, Issue I,

Winter 1997.

[30] D. Passmore, \Web switching comes of age", Business Communications Review, Hinsdale,

Vol. 29, Oct 1999, 18-20.

[31] M. Pinedo, Scheduling Theory, Algorithms, and Systems, Prentice Hall, NJ, 1995.

[32] J. Puetz, \A revolution in our midst", Satellite Communications, Atlanta, Vol. 24, Mar

2000, 38.

27

[33] K. Risden, M. Czerwinski, S. Worley, L. Hamilton, J. Kubiniec, H. Ho®man, N. Mickel

and E. Loftus, \Internet Advertising: Patterns of Use and E®ectiveness", CHI 98 Los

Angeles CA USA, 18-23 April, 1998, 219-224.

[34] J.D. Scha®er, R.A. Caruana, L.J. Eshelman and R. Das, \A study of Control Parameters

A®ecting Online Performance of Genetic Algorithms for Function Optimization", Proceed-

ings of the Third International Conference on Genetic Algorithms, Morgan Kau®mann,

1989, 51-60.

[35] M. Srinivas and L.M. Patnaik, \Adaptive Probabilities of Crossover and Mutation in

Genetic Algorithms", IEEE Transactions on Systems, Man and Cybernetics, 24, 4, 1994,

656-667.

[36] J. Surmanek, \Introduction To Advertising Media", NTC Business Books: Lincolnwood,

Illinois, 1993.

[37] G. Syswerda and J. Palmucci, \The application of genetic algorithms to resource schedul-

ing", Proceedings of the Fourth International Conference on Genetic Algorithms, Morgan

Kaufmann, San Mateo, CA, 1991, 502-508.

[38] The Media Measurement Task Force, \Metrics and Methodology",

http://www.iab.net/advertise/content/mmtf3.html, September 15, 1997.

[39] UtopiAd, http://www.utopiad.com.

[40] A. Wren and D.O. Wren, \A genetic algorithm for public transport driver scheduling",

Comp. and Opns. Res., 22, 1995, 101-110.

[41] R.R. Yager, \Intelligent agents for World Wide Web advertising decisions", International

Journal of Intelligent Systems, Volume 12, 1997, 379-390.

28