Mga modelo ng matematika ng mga sistema ng pagpila para sa paglutas ng mga problemang pang-ekonomiya. Pindutin ang screen at ang likod ng monitor, keyboard

gawaing kurso

"Simulation ng system nakapila»

sa kursong "Pananaliksik sa Operasyon"

Panimula

Sa pagsasaliksik sa pagpapatakbo, ang isa ay madalas na nakakaharap ng mga system na idinisenyo upang magagamit muli kapag nilutas ang mga katulad na problema. Ang mga proseso na lumitaw sa kasong ito ay tinatawag na mga proseso ng serbisyo, at ang mga sistema ay tinatawag na mga queuing system (QS). Ang bawat QS ay binubuo ng isang tiyak na bilang ng mga yunit ng serbisyo (mga instrumento, aparato, punto, istasyon), na tinatawag na mga channel ng serbisyo. Ang mga channel ay maaaring mga linya ng komunikasyon, operating point, computer, nagbebenta, atbp. Ayon sa bilang ng mga channel, ang QS ay nahahati sa single-channel at multi-channel.

Ang mga aplikasyon ay karaniwang dumarating sa QS hindi regular, ngunit random, na bumubuo ng tinatawag na random na daloy ng mga aplikasyon (mga kinakailangan). Ang serbisyo ng mga aplikasyon ay nagpapatuloy din sa ilang random na oras. Ang random na kalikasan ng daloy ng mga aplikasyon at oras ng serbisyo ay humahantong sa katotohanan na ang QS ay na-load nang hindi pantay: sa ilang mga yugto ng panahon, maraming malaking bilang ng applications (maaaring makapasok sila sa linya o iwanan ang QS na hindi naseserbisyuhan), habang sa ibang mga panahon ang QS ay gumagana nang may underload o idle.

Ang paksa ng teorya ng queuing ay ang pagbuo ng mga modelo ng matematika na nauugnay sa ibinigay na mga kondisyon ng operating ng QS (ang bilang ng mga channel, ang kanilang pagganap, ang likas na katangian ng daloy ng mga application, atbp.) sa mga tagapagpahiwatig ng pagganap ng QS, na naglalarawan ang kakayahan nitong makayanan ang daloy ng mga aplikasyon. Ang mga sumusunod ay ginagamit bilang mga tagapagpahiwatig ng pagganap ng QS:

– Ganap throughput sistema ( A

Q

- ang posibilidad ng pagtanggi sa serbisyo sa aplikasyon ();

k);

- ang average na bilang ng mga application sa queue ();

Ang QS ay nahahati sa 2 pangunahing uri: QS na may mga pagkabigo at QS na may paghihintay (pila). Sa isang QS na may mga pagtanggi, ang isang kahilingan na dumarating sa sandaling abala ang lahat ng mga channel ay makakatanggap ng pagtanggi, umalis sa QS, at hindi nakikilahok sa karagdagang proseso ng serbisyo (halimbawa, isang kahilingan para sa pag-uusap sa telepono sa sandaling abala ang lahat ng channel, nakakatanggap ng pagtanggi at iniiwan ang QS na hindi naseserbisyuhan). Sa isang QS na may paghihintay, hindi umaalis ang isang claim na dumarating sa oras na abala ang lahat ng channel, ngunit pumila para sa serbisyo.

Ang isa sa mga pamamaraan para sa pagkalkula ng mga tagapagpahiwatig ng pagganap ng QS ay ang pamamaraan ng simulation. Ang praktikal na paggamit ng pagmomodelo ng computer simulation ay nagsasangkot ng pagbuo ng isang naaangkop na modelo ng matematika na isinasaalang-alang ang mga kadahilanan ng kawalan ng katiyakan, mga dynamic na katangian at ang buong kumplikado ng mga relasyon sa pagitan ng mga elemento ng system na pinag-aaralan. Simulation modelling ng system operation ay nagsisimula sa ilang partikular na paunang estado. Dahil sa pagpapatupad ng iba't ibang mga kaganapan ng isang random na kalikasan, ang modelo ng system ay pumasa sa iba pang posibleng mga estado nito sa mga susunod na sandali ng oras. Ang prosesong ito ng ebolusyon ay nagpapatuloy hanggang sa katapusan ng panahon ng pagpaplano, i.e. hanggang sa matapos ang simulation.

1. Pangunahing katangian ng CMO at mga tagapagpahiwatig ng kanilang pagiging epektibo

1.1 Ang konsepto ng isang Markov stochastic na proseso

Hayaang magkaroon ng ilang system na random na nagbabago sa estado nito sa paglipas ng panahon. Sa kasong ito, sinasabi namin na ang isang random na proseso ay nagaganap sa system.

Ang isang proseso ay tinatawag na isang proseso na may mga discrete na estado kung ang mga estado nito ay maaaring mabilang nang maaga at ang paglipat ng sistema mula sa isang estado patungo sa isa pa ay nangyayari sa isang pagtalon. Ang isang proseso ay tinatawag na tuluy-tuloy na oras na proseso kung ang mga paglipat ng system mula sa estado patungo sa estado ay nangyayari kaagad.

Ang proseso ng pagpapatakbo ng QS ay isang random na proseso na may mga discrete states at tuloy-tuloy na oras.

Ang isang random na proseso ay tinatawag na Markov o random na proseso na walang epekto kung, sa anumang sandali sa oras, ang mga probabilistikong katangian ng proseso sa hinaharap ay nakasalalay lamang sa kasalukuyang estado nito at hindi nakasalalay sa kung kailan at paano dumating ang sistema sa estadong ito.

Kapag sinusuri ang mga proseso ng operasyon ng QS, maginhawang gumamit ng isang geometric na pamamaraan - graph ng estado. Karaniwan, ang mga estado ng system ay kinakatawan ng mga parihaba, at ang mga posibleng paglipat mula sa estado patungo sa estado ay kinakatawan ng mga arrow. Ang isang halimbawa ng graph ng estado ay ipinapakita sa fig. 1.


Ang isang stream ng mga kaganapan ay isang pagkakasunud-sunod ng magkakatulad na mga kaganapan na sumusunod sa isa't isa sa mga random na oras.

Ang daloy ay nailalarawan sa pamamagitan ng intensity λ - ang dalas ng paglitaw ng mga kaganapan o ang average na bilang ng mga kaganapan na pumapasok sa QS bawat yunit ng oras.

Ang isang stream ng mga kaganapan ay tinatawag na regular kung ang mga kaganapan ay sumunod sa isa't isa sa mga regular na pagitan.

Ang isang stream ng mga kaganapan ay tinatawag na nakatigil kung ang mga probabilistikong katangian nito ay hindi nakasalalay sa oras. Sa partikular, ang intensity ng isang nakatigil na daloy ay isang pare-parehong halaga: .

Ang isang stream ng mga kaganapan ay tinatawag na ordinaryo kung ang posibilidad ng dalawa o higit pang mga kaganapan na tumama sa isang maliit na yugto ng panahon ay maliit kumpara sa posibilidad ng isang solong kaganapan na tumama, ibig sabihin, kung ang mga kaganapan ay lilitaw dito nang paisa-isa, hindi sa mga grupo.

Ang isang stream ng mga kaganapan ay tinatawag na isang stream na walang aftereffect kung para sa alinmang dalawang hindi intersecting na agwat ng oras at ang bilang ng mga kaganapan na bumabagsak sa isa sa mga ito ay hindi nakadepende sa bilang ng mga kaganapan na bumabagsak sa iba.

Ang isang stream ng mga kaganapan ay tinatawag na pinakasimpleng (o nakatigil na Poisson) kung ito ay parehong nakatigil, karaniwan at walang epekto.

1.2 Kolmogorov equation

Ang lahat ng mga paglipat sa system mula sa estado patungo sa estado ay nangyayari sa ilalim ng ilang daloy ng mga kaganapan. Hayaang nasa ilang estado ang system , kung saan posible ang paglipat sa estado, pagkatapos ay maaari nating ipagpalagay na ang sistema ay apektado ng pinakasimpleng daloy na may intensity , na inililipat ito mula sa estado patungo sa . Sa sandaling mangyari ang unang kaganapan ng thread, nangyayari ang paglipat nito. Para sa kalinawan, sa graph ng estado, ang bawat arrow na tumutugma sa paglipat ay ipinapahiwatig ng intensity . Ang ganitong may label na graph ng estado ay nagpapahintulot sa iyo na bumuo matematikal na modelo proseso, i.e. hanapin ang mga probabilidad ng lahat ng estado bilang isang function ng oras. Para sa kanila, ang mga differential equation ay pinagsama-sama, na tinatawag na Kolmogorov equation.

Ang panuntunan para sa pag-compile ng mga equation ni Kolmogorov: Sa kaliwang bahagi ng bawat equation ay ang time derivative ng probabilidad ibinigay na estado. Sa kanang bahagi ay ang kabuuan ng mga produkto ng lahat ng mga estado kung saan posible ang isang paglipat sa isang naibigay na estado, sa pamamagitan ng intensity ng kaukulang daloy ng kaganapan na binawasan ang kabuuang intensity ng lahat ng mga daloy na naglalabas ng system mula sa estado na ito, na pinarami ng ang posibilidad ng estadong ito.

Halimbawa, para sa graph ng estado na ipinapakita sa Fig. 1, ang mga equation ng Kolmogorov ay may anyo:


kasi sa kanang bahagi ng system, ang bawat termino ay pumapasok ng 1 beses na may sign at 1 beses na may sign , pagkatapos, idagdag ang lahat ng mga equation, makuha namin iyon

,

,

Samakatuwid, ang isa sa mga equation ng system ay maaaring itapon at palitan ng equation (1.2.1).

Para makuha tiyak na solusyon kailangan mong malaman ang mga paunang kondisyon, i.e. mga probabilidad sa unang sandali ng oras.

