From f7d522e95ddf9e590b0484d9a94a452ea89827ea Mon Sep 17 00:00:00 2001 From: eugenefischer <66030419+eugenefischer@users.noreply.github.com> Date: Fri, 14 Oct 2022 17:38:07 -0500 Subject: [PATCH] Comment out old MWM algorithm, add auction algorithm --- src/main/java/Simulator.java | 51 ++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/src/main/java/Simulator.java b/src/main/java/Simulator.java index a24190f..12a75e9 100644 --- a/src/main/java/Simulator.java +++ b/src/main/java/Simulator.java @@ -185,28 +185,32 @@ public class Simulator implements GraphModificationFunctions { //Find Maximum Weight Matching //using jheaps library class PairingHeap for improved efficiency if(verbose){System.out.println("Finding maximum weight matching");} - MaximumWeightBipartiteMatching maxWeightMatching; - //Use correct heap type for priority queue - String heapType = BiGpairSEQ.getPriorityQueueHeapType(); - switch (heapType) { - case "PAIRING" -> { - maxWeightMatching = new MaximumWeightBipartiteMatching(graph, - alphas, - betas, - i -> new PairingHeap(Comparator.naturalOrder())); - } - case "FIBONACCI" -> { - maxWeightMatching = new MaximumWeightBipartiteMatching(graph, - alphas, - betas, - i -> new FibonacciHeap(Comparator.naturalOrder())); - } - default -> { - maxWeightMatching = new MaximumWeightBipartiteMatching(graph, - alphas, - betas); - } - } + + //NON-AUCTION ALGORITHM +// MaximumWeightBipartiteMatching maxWeightMatching; +// //Use correct heap type for priority queue +// String heapType = BiGpairSEQ.getPriorityQueueHeapType(); +// switch (heapType) { +// case "PAIRING" -> { +// maxWeightMatching = new MaximumWeightBipartiteMatching(graph, +// alphas, +// betas, +// i -> new PairingHeap(Comparator.naturalOrder())); +// } +// case "FIBONACCI" -> { +// maxWeightMatching = new MaximumWeightBipartiteMatching(graph, +// alphas, +// betas, +// i -> new FibonacciHeap(Comparator.naturalOrder())); +// } +// default -> { +// maxWeightMatching = new MaximumWeightBipartiteMatching(graph, +// alphas, +// betas); +// } +// } + //Auction algorithm version + MaximumWeightBipartiteAuctionMatching maxWeightMatching = new MaximumWeightBipartiteAuctionMatching(graph, alphas, betas); //get the matching MatchingAlgorithm.Matching graphMatching = maxWeightMatching.getMatching(); if(verbose){System.out.println("Matching completed");} @@ -267,7 +271,8 @@ public class Simulator implements GraphModificationFunctions { } //Metadata comments for CSV file - String algoType = "LEDA book with heap: " + heapType; +// String algoType = "LEDA book with heap: " + heapType; + String algoType = "Basic Auction Algorithm"; int min = Math.min(graphAlphaCount, graphBetaCount); //matching weight BigDecimal totalMatchingWeight = maxWeightMatching.getMatchingWeight();