test_class.file: singa-mathematics/src/test/java/bio/singa/mathematics/algorithms/optimization/KuhnMunkresTest.java
test_class.identifier: KuhnMunkresTest
test_case.body: @Test
      void shouldCalculateKuhnMunkres() {
          LabeledMatrix<String> costMatrix = new LabeledRegularMatrix<>(new double[][]{{2.0, 3.0, 3.0}, {3.0, 2.0, 3.0}, {3.0, 3.0, 2.0}});
          List<String> rowLabels = Stream.of("Armond", "Francine", "Herbert").collect(Collectors.toList());
          List<String> columnLabels = Stream.of("Clean bathroom", "Sweep floors", "Wash windows").collect(Collectors.toList());
          costMatrix.setRowLabels(rowLabels);
          costMatrix.setColumnLabels(columnLabels);
          KuhnMunkres<String> kuhnMunkres = new KuhnMunkres<>(costMatrix);
          List<Pair<String>> assignedPairs = kuhnMunkres.getAssignedPairs();
          assertEquals("Armond", assignedPairs.get(0).getFirst());
          assertEquals("Clean bathroom", assignedPairs.get(0).getSecond());
          assertEquals("Francine", assignedPairs.get(1).getFirst());
          assertEquals("Sweep floors", assignedPairs.get(1).getSecond());
          assertEquals("Herbert", assignedPairs.get(2).getFirst());
          assertEquals("Wash windows", assignedPairs.get(2).getSecond());
      }