1.3 Mga huling probabilidad at graph ng estado ng QS

Para sa isang sapat na mahabang panahon ng mga proseso sa system (sa ), ang mga probabilidad ng mga estado na hindi nakasalalay sa oras ay maaaring maitatag, na tinatawag na panghuling probabilidad, i.e. ang sistema ay nasa nakatigil na mode. Kung ang bilang ng mga estado ng system ay may hangganan, at mula sa bawat isa sa kanila sa isang tiyak na bilang ng mga hakbang posible na pumunta sa anumang iba pang estado, kung gayon ang mga huling probabilidad ay umiiral, i.e.


Ang kahulugan ng mga huling probabilidad ay ang mga ito ay katumbas ng average na kamag-anak na oras na ginugol ng system sa isang naibigay na estado.

kasi sa nakatigil na estado, ang mga derivative ng oras ay katumbas ng zero, pagkatapos ay ang mga equation para sa mga huling probabilidad ay nakuha mula sa mga equation ng Kolmogorov sa pamamagitan ng equating ng kanilang kanang bahagi sa zero.

Ang mga graph ng estado na ginamit sa mga modelo ng mga sistema ng pagpila ay tinatawag na death-and-breed scheme. Ang pangalan na ito ay dahil sa ang katunayan na ang pamamaraan na ito ay ginagamit sa mga biological na problema na may kaugnayan sa pag-aaral ng laki ng populasyon. Ang kakaiba nito ay nakasalalay sa katotohanan na ang lahat ng mga estado ng sistema ay maaaring kinakatawan bilang isang kadena, kung saan ang bawat isa sa mga estado ay konektado sa mga nauna at kasunod na mga (Larawan 2).

kanin. 2. Graph ng mga estado sa mga modelo ng QS

Ipagpalagay natin na ang lahat ng mga daloy na naglilipat ng sistema mula sa isang estado patungo sa isa pa ay ang pinakasimple. Ayon sa graph na ipinapakita sa Fig. 2, bubuo kami ng mga equation para sa mga huling probabilidad ng system. Magkamukha sila:

Ang sistema ay nakuha mula sa ( n +1) equation, na nalutas sa pamamagitan ng paraan ng pag-aalis. Ang pamamaraang ito ay binubuo sa katotohanan na ang lahat ng mga probabilidad ng system ay sunud-sunod na ipinahayag sa pamamagitan ng probabilidad.

,

.

Ang pagpapalit ng mga expression na ito sa huling equation ng system, makikita natin ang , pagkatapos ay makikita natin ang natitirang probabilidad ng mga estado ng QS.

1.4 Mga tagapagpahiwatig ng pagganap ng QS

Ang layunin ng pagmomodelo ng QS ay upang kalkulahin ang pagganap ng isang sistema sa pamamagitan ng mga katangian nito. Ang mga sumusunod ay ginagamit bilang mga tagapagpahiwatig ng pagganap ng QS:

ay ang ganap na kapasidad ng system ( A), ibig sabihin. ang average na bilang ng mga aplikasyon na inihatid sa bawat yunit ng oras;

ay ang relatibong throughput ( Q), ibig sabihin. ang average na bahagi ng mga natanggap na kahilingan na sineserbisyuhan ng system;

ay ang posibilidad ng pagkabigo (), i.e. ang posibilidad na ang aplikasyon ay umalis sa QS na hindi naseserbisyuhan;

ay ang average na bilang ng mga abalang channel ( k);

- ang average na bilang ng mga aplikasyon sa QS ();

– average na oras ng pananatili ng aplikasyon sa system ();

- ang average na bilang ng mga application sa queue () - ang haba ng queue;

- ang average na bilang ng mga application sa system ();

- ang average na oras na nananatili ang application sa queue ();

- ang average na oras na nananatili ang application sa system ()

– antas ng pag-load ng channel (), i.e. ang posibilidad na ang channel ay abala;

ay ang average na bilang ng mga aplikasyon na inihatid sa bawat yunit ng oras;

– average na oras ng paghihintay para sa serbisyo;

– ang posibilidad na ang bilang ng mga aplikasyon sa pila ay lalampas sa isang tiyak na halaga, atbp.

Napatunayan na para sa anumang uri ng daloy ng mga kahilingan, para sa anumang pamamahagi ng oras ng serbisyo, para sa anumang disiplina ng serbisyo, ang average na oras ng isang kahilingan sa system (pila) ay katumbas ng average na bilang ng mga kahilingan sa system (queue) na hinati sa intensity ng daloy ng mga kahilingan, i.e.

(1.4.1)

Ang mga formula (1.4.1) at (1.4.2) ay tinatawag na Little formula. Sinusundan nila mula sa katotohanan na sa nililimitahan na nakatigil na rehimen ang average na bilang ng mga claim na dumarating sa system ay katumbas ng average na bilang ng mga claim na umaalis dito, i.e. ang parehong mga stream ng mga application ay may parehong intensity.

Ang mga formula para sa pagkalkula ng mga tagapagpahiwatig ng pagganap ay ibinigay sa Talahanayan. 1.


Talahanayan 1.

Mga tagapagpahiwatig

Single-channel na QS na may

limitadong pila

Multichannel QS na may

limitadong pila

Pangwakas

mga probabilidad

Probability

Ganap na throughput

kakayahan

Relatibong throughput

kakayahan

Average na bilang ng mga application sa bawat

Average na bilang ng mga aplikasyon sa ilalim

serbisyo

Average na bilang ng mga application sa system

1.5 Pangunahing konsepto ng simulation

Ang pangunahing layunin ng pagmomodelo ng simulation ay upang kopyahin ang pag-uugali ng system na pinag-aaralan batay sa pagsusuri ng pinakamahalagang relasyon ng mga elemento nito.

Dapat ituring ang computer simulation bilang isang static na eksperimento.

Ito ay kilala mula sa teorya ng mga pag-andar ng mga random na variable na upang magmodelo ng isang random na variable na may anumang tuluy-tuloy at monotonically pagtaas ng distribution function, ito ay sapat na upang magawa ang isang random variable na pantay na ipinamamahagi sa pagitan . Ang pagkakaroon ng pagkuha ng pagsasakatuparan ng isang random na variable, ang isa ay mahahanap ang kaukulang pagsasakatuparan ng isang random na variable, dahil ang mga ito ay nauugnay sa pagkakapantay-pantay.

Ipagpalagay natin na sa ilang sistema ng queuing ang oras ng serbisyo ng isang customer ay ipinamamahagi ayon sa exponential law na may parameter , kung saan ang intensity ng daloy ng serbisyo. Pagkatapos ang function ng pamamahagi ng oras ng serbisyo ay may form

Hayaan ay isang pagsasakatuparan ng isang random na variable , pantay na ibinahagi sa pagitan , at hayaang maging ang pagsasakatuparan ng random na oras ng serbisyo ng isang kahilingan na naaayon dito. Pagkatapos, ayon sa (1.5.1)

1.6 Pagbuo ng mga modelo ng simulation

Ang unang yugto sa paglikha ng anumang modelo ng simulation ay ang yugto ng paglalarawan ng tunay umiiral na sistema sa mga tuntunin ng mga katangian ng mga pangunahing kaganapan. Ang mga kaganapang ito, bilang panuntunan, ay nauugnay sa mga paglipat ng system na pinag-aaralan mula sa isang posibleng estado patungo sa isa pa at itinalaga bilang mga punto sa axis ng oras. Upang makamit ang pangunahing layunin ng pagmomodelo, sapat na upang obserbahan ang sistema sa mga sandali ng pagpapatupad ng mga pangunahing kaganapan.

Isaalang-alang ang isang halimbawa ng isang single-channel queuing system. Ang layunin ng simulation modeling ng naturang system ay upang matukoy ang mga pagtatantya ng mga pangunahing katangian nito, tulad ng average na oras na ginugol ng isang application sa queue, ang average na haba ng queue, at ang proporsyon ng downtime ng system.

Ang mga katangian ng proseso ng pagpila mismo ay maaaring magbago ng kanilang mga halaga alinman sa sandali ng pagtanggap ng isang bagong kahilingan para sa serbisyo, o sa pagtatapos ng paglilingkod sa susunod na kahilingan. Ang QS ay maaaring magsimulang maghatid ng susunod na kahilingan kaagad (ang channel ng serbisyo ay libre), ngunit hindi kasama ang pangangailangan na maghintay kapag ang kahilingan ay kailangang maganap sa pila (QS na may pila, ang channel ng serbisyo ay abala). Pagkatapos ng pagkumpleto ng paglilingkod sa susunod na kahilingan, ang QS ay maaaring agad na magsimulang magsilbi sa susunod na kahilingan, kung ito ay umiiral, ngunit maaari rin itong tumayo nang walang ginagawa kung wala. Ang mga kinakailangang impormasyon ay maaaring makuha sa pamamagitan ng pagmamasid iba't ibang sitwasyon na nagmumula sa pagpapatupad ng mga pangunahing kaganapan. Kaya, kapag dumating ang isang claim sa QS na may pila na may abalang channel ng serbisyo, tataas ang haba ng pila ng 1. Katulad nito, bababa ng 1 ang haba ng pila kung nakumpleto ang serbisyo ng susunod na claim at ang hanay ng mga claim sa pila ay hindi walang laman.

Para sa pagpapatakbo ng anumang modelo ng simulation, kinakailangan na pumili ng isang yunit ng oras. Depende sa likas na katangian ng system na na-modelo, ang naturang yunit ay maaaring isang microsecond, isang oras, isang taon, atbp.

Dahil, sa kakanyahan nito, ang computer simulation ay isang computational experiment, ang mga naobserbahang resulta nito sa pinagsama-samang ay dapat na may mga katangian ng isang random na sample na pagpapatupad. Sa kasong ito lamang masisiguro ang tamang istatistikal na interpretasyon ng simulate system.

