Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C++ (http://www.go4expert.com/forums/cpp/)
-   -   M/M/C queue with C++ (http://www.go4expert.com/forums/m-m-c-queue-cpp-t2575/)

martial 16Jan2007 20:41

M/M/C queue with C++
 
Hi everyone:

The following program simulates a M/M/1 queue system. i have some difficulties in changing the program to simulate a M/M/C queue with 3 servers. Can anyone help me to solve this problem?

Thanks in advance for your help

Code:

#include <stdio.h>     
#include "smpl.h"     

void main(void)
{
  real Ta = 200;        // Mean interarrival time (seconds)
  real Ts = 100;        // Mean service time
  real te = 1.0e6;      // Total simulation time
  int customer = 1;    // Customer id (always '1' for this simulation)
  int event;            // Event (1 = arrival, 2 = request, 3 = completion)
  int server;          // Handle for server facility

  // Initialize SMPL subsystem
  smpl(0, "M/M/1 Queue");

// Initialize server facility (single server)
  server=facility("server", 3);

  // Schedule arrival event at time 0 to kick-off simulation
  schedule(1, 0.0, customer);

  // Loop while simulation time is less than te
  while (time() < te)
  {
    // "Cause" the next event on the event list
    cause(&event,&customer);

    // Process the event
    switch(event)
    {
      case 1:  // *** Arrival
        schedule(2, 0.0, customer);
        schedule(1, expntl(Ta), customer);
        break;

      case 2:  // *** Request Server
        if (request(server, customer, 0) == 0)
          schedule(3, expntl(Ts), customer);
    break;

      case 3:  // *** Release server
        release(server, customer);
        break;
    }
  }

  // Output standard SMPL report
  report();
}


shabbir 17Jan2007 10:08

Re: M/M/C queue with C++
 
Duplicate of How to implement a M/M/1 queue in C++. Thread closed.


All times are GMT +5.5. The time now is 06:43.