Материалы для студентов→ Курсовая работа /

Моделирование - курсовая

Скачать файл
Добавил: fafnir
Размер: 148 KB
Добавлен: 23.04.2015
Просмотров: 1496
Закачек: 4
Формат: doc

Московский Государственный Университет Леса.

Кафедра вычислительной техники.

Курсовая работа.

По дисциплине:Моделирование.

Выполнил: студент гр. ВТ-41

Морозов В.Ю.

Принял: к.т.н. доцент

Артельщиков В.И.

2013 год.

Содержание

1)  Постановка задачи________________________________________2

2)  Результаты работы программы______________________________3

3)  Код программы___________________________________________10

4)  Отладочный вариант работы программы______________________11

5)  Отчет работы программы___________________________________13Постановка задачи

Вариант 24:

Круглосуточное интернет-кафе располагает 30 ПК, из которых два резервных. Посетители кафе подразделяются на две категории: пользователи и постоянные клиенты. Пользователи приходят в кафе через 105 мин. Время их работы составляет 10,5 часа. Пользователь занимает место в очереди, если в ней не более 3-х человек. Постоянные клиенты приходят через 52 мин. Время их работы составляет 21 час. При отсутствии свободного ПК постоянный клиент занимает резервный. Если резервные ПК также заняты, то постоянный клиент при отсутствии в очереди других постоянных клиентов занимает в ней место перед пользователями. При наличии в очереди других постоянных клиентов он отказывается от обслуживания. Восполнение резерва выполняется за счет освобождающихся ПК, независимо от наличия пользователей в очереди.

Смоделировать работу кафе в течение суток. Определить среднюю длину очереди и среднее число занятых ПК. Для каждой категории посетителей построить гистограмму распределения времени пребывания в очереди, определить среднее значение этого времени и его СКО. Определить число постоянных клиентов и пользователей, которые не были обслужены, и вероятности этих событий. Определить минимальное число резервных ПК, при котором все постоянные клиенты будут обслужены. Представить отладочный вариант модели для проверки использования резервных ПК.

Результаты работы программы

          START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

               0.000           1440.000    34        0          2

             NAME                       VALUE

         KAFE                        10000.000

         MET1                            9.000

         MET4                           31.000

         MET5                           16.000

         OUT_POLZ                       25.000

         REZ1                        10001.000

         REZERV                         26.000

         STAT                        10004.000

         TIME                        10002.000

         TIME2                       10003.000

LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                   1    GENERATE           143             0       0

                   2    ASSIGN             143             0       0

                   3    TEST               143             0       0

                   4    TRANSFER           143             0       0

                   5    GENERATE           287             0       0

                   6    ASSIGN             287             0       0

                   7    TEST               287             0       0

                   8    TRANSFER           233             0       0

MET1                9    QUEUE              143             0       0

                  10    ENTER              143             0       0

                  11    DEPART             143             0       0

                  12    TABULATE           143             0       0

                  13    ADVANCE            143             8       0

                  14    LEAVE              135             0       0

                  15    TERMINATE          135             0       0

MET5               16    SAVEVALUE          269             0       0

                  17    QUEUE              269             0       0

                  18    ENTER              269             0       0

                  19    DEPART             269             0       0

                  20    TABULATE           269             0       0

                  21    SAVEVALUE          269             0       0

                  22    ADVANCE            269            22       0

                  23    LEAVE              247             0       0

                  24    TERMINATE          247             0       0

OUT_POLZ           25    TERMINATE            0             0       0

REZERV             26    TEST                54             0       0

                  27    ENTER                8             0       0

                  28    ADVANCE              8             1       0

                  29    LEAVE                7             0       0

                  30    TERMINATE            7             0       0

MET4               31    TEST                46             0       0

                  32    TERMINATE           10             0       0

                  33    GENERATE             1             0       0

                  34    TERMINATE            1             0       0

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