Sa pagmomodelo ng computer simulation, ang pangunahing interes ay ang mga obserbasyon na nakuha pagkatapos maabot ng system na pinag-aaralan ang nakatigil na mode ng operasyon, dahil sa kasong ito ang pagkakaiba-iba ng sample ay bumababa nang husto.

Ang oras na kinakailangan para maabot ng system ang nakatigil na mode ng operasyon ay tinutukoy ng mga halaga ng mga parameter nito at ang paunang estado.

Dahil ang pangunahing layunin ay upang makakuha ng data ng pagmamasid na may pinakamaliit na posibleng error, pagkatapos ay upang makamit ang layuning ito, maaari mong:

1) dagdagan ang tagal ng simulation modelling ng proseso ng paggana ng system na pinag-aaralan. Sa kasong ito, hindi lamang ang posibilidad ng system na maabot ang nakatigil na mode ng operasyon ay tumataas, kundi pati na rin ang bilang ng mga pseudo-random na numero na ginamit ay tumataas, na positibong nakakaapekto sa kalidad ng mga resulta na nakuha.

2) para sa isang nakapirming tagal ng oras T simulation modelling na isasagawa N mga eksperimento sa computational, na tinatawag ding model run, na may iba't ibang hanay ng mga pseudo-random na numero, na bawat isa ay nagbibigay ng isang obserbasyon. Ang lahat ng pagtakbo ay nagsisimula sa parehong paunang estado ng simulate system, ngunit gumagamit ng iba't ibang hanay ng mga pseudo-random na numero. Ang bentahe ng pamamaraang ito ay ang kalayaan ng nakuha na mga obserbasyon, mga tagapagpahiwatig ng kahusayan ng system. Kung numero N modelo ay sapat na malaki, pagkatapos ay ang mga hangganan ng simetriko agwat ng kumpiyansa para sa isang parameter ay tinukoy bilang mga sumusunod:


, , ibig sabihin. , Saan

naitama ang pagkakaiba-iba, ,

N– bilang ng mga tumatakbong programa, – pagiging maaasahan, .

2. Analytical modelling ng QS

2.1 State graph ng system at ang Kolmogorov equation

Isaalang-alang ang isang two-channel queuing system (n = 2) na may limitadong queue na katumbas ng anim (m = 4). Ang QS ay tumatanggap ng pinakasimpleng daloy ng mga aplikasyon na may average na intensity λ = 4.8 at isang exponential na batas ng pamamahagi ng oras sa pagitan ng pagdating ng mga aplikasyon. Ang daloy ng mga kahilingang naseserbisyuhan sa system ay ang pinakasimpleng may average na intensity μ = 2 at isang exponential na batas ng pamamahagi ng oras ng serbisyo.

Ang sistemang ito ay may 7 estado, tinutukoy namin ang mga ito:

S 0 - ang sistema ay libre, walang mga kahilingan;

S 1 - 1 kahilingan sa serbisyo, ang pila ay walang laman;

S 2 - 2 kahilingan para sa serbisyo, ang pila ay walang laman;

S 3 - 2 kahilingan para sa serbisyo, 1 kahilingan sa pila;

S 4 - 2 kahilingan para sa servicing, 2 kahilingan sa pila;

S 5 - 2 kahilingan para sa serbisyo, 3 kahilingan sa pila;

S 6 - 2 kahilingan para sa serbisyo, 4 na kahilingan sa pila;

Ang mga probabilidad ng system na pumapasok sa mga estado S 0 , S 1 , S 2 , …, S 6 ay ayon sa pagkakabanggit ay katumbas ng Р 0 , Р 1 , Р 2 , …, Р 6 .

Ang state graph ng queuing system ay isang scheme ng kamatayan at pagpaparami. Ang lahat ng mga estado ng system ay maaaring katawanin bilang isang chain kung saan ang bawat isa sa mga estado ay konektado sa nakaraan at sa susunod.

kanin. 3. Graph ng mga estado ng isang dalawang-channel na QS


Para sa nabuong graph, isinusulat namin ang mga equation ng Kolmogorov:

Upang malutas ang sistemang ito, itinakda namin ang mga paunang kundisyon:

Ang sistema ng mga equation ni Kolmogorov (system differential equation) nilulutas namin sa pamamagitan ng numerical na paraan ng Euler gamit ang Maple 11 software package (tingnan ang Appendix 1).

Paraan ng Euler


saan - sa aming kaso, ito ang mga tamang bahagi ng Kolmogorov equation, n=6.

Pumili tayo ng time step. Kunwari kung saan T ay ang oras na kinakailangan para sa sistema upang maabot ang isang matatag na estado. Mula dito nakukuha namin ang bilang ng mga hakbang . Consistently N sa sandaling kalkulahin ng formula (1), nakukuha natin ang mga dependence ng mga probabilidad ng mga estado ng system sa oras, na ipinapakita sa fig. 4.

Ang mga halaga ng QS probabilities at ay katumbas ng:


kanin. 4. Depende sa mga probabilidad ng mga estado ng system sa oras

P0
P5
P4
P3
P2
P1
2.2 Mga huling probabilidad ng system

Sa sapat na mahabang panahon para sa mga proseso sa system (), ang mga probabilidad ng mga estado na hindi nakasalalay sa oras, na tinatawag na mga huling probabilidad, ay maaaring maitatag, i.e. ang sistema ay nasa nakatigil na mode. Kung ang bilang ng mga estado ng system ay may hangganan, at mula sa bawat isa sa kanila posible na pumasa sa anumang iba pang estado sa isang may hangganan na bilang ng mga hakbang, kung gayon ang mga huling probabilidad ay umiiral, i.e.

kasi sa nakatigil na estado, ang mga derivative ng oras ay katumbas ng 0, pagkatapos ay ang mga equation para sa mga huling probabilidad ay nakuha mula sa mga equation ng Kolmogorov sa pamamagitan ng pagtutumbas sa kanang bahagi sa 0. Isulat natin ang mga equation para sa mga huling probabilidad para sa ating QS.


Solusyonan natin ang sistemang ito linear na equation gamit ang Maple 11 software package (tingnan ang Appendix 1).

Nakukuha namin ang mga huling probabilidad ng system:

Ang paghahambing ng mga probabilidad na nakuha mula sa sistema ng mga equation ng Kolmogorov para sa , kasama ang mga huling probabilidad ay nagpapakita na ang mga pagkakamali ay pantay:

Yung. sapat na maliit. Kinukumpirma nito ang kawastuhan ng mga nakuhang resulta.

2.3 Pagkalkula ng mga tagapagpahiwatig ng pagganap ng system sa pamamagitan ng mga huling probabilidad

Hanapin natin ang mga tagapagpahiwatig ng pagganap ng sistema ng pagpila.

Una, kinakalkula namin ang pinababang intensity ng daloy ng mga kahilingan:

1) Ang posibilidad ng pagtanggi sa serbisyo sa aplikasyon, i.e. ang posibilidad na ang customer ay umalis sa system na hindi naseserbisyuhan. Sa aming kaso, ang customer ay tinanggihan ng serbisyo kung ang lahat ng 2 channel ay abala at ang queue ay lubos na puno (ibig sabihin, 4 na tao sa queue), ito ay tumutugma sa estado ng system S 6 . kasi ang posibilidad ng pagpasok ng system sa estado S 6 ay P 6 , kung gayon

4) Average na haba ng pila, ibig sabihin. ang average na bilang ng mga kahilingan sa queue ay katumbas ng kabuuan ng mga produkto ng bilang ng mga kahilingan sa queue at ang posibilidad ng kaukulang estado.

5) Ang average na oras na ginugugol ng isang application sa isang queue ay tinutukoy ng formula ni Little:

3. Simulation modelling ng QS

3.1 Algorithm ng QS simulation method (step by step approach)

Isaalang-alang ang isang two-channel queuing system (n = 2) na may maximum na haba ng pila na anim (m = 4). Ang QS ay tumatanggap ng pinakasimpleng daloy ng mga aplikasyon na may average na intensity λ = 4.8 at isang exponential na batas ng pamamahagi ng oras sa pagitan ng pagdating ng mga aplikasyon. Ang daloy ng mga kahilingang naseserbisyuhan sa system ay ang pinakasimpleng may average na intensity μ = 2 at isang exponential na batas ng pamamahagi ng oras ng serbisyo.

Upang gayahin ang QS, gagamitin namin ang isa sa mga pamamaraan ng statistical modeling - simulation modeling. Gagamit kami ng hakbang-hakbang na diskarte. Ang kakanyahan ng diskarteng ito ay ang mga estado ng system ay isinasaalang-alang sa mga kasunod na sandali ng oras, ang hakbang sa pagitan ng kung saan ay sapat na maliit upang hindi hihigit sa isang kaganapan ang nangyayari sa panahon nito.

Piliin natin ang hakbang ng oras (). Ito ay dapat na mas mababa kaysa sa average na oras ng pagtanggap ng aplikasyon () at ang average na oras ng serbisyo nito (), i.e.

Saan (3.1.1)

Batay sa kundisyon (3.1.1), tinutukoy namin ang hakbang ng oras .

Ang oras ng pagtanggap ng aplikasyon sa QS at ang oras ng serbisyo nito ay mga random na variable. Samakatuwid, kapag ginagaya ang QS, kinakalkula ang mga ito gamit ang mga random na numero.

Isaalang-alang ang pagtanggap ng aplikasyon sa CMO. Ang posibilidad na ang isang order ay dumating sa QS sa panahon ng agwat ay katumbas ng: . Bumuo tayo ng random na numero , at kung , pagkatapos ay ipagpalagay namin na ang kahilingan sa hakbang na ito ay pumasok sa system kung , tapos hindi pumasok.

