Järjekorrasüsteemide matemaatilised mudelid majandusülesannete lahendamiseks. Puudutage ekraani ja monitori tagakülge, klaviatuuri

Kursuse töö

"Järjekorrasüsteemi simulatsioon"

kursusel "Operatsiooniuuringud"

Sissejuhatus

Operatsiooniuuringutes kohtab sageli süsteeme, mis on mõeldud korduvkasutuseks sama tüüpi probleemide lahendamisel. Sel juhul tekkivaid protsesse nimetatakse teenindusprotsessideks ja süsteeme järjekorrasüsteemideks (QS). Iga QS koosneb teatud arvust teenindusüksustest (instrumendid, seadmed, punktid, jaamad), mida nimetatakse teeninduskanaliteks. Kanaliteks võivad olla sideliinid, tööpunktid, arvutid, müüjad jne. Kanalite arvu järgi jagunevad QS-id ühe- ja mitmekanalilisteks.

Tavaliselt jõuavad rakendused QS-i mitte regulaarselt, vaid juhuslikult, moodustades nn juhusliku rakenduste voo (nõuded). Ka rakenduste teenus jätkub mõnda aega juhuslikult. Rakenduste voo ja teenindusaja juhuslik iseloom toob kaasa asjaolu, et QS laaditakse ebaühtlaselt: mõnel ajaperioodil koguneb väga palju rakendusi (nad kas satuvad järjekorda või jätavad QS-i teenindamata), samal ajal kui mõnel ajaperioodil. perioodidel, mil QS töötab alakoormuse või tühikäiguga.

Järjekorrateooria aineks on matemaatiliste mudelite konstrueerimine, mis seovad QS etteantud töötingimused (kanalite arv, nende jõudlus, rakenduste voo iseloom jne) QS jõudlusnäitajatega, mis kirjeldavad. selle võimet tulla toime rakenduste vooluga. QS-i tulemusnäitajatena kasutatakse järgmisi näitajaid:

- süsteemi absoluutne läbilaskevõime ( AGA

K

- taotluse kättetoimetamisest keeldumise tõenäosus ();

k);

- keskmine taotluste arv järjekorras ();

QS jaguneb 2 põhitüüpi: tõrgetega QS ja ootamisega (järjekorraga) QS. Keeldumisega QS-is lükatakse tagasi päring, mis saabub ajal, mil kõik kanalid on hõivatud, lahkub QS-ist ega osale edasises teenindusprotsessis (näiteks telefonivestluse taotlus ajal, mil kõik kanalid on hõivatud hõivatud saab keeldumise ja jätab QS-i teenindamata) . Ootava QS-is ei lahku nõue, mis saabub ajal, mil kõik kanalid on hõivatud, vaid läheb teenuse saamiseks järjekorda.

Üks QS tulemusnäitajate arvutamise meetodeid on simulatsioonimeetod. Arvutisimulatsiooni modelleerimise praktiline kasutamine hõlmab sobiva matemaatilise mudeli konstrueerimist, mis võtab arvesse määramatuse tegureid, dünaamilisi omadusi ja kogu uuritava süsteemi elementide vaheliste seoste kompleksi. Süsteemi töö simulatsioonimodelleerimine algab mingi kindla algolekuga. Erinevate juhuslike sündmuste realiseerumise tõttu läheb süsteemi mudel järgmistel ajahetkedel oma teistesse võimalikesse olekutesse. See evolutsiooniline protsess kestab kuni planeerimisperioodi lõpuni, s.o. kuni simulatsiooni lõpuni.

1. Ühise turukorralduse peamised omadused ja nende tõhususe näitajad

1.1 Markovi stohhastilise protsessi kontseptsioon

Olgu mingi süsteem, mis aja jooksul suvaliselt oma olekut muudab. Sel juhul ütleme, et süsteemis toimub juhuslik protsess.

Protsessi nimetatakse diskreetsete olekutega protsessiks, kui selle olekuid saab eelnevalt loendada ja süsteemi üleminek ühest olekust teise toimub hüppeliselt. Protsessi nimetatakse pideva aja protsessiks, kui süsteemi üleminekud olekust olekusse toimuvad silmapilkselt.

QS-i tööprotsess on diskreetsete olekute ja pideva ajaga juhuslik protsess.

Juhuslikku protsessi nimetatakse Markovi või järelmõjuta juhuslikuks protsessiks, kui mingil ajahetkel sõltuvad protsessi tõenäosuslikud omadused tulevikus ainult selle hetkeseisust ega sõltu sellest, millal ja kuidas süsteem sellesse olekusse jõudis.

QS-i tööprotsesside analüüsimisel on mugav kasutada geomeetrilist skeemi - oleku graafik. Tavaliselt kujutatakse süsteemi olekuid ristkülikutega ja võimalikke üleminekuid olekust olekusse nooltega. Olekugraafiku näide on näidatud joonisel fig. üks.


Sündmuste voog on homogeensete sündmuste jada, mis järgneb juhuslikul ajal üksteise järel.

Voogu iseloomustab intensiivsus λ – sündmuste esinemissagedus või QS-i sisenevate sündmuste keskmine arv ajaühikus.

Sündmuste voogu nimetatakse regulaarseks, kui sündmused järgnevad üksteise järel kindlate ajavahemike järel.

Sündmuste voogu nimetatakse statsionaarseks, kui selle tõenäosuslikud omadused ei sõltu ajast. Eelkõige on statsionaarse voolu intensiivsus konstantne väärtus: .

Sündmuste voogu nimetatakse tavaliseks, kui tõenäosus, et kaks või enam sündmust tabavad väikest ajavahemikku, on väike võrreldes ühe sündmuse tabamise tõenäosusega, st kui sündmused esinevad selles ükshaaval, mitte rühmadena.

Sündmuste voogu nimetatakse järelmõjuta vooks, kui mis tahes kahe mittekattuva ajaintervalli puhul ja ühele neist langevate sündmuste arv ei sõltu teistele langevate sündmuste arvust.

Sündmuste voogu nimetatakse lihtsaimaks (või statsionaarseks Poissoniks), kui see on ühtaegu statsionaarne, tavaline ja sellel pole järelmõju.

1.2 Kolmogorovi võrrandid

Kõik üleminekud süsteemis olekust olekusse toimuvad mingi sündmuste voo käigus. Olgu süsteem mingis olekus , millest on võimalik üleminek olekusse, siis võime eeldada, et süsteemi mõjutab kõige lihtsam voog intensiivsusega , viies selle olekust üle . Niipea, kui toimub lõime esimene sündmus, toimub selle üleminek. Selguse huvides on olekugraafikul iga üleminekule vastav nool tähistatud intensiivsusega . Selline märgistatud olekugraafik võimaldab koostada protsessi matemaatilise mudeli, s.t. leida kõigi olekute tõenäosused aja funktsioonina. Nende jaoks koostatakse diferentsiaalvõrrandid, mida nimetatakse Kolmogorovi võrranditeks.

Kolmogorovi võrrandite koostamise reegel: Iga võrrandi vasakul küljel on antud oleku tõenäosuse aja tuletis. Paremal pool on kõigi olekute korrutiste summa, millest on võimalik üleminek antud olekusse, vastavate sündmuste voogude intensiivsusega miinus kõigi süsteemi sellest olekust välja viivate voogude summaarne intensiivsus, korrutatuna selle oleku tõenäosusega.

Näiteks olekugraafiku jaoks, mis on näidatud joonisel fig. 1, Kolmogorovi võrrandid on kujul:


Sest süsteemi paremal küljel sisestatakse iga liige 1 kord märgiga ja 1 kord märgiga , seejärel kõik võrrandid liites saame, et

,

,

Seetõttu võib süsteemi ühe võrrandi kõrvale jätta ja asendada võrrandiga (1.2.1).

Konkreetse lahenduse saamiseks on vaja teada algtingimusi, s.t. tõenäosused esialgsel ajahetkel.

1.3 QS lõplikud tõenäosused ja olekugraafik