1                   3    0    412    352     0.143      0.501      3.441   0

STORAGE            CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

KAFE               30    0   0    30      412   1   27.087  0.903    0    0

REZ1                1    0   0     1        8   1    0.619  0.619    0    0

TABLE              MEAN    STD.DEV.       RANGE           RETRY FREQUENCY CUM.%

TIME              0.516    1.685                           0

                                      _  -        0.000           119    83.22

                                  0.000  -        0.100             1    83.92

                                  0.100  -        0.200             0    83.92

                                  0.200  -        0.300             0    83.92

                                  0.300  -        0.400             1    84.62

                                  0.400  -        0.500             0    84.62

                                  0.500  -        0.600             2    86.01

                                  0.600  -        0.700             1    86.71

                                  0.700  -        0.800             2    88.11

                                  0.800  -        0.900             0    88.11

                                  0.900  -        1.000             0    88.11

                                  1.000  -        1.100             0    88.11

                                  1.100  -        1.200             1    88.81

                                  1.200  -        1.300             0    88.81

                                  1.300  -        1.400             0    88.81

                                  1.400  -        1.500             0    88.81

                                  1.500  -        1.600             0    88.81

                                  1.600  -        1.700             0    88.81

                                  1.700  -        1.800             1    89.51

                                  1.800  -  _                      15   100.00

TIME2             0.493    1.715                           0

                                      _  -        0.000           233    86.62

                                  0.000  -        0.100             2    87.36

                                  0.100  -        0.200             0    87.36

                                  0.200  -        0.300             0    87.36

                                  0.300  -        0.400             0    87.36

                                  0.400  -        0.500             1    87.73

                                  0.500  -        0.600             1    88.10

                                  0.600  -        0.700             0    88.10

                                  0.700  -        0.800             0    88.10

                                  0.800  -        0.900             1    88.48

                                  0.900  -        1.000             0    88.48

                                  1.000  -        1.100             0    88.48

                                  1.100  -        1.200             0    88.48

                                  1.200  -        1.300             0    88.48

                                  1.300  -        1.400             0    88.48

                                  1.400  -        1.500             0    88.48

                                  1.500  -        1.600             1    88.85

                                  1.600  -        1.700             0    88.85

                                  1.700  -        1.800             0    88.85

                                  1.800  -        1.900             1    89.22

                                  1.900  -        2.000             1    89.59

                                  2.000  -        2.100             1    89.96

                                  2.100  -        2.200             3    91.08

                                  2.200  -        2.300             1    91.45

                                  2.300  -        2.400             1    91.82

                                  2.400  -        2.500             0    91.82

                                  2.500  -        2.600             4    93.31

                                  2.600  -        2.700             1    93.68

                                  2.700  -        2.800             0    93.68

                                  2.800  -  _                      17   100.00

SAVEVALUE               RETRY       VALUE

STAT                     0              0

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

432    0        1441.001    432      0      1

  394    0        1441.611    394     22     23       1       1310.780

  412    0        1442.184    412     13     14       1       1374.852

  433    0        1442.497    433      0      5

  384    0        1445.316    384     28     29       1       1282.407

  408    0        1446.562    408     13     14       1       1369.350

  418    0        1450.926    418     13     14       1       1399.412

  407    0        1454.932    407     22     23       1       1358.692

  417    0        1459.382    417     22     23       1       1391.133

  410    0        1469.303    410     22     23       1       1368.332

  389    0        1472.242    389     22     23       1       1297.308

  415    0        1474.911    415     13     14       1       1388.367

  430    0        1482.278    430     13     14       1       1432.394

  413    0        1483.531    413     22     23       1       1374.687

  422    0        1485.630    422     13     14       1       1407.415

  402    0        1487.294    402     22     23       1       1339.413

  428    0        1494.122    428     22     23       1       1424.937

  426    0        1495.884    426     22     23       1       1419.848

  401    0        1496.877    401     22     23       1       1335.339

  404    0        1497.560    404     22     23       1       1346.200

  420    0        1499.543    420     22     23       1       1397.767

  400    0        1502.002    400     22     23       1       1330.086

  416    0        1502.104    416     22     23       1       1384.866

  424    0        1505.222    424     13     14       1       1417.577

  427    0        1509.060    427     13     14       1       1425.885

  411    0        1521.096    411     22     23       1       1371.334

  423    0        1532.656    423     22     23       1       1407.704

  419    0        1534.784    419     22     23       1       1394.437

  425    0        1539.999    425     22     23       1       1413.387

  414    0        1540.634    414     22     23       1       1379.832

  421    0        1544.600    421     22     23       1       1403.163

  431    0        1581.639    431     22     23       1       1437.167

  429    0        1595.576    429     22     23       1       1430.308

  434    0        2880.000    434      0     33