Ginagawa ito sa programa ayHinihiling () . Kukunin namin ang agwat ng oras na pare-pareho at katumbas ng 0.0001, kung gayon ang ratio ay magiging katumbas ng 10000. Kung ang kahilingan ay natanggap, pagkatapos ay kukuha ng halaga na "true", kung hindi, ang halaga ay "false".

bool isRequested()

double r = R.NextDouble();

kung (r< (timeStep * lambda))

Isaalang-alang natin ngayon ang serbisyo ng isang aplikasyon sa QS. Ang oras ng serbisyo ng isang application sa system ay tinutukoy ng expression , kung saan ay isang random na numero. Sa programa, ang oras ng serbisyo ay tinutukoy gamit ang function GetServiceTime () .

dobleng GetServiceTime()

double r = R.NextDouble();

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

Ang algorithm ng pamamaraan ng simulation ay maaaring mabalangkas tulad ng sumusunod. Mga oras ng pagpapatakbo ng QS ( T) ay nahahati sa mga hakbang ng oras dt, bawat isa sa kanila ay nagsasagawa ng isang serye ng mga aksyon. Una, tinutukoy ang mga estado ng system (mga busy na channel, haba ng pila), pagkatapos, gamit ang function ayHinihiling () , natutukoy kung natanggap ang kahilingan sa hakbang na ito o hindi.

Kung natanggap, at, sa parehong oras, may mga libreng channel, pagkatapos ay ginagamit ang function GetServiceTime () binubuo namin ang oras ng pagproseso ng application at inilalagay namin ito sa serbisyo. Kung ang lahat ng mga channel ay abala, at ang haba ng pila ay mas mababa sa 4, pagkatapos ay ilalagay namin ang kahilingan sa pila; kung ang haba ng pila ay 4, ang kahilingan ay tatanggihan sa serbisyo.

Sa kaso kapag sa hakbang na ito ang kahilingan ay hindi natanggap, at ang channel ng serbisyo ay libre, sinusuri namin kung mayroong isang pila. Kung mayroon, pagkatapos ay mula sa pila inilalagay namin ang kahilingan para sa paglilingkod sa isang libreng channel. Pagkatapos ng mga isinagawang operasyon, ang oras ng serbisyo para sa mga abalang channel ay nababawasan ng halaga ng hakbang dt .

Matapos lumipas ang oras T, ibig sabihin, pagkatapos imodelo ang pagpapatakbo ng QS, ang mga tagapagpahiwatig ng pagganap ng system ay kinakalkula at ang mga resulta ay ipinapakita sa screen.

3.2 Flowchart ng programa

Ang block diagram ng programa na nagpapatupad ng inilarawan na algorithm ay ipinapakita sa fig. 5.

kanin. 5. Flowchart ng programa

Sumulat tayo ng ilang mga bloke nang mas detalyado.

Block 1. Pagtatakda ng mga paunang halaga ng mga parameter.

Random R; // Random na numero generator

pampublikong uint maxQueueLength; // Pinakamataas na haba ng pila

pampublikong uint channelCount; // Bilang ng mga channel sa system

pampublikong double lambda; // Tindi ng daloy ng mga papasok na kahilingan

pampublikong double mu; // Intensity ng daloy ng serbisyo sa kahilingan

pampublikong double timeStep; // Hakbang ng oras

pampublikong double timeOfFinishProcessingReq; // Ang oras ng pagtatapos ng pagseserbisyo sa kahilingan sa lahat ng channel

pampublikong double timeInQueue; // Oras na ginugol ng QS sa mga estado na may pila

pampublikong double processingTime; // Oras ng pagpapatakbo ng system

pampublikong dobleng kabuuangProcessingTime; // Kabuuang oras para sa mga kahilingan sa serbisyo

pampublikong uint requestEntryCount; // Bilang ng mga kahilingang natanggap

pampublikong uint tinanggihanRequestCount; // Bilang ng mga tinanggihang aplikasyon

tinanggap ng pampublikong uintRequestCount; // Bilang ng mga kahilingang inihatid

uint queueLength; // Haba ng pila //

Uri na naglalarawan sa mga estado ng QS

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

SysCondition currentSystemCondition; // Kasalukuyang estado ng system

Pagtatakda ng mga estado ng system. Iisa natin ang 7 magkakaibang estado para sa 2-channel system na ito: S 0 , S 1 . S 6 . Ang QS ay nasa estado S 0 kapag ang system ay libre; S 1 – kahit isang channel ay libre; sa estado S 2 kapag abala ang lahat ng channel at may puwang sa pila; sa estado S 6, ang lahat ng mga channel ay abala at ang pila ay umabot sa maximum na haba (queueLength = 4).

Tinutukoy namin ang kasalukuyang estado ng system gamit ang function GetCondition()

SysCondition GetCondition()

SysCondition p_currentCondit = SysCondition.S0;

int busyChannelCount = 0;

para sa (int i = 0; i< channelCount; i++)

kung (timeOfFinishProcessingReq[i] > 0)

busyChannelCount++;

p_currentCondit += k * (i + 1);

kung (busyChannelCount > 1)

(p_currentCondit++;)

ibalik ang p_currentCondit + (int) QueueLength;

Baguhin ang oras ng paninirahan ng QS sa mga estado na may haba ng pila na 1, 2,3,4. Ito ay ipinatupad ng sumusunod na code:

kung (QueueLength > 0)

timeInQueue += timeStep;

kung (QueueLength > 1)

(timeInQueue += timeStep;)

Mayroong isang operasyon tulad ng paglalagay ng isang kahilingan sa serbisyo sa isang libreng channel. Ini-scan ang lahat ng channel, simula sa una, kapag natugunan ang kundisyon ng timeOfFinishProcessingReq [ i ] <= 0 (ang channel ay libre), isang aplikasyon ay isinumite dito, i.e. nabuo ang oras ng pagtatapos para sa paglilingkod sa kahilingan.

para sa (int i = 0; i< channelCount; i++)

kung (timeOfFinishProcessingReq[i]<= 0)

timeOfFinishProcessingReq[i] = GetServiceTime();

totalProcessingTime+= timeOfFinishProcessingReq[i];

Ang serbisyo ng mga application sa mga channel ay namodelo ng code:

para sa (int i = 0; i< channelCount; i++)

kung (timeOfFinishProcessingReq[i] > 0)

timeOfFinishProcessingReq[i] -= timeStep;

Ang simulation method algorithm ay ipinatupad sa C# programming language.

3.3 Pagkalkula Mga tagapagpahiwatig ng pagganap ng QS batay sa resulta ng simulation nito

Ang pinakamahalagang tagapagpahiwatig ay:

1) Ang posibilidad ng pagtanggi sa serbisyo sa aplikasyon, i.e. ang posibilidad na ang customer ay umalis sa system na hindi naseserbisyuhan. Sa aming kaso, ang customer ay tinanggihan ng serbisyo kung ang lahat ng 2 channel ay abala at ang pila ay puno hangga't maaari (ibig sabihin, 4 na tao sa pila). Upang mahanap ang posibilidad ng pagkabigo, hinahati namin ang oras na nananatili ang QS sa estado na may queue 4 sa kabuuang oras ng system.

2) Ang relatibong throughput ay ang average na bahagi ng mga papasok na kahilingang inihatid ng system.

3) Ang absolute throughput ay ang average na bilang ng mga application na inihatid sa bawat yunit ng oras.


4) Haba ng pila, ibig sabihin. ang average na bilang ng mga application sa queue. Ang haba ng pila ay katumbas ng kabuuan ng mga produkto ng bilang ng mga tao sa pila at ang posibilidad ng kaukulang estado. Nakikita namin ang mga probabilidad ng mga estado bilang ratio ng oras ng QS sa estadong ito sa kabuuang oras ng pagpapatakbo ng system.

5) Ang average na oras na ginugugol ng isang application sa isang queue ay tinutukoy ng formula ni Little

6) Ang average na bilang ng mga channel na inookupahan ay tinukoy bilang mga sumusunod:

7) Ang porsyento ng mga application na tinanggihan ng serbisyo ay makikita ng formula

8) Ang porsyento ng mga kahilingan sa serbisyo ay matatagpuan sa pamamagitan ng formula


3.4 Pagproseso ng istatistika ng mga resulta at ang kanilang paghahambing sa mga resulta ng analytical modeling

kasi ang mga tagapagpahiwatig ng pagganap ay nakuha bilang isang resulta ng pagmomodelo ng QS para sa isang tiyak na oras, naglalaman ang mga ito ng isang random na bahagi. Samakatuwid, upang makakuha ng mas maaasahang mga resulta, kinakailangan upang isagawa ang kanilang pagpoproseso ng istatistika. Sa layuning ito, tinatantya namin ang agwat ng kumpiyansa para sa kanila batay sa mga resulta ng 20 pagpapatakbo ng programa.

Ang halaga ay nasa loob ng agwat ng kumpiyansa kung ang hindi pagkakapantay-pantay

, Saan

Ang inaasahan sa matematika (average na halaga), ay matatagpuan sa pamamagitan ng formula

naitama ang pagkakaiba-iba,

,

N =20 - bilang ng mga tumatakbo

- pagiging maaasahan. Sa at N =20 .

Ang resulta ng programa ay ipinapakita sa Fig. 6.


kanin. 6. Uri ng programa

Para sa kaginhawaan ng paghahambing ng mga resulta na nakuha sa pamamagitan ng iba't ibang mga pamamaraan ng pagmomolde, ipinakita namin ang mga ito sa anyo ng isang talahanayan.

Talahanayan 2.

Mga tagapagpahiwatig

kahusayan ng QS

resulta

analitikal

pagmomodelo

resulta

simulation modelling (huling hakbang)

Mga resulta ng simulation

Bottom line

katiwala

pagitan

Upper bound

katiwala

pagitan

