Разработка имитационной модели на языке GPSS

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

КУРСОВАЯ РАБОТА

По дисциплине: «Моделирование систем»

Разработка имитационной модели на языке GPSS

Выполнил: студент группы

Проверила: доцент кафедры

Оценка___________

Подпись__________

__ _________2012 г.

Казань 2012

1. Задание

Промоделировать функционирование класса персональных компьютеров (ПК) в течение 12 часов. В класс поступают два потока клиентов, время между поступлением которых распределено по экспоненциальному закону. Первого со средним временем 3 мин, второго 5 мин. В классе 8 ПК. Время решения задач распределено по нормальному закону для первого потока среднее равно 20 мин, стандартное отклонение 4 мин, для второго среднее равно 30 мин, стандартное отклонение 6 мин. Перед классом может возникнуть очередь. Если время ожидания превышает 10 минут клиент покидает очередь без обслуживания. В зависимости от спрогнозированного времени решения задач им назначаются приоритеты. Третий (высший) если это время меньше или равно Х1; второй если время больше Х1, меньше или равно Х2 и нулевой если время больше Х2. Минимизировать время решения задач за счет выбора Х1 и Х2. Рекомендуется Х1менять в диапазоне от 10 до 25 мин; Х2 от 30 до 50 мин. Задачи более высоких приоритетов имеют преимущество по сравнению с задачами меньших приоритетов только при выходе из очереди (без прерывания). Выбор П К по наименьшему времени обслуживания.

2. Разработка имитационной модели на языке GPSS

2.1 Разработка структурной модели

имитационная модель моделирование

Для реализации данной модели используются такие объекты как устройства, память, многоканальное устройство.

Транзактом является элемент, который занимает и использует устройство.

Устройство — это объект, который может находиться в одном из двух состояний: либо быть свободным, либо занятым только одним транзактом.

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

По условиям задачи разработана структурная схема (Рис. 1.).

Многоканальное устройство представляет собой специальное средство (элемент) для моделирования однородных параллельных приборов. Использование многоканального устройства для моделирования одного из параллельно работающих приборов аналогично использованию одиночного прибора.

2.2 Разработка программы

В программе используются следующие элементы языка GPSS World:

Переменные:

Х1, Х2- значения спрогнозированного времени для назначения приоритета транзактам;

Функции:

INITIAL — оператор определения позволяет задавать начальные значения ячеек, логических переключателей;

GENERATE -генерирует транзакты, которые в данной модели являются клиентами;

ASSIGN — используется для изменения параметра транзакта;

TRANSFER — служит для передачи входящих в него транзактов в блоки, отличные от следующего;

SELECT — блок для выбора объекта из заданной совокупности объектов;

PREEMPT — позволяет транзакту, в зависимости от условий занять ПК в приоритетном режиме;

SAVEVALUE — используется для сохранения значения ячейки;

SEIZE — RELEASE — парные блоки, обозначающие соответственно занять и освободить прибор обслуживания;

Последовательная разработка программы.

Задаются начальные значения ячеек X1, X2:

initial x1,17. 5

initial x2,50

Генерируются два потока клиентов, время между поступлением которых распределено по экспоненциальному закону. Первого со средним временем 3 мин, второго 5 мин. Время решения задач распределено по нормальному закону для первого потока среднее равно 20 мин, стандартное отклонение 4 мин, для второго среднее равно 30 мин, стандартное отклонение 6 мин.

generate (exponential (1,0,3))

assign prognoz,(normal (2,20,4))

transfer, nach1

generate (exponential (3,0,5))

assign prognoz,(normal (4,30,6))

transfer, nach1

Если время ожидания превышает 10 мин. транзакт покидает очередь:

test le m1,10,otk

В зависимости от спрогнозированного времени решения задач им назначаются приоритеты. Третий (высший) если это время меньше или равно Х1; второй если время больше Х1, меньше или равно Х2 и нулевой если время больше Х2.

nach1 queue och

test le p$prognoz, x1, met1

priority 3

transfer, met2

met1 test le p$prognoz, x2, met3

priority 2

transfer, met3

Выбираются ПК с минимальным коэффициентом использования и занимаются клиентами в приоритетном режиме.

met2 select min vibor, 1,8,fr

preempt p$vibor, pr

depart och

advance p$prognoz

return p$vibor

transfer, final

met3 link svoi, pr, nach2

