51124

Моделирование непрерывно-стохастической системы массового обслуживания

Лабораторная работа

Информатика, кибернетика и программирование

На вход n-канальной СМО с отказами поступает поток заявок с интенсивностью l = 6 заявок в час. Среднее время обслуживания одной заявки 0.8 часа. Каждая обслуженная заявка приносит доход 4у.е. Содержание одного канала обходится 2 у.е./час. Определить экономически целесообразное количество каналов.

Русский

2014-02-06

106.86 KB

3 чел.

Министерство образования Республики Беларусь

Учреждение образования

«Белорусский государственный университет

информатики и радиоэлектроники»

Кафедра программного обеспечения

информационных технологий

ОТЧЕТ

по лабораторной работе №4

“ Моделирование непрерывно-стохастической системы массового обслуживания ”

Выполнил:         Проверила:

студент гр. 750503       Костюк Елена

Макаревич Владимир

Минск 2009


Задание

7)  На  вход n-канальной  СМО  с  отказами  поступает  поток  заявок  с

интенсивностью l = 6  заявок  в  час.  Среднее  время  обслуживания  одной

заявки 0.8  часа.  Каждая  обслуженная  заявка  приносит  доход 4у.е.

Содержание одного канала обходится 2 у.е./час. Определить экономически

целесообразное количество каналов.

Теоретическое моделирование

#include <conio.h>

#include <stdio.h>

double fact(long n)

{

 if ( n==0 ) return 1.0;

 else return n * fact(n-1);

}

double extent(double x, int n)

{

 if ( n==0 ) return 1.0;

 return x * extent(x, n-1);

}

//--------------------------------

double S(int n, double w)

{

 if ( n==0 ) return 1.0;

 return S(n-1,w) + extent(w, n) / fact(n);

}

double P0(int n, double w)

{

 double s = S(n, w);

 return 1 / s;

}

int main()

{

 double w, h = 6.0, u = 1 / 0.8, c = 4.0, d = 2.0, Pk, p, profit, max_p = 0;

 int max_ch;

w = h/u;

printf("Chanels | Profit\n");

printf("========|========\n");

 for (int k=0; k<16; k++)

{

 p = P0(k, w);

 Pk = p * extent(w, k) / fact(k);

 profit = h * (1-Pk) * c - k * d;

 if ( max_p<profit ) max_p = profit, max_ch = k;

 printf(" %6d | %2.3f -> %f\n", k, profit, Pk);

}

printf(" ----------------\n");

printf(" %6d | %2.3f  <- Optimal\n", max_ch, max_p);

 return _getch();

}

Практическое моделирование

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

double RandExp(double h)

{

 double R = (double)rand()/RAND_MAX;

 return -log(1-R) / h;

}

class Channel

{

private: bool busy;

public: Channel()

 { busy = false; }

public: bool Busy()

 { return busy; }

public: bool Empty()

 { return !busy; }

public: void Occupy()

 { busy = true; }

public: void Liberate()

 { busy = false; }

};

class System

{

private: Channel **channel;

private: int n, state;

private: System() {}

public: System(int N)

 {

  state = 0;

  n = N;

  channel = new Channel*[n];

  for(int i=0; i<n; i++)

   channel[i] = new Channel();

 }

public: int State()

 { return state; }

public: bool InRequest()

 {

  for(int i=0; i<n; i++)

  {

   if ( channel[i]->Empty() )

   {

    channel[i]->Occupy();

    state++;

    return true;

   }

  }

  return false;

 }

public: bool OutRequest()

 {

  for(int i=0; i<n; i++)

  {

   if ( channel[i]->Busy() )

   {

    state--;

    channel[i]->Liberate();

    return true;

   }

  }

  return false;

 }

};

int main()

{

 double w, h = 6.0, u = 1 / 0.8, c = 4.0, d = 2.0, profit;

 double t1 = RandExp(h), t2 = RandExp(u), eps = 0.1;

 long k, N = 6, TotalTime = 1000000;

System *sys = new System(N);

k = N+1;

 double *P = new double[k];

 for(int i=0; i<k; i++) P[i] = 0;

 for(int i=0; i<TotalTime; i++)

{

 if( t1<=0 )

 {

  t1 = RandExp(h);

  sys->InRequest();

 }

 if( t2<=0 )

 {

  t2 = RandExp(u);

  sys->OutRequest();

 }

 t1-=eps, t2-=eps;

 P[sys->State()]++;

}

 for(int i=0; i<k; i++) P[i] = P[i] / TotalTime;

 for(int i=0; i<k; i++)

{

 printf("P[%d] = %2.8f\n", i, P[i]);

}

profit = h * (1-P[N]) * c - N * d;

printf("\n %6d | %2.8f\n", N, profit);

 return _getch();

}


 