Probability ng Pagkabigo 0,174698253017626

0,158495148639101

0,246483801571923
Kamag-anak na Bandwidth 0,825301746982374 0,753516198428077 0,841504851360899
Ganap na Bandwidth 3,96144838551539 3,61687775245477 4,03922328653232
Average na haba ng pila 1,68655313447018 1,62655862750852 2,10148609204869
Average na oras na ginugugol ng isang application sa pila 0,4242558575 0,351365236347954 0,338866380730942 0,437809602510145
Karaniwang Abala na Mga Channel 1,9807241927577 1,80843887622738 2,01961164326616

Mula sa Table. Ipinapakita ng Figure 2 na ang mga resulta na nakuha sa analytical modeling ng QS ay nasa loob ng confidence interval na nakuha mula sa mga resulta ng simulation. Iyon ay, ang mga resulta na nakuha sa pamamagitan ng iba't ibang mga pamamaraan ay pare-pareho.

Konklusyon

Sa papel na ito, ang mga pangunahing pamamaraan para sa pagmomodelo ng QS at pagkalkula ng kanilang mga tagapagpahiwatig ng pagganap ay isinasaalang-alang.

Ang simulation ng isang dalawang-channel na QS na may maximum na haba ng pila na 4 ay isinagawa gamit ang mga equation ng Kolmogorov, at ang mga huling probabilidad ng mga estado ng system ay natagpuan. Ang mga tagapagpahiwatig ng pagiging epektibo nito ay kinakalkula.

Ang isang simulation ng pagpapatakbo ng naturang QS ay isinagawa. Sa C# programming language, isang programa ang naipon na ginagaya ang operasyon nito. Ang isang serye ng mga kalkulasyon ay isinagawa, batay sa mga resulta kung saan natagpuan ang mga halaga ng mga tagapagpahiwatig ng kahusayan ng system at ang kanilang pagproseso ng istatistika ay isinagawa.

Ang mga resulta na nakuha sa simulation modeling ay pare-pareho sa mga resulta ng analytical modeling.

Panitikan

1. Wentzel E.S. Pananaliksik sa pagpapatakbo. – M.: Bustard, 2004. – 208 p.

2. Volkov I.K., Zagoruiko E.A. Pananaliksik sa pagpapatakbo. - M .: Publishing house ng MSTU im. N.E. Bauman, 2002. - 435 p.

3. Volkov I.K., Zuev S.M., Tsvetkova G.M. mga random na proseso. - M .: Publishing house ng MSTU im. N.E. Bauman, 2000. - 447 p.

4. Gmurman V.E. Gabay sa paglutas ng mga problema sa probability theory at mathematical statistics. - M.: Mas mataas na paaralan, 1979. - 400 p.

5. Ivnitsky V.L. Teorya ng mga network ng pila. – M.: Fizmatlit, 2004. – 772 p.

6. Mga operasyon sa pananaliksik sa ekonomiya / ed. N.Sh. Kremer. - M.: Pagkakaisa, 2004. - 407 p.

7. Takha H.A. Panimula sa pananaliksik sa pagpapatakbo. - M.: Publishing House "Williams", 2005. - 902 p.

8. Kharin Yu.S., Malyugin V.I., Kirlitsa V.P. et al.Mga Batayan ng simulation at statistical modeling. - Minsk: Design PRO, 1997. - 288 p.

Ang analytical study ng queuing system (QS) ay isang alternatibong diskarte sa simulation modeling at binubuo sa pagkuha ng mga formula para sa pagkalkula ng mga output parameter ng QS na may kasunod na pagpapalit ng mga halaga ng argumento sa mga formula na ito sa bawat indibidwal na eksperimento.

Sa mga modelo ng QS, ang mga sumusunod na bagay ay isinasaalang-alang:

1) mga kahilingan sa serbisyo (mga transaksyon);

2) mga service device (OA), o mga device.

Ang praktikal na gawain ng teorya ng queuing ay nauugnay sa pag-aaral ng mga operasyon ng mga bagay na ito at binubuo ng magkakahiwalay na elemento na naiimpluwensyahan ng mga random na kadahilanan.

Bilang isang halimbawa ng mga problema na isinasaalang-alang sa teorya ng pagpila, maaaring banggitin ang: pagtutugma ng throughput ng isang mapagkukunan ng mensahe sa isang channel ng paghahatid ng data, pag-aaral ng pinakamainam na daloy ng transportasyon sa lunsod, pagkalkula ng kapasidad ng isang waiting room para sa mga pasahero sa isang paliparan , atbp.

Ang kahilingan ay maaaring nasa estado ng serbisyo o nasa nakabinbing estado ng serbisyo.

Ang device ng serbisyo ay maaaring maging abala sa serbisyo o libre.

Ang estado ng QS ay nailalarawan sa pamamagitan ng isang hanay ng mga estado ng mga device ng serbisyo at mga kahilingan. Ang pagbabago ng mga estado sa QS ay tinatawag na isang kaganapan.

Ang mga modelo ng QS ay ginagamit upang pag-aralan ang mga prosesong nagaganap sa system, kapag nag-aaplay sa mga input ng mga daloy ng aplikasyon. Ang mga prosesong ito ay isang pagkakasunod-sunod ng mga pangyayari.

Ang pinakamahalagang mga parameter ng output ng QS

Pagganap

Bandwidth

Probability ng Pagtanggi sa Serbisyo

Average na oras ng serbisyo;

Equipment load factor (OA).

Ang mga aplikasyon ay maaaring mga order para sa produksyon ng mga produkto, mga gawain na nalutas sa isang computer system, mga customer sa mga bangko, mga kalakal na dumarating para sa transportasyon, atbp. Malinaw na ang mga parameter ng mga application na pumapasok sa system ay mga random na variable at ang kanilang mga parameter lamang ang maaaring malaman sa panahon ng pananaliksik o disenyo.mga batas sa pamamahagi.

Sa pagsasaalang-alang na ito, ang pagsusuri ng paggana sa antas ng system, bilang panuntunan, ay isang istatistikal na kalikasan. Maginhawang kunin ang teorya ng queuing bilang isang mathematical modeling tool, at gumamit ng queuing system bilang mga modelo ng mga system sa antas na ito.



Ang pinakasimpleng mga modelo ng QS

Sa pinakasimpleng kaso, ang QS ay isang device na tinatawag na service device (OA), na may mga pila ng mga application sa mga input.

M o d e l o n s e r e n t e r e s s e n c a t i o n (Fig. 5.1)


kanin. 5.1. QS model na may mga pagkabigo:

0 - pinagmulan ng kahilingan;

1 - aparato ng serbisyo;

A– input stream ng mga kahilingan para sa serbisyo;

V ay ang output stream ng mga kahilingan sa serbisyo;

Sa ay ang output stream ng mga hindi naihatid na kahilingan.

Sa modelong ito, walang claim accumulator sa input ng OA. Kung ang isang claim ay dumating mula sa source 0 sa sandaling ang AA ay abala sa pagseserbisyo sa nakaraang claim, pagkatapos ay ang bagong dating na claim ay lalabas sa system (dahil ito ay tinanggihan ng serbisyo) at nawala (ang daloy Sa).

M o d e l o f C a n d i n g s e c r i o n s (Larawan 5.2)


kanin. 5.2. QS Model na may Inaasahan

(N– 1) - ang bilang ng mga application na maaaring magkasya sa accumulator

Ang modelong ito ay may claim accumulator sa input ng OA. Kung ang isang customer ay dumating mula sa source 0 sa sandaling ang CA ay abala sa pagseserbisyo sa nakaraang customer, pagkatapos ay ang bagong dating na customer ay papasok sa accumulator, kung saan ito ay naghihintay nang walang katiyakan hanggang sa ang CA ay maging libre.

LIMITED TIME SERVICE MODEL

w i d a n y (Larawan 5.3)


kanin. 5.4. Multichannel QS model na may mga pagkabigo:

n- ang bilang ng magkaparehong mga device ng serbisyo (mga device)

Sa modelong ito, walang isang OA, ngunit marami. Ang mga aplikasyon, maliban kung iba ang nakasaad, ay maaaring isumite sa anumang hindi nagseserbisyong AB. Walang imbakan, kaya kasama sa modelong ito ang mga katangian ng modelo na ipinapakita sa Fig. 5.1: ang pagtanggi sa serbisyo ng aplikasyon ay nangangahulugan ng hindi na mababawi nitong pagkawala (ito ay nangyayari lamang kung sa oras ng pagdating ng application na ito Lahat Busy ang OA).

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


kanin. 5.6. Multi-channel na modelo ng QS na may naghihintay at pagbawi ng OA:

e- mga kagamitan sa serbisyo na wala sa ayos;

f– naibalik na mga sasakyang pang-serbisyo

Ang modelong ito ay may mga katangian ng mga modelo na ipinakita sa Fig. 5.2 at 5.4, pati na rin ang mga pag-aari na nagbibigay-daan upang isaalang-alang ang posibleng mga random na pagkabigo ng OA, na sa kasong ito ay pumasok sa repair block 2, kung saan sila ay nananatili para sa mga random na tagal ng oras na ginugol sa kanilang pagpapanumbalik, at pagkatapos ay bumalik sa service block 1 na naman.

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

OA w aiting time at recovery (Fig. 5.7)


kanin. 5.7. Multichannel QS Model na may Limitadong Oras ng Paghihintay at OA Recovery

Ang modelong ito ay medyo kumplikado, dahil ito ay sabay na isinasaalang-alang ang mga katangian ng dalawa hindi ang pinakasimpleng mga modelo (Mga Figure 5.5 at 5.6).

Pag-uuri, mga pangunahing konsepto, mga elemento ng modelo, pagkalkula ng mga pangunahing katangian.