Süsteemis toimuvate protsesside piisavalt pikaks ajaks (at ) saab määrata ajast mittesõltuvate olekute tõenäosused, mida nimetatakse lõplikeks tõenäosusteks, s.o. süsteem on statsionaarses režiimis. Kui süsteemi olekute arv on lõplik ja igast neist on lõpliku arvu sammudega võimalik minna mis tahes teise olekusse, siis on olemas lõplikud tõenäosused, s.t.


Lõplike tõenäosuste tähendus on see, et need on võrdsed keskmise suhtelise ajaga, mille süsteem antud olekus kulutab.

Sest statsionaarses olekus on aja tuletised võrdsed nulliga, siis saadakse lõpptõenäosuste võrrandid Kolmogorovi võrranditest, võrdsustades nende parempoolsed küljed nulliga.

Järjekorrasüsteemide mudelites kasutatavaid olekugraafikuid nimetatakse surma ja aretuse skeemiks. See nimi on tingitud asjaolust, et seda skeemi kasutatakse populatsiooni suuruse uurimisega seotud bioloogilistes probleemides. Selle eripära seisneb selles, et süsteemi kõiki olekuid saab esitada ahelana, milles iga olek on seotud eelneva ja järgnevaga (joonis 2).

Riis. 2. QS mudelite olekute graafik

Oletame, et kõik vood, mis viivad süsteemi ühest olekust teise, on kõige lihtsamad. Vastavalt joonisel fig. 2, koostame süsteemi lõplike tõenäosuste võrrandid. Need näevad välja sellised:

Süsteem on saadud ( n +1) võrrand, mis lahendatakse eliminatsioonimeetodiga. See meetod seisneb selles, et järjestikku kõik süsteemi tõenäosused väljendatakse tõenäosuse kaudu.

,

.

Asendades need avaldised süsteemi viimasesse võrrandisse, leiame , siis leiame ülejäänud QS olekute tõenäosused.

1.4 QS tulemusnäitajad

QS-modelleerimise eesmärk on arvutada süsteemi jõudlust selle omaduste kaudu. QS-i tulemusnäitajatena kasutatakse järgmisi näitajaid:

on süsteemi absoluutne võimsus ( AGA), st. keskmine kättetoimetatud taotluste arv ajaühikus;

on suhteline läbilaskevõime ( K), st. süsteemi teenindatavate saabunud päringute keskmine osakaal;

on ebaõnnestumise tõenäosus (), st. tõenäosus, et rakendus jätab QS-i teenindamata;

on hõivatud kanalite keskmine arv ( k);

- keskmine taotluste arv QS-is ();

– taotluse keskmine süsteemis viibimise aeg ();

- keskmine taotluste arv järjekorras () - järjekorra pikkus;

- keskmine rakenduste arv süsteemis ();

- keskmine aeg, mil rakendus on järjekorras ();

- rakenduse keskmine süsteemis viibimise aeg ()

– kanali koormuse aste (), st. tõenäosus, et kanal on hõivatud;

on keskmine kättetoimetatud taotluste arv ajaühiku kohta;

– keskmine teeninduse ooteaeg;

– tõenäosus, et järjekorras olevate rakenduste arv ületab teatud väärtuse jne.

On tõestatud, et mis tahes rakenduste voo, mis tahes teenindusaja jaotuse, mis tahes teenindusdistsipliini puhul on rakenduse keskmine viibimisaeg süsteemis (järjekorras) võrdne keskmise rakenduste arvuga süsteemis. (järjekord) jagatud rakenduste voo intensiivsusega, s.o.

(1.4.1)

Valemeid (1.4.1) ja (1.4.2) nimetatakse väikesteks valemiteks. Need tulenevad asjaolust, et piiravas statsionaarses režiimis võrdub keskmine süsteemi saabuvate nõuete arv sellest väljuvate nõuete keskmise arvuga, s.o. mõlemad rakenduste vood on sama intensiivsusega.

Tulemusnäitajate arvutamise valemid on toodud tabelis. üks.


Tabel 1.

Näitajad

Ühe kanaliga QS koos

piiratud järjekord

Mitmekanaliline QS koos

piiratud järjekord

Lõplik

tõenäosused

Tõenäosus

Absoluutne läbilaskevõime

võime

Suhteline läbilaskevõime

võime

Keskmine taotluste arv per

Keskmine taotluste arv alla

teenust

Keskmine rakenduste arv süsteemis

1.5 Simulatsiooni põhimõisted

Simulatsioonimodelleerimise põhieesmärk on reprodutseerida uuritava süsteemi käitumist selle elementide olulisemate seoste analüüsi põhjal.

Arvutisimulatsiooni tuleks käsitleda staatilise katsena.

Juhuslike suuruste funktsioonide teooriast on teada, et juhusliku suuruse modelleerimiseks mis tahes pideva ja monotoonselt kasvava jaotusfunktsiooniga piisab, kui on võimalik modelleerida juhuslikku suurust, mis on ühtlaselt jaotunud intervallil . Saanud juhusliku suuruse realisatsiooni, võib leida juhusliku suuruse vastava realisatsiooni, kuna need on seotud võrdsusega

Oletame, et mõnes järjekorrasüsteemis jaotatakse ühe kliendi teenindusaeg eksponentsiaalseaduse järgi parameetriga , kus on teenusevoo intensiivsus. Siis on teenindusaja jaotuse funktsioonil vorm

Olgu see segmendil ühtlaselt jaotatud juhusliku suuruse realisatsioon ja olgu ühe päringu teenindamise juhusliku aja vastav realisatsioon. Seejärel vastavalt (1.5.1)

1.6 Simulatsioonimudelite ehitamine

Iga simulatsioonimudeli loomise esimene etapp on reaalse elu süsteemi kirjeldamise etapp põhisündmuste tunnuste järgi. Need sündmused on reeglina seotud uuritava süsteemi üleminekutega ühest võimalikust olekust teise ja on määratud ajateljel olevate punktidena. Modelleerimise põhieesmärgi saavutamiseks piisab süsteemi jälgimisest põhisündmuste elluviimise hetkedel.

Vaatleme ühe kanaliga järjekorrasüsteemi näidet. Sellise süsteemi simulatsioonimodelleerimise eesmärk on määrata hinnangud selle põhiomaduste kohta, nagu rakenduse keskmine järjekorras viibimise aeg, järjekorra keskmine pikkus ja süsteemi seisakute osakaal.

Järjekorraprotsessi iseärasused võivad oma väärtusi muuta kas uue teenusetaotluse saamise hetkel või järgmise päringu teenindamise lõpus. QS saab hakata koheselt teenindama järgmist päringut (teeninduskanal on vaba), kuid pole välistatud vajadus oodata, millal päring peab järjekorras koha sisse võtma (QS järjekorraga, teeninduskanal on hõivatud). Pärast järgmise päringu teenindamise lõpetamist saab QS kohe hakata teenindama järgmist päringut, kui see on olemas, kuid võib ka jõude seista, kui seda pole. Vajalikku infot saab, jälgides erinevaid olukordi, mis põhisündmuste elluviimisel ette tulevad. Seega, kui nõue saabub QS-i hõivatud teeninduskanaliga järjekorraga, suureneb järjekorra pikkus 1 võrra. Samamoodi väheneb järjekorra pikkus 1 võrra, kui järgmise nõude teenindamine on lõpetatud ja nõuete kogum on järjekorras. ei ole tühi.

Mis tahes simulatsioonimudeli tööks on vaja valida ajaühik. Olenevalt modelleeritava süsteemi olemusest võib selline ühik olla mikrosekund, tund, aasta jne.

Kuna arvutisimulatsioon on oma olemuselt arvutuslik eksperiment, peavad selle vaadeldud tulemused agregaadis olema juhusliku valimi realiseerimise omadustega. Ainult sel juhul on tagatud simuleeritud süsteemi õige statistiline tõlgendus.

Arvutisimulatsiooni modelleerimisel on põhihuvi pärast uuritava süsteemi statsionaarsesse töörežiimi jõudmist saadud vaatlused, kuna sel juhul valimi dispersioon järsult väheneb.

