Class ModelAnalyzer

  • All Implemented Interfaces:

    
    public class ModelAnalyzer
    
                        

    Helper class to analyze model characteristics for solver selection

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      double getAvgJobsPerChain() Get average jobs per chain
      int getNumChains() Get number of chains
      int getNumClasses() Get number of classes
      int getNumStations() Get number of stations (excluding reference stations)
      int getTotalJobs() Get total number of jobs in closed classes
      boolean hasClassSwitching() Check if model has class switching
      boolean hasClosedClasses() Check if model has closed classes
      boolean hasFCFS() Check if model has FCFS scheduling
      boolean hasForkJoin() Check if model has fork-join
      boolean hasLoadDependence() Check if model has load-dependent stations
      boolean hasMultiChain() Check if model has multiple chains
      boolean hasMultiServer() Check if model has multi-server stations
      boolean hasOnlyInfiniteServers() Check if all stations are infinite servers
      boolean hasOpenClasses() Check if model has open classes
      boolean hasPSorPSPRIO() Check if model has PS or PSPRIO scheduling
      boolean hasPriorities() Check if model has priorities
      boolean hasProductForm() Check if model has product form
      boolean hasSingleChain() Check if model has single chain
      boolean isClosedModel() Check if model is closed (only closed classes)
      boolean hasHomogeneousScheduling(SchedStrategy strategy) Check if model has homogeneous scheduling (all stations use the given strategy)
      boolean isOpenModel() Check if model is open (has open classes and no closed classes)
      boolean isMixedModel() Check if model is mixed (has both open and closed classes)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ModelAnalyzer

        ModelAnalyzer(Network model)
    • Method Detail

      • getNumStations

         int getNumStations()

        Get number of stations (excluding reference stations)

      • getTotalJobs

         int getTotalJobs()

        Get total number of jobs in closed classes

      • hasFCFS

         boolean hasFCFS()

        Check if model has FCFS scheduling

      • hasForkJoin

         boolean hasForkJoin()

        Check if model has fork-join

      • hasLoadDependence

         boolean hasLoadDependence()

        Check if model has load-dependent stations

      • hasMultiChain

         boolean hasMultiChain()

        Check if model has multiple chains

      • hasMultiServer

         boolean hasMultiServer()

        Check if model has multi-server stations

      • hasOpenClasses

         boolean hasOpenClasses()

        Check if model has open classes

      • hasPSorPSPRIO

         boolean hasPSorPSPRIO()

        Check if model has PS or PSPRIO scheduling

      • hasPriorities

         boolean hasPriorities()

        Check if model has priorities

      • hasProductForm

         boolean hasProductForm()

        Check if model has product form

      • hasSingleChain

         boolean hasSingleChain()

        Check if model has single chain

      • isClosedModel

         boolean isClosedModel()

        Check if model is closed (only closed classes)

      • isOpenModel

         boolean isOpenModel()

        Check if model is open (has open classes and no closed classes)

      • isMixedModel

         boolean isMixedModel()

        Check if model is mixed (has both open and closed classes)