Kapag nilulutas ang mga problema ng nakapangangatwiran na organisasyon ng kalakalan, mga serbisyo ng consumer, warehousing, atbp. lubhang kapaki-pakinabang ang interpretasyon ng mga aktibidad ng istraktura ng produksyon bilang mga sistema ng pagpila, ibig sabihin. isang sistema kung saan, sa isang banda, ang mga kahilingan para sa pagganap ng anumang gawain ay patuloy na lumalabas, at sa kabilang banda, ang mga kahilingang ito ay patuloy na natutugunan.

Kasama sa bawat SMO apat na elemento: papasok na stream, pila, server, papalabas na stream.

pangangailangan(kliyente, aplikasyon) sa QS ay ang bawat indibidwal na kahilingan para sa pagganap ng anumang gawain.

Serbisyo ay ang pagsasagawa ng trabaho upang matugunan ang papasok na pangangailangan. Ang bagay na nagsasagawa ng pagpapanatili ng mga kinakailangan ay tinatawag na isang aparato ng serbisyo (aparato) o isang channel ng serbisyo.

Ang oras ng serbisyo ay ang panahon kung saan natutugunan ang kinakailangan sa serbisyo, i.e. ang panahon mula sa simula ng serbisyo hanggang sa pagkumpleto nito. Ang panahon mula sa sandaling pumasok ang isang kahilingan sa system hanggang sa simula ng serbisyo ay tinatawag na oras ng paghihintay ng serbisyo. Ang oras ng paghihintay para sa serbisyo, kasama ang oras ng serbisyo, ay ang oras ng paninirahan ng kinakailangan sa system.

Ang mga SMO ay inuri ayon sa iba't ibang pamantayan..

1. Ayon sa bilang ng mga channel ng serbisyo, nahahati ang QS sa single-channel at multi-channel.

2. Depende sa mga kondisyon ng paghihintay, ang kinakailangan sa pagsisimula ng serbisyo ay nakikilala ang QS sa mga pagkalugi (mga pagkabigo) at QS sa paghihintay.

SA QS na may pagkawala ng demand, natanggap sa sandaling abala ang lahat ng device sa pagpapanatili, tinatanggihan, nawala ang mga ito para sa system na ito at walang epekto sa karagdagang proseso ng pagpapanatili. Ang klasikong halimbawa ng isang bagsak na sistema ay ang pagpapalitan ng telepono - ang isang kahilingan sa koneksyon ay tinatanggihan kung ang tinatawag na partido ay abala.

Para sa isang system na may mga pagkabigo, ang pangunahing katangian ng kahusayan ng paggana ay ang posibilidad ng pagkabigo o ang average na proporsyon ng mga kahilingan na nananatiling hindi naibigay.

SA CMO na may naghihintay na demand, na natanggap sa sandaling abala ang lahat ng device sa pagseserbisyo, hindi umaalis sa system, ngunit pumila at naghihintay hanggang sa maging libre ang isa sa mga channel. Kapag ang susunod na aparato ay inilabas, ang isa sa mga aplikasyon sa pila ay agad na tinatanggap para sa serbisyo.

Para sa QS na may paghihintay, ang mga pangunahing katangian ay ang mga inaasahan sa matematika ng haba ng pila at oras ng paghihintay.

Ang isang halimbawa ng isang wait-and-see system ay ang proseso ng pagpapanumbalik ng mga telebisyon sa isang repair shop.

May mga sistema na nasa pagitan ng dalawang pangkat na ito ( pinaghalong CMO). Ang mga ito ay nailalarawan sa pagkakaroon ng ilang mga intermediate na kondisyon: ang mga paghihigpit ay maaaring mga paghihigpit sa oras ng paghihintay para sa pagsisimula ng serbisyo, sa haba ng pila, atbp.



Bilang mga katangian ng pagganap, ang posibilidad ng pagkabigo ay maaaring gamitin kapwa sa mga sistemang may mga pagkalugi (o mga katangian ng oras ng paghihintay) at sa mga sistemang may paghihintay.

3. Ayon sa disiplina sa serbisyo, ang mga QS ay nahahati sa mga sistemang may priyoridad sa serbisyo at mga sistemang walang priyoridad sa serbisyo.

Maaaring ibigay ang mga kahilingan sa pagkakasunud-sunod kung saan natanggap ang mga ito, alinman sa random o batay sa itinatag na mga priyoridad.

4. Ang QS ay maaaring single-phase at multi-phase.

SA single-phase system, ang mga kinakailangan ay inihahatid ng mga channel ng parehong uri (halimbawa, mga manggagawa ng parehong propesyon) nang hindi inililipat ang mga ito mula sa isang channel patungo sa isa pa, sa multiphase mga sistema ang mga ganitong paglilipat ay posible.

5. Ayon sa lokasyon ng pinagmulan ng mga kinakailangan, ang QS ay nahahati sa bukas (kapag ang pinagmulan ng kinakailangan ay nasa labas ng sistema) at sarado (kapag ang pinagmulan ay nasa mismong sistema).

SA sarado isama ang mga sistema kung saan limitado ang papasok na daloy ng mga kinakailangan. Halimbawa, ang isang foreman na ang gawain ay mag-set up ng mga makina sa pagawaan ay dapat na pana-panahong serbisyohan ang mga ito. Ang bawat set up machine ay nagiging potensyal na mapagkukunan ng mga kinakailangan sa pag-set up sa hinaharap. Sa ganitong mga sistema, ang kabuuang bilang ng mga nagpapalipat-lipat na claim ay may hangganan at kadalasan ay pare-pareho.

Kung ang pinagmumulan ng supply ay may walang katapusang bilang ng mga kinakailangan, kung gayon ang mga sistema ay tinatawag bukas. Ang mga halimbawa ng naturang sistema ay mga tindahan, ticket office ng mga istasyon, daungan, atbp. Para sa mga system na ito, ang papasok na daloy ng mga kahilingan ay maaaring ituring na walang limitasyon.

Ang mga pamamaraan at modelo para sa pag-aaral ng QS ay maaaring kondisyon na nahahati sa analytical at istatistika (simulation modelling ng mga proseso ng pagpila).

Ginagawang posible ng mga analytical na pamamaraan na makuha ang mga katangian ng system bilang ilang mga function ng mga parameter ng paggana nito. Ginagawa nitong posible na magsagawa ng isang pagsusuri ng husay ng impluwensya ng mga indibidwal na kadahilanan sa kahusayan ng QS.

Sa kasamaang palad, limitado lamang ang saklaw ng mga problema sa teorya ng pagpila ang maaaring malutas nang analytical. Sa kabila ng patuloy na pag-unlad ng mga pamamaraan ng analytical, sa maraming tunay na mga kaso, ang isang analytical na solusyon ay imposibleng makuha, o ang mga nagresultang dependencies ay naging napakasalimuot na ang kanilang pagsusuri ay nagiging isang independiyenteng mahirap na gawain. Samakatuwid, upang makapag-apply ng mga analytical na pamamaraan ng solusyon, ang isang tao ay kailangang gumamit sa iba't ibang mga pagpapasimple na pagpapalagay, na sa ilang mga lawak ay nabayaran ng posibilidad ng paglalapat ng isang husay na pagsusuri ng mga huling dependencies (sa kasong ito, siyempre, ito ay kinakailangan na ang mga pagpapalagay na ginawa ay hindi papangitin ang tunay na larawan ng proseso).

Sa kasalukuyan, ayon sa teorya, ang pinaka-binuo at maginhawa sa mga praktikal na aplikasyon ay mga pamamaraan para sa paglutas ng mga naturang problema sa pagpila kung saan ang daloy ng mga kinakailangan ay ang pinakasimpleng ( Poisson).

Para sa pinakasimpleng daloy, ang dalas ng pagtanggap ng mga kinakailangan sa system ay sumusunod sa batas ng Poisson, iyon ay, ang posibilidad ng pagdating sa oras t katumbas ng k na mga kinakailangan ay ibinibigay ng formula:

kung saan ang λ ay ang parameter ng daloy (tingnan sa ibaba).

Ang pinakasimpleng daloy ay may tatlong pangunahing katangian: karaniwan, nakatigil, at walang epekto.

Ordinariness Ang daloy ay nangangahulugan ng praktikal na imposibilidad ng sabay-sabay na pagtanggap ng dalawa o higit pang mga kinakailangan. Halimbawa, ang posibilidad na ang ilang mga makina mula sa isang pangkat ng mga makina na sineserbisyuhan ng isang pangkat ng mga repairman ay mabibigo sa parehong oras ay medyo maliit.

Nakatigil tinawag daloy, kung saan ang pag-asa sa matematika ng bilang ng mga paghahabol na pumapasok sa sistema sa bawat yunit ng oras (na tinutukoy ng λ) ay hindi nagbabago sa oras. Kaya, ang posibilidad ng isang tiyak na bilang ng mga paghahabol na pumapasok sa system sa isang naibigay na agwat ng oras Δt ay nakasalalay sa halaga nito at hindi nakasalalay sa pinagmulan nito sa axis ng oras.

Walang epekto nangangahulugan na ang bilang ng mga customer na pumapasok sa system bago ang oras t ay hindi tumutukoy kung gaano karaming mga customer ang papasok sa system sa oras na t + Δt.

Halimbawa, kung ang isang thread break ay nangyayari sa isang loom sa sandaling ito, at ito ay inalis ng weaver, hindi nito matukoy kung ang isang bagong break ay magaganap sa loom na ito sa susunod na sandali o hindi, lalo na ito. hindi makakaapekto sa posibilidad na masira ang ibang mga makina.

Ang isang mahalagang katangian ng QS ay ang oras ng serbisyo ng mga kinakailangan sa system. Ang oras ng serbisyo ay, bilang panuntunan, isang random na variable at, samakatuwid, ay maaaring ilarawan ng isang batas sa pamamahagi. Ang exponential law ay nakatanggap ng pinakamalaking distribusyon sa teorya at, lalo na sa mga praktikal na aplikasyon. Para sa batas na ito, ang probability distribution function ay may anyo:

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