Aeg, mis kulub süsteemi jõudmiseks statsionaarsesse töörežiimi, määratakse selle parameetrite väärtuste ja algoleku järgi.

Kuna peamine eesmärk on saada vaatlusandmeid võimalikult väikese veaga, siis selle eesmärgi saavutamiseks saate:

1) pikendada uuritava süsteemi toimimisprotsessi simulatsioonimodelleerimise kestust. Sel juhul ei suurene mitte ainult tõenäosus, et süsteem jõuab statsionaarsesse töörežiimi, vaid suureneb ka kasutatavate pseudojuhuslike arvude arv, mis samuti mõjutab positiivselt saadud tulemuste kvaliteeti.

2) määratud ajaks T simulatsiooni modelleerimine N arvutuslikud katsed, mida nimetatakse ka mudelikäibeteks, erinevate pseudojuhuslike arvude komplektidega, millest igaüks annab ühe vaatluse. Kõik käitused algavad simuleeritud süsteemi sama algolekuga, kuid kasutades erinevaid pseudojuhuslike arvude komplekte. Selle meetodi eeliseks on saadud vaatluste sõltumatus, süsteemi efektiivsuse näitajad. Kui number N Kui mudel on piisavalt suur, siis määratakse parameetri sümmeetrilise usaldusvahemiku piirid järgmiselt:


, , st. , kus

korrigeeritud dispersioon, ,

N– programmi käitamiste arv, – töökindlus, .

2. QS analüütiline modelleerimine

2.1 Süsteemi olekugraafik ja Kolmogorovi võrrand

Vaatleme kahe kanaliga järjekorrasüsteemi (n = 2), mille piiratud järjekord on võrdne kuuega (m = 4). QS võtab vastu lihtsaima rakenduste voo keskmise intensiivsusega λ = 4,8 ja eksponentsiaalse ajajaotuse seadusega rakenduste saabumise vahel. Süsteemis teenindatavate päringute voog on lihtsaim, keskmise intensiivsusega μ = 2 ja teenindusaja jaotuse eksponentsiaalse seadusega.

Sellel süsteemil on 7 olekut, me tähistame neid:

S 0 - süsteem on tasuta, taotlusi pole;

S 1 - 1 teenusepäring, järjekord on tühi;

S 2 - 2 teenusetaotlust, järjekord on tühi;

S 3 - 2 teenindustaotlust, 1 päring järjekorras;

S 4 - 2 hooldustaotlust, 2 päringut järjekorras;

S 5 - 2 teenindustaotlust, 3 päringut järjekorras;

S 6 - 2 teenindustaotlust, 4 päringut järjekorras;

Tõenäosused, et süsteem siseneb olekutesse S 0, S 1, S 2, …, S 6, on vastavalt võrdsed Р 0, Р 1, Р 2, …, Р 6.

Järjekorrasüsteemi olekugraafik on surma ja paljunemise skeem. Süsteemi kõiki olekuid saab kujutada ahelana, milles iga olek on seotud eelmise ja järgmisega.

Riis. 3. Kahe kanaliga QS olekute graafik


Konstrueeritud graafiku jaoks kirjutame Kolmogorovi võrrandid:

Selle süsteemi lahendamiseks seadsime algtingimused:

Kolmogorovi võrrandisüsteemi (diferentsiaalvõrrandi süsteemi) lahendame numbrilise Euleri meetodil, kasutades tarkvarapaketti Maple 11 (vt lisa 1).

Euleri meetod


kus - meie puhul on need Kolmogorovi võrrandite õiged osad, n=6.

Valime aja sammu. Oletame, kus T on aeg, mis kulub süsteemil püsiolekuni jõudmiseks. Siit saame sammude arvu . Järjepidevalt N valemiga (1) arvutatuna saame süsteemi olekute tõenäosuste sõltuvused ajast, mis on näidatud joonisel fig. neli.

QS-i tõenäosuste väärtused on võrdsed:


Riis. 4. Süsteemi olekute tõenäosuste sõltuvused ajast

P0
P5
P4
P3
P2
P1
2.2 Süsteemi lõplikud tõenäosused

Piisavalt pika ajaga süsteemis toimuvate protsesside jaoks () saab määrata ajast mittesõltuvate olekute tõenäosused, mida nimetatakse lõplikeks tõenäosusteks, s.t. süsteem on statsionaarses režiimis. Kui süsteemi olekute arv on lõplik ja igast neist on võimalik lõpliku arvu sammudega üle minna mis tahes teise olekusse, siis on olemas lõplikud tõenäosused, s.t.

Sest statsionaarses olekus on aja tuletised võrdsed 0-ga, siis saadakse lõpptõenäosuste võrrandid Kolmogorovi võrranditest, võrdsustades parempoolsed küljed 0-ga. Kirjutame üles meie QS-i lõpptõenäosuste võrrandid.


Selle lineaarvõrrandi süsteemi lahendame Maple 11 tarkvarapaketi abil (vt lisa 1).

Saame süsteemi lõplikud tõenäosused:

Kolmogorovi võrrandite süsteemist saadud tõenäosuste võrdlemine lõpptõenäosustega näitab, et vead on võrdsed:

Need. piisavalt väike. See kinnitab saadud tulemuste õigsust.

2.3 Süsteemi jõudlusnäitajate arvutamine lõplike tõenäosuste järgi

Leiame järjekorrasüsteemi toimivusnäitajad.

Esiteks arvutame päringute voo vähendatud intensiivsuse:

1) Taotluse teenindamisest keeldumise tõenäosus, s.o. tõenäosus, et klient jätab süsteemi teenindamata Meie puhul keeldutakse kliendi teenindamisest, kui kõik 2 kanalit on hõivatud ja järjekord on maksimaalselt täis (st järjekorras 4 inimest), see vastab süsteemi olekule S 6 . Sest süsteemi olekusse S 6 sisenemise tõenäosus on P 6, siis

4) Keskmine järjekorra pikkus, s.o. keskmine päringute arv järjekorras on võrdne järjekorras olevate päringute arvu ja vastava oleku tõenäosuse korrutistega.

5) Keskmine aeg, mille rakendus järjekorras veedab, määratakse Little'i valemiga:

3. QS-i simulatsioonmodelleerimine

3.1 QS-i simulatsioonimeetodi algoritm (samm-sammult lähenemine)

Vaatleme kahe kanaliga järjekorrasüsteemi (n = 2), mille järjekorra maksimaalne pikkus on kuus (m = 4). QS võtab vastu lihtsaima rakenduste voo keskmise intensiivsusega λ = 4,8 ja eksponentsiaalse ajajaotuse seadusega rakenduste saabumise vahel. Süsteemis teenindatavate päringute voog on lihtsaim, keskmise intensiivsusega μ = 2 ja teenindusaja jaotuse eksponentsiaalse seadusega.

QS-i simuleerimiseks kasutame üht statistilise modelleerimise meetodit – simulatsioonimodelleerimist. Kasutame samm-sammult lähenemist. Selle lähenemisviisi olemus seisneb selles, et süsteemi olekuid võetakse arvesse järgmistel ajahetkedel, mille vaheline samm on piisavalt väike, et selle aja jooksul ei toimuks rohkem kui üks sündmus.

Valime aja sammu (). See peaks olema palju lühem kui taotluse keskmine kättesaamise aeg () ja keskmine kättetoimetamise aeg (), s.o.

Kus (3.1.1)

Tingimuse (3.1.1) põhjal määrame aja sammu .

Taotluse QS-i saabumise aeg ja selle teenindamise aeg on juhuslikud suurused. Seetõttu arvutatakse need QS-i simuleerimisel juhuslike arvude abil.

Kaaluge taotluse kättesaamist ühises turukorralduses. Tõenäosus, et tellimus saabub intervalli jooksul QS-i, on võrdne: . Loome juhusliku arvu , ja kui , siis loeme, et selles etapis esitatud päring sisenes süsteemi, kui , siis ei sisenenud.

Seda tehakse programmis isRequested () . Me võtame ajaintervalli konstantse ja võrduvad 0,0001-ga, siis on suhe 10000. Kui päring on vastu võetud, võtab see väärtuse "true", vastasel juhul on väärtus "false".