Средняя длинна очереди равна 0.143, среднее число занятых ПК равно 27.087.

Гистограмма пребывания пользователя в очереди:

Гистограмма пребывания постоянного клиента в очереди:

Количество не обслуженных пользователей равно 0.

Количество не обслуженных  постоянных клиентов равно 10.

При количестве резервных ПК равное 4-м все постоянные клиенты будут обслужены:

          START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

               0.000           1440.000    34        0          2

             NAME                       VALUE

         KAFE                        10000.000

         MET1                            9.000

         MET4                           31.000

         MET5                           16.000

         OUT_POLZ                       25.000

         REZ1                        10001.000

         REZERV                         26.000

         STAT                        10004.000

         TIME                        10002.000

         TIME2                       10003.000

LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                   1    GENERATE           143             0       0

                   2    ASSIGN             143             0       0

                   3    TEST               143             0       0

                   4    TRANSFER           143             0       0

                   5    GENERATE           290             0       0

                   6    ASSIGN             290             0       0

                   7    TEST               290             0       0

                   8    TRANSFER           256             0       0

MET1                9    QUEUE              143             0       0

                  10    ENTER              143             0       0

                  11    DEPART             143             0       0

                  12    TABULATE           143             0       0

                  13    ADVANCE            143             4       0

                  14    LEAVE              139             0       0

                  15    TERMINATE          139             0       0

MET5               16    SAVEVALUE          263             0       0

                  17    QUEUE              263             0       0

                  18    ENTER              263             0       0

                  19    DEPART             263             0       0

                  20    TABULATE           263             0       0

                  21    SAVEVALUE          263             0       0

                  22    ADVANCE            263            24       0

                  23    LEAVE              239             0       0

                  24    TERMINATE          239             0       0

OUT_POLZ           25    TERMINATE            0             0       0

REZERV             26    TEST                34             0       0

                  27    ENTER               27             0       0

                  28    ADVANCE             27             3       0

                  29    LEAVE               24             0       0

                  30    TERMINATE           24             0       0

MET4               31    TEST                 7             0       0

                  32    TERMINATE            0             0       0

                  33    GENERATE             1             0       0

                  34    TERMINATE            1             0       0

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

1                   2    0    406    384     0.036      0.128      2.360   0

STORAGE            CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

KAFE               30    2   0    30      406   1   26.751  0.892    0    0

REZ1                4    1   0     4       27   1    2.266  0.567    0    0

TABLE              MEAN    STD.DEV.       RANGE           RETRY FREQUENCY CUM.%

