#include <Pilgrim.h> float
Pas=1.0; float Tax=10.0; float Mod_time=360.0; forward { modbeg("Маршр.
такси",
108, Mod_time, (long)time(NULL), none,1, none, 4, 2); ag("Пассажиры",
107, none, expo, Pas, zero, zero, 101); ag("Такси",
108, none, norm, Tax, Tax/3, zero, 105); network(dummy, dummy) { top(101):
t->ft=1; queue("Пассажиры",
none, 102); place; top(102): if (addr[103]->tn==1) rels (102); else hold
(102); key("Есть такси?",
103); place; top(103): delet("Посадка в такси",
1, 1, 0, 10, 104); rels(102); hold(106); place; top(104): term("Такси уехало");
hold(102); rels(106); place; top(105): queue("Такси",
none, 106); place;
top(106): key("Остановка свободна?", 103); place;
fault(123); } modend("resultat1.doc", 1, 12, page); return 0;
}
|
4.Получение результатов
моделирования
*----------------------------*
| НАЗВАНИЕ МОДЕЛИ: Маршр. такси |
| ВРЕМЯ МОДЕЛИРОВАНИЯ: 361.71 Лист: 1 |
|--------------------------|
| | | | | | | 2 | | | | |
| No | Наименование | Тип |Точ-|Загруз-| M [t] |
C [t] |Счетчик|Кол.|Оcт.|Состояние узла|
|узла| узла | узла | ка |ка(%=),| среднее
|квадрат |входов |кан.|тр. |в этот момент |
| | | | |Путь(км) время |коэф.вар.|и hold | | |
|
|----+---------------+------+----+-------+---------+---------+-------+----+----+--------------|
| | | | | | | | | | | |
| 101 Пассажиры queue - - 0.18 27.74 369 1 1
открыт |
| 102 Есть такси? key - %= 3.7 0.54 11.86 25 1 0
открыт |
| 103 Посадка в такси delet - - 0.18 27.74 368 2
1 закрыт |
| 104 Такси уехало term - - 68.09 0.26 24 0 0
открыт |
| 105 Такси queue - - 56.57 0.40 36 1 11 открыт
|
| 107 Пассажиры ag - - 0.98 1.06 369 1 1 открыт
|
| 108 Такси ag - - 9.79 0.08 37 1 1 открыт |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
*---------------------------------*
Из полученных результатов можно сделать вывод
что:
ü Пришло 369 пассажиров на остановку;
ü Подъехало 25 такси;
ü В такси село 368 пассажиров;
ü Одно такси и один пассажир остались
на остановке.
5.Эксперементальные показатели
Увеличим время прихода такси на остановку.
*------------------------------------------------*
| НАЗВАНИЕ МОДЕЛИ: Маршр. такси |
| ВРЕМЯ МОДЕЛИРОВАНИЯ: 360.02 Лист: 1 |
|----------------------------------------------|
| | | | | | | 2 | | | | |
|узла| узла | узла | ка |ка(%=),| среднее
|квадрат |входов |кан.|тр. |в этот момент |
| | | | |Путь(км) время |коэф.вар.|и hold | | |
|
|----+---------------+------+----+-------+---------+---------+-------+----+----+--------------|
| | | | | | | | | | | |
| 101 Пассажиры queue - - 4.99 2.07 353 1 1
открыт |
| 102 Есть такси? key - %= 52.3 5.23 0.95 36 1 0
открыт |
| 103 Посадка в такси delet - - 5.35 2.02 352 2
1 закрыт |
| 104 Такси уехало term - - 9.17 1.30 35 0 0
открыт |
| 105 Такси queue - - 4.60 2.36 37 1 1 открыт |
| 106 Остановка свобо key - %= 48.2 4.82 0.94 36
1 0 закрыт |
| 107 Пассажиры ag - - 1.02 1.02 353 1 1 открыт
|
| 108 Такси ag - - 9.51 0.09 38 1 1 открыт |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
*-------------------------------------*
ü Уменьшилось ненамного число
пассажиров (из-за уменьшения времени моделирования);
ü Число такси увеличилось до 36 и
уехало 35;