bool isRequested()

double r = R.NextDouble();

kui (r< (timeStep * lambda))

Vaatleme nüüd rakenduse teenust QS-is. Rakenduse teenindusaeg süsteemis määratakse avaldisega , kus on juhuslik arv. Programmis määratakse teenindusaeg funktsiooni abil GetServiceTime () .

double GetServiceTime()

double r = R.NextDouble();

return(-1/mu*Math. Log(1-r, Math.E));

Simulatsioonimeetodi algoritmi saab sõnastada järgmiselt. QS lahtiolekuajad ( T) on jagatud ajaastmeteks dt, igaüks neist sooritab rea toiminguid. Esiteks määratakse süsteemi olekud (hõivatud kanalid, järjekorra pikkus), seejärel funktsiooni abil isRequested () , tehakse kindlaks, kas taotlus saadi selles etapis või mitte.

Kui vastu võetakse ja samal ajal on tasuta kanaleid, kasutage funktsiooni GetServiceTime () genereerime taotluse töötlemise aja ja paneme selle teenust. Kui kõik kanalid on hõivatud ja järjekorra pikkus on alla 4, siis asetame päringu järjekorda; kui järjekorra pikkus on 4, siis keeldutakse päringu teenindamisest.

Juhul, kui selles etapis taotlust ei saadud ja teeninduskanal oli vaba, kontrollime järjekorda. Kui on, siis paneme palve teenindusjärjekorrast tasuta kanalisse. Pärast sooritatud toiminguid vähendatakse hõivatud kanalite teenindusaega sammu väärtuse võrra dt .

Pärast aja möödumist T, st pärast QS-i töö modelleerimist arvutatakse välja süsteemi jõudlusnäitajad ja tulemused kuvatakse ekraanile.

3.2 Programmi vooskeem

Kirjeldatud algoritmi rakendava programmi plokkskeem on näidatud joonisel fig. 5.

Riis. 5. Programmi vooskeem

Kirjutame mõned plokid üksikasjalikumalt.

Plokk 1. Parameetrite algväärtuste määramine.

juhuslik R; // Juhuslike arvude generaator

public uint maxQueueLength; // Järjekorra maksimaalne pikkus

public uint channelCount; // Kanalite arv süsteemis

avalik kahekordne lambda; // Sissetulevate päringute voo intensiivsus

avalik kahekordne mu; // Päringu teenindamise voo intensiivsus

avalik topeltaegStep; // Ajasamm

public double timeOfFinishProcessingReq; // Päringu teenindamise lõppaeg kõigis kanalites

public double timeInQueue; // QS-i järjekorraga olekutes veedetud aeg

avalik topelttöötlusTime; // Süsteemi tööaeg

public double totalProcessingTime; // Teenindustaotluste koguaeg

public uint requestEntryCount; // Saabunud taotluste arv

avalik uint tagasi lükatudRequestCount; // Tagasilükatud taotluste arv

avalik uint aktsepteeritudRequestCount; // Esitatud taotluste arv

uint queueLength; // Järjekorra pikkus //

QS-i olekuid kirjeldav tüüp

loend SysCondition(S0, S1, S2, S3, S4, S5, S6);

SysCondition currentSystemCondition; // Süsteemi praegune olek

Süsteemi olekute seadistamine. Toome selle 2-kanalilise süsteemi jaoks välja 7 erinevat olekut: S 0 , S 1 . S 6 . QS on olekus S 0, kui süsteem on vaba; S 1 – vähemalt üks kanal on vaba; olekus S 2, kui kõik kanalid on hõivatud ja järjekorras on ruumi; olekus S 6 on kõik kanalid hõivatud ja järjekord on saavutanud maksimaalse pikkuse (queueLength = 4).

Määrame funktsiooni abil süsteemi hetkeseisu Hangi tingimus()

SysCondition GetCondition()

SysCondition p_currentCondit = SysCondition.S0;

int busyChannelCount = 0;

jaoks (int i = 0; i< channelCount; i++)

if (TimeOfFinishProcessingReq[i] > 0)

busyChannelCount++;

p_currentCondit += k * (i + 1);

kui (busyChannelCount > 1)

(p_praegune seisukord++;)

return p_currentCondit + (int) QueueLength;

QS viibimisaja muutus osariikides, mille järjekorra pikkus on 1, 2, 3, 4. Seda rakendatakse järgmise koodiga:

if (queueLength > 0)

timeInQueue += timeStep;

if (queueLength > 1)

(timeInQueue += timeStep;)

On olemas selline toiming nagu teenusetaotluse esitamine tasuta kanalile. Kõiki kanaleid skannitakse alates esimesest, kui timeOfFinishProcessingReq tingimus on täidetud [ i ] <= 0 (kanal on tasuta), esitatakse sellele avaldus, s.o. päringu teenindamise lõpuaeg genereeritakse.

jaoks (int i = 0; i< channelCount; i++)

if (timeOfFinishProcessingReq[i]<= 0)

timeOfFinishProcessingReq[i] = GetServiceTime();

totalProcessingTime+= timeOfFinishProcessingReq[i];

Rakenduste teenindamine kanalites on modelleeritud koodiga:

jaoks (int i = 0; i< channelCount; i++)

if (TimeOfFinishProcessingReq[i] > 0)

timeOfFinishProcessingReq[i] -= timeStep;

Simulatsioonimeetodi algoritm on realiseeritud C# programmeerimiskeeles.

3.3 Arvutamine QS tulemusnäitajad, mis põhinevad selle simulatsiooni tulemused

Kõige olulisemad näitajad on:

1) Taotluse kättetoimetamisest keeldumise tõenäosus, s.o. tõenäosus, et klient jätab süsteemi teenindamata Meie puhul keelatakse klient teenuse osutamisest, kui kõik 2 kanalit on hõivatud ja järjekord on võimalikult täis (st järjekorras 4 inimest). Rikke tõenäosuse leidmiseks jagame QS-i järjekorra 4 olekus viibimise aja süsteemi koguajaga.

2) Suhteline läbilaskevõime on süsteemi poolt teenindatavate sissetulevate päringute keskmine osakaal.

3) Absoluutne läbilaskevõime on ajaühikus teenindatud rakenduste keskmine arv.


4) Järjekorra pikkus, st. keskmine taotluste arv järjekorras. Järjekorra pikkus võrdub järjekorras olevate inimeste arvu ja vastava oleku tõenäosuse korrutistega. Olekute tõenäosused leiame selles olekus QS-aja ja süsteemi kogu tööaja suhtena.

5) Keskmine aeg, mille rakendus järjekorras veedab, määratakse Little'i valemiga

6) Hõivatud kanalite keskmine arv on määratletud järgmiselt:

7) Nende rakenduste protsent, mille teenuse osutamisest keelduti, leitakse valemiga

8) Teenindatud päringute protsent leitakse valemiga


3.4 Tulemuste statistiline töötlemine ja nende võrdlemine analüütilise modelleerimise tulemustega

Sest jõudlusnäitajad saadakse QS modelleerimise tulemusena piiratud aja jooksul, need sisaldavad juhuslikku komponenti. Seetõttu on usaldusväärsemate tulemuste saamiseks vaja läbi viia nende statistiline töötlemine. Selleks hindame nende usaldusvahemikku programmi 20 käitamise tulemuste põhjal.

Väärtus jääb ebavõrdsuse korral usaldusvahemikku

, kus

matemaatiline ootus (keskmine väärtus), leitakse valemiga

korrigeeritud dispersioon,

,

N =20 - jooksude arv

- usaldusväärsus. Kell ja N =20 .

Programmi tulemus on näidatud joonisel fig. 6.


Riis. 6. Programmi tüüp

Erinevate modelleerimismeetoditega saadud tulemuste võrdlemise mugavuse huvides esitame need tabeli kujul.

Tabel 2.

Näitajad

QS tõhusus

tulemused

analüütiline

modelleerimine

tulemused

simulatsiooni modelleerimine (viimane samm)

Simulatsiooni tulemused

Alumine joon