TIME              0.294    1.163                           0

                                      _  -        0.000           128    89.51

                                  0.000  -        0.100             2    90.91

                                  0.100  -        0.200             0    90.91

                                  0.200  -        0.300             1    91.61

                                  0.300  -        0.400             0    91.61

                                  0.400  -        0.500             0    91.61

                                  0.500  -        0.600             0    91.61

                                  0.600  -        0.700             0    91.61

                                  0.700  -        0.800             0    91.61

                                  0.800  -        0.900             0    91.61

                                  0.900  -        1.000             1    92.31

                                  1.000  -        1.100             1    93.01

                                  1.100  -        1.200             0    93.01

                                  1.200  -        1.300             1    93.71

                                  1.300  -        1.400             0    93.71

                                  1.400  -        1.500             0    93.71

                                  1.500  -        1.600             0    93.71

                                  1.600  -        1.700             0    93.71

                                  1.700  -        1.800             0    93.71

                                  1.800  -  _                       9   100.00

TIME2             0.038    0.257                           0

                                      _  -        0.000           256    97.34

                                  0.000  -        0.100             0    97.34

                                  0.100  -        0.200             0    97.34

                                  0.200  -        0.300             0    97.34

                                  0.300  -        0.400             0    97.34

                                  0.400  -        0.500             0    97.34

                                  0.500  -        0.600             0    97.34

                                  0.600  -        0.700             1    97.72

                                  0.700  -        0.800             1    98.10

                                  0.800  -        0.900             0    98.10

                                  0.900  -        1.000             1    98.48

                                  1.000  -        1.100             0    98.48

                                  1.100  -        1.200             0    98.48

                                  1.200  -        1.300             2    99.24

                                  1.300  -        1.400             0    99.24

                                  1.400  -        1.500             0    99.24

                                  1.500  -        1.600             0    99.24

                                  1.600  -        1.700             0    99.24

                                  1.700  -        1.800             0    99.24

                                  1.800  -        1.900             0    99.24

                                  1.900  -        2.000             0    99.24

                                  2.000  -        2.100             0    99.24

                                  2.100  -        2.200             0    99.24

                                  2.200  -        2.300             0    99.24

                                  2.300  -        2.400             0    99.24

                                  2.400  -        2.500             1    99.62

                                  2.500  -        2.600             1   100.00

SAVEVALUE               RETRY       VALUE

STAT                     0              0

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

405    0        1441.871    405     22     23       1       1340.900

  433    0        1442.292    433      0      1

  436    0        1443.813    436      0      5

  387    0        1443.925    387     28     29       1       1277.403

  416    0        1444.005    416     13     14       1       1381.529

  407    0        1455.947    407     22     23       1       1347.103

  398    0        1459.071    398     22     23       1       1315.054

  426    0        1459.400    426     13     14       1       1418.106

  430    0        1462.365    430     13     14       1       1427.606

  422    0        1466.068    422     22     23       1       1396.883

  399    0        1466.888    399     22     23       1       1321.867

  411    0        1474.515    411     22     23       1       1357.277

  415    0        1475.319    415     22     23       1       1372.292

  394    0        1476.640    394     22     23       1       1304.723

  396    0        1483.584    396     22     23       1       1309.977

  423    0        1486.093    423     13     14       1       1403.459

  406    0        1498.325    406     22     23       1       1343.902

  425    0        1505.626    425     22     23       1       1405.858

  413    0        1509.310    413     22     23       1       1368.962

  409    0        1510.922    409     28     29       1       1352.248

  419    0        1512.711    419     28     29       1       1386.099

  417    0        1517.931    417     22     23       1       1376.493

  428    0        1520.897    428     22     23       1       1415.631

  434    0        1527.072    434     22     23       1       1435.878

  432    0        1531.987    432     22     23       1       1431.316

  412    0        1536.632    412     22     23       1       1363.544

  418    0        1537.464    418     22     23       1       1381.034

  429    0        1549.679    429     22     23       1       1422.264

  427    0        1552.472    427     22     23       1       1410.301

  424    0        1564.587    424     22     23       1       1402.254

  421    0        1567.850    421     22     23       1       1392.560

  435    0        1571.305    435     22     23       1       1438.929

  431    0        1584.888    431     22     23       1       1426.077

  437    0        2880.000    437      0     33

