import model.Customer import util._ class HHCSim( private val epsilonMax: Int, private val iterations: Int, // private val customers: IndexedSeq[Customer], private val WLDMax: Float ) { // private val graph: Array[Array[T]] def go( customers: Either[String, IndexedSeq[Customer]] ): String Either Map[Int, IndexedSeq[(Int, Double)]] = customers .map(Util.formAdjMatrix) .map(edges => Util.mstUsingPrims(edges)) .map(mst => Util.findCentroids(mst)) .map( e => e match { case (mst, centroids, removed) => Util.findClusters(mst, centroids, removed) } ) .map( e => e match { case (centroids, clusters, removed) => Util.groupClusters(centroids, clusters, removed) } ) }