usaldusisik

intervall

Ülemine piir

usaldusisik

intervall

Ebaõnnestumise tõenäosus 0,174698253017626

0,158495148639101

0,246483801571923
Suhteline ribalaius 0,825301746982374 0,753516198428077 0,841504851360899
Absoluutne ribalaius 3,96144838551539 3,61687775245477 4,03922328653232
Keskmine järjekorra pikkus 1,68655313447018 1,62655862750852 2,10148609204869
Keskmine aeg, mille rakendus järjekorras veedab 0,4242558575 0,351365236347954 0,338866380730942 0,437809602510145
Keskmiselt hõivatud kanalid 1,9807241927577 1,80843887622738 2,01961164326616

Tabelist. Jooniselt 2 on näha, et QS-i analüütilise modelleerimisel saadud tulemused jäävad simulatsiooni tulemustest saadud usaldusvahemikku. See tähendab, et erinevate meetoditega saadud tulemused on järjepidevad.

Järeldus

Käesolevas töös käsitletakse peamisi QS-i modelleerimise ja nende tulemusnäitajate arvutamise meetodeid.

Kolmogorovi võrrandite abil viidi läbi kahe kanaliga QS, mille järjekorra pikkus on 4, modelleerimine ja leiti süsteemi olekute lõplikud tõenäosused. Arvutatakse selle tõhususe näitajad.

Sellise QS-i toimimise simulatsioon on läbi viidud. C# programmeerimiskeeles on koostatud programm, mis simuleerib selle tööd. Viidi läbi rida arvutusi, mille tulemuste põhjal leiti süsteemi efektiivsusnäitajate väärtused ja viidi läbi nende statistiline töötlemine.

Simulatsioonimodelleerimisel saadud tulemused on kooskõlas analüütilise modelleerimise tulemustega.

Kirjandus

1. Wentzel E.S. Operatsiooniuuringud. – M.: Bustard, 2004. – 208 lk.

2. Volkov I.K., Zagoruiko E.A. Operatsiooniuuringud. - M .: MSTU kirjastus im. N.E. Bauman, 2002. - 435 lk.

3. Volkov I.K., Zuev S.M., Tsvetkova G.M. juhuslikud protsessid. - M .: MSTU kirjastus im. N.E. Bauman, 2000. - 447 lk.

4. Gmurman V.E. Juhend tõenäosusteooria ja matemaatilise statistika probleemide lahendamiseks. - M.: Kõrgkool, 1979. - 400 lk.

5. Ivnitski V.L. Järjekordade võrkude teooria. – M.: Fizmatlit, 2004. – 772 lk.

6. Uurimistoimingud majanduses / toim. N.Sh. Kremer. - M.: Ühtsus, 2004. - 407 lk.

7. Takha H.A. Sissejuhatus operatsiooniuuringutesse. - M.: Kirjastus "Williams", 2005. - 902 lk.

8. Kharin Yu.S., Maljugin V.I., Kirlitsa V.P. jt Simulatsiooni ja statistilise modelleerimise alused. - Minsk: Disain PRO, 1997. - 288 lk.

Järjekorrasüsteemide (QS) analüütiline uurimine on alternatiivne lähenemine simulatsioonimodelleerimisele ja seisneb QS-i väljundparameetrite arvutamise valemite hankimises, millele järgneb argumentide väärtuste asendamine nendesse valemitesse igas individuaalses katses.

QS-mudelites võetakse arvesse järgmisi objekte:

1) teenusepäringud (tehingud);

2) teenindusseadmed (OA) või seadmed.

Järjekorrateooria praktiline ülesanne on seotud nende objektide tehte uurimisega ja koosneb eraldiseisvatest elementidest, mida mõjutavad juhuslikud tegurid.

Näitena järjekorra teoorias käsitletud probleemidest võib tuua: sõnumiallika läbilaskevõime sobitamine andmeedastuskanaliga, linnatranspordi optimaalse voo analüüsimine, lennujaama reisijate ooteruumi mahutavuse arvutamine. , jne.

Taotlus võib olla kas teenindusolekus või teenuse ootel olekus.

Teenindusseade võib olla kas teenusega hõivatud või vaba.

QS-i olekut iseloomustab teenindusseadmete ja rakenduste olekute komplekt. QS-i olekute muutumist nimetatakse sündmuseks.

QS-mudeleid kasutatakse süsteemis toimuvate protsesside uurimiseks, rakendades rakendusvoogude sisenditele. Need protsessid on sündmuste jada.

QS-i olulisemad väljundparameetrid

Esitus

Ribalaius

Teenuse keelamise tõenäosus

Keskmine teenindusaeg;

Seadmete koormustegur (OA).

Rakendused võivad olla tellimused toodete valmistamiseks, arvutisüsteemis lahendatavad ülesanded, kliendid pankades, transpordile saabuvad kaubad jne. On ilmne, et süsteemi sisenevate rakenduste parameetrid on juhuslikud muutujad ja nende parameetrid on teada ainult nende parameetrid uurimistöö või projekteerimine.levitamise seadused.

Sellega seoses on toimimise analüüs süsteemi tasandil reeglina statistilise iseloomuga. Matemaatilise modelleerimisvahendina on mugav võtta järjekorra teooriat ja sellel tasemel süsteemide mudelitena kasutada järjekorrasüsteeme.



Lihtsamad QS mudelid

Kõige lihtsamal juhul on QS seade, mida nimetatakse teenindusseadmeks (OA), mille sisendites on rakenduste järjekorrad.

M o d e l o n s e r e n t e r e s e s e n k a t i o n (joonis 5.1)


Riis. 5.1. QS-mudel tõrgetega:

0 – päringu allikas;

1 - teenindusseade;

a– teenusetaotluste sisendvoog;

sisse on teenindatud päringute väljundvoog;

Koos on teenindamata päringute väljundvoog.

Selles mudelis ei ole OA sisendis nõuete akumulaatorit. Kui nõue saabub allikast 0 hetkel, mil AA on hõivatud eelmise nõude teenindamisega, siis äsja saabunud nõue väljub süsteemist (kuna selle teenuse osutamisest keelduti) ja kaob (voog Koos).

M o d e l o f C a n d i n s e k r i o n s (joonis 5.2)


Riis. 5.2. QS-mudel ootustega

(N– 1) - rakenduste arv, mis mahub akumulaatorisse

Sellel mudelil on OA sisendis nõuete akumulaator. Kui klient saabub allikast 0 hetkel, mil CA on hõivatud eelmise kliendi teenindamisega, siis siseneb äsja saabunud klient akumulaatorisse, kus ta ootab lõputult kuni CA vabaneb.

PIIRATUD AJAGA TEENUSMUDEL

w i d a n y (joonis 5.3)


Riis. 5.4. Mitmekanaliline QS-mudel tõrgetega:

n- identsete teenindusseadmete (seadmete) arv

Selles mudelis ei ole mitte üks OA, vaid mitu. Taotlusi võib esitada igale mitteteenivale AB-le, kui pole märgitud teisiti. Salvestusruumi pole, seega sisaldab see mudel joonisel fig. 5.1: rakenduse kättetoimetamisest keeldumine tähendab selle pöördumatut kadumist (see juhtub ainult siis, kui selle rakenduse saabumise ajal kõik OA on hõivatud).

w a t h i n t h o m e (joonis 5.5)


Riis. 5.6. Mitme kanaliga QS-mudel koos ootamise ja taastamise OA-ga:

e- rikkis olevad hooldusseadmed;

f– taastatud teenindussõidukid

Sellel mudelil on joonistel fig. 5.2 ja 5.4, samuti omadused, mis võimaldavad arvestada EA võimalikke juhuslikke tõrkeid, mis sel juhul sisenevad remondiplokki 2, kus nad jäävad juhuslikeks taastamiseks kuluvateks perioodideks ja naasevad seejärel teenindusse. uuesti plokk 1.

M i n o n a l m o l l Q O

OA ooteaeg ja taastumine (joonis 5.7)


Riis. 5.7. Piiratud ooteajaga ja OA taastamisega mitmekanaliline QS-mudel

