the context of the famous exam time tabling prob-
lem (ETTP) (Carter et al., 1996). The ETTP can be
viewed as a decentralised scheduling problem where
the exams represent independent entities (users) in
need of resources (slots) with possibly conflicting and
competing schedule requirements. The problem is
then to assign exams to slots (i.e., find a schedule)
such that the total cost of conducting the exams as per
the schedule is minimised.
2 EXAM TIMETABLING
PROBLEM
The exam timetabling problem is a common problem
in most educational institutions. Although the prob-
lem’s details tend to vary from one institution to an-
other, the core of the problem is the same. There is a
set of exams (tasks), which have to be assigned to a
predefined set of slots and rooms (resources).
In our research we will be using on the follow-
ing formulation for the exam timetabling problem.
The problem consists of the a set of n exams E =
{e
1
, . . . e
n
}, a set of m students S = {s
1
, . . . s
m
}, a set
of q time slots P = {p
1
, p
2
, . . . p
q
} and a registration
function R : S → E, indicating which student is attend-
ing which exam. Seen as a set R = {(s
i
, e
j
) : 1 ≤ i ≥
m, 1 ≤ j ≥ n}, where student s
i
is attending exam e
j
.
A scheduling algorithm assigns each exam to a cer-
tain slot. A solution then has the form O : E → P or,
as a set, O = {(e
k
, p
l
) : 1 ≤ k ≥ n, 1 ≤ l ≥ q}.
The problem is similar to the graph colouring
problem but it includes extra constraints, as shown by
Welsh and Powell (Welsh and Powell, 1967). These
constraints are categorised into two main types: (a)
Hard Constraints, violating any of these constraints
is not permitted since it would lead to an unfeasible
solution, and (b) Soft Constraints, which are desir-
able but not crucial requirements. Violating any of the
soft constraints will only affect the solution’s quality.
All hard constraints are equally important, while soft
constraints are not. The importance of soft constraints
vary. Usually a cost function is designed to calculate
the cost of violating each of the soft constraints. So-
lutions with lower cost have better quality.
In general, there are two phases in solving
scheduling problems, construction phase for generat-
ing initial solution, the second phase is to improve the
quality of the initially constructed solutions, method
we present here is for the first phase.
3 AUCTION BASED
TIMETABLING
We call our exam time tabling system GPAuc. In
GPAuc, the seller is the exam time tabling system
(ETTS) and it auctions the slots one at a time. The
exams are the bidders. Every slot could be sold more
than once (because one slot could contain more than
one conflicting exam), but in each auction the slot
could be sold only for one exam. For an auction, the
winning bid is determined as follows. If the highest
bid does not increase the solution cost beyond a cer-
tain limit (Accepted-Cost), the highest bid becomes
the winning bid. Otherwise, the same rule is applied
to the second highest bid. If the second highest bid
causes the cost to increase beyond the Accepted-Cost,
the slot is left unsold and the next auction is initiated
for the followingslot. If no slots havebeen sold in full
round on all available slot, in this case the Accepted-
Cost are increased. this process is repeated till all ex-
ams are scheduled, or reaching a deadlock, where no
more exams could be scheduled without violating a
hard constraint.
The cost for a schedule is calculated using the fol-
lowing function (Carter et al., 1996):
Cost =
1
S
N−1
∑
i=1
N
∑
j=i+1
[w(|p
i
− p
j
|)a
ij
] (1)
where N is the total number of exams in the problem,
S the total number of students, a
ij
is the number of
students attending both exams i and j, p
i
is the time
slot where exam i is scheduled, w(|p
i
− p
j
|) returns
2
5−|p
i
−p
j
|
if |p
i
− p
j
| ≤ 5, and 0 otherwise.
3.1 Optimisation via Genetic
Programming
GP (Koza, 1992; Langdon and Poli, 2002; Poli et al.,
2008) is an evolutionary algorithm which is inspired
by biological evolution. The target of a GP system
is to find computer programs that perform a user-
defined task. It is a specialisation of genetic algo-
rithms where each individual is a computer program.
GP is a machine learning technique used to optimise
a population of computer programs depending on a
fitness function that measures the program’s perfor-
mance on a given task. Tree presentation of the indi-
viduals is the most common presentation which also
we will be using here. The function and terminal set
used is shown in table 1, the terminal set are inspired
from some standard graph coloring heuristics.
The GP’s fitness function we used is the follow-
ing:
EVOLVING EFFECTIVE BIDDING FUNCTIONS FOR AUCTION BASED RESOURCE ALLOCATION
FRAMEWORK
311