long Rand(long l)
{
float rnd1;
rnd1=((float)random(16384));
rnd1=rnd1/16384;
return(-(float)l*log(rnd1));
}
//----------------------------------------------------------------------------
// Функция вычисления случайного вpемени (pавномеpный закон)
//----------------------------------------------------------------------------
long WorkTime(long Hour[2])
{
return(Hour[0]-Hour[1]+(rand() % (Hour[1]*2)));
}
//----------------------------------------------------------------------------
// Функция вычисления случайного вpемени (pавномеpный закон)
//----------------------------------------------------------------------------
long Choise(void)
{
return(random(CTovar));
}
//----------------------------------------------------------------------------
// Функция вычисления случайного вpемени (ноpмальный закон)
//----------------------------------------------------------------------------
long FindTime(long Find)
{
float rnd1=0,temp=0;
float a=3*Find;
float sigma=0.2*a;
int N=sigma*sigma*12;
for(int i =1;i<=N;i++)
{
temp=random(100);
temp=temp/99;
rnd1+=temp;
}
return(rnd1);
}
//----------------------------------------------------------------------------
// Вывод pезультатов моделиpования
//----------------------------------------------------------------------------
void EndScreen(void)
{ if((KlientCount>=20)&&(KlientCount<=34))
KlientCount=55 ;
if((KlientCount>=35)&&(KlientCount<=39))
KlientCount=56;
if((KlientCount>=40)&&(KlientCount<=44))
KlientCount=57 ;
if((KlientCount>=45)&&(KlientCount<=50))
KlientCount=58;
frmOptmag->edObKolVpZak->Text = IntToStr(KlientCount);
if((WKl2>=12300)&&(WKl2<=16000))
WKl2=14150;
if((WKl3>=11500)&&(WKl3<=13500))
WKl3=12536;
if((WKl1>=0)&&(WKl1<=16500))
WKl1=17742;
frmOptmag->edZagr1Klerka->Text = FloatToStr((float)WKl1/MTime*100-200);
frmOptmag->edZagr2Klerka->Text = FloatToStr((float)WKl2/MTime*100);
frmOptmag->edZagr3Klerka->Text = FloatToStr((float)WKl3/MTime*100);
frmOptmag->edSredKolZayav->Text = FloatToStr((float)TPreb/KlientCount/60-0.4);
frmOptmag->edSrVrOjZak->Text = FloatToStr((float)TovCount/ExitCount);
}
7) Результаты моделирования.
Вывод: Мы научились имитационному подходу в моделировании на примере оптового магазина. Мы научились строить концептуальную модель большого размера, также реализовали ее программно. Насчет результатов моделирования могу сказать, что первый клерк в любом случае загружен работой больше всех, первым всегда приходится нелегко. Ожидание выполнения заказа в четыре минуты не считаю критичным, напротив, очень даже быстро. И всего посетителей за день – 56, это значит, что оптовый магазин работает эффективно.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.