See mudel on üsna keeruline, kuna võtab korraga arvesse kahe mitte kõige lihtsama mudeli omadusi (joonised 5.5 ja 5.6).

Klassifikatsioon, põhimõisted, mudeli elemendid, põhitunnuste arvutamine.

Kaubanduse, tarbijateenuste, laonduse jms ratsionaalse korraldamise probleemide lahendamisel. väga kasulik on tootmisstruktuuri tegevuste tõlgendamine kui järjekorra süsteemid, st. süsteem, kus ühelt poolt tekivad pidevalt nõudmised mis tahes töö tegemiseks, teiselt poolt aga neid taotlusi pidevalt rahuldatakse.

Iga SMO sisaldab neli elementi: sissetulev voog, järjekord, server, väljaminev voog.

nõue(klient, rakendus) on QS-is iga individuaalne taotlus mis tahes töö tegemiseks.

Teenindus on tööde teostamine sissetuleva nõudluse rahuldamiseks. Objekti, mis teostab nõuete hooldust, nimetatakse teenindusseadmeks (seadmeks) või teeninduskanaliks.

Teenindusaeg on ajavahemik, mille jooksul on teenindusnõue rahuldatud, s.o. ajavahemik teenuse algusest kuni selle lõpetamiseni. Ajavahemikku päringu süsteemi sisenemisest kuni teenuse alguseni nimetatakse teenuse ooteajaks. Teenuse ooteaeg koos teenindusajaga on nõude viibimise aeg süsteemis.

SMOd klassifitseeritakse erinevate kriteeriumide alusel..

1. Teeninduskanalite arvu järgi jagunevad QS-id ühe- ja mitmekanalilisteks.

2. Sõltuvalt ootetingimustest eristab teenuse käivitamise nõue QS-i kadudega (tõrgetega) ja QS-i ootamisega.

AT QS nõudluse vähenemisega, mis saabusid hetkel, kui kõik seadmed on hooldusega hõivatud, on tagasi lükatud, on selle süsteemi jaoks kadunud ja ei mõjuta edasist hooldusprotsessi. Klassikaline rikkesüsteemi näide on telefonikeskjaam – ühendustaotlus lükatakse tagasi, kui helistaja on hõivatud.

Riketega süsteemi puhul on toimimise efektiivsuse põhitunnuseks rikke tõenäosus või teenindamata jäänud päringute keskmine osakaal.

AT Ühine turukorraldus koos nõudluse ootamisega, mis on vastu võetud hetkel, kui kõik seadmed on hõivatud teenindusega, ei lahku süsteemist, vaid seab järjekorda ja ootab, kuni üks kanal vabaneb. Kui järgmine seade vabastatakse, võetakse üks järjekorras olevatest rakendustest kohe hoolduseks vastu.

Ootava QS-i puhul on peamised omadused matemaatilised ootused järjekorra pikkuse ja ooteaja kohta.

Ootava süsteemi näide on telerite taastamise protsess remonditöökojas.

Nende kahe rühma vahel on süsteeme ( kombineeritud ühised turukorraldused). Neid iseloomustab mõningate vahetingimuste olemasolu: piirangud võivad olla piirangud teenuse alguse ooteajale, järjekorra pikkusele jne.



Toimivusnäitajatena saab rikke tõenäosust kasutada nii kadudega (või ooteaja tunnustega) kui ka ootamisega süsteemides.

3. Vastavalt teenindusdistsipliinile jagunevad QS-id teenuseprioriteediga süsteemideks ja teenuseprioriteedita süsteemideks.

Taotlusi saab teenindada nende laekumise järjekorras, kas juhuslikult või kehtestatud prioriteetide alusel.

4. QS võib olla ühefaasiline ja mitmefaasiline.

AT üksik faas süsteemid, nõudeid teenindavad sama tüüpi kanalid (näiteks sama kutseala töötajad), ilma neid ühest kanalist teise üle kandmata, mitmefaasiline sellised ülekanded on võimalikud.

5. Nõuete allika asukoha järgi jagunevad QS-id avatud (kui nõude allikas on väljaspool süsteemi) ja suletud (kui allikas on süsteemis endas).

To suletud hõlmata süsteeme, mille sissetulev nõuete voog on piiratud. Näiteks töödejuhataja, kelle ülesandeks on töökojas masinaid seadistada, peab neid perioodiliselt hooldama. Iga seadistatud masin saab tulevikus potentsiaalseks seadistusnõuete allikaks. Sellistes süsteemides on ringlevate nõuete koguarv piiratud ja enamasti konstantne.

Kui toiteallikal on lõpmatu arv nõudeid, kutsutakse süsteeme avatud. Sellised süsteemid on näiteks poed, jaamade piletikassad, sadamad jne. Nende süsteemide puhul võib sissetulevate päringute voogu pidada piiramatuks.

QS-i uurimise meetodid ja mudelid võib tinglikult jagada analüütilisteks ja statistilisteks (järjekorraprotsesside simulatsioonimodelleerimine).

Analüütilised meetodid võimaldavad saada süsteemi karakteristikud kui selle funktsioneerimise parameetrite mõned funktsioonid. See võimaldab kvalitatiivselt analüüsida üksikute tegurite mõju QS-i efektiivsusele.

Kahjuks on analüütiliselt lahendatav vaid üsna piiratud hulk järjekorrateooria probleeme. Vaatamata analüütiliste meetodite jätkuvale arendamisele on paljudel reaalsetel juhtudel analüütilist lahendust kas võimatu saada või osutuvad sellest tulenevad sõltuvused nii keeruliseks, et nende analüüsist saab iseseisev raske ülesanne. Seetõttu tuleb analüütiliste lahendusmeetodite rakendamiseks kasutada erinevaid lihtsustavaid eeldusi, mida mingil määral kompenseerib võimalus rakendada lõppsõltuvuste kvalitatiivset analüüsi (antud juhul on see muidugi vajalik, et tehtud eeldused ei moonutaks protsessi tegelikku pilti).

Praegu on teoreetiliselt kõige arenenumad ja praktilistes rakendustes mugavamad meetodid selliste järjekorraprobleemide lahendamiseks, kus nõuete voog on kõige lihtsam ( Poisson).

Lihtsaima voo korral järgib nõuete süsteemi laekumise sagedus Poissoni seadust, see tähendab, et aja t saabumise tõenäosus, mis on võrdne k nõudega, antakse valemiga:

kus λ on voolu parameeter (vt allpool).

Kõige lihtsamal voolul on kolm peamist omadust: tavaline, statsionaarne ja ilma järelmõjuta.

Tavalisus voog – kahe või enama nõude samaaegse vastuvõtmise praktiline võimatus. Näiteks tõenäosus, et remondimeeste meeskonna poolt hooldatavast masinarühmast mitu masinat korraga rikki läheb, on üsna väike.

Statsionaarne helistas voolu, mille puhul matemaatiline ootus süsteemi sisenevate nõuete arvu kohta ajaühikus (tähistatakse λ-ga) ajas ei muutu. Seega tõenäosus, et teatud arv kliente siseneb süsteemi antud ajaintervalli Δt jooksul, sõltub selle väärtusest ja ei sõltu selle päritolust ajateljel.

Ei mingit järelmõju tähendab, et enne aega t süsteemi sisenevate klientide arv ei määra, kui palju kliente aja jooksul t + Δt süsteemi siseneb.

Näiteks kui kangastelgedel toimub hetkel niidi katkemine ja selle kõrvaldab kuduja, siis see ei määra, kas sellel kangastel tuleb järgmisel hetkel uus katkestus või mitte, seda enam ei mõjuta teiste masinate purunemise tõenäosust.

QS-i oluliseks tunnuseks on nõuete teenindamise aeg süsteemis. Teenindusaeg on reeglina juhuslik suurus ja seetõttu saab seda kirjeldada jaotusseadusega. Eksponentseadus on saanud suurima leviku teoorias ja eriti praktilistes rakendustes. Selle seaduse puhul on tõenäosusjaotuse funktsioonil järgmine kuju:

F(t) \u003d 1 - e -μt,