Экспериментальным путём было выяснено, что при наличии хотя бы 33 основных ПК количество ушедших посетителей будет равным нулю.

Код программы

********************************************

*ИНТЕРНЕТ-КАФЕ

*

*

*   2013Г.

********************************************

KAFESTORAGE30;колличество ПК

REZ1STORAGE1;колличество резервных ПК

TIMETABLE(AC1-P1),0,0.1,20

TIME2TABLE(AC1-P1),0,0.1,30

********************************************

GENERATE10,5;пользователи

ASSIGN1,AC1

priority1

TESTLEQ1,3,OUT_POLZ;ЕСЛИ В ОЧЕРЕДИ МЕНЬШЕ 3 КЛИЕНТОВ

TRANSFER,MET1;ПЕРЕХОД НА МЕТ1

*****************************

GENERATE5,2;постоянный клиенты

ASSIGN1,AC1

TESTNES$KAFE,30,REZERV;ЕСЛИ НЕ ВСЕ пк ЗАНЯТЫ, ИНАЧЕ ПЕРЕХОД К РЕЗЕРВНОМУ ПК

TRANSFER,MET5;ПЕРЕХОД НА МЕТ5

****************************

*ПОЛЬЗОВАТЕЛИ

MET1QUEUE1;ОЧЕРЕДЬ

ENTERKAFE;ЗАНЯТИЕ ПК

DEPART1

TABULATETIME

ADVANCE60,30;ЗАДЕРЖКАНА 1,0.5ЧАСА

LEAVEKAFE;ОСВОБОЖДЕНИЕ ПК

TERMINATE

****************************

*ПОСТОЯННЫЕКЛИЕНТЫ

MET5SAVEVALUESTAT+,1;

QUEUE1

ENTERKAFE

DEPART1

TABULATETIME2

SAVEVALUESTAT-,1

ADVANCE120,60;ЗАДЕРЖКАНА 2,1ЧАСА

LEAVEKAFE

TERMINATE

****************************

OUT_POLZTERMINATE

***********************************************

REZERVTEST GER$REZ1,1,MET4;ЕСЛИРЕЗЕРВНЫЙПКНЕЗАНЯТ

ENTERREZ1

ADVANCE120,60;ЗАДЕРЖКА НА 2, 1 ЧАСА

;ИНАЧЕ ПЕРЕХОД НА МЕТ4

LEAVEREZ1

TERMINATE

****************************

MET4TEST GX$STAT,0,MET5;ЕСЛИВОЧЕРЕДИЕСТЬПОСТ.ПОЛЬЗОВАТЕЛЬ

TERMINATE;ВЫХОД

***********************************************

GENERATE1440;МОДЕЛИРОВАНИЕ В ТЕЧЕНИИ СУТОК

TERMINATE1

;START1

Отладочный вариант работы программы

Для проверки функционирования очереди упростим программу. Во-первых, сократим количество ПК до 10. Во-вторых, отменим все расчеты. В-третьих, уберём моделирование по времени и зададим фиксированное количество постоянных посетителей, ушедших после работы на резервном ПК.

Программа примет вид:

********************************************

*ИНТЕРНЕТ-КАФЕ

*

*

*   2013Г.

********************************************

KAFESTORAGE10;колличество ПК

REZ1STORAGE1;колличество резервных ПК

********************************************

GENERATE10,5;пользователи

TESTLEQ1,3,OUT_POLZ;ЕСЛИ В ОЧЕРЕДИ МЕНЬШЕ 3 КЛИЕНТОВ

TRANSFER,MET1;ПЕРЕХОД НА МЕТ1

*****************************

GENERATE5,2;постоянный клиенты

priority1

TESTESF$KAFE,0,REZERV;ЕСЛИ НЕ ВСЕ пк ЗАНЯТЫ, ИНАЧЕ ПЕРЕХОД К РЕЗЕРВНОМУ ПК

