назад Оглавление вперед


[Старт] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [ 233 ] [234] [235] [236] [237] [238] [239] [240] [241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251] [252] [253] [254] [255] [256] [257] [258] [259] [260] [261] [262] [263] [264] [265] [266] [267] [268] [269] [270] [271] [272] [273] [274] [275] [276] [277] [278] [279] [280] [281] [282] [283] [284] [285] [286] [287] [288] [289] [290] [291] [292] [293]


233

УПРАЖНЕНИЯ 18.4

1. С помощью шаблона chl8RandomNumberGenerator.xls сгенерируйте последовательность случайных чисел с начальными параметрами Ь = 17, с= 111, и0 = 7 и/71= 103 (см. пример 18.4.1) и определите длину цикла этой последовательности.

2. Найдите программу генератора случайных чисел для вашего компьютера и сгенерируйте с его помощью 1000 случайных чисел из интервала [0,1]. Постройте гистограмму полученных чисел и визуально убедитесь в том, что есть веские основания считать, что они подчинены равномерному распределению из интервала [0, 1]. Впрочем, чтобы проверить последовательность надлежащим образом, вам необходимо использовать следующие тесты: критерий согласия хи-квадрат (раздел 12.6), тест на независимость и корреляционный тест [2].

18.5. МЕХАНИКА ДИСКРЕТНОЙ ИМИТАЦИИ

Как указывалось выше, все дискретные имитационные модели в той или иной форме представляют ситуации, связанные с очередями, в которых есть два типа основных событий: прибытие и уход. Эти события определяют моменты, в которые могут происходить изменения в статистике системы. В этом разделе детально обсуждаются вопросы сбора статистических данных, полученных в процессе наблюдений над имитационной моделью. В разделе 18.5.1 на числовом примере детально рассмотрена имитация простой модели очереди с одним сервисом. В разделе 18.5.2 показана реализация такого же процесса в электронной таблице Excel.

18.5.1. Ручная имитация модели очереди с одним сервисом

Время между приходом клиентов в парикмахерскую является случайной величиной, изменяющейся по экспоненциальному закону с математическим ожиданием 15 мин. В парикмахерской работает один мастер, который выполняет мужскую стрижку от 10 до 15 мин., время стрижки имеет равномерное распределение на этом интервале. Клиенты обслуживаются в порядке очереди. Требуется определить следующие параметры работы парикмахерской.

1. Среднюю занятость парикмахера.

2. Среднее количество ожидающих клиентов.

3. Среднее время ожидания клиента в очереди.

Логику работы имитационной модели можно описать в терминах событий, связанных с прибытием и уходом клиентов, следующим образом. Событие, связанное с прибытием клиента

1. Сгенерировать и сохранить время события, связанного с прибытием следующего клиента (текущее время моделирования + промежуток времени между приходами клиентов).

2. Если средство обслуживания (парикмахер) свободно,

а) начать обслуживание поступившего клиента, изменить состояние системы на рабочее и скорректировать данные использования системы;

б) сгенерировать и сохранить хронологически время события, связанного с уходом клиента (текущее время моделирования + время обслуживания).

3. Если средство обслуживания занято, поставить поступившего клиента в очередь и увеличить ее длину на единицу.



Событие, связанное с уходом клиента (окончание обслуживания)

1. Если очередь пуста, объявить систему свободной. Скорректировать данные использования системы.

2. Если очередь не является пустой,

а) начать обслуживание первого в очереди клиента. Уменьшить длину очереди на единицу и скорректировать данные использования системы;

б) сгенерировать и сохранить хронологически время события, связанного с уходом клиента (текущее время моделирования + время обслуживания).

В рассматриваемом примере время между приходом клиентов изменяется по экспоненциальному закону с математическим ожиданием 15 мин., а время обслуживания распределено равномерно в интервале от 10 до 15 мин. Обозначим через р и q случайные значения времени между прибытием клиентов и их обслуживанием соответственно. Используя результаты раздела 18.3.2, получаем