need. tõenäosus, et tööaeg ei ületa teatud väärtust t määratakse valemiga (1 - e -μt), kus μ on süsteemi nõuete kasutusaja eksponentsiaalseaduse parameeter - keskmise pöördväärtus teenistusaeg, s.o. .

Kaaluge ootuspäraselt analüütilisi QS-mudeleid(kõige levinum QS, kus kõigi teenindusüksuste hõivatuse hetkel saabunud päringud seatakse järjekorda ja teenindatakse teenindusüksuste vabanemisel).

Järjekordadega tööülesanded on tüüpilised tootmistingimustes, näiteks reguleerimis- ja remonditööde korraldamisel, mitme masina hooldusel jne.

Üldine probleemipüstitus on järgmine.

Süsteem koosneb n teeninduskanalist. Igaüks neist saab korraga esitada ainult ühe päringu. Süsteem võtab vastu kõige lihtsama (Poissoni) nõuete voo parameetriga λ. Kui järgmise päringu saabumise hetkel süsteemis on juba vähemalt n päringut teenuses (st kõik kanalid on hõivatud), siis siseneb see päring järjekorda ja ootab teenuse algust.

Iga nõude teenindusaeg t about on juhuslik suurus, mis järgib eksponentsiaalse jaotuse seadust parameetriga μ.

Nagu eespool märgitud, võib ootusega QS jagada kahte suurde rühma: suletud ja avatud.

Mõlemat tüüpi süsteemide toimimise omadused annavad kasutatavale matemaatilisele seadmele oma varju. Erinevat tüüpi QS-operatsiooni karakteristikute arvutamist saab läbi viia QS-i olekute tõenäosuste arvutamise (Erlangi valemite) põhjal.

Kuna süsteem on suletud, tuleks probleemiavaldusele lisada tingimus: sissetulevate päringute voog on piiratud, s.t. järjekorrasüsteemil ei saa olla korraga rohkem kui m päringut (m on teenindatavate objektide arv).

Vaadeldava süsteemi toimimise kvaliteeti iseloomustavate põhikriteeriumitena valime: 1) keskmise järjekorra pikkuse ja suurima nõuete arvu, mis samaaegselt teenindussüsteemis on - teenindatava objekti seisakutegur; 2) tühikäigul teenindavate kanalite keskmise arvu ja nende koguarvu suhe on teenindatava kanali jõudeoleku suhe.

Mõelge suletud QS vajalike tõenäosuslike karakteristikute (jõudlusnäitajate) arvutamisele.

1. Tõenäosus, et süsteemis on k nõuet eeldusel, et nende arv ei ületa teenindusseadmete arvu n:

P k = α k P 0, (1 ≤ k ≤ n),

kus

λ on nõuete ühest allikast süsteemi vastuvõtmise sagedus (intensiivsus);

Ühe nõude keskmine teenindamise kestus;

m - suurim võimalik arv nõudeid, mis on samal ajal teenindavas süsteemis;

n on teenindusseadmete arv;

P 0 - tõenäosus, et kõik teenindusseadmed on vabad.

2. Tõenäosus, et süsteemis on k nõuet, eeldusel, et nende arv on suurem kui teenindusseadmete arv:

P k = α k P 0, (n ≤ k ≤ m),

kus

3. Tõenäosus, et kõik serverid on vabad, määratakse tingimuse põhjal

Järelikult

4. Teenuse käivitamist ootavate päringute keskmine arv (keskmine järjekorra pikkus):

5. Nõudluse seisakute suhe hoolduse ootel:

6. Tõenäosus, et kõik teenindusseadmed on hõivatud:

7. Keskmine nõuete arv teenindussüsteemis (teenindatud ja teenust ootav):

8. Teenindusnõuete ja teenuse ootamise koguseisakute suhe:

9. Nõude keskmine jõudeaeg teenusejärjekorras:

10. Keskmine tasuta saatjate arv:

11. Teenindussõidukite seisakuaeg:

12. Tõenäosus, et teenust ootavate päringute arv on suurem kui mõni arv B (tõenäosus, et teenusejärjekorras on rohkem kui B päringuid):

Inimtegevuse praktikas hõivavad suure koha järjekorraprotsessid, mis esinevad sama tüüpi ülesannete lahendamisel korduvkasutuseks mõeldud süsteemides. Selliseid süsteeme nimetatakse järjekorrasüsteemideks (QS). Selliste süsteemide näideteks on telefonisüsteemid, arvutisüsteemid, autotööstus, lennundus, hooldussüsteemid, kauplused, piletikassad jms.

Iga süsteem koosneb teatud arvust teenindusüksustest (instrumendid, seadmed, seadmed "punktid, jaamad), mida nimetatakse teeninduskanaliteks. Kanalite arvu järgi jaguneb QS ühekanaliliseks ja mitme kanaliga. Diagramm ühe kanaliga järjekorrasüsteemi on näidatud joonisel 6.2.

Tavaliselt ei sisene rakendused süsteemi regulaarselt, vaid juhuslikult, moodustades juhusliku rakenduste voo (nõuded). Iga nõude teenindamine võib kesta kas teatud aja või sagedamini määramata aja. Juhuslik olemus toob kaasa asjaolu, et QS laaditakse ebaühtlaselt: mõnel ajaperioodil koguneb väga palju rakendusi (nad kas satuvad ritta või jätavad QS-i teenindamata), samal ajal kui teistel perioodidel töötab QS alakoormusega. või on jõude.

Riis. 6.2.

Järjekorrasüsteemide uuringu eesmärk on analüüsida nende toimimise kvaliteeti ja välja selgitada võimalused selle parandamiseks. Samal ajal on mõistel "toimimise kvaliteet" igal üksikjuhul oma konkreetne tähendus ja seda väljendatakse erinevate kvantitatiivsete näitajatega. Näiteks sellised kvantitatiivsed näitajad nagu teenindusjärjekorra suurus, keskmine teenindusaeg, teeninduse ootamine või teenindussüsteemis nõude leidmine, teenindusseadmete tühikäiguaeg; kindlustunne, et kõik süsteemi saabunud päringud teenindatakse.

Seega ei mõisteta järjekorrasüsteemi toimimise kvaliteedi all mitte konkreetse töö teostamise kvaliteeti, mille tegemiseks taotlus laekus, vaid teenusevajaduse rahuldamise astet.

Järjekorrateooria aineks on matemaatiliste mudelite konstrueerimine, mis seovad QS etteantud töötingimused (kanalite arv, nende jõudlus, rakenduste voo iseloom jne) QS jõudlusnäitajatega, mis kirjeldavad. selle võimet tulla toime rakenduste vooluga.

Järjekorrasüsteemide klassifikatsioon

Esimene omadus, mis võimaldab järjekorra ülesandeid klassifitseerida, on teenindava süsteemi poolt vastuvõetud nõudmiste käitumine hetkel, kui kõik masinad on hõivatud.

Mõnel juhul ei jõua nõue, mis siseneb süsteemi ajal, mil kõik masinad on hõivatud, nende vabastamist ära oodata ja jätab süsteemi teenindamata, s.t. nõue on antud teenindussüsteemi jaoks kadunud. Selliseid teenindussüsteeme nimetatakse kadudega süsteemideks ja nende põhjal sõnastatud probleeme nimetatakse kadudega süsteemide teenindusprobleemideks.

Kui aga süsteemi sisenenud nõudlus satub järjekorda ja ootab seadme vabastamist, siis selliseid süsteeme nimetatakse ootamisega süsteemideks ja vastavaid ülesandeid ootamisega süsteemides teenindusülesanneteks. Ootega QS jaguneb erinevateks tüüpideks olenevalt järjekorra korraldusest: piiratud või piiramatu järjekorra pikkusega, piiratud ooteajaga jne.

QS-id erinevad ka nõuete arvu poolest, mis võivad samaaegselt olla teenindussüsteemis. Eraldage:

  • 1) piiratud nõuetevooga süsteemid;
  • 2) piiramatu nõuetevooga süsteemid.

