Головна

моделювання черзі

  1.  Питання 2. Криміналістичне моделювання
  2.  ГЛАВА 2. МОДЕЛЮВАННЯ ВС НА ОСНОВІ СИСТЕМ І МЕРЕЖ МАСОВОГО ОБСЛУГОВУВАННЯ.
  3.  ГЛАВА 8 МОДЕЛЮВАННЯ СИТУАЦІЙ ТА РОЗРОБКА РІШЕНЬ
  4.  Глава 8. Моделювання ситуацій
  5.  демонстраційне моделювання
  6.  Диспетчеризація процесів. черги
  7.  ІМІТАЦІЙНЕ МОДЕЛЮВАННЯ
 N  А  В  З  D  Е  F  G  Н

Таким чином, при даних випадкових наборах чисел в колонках A и В і покупцям доводилося стояти в черзі (колонка G), і продавцеві - в очікуванні покупця (колонка H).

При моделюванні систем такого виду виникають наступні питання. Яке середній час доводиться стояти в черзі до прилавка? Щоб відповісти на нього, слід знайти

в деякій серії випробувань. Аналогічно можна знайти середнє значення величини h. Звичайно, ці вибіркові середні самі по собі - випадкові величини; в інший вибірці того ж обсягу вони матимуть інші значення (при великих обсягах вибірки, не дуже відрізняються одна від одної). Довірчі інтервали, в яких знаходяться точні середні значення (тобто математичні очікування відповідних випадкових величин) при заданих довірчих ймовірності знаходяться методами математичної статистики.

