Skip to content

Commit 2ad71d7

Browse files
author
popovic-olivera
committed
Ispravke u solveru
1 parent 56d9505 commit 2ad71d7

4 files changed

Lines changed: 17 additions & 28 deletions

File tree

src/main/kotlin/data/Repository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ object Repository {
4040
override fun toString() = when(this) {
4141
L -> "Profesor matematike i računarstva"
4242
M -> "Teorijska matematika i primene"
43-
R -> "Računrastvo i informatika"
43+
R -> "Računarstvo i informatika"
4444
N -> "Primenjena matematika"
4545
V -> "Statistika, aktuarska matematika i finansijska matematika"
4646
I -> "Informatika"

src/main/kotlin/scheduler/Day.kt

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,7 @@ import java.io.Serializable
44
import java.time.DayOfWeek
55

66
/**
7-
* Ovo će biti klasa koju planer neće moći da menja tj. da dodeljuje satima kurseve
7+
* Ovo će biti klasa koju planer neće moći da menja
88
*/
99

10-
data class Day (var dayName: DayOfWeek = DayOfWeek.MONDAY) : Serializable {
11-
override fun toString(): String {
12-
return when (dayName) {
13-
DayOfWeek.MONDAY -> "ponedeljak"
14-
DayOfWeek.TUESDAY -> "utorak"
15-
DayOfWeek.WEDNESDAY -> "sreda"
16-
DayOfWeek.THURSDAY -> "četvrtak"
17-
DayOfWeek.FRIDAY -> "petak"
18-
19-
else -> ""
20-
}
21-
}
22-
}
10+
data class Day (var dayName: DayOfWeek = DayOfWeek.MONDAY) : Serializable

src/main/kotlin/scheduler/Scheduler.kt

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,28 @@ fun generateTimetablesTask(courses: List<Course>) = runAsync {
1313
val solverFactory : SolverFactory<Timetable> = SolverFactory.createFromXmlResource("scheduler/solver/timetableSolverConfig.xml")
1414
val solver : Solver<Timetable> = solverFactory.buildSolver()
1515

16-
val dayList : MutableList<Day> = mutableListOf( Day(DayOfWeek.MONDAY),
17-
Day(DayOfWeek.TUESDAY),
18-
Day(DayOfWeek.WEDNESDAY),
19-
Day(DayOfWeek.THURSDAY),
20-
Day(DayOfWeek.FRIDAY))
16+
val dayList : List<Day> = listOf(Day(DayOfWeek.MONDAY),
17+
Day(DayOfWeek.TUESDAY),
18+
Day(DayOfWeek.WEDNESDAY),
19+
Day(DayOfWeek.THURSDAY),
20+
Day(DayOfWeek.FRIDAY))
2121

2222
val unsolvedTimetable = Timetable(courses, dayList)
2323

24-
solver.addEventListener {
25-
if (it.newBestScore?.isSolutionInitialized == true) {
26-
updateBestSolution(it.newBestSolution)
27-
println(it.newBestScore)
28-
}
24+
for(course in courses) {
25+
println(course.toString())
2926
}
27+
3028
val solvedTimetable : Timetable = solver.solve(unsolvedTimetable)
3129

3230
for(course in solvedTimetable.courseList) {
3331
println(course.toString())
3432
}
3533

36-
println(solvedTimetable.score) // Najbolji pronađen rezultat
34+
println(solvedTimetable.score?.hardScore) // Najbolji pronađen rezultat
35+
println(solvedTimetable.score?.softScore)
36+
37+
updateBestSolution(solvedTimetable)
3738
}
3839

3940
fun updateBestSolution(timetable: Timetable) {

src/main/resources/scheduler/solver/timetableSolverConfig.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="UTF-8" ?>
22
<solver>
33
<!-- Definisanje modela -->
4-
<scanAnnotatedClasses>
5-
</scanAnnotatedClasses>
4+
<solutionClass>scheduler.Timetable</solutionClass>
5+
<entityClass>data.Course</entityClass>
66

77
<!-- Definisanje funkcije za računanje rezultata -->
88
<scoreDirectorFactory>

0 commit comments

Comments
 (0)