4.4. Модель автобусного обслуживания

 

     Автобус должен делать в день N рейсов. Первый рейс всегда начинается в исправном состоянии Е, имеется вероятность а сломаться во время рейса и перейти в состояние А. В этом состоянии он может выйти на следующий рейс. Необходимый ремонт для перевода его в исходное состояние Е занял бы время равное времени одного рейса. Если он не ремонтируется и в состоянии А выходит на следующий рейс, то есть вероятность в, что он закончит рейс в состоянии В. Если он достигает состояния В, то он ремонтируется до следующего утра и все оставшиеся рейсы отменяются. Нужно выбрать одну из двух стратегий обслуживания: 1) как только автобус переходит в состояние А, так мы его ремонтируем,

2) работает автобус до тех пор, пока не перейдет в состояние В и уже затем ремонтируется.

Лучшей стратегией считается та стратегия, которая дает наибольшее среднее число рейсов в день.

     При моделировании формируется выборка случайного числа r и имитируется состояние, в котором находится автобус в конце каждого рейса. Сначала имитируется один рейс при стратегии 1, затем – при стратегии 2. Затем подсчитывается среднее число рейсов в день, фактически выполненных при стратегиях 1 и 2 и их разность.

Графическое изображение имитации при стратегии 2 показано на рис. 8.

Рис. 8. Эксплуатационная стратегия 2

 

Рассмотрим более подробно процесс работы автобуса. Если автобус уходит в рейс в состоянии Е, то имеется вероятность а закончить его в состоянии А и вероятность (1-а) остаться в состоянии Е. Если рейс начинается в состоянии А , то имеется вероятность в закончить его в состоянии В и вероятность (1-в) остаться в состоянии А. С помощью теории марковских цепей получено аналитическое решение для среднего числа рейсов при стратегиях 1 и 2.

m1=N/(1+a)+a(1-(-a)N)/(1+a)2

m2=(a2(1-(1-b)N)-b2(1-(1-a)N))/(ab(a-b))  (29)

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

Таблица 2

Автобус выезжает в состоянии

Выборка состояний автобуса в конце рейса

Автобус приезжает в состоянии

Е                                         А                              В

Е

 (a£r<1)

(0£r<a)

-

A

-

 (b£r<1)

(0£r<b)

Допустим автобус начинает рейс в состоянии А (это возможно только при стратегии 1). Если полученное значение r удовлетворяет неравенству r³b, то автобус заканчивает рейс в состоянии А. При этом P(r³b)=1-P(r<b)=1-b. Блок-схема имитационной модели приведена на рис. 9

В ней использованы следующие обозначения: SG1-логическая переменная «хорошее состояние Е» при первой стратегии, она принимает значение 1, если автобус в хорошем состоянии Е при стратегии 1 и значение 0, если автобус находится в состоянии А (то же при стратегии 1). SG2-логическая переменная «хорошее состояние » при стратегии 2: равна 1, если автобус в хорошем состоянии при стратегии 2, 0- если автобус в состоянии А. SG2- переменная «состояние В» при стратегии 2, равна 1, если автобус в состоянии В при стратегии 2, в иных случаях =0.DMAX-количество дней всего,D-текущее число дней, RM-число моделируемых рейсов в день, включая отдельные рейсы.RA, RB-число действительно выполненных рейсов в течение дня при стратегиях 1 и 2 , соответственно. Z- разность между числом действительно выполненных рейсов при стратегиях 1 и 2 за определенный день, т.е. Z=RA-RB. SZ-сумма значений Z за D дней. AVERA, AVERB-среднее число рейсов в день при стратегиях 1 и 2 соответственно после М дней. AVERZ=AVERA-AVERB.

Часть блок-схемы между 2 и 3 используется только один раз за каждый моделируемый день, в начале каждого дня еще ни одного рейса не выполнено (RA=RB=0) или смоделировано (RM=0) и автобус начинает рейс в хорошем состоянии Е при обеих стратегиях (SG1=1, SG2=1, SB2=0).

После точки 3 RM сравнивается с N для проверки условия, не выполнено ли уже максимальное число рейсов в день. Если при стратегии 1 автобус начинает рейс в хорошем состоянии (SG1=1), то этот рейс выполняется (RA=RA+1) и производится выборка состояния в конце этого рейса, т.е. если r<a, то автобус уже не в хорошем состоянии (SG1=0) , если r>=a, то изменений нет, т.е. он в состоянии Е. Если же автобус сразу в состоянии А (SG1=0), то рейс отменяется (RA¹RA+1) и автобус ремонтируется (SG1=1). В этом случае нет необходимости выборки числа. После ремонта автобус всегда в хорошем состоянии. Затем мы определяем по табл. 2, в каком состоянии он закончит рейс при стратегии 2. После имитации


Рис. 9. Моделирование двух стратегий обслуживания

 

целого дня (RM=N) подсчитывается SRA, SRB, SZ и имитируется следующий день (D=D+1), если еще не достигнуто требуемое число имитируемых дней (DMAX). После имитации DMAX дней подсчитывается среднее число рейсов в день при стратегиях 1 и 2 и их разность.