Складніше відповісти на питання, яке розподіл випадкових величин G и Н при заданих розподілах випадкових величин А и В. Припустимо, в найпростішому моделюванні ми приймемо гіпотезу про рівноймовірно розподілах величин A и В - скажімо, для А в діапазоні від 0 до 10 хвилин і В - від 0 до 5 хвилин. Для побудови методом статистичних випробувань розподілів величин G и Н вчинимо так: знайдемо в досить довгої серії випробувань (реально - в десятках тисяч, що на комп'ютері робиться досить швидко) значення gmax (для Н все робиться аналогічно) і розділимо проміжок [0, gmax] на т рівних частин - скажімо, спочатку на 10 - так, щоб в кожну частину потрапило багато значень gi. Розділивши число влучень nk в кожну з частин на загальне число випробувань n, Отримаємо набір чисел pk = (K = 1, 2, ...,n). Построенниепо ним гістограми дають уявлення про функції щільності ймовірності відповідних розподілів. За гистограмме можна скласти уявлення про функції щільності розподілу відповідної випадкової величини. Для перевірки же гіпотези про приналежність такого емпірично знайденого розподілу того чи іншого конкретного виду служать відомі статистичні критерії.

Маючи в своєму розпорядженні функцією розподілу (нехай навіть емпіричної, але досить надійною), можна відповісти на будь-яке питання про характер процесу очікування в черзі. Наприклад: наскільки ймовірним є прочекати довше т хвилин? Відповідь буде отримано, якщо знайти відношення площі криволінійної трапеції, обмеженою графіком щільності розподілу, прямий х = т и у = 0, до площі всієї фігури.

Наступна програма дозволяє моделювати описаний вище процес. На виході вона дає середні значення і дисперсії випадкових величин g и h, отримані за вибіркою, максимальний обсяг якої близько 10000 (обмеження пов'язане з малою допустимої довжиною масиву в PASCALe; щоб його пом'якшити, використано динамічний опис масивів g и h). Крім того, програма будує гістограми розподілів величин g и h.

Програма 152. моделювання черзі

Program Cohered;

(Вхідний потік рівно можливих подій;

динамічні масиви дозволяють значно збільшити обсяг вибірки)

Uses Crt, Graph;

Const N = 10000 (число членів вибірки);

W1 = 10 (діапазон часів приходу від 0 до wl};

W2 = 5 (діапазон часів обслуговування від 0 до w2};

Type Т = Array (l..N] Of Real; U = ^ Т;

Var A, B, C, D, E, F, Aa, Bb, Cc, Dd, Ее, Ff, Dg, Dh, M: Real;

Sl, S2: Double; I, K, J, I1, I2: Integer;

LI, L2, V: Array [1..11] Of Real; G, H: U; Ch: Char;

Begin

If MaxAvail> = SizeOf (G) Then New (G);

If MaxAvail> = SizeOf (H) Then New (H);

Randomize; (Нижче - імітаційне моделювання)

Aa: = 0; Bb: = W2 * Random; Cc: = 0; Її: = Bb; Ff: = Bb;

G ^ [l] = 0; H ^ [1]: = 0;

For К = 1 To 11 Do

Begin L1 (K]: = 0; L2 [K]: = 0 End;

For I = 2 To N Do

Begin

A: = Wl * Random; В: = W2 * Random;

З: = Cc + A; If З Її Then D: = С Else D: = Її;

E: = D + B; F: = E - C; G ^ [I]: = F - B; H ^ [I]: = D - Її;

Cc: = С; Її: = E;

If G ^ [I] <= 1 Then Ll [l]: = Ll [l] + 1; If H ^ [1] = 0 Then

L2 [l]: = L2 [l] + 1;

For К: = 2 To 10 Do

Begin

If (G ^ [I]> К - 1) And (G ^ [I] <= K) Then L1 [K]: = L1 [K] + 1;

If (H ^ [I]> K - 1) And (H ^ [I] <= K) Then L2 [K]: = L2 [K] + 1;

End;

If G ^ [I]> 10 Then Ll [l1]: = Ll [ll] + 1;

If H ^ [I]> 10 Then L2 [ll]: = L2 [ll] + 1;

Sl: = Sl + G ^ [l]; S2: = S2 + H ^ [I];

End;

For I: = 1 To 11 Do (нижче - нормування розподілів g і h}

Begin

L1 [I]: = L1 [I] / N; L2 [I]: = L2 [I] / N

End;

(Нижче - розрахунок середніх і дисперсій величин g і h}

Sl: = Sl / N; S2: = S2 / N; Dg: = 0; Dh: = 0;

For I: = 1 Те N Do

Begin

Dg: = Dg + Sqr (G ^ [I] - Sl); Dh: = Dh + Sqr (H ^ [I] - S2)

End;

Dg: = Dg / N; Dh: = Dh / N;

WriteLn ('розподіл величини g розподіл величини h');

WriteLn;

For K: = 1 To 11 Do

WriteLn ('11 [ ', K,'] = ', L1 [K]: 6: 4,' ': 20, '12 (', К, '] =',

L2 [K]: 6: 4);

WriteLn;

WriteLn ('вибіркове середнє величини g =', S1: 6: 3,

'Вибіркова дисперсія величини g =', Dg: 6: 3);

WriteLn ('вибіркове середнє величини h =', S2: 6: 3,

'Вибіркова дисперсія величини h =', Dh: 6: 3);

Dispose (G); Dispose (H); WriteLn;

WriteLn ('для продовження натиснути будь-яку клавішу');

Repeat Until KeyPressed; Ch: = ReadKey;

(Нижче - побудова гістограм розподілів величин g і h)

DetectGraph (I, К); InitGraph (I, К, '');

I: = GetMaxX; К: = GetMaxY; J: = I Div 2; M: '= Ll [l];

For I1: = 2 То 11 Do If L1 [I1]> M Then M: = L1 [I1];

For I1: = 1 To 11 Do V [I1]: = L1 [I1] / M;

Line (10, К - 10, J - 20, К - 10); Line [l0, К - 10, 10, 5);

OutTextXY (20, 100, 'розподіл величини g');

For I1: = 1 To 11 Do

Begin

I2: = Round ((K - 20) * (1 - V [I1])) + 10;

Line (I1 * 20 - 10, I2, I1 * 20 + 10, I2);

Line (I1 * 20 - 10, I2, I1 * 20 - 10, К - 10);

Line (I1 * 20 + 10, I2, I1 * 20 + 10, К - 10);

End;

Line (J + 20, К - 10, I - 10, К - 10);

Line (J + 20, К - 10, J + 20, 5);

OutTextXY (J + 30, 100, 'розподіл величини h'); M: = L2 [l];

For I1: = 2 To 11 Do If L2 [I1]> M Then M: = L2 [I1];

For I1: = 1 To 11 Do V [I1]: = L2 [I1] / M;

For I1: = 1 To 11 Do

Begin

I2: = Round ((K - 20) * (1 - V [I1])) + 10;

Line (J + I1 * 20, I2, J + I1 * 20 + 20, I2);

Line (J + I1 * 20, I2, J + I1 * 20, К - 10);

Line (J + I1 * 20 + 20, I2, J + I1 * 20 + 20, К - 10);

End;

OutTextXY (200, GetMaxY - 10, 'для виходу натиснути будь-яку клавішу');

Repeat Until KeyPressed; CloseCraph

End.

Наведемо для порівняння результати розрахунку середніх значень величин g, h і відповідних середньоквадратичних відхилень Sg, Sh, Отримані при однакових значеннях всіх параметрів в п'яти різних серіях випробуванні по 10000 подій в серії (табл. 7.9) (вхідний потік покупців - процес рівно можливих подій з максимальним часом між парафіями 10 хв, тривалість обслуговування також розподілена рівноймовірної чином в інтервалі від 0 до 5хв).

Таблиця 7.9




 І ПРОЦЕСІВ У НАБЛИЖЕННІ СУЦІЛЬНИЙ СЕРЕДОВИЩА |  Моделювання процесу ТЕПЛОПРОВІДНОСТІ |  Значення коефіцієнта теплопровідності для деяких матеріалів |  ЕКОЛОГІЯ І МОДЕЛЮВАННЯ |  МОДЕЛІ внутрішньовидової конкуренції |  ЛОГІСТИЧНА МОДЕЛЬ міжвидової конкуренції |  ДИНАМІКА ЧИСЕЛЬНОСТІ ПОПУЛЯЦІЙ ХИЩНИКА І ЖЕРТВИ |  ІМІТАЦІЙНЕ МОДЕЛЮВАННЯ ДИНАМІКИ ПОПУЛЯЦІЙ |  ГЛОБАЛЬНІ МОДЕЛІ РОЗВИТКУ ЛЮДСТВА |  ТЕХНІКА стохастичного моделювання |

© 2016-2022  um.co.ua - учбові матеріали та реферати