mga. ang posibilidad na ang oras ng serbisyo ay hindi lalampas sa isang tiyak na halaga t ay tinutukoy ng formula (1 - e -μt), kung saan ang μ ay ang parameter ng exponential law ng oras ng serbisyo ng mga kinakailangan sa system - ang kapalit ng average oras ng serbisyo, i.e. .

Isaalang-alang ang mga analytical na modelo ng QS na may inaasahan(ang pinakakaraniwang QS, kung saan ang mga kahilingang natatanggap sa sandaling abala ang lahat ng mga service unit ay nakapila at sineserbisyuhan habang ang mga service unit ay nagiging libre).

Ang mga gawaing may mga pila ay tipikal sa mga kondisyon ng produksyon, halimbawa, kapag nag-aayos ng pagsasaayos at pagkukumpuni ng trabaho, sa panahon ng multi-machine maintenance, atbp.

Ang pangkalahatang pahayag ng problema ay ang mga sumusunod.

Ang sistema ay binubuo ng n mga channel ng paghahatid. Ang bawat isa sa kanila ay maaari lamang maghatid ng isang kahilingan sa isang pagkakataon. Natatanggap ng system ang pinakasimpleng (Poisson) na daloy ng mga kinakailangan na may parameter na λ. Kung sa sandali ng pagdating ng susunod na kahilingan sa system ay mayroon nang hindi bababa sa n mga kahilingan sa serbisyo (ibig sabihin, ang lahat ng mga channel ay abala), pagkatapos ay ang kahilingang ito ay papasok sa pila at naghihintay para sa serbisyo na magsimula.

Ang oras ng serbisyo ng bawat kinakailangan t about ay isang random na variable na sumusunod sa exponential distribution law na may parameter na μ.

Tulad ng nabanggit sa itaas, ang QS na may inaasahan ay maaaring nahahati sa dalawang malalaking grupo: sarado at bukas.

Ang mga tampok ng paggana ng bawat isa sa dalawang uri ng mga sistema ay nagpapataw ng kanilang sariling lilim sa mathematical apparatus na ginamit. Ang pagkalkula ng mga katangian ng pagpapatakbo ng QS ng iba't ibang uri ay maaaring isagawa batay sa pagkalkula ng mga probabilidad ng mga estado ng QS (mga formula ng Erlang).

Dahil sarado ang system, dapat magdagdag ng kundisyon sa pahayag ng problema: limitado ang daloy ng mga papasok na kahilingan, i.e. ang sistema ng pagpila ay hindi maaaring magkaroon ng higit sa m na mga kahilingan sa parehong oras (m ay ang bilang ng mga bagay na naseserbisyuhan).

Bilang pangunahing pamantayan na nagpapakilala sa kalidad ng paggana ng system na isinasaalang-alang, pipiliin namin ang: 1) ang ratio ng average na haba ng pila sa pinakamalaking bilang ng mga kinakailangan na sabay-sabay sa servicing system - ang downtime coefficient ng serviced object; 2) ang ratio ng average na bilang ng mga idle serving channel sa kanilang kabuuang bilang ay ang idle ratio ng serving channel.

Isaalang-alang ang pagkalkula ng mga kinakailangang probabilistikong katangian (mga tagapagpahiwatig ng pagganap) ng isang saradong QS.

1. Ang posibilidad na mayroong k na kinakailangan sa system, sa kondisyon na ang bilang ng mga ito ay hindi lalampas sa bilang ng mga device ng serbisyo n:

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

saan

Ang λ ay ang dalas (intensity) ng pagtanggap ng mga kinakailangan sa system mula sa isang pinagmulan;

Average na tagal ng serbisyo ng isang kinakailangan;

m - ang pinakamalaking posibleng bilang ng mga kinakailangan na nasa sistema ng paghahatid sa parehong oras;

n ay ang bilang ng mga aparato ng serbisyo;

P 0 - ang posibilidad na ang lahat ng mga aparato ng serbisyo ay libre.

2. Ang posibilidad na mayroong mga k na kinakailangan sa system, sa kondisyon na ang bilang ng mga ito ay mas malaki kaysa sa bilang ng mga device ng serbisyo:

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

saan

3. Ang posibilidad na ang lahat ng mga server ay libre ay tinutukoy mula sa kundisyon

kaya naman,

4. Average na bilang ng mga kahilingang naghihintay upang simulan ang serbisyo (average na haba ng pila):

5. Demand downtime ratio naghihintay para sa serbisyo:

6. Ang posibilidad na ang lahat ng mga aparato ng serbisyo ay abala:

7. Ang average na bilang ng mga kinakailangan sa sistema ng serbisyo (nagsilbi at naghihintay para sa serbisyo):

8. Ang ratio ng kabuuang downtime ng mga kinakailangan para sa serbisyo at paghihintay para sa serbisyo:

9. Average na idle time ng isang claim sa isang service queue:

10. Average na bilang ng mga libreng attendant:

11. Downtime ratio ng mga service vehicle:

12. Ang posibilidad na ang bilang ng mga customer na naghihintay na maserbisyuhan ay mas malaki kaysa sa ilang bilang B (ang posibilidad na mayroong higit sa B na mga customer sa pila ng serbisyo):

Sa pagsasagawa ng aktibidad ng tao, ang isang malaking lugar ay inookupahan ng mga proseso ng pagpila na nagaganap sa mga system na idinisenyo para magamit muli sa paglutas ng parehong uri ng mga problema. Ang mga ganitong sistema ay tinatawag na queuing system (QS). Ang mga halimbawa ng naturang mga sistema ay mga sistema ng telepono, mga sistema ng kompyuter, sasakyan, aviation, mga sistema ng pagpapanatili, mga tindahan, mga opisina ng tiket, at mga katulad nito.

Ang bawat sistema ay binubuo ng isang tiyak na bilang ng mga yunit ng serbisyo (mga instrumento, device, device "points, stations), na tinatawag na mga channel ng serbisyo. Ayon sa bilang ng mga channel, ang QS ay nahahati sa single-channel at multi-channel. Ang diagram ng isang single-channel queuing system ay ipinapakita sa Fig. 6.2.

Ang mga aplikasyon ay karaniwang hindi pumapasok sa system nang regular, ngunit random, na bumubuo ng isang random na daloy ng mga aplikasyon (mga kinakailangan). Ang serbisyo ng bawat pangangailangan mismo ay maaaring tumagal ng alinman sa isang tiyak na oras, o, mas madalas, isang hindi tiyak na oras. Ang random na kalikasan ay humahantong sa katotohanan na ang QS ay na-load nang hindi pantay: sa ilang mga yugto ng panahon, ang isang napakalaking bilang ng mga application ay naipon (maaaring sila ay makapasok sa linya o iwanan ang QS na hindi naseserbisyuhan), habang sa ibang mga panahon ang QS ay nagpapatakbo na may underload o ay walang ginagawa.

kanin. 6.2.

Ang layunin ng pag-aaral ng mga sistema ng pagpila ay pag-aralan ang kalidad ng kanilang paggana at tukuyin ang mga pagkakataon para sa pagpapabuti nito. Kasabay nito, ang konsepto ng "kalidad ng paggana" sa bawat indibidwal na kaso ay magkakaroon ng sarili nitong tiyak na kahulugan at maipapahayag ng iba't ibang mga tagapagpahiwatig ng dami. Halimbawa, ang mga naturang quantitative indicator tulad ng laki ng pila para sa serbisyo, ang average na oras ng serbisyo, paghihintay para sa serbisyo o paghahanap ng kinakailangan sa sistema ng serbisyo, idle time ng mga service device; kumpiyansa na lahat ng mga kahilingang natanggap ng system ay maibibigay.

Kaya, ang kalidad ng paggana ng sistema ng queuing ay nauunawaan hindi bilang ang kalidad ng pagganap ng isang partikular na trabaho, ang kahilingan kung saan natanggap, ngunit ang antas ng kasiyahan ng pangangailangan para sa serbisyo.

Ang paksa ng teorya ng queuing ay ang pagbuo ng mga modelo ng matematika na nauugnay sa ibinigay na mga kondisyon ng operating ng QS (ang bilang ng mga channel, ang kanilang pagganap, ang likas na katangian ng daloy ng mga application, atbp.) sa mga tagapagpahiwatig ng pagganap ng QS, na naglalarawan ang kakayahan nitong makayanan ang daloy ng mga aplikasyon.

Pag-uuri ng mga sistema ng pagpila

Ang unang tampok na nagbibigay-daan sa isa na uriin ang mga gawain sa pagpila ay ang pag-uugali ng mga hinihinging natanggap ng sistema ng paghahatid sa sandaling abala ang lahat ng makina.

Sa ilang mga kaso, ang isang paghahabol na pumapasok sa system sa oras na ang lahat ng mga makina ay abala ay hindi makapaghintay na mailabas ang mga ito at iiwan ang system na hindi naihatid, ibig sabihin. nawala ang claim para sa ibinigay na sistema ng paghahatid. Ang ganitong mga sistema ng serbisyo ay tinatawag na mga sistema na may mga pagkalugi, at ang mga problemang nabuo batay sa mga ito ay tinatawag na mga problema sa serbisyo para sa mga sistemang may mga pagkalugi.

Kung, sa kabilang banda, ang isang demand, na pumasok sa system, ay pumasok sa pila at naghihintay na mailabas ang aparato, kung gayon ang mga naturang sistema ay tinatawag na mga system na may paghihintay, at ang mga kaukulang gawain ay tinatawag na mga gawain sa serbisyo sa mga system na may paghihintay. Ang QS na may paghihintay ay nahahati sa iba't ibang uri depende sa kung paano nakaayos ang pila: na may limitado o walang limitasyong haba ng pila, may limitadong oras ng paghihintay, atbp.

Nag-iiba din ang mga QS sa bilang ng mga kinakailangan na maaaring sabay na nasa sistema ng paghahatid. Ilaan:

  • 1) mga sistema na may limitadong daloy ng mga kinakailangan;
  • 2) mga system na may walang limitasyong daloy ng mga kinakailangan.