Текст программы приведен ниже.

 

10 INPUT”Введите a,b,n,dm”;A,B,N,DM

20 D=0:SA=0:SB=0:SZ=0

30 RA=0:RB=0:RM=0

40 S1=1:S2=1:S3=0

50 RM=RM+1

60 IF RM<N THEN GOTO 110

70 SA=SA+RA:SB=SB+RB:Z=RA-RB:SZ=SZ+Z:D=D+1

80 IF D<=DM THEN GOTO 30

90 A1=SA/DM:A2=SB/DM:SZ=A1-A2:PRINT A1,A2,SZ

95 PRINT N/(1+A)+A*(1-(-A)^N)/(1+A)^2;(A*A*(1-B)^N)-B*B*(1-(1-A)^N)/A/B/(A-B)

100 END

110 IF S1=1 THEN GOTO 130

120 S1=1:GOTO 150

130 RA=RA+1:Q=RND(1)

140 IF Q<A THEN S1=0

150 IF S3<>0 THEN GOTO 50

160 RB=RB+1:Q=RND(1)

170 IF S2=1 THEN GOTO 200

180 IF Q<B THEN S3=1

190 GOTO 50

200 IF Q<A THEN S2=0

210 GOTO 50

 

     При а=0.1, в=0.2, n=60 и dm=100 программа дает следующие данные: среднее количество рейсов при стратегии 1 равно 54.4, при стратегии 2-15.9, разница 39.5. Теоретические значения равны соответственно 54.6 и 15. Видно хорошее соответствие между данными.

 

Задачи для самостоятельного решения

 

1. Каждое утро Сэм играет в игру:  подбрасывает монету до тех пор, пока разность между числом выпавших гербов и решек не станет равной 3. За каждый бросок монеты платит 1 доллар, при удачном исходе получает 8 долларов. На игру он откладывает 10 долларов и играет в нее до тех пор, пока либо не проиграет все деньги, либо не выиграет. Определите результат игры за пять дней, будет ли он в выигрыше?

2. Вероятности перемещения пьяницы 50% прямо, 20% направо или налево и 10 % назад. Использовав 10 попыток, вычислите вероятность того, что он, пройдя 5 кварталов, закончит путь не далее чем в 2-х кварталах от исходного состояния.

3. На лист бумаги с параллельными линиями на расстоянии а друг от друга бросают наугад иглу длиной l . Требуется определить вероятность того, что она пересечет 0,1,2,3 линии. Пусть х- расстояние по перпендикуляру от одного конца иглы до первой линии пересекаемой иглой, а q -угол (рис. 10).

Подсчет числа пересечений линий дан в табл. 3.

Рис. 10. Расположение иголки на листе с линиями

 

Таблица 3

 l*sin q по длине находится в пределах между

Количество пересечений

(x+а) и (х+2а)

2

(x) и (х+а)

1

(x-а) и (х)

0

(x-2а) и (х-а)

1

(x-3а) и (х-2а)

2

 

     Все значения х в пределах от 0 до а равновероятны, равновероятны также все значения q в пределах от 0 до 2p. Функции распределения для х и q выражаются формулами F1=x/a , F2=q/2p. Бросок иглы эквивалентен случайному выбору точки с координатами F1 и F2 внутри квадрата со стороной 1. Области квадрата, соответствующие пересечениям 0,1,2, .. линий определяются кривыми х+n*a=l*sin q ( n=…-2,-1,0,1,2,..).  Вероятности пересечения 0, 1, 2, 3 линий могут быть найдены аналитически или графически путем измерения соответствующих площадей на рис. 11. Для l=3a вид квадрата представлен на рис. 11

Рис. 11. Кривые, характеризующие функцию распределения для разных n

и результаты расчета приведены в табл. 4

 

Таблица 4

Количество пересечений

0

1

2

3

Вероятность

0.107

0.227

0.314

0.352

 

Проверьте данные расчета и проведите расчет для l=4a.

4.     Производится серия N раз по 10 выстрелов по мишени. Требуется оценить вероятность того, что число попаданий в мишень будет четным, т.е. 0, 2, 4, 6, 8, 10.

Вероятность попадания случайной величины в интервал (0, р), где р£1, равна длине этого отрезка, т.е. Р{xi<p}=p. Поэтому при каждом выстреле полученное случайное число xi сравнивается с заданной вероятностью р и при xi<p регистрируется попадание в цель, иначе- нет.

P(y)=1/N Sj=1 N yi

yj=1, если hj-четное, иначе 0.

hj=Si=110hi, j=1..N, а hi=1, если xi<p, иначе 0. Блок- схема программы приведена на рис. 12.

Рис. 12. Блок-схема программы

 

Напишите программу и определите вероятность, сравните полученное решение с аналитическим решением

P(y)=Sk=05 c102k p2k(1-p)10-2k,

где cab=b!/a!(b-a)!.