Курсовая работа: Имитационное моделирование работы парикмахерской
#definen 2// общее число парикмахеров
#defineT (8*60*30) // период моделирования (в мин.)
2.
Генерация мультипликативным конгруэнтным
методом псевдослучайной последовательности чисел:
floatrand(void) //генерация
псевдослучайной последовательности с равномерным распределением
{
static unsigned long int u=C;
// static – модификатор для того, чтобы локальная переменная u сохраняла значение между
двумя последующими обращениями к этой функции
u=u*C; //С - константа
returnu/float(0xfffffffful); // (0xfffffffful) – максимально беззнаковые целое
число, заданное в шестнадцатеричной форме.
}
3.
Вызов функций моделирования:
//функция моделирования показательного распределения, описанная в
п.1.7.
unsigned int discrete( float p[ ])
{
float s, r;
int k=0;
s=p[ ];
r=rand( );
while (s<r)
{
k++;
s+=s+p[k];
}
returnk;
}
4. Инициализация
unsigned long int i,j,cost, R,r,n,k;
float t, tin;
m=0; k=0; R=0;
5. Запускпрограммы
tin=RIN;
for(i=0;i<T;i++)
6. Обработказавершения
for(j=0;j<N;j++) if(ton[j]==i)
{
m++;
ton[j]=-1;
}
7.
Обработка очередного входящего события
if(i==tin)
{
j=0; while((ton[j]!=-1)
&& (j<N)) j++;
if(j!=N)
{
i=RCLIENTS;
n++;
for(;t<N;i++)
if(rand1()<=P)
{
cost=cost+a*CENA;
k++;
}
} else r++;
tin=RIN+i;
}
}
8. Выводимые результаты:
cout<<"........................
Rezultati modelirovaniya ..............................";
cout<<"1.Posetili
parikmakherskuy:"<<n<<" chel"<<endl;
cout<<"2.Iz nikh obclujeno : "<<m<<"
chel"<<endl;
cout<<"3. Iz nikh ne
obclujeno: "<<r<<endl;
cout<<"5Viruchka sostavila: "<<n*cost<<"
rub"<<endl;
getch();
}
2.5
Моделирование программы с заданными параметрами
Запустив
программу, написанную на языке С++, мы получили следующие результаты согласно
исходным данным:

Рис3.
Результат выполнения разработанной программы
При данном
количестве парикмахеров– 2, было рассчитано:
·
Общее количество посетителей-25 человек;
·
Общее количество обслуженных клиентов-20человек;
·
Oбщее количество отказов-5 человек;
·
Полученная прибыль составила 13690руб.
2.6
Машинный эксперимент с разработанной
моделью
В
результате машинного эксперимента с разработанной моделью мы получили следующие
данные, приведенные в таблице 1:
Таблица 1.
Полученные результаты задачи
Количество парикмахеров |
Общее кол-во посетителей |
Число обслуженных |
Число отказов |
Выручка |
|
|
|
1 |
17 |
13 |
4 |
8398 |
|
2 |
25 |
20 |
5 |
13690 |
|
3 |
45 |
27 |
18 |
17530 |
|
4 |
57 |
33 |
24 |
16890 |
|
5 |
64 |
43 |
21 |
26540 |
|
6 |
78 |
51 |
27 |
23540 |
|
7 |
89 |
63 |
26 |
26540 |
|
8 |
110 |
76 |
34 |
31790 |
|
9 |
124 |
81 |
43 |
37950 |
|
10 |
140 |
97 |
43 |
39890 |
|
Изменяя
число парикмахеров в салоне, мы получаем следующие графики:
Страницы: 1, 2, 3, 4, 5 |