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