Depende sa mga anyo ng panloob na organisasyon ng serbisyo sa system, mayroong:

  • 1) mga system na may nakaayos na serbisyo;
  • 2) mga sistemang may hindi maayos na serbisyo.

Ang isang mahalagang hakbang sa pag-aaral ng QS ay ang pagpili ng pamantayang nagpapakilala sa prosesong pinag-aaralan. Ang pagpili ay depende sa uri ng mga problemang pinag-aaralan, sa layunin na hinahabol ng solusyon.

Kadalasan sa pagsasagawa ay may mga sistema kung saan ang daloy ng mga kinakailangan ay malapit sa pinakasimpleng, at ang oras ng serbisyo ay sumusunod sa isang exponential distribution law. Ang mga sistemang ito ay pinaka ganap na binuo sa teorya ng pagpila.

Sa mga kondisyon ng isang negosyo, ang mga gawain na may paghihintay, na may limitadong bilang ng mga kagamitan sa serbisyo, na may limitadong daloy ng mga kinakailangan, at may hindi maayos na serbisyo, ay karaniwan.

Oktubre 23, 2013 sa 02:22 pm

Squeak: Pagmomodelo ng Queueing System

  • programming,
  • OOP,
  • Parallel programming

Napakakaunting impormasyon sa Habré tungkol sa isang programming language gaya ng Squeak. Susubukan kong pag-usapan ito sa konteksto ng pagmomodelo ng mga sistema ng pagpila. Ipapakita ko kung paano magsulat ng isang simpleng klase, ilarawan ang istraktura nito at gamitin ito sa isang programa na maghahatid ng mga kahilingan sa pamamagitan ng ilang mga channel.

Ilang salita tungkol sa Squeak

Ang Squeak ay isang bukas, cross-platform na pagpapatupad ng Smalltalk-80 programming language na may dynamic na pag-type at isang garbage collector. Ang interface ay medyo tiyak, ngunit medyo maginhawa para sa pag-debug at pagsusuri. Ganap na sumusunod ang Squeak sa konsepto ng OOP. Ang lahat ay binubuo ng mga bagay, kahit na mga istruktura kung-kung gayon-iba, para, habang ipinatupad sa kanilang tulong. Ang buong syntax ay bumababa sa pagpapadala ng mensahe sa object sa form:
<объект> <сообщение>
Anumang paraan ay palaging nagbabalik ng isang bagay at isang bagong mensahe ay maaaring ipadala dito.
Ang squeak ay kadalasang ginagamit para sa pagmomodelo ng proseso, ngunit maaari ding gamitin bilang tool para sa paglikha ng mga multimedia application at iba't ibang mga platform na pang-edukasyon.

Mga sistema ng pagpila

Ang mga queuing system (QS) ay naglalaman ng isa o higit pang mga channel na nagpoproseso ng mga application mula sa ilang mga source. Ang oras para sa pagseserbisyo sa bawat kahilingan ay maaaring maayos o arbitrary, pati na rin ang mga agwat sa pagitan ng kanilang pagdating. Maaari itong maging isang palitan ng telepono, isang labahan, mga cashier sa isang tindahan, isang tanggapan ng pagta-type, atbp. Mukhang ganito:


Kasama sa QS ang ilang mga mapagkukunan na pumapasok sa karaniwang pila at ipinadala para sa serbisyo habang ang mga channel sa pagpoproseso ay nagiging libre. Depende sa mga partikular na feature ng mga tunay na system, ang modelo ay maaaring maglaman ng ibang bilang ng mga source ng kahilingan at mga channel ng serbisyo at may iba't ibang mga paghihigpit sa haba ng pila at ang nauugnay na posibilidad ng pagkawala ng mga kahilingan (mga pagkabigo).

Kapag nagmomodelo ng isang QS, ang mga gawain ng pagtatantya ng average at maximum na haba ng pila, pagtanggi sa dalas ng serbisyo, average na pag-load ng channel, at pagtukoy ng kanilang numero ay karaniwang nalutas. Depende sa gawain, kasama sa modelo ang mga bloke ng software para sa pagkolekta, pag-iipon at pagproseso ng kinakailangang data sa istatistika sa pag-uugali ng mga proseso. Ang pinakakaraniwang ginagamit na mga modelo ng daloy ng kaganapan sa pagsusuri ng QS ay regular at Poisson. Ang mga regular ay nailalarawan sa parehong oras sa pagitan ng paglitaw ng mga kaganapan, habang ang mga Poisson ay random.

Medyo math

Para sa isang daloy ng Poisson, ang bilang ng mga kaganapan X bumabagsak sa pagitan ng haba τ (tau) katabi ng punto t, ibinahagi ayon sa batas ng Poisson:
saan a (t, τ)- ang average na bilang ng mga kaganapan na nagaganap sa pagitan ng oras τ .
Ang average na bilang ng mga kaganapan na nagaganap sa bawat yunit ng oras ay katumbas ng λ(t). Samakatuwid, ang average na bilang ng mga kaganapan sa bawat agwat ng oras τ , kadugtong ng sandali ng oras t, ay magiging katumbas ng:


Oras T sa pagitan ng dalawang pangyayari λ(t) = const = λ ipinamahagi ayon sa batas:
Densidad ng pamamahagi ng isang random na variable T mukhang:
Upang makakuha ng pseudo-random na Poisson sequence ng mga agwat ng oras t i lutasin ang equation:
saan r i ay isang random na numero na pantay na ipinamamahagi sa pagitan.
Sa aming kaso, nagbibigay ito ng expression:


Sa pamamagitan ng pagbuo ng mga random na numero, maaari mong isulat ang buong volume. Dito, upang makabuo ng mga integer na pantay na ipinamamahagi sa pagitan, ginagamit namin ang sumusunod na algorithm:
saan R i- isa pang random na integer;
R- ilang malaking prime number (hal. 2311);
Q- integer - ang itaas na limitasyon ng pagitan, halimbawa, 2 21 = 2097152;
rem- ang operasyon ng pagkuha ng natitira mula sa dibisyon ng mga integer.

Paunang halaga R0 karaniwang itinatakda nang arbitraryo, halimbawa, gamit ang mga pagbabasa ng timer:
Kabuuang orasSecond
Upang makakuha ng mga numerong pantay na ipinamamahagi sa pagitan, ginagamit namin ang operator ng wika:

Rand klase

Upang makakuha ng mga random na numero na pantay na ipinamamahagi sa pagitan, lumikha kami ng isang klase - isang generator ng mga tunay na numero:

Float variableWordSubclass: #Rand "class name" instanceVariableNames: "" "instance variables" classVariableNames: "R" "class variables" poolDictionaries: "" "common dictionaries" category: "Sample" "category name"
Paraan:

"Initialization" init R:= Time totalSeconds.next "Next pseudo-random number" next R:= (R * 2311 + 1) rem: 2097152. ^(R/2097152) asFloat
Upang itakda ang paunang estado ng sensor, magpadala ng mensahe Rand init.
Upang makakuha ng isa pang random na numero, ipadala Sunod si Rand.

Programa sa Pagproseso ng Application

Kaya, bilang isang simpleng halimbawa, gawin natin ang sumusunod. Ipagpalagay na kailangan nating gayahin ang pagpapanatili ng isang regular na daloy ng mga kahilingan mula sa isang pinagmulan na may random na agwat ng oras sa pagitan ng mga kahilingan. Mayroong dalawang channel ng magkaibang performance, na nagbibigay-daan sa mga application ng servicing sa 2 at 7 unit ng oras, ayon sa pagkakabanggit. Kinakailangang irehistro ang bilang ng mga kahilingan na inihatid ng bawat channel sa pagitan ng 100 na mga yunit ng oras.

Squeak Code

"Pagdedeklara ng mga pansamantalang variable" | proc1 proc2 t1 t2 s1 s2 sysPriority queue magpatuloy r | "Mga inisyal na setting ng variable" Rand init. SysTime:= 0. s1:= 0. s2:= 0. t1:= -1. t2:= -1. magpatuloy:=totoo. sysPriority:= Processor activeProcess priority. "Kasalukuyang priyoridad" queue:= Semaphore bago. "Claim Queue Model" "Proseso ng Paggawa - Channel Model 1" s1:= s1 + 1. proc1 suspend."Suspendihin ang proseso habang nakabinbin ang pagwawakas ng serbisyo" ].proc1:= nil."Alisin ang reference sa proseso 1" ]priority: (sysPriority + 1)) resume. "Mas malaki ang bagong priyoridad kaysa sa background" "Gumawa ng proseso - modelo ng channel 2" .proc2:= nil.] priority: (sysPriority + 1)) resume. "Patuloy na paglalarawan ng pangunahing proseso at pinagmulang modelo" habangTrue: [ r:= (Rand next * 10) rounded. (r = 0) kung Tama: . ((SysTime rem: r) = 0) ifTrue: . "Send request" "Service process switch" (t1 = SysTime) ifTrue: . (t2 = SysTime) ifTrue: . SysTime:= SysTime + 1. "Ang oras ng modelo ay tumatanda" ]. "Show request counter status" PopUpMenu inform: "proc1: ",(s1 printString),", proc2: ",(s2 printString). magpatuloy:= false.


Sa pagsisimula, nakita namin na ang proseso 1 ay nakapagproseso ng 31 kahilingan, at ang 2 ay nagproseso lamang ng 11:

Mga kaugnay na publikasyon