nach2 select min vibor, 1,8,fr

seize p$vibor

depart och

advance p$prognoz

release p$vibor

unlink svoi, nach2,1

Завершение работы программы.

final savevalue kol+, 1

terminate

otk terminate

generate 720

terminate 1

start 1

3. Планирование имитационных экспериментов

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

3.1 Этап 1. Найдем линейную зависимость

y=b0*x0+b1*x1+b2*x2+b12*x1*x2

Промоделировав работу класса ПК, получим следующие результаты:

Хкод

-1

0

1

Х1

10

17. 5

25

Х2

30

40

50

х0

х1

х2

х1*х2

у*

1

0

0

0

99

1

-1

-1

1

35

1

1

-1

-1

217

1

-1

1

-1

33

1

1

1

1

209

Х1

Х2

у*

17. 5

40

99

10

30

35

25

30

217

10

50

33

25

50

209

Найдем коэффициенты уравнения:

b0=*i;

b1= *(-y1+y2-y3+y4);

b2= *(-y1-y2+y3+y4);

b12= *(y1-y2-y3+y4),

где y0, y1,y3,y4 — количество решенных задач в проведенных экспериментах.

Воспользовавшись пакетом прикладных программ Microsoft Excel для вычислений, получим следующие результаты:

b0= 118,6

b1= 89,5

b2= -2,5

b12=-1,5

Уравнение регрессии примет вид:

y=118,6+89,5×1−2,5×2−1,5×1х2

Коэффициент b1 показывает, что влияние параметра х1 положительно и очень велико. Коэффициент b2 показывает, что влияние параметра х2 отрицательно и очень мало. Свободный член b0 — величина достаточно большая, что может свидетельствовать о том, что в процессе моделирования были учтены не все факторы, влияющие на поведение объекта исследования (т.е. целевой функции), или изменение выделенных факторов производится в сравнительно небольших диапазонах. Коэффициент b12 показывает, что взаимное влияние обоих факторов весьма незначительно.

3.2 Этап 2. Оценим качество полученного уравнения

Подставив в полином кодированные значения х1 и х2 получим значения Y.

х1

х2

F (x1,x2)

0

0

118,6

-1

-1

30,1

1

-1

212,1

-1

1

28,1

1

1

204,1

Вычислим среднеквадратическую (стандартную) ошибку. Для вычислений воспользуемся пакетом прикладных программ Microsoft Excel:

;

;

Таким образом, полученные результаты следует считать вполне приемлемыми.

3.3 Этап 3. Перейдём к полиному второго порядка

Добавим ещё 4 точки к матрице Х.

Точки

X0

X1

X2

X12

X22

Центральная точка

0

1

0

0

-2/3

-2/3

Основные точки

1

1

-1

-1

1/3

1/3

2

1

1

-1

1/3

1/3

3

1

-1

1

1/3

1/3

4

1

1

1

1/3

1/3

Звездные точки

5

1

-1

0

1/3

-2/3

6

1

1

0

1/3

-2/3

7

1

0

-1

-2/3

1/3

8

1

0

1

-2/3

1/3

Промоделировав работу сети, получим следующие результаты:

X1

X2

Y*

17,5

40

99

10

30

35

25

30

217

10

50

33

25

50

209

10

40

33

25

40

209

17,5

30

96

17,5

50

99

Найдём коэффициенты уравнения:

,

где y0, y2, …, y8 — количество решенных задач в проведенных экспериментах.

Воспользовавшись пакетом прикладных программ Microsoft Excel для вычислений, получим следующие результаты:

Уравнение регрессии имеет вид:

Оценим качество полученного уравнения регрессии:

X1

X2

Y*

f (Х1,Х2)

0

0

99

114,4444

-1

-1

35

50,94 444

1

-1

217

231,9444

-1

1

33

51,61 111

1

1

209

226,6111

-1

0

33

50,11 111

1

0

209

228,1111

0

-1

96

116,7778

0

1

99

114,4444

Вычислим СКО:

Результаты вычислений следует считать вполне удовлетворительными.

3.4 Выходные данные

Далее проведен отчет по результатам работы имитационной модели в оптимальной точке (Х1=25, Х2=30).

GPSS World Simulation Report — Untitled Model 1.3. 1

Tuesday, May 29, 2012 20: 45:31

START TIME END TIME BLOCKS FACILITIES STORAGES

0. 000 720. 000 32 8 0

