=Paper=
{{Paper
|id=Vol-1183/gedm_paper01
|storemode=property
|title=A Binary Integer Programming Model for Global Optimization of Learning Path Discovery
|pdfUrl=https://ceur-ws.org/Vol-1183/gedm_paper01.pdf
|volume=Vol-1183
|dblpUrl=https://dblp.org/rec/conf/edm/BelacelDL14
}}
==A Binary Integer Programming Model for Global Optimization of Learning Path Discovery==
A Binary Integer Programming Model for Global
Optimization of Learning Path Discovery
Nabil Belacel Guillaume Durand François Laplante
National Research Council Canada National Research Council Canada Université de Moncton
100, des Aboiteaux St. 100, des Aboiteaux St. 60, Notre-Dame-du-Sacré-Cœur St.
Moncton, E1A 7R1,Canada Moncton, E1A 7R1,Canada Moncton, E1A 3E9,Canada
+1.506.861.0963 +1.506.861.0961 +1.506.381.6220
nabil.belacel@NRC.gc.ca guillaume.durand@NRC.gc.ca francois.laplante@umoncton.ca
ABSTRACT competency state. For example, a learner with solid grounds in
This paper introduces a method based on graph theory and integer arithmetic (starting location) willing to learn the solving of
operations research techniques to optimize learning path systems with multiple variables (destination) should be advised to
discovery. In this method, learning objects are considered as previously learn to solve one variable linear equations (next step
nodes and competencies as vertices of a learning graph. A first of the itinerary).
step consists in reducing the solution space by obtaining an Over the years, educational data mining and recommendation
induced subgraph H. In a second step, the search of an optimal technologies have proposed significant contributions to provide
learning path in H is considered as a binary integer programming learners with adequate learning material by recommending
problem which we propose to solve using an exact method based educational papers [18] or internet links [10], using collaborative
on the well-known branch-and-bound algorithm. The method and/or content-based filtering. These approaches usually aim at
detailed in the paper takes into account the prerequisite and gained recommending learning material satisfying an immediate interest
competencies as constraints of the optimization problem by rather than fitting in the learner’s sequential learning process.
minimizing the total competencies needed to reach the learning
objective. Sequential pattern [28] and process mining [19] technologies have
also been investigated. However, these technologies have been
Keywords used to understand the learner’s interaction with content to
discover general patterns and trends rather than to recommend
Learning path, learning object recommendation, graph theory, adapted learning paths to learners.
clique, mathematical programming, binary integer programming,
branch-and-bound algorithm. Other approaches, in the course generation research community,
address the need for recommending not only the learning objects
1. INTRODUCTION themselves, but sequences of learning objects. Sicilia et al. [17] or
Global Positioning System (GPS) is a Global Navigation Satellite Ulrich and Melis [20] addressed learning design concepts and
System (GNSS) that is massively used by car drivers. This large requirements through Course Generation. Though numerous
acceptance is easily understandable by the benefits that such a solutions have been proposed, using statistical methods [13],
system can offer. Car navigation systems can dynamically decision rules [23], production rules [11], Markov processes [8]
calculate an itinerary between two points taking into account, and Hierarchical Task Network Planning [17, 21, 22], most of
depending on the system, several constraints like duration, them do not take into account eventual competency dependencies
distance, closed roads, traffic jams, etc....Drivers can focus among learning objects and/or are not designed for large
exclusively on their driving limiting risks of accidents, stress, and repositories of interdependent learning objects1.
losing their way.
Therefore, we detailed in [7] a dynamic graph based model and a
To some extent, the learning path followed by a student could be heuristic approach tailored to find a learning path in a graph
seen as an itinerary between several learning objects [9]. In this containing millions of learning object nodes.
context, constraints on learning objects are not distance or time
duration to go from one learning object to the other but rather This paper is an extension of this previous work and summarizes
prerequisite and gained competencies. As a result the itinerary or the model, the heuristic presented in [7], and proposes a major
path between learning objects is regulated by competency optimization to calculate a global optimum learning path. In the
dependencies that lead a learner from an initial to a targeted previous work [7], we applied a greedy heuristic algorithm to
obtain a pseudo-optimal learning path from a set of cliques.
Greedy heuristics are efficient, but they sometimes get stuck in a
local solution and fail to find a global optimum [26]. They are
based on an intimate knowledge of the problem structure and have
no scope of incremental improvement.
1
A more complete discussion can be found in [7].
Therefore, in this work we slightly reformulate our model in order is a set of competencies offered by vertex v
to fit as an integer programming problem and we propose an exact
method based on the branch-and-bound algorithm. The relationship between learning objects and competencies is
multidimensional [6]: a learning object can require several
2. PROBLEM CONSIDERED competencies and transmit more than one competency to the
In order to facilitate the understanding of the presented model, learner as well. The existence of an edge between two learning
several key elements and assumptions need to be clearly defined. objects u and v can be formalized by the following formula:
A competency can be seen as a knowledge component being part ( ) ( ) { }
of a “model that decomposes learning into individual knowledge
( )
components (KCs)” [16]. In this paper, a competency is “an
observable or measurable ability of an actor to perform a where ( ) ( ) means that the competencies required
necessary action(s) in given context(s) to achieve a specific by v are provided by learning object u. Condition 1 is sufficient
outcome(s)” [12]. A competency in our situation can be a but not necessary. For example, before having completed u, the
prerequisite to the efficient completion of a learning object. learner might already have some or the totality of the
According to Wiley [25], a learning object is “any digital resource competencies required by v. This means that we may have an arc
that can be reused to support learning”. In the rest of the paper we between u and v even though none the competencies required by v
define the learning object as any digital resource that can be are provided by u. In other words, edge set also depends on the
reused to provide a competency gain. learner’s competency set at time t: ( ( )) and
A learner is a dynamic user interacting with learning objects in () { } where are competencies which
order to increase his/her competencies from an initial set to a the learner possesses. As a result, graph G is a dynamic directed
targeted set of competencies. We assume that a learner completing graph and condition 1 can be strengthened by the necessary and
a learning object will gain the competencies targeted to be sufficient condition 2:
transmitted by the interaction with the learning object. We also { } ( ) ( ) ( )
assume that a learner who would not possess the prerequisite set
of competencies required by a learning object should not attempt ( )
this learning object since this would result in a limited
competency gain. 2.2 Model Dynamicity
The dynamicity of our model is due to the fact that a learning
Last but not least, we assume that the number of learning objects object can bring competencies that could be among the
available is very large (millions to billions of learning objects) and prerequisites of future learning objects.
that each learning object cannot provide the gain of a competency
that is a pre-requisite to itself.
2.1 Graph Theory Contribution
Graph theory aims at studying mathematical structures composed
of elements having relationships or connection between them. The
use of directed graphs is not a novelty in e-learning systems [1, 3,
24, 25]; however, we were unable to find a formal model for
discussing learning path problems based on graph theory,
especially one taking into account the dynamic nature of a
learning environment.
A directed graph, or digraph, G = (V, E) consists of:
A non-empty finite set V of elements called vertices or
nodes, Figure 1. Edge dynamicity.
A finite set E of distinct ordered pairs of vertices called
arcs, directed edges, or arrows. For example, as shown in Figure 1, a learning object D could be
Let G = (V, E) be a directed graph for a personalized learning accessible to a learner if he has acquired the competencies c1 and
path. Each vertex or node in G corresponds to a learning object. c2. Assuming that competency c1 is provided by learning objects
Two vertices are connected if there exists a dependency relation, A and C and competency c2 is provided by learning objects B and
such that one vertex satisfies the prerequisites of the other. So, C; D is reachable if learning objects A and B are completed or if
each edge between two vertices { } means that the learning learning object C is completed. If a learner completes learning
object is accessible from . The accessibility property required object A at time t and learning object B at time t+1, the learner
to define edges between vertices relies on post and pre-requisite will have the competencies required to reach D and according to
competencies associated to each learning object. the condition 2, a new edge between B and D will be created (red
Considering { }, this edge means that after having edge on Figure 1).
completed the learning object u, the learner should have the
required competencies to undertake resource v. By extension, each
3. INVESTIGATED SOLUTION
vertex v is represented by a pair ( , ) where: 3.1 Reducing the solution space
Eliminating irrelevant learning objects is generally the first step of
is a set of the competencies required by vertex v a course generation tool [1, 15]. In our case, as the learning object
repository is supposed to be very large, the learning objects
cannot all be checked individually. The approach we chose
consists in reducing the considered solution space by obtaining an
induced subgraph H which consists of all the vertices and edges
between the vertices in G that could be used in the learning path.
The algorithm can be seen as a loop generating complete sub-
graphs, or cliques, until one such clique is generated whose
prerequisites are a subset of the learner’s competencies. Cliques
are generated in a top-down fashion where we begin with the
target clique, which is composed of a single learning object (we
create a fictitious learning object, β, whose prerequisite
competencies correspond to the list of the learner’s target
competencies). Cliques are then generated by finding every vertex
where at least one output competency is found in the prerequisite Figure 3. G’ consists of connected cliques.
competencies of the clique (the union of all prerequisite
competencies of every learning object within the clique) to which
it is prerequisite. As such, cliques contain the largest possible As shown in Figure 3, G’, consisting of the vertices E of sets
subset of vertices which satisfies the condition “if every learning v1,…,vn, is an induced sub-graph of G. If the learner has
object in the clique is completed, then every learning object in the completed all the vertices of vi, he/she will have access to all the
following clique is accessible”. We simplify the stopping vertices of vi+1, thus all subsets of vertices of vi can be considered
condition by adding a second fictitious object, α, into the dataset to be a clique.
with no prerequisite competencies and with the learner’s current
competencies as its output competencies. If a clique contains this In addition to reducing the solution space, clique generation is
object, the stopping condition is true. also an efficient way to check whether a solution learning path
exists between α and β. If the algorithm is not able to generate
β6 cliques linking α and β, there is no need to proceed forward with
an algorithm aiming at finding one of the possible solutions.
v1 A65 E63,5 ↑ 6
3.2 Greedy Algorithm
v2 3,2,4 5 ↑ 3,5 Once the induced sub-graph is obtained, we use a greedy
T 7 U0
algorithm that searches for a local optimum within each clique.
v3 ↑ 0, 7 The definition of such a local optimum, depending on the dataset
L0,78,9 I79 K08 and the results pursued, has to follow a specific heuristic or
strategy.
Α8,9 ↑ 8, 9 The shortest path strategy seems to be widely accepted in the
literature [1, 27]. This strategy is not necessarily the best to adopt
α: Fictitious LO with initial learner competency state in any situation since the proposed learning path might lead to the
β: Fictitious LO with targeted learner competency state learning of non–essential competencies and potentially cognitive
overloads. For example a learning object could lead to
LO list of gained competencies LO list of prerequisite competencies competency gains that would not be required to reach the targeted
Figure 2. Induced sub-graph generation. learner competency state; there is no need to understand the proof
of the Landau Damping to learn about the history of theoretical
physics. Considering a learning object presenting an introduction
to the perturbation theory and a second one introducing the theory
Considering the target competency β as shown in Figure 2, all the
and the proof of the Landau Dumping, it might make sense to
vertices leading to those competencies (competency 6 in Figure 2)
choose the first one in order to minimize the cognitive load to the
are selected in a set v1, then the learning objects leading to the
learner. Some might argue that using such “straight to the point”
prerequisites of set v1 (competencies 3 and 5) are selected from
heuristic might limit too drastically the natural curiosity of the
graph G to create the set v2. This mechanism continues until the
learner. As any heuristic, we agree that it is discussable but this is
prerequisite competencies of the set vn are all competencies which
not the purpose of this paper.
the learner has already acquired.
The greedy algorithm considered attempts to find a path by
considering each clique one after the other and reducing it to a
minimal subset of itself which still verifies the condition “if every
learning object in the clique is completed, then every learning
object in the following clique is accessible”.
β6 Considering our example (Example 1):
{ }
v1 A65 E63,5 ↑ 6 { }
v2 T3,2,47 U50 ↑ 3,5 { }
v3 L0,78,9 I79 K08 ↑ 0,7
Α8,9 ↑ 8, 9
α: Fictitious LO with initial learner competency state
β: Fictitious LO with targeted learner competency state
LO list of gained competencies LO list of prerequisite competencies ( )
Figure 4. Illustration of the greedy algorithm execution
The first clique considered will be the one leading to the targeted
competencies (the clique satisfying the prerequisites of β). In the
case of the three cliques v1 to v3 as illustrated by Figure 3, v1 will
be considered first followed by v2 then by v3.
( )
For each clique, the local optimum is considered obtained when
the minimum subset of vertices with a minimum “degree”, being
the sum of the number of prerequisite competencies and output
competencies of the vertex, are found. In other words, the greedy
algorithm select in each clique a set of learning objects
minimizing the number of competencies required and gained in
order to locally limit the cognitive load of the selected material.
The greedy algorithm locally optimizes a function called “deg”
(for degree) detailed in the following section.
For clique v1, the selected learning object is A since its number of ( )
prerequisites is smaller than that of E while they share the same
competency gain. As A has been chosen in v1, only the objects in From this example the solution sequence using the greedy
v2 respecting the new v1’s prerequisites is chosen. As a result, the algorithm is .
algorithm chooses U in v2. In v3, K and L lead to v2’s prerequisite
but K requires fewer prerequisites than L, therefore K is selected To check if we get an optimal solution or not, we have to calculate
and the proposed learning path is . the objective function called deg. The objective function
returns the total number of prerequisite and gained competencies
4. OPTIMIZATION of a set of learning objects.
In this section we present our mathematical model for learning We can draw from the previous example the following conditions
path discovery and then we introduce the algorithm for solving to check if we have an optimal solution or not.
our mathematical model.
Let { } a solution set ( contains at least one
After eliminating irrelevant learning objects in the first step, we learning object as in example 3).
generate the optimal solution from the obtained induced sub-graph
as presented in Figure 4. For this purpose, we applied in [7] a ()
greedy algorithm to obtain an optimal or pseudo-optimal learning ( )
path from a set of cliques. Greedy heuristics are computationally
efficient, but they sometimes fail to find a global optimum as we
explain in the following section. ( { }) ∑ ∑( ) ( )
4.1 Notation and limits of the Greedy
heuristic
Let , , the matrices representing the distribution of
the competencies that are prerequisite to the items contained ( { }) ( { })
in the cliques, the competencies that are gained when the n ( )
items of the cliques are performed, and the clique distribution of
Condition ( ) and ( ) mean that the competencies required by a
the n items. Note that the matrix could be considered as a Q- clique set have to be covered by the gains of the previous clique
Matrix [5]. set and two different clique sets cannot share the same clique.
While condition ( ) defines the deg function, condition ( )
introduces the optimality condition. A learning path is optimal if
no other path with a lower degree exists. However this doesn’t 4.2 Formulating the integer programming
apply at the clique level since the optimal is not necessary the
set of clique having the lowest degree. The global optimum is
problem
not the sum of the local optima calculated by the greedy Let us consider n items or learning objects and m competencies;
algorithm. is the matrix representing m prerequisite competencies for
the n items and is the matrix representing the
The following example highlights this case where local optima competencies that are gained when the n items are performed. In
obtained by the greedy algorithm lead to non-optimal solution. other words, if = 1 means that the item i has competency j as
Example 2: one of its prerequisite competencies; and = 1, means that the
β6 competency is gained when the item is performed. The
personalized learning path may then be formulated as a binary
v1 M65 N6,74 ↑ 6 integer programming (BIP) as follows:
Minimize:
v2 5
O 3,4 P 84 ↑ 4,5
∑ (∑( ) ) ( ) ( )
v3 8 3.4 ↑ 3, 4, 8
T7 R 7
Subject to:
α7 ↑ 7
(∑ ) ( )
( ) { }
( )
The solution obtained by the greedy algorithm is X = {xi, i=1,...,n}, are the decision variables such that:
and the associated value of the objective function
deg ( ) is equal to 10. As the algorithm starts from , it chooses { ( )
in each clique the learning object with the lowest degree which is
and keeps going until it reaches .
The path is an alternative that the We suppose that x1 = 1 and xn = 1, knowing that:
algorithm did not find. It’s even a better alternative since
( ) ( ) and the optimal solution.
The following example highlights another case where local
optima obtained by the greedy algorithm lead to a non-optimum
solution. In this example, two learning objects are selected in one The function (1) represents the total number of prerequisite and
of the generated cliques. gained competencies to be minimized. The constraints (2) states
Example 3: that if the item i has competency j as one of its prerequisite
competencies; the competency j should be gained from the items
β6 on the learning path (1,…, i-1). Our problem is to minimize the
objective function (1) subject to (2) and (3).
v1 M65 N6,74 ↑ 6
To find the optimal learning path we have to solve the BIP
problem with (n+m) constraints and n decision variables xi=1,…n
v2 ↑ 4,5
O53,9 P48 { }
Considering example 3, the prerequisite and gain matrices Q and
v3 ↑ 3, 9, 8 G can be written as follows:
T87 Y97, Z37
The competencies that are required by the items are represented
α7 ↑ 7 by the matrix Q (9x7).
( )
The objective function of the path ( ) is 9,
which means that the path ( ) is the optimal
solution.
In the following section, we use the notation introduced here to
propose a mathematical formulation of our learning path
optimization problem as an integer programming problem.
( )
The competencies that are gained by the items are represented by structure the enumeration procedure so that only a tiny fraction of
the matrix G (9x7). feasible solutions need to be explored.
A well-known approach called branch-and-bound technique
(B&B) provides such a procedure. B&B traces back to the 1960s’
and the work of Land and Doig [14]. Since then, B&B algorithms
have been applied with success to a variety of operations research
problems. B&B is a divide and conquer method. It divides a large
problem into a few smaller ones (This is the “Branch” part). The
conquering part estimates the goodness of the solution that is
obtained from each of the sub-problems; the problem is divided
until solvable sub-problems are obtained (this is the “bound”
part).
( )
For the bounding part we use a linear programming relaxation to
estimate the optimal solution [26]. For an integer programming
The BIP formulation of example 3 is given as follows: model P; the linear programming model obtained by dropping the
requirement that “all variables must be integers” is called the
Minimize :
linear programming relaxation of P.
deg (X) = x1+2x2+2x3+2x4+3x5+2x6+2x7+3x8+x9
Subject to:
x2 - x1
x3 - x1
x4 - x1
x5 - x3
x5 - x4
x6 - x2
x7 - x5
x8 - x6
x9 – x7- x8
{ }
x1 is the fictitious learning object α with initial learner Figure 5. Branch and bound algorithm that traverses the tree
competency state. by solving BIPs at every node of the tree.
x9 is the fictitious learning object with targeted learner
competency state. The general approach of a BIP B&B algorithm [26] is presented
in the following steps (see also Figure 5):
Since x1 = x9 = 1, then our BIP becomes:
Initialization: Set deg* = + ∞.
Minimize :
The initial step represents the root node of the B&B search tree.
deg (X) = 2x2+2x3+2x4+3x5+2x6+2x7 +3x8
The root node corresponds to the continuous relaxation of the
Subject to: BIP(0≤ X ≤1), the solution value provides lower bound.
x5 - x3 Apply the bounding step, fathoming step, and optimality test
x5 - x4 described below. If not fathomed, classify this problem as the one
remaining “subproblems” for performing the first full iteration
x6 - x2 below.
x7 - x5 Steps for each iteration:
x8 - x6 1. Branching: Among the remaining (unfathomed)
- x7 - x8 subproblems, select the one that was created most
recently (break ties by selecting the subproblem with the
{ }
larger bound). Branch from the node for this
4.3 The Branch-and-Bound (B&B) method subproblem to create two new subproblems by fixing
the next variable (the branching variable) at either 0 or 1
for solving the BIP problem (see Figure 5).
Since the BIP problem is bounded, it has only a finite number of 2. Bounding For each new subproblem, obtain its bound
feasible solutions. It is then natural to consider using an by applying the simplex method to its LP-relaxation and
enumeration procedure to find an optimal solution. However, in rounding down the value of deg for the resulting
the case of large learning object repositories (millions of items), optimal solution.
an enumeration procedure might be ill adapted (even after 3. Fathoming (Pruning rules): The pruning rules for B&B
reducing the solution space); therefore, it is imperative to cleverly BIP are based on optimality and feasibility of BIP. For
each new sub-problem, apply the fathoming tests and on the dataset topology (average number of gain and prerequisite
discard those sub-problems that are fathomed by any of competencies per learning object). The solution space may remain
the tests. large after the reduction
Optimality test: Stop when there are no remaining sub-problems: Therefore, to deal with very large problems, we will implement a
variant of the B&B algorithm such as Branch & Cut [2] or Branch
The current incumbent is optimal,
& Price [4]. Applegate et al. [2] showed how Branch & Cut could
Otherwise, return to perform another iteration.
get a global optimal for extremely large binary optimization
A sub-problem is fathomed (dismissed from further consideration) problems. It will be then interesting to measure both in terms of
if it verifies one of the following tests: computational time and accuracy how the greedy search compares
1. The relaxation of the sub-problem has an optimal to the B&B-like approach.
solution with deg < deg where deg* is the current best
solution (The solution is dominated by upper bound);
6. ACKNOWLEDGMENTS
2. The relaxation of the sub-problem (LP-relaxation) has This work is part of the National Research Council of Canada’s
no feasible solution; Learning and Performance Support Systems (NRC LPSS)
3. The relaxation of the sub-problem has an optimal program. The LPSS program addresses training, development and
solution that has all binary values. (If this solution is performance support in all industry sectors, including education,
better than the incumbent, it becomes the new oil and gas, policing, military and medical devices.
incumbent, and test1 is reapplied to all unfathomed sub-
problems with the new larger deg*).
7. REFERENCES
[1] Alian, M. Jabri, R. 2009. A shortest adaptive learning path in
For example, the example 3 solved by B&B produces an optimal e-learning systems: Mathematical view, Journal of American
solution with deg* = 9 and x2=1, x6=1, x8=1 where the number of Science 5(6) (2009) 32-42.
nodes explored is 1 because the first LP-relaxation at node 1 gives
[2] Applegate, D., Bixby, R., Chvatal, V. and Cook, W. 1998.
an integer optimal solution with deg*=9 and the 3rd fathomed test
On The solution of traveling salesman problems, in: Proc.
is true, so we do not need to branch anymore.
Int. Congress of Mathematicians, Doc. Math. J. DMV, Vol.
Decision Variables x1 x2 x3 x4 x5 x6 x7 x8 x9 645.
LO α T Y Z O P M N [3] Atif, Y., Benlarmi, R., and Berri, J. 2003. Learning Objects
X* 1 1 0 0 0 1 0 1 1 Based Framework for Self-Adaptive Learning, Education
and Information Technologies, IFIP Journal, Kluwer
Figure 6. Solution of example 3in the B&B algorithm. Academic Publishers 8(4) (2003) 345-368.
[4] Bamhart, C, Johnson, E. L., Nemhauser, G. L., Savelsbergh,
M. W. P. and Vance, P. H. 1998. Branch-and-price: column
As illustrated in Figure 6, the optimal solution of the B&B generation for huge integer programs, Operations Research
algorithm is X*={1, 1, 0, 0, 0, 1, 0, 1, 1} and the optimal path is: 46:316.
.
[5] Barnes, T. 2005. The Q-matrix Method: Mining Student
5. CONCLUSION Response Data for Knowledge. Proceedings of the Workshop
The clique based approach is an asset since it offers an efficient on Educational Data Mining at the Annual Meeting of the
way to reduce the solution space and check the existence of a American Association for Artificial Intelligence.
solution. However, a greedy search within the cliques to find a [6] Carchiolo, V., Longheu, A., and Malgeri, M. 2010. Reliable
leaning path does not lead, in many cases, to the best learning path peers and useful resources: Searching for the best
according to the criteria considered. personalised learning path in a trust- and recommendation-
Binary integer programming is a well-known mathematical aware environment, Information Sciences 180(10) (2010)
optimization approach. While reformulating the conditions an 1893-1907.
optimal learning path should meet, we realised how we could [7] Durand, G., Belacel, N., and Laplante, F. 2013. Graph theory
benefit from expressing the constraints as a binary programming based model for learning path recommendation. Information
problem. Sciences. 251(10) (2013) 10-21.
Our preliminary implementation of the proposed optimization [8] Durand, G., Laplante, F. and Kop, R. 2011. A learning
using the bintprog function (MATLAB), a function based on the Design Recommendation System Based On Markov
branch- and-bound (B&B) algorithm, shows the accuracy of the Decision Processes, Proc. 17th ACM Conference on
proposed integer program model. Knowledge Discovery and Data Mining (SIGKDD)
In future work, we will apply the proposed binary integer model Workshop on Knowledge Discovery in Educational Data,
in order to build a learning design recommendation system in the San Diego, CA.
case where learning objects are stored in very large repositories. [9] Durand, G., Downes, S. 2009. Toward Simple Learning
Even though the B&B algorithm is highly accurate and somehow Design 2.0. In: 4th Int. Conf. on Computer Science
computationally efficient, it is not efficient enough to deal with &Education 2009, Nanning, China, 894-897.
very large size problem instances. In some cases, the bounding
step of B&B is not invoked, and the branch and bound algorithm [10] Godoy, D., Amandi, A. 2010. Link Recommendation in E-
can then generate a huge number of sub-problems. learning Systems based on Content-based Student Profiles,
In: Romero C., Ventura S., Pechenizkiy, M., Baker, R.
Moreover, as mentioned in [7], the efficiency of reducing the (Eds.), Handbook of Educational Data Mining, Data Mining
solution space with the cliques’ mechanism is highly dependent
and Knowledge Discovery Series, Chapman & Hall/CRC [20] Ullrich, C., Melis, E. 2010. Complex Course Generation
Press, 273-286. Adapted to Pedagogical Scenarios and its Evaluation,
[11] Huang, Y.M., Chen, J.N., Huang, T.C., Jeng, Y.L., and Kuo, Educational Technology & Society, 13 (2) (2010) 102–115.
Y.H. 2008. Standardized course generation process using [21] Ullrich, C., Melis, E. 2009. Pedagogically founded
Dynamic Fuzzy Petri Nets, Expert Systems with courseware generation based on HTN-planning, Expert
Applications, 34 (2008) 72-86. Systems with Applications 36(5) (2009) 9319-9332.
[12] ISO 24763/final version: Conceptual Reference Model for [22] Ullrich C. 2005. Course Generation Based on HTN Planning,
Competencies and Related Objects, 2011. Proc. 13th Annual Workshop of the SIG Adaptivity and User
[13] Karampiperis, P., Sampson, D. 2005.Adaptive learning Modeling in Interactive Systems, Saarbrucken, Germany,74-
resources sequencing in educational hypermedia systems. 79.
Educational Technology & Society 8 (4) (2005) 128-147. [23] Vassileva, J., Deters, R. 1998, Dynamic courseware
[14] Land, A. H., Doig, A. G. 1960. An automatic method of generation on the www, British Journal of Educational
solving discrete programming problems. Econometrica Technology, 29(1) (1998) 5–14.
28(3), 497–520. [24] Viet, A., Si, D.H. 2006. ACGs: Adaptive Course Generation
[15] Liu, J., Greer J. 2004. Individualized Selection of Learning System - An efficient approach to Build E-learning, Proc.
Object, In: Workshop on Applications of Semantic Web 6th IEEE International Conference on Computer and
Technologies for e-Learning, Maceió, Brazil. Information Technology, Jeju Island, Korea, 259-265.
[16] Pavlik, P. I. Jr., Presson, N., and Koedinger K. R. 2007. [25] Wiley, D.A. 2002. Connecting Learning Objects to
Optimizing knowledge component learning using a dynamic Instructional Design Theory: A Definition, a Metaphor, and a
structural model of practice, Proc. 8th International Taxonomy, In: The Instructional Use of Learning Objects,
Conference on Cognitive Modeling. Ann Arbor, MI. D. A. WILEY (Ed.), 3-23.
[17] Sicilia, M.-A., Sánchez-Alonso, S. and García-Barriocanal, [26] Winston, W.L., Venkataramanan, M. 2003. Operations
E. 2006. On supporting the process of learning design Research: Introduction to Mathematical Programming.
through planners, Proc. Virtual Campus Post-Selected and Thompson, 4th Edition.
Extended, 81–89. [27] Zhao, C., Wan, L. 2006. A Shortest Learning Path Selection
[18] Tang, T.Y., Mccalla, G.G. 2010. Data Mining for Contextual Algorithm in E-learning, Proc. 6th IEEE International
Educational Recommendation and Evaluation Strategies, In: Conference on Advanced Learning Technologies, Kerkrade,
Romero C., Ventura S., Pechenizkiy, M., Baker, R. (Eds.), The Netherlands, 94-95.
Handbook of Educational Data Mining, Data Mining and [28] Zhou, M., Xu, Y., Nesbit, J.C. and Winne, P.H. 2010.
Knowledge Discovery Series, Chapman & Hall/CRC Press, Sequential pattern analysis of learning logs: Methodology
Chapter 18,257-271. and applications, In: Romero C., Ventura S., Pechenizkiy,
[19] Trcka, N., Pechenizkiy, M. and Van-Deraalst, W. 2010. M., Baker, R. (Eds.), Handbook of Educational Data Mining,
Process Mining from Educational Data, In: Romero C., Data Mining and Knowledge Discovery Series, Chapman &
Ventura S., Pechenizkiy, M., Baker, R. (Eds.), Handbook of Hall/CRC Press, Chapter 8, 107-120.
Educational Data Mining, Data Mining and Knowledge
Discovery Series, Chapman & Hall/CRC Press, Chapter 9,
123-141.