Skip to content

Commit 59d2419

Browse files
author
Daniel García
committed
[Modified] global variable
1 parent c080766 commit 59d2419

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

app/src/main/java/com/tripletres/platformscience/domain/algorithm/BranchAndBoundAlgorithm.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.tripletres.platformscience.domain.algorithm
22

33
import com.tripletres.platformscience.domain.ShipmentDriverAssignation.SuitabilityScore
4+
import com.tripletres.platformscience.domain.algorithm.BranchAndBoundAlgorithm.Node
45
import com.tripletres.platformscience.domain.model.Driver
56
import com.tripletres.platformscience.domain.model.Shipment
67

@@ -33,13 +34,14 @@ import com.tripletres.platformscience.domain.model.Shipment
3334
*/
3435
class BranchAndBoundAlgorithm : IAssignationAlgorithm {
3536

37+
private var n = 0
38+
3639
override fun getBestMatching(input: MutableList<MutableList<SuitabilityScore>>): List<Driver> {
40+
n = input.size
3741
return execute(matrix = input)
3842
}
3943

40-
fun execute(matrix: MutableList<MutableList<SuitabilityScore>>): List<Driver> {
41-
val n = matrix[0].size
42-
44+
private fun execute(matrix: MutableList<MutableList<SuitabilityScore>>): List<Driver> {
4345
//Priority queue for nodes that are "live"
4446
val priorityQueue = mutableListOf<Node>()
4547

@@ -81,7 +83,7 @@ class BranchAndBoundAlgorithm : IAssignationAlgorithm {
8183

8284
//Calculate lower ss (that includes the path ss)
8385
child.ss = child.pathSS +
84-
getLowestSSAfterDriverAssignedShipment(matrix, i, j, child.assigned)
86+
getLowestSSAfterDriverAssignedShipment(matrix, i, child.assigned)
8587
child.driverIndex = i
8688
//Add child node to queue
8789
priorityQueue.add(child)
@@ -94,14 +96,12 @@ class BranchAndBoundAlgorithm : IAssignationAlgorithm {
9496
return getBuildNodes(minOut)
9597
}
9698

97-
fun getLowestSSAfterDriverAssignedShipment(
99+
private fun getLowestSSAfterDriverAssignedShipment(
98100
matrix: MutableList<MutableList<SuitabilityScore>>,
99101
driver: Int,
100-
shipment: Int,
101102
assigned: HashMap<Shipment, Boolean>,
102103
): Float {
103104
var cost = 0f;
104-
val n = matrix[driver].size
105105

106106
//Store available shipment
107107
val available = matrix[driver].associate { it.shipment to true }

0 commit comments

Comments
 (0)