Промышленный лизинг Промышленный лизинг  Методички 

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

Начальное значение параметра и0 обычно называют начальным числом генератора случайных чисел.

Варианты мультипликативного метода сравнений, которые генерируют случайные числа с улучшенными статистическими характеристиками, описаны в книге [2].

Пример 18.4.1

Используя мультипликативный метод сравнений, сгенерируем три случайных числа при следующих начальных данных: 6 = 9, с = 5, и0=11ияз=12.

ы, =(9xll + 5)modl2 = 8, R, = = 0,6667,

и2 =(9x8 + 5)modl2 = 5, Л2 =- = 0,4167,

M3=(9x5 + 5)modl2 = 4, R,= - = 0,3333.

Шаблон Excel chl8RandomNumberGenerator.xls реализует описанный мультипликативный метод сравнений.6 На рис. 18.7 показаны случайные числа, сгенерированные в соответствии с начальными данными этого примера. Отметим, что сгенерированная последовательность случайных чисел состоит только из четырех различных чисел, затем эти числа повторяются. Конкретный выбор параметров и0, Ь, с, и т является решающим фактором, определяющим статистические качества генератора случайных чисел, а также длины его цикла (по окончании цикла генерируемая последовательность начинает повторять себя, как на рис. 18.7). Использование параметров, выбранных наобум , не дает хорошего генератора случайных чисел. Надежные генераторы, наряду с достаточно большой длиной цикла генерируемых случайных чисел, должны пройти соответствующие статистические проверки, чтобы гарантировать равномерное распределение на интервале [0, 1] полученной последовательности. На это условие нужно обращать внимание при использовании непроверенного программного обеспечения в качестве генератора случайных чисел.

Multiplicative Congruential Method

Input data

u0 =

How many numbers?

Output results

Preii to <j nei.

Generated random numbers

0.66667

0 41667

0.16667

0 91667

0.66667

16 17

0 41667

016667

0.91667

0.66667

20 ,

0.41667

Рис. 18.7. Сгенерированные в Excel случайные числа

Excel обладает несколькими встроенными средствами генерирования случайных чисел. Так, функция СЛЧИС генерирует равномерно распределенные на интервале [0, 1] числа, средство Генерация случайных чисел из надстройки Пакет анализа позволяет генерировать случайные числа, имеющие различные вероятностные распределения, в том числе равномерное, нормальное, Пуассона. - Прим. ред.



УПРАЖНЕНИЯ 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



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