А также другие работы, которые могут Вас заинтересовать

44105. Языческие традиции в фольклоре восточных славян и русского народа (по сказкам и былинам) 420 KB
  Есть сказки богатырские житейские балагурные и пр. Логичным было бы использовать простейшее деление на сказки бытовые о животных и с волшебным содержанием иными словами волшебные сказки. Пропп отмечая что поневоле возникает вопрос: а разве сказки о животных не содержат элемента чудесного иногда в очень большой степени И наоборот: не играют ли в чудесных сказках очень большую роль именно животные Можно ли считать такой признак достаточно точным5 Таким образом с самого же первого шага нам приходится сталкиваться с логическими...
44106. Холодная листовая штамповка 12.98 MB
  Конструкция пробивного клинового штампа установленного на прессе усилием. Конструкция штампа для пробивки установленного на прессе усилием 1.6 МН модели КА3732 Конструкция штампа для вытяжки установленного на прессе усилием. Металлический материал для листовой штамповки получают в основном в металлургическом производстве: прокаткой волочением прессованием гибкой профилированием в виде листа полосы ленты различной ширины свернутой в рулон а также в виде сплошных и несплошных стержней панелей труб...
44107. ВНУТРИФИРМЕННОЕ ОБУЧЕНИЕ ПЕРСОНАЛА ПО РЕЗУЛЬТАТАМ ОЦЕНКИ В ТОРГОВОЙ ОРГАНИЗАЦИИ (на материале ООО «Крокус») 832 KB
  Теоретические основы проведения оценки и обучения персонала в организации Обучение персонала: цель задачи виды и формы Программы внутрифирменного обучения подходы к их разработке Практика разработки программы обучения по результатам оценки персонала продавцов на примере организации ООО Крокус Разработка программы внутрифирменного обучения персонала
44108. ИСПОЛЬЗОВАНИЕ КОУЧИНГА В ЦЕЛЯХ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ ДЕЯТЕЛЬНОСТИ ТОРГОВОГО ПРЕДПРИЯТИЯ 805 KB
  Концепцию и перспективные ориентиры развития человеческих ресурсов «3 М» разрабатывает отдел стратегического планирования при исполнительном директоре по стратегическим службам человеческих ресурсов. На этой основе готовится комплексный доклад по организационному анализу, который обобщает и систематизирует цели и задачи корпорации в сфере труда в рамках долговременных глобальных тенденций.
44109. Электроснабжение района города на 56 тыс. жителей 1.21 MB
  Проверяем выбранное сечение по допустимой нагрузке для условий нормального режима. Проверяем сечение по допустимой нагрузке для условий после аварийного режима: где 13 коэффициент учитывающий перегрузку на 30. Расчетная токовая нагрузка линий в после аварийном режиме: Сечение данного кабеля недостаточно так как условие не выполняется поэтому увеличиваем до...
44110. Контрольная работа по диалектологии 42 KB
  Фонема [ф] не исконно русская, встречается в иноязычных словах, т.е. говоры, где влияние литературного языка было несильным, усвоение фонемы в соответствии с правилами употребления не произошло. Но возникла необходимость заменить «незнакомый» звук в словах, поэтому появилось артикулярно-близкое сочетание [хв]. В предложенных словах эти звук и сочетание звуков спутаны, следовательно, учащимися не приобретён навык различия слов с [ф] и [хв].
44111. ГОРИЗОНТАЛЬНАЯ СЪЕМКА ЗЕМЕЛЬ 1.53 MB
  В работах связанных с землеустройством применяют топографические съемки местности. Топографическая съемка местности это совокупность топографо-геедезических работ в результате которых создается съемочный оригинал карты или плана местности. Если надо заснять небольшие участки местности то из-за высокой стоимости летно-съемочных работ аэрофотосъемка становится экономически невыгодным поэтому в таких случаях применяют мензульную съемку. Теодолитную съемку применяют главным образом при съемке местности с капитальной...
44112. Разработка экономического программного обеспечения для ОАО «Автосила» 803.5 KB
  Порядок формирования прибыли. Схема формирования валовой балансовой прибыли. Формирование и распределение чистой прибыли. Схема распределения чистой прибыли.
44113. Разработка графического интерфейса DVM-системы 916 KB
  Параллельная программа на исходном языке Фортран-DVM (или Си-DVM) превращается в программу на языке Фортран 77 (или Си), содержащую вызовы функций системы поддержки, и выполняющуюся в соответствии с моделью SPMD (одна программа – много данных) на каждом выделенном задаче процессоре