TRANSFER,MET5;ПЕРЕХОД НА МЕТ5

****************************

*ПОЛЬЗОВАТЕЛИ

MET1QUEUE1;ОЧЕРЕДЬ

ENTERKAFE;ЗАНЯТИЕ ПК

DEPART1

ADVANCE60,30;ЗАДЕРЖКА НА 1,0.5 ЧАСА

LEAVEKAFE;ОСВОБОЖДЕНИЕ ПК

TERMINATE

****************************

*ПОСТОЯННЫЕКЛИЕНТЫ

MET5SAVEVALUESTAT+,1;

QUEUE1

ENTERKAFE

DEPART1

SAVEVALUESTAT-,1

ADVANCE120,60;ЗАДЕРЖКАНА 2,1ЧАСА

LEAVEKAFE

TERMINATE

****************************

OUT_POLZTERMINATE

***********************************************

REZERVTESTGER$REZ1,1,MET4;ЕСЛИ РЕЗЕРВНЫЙ ПК НЕ ЗАНЯТ

ENTERREZ1

ADVANCE120,60;ЗАДЕРЖКА НА 2, 1 ЧАСА

;ИНАЧЕ ПЕРЕХОД НА МЕТ4

LEAVEREZ1

TERMINATE1

****************************

MET4TEST GX$STAT,0,MET5;ЕСЛИВОЧЕРЕДИЕСТЬПОСТ.ПОЛЬЗОВАТЕЛЬ

TERMINATE;ВЫХОД

***********************************************

Отчет работы программы

          START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

               0.000            119.921    29        0          2

             NAME                       VALUE

         KAFE                        10000.000

         MET1                            8.000

         MET4                           28.000

         MET5                           14.000

         OUT_POLZ                       22.000

         REZ1                        10001.000

         REZERV                         23.000

         STAT                        10002.000

LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

                   1    GENERATE            12             0       0

                   2    TEST                12             0       0

                   3    TRANSFER             8             0       0

                   4    GENERATE            22             0       0

                   5    PRIORITY            22             0       0

                   6    TEST                22             0       0

                   7    TRANSFER             7             0       0

MET1                8    QUEUE                8             4       0

                   9    ENTER                4             0       0

                  10    DEPART               4             0       0

                  11    ADVANCE              4             0       0

                  12    LEAVE                4             0       0

                  13    TERMINATE            4             0       0

MET5               14    SAVEVALUE           13             0       0

                  15    QUEUE               13             1       0

                  16    ENTER               12             0       0

                  17    DEPART              12             0       0

                  18    SAVEVALUE           12             0       0

                  19    ADVANCE             12            10       0

                  20    LEAVE                2             0       0

                  21    TERMINATE            2             0       0

OUT_POLZ           22    TERMINATE            4             0       0

REZERV             23    TEST                15             0       0

                  24    ENTER                1             0       0

                  25    ADVANCE              1             0       0

                  26    LEAVE                1             0       0

                  27    TERMINATE            1             0       0

MET4               28    TEST                14             0       0

                  29    TERMINATE            8             0       0

QUEUE              MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME   AVE.(-0) RETRY

1                   5    5     21     10     2.425     13.846     26.433   0

STORAGE            CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

KAFE               10    0   0    10       16   1    8.158  0.816    0    5

REZ1                1    1   0     1        1   1    0.634  0.634    0    0

SAVEVALUE               RETRY       VALUE

STAT                     0          1.000

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

6    1         120.740      6     19     20

   36    0         122.158     36      0      4

    9    1         122.298      9     19     20

   35    0         124.595     35      0      1

   24    1         164.432     24     19     20

   11    1         166.306     11     19     20

   14    1         173.524     14     19     20

   28    1         185.876     28     19     20

    4    1         189.078      4     19     20

    8    1         199.266      8     19     20

   30    1         209.341     30     19     20

   26    1         243.533     26     19     20