Class Pfqn_ab_amvaKt

    • Constructor Detail

    • Method Detail

      • ab_amva

         final static Ret.pfqnAMVAMS ab_amva(Matrix serviceTimes, Matrix N, Matrix V, Matrix nservers, List<SchedStrategy> schedStrategies, Boolean fcfsSchmidt, String marginalProbMethod)

        Akyildiz-Bolch AMVA method for multi-server BCMP networks.

        An approximate MVA algorithm using the Akyildiz-Bolch linearizer technique for closed queueing networks with multi-server stations.

        Parameters:
        serviceTimes - Service time matrix (M x K)
        N - Population vector (1 x K)
        V - Visit ratio matrix (M x K)
        nservers - Number of servers at each station (M x 1)
        schedStrategies - Scheduling strategies for each station
        fcfsSchmidt - Whether to use Schmidt formula for FCFS stations
        marginalProbMethod - Method for marginal probability calculation ("ab" or "scat")
        Returns:

        pfqnAMVAMS result containing Q, U, R, C, X, and iteration count

      • ab_linearizer

         final static Ret.pfqnAMVA ab_linearizer(Integer K, Integer M, Matrix population, Matrix nservers, List<SchedStrategy> type, Matrix v, Matrix s, Boolean fcfsSchmidt, String marginalProbMethod)

        Akyildiz-Bolch linearizer method for multi-server BCMP networks.

        Parameters:
        K - Number of classes
        M - Number of stations
        population - Population vector
        nservers - Number of servers at each station
        type - Scheduling discipline at each station
        v - Visit matrix
        s - Service time matrix
        fcfsSchmidt - Whether to use Schmidt formula for FCFS
        marginalProbMethod - Method for marginal probability ("ab" or "scat")
        Returns:

        pfqnAMVA result with performance measures

      • pfqn_ab_core

         final static Ret.pfqnAMVA pfqn_ab_core(Integer K, Integer M, Matrix population, Matrix nservers, List<SchedStrategy> type, Matrix v, Matrix s, Integer maxiter, Array<Array<DoubleArray>> D, Matrix lIn, Boolean fcfsSchmidt, String marginalProbMethod)

        Akyildiz-Bolch core method for multi-server BCMP networks.

        Parameters:
        K - Number of classes
        M - Number of stations
        population - Population vector (1D matrix of size K)
        nservers - Number of servers at each station
        type - Scheduling discipline at each station
        v - Visit matrix
        s - Service time matrix
        maxiter - Maximum number of iterations
        D - Fractional changes matrix
        lIn - Initial queue length matrix
        fcfsSchmidt - Whether to use Schmidt formula for FCFS
        marginalProbMethod - Method for marginal probability
        Returns:

        pfqnAMVA result with performance measures

      • findMarginalProbs

         final static Map<Integer, Double> findMarginalProbs(Double avgJobs, Integer numServers, Matrix population, Integer classIdx, String marginalProbMethod)

        Finds marginal probabilities using specified method.

        Parameters:
        avgJobs - Average number of jobs
        numServers - Number of servers
        population - Population vector
        classIdx - Class index
        marginalProbMethod - Method ("scat" or "ab")
        Returns:

        Map of job count to probability