NAME VALUE

FINAL 28. 000

KOL 10 004. 000

MET1 12. 000

MET2 15. 000

MET3 21. 000

NACH1 8. 000

NACH2 22. 000

OCH 10 001. 000

OTK 30. 000

PROGNOZ 10 000. 000

SVOI 10 002. 000

VIBOR 10 003. 000

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 236 0 0

2 ASSIGN 236 0 0

3 TRANSFER 236 0 0

4 GENERATE 139 0 0

5 ASSIGN 139 0 0

6 TRANSFER 139 0 0

7 TEST 0 0 0

NACH1 8 QUEUE 375 0 0

9 TEST 375 0 0

10 PRIORITY 236 0 0

11 TRANSFER 236 0 0

MET1 12 TEST 139 0 0

13 PRIORITY 67 0 0

14 TRANSFER 67 0 0

MET2 15 SELECT 236 23 0

16 PREEMPT 213 0 0

17 DEPART 213 0 0

18 ADVANCE 213 5 0

19 RETURN 208 0 0

20 TRANSFER 208 0 0

MET3 21 LINK 139 129 0

NACH2 22 SELECT 10 1 0

23 SEIZE 9 0 0

24 DEPART 9 0 0

25 ADVANCE 9 0 0

26 RELEASE 9 0 0

27 UNLINK 9 0 0

FINAL 28 SAVEVALUE 217 0 0

29 TERMINATE 217 0 0

OTK 30 TERMINATE 0 0 0

31 GENERATE 1 0 0

32 TERMINATE 1 0 0

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

1 28 0. 759 19. 523 1 274 0 0 0 0

2 28 0. 735 18. 909 1 362 0 0 0 0

3 26 0. 749 20. 750 1 0 0 0 0 0

4 27 0. 733 19. 539 1 0 0 0 0 0

5 30 0. 743 17. 841 1 336 0 0 0 12

6 28 0. 733 18. 855 1 361 0 0 0 11

7 28 0. 741 19. 064 1 354 0 0 0 1

8 27 0. 741 19. 770 1 0 0 0 0 0

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

OCH 153 153 375 62 81. 753 156. 967 188. 059 0

USER CHAIN SIZE RETRY AVE. CONT ENTRIES MAX AVE. TIME

SVOI 129 0 66. 374 138 129 346. 301

SAVEVALUE RETRY VALUE

1 0 25. 000

2 0 30. 000

KOL 0 217. 000

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

377 0 722. 383 377 0 1

378 0 723. 150 378 0 4

361 3 725. 057 361 18 19

PROGNOZ 22. 851

VIBOR 6. 000

274 3 728. 595 274 18 19

PROGNOZ 19. 674

VIBOR 1. 000

362 3 732. 594 362 18 19

PROGNOZ 13. 509

VIBOR 2. 000

336 3 735. 891 336 18 19

PROGNOZ 24. 215

VIBOR 5. 000

354 3 738. 291 354 18 19

PROGNOZ 21. 644

VIBOR 7. 000

379 0 1440. 000 379 0 31

Выводы

В ходе выполнения курсовой работы была создана имитационная модель функционирование класса персональных компьютеров на языке GPSS World. В процессе работы была проведена оптимизация факторов, влияющих на поведение исследуемого объекта, за который принималось количество решенных задач за время функционирования (8 часов). За факторы, влияющие на исследуемый объект, были взяты Х1 и Х2 — диапазоны изменения спрогнозированного времени, для назначения приоритетов.

В результате оптимизации определенно максимальное количество решенных задач при Х1=25 и Х2=30 за 8 часов работы, равное 217.

Список литературы

1. Афонин В. В. Основы анализа систем массового обслуживания: Учеб. пособие/ В. В. Афонин, С. М. Мурюмин, С. А. Федосин. — Саранск: Изд- во Мордов. ун-та, 2003. -236с.

2. Боев В. Д. Моделирование систем. Инструментальные средства GPSS World.- СПб: БХВ-Петербург, 2004. -360с.

3. Рыжиков Ю. И. Имитационное моделирование. Теория и технологии. -СПб.: КОРОНА — принт., М.: Альтекс-А, 2004. -384с.

4. Советов Б. Я., Яковлев С. А. Моделирование систем. Учебник. -М.: Высшая школа, 2005. -371с.

5. Томашевский В. Н., Жданова Е. Г. Имитационное моделирование в среде GPSS. -М.: Бестселлер, 2003. -416с.

