ALLOCATING EDUCATIONAL RESOURCES THROUGH
HAPPINESS MAXIMIZATION AND TRADITIONAL
CSP APPROACH
Juan I. Cano
1,2
, Luis S´anchez
2
, David Camacho
1
, Estrella Pulido
1
and Eloy Anguiano
1,2
1
Computer Science Department
2
Centro de Referencia Linux UAM–IBM
Universidad Aut´onoma de Madrid, C/ Francisco Tom´as y Valiente, n
o
11, 28049, Madrid, Spain
Keywords:
Constraint-Satisfaction Problems, Simulation, Model-based agent optimization, Educational Resource Allo-
cation, Multiagent Resource Allocation.
Abstract:
An instance of an Educational Resources Allocation (ERA) problem is the distribution of a set of students
in different laboratories. This can be a complex and dynamic problem if non-quantitative considerations (i.e.
how close the final allocation is to the student preferences or desires) are involved in the decision process. Tra-
ditionally, different approaches based on Constraint-Satisfaction techniques and Multi-agent negotiation have
been applied to the general problem of Resource Allocation. This paper shows how a Multi-agent approach
can be used to model and simulate the assignment of sets of students to several predefined laboratories, by
using their preferences to guide the allocation process. This approach aims at finding new solutions that try
to satisfy individual student needs with no knowledge about the general allocation problem. The paper shows
some experimental results and a comparison, between a CSP-based solution modeled in CHOCO, a CSP
Java-based library, and a Multi-agent model implemented using MASON, a multi-agent simulation platform.
1 INTRODUCTION
Efficient resource assignment, or resource allocation
(Choueiry, 1994), is a complex problem (usually NP-
hard) that has been studied in several research ar-
eas, such as Constraint-Satisfaction Problems (Modi
et al., 2001; Tsang, 1993), Artificial Intelligence and
Multi-Agent Systems (Chevaleyre et al., 2006; Das-
gupta and Hoeing, 2007; Winstanley, 1993). Impor-
tant application areas such as Industrial procurement,
Satellites, Manufacturing Systems, Grid computing,
Manpower planning/scheduling, or Educational man-
agement, have applied different Resource Allocation
techniques to solve their particular problems (Das-
gupta and Hoeing, 2007).
The main goal in a resource allocation process
is to find either a feasible allocation, that is, some
kind of assignment over the resources elements con-
sidered; or an optimal allocation. In the latter case,
it is necessary to define some kind of metric to know
when the optimum is reached, for example an alloca-
tion of resources that maximizes the average utility of
several agents.
The concept of resource can vary over previous re-
search areas. In this work, a resource is defined as a
set of non–sharable indivisible items that can be dis-
tributed amongst several agents. Therefore, a particu-
lar distribution of resources amongst agents is called
an allocation. For instance, in our case study we have
a set of laboratories that need to be assigned to a set
of student teams (made up of 1, 2 or more students).
Students could prefer different timetables to others,
and they can express their desires, or preferences, as
a restriction. An assignment, or simply an allocation,
is a distribution of the set of resources (laboratories)
amongst the agents (student teams).
The focus of this paper is to design a system based
on the real dynamics of student scheduling, that is
how students apply for laboratory slots and how they
interact (negotiate) with each other. This is done by
measuring the student happiness, which is modelled
as how far is the assignment from his preference,
and maximizing this value. The distribution of stu-
dents among groups is also taken into account, us-
ing this factor as a measure of how loaded is the re-
source. This model is compared with a traditional
CSP (monolithic) approach where each agent prefer-
ence is defined as a new constraint. The MAS ap-
proach shows how easy it is to model the agent prefer-
ences (in form of preferred groups and non-assignable
113
Cano J., Sánchez L., Camacho D., Pulido E. and Anguiano E. (2009).
ALLOCATING EDUCATIONAL RESOURCES THROUGH HAPPINESS MAXIMIZATION AND TRADITIONAL CSP APPROACH.
In Proceedings of the 4th International Conference on Software and Data Technologies, pages 113-119
DOI: 10.5220/0002259601130119
Copyright
c
SciTePress
groups) and to look for a solution that tries to maxi-
mize their desires.
The paper is structured as follows: Section 2 de-
scribes the educational resources assignment prob-
lem and how it can be modelled as a constraint-based
problem and a MAS negotiation problem; Sections 3
and 4 describes the CSP library (CHOCO) and the
MAS platform (MASON) considered, and how the
model has been implemented in both frameworks.
Section 5 shows the data sets used in the experiments,
and the experimental results obtained. Finally, Sec-
tion 6 describes some conclusions and future lines of
work.
2 ALLOCATION OF
EDUCATIONAL RESOURCES
The problem of allocating educational resources can
be briefly described as the process assigning resources
to actors in a solution, or solutions, which optimize
(or simply looks for a feasible solution) the avail-
able resources amongst those actors. For example,
and as a case study, we could consider the problem
of distributing students among different laboratories.
In this case, the amount of computers, or other ma-
terial, available in every laboratory sets the number
of student teams allowed per laboratory. The differ-
ence between these resources (laboratory slots) lies on
the number of places available and the slot timetable.
Educational resources are grouped into resource sets
and each student team must select their preferred lab-
oratory slot among those available in a resource set,
or even to indicate what slots are incompatible with
their needs. Preference will be represented by three
different values: “Preferred” (P), “Indifferent” (I) and
“Forbidden” (F). These values are not fixed and can
be adapted to other needs. In addition to student re-
strictions, it could be necessary to use other assign-
ment policies (i.e. first group to make a request has
the highest priority) to look for new alternatives. Fig-
ure 1 shows a schematic representation of this situa-
tion, where a student team has defined its preferences
among three different lab slots corresponding to the
resource set RS1. ER1.1 is Preferred over ER1.2
that is Indifferent for this student team. As
the student team has indicated that ER1.3 should be
avoided in the allocation process, this group is stored
as Forbidden. This figure also represents the cur-
rent allocation state for each lab slot in the resource
set RS1.
As illustrated in Figure 2, the previous example
can be extended to a more realistic and, therefore,
complex situation, where two different types of con-
Figure 1: Current assignment for the resource set RS1
that contains three Educational Resources (ER1.1, ER1.2,
ER1.3). The agent provides a set of restrictions, or con-
straints, to describe its preferences (Preferred-P, Indifferent-
I, Forbidden-F).
straints can be established. Horizontal constraints ap-
pear between educational resources belonging to the
same educational set (solutions with lab slots with
overlapping timetables are not allowed). Vertical con-
straints relate educational resources in different ed-
ucational sets (this is a quite usual situation in en-
gineering where a student can register for courses
from different degree years). Why is it necessary
to distinguish between horizontal and vertical con-
straints? The educational institution is usually re-
sponsible of guaranteeing the satisfaction of horizon-
tal constraints. This is not the case with vertical con-
straints whose satisfaction is usually taken as a prob-
lem that must be solved by the student.
As Figure 2 shows the current needs of Student-
Agent, could be described as a set of constraint vec-
tors that need to be allocated. The final solution pro-
posed by the algorithm will generate the “happiness”,
or how close the final allocation is to the StudentA-
gent preferences.
Constraint vector: (hRS1 : {P, I};RS2 :
{P, I, F};RS3 : {F,P, F}i, hRS4 : {F, P};RS5 :
{P, I, F, I, F,I}i )
3 CONSTRAINT
SATISFACTION-BASED MODEL
Constraint Satisfaction and Constraint Programming
(Tsang, 1993) can be described as the process (in-
cluding techniques, methodologies and algorithms) of
finding a solution to a set of constraints that impose
conditions that a set of variables must satisfy. A so-
lution is, therefore, a set of value assignments to vari-
ables that satisfies all constraints. A Constraint Satis-
faction Problem (CSP) uses constraints to enumerate
the possible values a set of variables may take. This
kind or problems can be formally described by using a
triple hX, D,Ci, where X represents a set of variables,
D is a set of domains that are related to variables (the
domain of a variable contains all the values the vari-
ICSOFT 2009 - 4th International Conference on Software and Data Technologies
114
Figure 2: Horizontal and vertical constraints.
able can take), and C is a set of constraints that repre-
sents some kind of restriction imposed to the possible
values assignments. A constraint is composed of a
sequence of variables (or scope), and a set of values
satisfying the constraint. It is possible to define a wide
range of constraints, unaries (x
1
< 2.5”), binaries
that involve exactly two variables (i.e. x
1
3 × 2 =
0”), or n-aries (“x
1
3x
2
+ 4x
3
> 0”). Variables can
be assigned values from different domains such as
Boolean, Integer, Real. A constraint is used to de-
fine some kind of property that the solution must sat-
isfy. Constraints are usually embedded within a pro-
gramming language (i.e. g-Prolog, Sictus-Prolog) or
provided via separate software libraries (i.e. Choco,
ILOG CP, JOPt, Koalog, etc...). The Choco Solver is
a Java library for CSP designed to easily model CSP-
based problems. It allows considering different kinds
of variables, domains and constraint types, and pro-
vides several implementations of well known algo-
rithms for constraint propagation and heuristic-based
search (i.e. Arc Consistency algorithms). The library
provides a complete API which helps users to model,
implement, and test a CSP-based algorithm (Team,
2008).
Using the formalism and basics of CSP design, the
problem described in Section 2, has been translated
into the following CSP-based model:
Resource Set and Educational Resources. The re-
sources that finally are assigned (labs slots) define
the possible values of the variables. As an exam-
ple, in Figure 1, the RS1 generates three different
domains (one for each ER), the number of slots
available are used to set the domain cardinality.
Student teams. Student team preferences are used
to create both, the variable set that needs to be as-
signed, and a set of constraints that must be satis-
fied. In Figure 1, the StudentAgent is represented
by variable x
1
and the restriction x1 6= ER1.3
represents that ER1.3 is a forbidden value for this
team. Each student team has as many variables as
ER to be allocated, and each RS generates a new
set of constraints. Every variable can take a value,
which represents a lab slot in a particular RS-ER
that must satisfy the team constraints. Associ-
ated to each team a new variable is defined, the
Optimization Variable (OV
i
), which takes a differ-
ent value depending on the relation ¡team prefer-
ence, lab slot- ER assigned¿. Therefore, OV
i
= 5
if lab slot assigned was a “P” (Preferred) value
for the student team, OV
i
= 3 if lab slot is “I” and
OV
i
= 0 if lab slot is “F”. When two different RSs
related to the same course are considered, the pre-
viously described values are increased in 2 units
(so that Horizontal constraints will have a higher
value, than Vertical constraints). These variables
(OV
i
) are used to find a solution, maximizing their
global values (see equation 2).
Two incompatibles ER (i.e. with the same
timetable belonging to different RS) imposes a
new restriction that makes that only one of them
can be assigned to a student team.
H =
k
i=1
H(a
i
) (1)
H(a
i
) =
n
j=1
OV
i
(RS
j
(i)) (2)
The CSP algorithm maximizes the global value
of OV
i
(RS
j
(i)) for all the student teams considered,
since it looks for the maximum value of H as shown in
Equation 1, where k is the number of Students teams
to be allocated. Equation 2 shows how to calculate the
H value, where n represents the number or Resource
Sets to be allocated.
Negotiation is not possible if the previous restric-
tions are used because the CSP approach is mono-
ALLOCATING EDUCATIONAL RESOURCES THROUGH HAPPINESS MAXIMIZATION AND TRADITIONAL
CSP APPROACH
115
lithic. A heuristic has been designed for those cases
where there are a high number of very restrictive stu-
dent teams to be allocated. If a solution is not feasible,
this new heuristic incrementally selects those student
teams with higher restrictions, and their Forbidden lab
slots become Indifferent so their restrictions are not
considered (those restrictions that do not affect hor-
izontal constraints). Once a solution is found, these
modifications appear as “suggestions” for a feasible
allocation.
Finally, the value of OV
i
variables can be used to
see how close the solution found is to the student pref-
erences. The higher the value, the ‘happier’ the stu-
dents will be with the given assignment. The global
value of gives us an idea about the ‘global happiness’
of OV the solution found.
4 THE AGENT-BASED MODEL
The main characteristics of ERA problem described
in Section 2 make Multi-agent technologies a natu-
ral framework to test and prove these kinds of algo-
rithms. For this reason there exist several multi-agent
frameworks, such as NetLogo, Swarm, Repast or Ma-
son (Railsback et al., 2006), designed to facilitate the
specification of collective behaviors (represented as
agents) that can be simulated into a simulation toolkit.
Among existing MAS-based simulation toolkits, the
Mason library was selected.
Mason is a discrete-event multi-agent simulation
library core in Java, designed as a foundation for
large custom-purpose Java simulations. This toolkit
provides some graphical facilities, and other utilities
to easily modify the simulation domain (Luke et al.,
2004). A basic model in Mason requires the defi-
nition of two main elements; the environment and a
set of agents with a defined behavior. For this rea-
son, we have modeled an environment containing the
Resource Set (RS) from which the agents can con-
sume the available lab slots (ER). On the other hand,
the student teams are modeled as Mason-based agents
that evolve in each simulation step looking for a so-
lution. One of these agents executes three different
actions in each step. First, it updates its utility func-
tion, called “happiness”, then it looks for a new “lo-
cation” that improves its happiness, and finally it tries
to “go” there (the agent tries to obtain the selected
ER). The maximization process can be described as
follows:
1. The happiness function is a tradeoff between the
particular happiness of the student team, and the
current distribution of the available ER. This func-
tion (see equation 3) rewards an egalitarian distri-
bution of student teams among RS and ER, and
tries to satisfy the agent allocation preferences.
H(a
i
) =
n
j=1
( f
1
(RS
j
(i)) + f
2
(q, RS
j
(i)))
n
(3)
H(a
i
) represents the average happiness of agent-
i and is calculated by using f
1
(RS
j
(i)) the total
number (n) of Resource Sets to be allocated, and
the sum (for each ER) of how close the current al-
location is to the agent preferences. This is cal-
culated by using to transform the agent prefer-
ence into an integer value (currently the values
hP = 5;I = 3;F = 0i are used), and the level of oc-
cupancy (q) of the ER (this is evaluated through
function f
2
(q, RS
j
(i))). This latter function has
been introduced to quantify the occupation of the
ER. The social reason is related to the problem
that appears when a student team prefers attending
a not overloaded lab group (they will receive more
attention from educators). On the other hand, ed-
ucators would prefer an egalitarian distribution of
students (and therefore an egalitarian distribution
of the teaching work). The f
2
function measures
how close the ER occupation is to an egalitarian
distribution.
2. Therefore, each agent in the system tries to max-
imize its own happiness function, so it will try to
look for an ER (i.e. lab slot) that maximizes its
preferences although a global egalitarian distribu-
tion is indirectly used by the agent. In the first
simulation step any agent (randomly selected) can
select only one ER from its Resource Set, to avoid
initial and premature resource occupancy.
3. Once no slots are available in a particular ER,
a negotiation procedure is executed by the agent
which is interested in:
(a) The bidder agent (a
i
) sends a message to all the
current agents (a
j
) assigned to the desired ER.
(b) .The a
i
agent proposes to exchange one of its
own ER (currently allocated) for this one. The
list of available ERs is evaluated by each agent
(a
j
). Each a
j
answers to a
i
with their pre-
ferred ER from the exchange list (or sends a
void value if it is not interested in any). If the
bidder agent (a
i
) is not interested in the pro-
posal from a
j
, it removes the ER from the ex-
change list and sends it back. This process con-
tinues until an exchange is made, or no agent is
available for negotiation (no one is interested to
give up this ER).
4. Finally, to avoid a cyclic negotiation process from
an agent that tries to access a particular ER, a
discouraging factor is used. Equation 4 shows
ICSOFT 2009 - 4th International Conference on Software and Data Technologies
116
how when an agent repeatedly tries to get an ER
that it is already full and there is no negotia-
tion possible (we are considering s negotiation cy-
cles; t [0··· s]), the initial ER preference value
(f
1
(RS
j
(i)) f
(0)
1
(RS
j
(i))) is decreased by a con-
stant factor (currently 0.75).
f
(t)
1
(RS
j
(i)) = 0.75
t1
× f
(0)
1
(RS
j
(i)) (4)
With this structure, the system is completely au-
tonomous and there is no need for a coordinator or
central structure (no auctioneer is used). Agents se-
lect ERs by themselves and try to maximize their pref-
erences while keeping a balanced distribution of re-
sources. If a group is completely full, and an agent is
interested in it, a negotiation process with other agents
is started in order to find an agreement. Any agent
that tries to access into an ER insistently decreases
the happiness that could gain by obtaining that ER
(so that it is better for an agent to shift its preferences
from preferred groups that are overloaded, to others
with an initial lower interest). By using this approach,
the system converges to a solution that is measurable
not only by the preference satisfaction, but also by the
social welfare and distribution of the resources.
5 EXPERIMENTAL RESULTS
This section describes how the experimental datasets
have been generated to compare both algorithms, and
the experimental results obtained.
5.1 Data Sets
Several data sets, with incremental constraint-based
complexity, have been considered. They have been
generated by using real statistical information from
the Technical School at Universidad Autnoma de
Madrid (UAM). For each course, the number of labo-
ratories available, students registered for each course,
capacity of labs, and time tables, has been consid-
ered. These data have been used to generate a prob-
ability distribution of students/course and the num-
ber/capacity of labs that students need to attend.
A four year degree has been considered (it corre-
sponds to the current Bachelor in Computer Science
at UAM). Table 1 shows the student enrollment distri-
butions by course (only those courses with laborato-
ries are considered), the number of courses for which
students have enrolled and the distribution of students
with this number of courses.
A row in Table 1, for example the second one,
shows that 2
nd
year students can register for up to 2
Table 1: Distribution of labs by course.
Year No. courses Distribution (%)
1
st
2 100
2
nd
2 - 3 - 4 20 - 50 -30
3
rd
4 - 5 - 6 15 - 70 -15
4
th
4 - 5 - 6 15 - 70 -15
first-year courses, up to 3 second-year courses, and up
to 4 third year courses. The distribution shows that it
is more common to register for courses of the year for
which you have enrolled.
Based on the previous information, six data sets of
1000 student teams were generated. The synthetic re-
strictions for each team were also randomly generated
by using some historic data related to previous years.
Table 2 summarizes the basic features for each data
set, where Ds0 considers only one Preferred group per
ER and StudentAgent (i.e. SA
i
= hhP, I, Ii, hP, I, Iii),
whereas Ds5 considers that 30% of ERs are marked
as Preferred and the rest (70%) are Forbidden, for ex-
ample: hhP, F, Fi, hP, F, Fi, hP, F, Fii makes a 30–70
distribution. The number of Forbidden and Preferred
constraints has been adjusted along different datasets
to cover different complexity situations.
Table 2: Student datasets.
Data Set % Preferred (P) % Forbidden (F)
Test 100% 0%
Ds0 1P/(ER,agent) 0%
Ds1 30% 0%
Ds2 1P/(ER,agent) 20%
Ds3 30% 50%
Ds4 1P/(ER,agent) 70%
Ds5 30% 70%
5.2 Results
The previously described datasets were generated as
data files of student preferences
1
, and translated, by
following the CSP and MAS models described in sec-
tions 3 and 4, into an adequate representation. Tables
3 and 4 show the results obtained for both algorithms.
Since the happiness functions were obtained by using
different preference values, they are not comparable
across systems but they givea good estimation of their
performance with different restrictions.
As it could be expected, the CSP model provides
good results when there is a feasible solution, this
usually happens when the student teams are not very
1
Data sets available at: aran-
txa.ii.uam.es/˜dcamacho/mason/mara.htm
ALLOCATING EDUCATIONAL RESOURCES THROUGH HAPPINESS MAXIMIZATION AND TRADITIONAL
CSP APPROACH
117
Table 3: CSP experimental results for datasets considered.
Data Mean Happiness Mean Distribution P’s I’s F’s
Set Happiness Deviation Distribution Deviation (%) (%) (%)
Test 9.85 0.07 81.5 0,66 100 0 0
Ds0 9.69 0.15 81.3 21.8 86.9 13.1 0
Ds1 9.78 0.1 81.2 15,2 94.2 5.8 0
Ds2 9.32 0.25 81 17.7 89.8 1.07 9.19
Ds3 7.82 1.09 80.6 17.9 61.3 15.6 23.1
Ds4 7.03 1.12 80.8 15.8 66 8.2 25.8
Ds5 6.02 1.59 80.9 19.5 71.9 0 28.1
Table 4: MAS experimental results for datasets considered.
Data Mean Happiness Mean Distribution P’s I’s F’s
Set Happiness Deviation Distribution Deviation (%) (%) (%)
Test 9.85 0.07 81.5 0,66 100 0 0
Ds0 9.29 0.29 81.3 4.21 85.3 14.7 0
Ds1 9.74 0.14 81.4 0.64 94 6 0
Ds2 9.4 0.24 81.1 4.36 86.9 12.75 0.35
Ds3 9.72 0.19 81 0.89 95.53 2.42 2,05
Ds4 9.09 0.43 81 5.92 86 11.1 2.9
Ds5 9.67 0.29 80.9 0.91 95.8 0 4.2
restrictive (Test, DS0 and DS1). However, when the
number of restrictions is increased (forbidden ERs),
we use a heuristic that penalize those teams with a
higher number of restrictions, allowing to allocate
teams to initially forbidden groups (these restrictions
are relaxed; some ERs are translated from F to I). This
allows finding a partial solution but not the optimum.
As Table 3 shows, initial datasets can be allocated
using only preferred and indifferent groups, however
once the dataset includes a 20% of Forbidden ERs, the
algorithm needs to allocate about the 9% in forbidden
groups. This problem increases linearly with the in-
crement of F groups (e.g. using a 70% of Forbidden
ERs the solution allocates up to 28% of the teams to
Forbidden ERs), therefore the global happiness of the
solution decreases.
The results obtained for the MAS model are
shown in Table 4. This method is able, by using the
negotiation-based approach, to maintain the global
happiness of the solutions found. Although “hap-
piness” values cannot be directly compared between
CSP and MAS solutions (because their equations are
different), the percentage of allocated Forbidden can
be compared. In the worst situation (DS5) only the
4% of the students needs to be assigned to a Forbid-
den ER, and the 95% of student teams are satisfactory
allocated. Finally, the low variation of the happiness
among the different datasets can be remarked com-
pared to the variation of this value for the CSP solu-
tions. This is due to the facility (given by the Multi-
agent approach) to change preference values, or to ex-
change the current ER allocation with other agent in
the system.
6 CONCLUSIONS AND FUTURE
WORK
The experimental results obtained with our algorithm
within the simulating platform MASON, and its com-
parison with a traditional CSP approach, show that
the negotiation-based simulation algorithm allows us
to dynamically find new solutions that maximize non-
quantitative parameters, such as student happiness,
i.e. how close the proposed solution is to the needs
of specific students. These results show how a multi-
agent (lightweight and collective) model can be used
to optimize the allocation of a set of educational re-
sources based on a set of distributed (negotiable) re-
strictions that represent the student team preferences.
In the near future some properties of our approach
will be modified and tested, modifying the happiness
function considered and incorporating other actors,
such as the interests of educators in the allocation
of the educational resources. On the other hand, the
model proposed for ERA problemscould easily be ex-
tended to consider a broker, or auctioneer agent, that
could be designed to compare with other MAS classi-
cal algorithms (i.e. trading systems).
ICSOFT 2009 - 4th International Conference on Software and Data Technologies
118
ACKNOWLEDGEMENTS
This work has been supported by research projects
TIN2007-65989 and TIN2007-64718. We also thank
IBM for its support to the Linux Reference Center.
REFERENCES
Chevaleyre, Y., Dunne, P., Endriss, U., Lang, J., Lemaitre,
M., Maudet, N., Padget, J., Phelps, S., Rodrguez-
Aguilar, J., and Sousa, P. (2006). Issues in multiagent
resource allocation. Informatica, 30.
Choueiry, B. Y. (1994). Abstraction methods for resource
allocation. PhD thesis, Dpartement d’informatique,
Institut d’informatique fondamentale IIF (Laboratoire
d’intelligence artificielle LIA).
Dasgupta, P. and Hoeing, M. (2007). Task selection in
multi-agent swarms using adaptive bid auctions. In
Proceedings of the First International Conference on
Self-Adaptive and Self-Organizing Systems.
Luke, S., Cioffi-Revilla, C., Panait, L., and Sullivan, K.
(2004). Mason: A new multi-agent simulation toolkit.
In Proceedings of the 2004 SwarmFest Workshop.
Modi, P., Jung, H., Shen, W., Tambe, M., and Kulkarni, S.
(2001). A dynamic distributed constraint satisfaction
approach to resource allocation. In Proceedings of the
7th International Conference on Principles and Prac-
tice of Constraint Programming.
Railsback, S. F., Lytinen, S. L., and Jackson, S. K. (2006).
Agent-based simulation platforms: review and devel-
opment recommendations. Simulation, 82(9):609–
623.
Team, T. C. (2008). Choco: an open source java constraint
constraint programming library. In van Dongen, M.,
Lecoutre, C., and Roussel, O., editors, Proceedings
of the Third International CSP Solver Competition
(CSP08).
Tsang, E. (1993). Foundations of Constraint Satisfaction.
Academic Press.
Winstanley, G. (1993). Resource allocation in model-based
planning systems. In Proceedings of the IEE Collo-
quium entitled ”Resource Scheduling for Large-Scale
Planning Systems”.
ALLOCATING EDUCATIONAL RESOURCES THROUGH HAPPINESS MAXIMIZATION AND TRADITIONAL
CSP APPROACH
119