test_case.class_method_signature: KuhnMunkresTest.shouldCalculateKuhnMunkres()
test_case.full_signature: @Test void shouldCalculateKuhnMunkres()
test_case.identifier: shouldCalculateKuhnMunkres
test_case.invocations: collect of toList collect of toList setRowLabels setColumnLabels getAssignedPairs assertEquals getFirst get assertEquals getSecond get assertEquals getFirst get assertEquals getSecond get assertEquals getFirst get assertEquals getSecond get
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldCalculateKuhnMunkres()
focal_class.declarator: logger = LoggerFactory.getLogger(KuhnMunkres.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(KuhnMunkres.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: labeledCostMatrix
focal_class.modifier: private final
focal_class.original_string: private final LabeledMatrix<DataType> labeledCostMatrix;
focal_class.type: LabeledMatrix<DataType>
focal_class.var_name: labeledCostMatrix
focal_class.declarator: costMatrix
focal_class.modifier: private
focal_class.original_string: private double[][] costMatrix;
focal_class.type: double[][]
focal_class.var_name: costMatrix
focal_class.declarator: dimension
focal_class.modifier: private
focal_class.original_string: private int dimension;
focal_class.type: int
focal_class.var_name: dimension
focal_class.declarator: cols
focal_class.modifier: private
focal_class.original_string: private int cols;
focal_class.type: int
focal_class.var_name: cols
focal_class.declarator: rows
focal_class.modifier: private
focal_class.original_string: private int rows;
focal_class.type: int
focal_class.var_name: rows
focal_class.declarator: labelByWorker
focal_class.modifier: private
focal_class.original_string: private double[] labelByWorker;
focal_class.type: double[]
focal_class.var_name: labelByWorker
focal_class.declarator: labelByJob
focal_class.modifier: private
focal_class.original_string: private double[] labelByJob;
focal_class.type: double[]
focal_class.var_name: labelByJob
focal_class.declarator: minSlackWorkerByJob
focal_class.modifier: private
focal_class.original_string: private int[] minSlackWorkerByJob;
focal_class.type: int[]
focal_class.var_name: minSlackWorkerByJob
focal_class.declarator: minSlackValueByJob
focal_class.modifier: private
focal_class.original_string: private double[] minSlackValueByJob;
focal_class.type: double[]
focal_class.var_name: minSlackValueByJob
focal_class.declarator: committedWorkers
focal_class.modifier: private
focal_class.original_string: private boolean[] committedWorkers;
focal_class.type: boolean[]
focal_class.var_name: committedWorkers
focal_class.declarator: parentWorkerByCommittedJob
focal_class.modifier: private
focal_class.original_string: private int[] parentWorkerByCommittedJob;
focal_class.type: int[]
focal_class.var_name: parentWorkerByCommittedJob
focal_class.declarator: matchJobByWorker
focal_class.modifier: private
focal_class.original_string: private int[] matchJobByWorker;
focal_class.type: int[]
focal_class.var_name: matchJobByWorker
focal_class.declarator: matchWorkerByJob
focal_class.modifier: private
focal_class.original_string: private int[] matchWorkerByJob;
focal_class.type: int[]
focal_class.var_name: matchWorkerByJob
focal_class.declarator: assignedPairs
focal_class.modifier: private
focal_class.original_string: private List<Pair<DataType>> assignedPairs;
focal_class.type: List<Pair<DataType>>
focal_class.var_name: assignedPairs
focal_class.file: singa-mathematics/src/main/java/bio/singa/mathematics/algorithms/optimization/KuhnMunkres.java
focal_class.identifier: KuhnMunkres
focal_class.class_method_signature: KuhnMunkres.KuhnMunkres(LabeledMatrix<DataType> labeledCostMatrix)
focal_class.full_signature: public  KuhnMunkres(LabeledMatrix<DataType> labeledCostMatrix)
focal_class.identifier: KuhnMunkres
focal_class.modifiers: public
focal_class.parameters: (LabeledMatrix<DataType> labeledCostMatrix)
focal_class.signature:  KuhnMunkres(LabeledMatrix<DataType> labeledCostMatrix)
focal_class.class_method_signature: KuhnMunkres.execute()
focal_class.full_signature: private void execute()
focal_class.identifier: execute
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void execute()
focal_class.class_method_signature: KuhnMunkres.assignPairs(int[] result)
focal_class.full_signature: private void assignPairs(int[] result)
focal_class.identifier: assignPairs
focal_class.modifiers: private
focal_class.parameters: (int[] result)
focal_class.return: void
focal_class.signature: void assignPairs(int[] result)
focal_class.class_method_signature: KuhnMunkres.executePhase()
focal_class.full_signature: private void executePhase()
focal_class.identifier: executePhase
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void executePhase()
focal_class.class_method_signature: KuhnMunkres.updateLabeling(double slack)
focal_class.full_signature: private void updateLabeling(double slack)
focal_class.identifier: updateLabeling
focal_class.modifiers: private
focal_class.parameters: (double slack)
focal_class.return: void
focal_class.signature: void updateLabeling(double slack)
focal_class.class_method_signature: KuhnMunkres.initializePhase(int w)
focal_class.full_signature: private void initializePhase(int w)
focal_class.identifier: initializePhase
focal_class.modifiers: private
focal_class.parameters: (int w)
focal_class.return: void
focal_class.signature: void initializePhase(int w)
focal_class.class_method_signature: KuhnMunkres.fetchUnmatchedWorker()
focal_class.full_signature: private int fetchUnmatchedWorker()
focal_class.identifier: fetchUnmatchedWorker
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int fetchUnmatchedWorker()
focal_class.class_method_signature: KuhnMunkres.greedyMatch()
focal_class.full_signature: private void greedyMatch()
focal_class.identifier: greedyMatch
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void greedyMatch()
focal_class.class_method_signature: KuhnMunkres.match(int w, int j)
focal_class.full_signature: private void match(int w, int j)
focal_class.identifier: match
focal_class.modifiers: private
focal_class.parameters: (int w, int j)
focal_class.return: void
focal_class.signature: void match(int w, int j)
focal_class.class_method_signature: KuhnMunkres.initialize(double[][] costMatrix)
focal_class.full_signature: private void initialize(double[][] costMatrix)
focal_class.identifier: initialize
focal_class.modifiers: private
focal_class.parameters: (double[][] costMatrix)
focal_class.return: void
focal_class.signature: void initialize(double[][] costMatrix)
focal_class.class_method_signature: KuhnMunkres.reduce()
focal_class.full_signature: private void reduce()
focal_class.identifier: reduce
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void reduce()
focal_class.class_method_signature: KuhnMunkres.computeInitialSolution()
focal_class.full_signature: private void computeInitialSolution()
focal_class.identifier: computeInitialSolution
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void computeInitialSolution()
focal_class.class_method_signature: KuhnMunkres.getAssignedPairs()
focal_class.full_signature: public List<Pair<DataType>> getAssignedPairs()
focal_class.identifier: getAssignedPairs
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<Pair<DataType>>
focal_class.signature: List<Pair<DataType>> getAssignedPairs()
focal_method.body: public List<Pair<DataType>> getAssignedPairs() {
          return assignedPairs;
      }
focal_method.class_method_signature: KuhnMunkres.getAssignedPairs()
focal_method.full_signature: public List<Pair<DataType>> getAssignedPairs()
focal_method.identifier: getAssignedPairs
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: List<Pair<DataType>>
focal_method.signature: List<Pair<DataType>> getAssignedPairs()