6. Тахавова Э. Г., Якимов И. М. Компьютерное моделирование. Методические указания к лабораторным работам.

7. Якимов И. М. Конспект лекций по дисциплине «Компьютерное моделирование».

8. Якимов И. М. «Компьютерное моделирование». Учебное пособие. Казань: Изд-во Казан. гос. техн. ун-та, 2008. 220с.

Приложение 1. Текст программы

initial x1,17. 5

initial x2,50

generate (exponential (1,0,3))

assign prognoz,(normal (2,20,4))

transfer, nach1

generate (exponential (3,0,5))

assign prognoz,(normal (4,30,6))

transfer, nach1

test le m1,10,otk

nach1 queue och

test le p$prognoz, x1, met1

priority 3

transfer, met2

met1 test le p$prognoz, x2, met3

priority 2

transfer, met3

met2 select min vibor, 1,8,fr

preempt p$vibor, pr

depart och

advance p$prognoz

return p$vibor

transfer, final

met3 link svoi, pr, nach2

nach2 select min vibor, 1,8,fr

seize p$vibor

depart och

advance p$prognoz

release p$vibor

unlink svoi, nach2,1

final savevalue kol+, 1

terminate

otk terminate

generate 720

terminate 1

start 1

Приложение 2. Стандартный отчет

GPSS World Simulation Report — Untitled Model 1.3. 1

Tuesday, May 29, 2012 23: 15:12

START TIME END TIME BLOCKS FACILITIES STORAGES

0. 000 720. 000 32 8 0

NAME VALUE

FINAL 28. 000

KOL 10 011. 000

MET1 12. 000

MET2 15. 000

MET3 21. 000

NACH1 8. 000

NACH2 22. 000

OCH 10 003. 000

OTK 30. 000

PROGNOZ 10 000. 000

SVOI 10 009. 000

VIBOR 10 007. 000

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 236 0 0

2 ASSIGN 236 0 0

3 TRANSFER 236 0 0

4 GENERATE 139 0 0

5 ASSIGN 139 0 0

6 TRANSFER 139 0 0

7 TEST 0 0 0

NACH1 8 QUEUE 375 0 0

9 TEST 375 0 0

10 PRIORITY 74 0 0

11 TRANSFER 74 0 0

MET1 12 TEST 301 0 0

13 PRIORITY 301 0 0

14 TRANSFER 301 0 0

MET2 15 SELECT 74 0 0

16 PREEMPT 74 0 0

17 DEPART 74 0 0

18 ADVANCE 74 2 0

19 RETURN 72 0 0

20 TRANSFER 72 0 0

MET3 21 LINK 301 278 0

NACH2 22 SELECT 23 1 0

23 SEIZE 22 0 0

24 DEPART 22 0 0

25 ADVANCE 22 0 0

26 RELEASE 22 0 0

27 UNLINK 22 0 0

FINAL 28 SAVEVALUE 94 0 0

29 TERMINATE 94 0 0

OTK 30 TERMINATE 0 0 0

31 GENERATE 1 0 0

32 TERMINATE 1 0 0

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

1 11 0. 275 17. 985 1 375 0 0 0 1

2 13 0. 277 15. 355 1 367 0 0 0 0

3 13 0. 301 16. 687 1 0 0 0 0 0

4 12 0. 277 16. 626 1 0 0 0 0 0

5 12 0. 272 16. 310 1 0 0 0 0 0

6 12 0. 285 17. 076 1 0 0 0 0 0

7 11 0. 273 17. 854 1 0 0 0 0 0

8 12 0. 284 17. 031 1 0 0 0 0 0

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

OCH 280 279 375 59 141. 052 270. 821 321. 385 0

USER CHAIN SIZE RETRY AVE. CONT ENTRIES MAX AVE. TIME

SVOI 278 0 140. 583 300 278 337. 399

SAVEVALUE RETRY VALUE

1 0 17. 500

2 0 50. 000

KOL 0 94. 000

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

377 0 722. 383 377 0 1

378 0 723. 150 378 0 4

375 3 731. 039 375 18 19

PROGNOZ 13. 311

VIBOR 1. 000

367 3 733. 528 367 18 19

PROGNOZ 15. 662

VIBOR 2. 000

379 0 1440. 000 379 0 31

ПоказатьСвернуть
Заполнить форму текущей работой