Advertisement
Guest User

Untitled

a guest
Aug 19th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.72 KB | None | 0 0
  1. package erlang1;
  2.  
  3. import java.util.Vector;
  4.  
  5. /**
  6.  *
  7.  * @author Mav
  8.  */
  9. public class ErlangNetwork {
  10.     private float offeredTraffic;
  11.     private int servers;
  12.     private float[] occupiedProbability;
  13.    
  14.     ErlangNetwork()
  15.     {
  16.         offeredTraffic = 0;
  17.         servers = 0;
  18.     }
  19.    
  20.     ErlangNetwork(int arrivalRate, int serviceRate, int servers)
  21.     {
  22.         offeredTraffic = (float)arrivalRate/serviceRate;
  23.         this.servers = servers;
  24.         occupiedProbability = new float[servers+1];
  25.         calcOccupiedProbability();
  26.     }
  27.    
  28.     ErlangNetwork(float offeredTraffic, int servers)
  29.     {
  30.         this.offeredTraffic = offeredTraffic;
  31.         this.servers = servers;
  32.         occupiedProbability = new float[servers+1];
  33.         calcOccupiedProbability();
  34.     }
  35.    
  36.     private void calcOccupiedProbability()
  37.     {  
  38.         float temp = 0;
  39.         for(int i = 0; i < servers; i++)
  40.         {
  41.             temp += (java.lang.Math.pow(offeredTraffic,i)/factorial(i));
  42.         }
  43.         for(int i = 0;i<=servers;i++)
  44.         {
  45.             occupiedProbability[i] = (float) (java.lang.Math.pow(offeredTraffic,i)/factorial(i))/temp;
  46.         }
  47.        
  48.     }
  49.    
  50.     //Function to get the factorial of n.
  51.     private int factorial(int n)
  52.     {
  53.         int factVal = 1;
  54.         for (int i=1; i<=n; i++)
  55.         {
  56.             factVal = factVal * i;
  57.         }
  58.         return factVal;
  59.     }
  60.    
  61.     //Function to get the occupied probability for a certain state.
  62.     float getOccupiedProbability(int state)
  63.     {  
  64.         if( state <= servers )
  65.             return occupiedProbability[state];
  66.         else
  67.             return -1; //If the state is outwith the range -1 is returned.
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement