Class BlossomVOptions

java.lang.Object
org.jgrapht.alg.matching.blossom.v5.BlossomVOptions

public class BlossomVOptions extends Object
BlossomVOptions that define the strategies to use during the algorithm for updating duals and initializing the matching

According to the experimental results, the greedy initialization substantially speeds up the algorithm.

  • Field Details

    • ALL_OPTIONS

      public static final BlossomVOptions[] ALL_OPTIONS
      All possible options
    • DEFAULT_INITIALIZATION_TYPE

      private static final BlossomVOptions.InitializationType DEFAULT_INITIALIZATION_TYPE
      Default algorithm initialization type
    • DEFAULT_DUAL_UPDATE_TYPE

      private static final BlossomVOptions.DualUpdateStrategy DEFAULT_DUAL_UPDATE_TYPE
      Default dual updates strategy
    • DEFAULT_UPDATE_DUALS_BEFORE

      private static final boolean DEFAULT_UPDATE_DUALS_BEFORE
      Default value for the flag updateDualsBefore
      See Also:
    • DEFAULT_UPDATE_DUALS_AFTER

      private static final boolean DEFAULT_UPDATE_DUALS_AFTER
      Default value for the flag updateDualsAfter
      See Also:
    • dualUpdateStrategy

      What greedy strategy to use to perform a global dual update
    • initializationType

      What strategy to choose to initialize the matching before the main phase of the algorithm
    • updateDualsBefore

      boolean updateDualsBefore
      Whether to update duals of the tree before growth
    • updateDualsAfter

      boolean updateDualsAfter
      Whether to update duals of the tree after growth
  • Constructor Details

    • BlossomVOptions

      public BlossomVOptions(BlossomVOptions.InitializationType initializationType, BlossomVOptions.DualUpdateStrategy dualUpdateStrategy, boolean updateDualsBefore, boolean updateDualsAfter)
      Constructs a custom set of options for the algorithm
      Parameters:
      initializationType - strategy for initializing the matching
      dualUpdateStrategy - greedy strategy to update dual variables globally
      updateDualsBefore - whether to update duals of the tree before growth
      updateDualsAfter - whether to update duals of the tree after growth
    • BlossomVOptions

      public BlossomVOptions(BlossomVOptions.InitializationType initializationType)
      Constructs a new options instance with a initializationType
      Parameters:
      initializationType - defines a strategy to use to initialize the matching
    • BlossomVOptions

      public BlossomVOptions()
      Constructs a default set of options for the algorithm
  • Method Details