Sõltuvalt teenuse sisemise korralduse vormidest süsteemis on:

  • 1) tellitud teenusega süsteemid;
  • 2) häiritud teenindusega süsteemid.

Oluline samm QS-i uurimisel on uuritavat protsessi iseloomustavate kriteeriumide valik. Valik sõltub uuritavate probleemide tüübist, lahenduse eesmärgist.

Enamasti on praktikas süsteeme, kus nõuete voog on kõige lihtsama ja teenindusaeg järgib eksponentsiaalse jaotuse seadust. Need süsteemid on kõige täiuslikumalt välja töötatud järjekorrateoorias.

Ettevõtte tingimustes on tüüpilised ootamisega, piiratud arvu teenindusseadmetega, piiratud nõuetevooga ja korrastamata teenindusega ülesanded.

23. oktoober 2013, kell 14:22

Squeak: Modeling Queuing Systems

  • programmeerimine,
  • OOP,
  • Paralleelne programmeerimine

Sellise programmeerimiskeele nagu Squeak kohta on Habré kohta väga vähe teavet. Püüan sellest rääkida järjekorrasüsteemide modelleerimise kontekstis. Näitan, kuidas kirjutada lihtsat klassi, kirjeldada selle struktuuri ja kasutada seda programmis, mis teenindab päringuid mitme kanali kaudu.

Paar sõna Squeaki kohta

Squeak on Smalltalk-80 programmeerimiskeele avatud, platvormideülene teostus koos dünaamilise tippimise ja prügikogujaga. Liides on üsna spetsiifiline, kuid silumiseks ja analüüsimiseks üsna mugav. Squeak vastab täielikult OOP kontseptsioonile. Kõik koosneb objektidest, isegi struktuuridest kui-siis-muidu, ajaks, ajaks nende abiga ellu viidud. Kogu süntaks taandub objektile sõnumi saatmisele kujul:
<объект> <сообщение>
Iga meetod tagastab alati objekti ja sellele saab saata uue sõnumi.
Squeaki kasutatakse sageli protsesside modelleerimiseks, kuid seda saab kasutada ka multimeediumirakenduste ja mitmesuguste haridusplatvormide loomise tööriistana.

Järjekorrasüsteemid

Järjekorrasüsteemid (QS) sisaldavad ühte või mitut kanalit, mis töötlevad mitmest allikast pärit rakendusi. Iga päringu teenindamise aeg võib olla fikseeritud või suvaline, samuti nende saabumise vahelised intervallid. See võib olla telefonikeskjaam, pesumaja, poe kassapidajad, trükkimisbüroo jne. See näeb välja umbes selline:


QS sisaldab mitmeid allikaid, mis sisenevad ühisesse järjekorda ja saadetakse hooldusesse, kui töötlemiskanalid vabanevad. Sõltuvalt reaalsete süsteemide spetsiifilistest omadustest võib mudel sisaldada erinevat arvu päringuallikaid ja teenusekanaleid ning omada erinevaid piiranguid järjekorra pikkusele ja sellega seotud päringute (tõrgete) kaotamise võimalusele.

QS-i modelleerimisel lahendatakse tavaliselt järjekorra keskmise ja maksimaalse pikkuse hindamise, teenindussageduse, keskmise kanalikoormuse ja nende arvu määramise ülesanded. Olenevalt ülesandest sisaldab mudel tarkvaraplokke protsesside käitumise kohta vajalike statistiliste andmete kogumiseks, akumuleerimiseks ja töötlemiseks. QS analüüsis kõige sagedamini kasutatavad sündmuste voo mudelid on tavaline ja Poisson. Regulaarseid iseloomustab sama aeg sündmuste toimumise vahel, Poissoni omasid aga juhuslikud.

Natuke matemaatikat

Poissoni voolu puhul sündmuste arv X mis jäävad pikkusevahemikku τ (tau) punktiga külgnev t, jaotatud vastavalt Poissoni seadusele:
kus a (t, τ)- keskmine sündmuste arv ajavahemikus τ .
Ajaühikus toimuvate sündmuste keskmine arv on võrdne λ(t). Seega keskmine sündmuste arv ajaintervalli kohta τ , ajahetkega külgnev t, on võrdne:


Aeg T kahe sündmuse vahel λ(t) = const = λ levitatakse vastavalt seadusele:
Juhusliku suuruse jaotustihedus T tundub, et:
Ajavahemike pseudojuhuslike Poissoni jadade saamiseks t i lahendage võrrand:
kus r i on juhuslik arv, mis on intervalli peale ühtlaselt jaotatud.
Meie puhul annab see väljendi:


Juhuslikke numbreid genereerides saate kirjutada terveid köiteid. Intervalli peale ühtlaselt jaotatud täisarvude genereerimiseks kasutame järgmist algoritmi:
kus R i- teine ​​juhuslik täisarv;
R- mõni suur algarv (nt 2311);
K- täisarv - intervalli ülempiir, näiteks 2 21 = 2097152;
rem- täisarvude jagamisest jäägi saamine.

Algne väärtus R0 tavaliselt suvaliselt seadistatud, kasutades näiteks taimeri näitu:
Aeg kokku sekundites
Intervallile ühtlaselt jaotatud numbrite saamiseks kasutame keeleoperaatorit:

Rand klass

Intervallile ühtlaselt jaotatud juhuslike arvude saamiseks loome klassi - reaalarvude generaatori:

Float muutujaWordSubclass: #Rand "klassi nimi" eksemplarVariableNames: "" "eksemplari muutujad" classVariableNames: "R" "klassi muutujad" poolSõnastikud: "" "levisõnastikud" kategooria: "Näidis" "kategooria nimi"
Meetodid:

"Initsialiseerimine" init R:= Time totalSeconds.next "Järgmine pseudojuhuslik arv" next R:= (R * 2311 + 1) rem: 2097152. ^(R/2097152) asFloat
Anduri algoleku määramiseks saatke sõnum Rand init.
Teise juhusliku numbri saamiseks saatke Rand järgmisena.

Taotluste töötlemise programm

Nii et lihtsa näitena teeme järgmist. Oletame, et peame simuleerima ühest allikast pärinevate päringute korrapärase voo säilitamist juhusliku ajaintervalliga päringute vahel. Seal on kaks erineva jõudlusega kanalit, mis võimaldavad rakendusi teenindada vastavalt 2 ja 7 ajaühikuga. Iga kanali poolt teenindatavate päringute arv tuleb registreerida 100 ajaühiku intervalliga.

Squeak Code

"Ajutiste muutujate deklareerimine" | proc1 proc2 t1 t2 s1 s2 sysPrioriteedi järjekord jätka r | "Esialgne muutuja seaded" Rand init. SysTime:= 0. s1:= 0. s2:= 0. t1:= -1. t2:= -1. jätka:=tõsi. sysPriority:= Protsessori aktiivneProtsessi prioriteet. "Praegune prioriteet" järjekord:= Semafor uus. "Nõudejärjekorra mudel" "Loo protsess – kanali mudel 1" s1:= s1 + 1. proc1 peata."Peatage protsess teenuse lõpetamise ootel" ].proc1:= nil."Eemalda viide protsessile 1" ]priority: (sysPriority + 1)) CV. "Uus prioriteet on suurem kui taust" "Loo protsess – kanali mudel 2" .proc2:= null.] prioriteet: (sysPriority + 1)) jätka. "Põhiprotsessi ja lähtemudeli kirjelduse jätkamine", kuigiTõsi: [ r:= (Rand järgmine * 10) ümardatud. (r = 0) kuiTrue: . ((SysTime rem: r) = 0) kuiTrue: . "Saada päring" "Teenuseprotsessi lüliti" (t1 = SysTime) ifTrue: . (t2 = SysTime) ifTrue: . SysTime:= SysTime + 1. "Modeli aeg tiksub" ]. "Näita päringu loenduri olekut" PopUpMenu inform: "proc1: ",(s1 printString),", proc2: ",(s2 printString). jätka:= vale.


Käivitamisel näeme, et protsess 1 suutis töödelda 31 taotlust ja protsess 2 ainult 11:

Seotud väljaanded