Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Hindawi Publishing CorporationMathematical Problems in EngineeringVolume 2013 Article ID 793671 8 pageshttpdxdoiorg1011552013793671
Research ArticleSolving the Balanced Academic Curriculum Problem Usingthe ACO Metaheuristic
Joseacute-Miguel Rubio12 Wenceslao Palma1 Nibaldo Rodriguez1 Ricardo Soto13
Broderick Crawford14 Fernando Paredes5 and Guillermo Cabrera16
1 Escuela de Ingenierıa Informatica Pontificia Universidad Catolica de Valparaıso 2362807 Valparaıso Chile2 Departamento de Computacion e Informatica Universidad de Playa Ancha 2360002 Valparaıso Chile3 Universidad Autonoma de Chile 7500138 Santiago Chile4Universidad Finis Terrae 7501015 Santiago Chile5 Escuela de Ingenierıa Industrial Universidad Diego Portales 8370109 Santiago Chile6Department of Engineering Science University of Auckland Auckland 1020 New Zealand
Correspondence should be addressed to Jose-Miguel Rubio joserubiolucvcl
Received 4 May 2013 Revised 3 November 2013 Accepted 4 November 2013
Academic Editor Yudong Zhang
Copyright copy 2013 Jose-Miguel Rubio et al This is an open access article distributed under the Creative Commons AttributionLicense which permits unrestricted use distribution and reproduction in any medium provided the original work is properlycited
The balanced academic curriculum problem consists in the assignation of courses to academic periods satisfying all the load limitsand prerequisite constraints In this paper we present the design of a solution to the balanced academic curriculum problem basedon the ACO metaheuristic in particular via the Best-Worst Ant System We provide an experimental evaluation which illustratesthe effectiveness of the proposed approach on a set of classic benchmarks as well as on real instances
1 Introduction
Thebalanced academic curriculum problem (BACP) consistsin assigning courses to teaching periods satisfying prereq-uisites and balancing studentsrsquo load in terms of credits andnumber of courses [1]The BACP planning horizon is dividedinto academic years and each academic year is divided intoterms Each term of a year is a teaching period in whichcourses can take place The problem consists in finding anassignment of courses to periods that satisfies certain loadlimits and prerequisites
The BACP is strongly NP-complete as shown in [1]Moreover BACP is an interesting problem because it is at theboundary of several classes of problems such as bin packingscheduling and balancing [2] For instance prerequisiteconstraints make BACP look like a scheduling problem Aunique resource (the student) is balanced considering unit-time (periods) activities (courses) and temporal constraints(prerequisites)
The original formulation of BACP was proposed in [3]and was included as a benchmark called prob030 in CSPLib
The BACP has been tackled using constraint programming(CP) [2] integer linear programming (ILP) [4 5] hybridtechniques based on genetic algorithms and constraint prop-agation [6 7] integer programming (IP) and hybrid localsearch methods [1] In [2] a CP approach is proposed wherean ad hoc branching heuristic is used in order to guidethe search towards balanced solutions improving the first-fail heuristic In [4] ILP and CP are integrated in orderto bound and guide the search and to reduce the searchspace respectively Moreover the experimental evaluationshows that this integration decreases the run-time on manyinstances Approaches based on ILP and CP techniquesare proposed separately in [5] obtaining successful resultson real instances The benefits of hybridization have beenshown in [6 7] where a hybrid framework including geneticalgorithms and constraint propagation is proposed and testedsuccessfully In [1] IP can reach good results in somecases using the basic formulation combined with a problemdecomposition and relaxation In the other cases local searchsolvers are designed using the concept of generalized localSearchMachines where different machines that combine Hill
2 Mathematical Problems in Engineering
Climbing Simulated Annealing and Dynamic Tabu Searchare used in order to improve the results returned by IP
In this paper we solve the BACP using the ant colonyoptimization (ACO) metaheuristic [8] model called Best-Worst Ant System (BWAS) [9 10] To the best of ourknowledge this work is the first one tackling the BACP viathe BWAS BWAS integrates concepts from the evolutionarycomputing field allowing a good balance between explorationand exploitation of the search space provided by a mutationof the pheromone matrix and a pheromone updating mech-anism respectively Additionally a restart process avoidsthe algorithm getting stuck and performing unnecessaryiterations
Recent work shows that the balancing criterion is inter-esting not only for university timetabling but also for otherscheduling applications such as the allocation of workload toemployees or in that specific example to nursesWehope thatthe models and the techniques discussed in this work maycontribute to further research in this context
The rest of this paper is organized as follows In Section 2we introduce the BACP In Section 3 we describe the designof our solution In Section 4 we provide an experimentalevaluation of our solution on benchmark and real instancesSection 5 concludes the paper and gives some direction forfurther work
2 The BACP Formulation
In this section we present the BACP formulation given in[1] The curriculum consists of entities which must satisfyacademic and administrative constraints
(i) Courses An academic curriculum is denoted by a setof courses and a set of prerequisites related to theseLet 119862 be the set of courses to be taught during theplanning horizon of a university degree Each course119888 isin 119862 gives a number of credits cr isin 119885
+
(ii) Periods The planning horizon is divided into aca-demic years and each academic year is divided intoterms Each term is a teaching period in whichcourses can take place Let 119875 be the set of teachingperiods uniquely identified by the correspondingyear and term For example a three-year degreeorganized in four terms per year has 12 periods thatis 119875 = 1 sdot sdot sdot 12 and the first terms of each year are1 5 9
(iii) Load Limits A minimum and a maximum numberof courses denoted by 119898 and 119872 respectively can beassigned to each term
(iv) Prerequisites Based on their content some courseshave prerequisites that is a set of courses that the stu-dentsmust attend earlier Prerequisites are formalizedby a precedence graph that is a directed acyclic graph119863 = (119881119860) Each vertex 119894 isin 119881 represents a course andeach arc (119894 119895) isin 119860 represents a precedence relationstating that the course 119894 is a prerequisite of course 119895If course 119894 is a prerequisite of course 119895 then it has to
Initial
C1
C2
Cc
P1 P2Pp
End
Figure 1 Construction graph
be assigned to a teaching period that strictly precedesthe one assigned to course 119895
(v) Equal Distribution of Load The distribution of creditsamong the teaching periodsmust be balanced Ideallyeach term should have the same number of credits
3 Tackling the BACP Usingthe ACO Metaheuristic
In this section we describe our approach to tackle the BACPusing an ACO model called Best-Worst Ant System (BWAS)[10] BWAS has three main components
(i) A Best-Worst Pheromone Trail Update Rule This rulereinforces the edges contained in good solutions andpenalizes all the edges contained in the current worstsolution
(ii) Pheromone Trail Mutation The pheromone trailsare mutated with a certain probability in order tointroduce diversity in the search process Pheromonetrails are mutated by adding or subtracting the sameamount of pheromone
(iii) Restart of the Search Process When pheromone trailsrelated to the edges belonging to the best solutions arevery high and the remaining ones are close to zero(stagnation phase) the pheromonematrix is set to theinitial pheromone value
In the rest of this section we describe the graph thatrepresents the assignment of courses to periods and we detailthe algorithm of our proposal based on the description of theaforementioned main issues
31 Construction Graph The graph that represents theassignment of the courses to determined periods follows aparticular behaviour compared with a TSP In this case thegraph must have |119862| times |119875| nodes where 119862 is the total amountof courses and 119875 is the total amount of periods
Figure 1 shows the graph used to represent the assignmentof courses to teaching periods For each course the ant mustchoose a period from the initial node to the end nodeThus horizontally the ant can pass in one node only Thisis because one course is assigned to one period but a periodcan be assigned tomany courses However the representationof the graph in the implementation is given by a vector
Mathematical Problems in Engineering 3
1 1 2 2 2 3 8
Period 2
middot middot middot
C1 C2 Cc
Figure 2 Representation of the graph using a vector
representation as we show in Figure 2 The length of thevector is equal to the number of courses of the curriculumand each position represents the value of the period assignedto that course Following the example of Figure 2 period 1 isassigned to course 1 period 1 is assigned to course 2 and soon until the course 119862
To determine the period assigned to each course atransition rule which guides the ants in the construction oftheir solutions is used It has two elements the pheromonetrace and the heuristic informationThe transition rule is thefollowing
119875 (119888 119901119894) =
[120591(119888119901119894)
]120572
[120578(119888119901119894)
]120573
sum119906isin119875
([120591(119888119901119906)
]120572
[120578(119888119901119906)
]120573
)
(1)
32 The BWAS Algorithm In this section we give the detailsof the proposed algorithm to tackle the BACP using BWASThus we focus on how to represent courses and periods howto updatemutate pheromone trails and how to restart thesearch process when it gets stuckThese are themain issues tosolve the BACP using BWAS The details are in Algorithm 1
The ants deposit pheromone traces when they build asolution to help guide the rest of the colony In our approachthe pheromone matrix stores the load of pheromonein a certain node instead of showing the quantity ofpheromones associated to an edge between two nodes Let119879[1 sdot sdot sdot 119862 1 sdot sdot sdot 119875] be the pheromonematrix where 120591
119894119895(1 le 119894 le
119862 1 le 119895 le 119875) is an element of 119879 representing the pheromonetrace deposited by an ant when the course 119894 is assignedto period 119895 To initialize the pheromone matrix an initialsolution which only satisfies the prerequisite constraint iscalculated Once this initial solution is obtained we calculatethe pheromone trail using the quality 119876 (119878
119896) of the obtained
solution The quality of a solution is calculated with respectto maximum load assigned to the academic periods using thefollowing expression
119876 (Sol) = 1
Max 1198881 1198882 119888
119901
(2)
One of themain differences between natural and artificialants is that the artificial ants use the pheromone trails andalso information named heuristic information denoted by120578(119888 119901119894) which measures the preference of moving from one
node to another [1] In static problems this value does notchange but in the BACP it is required to be changed in
(1) 120591119900larr InitialSolution(119868)
(2) initializePheromoneTrails(120591119900)
(3) while (term criterion not satisfied) do(4) for 119894 = 1 to 119896 do(5) for 119895 = 1 to numCourses do(6) periodlarr transitionRule(119895)(7) assignCourse(119895 period)(8) end for(9) deposition(119876(119878
119894))
(10) end for(11) evaporation()(12) currentBestlarr selectBestSolutionIt(119860
119896)
(13) localSearch(currentBest)(14) if (best(currentBest globalBest)) then(15) globalBestlarr currentBest(16) end if(17) depositBestAnt(globalBest)(18) currentWorstlarr selectWorstSolution(119860
119896)
(19) evaporateWorstAnt(currentWorst)(20) mutation()(21) if (stagnationcondition) then(22) reinitializePheromoneTrails()(23) end if(24) end while
Algorithm 1 Bwas bacp (instance 119868 a BACP instance)
order to give more information to the transition rule Thuswe defined a function that allows evaluating the amount ofviolations generated when an assignment is made
120578 (119888 119901119894) =
1
1 + V119889(119888 119901119894) minus V119886(119888 119901119894) (3)
where V119889(119888 119901119894) determines the number of violations gen-
erated when the course 119888 is assigned to period 119901119894and
V119886(119888 119901119894) determines the number of violations before this
assignment Thus this equation can determine how manyconflicts are generated because of the assignment If there arenew violations the heuristic information and the probabilityof choosing that period become smallerThis expression has asingularity when V
119889= 1 and V
119886= 2 This situation shows that
the number of violated constraints decreases and the nodeshould be more preferable Thus we set V
119886= 1
There are two ways to update the pheromone trails in thepheromone matrix [10]
(i) Deposition It depends on the quality of the generatedsolution This update process (see (4)) is performedby all the ants Additionally the ant which generatesthe best solution performs this action in order toreinforce the pheromone trail
120591119894119895larr997888 120591119894119895+ 119891 (119876 (119878
119896)) (4)
(ii) Evaporation After the construction of the solutionevaporation (see (5)) is performed in all the nodes
4 Mathematical Problems in Engineering
of the pheromone matrix using the evaporation con-stant 120588 Additionally in order to penalize the nodesbelonging to the worst solution are evaporated
120591119894119895larr997888 120591119894119895sdot (1 minus 120588) (5)
The uniqueness of the BWAS is that which includes threedaemon actions being the Best-Worst update rule responsi-ble for the two first ones (1) The best ant is selected and anextra deposit is made according to the quality of the solution(2) The worst ant is selected and evaporation is made onthe nodes that have been traversed by this ant note thatevaporation is made only if the best ant has not traversedthose nodes (3) The third action is the mutation whichbrings diversity to the search space adding or subtractingpheromone trace to certain nodes
mut (it 120591threshold) =it minus it119903
Nit minus it119903
sdot 120590 sdot 120591threshold (6)
where it is the actual iteration it119903is the last iteration when
a reset due to stagnation was performed Nit is the totalnumber of iterations and 120590 is the power of mutation [10]The threshold is calculated using the pheromone depositedin the best solution divided by the number of courses Withthis mutation operator we can add or subtract pheromonetrace to the pheromone matrix Finally in the case that thesearch stagnates a reset of the pheromone trails is performedin order to go back to the last global optimum thus the searchstarts from a good solution In this algorithm we perform areset if there is no change after 20 of the total number ofiterations In addition a local search is performed using thebest ant of the iteration This subprocess consists in selectingall the courses of the period with a bigger academic loadThen we select the period with the smaller academic loadand we try to reassign one course of the bigger period tothe smaller period To choose this course we first evaluatethat the course does not generate new violations Finally weevaluate this new solution and the last one and we keep thebetter one as actual best
4 Experimental Evaluation
Theproposed algorithmwas implemented using Java runningon a Windows PC with a 240GHz Intel Core 2 Duo T8300processor To test our approach we use CSPLib bench-mark instances and real instances To obtain the parameters(see Table 1) used in the experiments the proposed BWASalgorithm was run 30 times on the benchmark and realinstances and takes the values belonging to the best solutionsreported
41 Benchmark Instances We analysed three benchmarkinstances where the performance of the algorithm was mea-sured with good results with respect to speed of convergencequality of the solution and constraint satisfaction For eachinstance of the problem we performed 50 executions of thealgorithm achieving the following results First we analysedthe small instance of 8 periods (bacp8) This instance has 46
Table 1 Algorithm parameters
Parameter ValueIterations 1000Ants 8Evaporation coefficient 02120572 1120573 2Mutation probability 03Mutation power 05
74
22
4
Invalid
17 credits18 credits
Figure 3 Number of credits for a small instance
courses to be distributed in 8 academic periods In Figure 3we can see the results for bacp8 measured as a percentageconsidering 50 runs where 74 were able to find the optimalvalue In a smaller percentage (4) of cases the case was aninvalid solution In most cases our approach was able to findthe optimal value
The medium instance (bacp10) has 42 courses to beassigned to 10 periods so the maximum load is smaller thanbacp8 This means that the quality is better After 50 runs theresults are given in Figure 4 Again the optimal solution wasfound in the majority of the cases
The last instance is bacp12 in this case where thecomplexity is greater it has 66 courses to be assigned in 12academic periods In Figure 5 we can see that the algorithmfound four different values and between 18 and 19 credits
Of the 50 runs we took the top 10 (not taking into accountthe invalid ones) and we summarize the results for the threeinstances shown in each column name of the instance bestresult worst result average standard deviation and optimalvalue known for the problem [6]
Also to compare the times that the algorithmmanages tofind every quality of solution for each instance we consideredthe best and worst solutions Table 2 shows the differencebetween bacp12 and the other two instances where the
Mathematical Problems in Engineering 5
Table 2 Result for benchmark instances
Instance BWAS Best BWASWorst BWAS Average 120590 lp-solve Best lp-solve Worst OptimalBacp8 17 18 173 048 17 54 17Bacp10 14 15 142 042 24 48 14Bacp12 18 20 184 069 infin infin 18
58
33
9
Invalid
14 credits15 credits
Figure 4 Number of credits for a medium instance
42
40
2
16
Invalid18 credits19 credits
20 credits
Figure 5 Number of credits for a large instance
convergence time to the optimal solution is smaller in bacp8and bacp10 But we cannot guarantee that 18 credits is theoptimal solution in bacp12 but it is the best solution foundby the algorithm For the 12-period problem lp-solve [3] doesnot get any log after a ldquoturn-around-timerdquo of 1 day
In Figure 6 we show a graphic with the quality of the bestsolution found for each instance by iterationThe efficiency of
0
001
002
003
004
005
006
007
008
1 40 79 118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Qua
lity
Iteration
BACP8 BestBACP10 BestBACP12 Best
Figure 6 Efficiency of the algorithm (best solution)
0
001
002
003
004
005
006
007
1 41 81 121
161
201
241
281
321
361
401
441
481
521
561
601
641
681
721
761
801
841
881
921
961
Qua
lity
IterationBACP8 WorstBACP10 WorstBACP12 Worst
Figure 7 Efficiency of the algorithm (worst solution)
the algorithm is very high as it converges before the first 100iterations In this graphic the quality is measured using (3)In the case of the worst solutions no instances achieve theoptimum but they all converge quickly The exception wasbacp12 which takes time and moves away from the best valuefound evenmore than the other two instances (see Figure 7)
6 Mathematical Problems in Engineering
Table 3 Time (ms) for the best solution to obtain the optimum
Credits Bacp8 Bacp10 Bacp12 119876 (sol)20 811 mdash 3994 00519 mdash mdash 5438 005218 1045 1061 6368 005517 1248 1342 005816 1404 006215 1451 006614 1919 0071
Table 4 Time (ms) for the worst solution to obtain the optimum
Credits Bacp8 Bacp10 Bacp12 119876 (sol)20 1201 1502 23448 00519 1279 1532 005218 1840 mdash 005517 mdash 005816 1602 006215 2222 0066
In Tables 3 and 4 we can see in the first column themaximum amount of credits of the curricula designed by theBWAS algorithm The next three columns are the instancesand the last column is the quality of the solution calculatedusing (3) The hyphen means that the quality of the solutionwas skipped For example in Table 4 the bacp10 instancewent from a quality of 19 to a quality of 16 The emptyspaces mean that the solution did not reach that value Theperformance of lp-solve is very limited in contrast to theBWAS algorithm In the case of the 8-period problem theoptimum plan is obtained in 1460 seconds For the 10-periodproblem no result is obtained after 5 hours and the last resultwas logged before 1700 seconds (see additional details in [3])
In Figure 7 we show the worst solution found by theBWAS algorithm for solving the BACP measured by quality
42 Real Instances To test our proposal with real instancesthree benchmark files were created using the same for-mat used in the test instances The curriculums evaluatedare Informatics Engineering short program (8 periods)Informatics Engineering long program (12 periods) fromCatholic University of Valparaiso and Informatics Engi-neering medium program (10 periods) from Playa AnchaUniversity The academic plan of Informatics Engineering(short program INF) has 34 courses the complexity is lowerthan that of bacp8 because of the number of courses Table 5summarizes the results obtained (the optimal value is themaximum of the real curriculum for the career) for examplefrom 50 executions the algorithm found a better solutionthan the real curricula (20 credits) with a maximum amountof 18 credits (see Figure 8)
Also we evaluate the performance of the BWAS in thecurriculum of Informatics Engineering (long program) inthis instance the complexity is bigger than that of INF butlower than that of bacp12 It has 53 courses to be assigned to12 academic periods The results are shown in Figure 9
Table 5 Result for real instances
Instance Best Worst Average 120590 OptimalINF 18 18 18 0 20ICI 18 18 18 0 18UPLA 13 15 14 066 14
86
4
10
Invalid
18 credits19 credits
Figure 8 Number of credits for short real instance
86
2 12
Invalid
18 credits19 credits
Figure 9 Number of credits for long real instance
In this instance the effectiveness was maintained with86 of the runs but the number of invalid solutions increasesto 12 The last evaluation corresponds to the Playa AnchaUniversity instance (UPLA) where the optimal solution wasfound in only 20 of the iterations surpassing the 14 creditsof the official curriculumHowever the objective value was 14
Mathematical Problems in Engineering 7
20
58
12
28
Invalid13 credits14 credits15 credits
16 credits
Figure 10 Number of credits for medium real instance
Table 6 Time (ms) for the best solution to obtain the optimum inreal instances
Credits INF ICI UPLA 119876 (sol)20 594 3484 mdash 00519 mdash 3692 mdash 005218 976 4080 mdash 005517 mdash 005816 2993 006215 3078 006614 3392 0071
credits with 58 of the runs This curriculum has 49 coursesassigned in 10 semesters (see Figure 10) Again we took thetop 10 (regardless of the invalid solutions) from the 50 runsand summarized the results for the three instances
Now we are going to compare the time and iteration inwhich the algorithm finds the best and worst solutions InTable 6 we can see the time inmilliseconds that the algorithmtakes to reach the different solutions In the case of INF andICI the time is very low In the case of UPLA it takes a littlemore than 10 seconds to reach the optimal value
Figure 11 shows the quality of solution by iteration wherewe can see the speed of convergence
In the case of the worst solutions (see Table 7) INF andICI reach the optimum but this time takes more seconds Inthe case of UPLA this instance did not reach the optimumbut it takes less seconds
In Figure 12 they see theworst solutions take a longer timeto converge that this is because the optimum value for theICI and INF instances has the majority of the percentageFor UPLA the optimum is 13 credits but the most repeatedsolution corresponds to 14 credits which explains why theworst solution takes a longer time to converge However the
0
001
002
003
004
005
006
007
008
009
1 39 77 115
153
191
229
267
305
343
381
419
457
495
533
571
609
647
685
723
761
799
837
875
913
951
989
Qua
lity
IterationBest INFBest UPLABest ICI
Figure 11 Efficiency of the algorithm in real instances (bestsolution)
Table 7 Time (ms) for the worst solution to obtain the optimum inreal instances
Credits INF ICI UPLA 119876 (sol)20 3143 3969 mdash 00519 3527 16671 mdash 005218 8928 17274 mdash 005517 3574 005816 3682 006215 3864 006620 3143 3969 mdash 005
worst solution found by the algorithm has 15 credits for thisinstance
5 Conclusions
In this work we proposed an algorithm to solve the balancedacademic curriculum problem using the ACOmetaheuristicThe experimental evaluation shows the effectiveness of artifi-cial ants solving constraint satisfaction problems All the testsshow that the margin of error is much smaller than the validsolutions delivered For benchmark instances the quality ofthe solution was satisfactory and the optimal values of eachinstance were reached in the majority of the cases In thereal instances the results were also positive In 2 instances(INF and UPLA) the results were better than in the officialcurricula and in the ICI results they were equal than in theofficial curricula Moreover the number of iterations to reachthe optimum was lowTherefore the BWAS algorithm is ableto satisfy all constraints of the problem in most cases Thuswe state that our proposal is a fairly reliable alternative tosolve the BACP For future work we plan to tackle morecomplicated versions of BACP as was proposed in [1]
8 Mathematical Problems in Engineering
0
001
002
003
004
005
006
0071 40 79 118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Qua
lity
Iteration
Worst INFWorst UPLAWorst ICI
Figure 12 Efficiency of the algorithm in real instances (worstsolution)
Acknowledgments
Nibaldo Rodriguez is supported by Grant CONICYTFONDECYTRegular 1131105 and Ricardo Soto is supportedby Grant CONICYTFONDECYTIniciacion 11130459
References
[1] M Chiarandini L D Gaspero S Gualandi and A SchaerfldquoThe balanced academic curriculum problem revisitedrdquo Journalof Heuristics vol 18 no 1 pp 119ndash148 2012
[2] J N Monette P Schaus S Zampelli Y Deville and P DupontldquoA cp approach to the balanced academic curriculum problemrdquoin Proceedings of the 7th International Workshop on Symmetryand Constraint Satisfaction Problems 2007
[3] C Castro and S Manzano ldquoVariable and value ordering whensolving balanced academic curriculum problemsrdquo in Proceed-ings of the 6thWorkshop of the ERCIMWG on Constraints June2001
[4] B Hnich Z Kiziltan and T Walsh ldquoModelling a balancedacademic curriculumproblemrdquo in Proceedings of the CP-AI-OR2002
[5] C Castro B Crawford and E Monfroy ldquoA quantitativeapproach for the design of academic curriculardquo in HumanInterface and the Management of Information Interacting inInformation Environments vol 4558 of Lecture Notes in Com-puter Science pp 279ndash288 2007
[6] T Lambert C Castro E Monfroy M C Riff and F SaubionldquoHybridization of genetic algorithms and constraint propaga-tion for the BACPrdquo in Proceedings of the 21st InternationalConference on Logic Programming (ICLP rsquo05) pp 421ndash423October 2005
[7] T Lambert C Castro E Monfroy and F Saubion ldquoSolving thebalanced academic curriculum problem with an hybridizationof genetic algorithm and constraint propagationrdquo in ArtificialIntelligence and Soft ComputingmdashICAISC 2006 vol 4029 ofLecture Notes in Computer Science pp 410ndash419 2006
[8] M Dorigo and C Blum ldquoAnt colony optimization theory asurveyrdquoTheoretical Computer Science vol 344 no 2-3 pp 243ndash278 2005
[9] O Cordon I F de Viana and F Herrera ldquoAnalysis of the best-worst ant system and its variants on the qaprdquo in Ant Algorithmspp 228ndash234 2002
[10] O Cordon I F de Viana F Herrera and L Moreno ldquoA newaco model integrating evolutionary computation concepts thebest-worst ant systemrdquo in Ant Algorithms 2000
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
2 Mathematical Problems in Engineering
Climbing Simulated Annealing and Dynamic Tabu Searchare used in order to improve the results returned by IP
In this paper we solve the BACP using the ant colonyoptimization (ACO) metaheuristic [8] model called Best-Worst Ant System (BWAS) [9 10] To the best of ourknowledge this work is the first one tackling the BACP viathe BWAS BWAS integrates concepts from the evolutionarycomputing field allowing a good balance between explorationand exploitation of the search space provided by a mutationof the pheromone matrix and a pheromone updating mech-anism respectively Additionally a restart process avoidsthe algorithm getting stuck and performing unnecessaryiterations
Recent work shows that the balancing criterion is inter-esting not only for university timetabling but also for otherscheduling applications such as the allocation of workload toemployees or in that specific example to nursesWehope thatthe models and the techniques discussed in this work maycontribute to further research in this context
The rest of this paper is organized as follows In Section 2we introduce the BACP In Section 3 we describe the designof our solution In Section 4 we provide an experimentalevaluation of our solution on benchmark and real instancesSection 5 concludes the paper and gives some direction forfurther work
2 The BACP Formulation
In this section we present the BACP formulation given in[1] The curriculum consists of entities which must satisfyacademic and administrative constraints
(i) Courses An academic curriculum is denoted by a setof courses and a set of prerequisites related to theseLet 119862 be the set of courses to be taught during theplanning horizon of a university degree Each course119888 isin 119862 gives a number of credits cr isin 119885
+
(ii) Periods The planning horizon is divided into aca-demic years and each academic year is divided intoterms Each term is a teaching period in whichcourses can take place Let 119875 be the set of teachingperiods uniquely identified by the correspondingyear and term For example a three-year degreeorganized in four terms per year has 12 periods thatis 119875 = 1 sdot sdot sdot 12 and the first terms of each year are1 5 9
(iii) Load Limits A minimum and a maximum numberof courses denoted by 119898 and 119872 respectively can beassigned to each term
(iv) Prerequisites Based on their content some courseshave prerequisites that is a set of courses that the stu-dentsmust attend earlier Prerequisites are formalizedby a precedence graph that is a directed acyclic graph119863 = (119881119860) Each vertex 119894 isin 119881 represents a course andeach arc (119894 119895) isin 119860 represents a precedence relationstating that the course 119894 is a prerequisite of course 119895If course 119894 is a prerequisite of course 119895 then it has to
Initial
C1
C2
Cc
P1 P2Pp
End
Figure 1 Construction graph
be assigned to a teaching period that strictly precedesthe one assigned to course 119895
(v) Equal Distribution of Load The distribution of creditsamong the teaching periodsmust be balanced Ideallyeach term should have the same number of credits
3 Tackling the BACP Usingthe ACO Metaheuristic
In this section we describe our approach to tackle the BACPusing an ACO model called Best-Worst Ant System (BWAS)[10] BWAS has three main components
(i) A Best-Worst Pheromone Trail Update Rule This rulereinforces the edges contained in good solutions andpenalizes all the edges contained in the current worstsolution
(ii) Pheromone Trail Mutation The pheromone trailsare mutated with a certain probability in order tointroduce diversity in the search process Pheromonetrails are mutated by adding or subtracting the sameamount of pheromone
(iii) Restart of the Search Process When pheromone trailsrelated to the edges belonging to the best solutions arevery high and the remaining ones are close to zero(stagnation phase) the pheromonematrix is set to theinitial pheromone value
In the rest of this section we describe the graph thatrepresents the assignment of courses to periods and we detailthe algorithm of our proposal based on the description of theaforementioned main issues
31 Construction Graph The graph that represents theassignment of the courses to determined periods follows aparticular behaviour compared with a TSP In this case thegraph must have |119862| times |119875| nodes where 119862 is the total amountof courses and 119875 is the total amount of periods
Figure 1 shows the graph used to represent the assignmentof courses to teaching periods For each course the ant mustchoose a period from the initial node to the end nodeThus horizontally the ant can pass in one node only Thisis because one course is assigned to one period but a periodcan be assigned tomany courses However the representationof the graph in the implementation is given by a vector
Mathematical Problems in Engineering 3
1 1 2 2 2 3 8
Period 2
middot middot middot
C1 C2 Cc
Figure 2 Representation of the graph using a vector
representation as we show in Figure 2 The length of thevector is equal to the number of courses of the curriculumand each position represents the value of the period assignedto that course Following the example of Figure 2 period 1 isassigned to course 1 period 1 is assigned to course 2 and soon until the course 119862
To determine the period assigned to each course atransition rule which guides the ants in the construction oftheir solutions is used It has two elements the pheromonetrace and the heuristic informationThe transition rule is thefollowing
119875 (119888 119901119894) =
[120591(119888119901119894)
]120572
[120578(119888119901119894)
]120573
sum119906isin119875
([120591(119888119901119906)
]120572
[120578(119888119901119906)
]120573
)
(1)
32 The BWAS Algorithm In this section we give the detailsof the proposed algorithm to tackle the BACP using BWASThus we focus on how to represent courses and periods howto updatemutate pheromone trails and how to restart thesearch process when it gets stuckThese are themain issues tosolve the BACP using BWAS The details are in Algorithm 1
The ants deposit pheromone traces when they build asolution to help guide the rest of the colony In our approachthe pheromone matrix stores the load of pheromonein a certain node instead of showing the quantity ofpheromones associated to an edge between two nodes Let119879[1 sdot sdot sdot 119862 1 sdot sdot sdot 119875] be the pheromonematrix where 120591
119894119895(1 le 119894 le
119862 1 le 119895 le 119875) is an element of 119879 representing the pheromonetrace deposited by an ant when the course 119894 is assignedto period 119895 To initialize the pheromone matrix an initialsolution which only satisfies the prerequisite constraint iscalculated Once this initial solution is obtained we calculatethe pheromone trail using the quality 119876 (119878
119896) of the obtained
solution The quality of a solution is calculated with respectto maximum load assigned to the academic periods using thefollowing expression
119876 (Sol) = 1
Max 1198881 1198882 119888
119901
(2)
One of themain differences between natural and artificialants is that the artificial ants use the pheromone trails andalso information named heuristic information denoted by120578(119888 119901119894) which measures the preference of moving from one
node to another [1] In static problems this value does notchange but in the BACP it is required to be changed in
(1) 120591119900larr InitialSolution(119868)
(2) initializePheromoneTrails(120591119900)
(3) while (term criterion not satisfied) do(4) for 119894 = 1 to 119896 do(5) for 119895 = 1 to numCourses do(6) periodlarr transitionRule(119895)(7) assignCourse(119895 period)(8) end for(9) deposition(119876(119878
119894))
(10) end for(11) evaporation()(12) currentBestlarr selectBestSolutionIt(119860
119896)
(13) localSearch(currentBest)(14) if (best(currentBest globalBest)) then(15) globalBestlarr currentBest(16) end if(17) depositBestAnt(globalBest)(18) currentWorstlarr selectWorstSolution(119860
119896)
(19) evaporateWorstAnt(currentWorst)(20) mutation()(21) if (stagnationcondition) then(22) reinitializePheromoneTrails()(23) end if(24) end while
Algorithm 1 Bwas bacp (instance 119868 a BACP instance)
order to give more information to the transition rule Thuswe defined a function that allows evaluating the amount ofviolations generated when an assignment is made
120578 (119888 119901119894) =
1
1 + V119889(119888 119901119894) minus V119886(119888 119901119894) (3)
where V119889(119888 119901119894) determines the number of violations gen-
erated when the course 119888 is assigned to period 119901119894and
V119886(119888 119901119894) determines the number of violations before this
assignment Thus this equation can determine how manyconflicts are generated because of the assignment If there arenew violations the heuristic information and the probabilityof choosing that period become smallerThis expression has asingularity when V
119889= 1 and V
119886= 2 This situation shows that
the number of violated constraints decreases and the nodeshould be more preferable Thus we set V
119886= 1
There are two ways to update the pheromone trails in thepheromone matrix [10]
(i) Deposition It depends on the quality of the generatedsolution This update process (see (4)) is performedby all the ants Additionally the ant which generatesthe best solution performs this action in order toreinforce the pheromone trail
120591119894119895larr997888 120591119894119895+ 119891 (119876 (119878
119896)) (4)
(ii) Evaporation After the construction of the solutionevaporation (see (5)) is performed in all the nodes
4 Mathematical Problems in Engineering
of the pheromone matrix using the evaporation con-stant 120588 Additionally in order to penalize the nodesbelonging to the worst solution are evaporated
120591119894119895larr997888 120591119894119895sdot (1 minus 120588) (5)
The uniqueness of the BWAS is that which includes threedaemon actions being the Best-Worst update rule responsi-ble for the two first ones (1) The best ant is selected and anextra deposit is made according to the quality of the solution(2) The worst ant is selected and evaporation is made onthe nodes that have been traversed by this ant note thatevaporation is made only if the best ant has not traversedthose nodes (3) The third action is the mutation whichbrings diversity to the search space adding or subtractingpheromone trace to certain nodes
mut (it 120591threshold) =it minus it119903
Nit minus it119903
sdot 120590 sdot 120591threshold (6)
where it is the actual iteration it119903is the last iteration when
a reset due to stagnation was performed Nit is the totalnumber of iterations and 120590 is the power of mutation [10]The threshold is calculated using the pheromone depositedin the best solution divided by the number of courses Withthis mutation operator we can add or subtract pheromonetrace to the pheromone matrix Finally in the case that thesearch stagnates a reset of the pheromone trails is performedin order to go back to the last global optimum thus the searchstarts from a good solution In this algorithm we perform areset if there is no change after 20 of the total number ofiterations In addition a local search is performed using thebest ant of the iteration This subprocess consists in selectingall the courses of the period with a bigger academic loadThen we select the period with the smaller academic loadand we try to reassign one course of the bigger period tothe smaller period To choose this course we first evaluatethat the course does not generate new violations Finally weevaluate this new solution and the last one and we keep thebetter one as actual best
4 Experimental Evaluation
Theproposed algorithmwas implemented using Java runningon a Windows PC with a 240GHz Intel Core 2 Duo T8300processor To test our approach we use CSPLib bench-mark instances and real instances To obtain the parameters(see Table 1) used in the experiments the proposed BWASalgorithm was run 30 times on the benchmark and realinstances and takes the values belonging to the best solutionsreported
41 Benchmark Instances We analysed three benchmarkinstances where the performance of the algorithm was mea-sured with good results with respect to speed of convergencequality of the solution and constraint satisfaction For eachinstance of the problem we performed 50 executions of thealgorithm achieving the following results First we analysedthe small instance of 8 periods (bacp8) This instance has 46
Table 1 Algorithm parameters
Parameter ValueIterations 1000Ants 8Evaporation coefficient 02120572 1120573 2Mutation probability 03Mutation power 05
74
22
4
Invalid
17 credits18 credits
Figure 3 Number of credits for a small instance
courses to be distributed in 8 academic periods In Figure 3we can see the results for bacp8 measured as a percentageconsidering 50 runs where 74 were able to find the optimalvalue In a smaller percentage (4) of cases the case was aninvalid solution In most cases our approach was able to findthe optimal value
The medium instance (bacp10) has 42 courses to beassigned to 10 periods so the maximum load is smaller thanbacp8 This means that the quality is better After 50 runs theresults are given in Figure 4 Again the optimal solution wasfound in the majority of the cases
The last instance is bacp12 in this case where thecomplexity is greater it has 66 courses to be assigned in 12academic periods In Figure 5 we can see that the algorithmfound four different values and between 18 and 19 credits
Of the 50 runs we took the top 10 (not taking into accountthe invalid ones) and we summarize the results for the threeinstances shown in each column name of the instance bestresult worst result average standard deviation and optimalvalue known for the problem [6]
Also to compare the times that the algorithmmanages tofind every quality of solution for each instance we consideredthe best and worst solutions Table 2 shows the differencebetween bacp12 and the other two instances where the
Mathematical Problems in Engineering 5
Table 2 Result for benchmark instances
Instance BWAS Best BWASWorst BWAS Average 120590 lp-solve Best lp-solve Worst OptimalBacp8 17 18 173 048 17 54 17Bacp10 14 15 142 042 24 48 14Bacp12 18 20 184 069 infin infin 18
58
33
9
Invalid
14 credits15 credits
Figure 4 Number of credits for a medium instance
42
40
2
16
Invalid18 credits19 credits
20 credits
Figure 5 Number of credits for a large instance
convergence time to the optimal solution is smaller in bacp8and bacp10 But we cannot guarantee that 18 credits is theoptimal solution in bacp12 but it is the best solution foundby the algorithm For the 12-period problem lp-solve [3] doesnot get any log after a ldquoturn-around-timerdquo of 1 day
In Figure 6 we show a graphic with the quality of the bestsolution found for each instance by iterationThe efficiency of
0
001
002
003
004
005
006
007
008
1 40 79 118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Qua
lity
Iteration
BACP8 BestBACP10 BestBACP12 Best
Figure 6 Efficiency of the algorithm (best solution)
0
001
002
003
004
005
006
007
1 41 81 121
161
201
241
281
321
361
401
441
481
521
561
601
641
681
721
761
801
841
881
921
961
Qua
lity
IterationBACP8 WorstBACP10 WorstBACP12 Worst
Figure 7 Efficiency of the algorithm (worst solution)
the algorithm is very high as it converges before the first 100iterations In this graphic the quality is measured using (3)In the case of the worst solutions no instances achieve theoptimum but they all converge quickly The exception wasbacp12 which takes time and moves away from the best valuefound evenmore than the other two instances (see Figure 7)
6 Mathematical Problems in Engineering
Table 3 Time (ms) for the best solution to obtain the optimum
Credits Bacp8 Bacp10 Bacp12 119876 (sol)20 811 mdash 3994 00519 mdash mdash 5438 005218 1045 1061 6368 005517 1248 1342 005816 1404 006215 1451 006614 1919 0071
Table 4 Time (ms) for the worst solution to obtain the optimum
Credits Bacp8 Bacp10 Bacp12 119876 (sol)20 1201 1502 23448 00519 1279 1532 005218 1840 mdash 005517 mdash 005816 1602 006215 2222 0066
In Tables 3 and 4 we can see in the first column themaximum amount of credits of the curricula designed by theBWAS algorithm The next three columns are the instancesand the last column is the quality of the solution calculatedusing (3) The hyphen means that the quality of the solutionwas skipped For example in Table 4 the bacp10 instancewent from a quality of 19 to a quality of 16 The emptyspaces mean that the solution did not reach that value Theperformance of lp-solve is very limited in contrast to theBWAS algorithm In the case of the 8-period problem theoptimum plan is obtained in 1460 seconds For the 10-periodproblem no result is obtained after 5 hours and the last resultwas logged before 1700 seconds (see additional details in [3])
In Figure 7 we show the worst solution found by theBWAS algorithm for solving the BACP measured by quality
42 Real Instances To test our proposal with real instancesthree benchmark files were created using the same for-mat used in the test instances The curriculums evaluatedare Informatics Engineering short program (8 periods)Informatics Engineering long program (12 periods) fromCatholic University of Valparaiso and Informatics Engi-neering medium program (10 periods) from Playa AnchaUniversity The academic plan of Informatics Engineering(short program INF) has 34 courses the complexity is lowerthan that of bacp8 because of the number of courses Table 5summarizes the results obtained (the optimal value is themaximum of the real curriculum for the career) for examplefrom 50 executions the algorithm found a better solutionthan the real curricula (20 credits) with a maximum amountof 18 credits (see Figure 8)
Also we evaluate the performance of the BWAS in thecurriculum of Informatics Engineering (long program) inthis instance the complexity is bigger than that of INF butlower than that of bacp12 It has 53 courses to be assigned to12 academic periods The results are shown in Figure 9
Table 5 Result for real instances
Instance Best Worst Average 120590 OptimalINF 18 18 18 0 20ICI 18 18 18 0 18UPLA 13 15 14 066 14
86
4
10
Invalid
18 credits19 credits
Figure 8 Number of credits for short real instance
86
2 12
Invalid
18 credits19 credits
Figure 9 Number of credits for long real instance
In this instance the effectiveness was maintained with86 of the runs but the number of invalid solutions increasesto 12 The last evaluation corresponds to the Playa AnchaUniversity instance (UPLA) where the optimal solution wasfound in only 20 of the iterations surpassing the 14 creditsof the official curriculumHowever the objective value was 14
Mathematical Problems in Engineering 7
20
58
12
28
Invalid13 credits14 credits15 credits
16 credits
Figure 10 Number of credits for medium real instance
Table 6 Time (ms) for the best solution to obtain the optimum inreal instances
Credits INF ICI UPLA 119876 (sol)20 594 3484 mdash 00519 mdash 3692 mdash 005218 976 4080 mdash 005517 mdash 005816 2993 006215 3078 006614 3392 0071
credits with 58 of the runs This curriculum has 49 coursesassigned in 10 semesters (see Figure 10) Again we took thetop 10 (regardless of the invalid solutions) from the 50 runsand summarized the results for the three instances
Now we are going to compare the time and iteration inwhich the algorithm finds the best and worst solutions InTable 6 we can see the time inmilliseconds that the algorithmtakes to reach the different solutions In the case of INF andICI the time is very low In the case of UPLA it takes a littlemore than 10 seconds to reach the optimal value
Figure 11 shows the quality of solution by iteration wherewe can see the speed of convergence
In the case of the worst solutions (see Table 7) INF andICI reach the optimum but this time takes more seconds Inthe case of UPLA this instance did not reach the optimumbut it takes less seconds
In Figure 12 they see theworst solutions take a longer timeto converge that this is because the optimum value for theICI and INF instances has the majority of the percentageFor UPLA the optimum is 13 credits but the most repeatedsolution corresponds to 14 credits which explains why theworst solution takes a longer time to converge However the
0
001
002
003
004
005
006
007
008
009
1 39 77 115
153
191
229
267
305
343
381
419
457
495
533
571
609
647
685
723
761
799
837
875
913
951
989
Qua
lity
IterationBest INFBest UPLABest ICI
Figure 11 Efficiency of the algorithm in real instances (bestsolution)
Table 7 Time (ms) for the worst solution to obtain the optimum inreal instances
Credits INF ICI UPLA 119876 (sol)20 3143 3969 mdash 00519 3527 16671 mdash 005218 8928 17274 mdash 005517 3574 005816 3682 006215 3864 006620 3143 3969 mdash 005
worst solution found by the algorithm has 15 credits for thisinstance
5 Conclusions
In this work we proposed an algorithm to solve the balancedacademic curriculum problem using the ACOmetaheuristicThe experimental evaluation shows the effectiveness of artifi-cial ants solving constraint satisfaction problems All the testsshow that the margin of error is much smaller than the validsolutions delivered For benchmark instances the quality ofthe solution was satisfactory and the optimal values of eachinstance were reached in the majority of the cases In thereal instances the results were also positive In 2 instances(INF and UPLA) the results were better than in the officialcurricula and in the ICI results they were equal than in theofficial curricula Moreover the number of iterations to reachthe optimum was lowTherefore the BWAS algorithm is ableto satisfy all constraints of the problem in most cases Thuswe state that our proposal is a fairly reliable alternative tosolve the BACP For future work we plan to tackle morecomplicated versions of BACP as was proposed in [1]
8 Mathematical Problems in Engineering
0
001
002
003
004
005
006
0071 40 79 118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Qua
lity
Iteration
Worst INFWorst UPLAWorst ICI
Figure 12 Efficiency of the algorithm in real instances (worstsolution)
Acknowledgments
Nibaldo Rodriguez is supported by Grant CONICYTFONDECYTRegular 1131105 and Ricardo Soto is supportedby Grant CONICYTFONDECYTIniciacion 11130459
References
[1] M Chiarandini L D Gaspero S Gualandi and A SchaerfldquoThe balanced academic curriculum problem revisitedrdquo Journalof Heuristics vol 18 no 1 pp 119ndash148 2012
[2] J N Monette P Schaus S Zampelli Y Deville and P DupontldquoA cp approach to the balanced academic curriculum problemrdquoin Proceedings of the 7th International Workshop on Symmetryand Constraint Satisfaction Problems 2007
[3] C Castro and S Manzano ldquoVariable and value ordering whensolving balanced academic curriculum problemsrdquo in Proceed-ings of the 6thWorkshop of the ERCIMWG on Constraints June2001
[4] B Hnich Z Kiziltan and T Walsh ldquoModelling a balancedacademic curriculumproblemrdquo in Proceedings of the CP-AI-OR2002
[5] C Castro B Crawford and E Monfroy ldquoA quantitativeapproach for the design of academic curriculardquo in HumanInterface and the Management of Information Interacting inInformation Environments vol 4558 of Lecture Notes in Com-puter Science pp 279ndash288 2007
[6] T Lambert C Castro E Monfroy M C Riff and F SaubionldquoHybridization of genetic algorithms and constraint propaga-tion for the BACPrdquo in Proceedings of the 21st InternationalConference on Logic Programming (ICLP rsquo05) pp 421ndash423October 2005
[7] T Lambert C Castro E Monfroy and F Saubion ldquoSolving thebalanced academic curriculum problem with an hybridizationof genetic algorithm and constraint propagationrdquo in ArtificialIntelligence and Soft ComputingmdashICAISC 2006 vol 4029 ofLecture Notes in Computer Science pp 410ndash419 2006
[8] M Dorigo and C Blum ldquoAnt colony optimization theory asurveyrdquoTheoretical Computer Science vol 344 no 2-3 pp 243ndash278 2005
[9] O Cordon I F de Viana and F Herrera ldquoAnalysis of the best-worst ant system and its variants on the qaprdquo in Ant Algorithmspp 228ndash234 2002
[10] O Cordon I F de Viana F Herrera and L Moreno ldquoA newaco model integrating evolutionary computation concepts thebest-worst ant systemrdquo in Ant Algorithms 2000
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Mathematical Problems in Engineering 3
1 1 2 2 2 3 8
Period 2
middot middot middot
C1 C2 Cc
Figure 2 Representation of the graph using a vector
representation as we show in Figure 2 The length of thevector is equal to the number of courses of the curriculumand each position represents the value of the period assignedto that course Following the example of Figure 2 period 1 isassigned to course 1 period 1 is assigned to course 2 and soon until the course 119862
To determine the period assigned to each course atransition rule which guides the ants in the construction oftheir solutions is used It has two elements the pheromonetrace and the heuristic informationThe transition rule is thefollowing
119875 (119888 119901119894) =
[120591(119888119901119894)
]120572
[120578(119888119901119894)
]120573
sum119906isin119875
([120591(119888119901119906)
]120572
[120578(119888119901119906)
]120573
)
(1)
32 The BWAS Algorithm In this section we give the detailsof the proposed algorithm to tackle the BACP using BWASThus we focus on how to represent courses and periods howto updatemutate pheromone trails and how to restart thesearch process when it gets stuckThese are themain issues tosolve the BACP using BWAS The details are in Algorithm 1
The ants deposit pheromone traces when they build asolution to help guide the rest of the colony In our approachthe pheromone matrix stores the load of pheromonein a certain node instead of showing the quantity ofpheromones associated to an edge between two nodes Let119879[1 sdot sdot sdot 119862 1 sdot sdot sdot 119875] be the pheromonematrix where 120591
119894119895(1 le 119894 le
119862 1 le 119895 le 119875) is an element of 119879 representing the pheromonetrace deposited by an ant when the course 119894 is assignedto period 119895 To initialize the pheromone matrix an initialsolution which only satisfies the prerequisite constraint iscalculated Once this initial solution is obtained we calculatethe pheromone trail using the quality 119876 (119878
119896) of the obtained
solution The quality of a solution is calculated with respectto maximum load assigned to the academic periods using thefollowing expression
119876 (Sol) = 1
Max 1198881 1198882 119888
119901
(2)
One of themain differences between natural and artificialants is that the artificial ants use the pheromone trails andalso information named heuristic information denoted by120578(119888 119901119894) which measures the preference of moving from one
node to another [1] In static problems this value does notchange but in the BACP it is required to be changed in
(1) 120591119900larr InitialSolution(119868)
(2) initializePheromoneTrails(120591119900)
(3) while (term criterion not satisfied) do(4) for 119894 = 1 to 119896 do(5) for 119895 = 1 to numCourses do(6) periodlarr transitionRule(119895)(7) assignCourse(119895 period)(8) end for(9) deposition(119876(119878
119894))
(10) end for(11) evaporation()(12) currentBestlarr selectBestSolutionIt(119860
119896)
(13) localSearch(currentBest)(14) if (best(currentBest globalBest)) then(15) globalBestlarr currentBest(16) end if(17) depositBestAnt(globalBest)(18) currentWorstlarr selectWorstSolution(119860
119896)
(19) evaporateWorstAnt(currentWorst)(20) mutation()(21) if (stagnationcondition) then(22) reinitializePheromoneTrails()(23) end if(24) end while
Algorithm 1 Bwas bacp (instance 119868 a BACP instance)
order to give more information to the transition rule Thuswe defined a function that allows evaluating the amount ofviolations generated when an assignment is made
120578 (119888 119901119894) =
1
1 + V119889(119888 119901119894) minus V119886(119888 119901119894) (3)
where V119889(119888 119901119894) determines the number of violations gen-
erated when the course 119888 is assigned to period 119901119894and
V119886(119888 119901119894) determines the number of violations before this
assignment Thus this equation can determine how manyconflicts are generated because of the assignment If there arenew violations the heuristic information and the probabilityof choosing that period become smallerThis expression has asingularity when V
119889= 1 and V
119886= 2 This situation shows that
the number of violated constraints decreases and the nodeshould be more preferable Thus we set V
119886= 1
There are two ways to update the pheromone trails in thepheromone matrix [10]
(i) Deposition It depends on the quality of the generatedsolution This update process (see (4)) is performedby all the ants Additionally the ant which generatesthe best solution performs this action in order toreinforce the pheromone trail
120591119894119895larr997888 120591119894119895+ 119891 (119876 (119878
119896)) (4)
(ii) Evaporation After the construction of the solutionevaporation (see (5)) is performed in all the nodes
4 Mathematical Problems in Engineering
of the pheromone matrix using the evaporation con-stant 120588 Additionally in order to penalize the nodesbelonging to the worst solution are evaporated
120591119894119895larr997888 120591119894119895sdot (1 minus 120588) (5)
The uniqueness of the BWAS is that which includes threedaemon actions being the Best-Worst update rule responsi-ble for the two first ones (1) The best ant is selected and anextra deposit is made according to the quality of the solution(2) The worst ant is selected and evaporation is made onthe nodes that have been traversed by this ant note thatevaporation is made only if the best ant has not traversedthose nodes (3) The third action is the mutation whichbrings diversity to the search space adding or subtractingpheromone trace to certain nodes
mut (it 120591threshold) =it minus it119903
Nit minus it119903
sdot 120590 sdot 120591threshold (6)
where it is the actual iteration it119903is the last iteration when
a reset due to stagnation was performed Nit is the totalnumber of iterations and 120590 is the power of mutation [10]The threshold is calculated using the pheromone depositedin the best solution divided by the number of courses Withthis mutation operator we can add or subtract pheromonetrace to the pheromone matrix Finally in the case that thesearch stagnates a reset of the pheromone trails is performedin order to go back to the last global optimum thus the searchstarts from a good solution In this algorithm we perform areset if there is no change after 20 of the total number ofiterations In addition a local search is performed using thebest ant of the iteration This subprocess consists in selectingall the courses of the period with a bigger academic loadThen we select the period with the smaller academic loadand we try to reassign one course of the bigger period tothe smaller period To choose this course we first evaluatethat the course does not generate new violations Finally weevaluate this new solution and the last one and we keep thebetter one as actual best
4 Experimental Evaluation
Theproposed algorithmwas implemented using Java runningon a Windows PC with a 240GHz Intel Core 2 Duo T8300processor To test our approach we use CSPLib bench-mark instances and real instances To obtain the parameters(see Table 1) used in the experiments the proposed BWASalgorithm was run 30 times on the benchmark and realinstances and takes the values belonging to the best solutionsreported
41 Benchmark Instances We analysed three benchmarkinstances where the performance of the algorithm was mea-sured with good results with respect to speed of convergencequality of the solution and constraint satisfaction For eachinstance of the problem we performed 50 executions of thealgorithm achieving the following results First we analysedthe small instance of 8 periods (bacp8) This instance has 46
Table 1 Algorithm parameters
Parameter ValueIterations 1000Ants 8Evaporation coefficient 02120572 1120573 2Mutation probability 03Mutation power 05
74
22
4
Invalid
17 credits18 credits
Figure 3 Number of credits for a small instance
courses to be distributed in 8 academic periods In Figure 3we can see the results for bacp8 measured as a percentageconsidering 50 runs where 74 were able to find the optimalvalue In a smaller percentage (4) of cases the case was aninvalid solution In most cases our approach was able to findthe optimal value
The medium instance (bacp10) has 42 courses to beassigned to 10 periods so the maximum load is smaller thanbacp8 This means that the quality is better After 50 runs theresults are given in Figure 4 Again the optimal solution wasfound in the majority of the cases
The last instance is bacp12 in this case where thecomplexity is greater it has 66 courses to be assigned in 12academic periods In Figure 5 we can see that the algorithmfound four different values and between 18 and 19 credits
Of the 50 runs we took the top 10 (not taking into accountthe invalid ones) and we summarize the results for the threeinstances shown in each column name of the instance bestresult worst result average standard deviation and optimalvalue known for the problem [6]
Also to compare the times that the algorithmmanages tofind every quality of solution for each instance we consideredthe best and worst solutions Table 2 shows the differencebetween bacp12 and the other two instances where the
Mathematical Problems in Engineering 5
Table 2 Result for benchmark instances
Instance BWAS Best BWASWorst BWAS Average 120590 lp-solve Best lp-solve Worst OptimalBacp8 17 18 173 048 17 54 17Bacp10 14 15 142 042 24 48 14Bacp12 18 20 184 069 infin infin 18
58
33
9
Invalid
14 credits15 credits
Figure 4 Number of credits for a medium instance
42
40
2
16
Invalid18 credits19 credits
20 credits
Figure 5 Number of credits for a large instance
convergence time to the optimal solution is smaller in bacp8and bacp10 But we cannot guarantee that 18 credits is theoptimal solution in bacp12 but it is the best solution foundby the algorithm For the 12-period problem lp-solve [3] doesnot get any log after a ldquoturn-around-timerdquo of 1 day
In Figure 6 we show a graphic with the quality of the bestsolution found for each instance by iterationThe efficiency of
0
001
002
003
004
005
006
007
008
1 40 79 118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Qua
lity
Iteration
BACP8 BestBACP10 BestBACP12 Best
Figure 6 Efficiency of the algorithm (best solution)
0
001
002
003
004
005
006
007
1 41 81 121
161
201
241
281
321
361
401
441
481
521
561
601
641
681
721
761
801
841
881
921
961
Qua
lity
IterationBACP8 WorstBACP10 WorstBACP12 Worst
Figure 7 Efficiency of the algorithm (worst solution)
the algorithm is very high as it converges before the first 100iterations In this graphic the quality is measured using (3)In the case of the worst solutions no instances achieve theoptimum but they all converge quickly The exception wasbacp12 which takes time and moves away from the best valuefound evenmore than the other two instances (see Figure 7)
6 Mathematical Problems in Engineering
Table 3 Time (ms) for the best solution to obtain the optimum
Credits Bacp8 Bacp10 Bacp12 119876 (sol)20 811 mdash 3994 00519 mdash mdash 5438 005218 1045 1061 6368 005517 1248 1342 005816 1404 006215 1451 006614 1919 0071
Table 4 Time (ms) for the worst solution to obtain the optimum
Credits Bacp8 Bacp10 Bacp12 119876 (sol)20 1201 1502 23448 00519 1279 1532 005218 1840 mdash 005517 mdash 005816 1602 006215 2222 0066
In Tables 3 and 4 we can see in the first column themaximum amount of credits of the curricula designed by theBWAS algorithm The next three columns are the instancesand the last column is the quality of the solution calculatedusing (3) The hyphen means that the quality of the solutionwas skipped For example in Table 4 the bacp10 instancewent from a quality of 19 to a quality of 16 The emptyspaces mean that the solution did not reach that value Theperformance of lp-solve is very limited in contrast to theBWAS algorithm In the case of the 8-period problem theoptimum plan is obtained in 1460 seconds For the 10-periodproblem no result is obtained after 5 hours and the last resultwas logged before 1700 seconds (see additional details in [3])
In Figure 7 we show the worst solution found by theBWAS algorithm for solving the BACP measured by quality
42 Real Instances To test our proposal with real instancesthree benchmark files were created using the same for-mat used in the test instances The curriculums evaluatedare Informatics Engineering short program (8 periods)Informatics Engineering long program (12 periods) fromCatholic University of Valparaiso and Informatics Engi-neering medium program (10 periods) from Playa AnchaUniversity The academic plan of Informatics Engineering(short program INF) has 34 courses the complexity is lowerthan that of bacp8 because of the number of courses Table 5summarizes the results obtained (the optimal value is themaximum of the real curriculum for the career) for examplefrom 50 executions the algorithm found a better solutionthan the real curricula (20 credits) with a maximum amountof 18 credits (see Figure 8)
Also we evaluate the performance of the BWAS in thecurriculum of Informatics Engineering (long program) inthis instance the complexity is bigger than that of INF butlower than that of bacp12 It has 53 courses to be assigned to12 academic periods The results are shown in Figure 9
Table 5 Result for real instances
Instance Best Worst Average 120590 OptimalINF 18 18 18 0 20ICI 18 18 18 0 18UPLA 13 15 14 066 14
86
4
10
Invalid
18 credits19 credits
Figure 8 Number of credits for short real instance
86
2 12
Invalid
18 credits19 credits
Figure 9 Number of credits for long real instance
In this instance the effectiveness was maintained with86 of the runs but the number of invalid solutions increasesto 12 The last evaluation corresponds to the Playa AnchaUniversity instance (UPLA) where the optimal solution wasfound in only 20 of the iterations surpassing the 14 creditsof the official curriculumHowever the objective value was 14
Mathematical Problems in Engineering 7
20
58
12
28
Invalid13 credits14 credits15 credits
16 credits
Figure 10 Number of credits for medium real instance
Table 6 Time (ms) for the best solution to obtain the optimum inreal instances
Credits INF ICI UPLA 119876 (sol)20 594 3484 mdash 00519 mdash 3692 mdash 005218 976 4080 mdash 005517 mdash 005816 2993 006215 3078 006614 3392 0071
credits with 58 of the runs This curriculum has 49 coursesassigned in 10 semesters (see Figure 10) Again we took thetop 10 (regardless of the invalid solutions) from the 50 runsand summarized the results for the three instances
Now we are going to compare the time and iteration inwhich the algorithm finds the best and worst solutions InTable 6 we can see the time inmilliseconds that the algorithmtakes to reach the different solutions In the case of INF andICI the time is very low In the case of UPLA it takes a littlemore than 10 seconds to reach the optimal value
Figure 11 shows the quality of solution by iteration wherewe can see the speed of convergence
In the case of the worst solutions (see Table 7) INF andICI reach the optimum but this time takes more seconds Inthe case of UPLA this instance did not reach the optimumbut it takes less seconds
In Figure 12 they see theworst solutions take a longer timeto converge that this is because the optimum value for theICI and INF instances has the majority of the percentageFor UPLA the optimum is 13 credits but the most repeatedsolution corresponds to 14 credits which explains why theworst solution takes a longer time to converge However the
0
001
002
003
004
005
006
007
008
009
1 39 77 115
153
191
229
267
305
343
381
419
457
495
533
571
609
647
685
723
761
799
837
875
913
951
989
Qua
lity
IterationBest INFBest UPLABest ICI
Figure 11 Efficiency of the algorithm in real instances (bestsolution)
Table 7 Time (ms) for the worst solution to obtain the optimum inreal instances
Credits INF ICI UPLA 119876 (sol)20 3143 3969 mdash 00519 3527 16671 mdash 005218 8928 17274 mdash 005517 3574 005816 3682 006215 3864 006620 3143 3969 mdash 005
worst solution found by the algorithm has 15 credits for thisinstance
5 Conclusions
In this work we proposed an algorithm to solve the balancedacademic curriculum problem using the ACOmetaheuristicThe experimental evaluation shows the effectiveness of artifi-cial ants solving constraint satisfaction problems All the testsshow that the margin of error is much smaller than the validsolutions delivered For benchmark instances the quality ofthe solution was satisfactory and the optimal values of eachinstance were reached in the majority of the cases In thereal instances the results were also positive In 2 instances(INF and UPLA) the results were better than in the officialcurricula and in the ICI results they were equal than in theofficial curricula Moreover the number of iterations to reachthe optimum was lowTherefore the BWAS algorithm is ableto satisfy all constraints of the problem in most cases Thuswe state that our proposal is a fairly reliable alternative tosolve the BACP For future work we plan to tackle morecomplicated versions of BACP as was proposed in [1]
8 Mathematical Problems in Engineering
0
001
002
003
004
005
006
0071 40 79 118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Qua
lity
Iteration
Worst INFWorst UPLAWorst ICI
Figure 12 Efficiency of the algorithm in real instances (worstsolution)
Acknowledgments
Nibaldo Rodriguez is supported by Grant CONICYTFONDECYTRegular 1131105 and Ricardo Soto is supportedby Grant CONICYTFONDECYTIniciacion 11130459
References
[1] M Chiarandini L D Gaspero S Gualandi and A SchaerfldquoThe balanced academic curriculum problem revisitedrdquo Journalof Heuristics vol 18 no 1 pp 119ndash148 2012
[2] J N Monette P Schaus S Zampelli Y Deville and P DupontldquoA cp approach to the balanced academic curriculum problemrdquoin Proceedings of the 7th International Workshop on Symmetryand Constraint Satisfaction Problems 2007
[3] C Castro and S Manzano ldquoVariable and value ordering whensolving balanced academic curriculum problemsrdquo in Proceed-ings of the 6thWorkshop of the ERCIMWG on Constraints June2001
[4] B Hnich Z Kiziltan and T Walsh ldquoModelling a balancedacademic curriculumproblemrdquo in Proceedings of the CP-AI-OR2002
[5] C Castro B Crawford and E Monfroy ldquoA quantitativeapproach for the design of academic curriculardquo in HumanInterface and the Management of Information Interacting inInformation Environments vol 4558 of Lecture Notes in Com-puter Science pp 279ndash288 2007
[6] T Lambert C Castro E Monfroy M C Riff and F SaubionldquoHybridization of genetic algorithms and constraint propaga-tion for the BACPrdquo in Proceedings of the 21st InternationalConference on Logic Programming (ICLP rsquo05) pp 421ndash423October 2005
[7] T Lambert C Castro E Monfroy and F Saubion ldquoSolving thebalanced academic curriculum problem with an hybridizationof genetic algorithm and constraint propagationrdquo in ArtificialIntelligence and Soft ComputingmdashICAISC 2006 vol 4029 ofLecture Notes in Computer Science pp 410ndash419 2006
[8] M Dorigo and C Blum ldquoAnt colony optimization theory asurveyrdquoTheoretical Computer Science vol 344 no 2-3 pp 243ndash278 2005
[9] O Cordon I F de Viana and F Herrera ldquoAnalysis of the best-worst ant system and its variants on the qaprdquo in Ant Algorithmspp 228ndash234 2002
[10] O Cordon I F de Viana F Herrera and L Moreno ldquoA newaco model integrating evolutionary computation concepts thebest-worst ant systemrdquo in Ant Algorithms 2000
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
4 Mathematical Problems in Engineering
of the pheromone matrix using the evaporation con-stant 120588 Additionally in order to penalize the nodesbelonging to the worst solution are evaporated
120591119894119895larr997888 120591119894119895sdot (1 minus 120588) (5)
The uniqueness of the BWAS is that which includes threedaemon actions being the Best-Worst update rule responsi-ble for the two first ones (1) The best ant is selected and anextra deposit is made according to the quality of the solution(2) The worst ant is selected and evaporation is made onthe nodes that have been traversed by this ant note thatevaporation is made only if the best ant has not traversedthose nodes (3) The third action is the mutation whichbrings diversity to the search space adding or subtractingpheromone trace to certain nodes
mut (it 120591threshold) =it minus it119903
Nit minus it119903
sdot 120590 sdot 120591threshold (6)
where it is the actual iteration it119903is the last iteration when
a reset due to stagnation was performed Nit is the totalnumber of iterations and 120590 is the power of mutation [10]The threshold is calculated using the pheromone depositedin the best solution divided by the number of courses Withthis mutation operator we can add or subtract pheromonetrace to the pheromone matrix Finally in the case that thesearch stagnates a reset of the pheromone trails is performedin order to go back to the last global optimum thus the searchstarts from a good solution In this algorithm we perform areset if there is no change after 20 of the total number ofiterations In addition a local search is performed using thebest ant of the iteration This subprocess consists in selectingall the courses of the period with a bigger academic loadThen we select the period with the smaller academic loadand we try to reassign one course of the bigger period tothe smaller period To choose this course we first evaluatethat the course does not generate new violations Finally weevaluate this new solution and the last one and we keep thebetter one as actual best
4 Experimental Evaluation
Theproposed algorithmwas implemented using Java runningon a Windows PC with a 240GHz Intel Core 2 Duo T8300processor To test our approach we use CSPLib bench-mark instances and real instances To obtain the parameters(see Table 1) used in the experiments the proposed BWASalgorithm was run 30 times on the benchmark and realinstances and takes the values belonging to the best solutionsreported
41 Benchmark Instances We analysed three benchmarkinstances where the performance of the algorithm was mea-sured with good results with respect to speed of convergencequality of the solution and constraint satisfaction For eachinstance of the problem we performed 50 executions of thealgorithm achieving the following results First we analysedthe small instance of 8 periods (bacp8) This instance has 46
Table 1 Algorithm parameters
Parameter ValueIterations 1000Ants 8Evaporation coefficient 02120572 1120573 2Mutation probability 03Mutation power 05
74
22
4
Invalid
17 credits18 credits
Figure 3 Number of credits for a small instance
courses to be distributed in 8 academic periods In Figure 3we can see the results for bacp8 measured as a percentageconsidering 50 runs where 74 were able to find the optimalvalue In a smaller percentage (4) of cases the case was aninvalid solution In most cases our approach was able to findthe optimal value
The medium instance (bacp10) has 42 courses to beassigned to 10 periods so the maximum load is smaller thanbacp8 This means that the quality is better After 50 runs theresults are given in Figure 4 Again the optimal solution wasfound in the majority of the cases
The last instance is bacp12 in this case where thecomplexity is greater it has 66 courses to be assigned in 12academic periods In Figure 5 we can see that the algorithmfound four different values and between 18 and 19 credits
Of the 50 runs we took the top 10 (not taking into accountthe invalid ones) and we summarize the results for the threeinstances shown in each column name of the instance bestresult worst result average standard deviation and optimalvalue known for the problem [6]
Also to compare the times that the algorithmmanages tofind every quality of solution for each instance we consideredthe best and worst solutions Table 2 shows the differencebetween bacp12 and the other two instances where the
Mathematical Problems in Engineering 5
Table 2 Result for benchmark instances
Instance BWAS Best BWASWorst BWAS Average 120590 lp-solve Best lp-solve Worst OptimalBacp8 17 18 173 048 17 54 17Bacp10 14 15 142 042 24 48 14Bacp12 18 20 184 069 infin infin 18
58
33
9
Invalid
14 credits15 credits
Figure 4 Number of credits for a medium instance
42
40
2
16
Invalid18 credits19 credits
20 credits
Figure 5 Number of credits for a large instance
convergence time to the optimal solution is smaller in bacp8and bacp10 But we cannot guarantee that 18 credits is theoptimal solution in bacp12 but it is the best solution foundby the algorithm For the 12-period problem lp-solve [3] doesnot get any log after a ldquoturn-around-timerdquo of 1 day
In Figure 6 we show a graphic with the quality of the bestsolution found for each instance by iterationThe efficiency of
0
001
002
003
004
005
006
007
008
1 40 79 118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Qua
lity
Iteration
BACP8 BestBACP10 BestBACP12 Best
Figure 6 Efficiency of the algorithm (best solution)
0
001
002
003
004
005
006
007
1 41 81 121
161
201
241
281
321
361
401
441
481
521
561
601
641
681
721
761
801
841
881
921
961
Qua
lity
IterationBACP8 WorstBACP10 WorstBACP12 Worst
Figure 7 Efficiency of the algorithm (worst solution)
the algorithm is very high as it converges before the first 100iterations In this graphic the quality is measured using (3)In the case of the worst solutions no instances achieve theoptimum but they all converge quickly The exception wasbacp12 which takes time and moves away from the best valuefound evenmore than the other two instances (see Figure 7)
6 Mathematical Problems in Engineering
Table 3 Time (ms) for the best solution to obtain the optimum
Credits Bacp8 Bacp10 Bacp12 119876 (sol)20 811 mdash 3994 00519 mdash mdash 5438 005218 1045 1061 6368 005517 1248 1342 005816 1404 006215 1451 006614 1919 0071
Table 4 Time (ms) for the worst solution to obtain the optimum
Credits Bacp8 Bacp10 Bacp12 119876 (sol)20 1201 1502 23448 00519 1279 1532 005218 1840 mdash 005517 mdash 005816 1602 006215 2222 0066
In Tables 3 and 4 we can see in the first column themaximum amount of credits of the curricula designed by theBWAS algorithm The next three columns are the instancesand the last column is the quality of the solution calculatedusing (3) The hyphen means that the quality of the solutionwas skipped For example in Table 4 the bacp10 instancewent from a quality of 19 to a quality of 16 The emptyspaces mean that the solution did not reach that value Theperformance of lp-solve is very limited in contrast to theBWAS algorithm In the case of the 8-period problem theoptimum plan is obtained in 1460 seconds For the 10-periodproblem no result is obtained after 5 hours and the last resultwas logged before 1700 seconds (see additional details in [3])
In Figure 7 we show the worst solution found by theBWAS algorithm for solving the BACP measured by quality
42 Real Instances To test our proposal with real instancesthree benchmark files were created using the same for-mat used in the test instances The curriculums evaluatedare Informatics Engineering short program (8 periods)Informatics Engineering long program (12 periods) fromCatholic University of Valparaiso and Informatics Engi-neering medium program (10 periods) from Playa AnchaUniversity The academic plan of Informatics Engineering(short program INF) has 34 courses the complexity is lowerthan that of bacp8 because of the number of courses Table 5summarizes the results obtained (the optimal value is themaximum of the real curriculum for the career) for examplefrom 50 executions the algorithm found a better solutionthan the real curricula (20 credits) with a maximum amountof 18 credits (see Figure 8)
Also we evaluate the performance of the BWAS in thecurriculum of Informatics Engineering (long program) inthis instance the complexity is bigger than that of INF butlower than that of bacp12 It has 53 courses to be assigned to12 academic periods The results are shown in Figure 9
Table 5 Result for real instances
Instance Best Worst Average 120590 OptimalINF 18 18 18 0 20ICI 18 18 18 0 18UPLA 13 15 14 066 14
86
4
10
Invalid
18 credits19 credits
Figure 8 Number of credits for short real instance
86
2 12
Invalid
18 credits19 credits
Figure 9 Number of credits for long real instance
In this instance the effectiveness was maintained with86 of the runs but the number of invalid solutions increasesto 12 The last evaluation corresponds to the Playa AnchaUniversity instance (UPLA) where the optimal solution wasfound in only 20 of the iterations surpassing the 14 creditsof the official curriculumHowever the objective value was 14
Mathematical Problems in Engineering 7
20
58
12
28
Invalid13 credits14 credits15 credits
16 credits
Figure 10 Number of credits for medium real instance
Table 6 Time (ms) for the best solution to obtain the optimum inreal instances
Credits INF ICI UPLA 119876 (sol)20 594 3484 mdash 00519 mdash 3692 mdash 005218 976 4080 mdash 005517 mdash 005816 2993 006215 3078 006614 3392 0071
credits with 58 of the runs This curriculum has 49 coursesassigned in 10 semesters (see Figure 10) Again we took thetop 10 (regardless of the invalid solutions) from the 50 runsand summarized the results for the three instances
Now we are going to compare the time and iteration inwhich the algorithm finds the best and worst solutions InTable 6 we can see the time inmilliseconds that the algorithmtakes to reach the different solutions In the case of INF andICI the time is very low In the case of UPLA it takes a littlemore than 10 seconds to reach the optimal value
Figure 11 shows the quality of solution by iteration wherewe can see the speed of convergence
In the case of the worst solutions (see Table 7) INF andICI reach the optimum but this time takes more seconds Inthe case of UPLA this instance did not reach the optimumbut it takes less seconds
In Figure 12 they see theworst solutions take a longer timeto converge that this is because the optimum value for theICI and INF instances has the majority of the percentageFor UPLA the optimum is 13 credits but the most repeatedsolution corresponds to 14 credits which explains why theworst solution takes a longer time to converge However the
0
001
002
003
004
005
006
007
008
009
1 39 77 115
153
191
229
267
305
343
381
419
457
495
533
571
609
647
685
723
761
799
837
875
913
951
989
Qua
lity
IterationBest INFBest UPLABest ICI
Figure 11 Efficiency of the algorithm in real instances (bestsolution)
Table 7 Time (ms) for the worst solution to obtain the optimum inreal instances
Credits INF ICI UPLA 119876 (sol)20 3143 3969 mdash 00519 3527 16671 mdash 005218 8928 17274 mdash 005517 3574 005816 3682 006215 3864 006620 3143 3969 mdash 005
worst solution found by the algorithm has 15 credits for thisinstance
5 Conclusions
In this work we proposed an algorithm to solve the balancedacademic curriculum problem using the ACOmetaheuristicThe experimental evaluation shows the effectiveness of artifi-cial ants solving constraint satisfaction problems All the testsshow that the margin of error is much smaller than the validsolutions delivered For benchmark instances the quality ofthe solution was satisfactory and the optimal values of eachinstance were reached in the majority of the cases In thereal instances the results were also positive In 2 instances(INF and UPLA) the results were better than in the officialcurricula and in the ICI results they were equal than in theofficial curricula Moreover the number of iterations to reachthe optimum was lowTherefore the BWAS algorithm is ableto satisfy all constraints of the problem in most cases Thuswe state that our proposal is a fairly reliable alternative tosolve the BACP For future work we plan to tackle morecomplicated versions of BACP as was proposed in [1]
8 Mathematical Problems in Engineering
0
001
002
003
004
005
006
0071 40 79 118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Qua
lity
Iteration
Worst INFWorst UPLAWorst ICI
Figure 12 Efficiency of the algorithm in real instances (worstsolution)
Acknowledgments
Nibaldo Rodriguez is supported by Grant CONICYTFONDECYTRegular 1131105 and Ricardo Soto is supportedby Grant CONICYTFONDECYTIniciacion 11130459
References
[1] M Chiarandini L D Gaspero S Gualandi and A SchaerfldquoThe balanced academic curriculum problem revisitedrdquo Journalof Heuristics vol 18 no 1 pp 119ndash148 2012
[2] J N Monette P Schaus S Zampelli Y Deville and P DupontldquoA cp approach to the balanced academic curriculum problemrdquoin Proceedings of the 7th International Workshop on Symmetryand Constraint Satisfaction Problems 2007
[3] C Castro and S Manzano ldquoVariable and value ordering whensolving balanced academic curriculum problemsrdquo in Proceed-ings of the 6thWorkshop of the ERCIMWG on Constraints June2001
[4] B Hnich Z Kiziltan and T Walsh ldquoModelling a balancedacademic curriculumproblemrdquo in Proceedings of the CP-AI-OR2002
[5] C Castro B Crawford and E Monfroy ldquoA quantitativeapproach for the design of academic curriculardquo in HumanInterface and the Management of Information Interacting inInformation Environments vol 4558 of Lecture Notes in Com-puter Science pp 279ndash288 2007
[6] T Lambert C Castro E Monfroy M C Riff and F SaubionldquoHybridization of genetic algorithms and constraint propaga-tion for the BACPrdquo in Proceedings of the 21st InternationalConference on Logic Programming (ICLP rsquo05) pp 421ndash423October 2005
[7] T Lambert C Castro E Monfroy and F Saubion ldquoSolving thebalanced academic curriculum problem with an hybridizationof genetic algorithm and constraint propagationrdquo in ArtificialIntelligence and Soft ComputingmdashICAISC 2006 vol 4029 ofLecture Notes in Computer Science pp 410ndash419 2006
[8] M Dorigo and C Blum ldquoAnt colony optimization theory asurveyrdquoTheoretical Computer Science vol 344 no 2-3 pp 243ndash278 2005
[9] O Cordon I F de Viana and F Herrera ldquoAnalysis of the best-worst ant system and its variants on the qaprdquo in Ant Algorithmspp 228ndash234 2002
[10] O Cordon I F de Viana F Herrera and L Moreno ldquoA newaco model integrating evolutionary computation concepts thebest-worst ant systemrdquo in Ant Algorithms 2000
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Mathematical Problems in Engineering 5
Table 2 Result for benchmark instances
Instance BWAS Best BWASWorst BWAS Average 120590 lp-solve Best lp-solve Worst OptimalBacp8 17 18 173 048 17 54 17Bacp10 14 15 142 042 24 48 14Bacp12 18 20 184 069 infin infin 18
58
33
9
Invalid
14 credits15 credits
Figure 4 Number of credits for a medium instance
42
40
2
16
Invalid18 credits19 credits
20 credits
Figure 5 Number of credits for a large instance
convergence time to the optimal solution is smaller in bacp8and bacp10 But we cannot guarantee that 18 credits is theoptimal solution in bacp12 but it is the best solution foundby the algorithm For the 12-period problem lp-solve [3] doesnot get any log after a ldquoturn-around-timerdquo of 1 day
In Figure 6 we show a graphic with the quality of the bestsolution found for each instance by iterationThe efficiency of
0
001
002
003
004
005
006
007
008
1 40 79 118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Qua
lity
Iteration
BACP8 BestBACP10 BestBACP12 Best
Figure 6 Efficiency of the algorithm (best solution)
0
001
002
003
004
005
006
007
1 41 81 121
161
201
241
281
321
361
401
441
481
521
561
601
641
681
721
761
801
841
881
921
961
Qua
lity
IterationBACP8 WorstBACP10 WorstBACP12 Worst
Figure 7 Efficiency of the algorithm (worst solution)
the algorithm is very high as it converges before the first 100iterations In this graphic the quality is measured using (3)In the case of the worst solutions no instances achieve theoptimum but they all converge quickly The exception wasbacp12 which takes time and moves away from the best valuefound evenmore than the other two instances (see Figure 7)
6 Mathematical Problems in Engineering
Table 3 Time (ms) for the best solution to obtain the optimum
Credits Bacp8 Bacp10 Bacp12 119876 (sol)20 811 mdash 3994 00519 mdash mdash 5438 005218 1045 1061 6368 005517 1248 1342 005816 1404 006215 1451 006614 1919 0071
Table 4 Time (ms) for the worst solution to obtain the optimum
Credits Bacp8 Bacp10 Bacp12 119876 (sol)20 1201 1502 23448 00519 1279 1532 005218 1840 mdash 005517 mdash 005816 1602 006215 2222 0066
In Tables 3 and 4 we can see in the first column themaximum amount of credits of the curricula designed by theBWAS algorithm The next three columns are the instancesand the last column is the quality of the solution calculatedusing (3) The hyphen means that the quality of the solutionwas skipped For example in Table 4 the bacp10 instancewent from a quality of 19 to a quality of 16 The emptyspaces mean that the solution did not reach that value Theperformance of lp-solve is very limited in contrast to theBWAS algorithm In the case of the 8-period problem theoptimum plan is obtained in 1460 seconds For the 10-periodproblem no result is obtained after 5 hours and the last resultwas logged before 1700 seconds (see additional details in [3])
In Figure 7 we show the worst solution found by theBWAS algorithm for solving the BACP measured by quality
42 Real Instances To test our proposal with real instancesthree benchmark files were created using the same for-mat used in the test instances The curriculums evaluatedare Informatics Engineering short program (8 periods)Informatics Engineering long program (12 periods) fromCatholic University of Valparaiso and Informatics Engi-neering medium program (10 periods) from Playa AnchaUniversity The academic plan of Informatics Engineering(short program INF) has 34 courses the complexity is lowerthan that of bacp8 because of the number of courses Table 5summarizes the results obtained (the optimal value is themaximum of the real curriculum for the career) for examplefrom 50 executions the algorithm found a better solutionthan the real curricula (20 credits) with a maximum amountof 18 credits (see Figure 8)
Also we evaluate the performance of the BWAS in thecurriculum of Informatics Engineering (long program) inthis instance the complexity is bigger than that of INF butlower than that of bacp12 It has 53 courses to be assigned to12 academic periods The results are shown in Figure 9
Table 5 Result for real instances
Instance Best Worst Average 120590 OptimalINF 18 18 18 0 20ICI 18 18 18 0 18UPLA 13 15 14 066 14
86
4
10
Invalid
18 credits19 credits
Figure 8 Number of credits for short real instance
86
2 12
Invalid
18 credits19 credits
Figure 9 Number of credits for long real instance
In this instance the effectiveness was maintained with86 of the runs but the number of invalid solutions increasesto 12 The last evaluation corresponds to the Playa AnchaUniversity instance (UPLA) where the optimal solution wasfound in only 20 of the iterations surpassing the 14 creditsof the official curriculumHowever the objective value was 14
Mathematical Problems in Engineering 7
20
58
12
28
Invalid13 credits14 credits15 credits
16 credits
Figure 10 Number of credits for medium real instance
Table 6 Time (ms) for the best solution to obtain the optimum inreal instances
Credits INF ICI UPLA 119876 (sol)20 594 3484 mdash 00519 mdash 3692 mdash 005218 976 4080 mdash 005517 mdash 005816 2993 006215 3078 006614 3392 0071
credits with 58 of the runs This curriculum has 49 coursesassigned in 10 semesters (see Figure 10) Again we took thetop 10 (regardless of the invalid solutions) from the 50 runsand summarized the results for the three instances
Now we are going to compare the time and iteration inwhich the algorithm finds the best and worst solutions InTable 6 we can see the time inmilliseconds that the algorithmtakes to reach the different solutions In the case of INF andICI the time is very low In the case of UPLA it takes a littlemore than 10 seconds to reach the optimal value
Figure 11 shows the quality of solution by iteration wherewe can see the speed of convergence
In the case of the worst solutions (see Table 7) INF andICI reach the optimum but this time takes more seconds Inthe case of UPLA this instance did not reach the optimumbut it takes less seconds
In Figure 12 they see theworst solutions take a longer timeto converge that this is because the optimum value for theICI and INF instances has the majority of the percentageFor UPLA the optimum is 13 credits but the most repeatedsolution corresponds to 14 credits which explains why theworst solution takes a longer time to converge However the
0
001
002
003
004
005
006
007
008
009
1 39 77 115
153
191
229
267
305
343
381
419
457
495
533
571
609
647
685
723
761
799
837
875
913
951
989
Qua
lity
IterationBest INFBest UPLABest ICI
Figure 11 Efficiency of the algorithm in real instances (bestsolution)
Table 7 Time (ms) for the worst solution to obtain the optimum inreal instances
Credits INF ICI UPLA 119876 (sol)20 3143 3969 mdash 00519 3527 16671 mdash 005218 8928 17274 mdash 005517 3574 005816 3682 006215 3864 006620 3143 3969 mdash 005
worst solution found by the algorithm has 15 credits for thisinstance
5 Conclusions
In this work we proposed an algorithm to solve the balancedacademic curriculum problem using the ACOmetaheuristicThe experimental evaluation shows the effectiveness of artifi-cial ants solving constraint satisfaction problems All the testsshow that the margin of error is much smaller than the validsolutions delivered For benchmark instances the quality ofthe solution was satisfactory and the optimal values of eachinstance were reached in the majority of the cases In thereal instances the results were also positive In 2 instances(INF and UPLA) the results were better than in the officialcurricula and in the ICI results they were equal than in theofficial curricula Moreover the number of iterations to reachthe optimum was lowTherefore the BWAS algorithm is ableto satisfy all constraints of the problem in most cases Thuswe state that our proposal is a fairly reliable alternative tosolve the BACP For future work we plan to tackle morecomplicated versions of BACP as was proposed in [1]
8 Mathematical Problems in Engineering
0
001
002
003
004
005
006
0071 40 79 118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Qua
lity
Iteration
Worst INFWorst UPLAWorst ICI
Figure 12 Efficiency of the algorithm in real instances (worstsolution)
Acknowledgments
Nibaldo Rodriguez is supported by Grant CONICYTFONDECYTRegular 1131105 and Ricardo Soto is supportedby Grant CONICYTFONDECYTIniciacion 11130459
References
[1] M Chiarandini L D Gaspero S Gualandi and A SchaerfldquoThe balanced academic curriculum problem revisitedrdquo Journalof Heuristics vol 18 no 1 pp 119ndash148 2012
[2] J N Monette P Schaus S Zampelli Y Deville and P DupontldquoA cp approach to the balanced academic curriculum problemrdquoin Proceedings of the 7th International Workshop on Symmetryand Constraint Satisfaction Problems 2007
[3] C Castro and S Manzano ldquoVariable and value ordering whensolving balanced academic curriculum problemsrdquo in Proceed-ings of the 6thWorkshop of the ERCIMWG on Constraints June2001
[4] B Hnich Z Kiziltan and T Walsh ldquoModelling a balancedacademic curriculumproblemrdquo in Proceedings of the CP-AI-OR2002
[5] C Castro B Crawford and E Monfroy ldquoA quantitativeapproach for the design of academic curriculardquo in HumanInterface and the Management of Information Interacting inInformation Environments vol 4558 of Lecture Notes in Com-puter Science pp 279ndash288 2007
[6] T Lambert C Castro E Monfroy M C Riff and F SaubionldquoHybridization of genetic algorithms and constraint propaga-tion for the BACPrdquo in Proceedings of the 21st InternationalConference on Logic Programming (ICLP rsquo05) pp 421ndash423October 2005
[7] T Lambert C Castro E Monfroy and F Saubion ldquoSolving thebalanced academic curriculum problem with an hybridizationof genetic algorithm and constraint propagationrdquo in ArtificialIntelligence and Soft ComputingmdashICAISC 2006 vol 4029 ofLecture Notes in Computer Science pp 410ndash419 2006
[8] M Dorigo and C Blum ldquoAnt colony optimization theory asurveyrdquoTheoretical Computer Science vol 344 no 2-3 pp 243ndash278 2005
[9] O Cordon I F de Viana and F Herrera ldquoAnalysis of the best-worst ant system and its variants on the qaprdquo in Ant Algorithmspp 228ndash234 2002
[10] O Cordon I F de Viana F Herrera and L Moreno ldquoA newaco model integrating evolutionary computation concepts thebest-worst ant systemrdquo in Ant Algorithms 2000
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
6 Mathematical Problems in Engineering
Table 3 Time (ms) for the best solution to obtain the optimum
Credits Bacp8 Bacp10 Bacp12 119876 (sol)20 811 mdash 3994 00519 mdash mdash 5438 005218 1045 1061 6368 005517 1248 1342 005816 1404 006215 1451 006614 1919 0071
Table 4 Time (ms) for the worst solution to obtain the optimum
Credits Bacp8 Bacp10 Bacp12 119876 (sol)20 1201 1502 23448 00519 1279 1532 005218 1840 mdash 005517 mdash 005816 1602 006215 2222 0066
In Tables 3 and 4 we can see in the first column themaximum amount of credits of the curricula designed by theBWAS algorithm The next three columns are the instancesand the last column is the quality of the solution calculatedusing (3) The hyphen means that the quality of the solutionwas skipped For example in Table 4 the bacp10 instancewent from a quality of 19 to a quality of 16 The emptyspaces mean that the solution did not reach that value Theperformance of lp-solve is very limited in contrast to theBWAS algorithm In the case of the 8-period problem theoptimum plan is obtained in 1460 seconds For the 10-periodproblem no result is obtained after 5 hours and the last resultwas logged before 1700 seconds (see additional details in [3])
In Figure 7 we show the worst solution found by theBWAS algorithm for solving the BACP measured by quality
42 Real Instances To test our proposal with real instancesthree benchmark files were created using the same for-mat used in the test instances The curriculums evaluatedare Informatics Engineering short program (8 periods)Informatics Engineering long program (12 periods) fromCatholic University of Valparaiso and Informatics Engi-neering medium program (10 periods) from Playa AnchaUniversity The academic plan of Informatics Engineering(short program INF) has 34 courses the complexity is lowerthan that of bacp8 because of the number of courses Table 5summarizes the results obtained (the optimal value is themaximum of the real curriculum for the career) for examplefrom 50 executions the algorithm found a better solutionthan the real curricula (20 credits) with a maximum amountof 18 credits (see Figure 8)
Also we evaluate the performance of the BWAS in thecurriculum of Informatics Engineering (long program) inthis instance the complexity is bigger than that of INF butlower than that of bacp12 It has 53 courses to be assigned to12 academic periods The results are shown in Figure 9
Table 5 Result for real instances
Instance Best Worst Average 120590 OptimalINF 18 18 18 0 20ICI 18 18 18 0 18UPLA 13 15 14 066 14
86
4
10
Invalid
18 credits19 credits
Figure 8 Number of credits for short real instance
86
2 12
Invalid
18 credits19 credits
Figure 9 Number of credits for long real instance
In this instance the effectiveness was maintained with86 of the runs but the number of invalid solutions increasesto 12 The last evaluation corresponds to the Playa AnchaUniversity instance (UPLA) where the optimal solution wasfound in only 20 of the iterations surpassing the 14 creditsof the official curriculumHowever the objective value was 14
Mathematical Problems in Engineering 7
20
58
12
28
Invalid13 credits14 credits15 credits
16 credits
Figure 10 Number of credits for medium real instance
Table 6 Time (ms) for the best solution to obtain the optimum inreal instances
Credits INF ICI UPLA 119876 (sol)20 594 3484 mdash 00519 mdash 3692 mdash 005218 976 4080 mdash 005517 mdash 005816 2993 006215 3078 006614 3392 0071
credits with 58 of the runs This curriculum has 49 coursesassigned in 10 semesters (see Figure 10) Again we took thetop 10 (regardless of the invalid solutions) from the 50 runsand summarized the results for the three instances
Now we are going to compare the time and iteration inwhich the algorithm finds the best and worst solutions InTable 6 we can see the time inmilliseconds that the algorithmtakes to reach the different solutions In the case of INF andICI the time is very low In the case of UPLA it takes a littlemore than 10 seconds to reach the optimal value
Figure 11 shows the quality of solution by iteration wherewe can see the speed of convergence
In the case of the worst solutions (see Table 7) INF andICI reach the optimum but this time takes more seconds Inthe case of UPLA this instance did not reach the optimumbut it takes less seconds
In Figure 12 they see theworst solutions take a longer timeto converge that this is because the optimum value for theICI and INF instances has the majority of the percentageFor UPLA the optimum is 13 credits but the most repeatedsolution corresponds to 14 credits which explains why theworst solution takes a longer time to converge However the
0
001
002
003
004
005
006
007
008
009
1 39 77 115
153
191
229
267
305
343
381
419
457
495
533
571
609
647
685
723
761
799
837
875
913
951
989
Qua
lity
IterationBest INFBest UPLABest ICI
Figure 11 Efficiency of the algorithm in real instances (bestsolution)
Table 7 Time (ms) for the worst solution to obtain the optimum inreal instances
Credits INF ICI UPLA 119876 (sol)20 3143 3969 mdash 00519 3527 16671 mdash 005218 8928 17274 mdash 005517 3574 005816 3682 006215 3864 006620 3143 3969 mdash 005
worst solution found by the algorithm has 15 credits for thisinstance
5 Conclusions
In this work we proposed an algorithm to solve the balancedacademic curriculum problem using the ACOmetaheuristicThe experimental evaluation shows the effectiveness of artifi-cial ants solving constraint satisfaction problems All the testsshow that the margin of error is much smaller than the validsolutions delivered For benchmark instances the quality ofthe solution was satisfactory and the optimal values of eachinstance were reached in the majority of the cases In thereal instances the results were also positive In 2 instances(INF and UPLA) the results were better than in the officialcurricula and in the ICI results they were equal than in theofficial curricula Moreover the number of iterations to reachthe optimum was lowTherefore the BWAS algorithm is ableto satisfy all constraints of the problem in most cases Thuswe state that our proposal is a fairly reliable alternative tosolve the BACP For future work we plan to tackle morecomplicated versions of BACP as was proposed in [1]
8 Mathematical Problems in Engineering
0
001
002
003
004
005
006
0071 40 79 118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Qua
lity
Iteration
Worst INFWorst UPLAWorst ICI
Figure 12 Efficiency of the algorithm in real instances (worstsolution)
Acknowledgments
Nibaldo Rodriguez is supported by Grant CONICYTFONDECYTRegular 1131105 and Ricardo Soto is supportedby Grant CONICYTFONDECYTIniciacion 11130459
References
[1] M Chiarandini L D Gaspero S Gualandi and A SchaerfldquoThe balanced academic curriculum problem revisitedrdquo Journalof Heuristics vol 18 no 1 pp 119ndash148 2012
[2] J N Monette P Schaus S Zampelli Y Deville and P DupontldquoA cp approach to the balanced academic curriculum problemrdquoin Proceedings of the 7th International Workshop on Symmetryand Constraint Satisfaction Problems 2007
[3] C Castro and S Manzano ldquoVariable and value ordering whensolving balanced academic curriculum problemsrdquo in Proceed-ings of the 6thWorkshop of the ERCIMWG on Constraints June2001
[4] B Hnich Z Kiziltan and T Walsh ldquoModelling a balancedacademic curriculumproblemrdquo in Proceedings of the CP-AI-OR2002
[5] C Castro B Crawford and E Monfroy ldquoA quantitativeapproach for the design of academic curriculardquo in HumanInterface and the Management of Information Interacting inInformation Environments vol 4558 of Lecture Notes in Com-puter Science pp 279ndash288 2007
[6] T Lambert C Castro E Monfroy M C Riff and F SaubionldquoHybridization of genetic algorithms and constraint propaga-tion for the BACPrdquo in Proceedings of the 21st InternationalConference on Logic Programming (ICLP rsquo05) pp 421ndash423October 2005
[7] T Lambert C Castro E Monfroy and F Saubion ldquoSolving thebalanced academic curriculum problem with an hybridizationof genetic algorithm and constraint propagationrdquo in ArtificialIntelligence and Soft ComputingmdashICAISC 2006 vol 4029 ofLecture Notes in Computer Science pp 410ndash419 2006
[8] M Dorigo and C Blum ldquoAnt colony optimization theory asurveyrdquoTheoretical Computer Science vol 344 no 2-3 pp 243ndash278 2005
[9] O Cordon I F de Viana and F Herrera ldquoAnalysis of the best-worst ant system and its variants on the qaprdquo in Ant Algorithmspp 228ndash234 2002
[10] O Cordon I F de Viana F Herrera and L Moreno ldquoA newaco model integrating evolutionary computation concepts thebest-worst ant systemrdquo in Ant Algorithms 2000
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Mathematical Problems in Engineering 7
20
58
12
28
Invalid13 credits14 credits15 credits
16 credits
Figure 10 Number of credits for medium real instance
Table 6 Time (ms) for the best solution to obtain the optimum inreal instances
Credits INF ICI UPLA 119876 (sol)20 594 3484 mdash 00519 mdash 3692 mdash 005218 976 4080 mdash 005517 mdash 005816 2993 006215 3078 006614 3392 0071
credits with 58 of the runs This curriculum has 49 coursesassigned in 10 semesters (see Figure 10) Again we took thetop 10 (regardless of the invalid solutions) from the 50 runsand summarized the results for the three instances
Now we are going to compare the time and iteration inwhich the algorithm finds the best and worst solutions InTable 6 we can see the time inmilliseconds that the algorithmtakes to reach the different solutions In the case of INF andICI the time is very low In the case of UPLA it takes a littlemore than 10 seconds to reach the optimal value
Figure 11 shows the quality of solution by iteration wherewe can see the speed of convergence
In the case of the worst solutions (see Table 7) INF andICI reach the optimum but this time takes more seconds Inthe case of UPLA this instance did not reach the optimumbut it takes less seconds
In Figure 12 they see theworst solutions take a longer timeto converge that this is because the optimum value for theICI and INF instances has the majority of the percentageFor UPLA the optimum is 13 credits but the most repeatedsolution corresponds to 14 credits which explains why theworst solution takes a longer time to converge However the
0
001
002
003
004
005
006
007
008
009
1 39 77 115
153
191
229
267
305
343
381
419
457
495
533
571
609
647
685
723
761
799
837
875
913
951
989
Qua
lity
IterationBest INFBest UPLABest ICI
Figure 11 Efficiency of the algorithm in real instances (bestsolution)
Table 7 Time (ms) for the worst solution to obtain the optimum inreal instances
Credits INF ICI UPLA 119876 (sol)20 3143 3969 mdash 00519 3527 16671 mdash 005218 8928 17274 mdash 005517 3574 005816 3682 006215 3864 006620 3143 3969 mdash 005
worst solution found by the algorithm has 15 credits for thisinstance
5 Conclusions
In this work we proposed an algorithm to solve the balancedacademic curriculum problem using the ACOmetaheuristicThe experimental evaluation shows the effectiveness of artifi-cial ants solving constraint satisfaction problems All the testsshow that the margin of error is much smaller than the validsolutions delivered For benchmark instances the quality ofthe solution was satisfactory and the optimal values of eachinstance were reached in the majority of the cases In thereal instances the results were also positive In 2 instances(INF and UPLA) the results were better than in the officialcurricula and in the ICI results they were equal than in theofficial curricula Moreover the number of iterations to reachthe optimum was lowTherefore the BWAS algorithm is ableto satisfy all constraints of the problem in most cases Thuswe state that our proposal is a fairly reliable alternative tosolve the BACP For future work we plan to tackle morecomplicated versions of BACP as was proposed in [1]
8 Mathematical Problems in Engineering
0
001
002
003
004
005
006
0071 40 79 118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Qua
lity
Iteration
Worst INFWorst UPLAWorst ICI
Figure 12 Efficiency of the algorithm in real instances (worstsolution)
Acknowledgments
Nibaldo Rodriguez is supported by Grant CONICYTFONDECYTRegular 1131105 and Ricardo Soto is supportedby Grant CONICYTFONDECYTIniciacion 11130459
References
[1] M Chiarandini L D Gaspero S Gualandi and A SchaerfldquoThe balanced academic curriculum problem revisitedrdquo Journalof Heuristics vol 18 no 1 pp 119ndash148 2012
[2] J N Monette P Schaus S Zampelli Y Deville and P DupontldquoA cp approach to the balanced academic curriculum problemrdquoin Proceedings of the 7th International Workshop on Symmetryand Constraint Satisfaction Problems 2007
[3] C Castro and S Manzano ldquoVariable and value ordering whensolving balanced academic curriculum problemsrdquo in Proceed-ings of the 6thWorkshop of the ERCIMWG on Constraints June2001
[4] B Hnich Z Kiziltan and T Walsh ldquoModelling a balancedacademic curriculumproblemrdquo in Proceedings of the CP-AI-OR2002
[5] C Castro B Crawford and E Monfroy ldquoA quantitativeapproach for the design of academic curriculardquo in HumanInterface and the Management of Information Interacting inInformation Environments vol 4558 of Lecture Notes in Com-puter Science pp 279ndash288 2007
[6] T Lambert C Castro E Monfroy M C Riff and F SaubionldquoHybridization of genetic algorithms and constraint propaga-tion for the BACPrdquo in Proceedings of the 21st InternationalConference on Logic Programming (ICLP rsquo05) pp 421ndash423October 2005
[7] T Lambert C Castro E Monfroy and F Saubion ldquoSolving thebalanced academic curriculum problem with an hybridizationof genetic algorithm and constraint propagationrdquo in ArtificialIntelligence and Soft ComputingmdashICAISC 2006 vol 4029 ofLecture Notes in Computer Science pp 410ndash419 2006
[8] M Dorigo and C Blum ldquoAnt colony optimization theory asurveyrdquoTheoretical Computer Science vol 344 no 2-3 pp 243ndash278 2005
[9] O Cordon I F de Viana and F Herrera ldquoAnalysis of the best-worst ant system and its variants on the qaprdquo in Ant Algorithmspp 228ndash234 2002
[10] O Cordon I F de Viana F Herrera and L Moreno ldquoA newaco model integrating evolutionary computation concepts thebest-worst ant systemrdquo in Ant Algorithms 2000
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
8 Mathematical Problems in Engineering
0
001
002
003
004
005
006
0071 40 79 118
157
196
235
274
313
352
391
430
469
508
547
586
625
664
703
742
781
820
859
898
937
976
Qua
lity
Iteration
Worst INFWorst UPLAWorst ICI
Figure 12 Efficiency of the algorithm in real instances (worstsolution)
Acknowledgments
Nibaldo Rodriguez is supported by Grant CONICYTFONDECYTRegular 1131105 and Ricardo Soto is supportedby Grant CONICYTFONDECYTIniciacion 11130459
References
[1] M Chiarandini L D Gaspero S Gualandi and A SchaerfldquoThe balanced academic curriculum problem revisitedrdquo Journalof Heuristics vol 18 no 1 pp 119ndash148 2012
[2] J N Monette P Schaus S Zampelli Y Deville and P DupontldquoA cp approach to the balanced academic curriculum problemrdquoin Proceedings of the 7th International Workshop on Symmetryand Constraint Satisfaction Problems 2007
[3] C Castro and S Manzano ldquoVariable and value ordering whensolving balanced academic curriculum problemsrdquo in Proceed-ings of the 6thWorkshop of the ERCIMWG on Constraints June2001
[4] B Hnich Z Kiziltan and T Walsh ldquoModelling a balancedacademic curriculumproblemrdquo in Proceedings of the CP-AI-OR2002
[5] C Castro B Crawford and E Monfroy ldquoA quantitativeapproach for the design of academic curriculardquo in HumanInterface and the Management of Information Interacting inInformation Environments vol 4558 of Lecture Notes in Com-puter Science pp 279ndash288 2007
[6] T Lambert C Castro E Monfroy M C Riff and F SaubionldquoHybridization of genetic algorithms and constraint propaga-tion for the BACPrdquo in Proceedings of the 21st InternationalConference on Logic Programming (ICLP rsquo05) pp 421ndash423October 2005
[7] T Lambert C Castro E Monfroy and F Saubion ldquoSolving thebalanced academic curriculum problem with an hybridizationof genetic algorithm and constraint propagationrdquo in ArtificialIntelligence and Soft ComputingmdashICAISC 2006 vol 4029 ofLecture Notes in Computer Science pp 410ndash419 2006
[8] M Dorigo and C Blum ldquoAnt colony optimization theory asurveyrdquoTheoretical Computer Science vol 344 no 2-3 pp 243ndash278 2005
[9] O Cordon I F de Viana and F Herrera ldquoAnalysis of the best-worst ant system and its variants on the qaprdquo in Ant Algorithmspp 228ndash234 2002
[10] O Cordon I F de Viana F Herrera and L Moreno ldquoA newaco model integrating evolutionary computation concepts thebest-worst ant systemrdquo in Ant Algorithms 2000
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of
Submit your manuscripts athttpwwwhindawicom
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical Problems in Engineering
Hindawi Publishing Corporationhttpwwwhindawicom
Differential EquationsInternational Journal of
Volume 2014
Applied MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Probability and StatisticsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Mathematical PhysicsAdvances in
Complex AnalysisJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
OptimizationJournal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
CombinatoricsHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Operations ResearchAdvances in
Journal of
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Function Spaces
Abstract and Applied AnalysisHindawi Publishing Corporationhttpwwwhindawicom Volume 2014
International Journal of Mathematics and Mathematical Sciences
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
The Scientific World JournalHindawi Publishing Corporation httpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Algebra
Discrete Dynamics in Nature and Society
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Decision SciencesAdvances in
Discrete MathematicsJournal of
Hindawi Publishing Corporationhttpwwwhindawicom
Volume 2014 Hindawi Publishing Corporationhttpwwwhindawicom Volume 2014
Stochastic AnalysisInternational Journal of