р = -10 1п(Д) мин., 0 < R <1,

q = 10 + 5Rмин., 0<R <1.

В этом примере используем случайные числа R из табл. 18.1, начиная с первого столбца. Обозначим через Т время моделирования (время наблюдения над моделью). Предположим также, что первый клиент приходит в момент времени Т = 0 и средство обслуживания свободно.

Поскольку в процессе имитации выполняется много вычислений, ограничимся имитацией прихода только пяти клиентов. При этом рассмотрим все возможные ситуации, возникающие в процессе имитации. В следующем разделе с помощью шаблона Excel покажем имитацию без проведения вычислений вручную.

Прибытие клиента 1 в момент Т = 0. Второй клиент прибудет в момент времени

Т = 0 +Pl = -15 1п(0,0589) = 42,46 мин.

Так как при Т = 0 система свободна, немедленно начинается обслуживание первого клиента. Соответствующее время обслуживания вычисляется с использованием равномерно распределенного случайного числа R= 0,6733. Первый клиент уйдет из парикмахерской в момент времени

7=0+9, = 10+ 5х 0,6733 = 13,37 мин. Получаем следующий хронологический перечень будущих событий

Время т

Событие

13,37

Уход клиента 1

42,48

Приход клиента 2

Уход клиента 1 в момент Т = 13.37. Так как очередь пуста, средство обслуживания становится свободным. В то же время фиксируем, что система была занята от момента времени Т = 0 до Т= 13,37. Имеем следующий скорректированный перечень будущих событий (в данном случае имеется только одно событие).

Время т

Событие

42,48

Приход клиента 2



Прибытие клиента 2 в момент Т = 42,48. Третий клиент прибудет в момент времени

Т = 42,48 + [-15 1п(0,4799)] = 53,49 мин.

Так как средство обслуживания свободно, начинается обслуживание второго клиента, и система объявляется занятой. Второй клиент оставит систему в момент времени

Т = 42,48 + (10 + 5 х 0,9486) = 57,22 мин.

Список будущих событий изменяется следующим образом.

Время т

Событие

53,49

Приход клиента 3

57,22

Уход клиента 2

Прибытие клиента 3 в момент Т = 53,49. Клиент 4 прибудет в момент времени

Т = 53,49 + [-15 1п(0,6139)] = 60,81 мин.

Так как система в это время занята (она занята до Т = 57,22), третий клиент помещается в очередь в момент Т - 53,49. Откорректированный список будущих событий принимает следующий вид.

Время Г

Событие

57,22

Уход клиента 2

60,81

Приход клиента 4

Уход клиента 2 в момент Т = 57,22. Клиент 3 покидает очередь для начала обслуживания. Время его ожидания в очереди равно

W3 = 57,22 - 43,22 = 3,73 мин.

Время ухода (время окончания обслуживания) третьего клиента:

Т = 57,22 + (10 + 5 х 0,5933) = 70,19 мин.

Список будущих событий принимает следующий вид.

Время т

Событие

60,81

Приход клиента 4

70,19

Уход клиента 3

Прибытие клиента 4 в момент Т = 60,81. Клиент 5 прибудет в момент времени

Т = 60,81 + [-15 1п(0,9341)] = 61,83 мин.

Так как система занята до Т = 70,19, четвертый клиент помещается в очередь. Откорректированный список будущих событий принимает следующий вид.

Время 7"

Событие

61,83

Приход клиента 5

70,19

Уход клиента 3

Приход клиента 5 в момент Т = 61,83. Поскольку наша имитация ограничивается пятью клиентами, время прибытия шестого клиента генерировать не будем.

[Старт] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [ 233 ] [234] [235] [236] [237] [238] [239] [240] [241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251] [252] [253] [254] [255] [256] [257] [258] [259] [260] [261] [262] [263] [264] [265] [266] [267] [268] [269] [270] [271] [272] [273] [274] [275] [276] [277] [278] [279] [280] [281] [282] [283] [284] [285] [286] [287] [288] [289] [290] [291] [292] [293]