Автор: Пользователь скрыл имя, 15 Мая 2013 в 01:53, курсовая работа
Некоторая фирма занимается продажей в Украине всемирно-известной марки велосипедов. Фирма содержит сервис центр, в котором проходит гарантийный и после гарантийный ремонт и обслуживание велосипедов клиентов.
Клиенты подвозят свои велосипеды в сервис центр согласно экспоненциальному распределению со средним интервалом времени 90 минут. С вероятностью 0,6 обслуживание клиента будет гарантийным и бесплатным, с вероятностью 0,4 – обслуживание будет послегарантийным и платным. Клиенты с гарантийным обслуживанием имеют больший приоритет, чем остальные. Приоритет для остальных клиентов устанавливается в зависимости от типа велосипеда.
Цель работы : нахождение оптимального решения для поставленной задачи.
При моделировании стохастических систем, работающих в стационарном режиме, может быть использован регенеративный анализ, если эти системы регенерируют. Для СМО моменты регенерации будут определяться номерами тех требований, которые будут, например, заставать прибор обслуживания свободным. Класс регенерирующих систем достаточно большой. К нему относятся стохастические системы СМО, система управления запасами и др.
GPSS позволяет моделировать
Язык позволяет модифицировать модель с помощью специальных команд, обеспечивающих возможность редактирования текста программы, являющейся в данный момент времени активной.
Благодаря своей блочной структуре, GPSS удобен при создании любой имитационной модели.
Для описания работы имитационной модели воспользуемся событийным моделирующим алгоритмом, схема которого представлена на рис. 4.1:
Рисунок 4.1 – Схема событий имитационной модели
Для данной модели транзактами являются поступающие велосипеды. После генерации транзакт попадает в блок TRANSFER который с вероятностью 0.6 отправляет его на установления приоритета PRIORITY на 6 и пометить его блоком ASSIGN что он является гарантийным. Остальным транзакты после блока TRANSFER устанавливается приоритет с заданной вероятностью, назначенный приоритет указывает тип велосипеда который будет ремонтироваться. Потом транзакты попадают в очередь, обслуживаются по приоритету. Дальше занимают многоканальное устройство, которое зависит от количества работников. Время обслуживания определяется в зависимости он назначенного раньше приоритета. После ремонта велосипедов значения переменной чистой прибыли увеличивается блоком SAVEVALUE+.
Единица модельного времени – 1 мин.
Адекватная модель должна измерять то, что подлежит измерению, то есть на выходах должны получаться нужные величины. Цель данного исследования – определение наилучшей стратегии управления технологическим участком. Выходной переменой реализованной программной модели является величина дохода при указанных входных факторах. Значит, реализованная модель измеряет именно то, что подлежит измерению.
Проведём проверку достоверности модели на уровне её реализации. Для проверки достоверности программы переведём её в логическую схему и сравним полученную схему с алгоритмом концептуальной модели (см. рис. 2.1) и схемой имитационной модели (см. рис. 4.1).
Рисунок 4.2 – Программная реализация
Реализованная модель является адекватной,
есть соответствие между концептуальной
моделью и выполненной
Кроме того, следует отметить,
что результаты
Данные моделирования будем заносить в таблицу, по которой будем смотреть поведения нашей целевой функции, которая является монотонной. Начальные данные возьмем из расчета в среднем, а именно количество работников равно 2. На основании таблицы сделаем вывод о нахождения оптимального количества ремонтников.
Номер эксперимента |
Количество ремонтников |
Прибыль |
1 |
2 |
81896.948 |
2 |
1 |
413473.942 |
3 |
3 |
363294.820 |
4 |
4 |
305599.385 |
5 |
5 |
252303.840 |
Таблица 5.1 – План экспериментов
Как видно с таблицы 4.2 оптимум как и ожидалось при 2 ремонтниках.
Обычно эксперимент начинают из состояния, когда в модели нет транзактов. Это состояние отличается от установившегося состояния, наблюдаемого с выхода модели. Учёт данных переходного режима будет вносить смещение в рассчитываемые оценки выходных переменных модели. В GPSS есть команда PLOT, позволяющая наблюдать в виде графика выходную переменную (см. рис. 5.1)
В качестве выходной переменной будем использовать очередь к прибору ремонтники:
Рисунок 5.2 – Очередь к прибору построенная с помощью команды PLOT
Из рисунка 5.1 видно, что очереди к прибору не стремятся к бесконечности, она близка к установившемуся состоянию. Значит, длительность прогона в 144000 единиц модельного времени достаточна.
Пусть случайная величина имеет дисперсию s2. Для определения количества прогонов воспользуемся формулой:
где N – количество прогонов, ta=1.96, e =10 – требуемая точность.
Так как значение дисперсии неизвестно, то проведём 50 опытов и оценим её, а затем подставим в формулу для N, чтобы получить необходимое число реализаций.
Получим следующую оценку дисперсии:
04/13/11 04:09:50 Treatment Level Count Mean Minimum Maximum 95% C.I. (SE)
04/13/11 04:09:50 A
04/13/11
04:09:50 ______________________________
04/13/11
04:09:50 2
10 413473.942 359707.142
04/13/11
04:09:50 ______________________________
04/13/11 04:09:50 23845.8232147
Подставляя полученную оценку в формулу, получим:
Достаточно провести 6 тестов, что бы получить статистически значимые результаты, но мы для большей точности проведем 10.
Результаты работы ANOVA.
______________________________
04/13/11 04:09:50
ANOVA
04/13/11
04:09:50 ______________________________
04/13/11 04:09:50 Source of Sum of Degrees of Mean Square F Critical Value
04/13/11 04:09:50 Variance Squares Freedom of F (p=.05)
04/13/11
04:09:50 ______________________________
04/13/11 04:09:50 A 653656393261.586 4 163414098315.397 287.386 3.30
04/13/11
04:09:50 ______________________________
04/13/11 04:09:50 Error 25588047815.426 45 568623284.787
04/13/11 04:09:50 Total 679244441077.012 49
04/13/11
04:09:50 ______________________________
04/13/11
04:09:50 ______________________________
04/13/11 04:09:50 Treatment Level Count Mean Minimum Maximum 95% C.I. (SE)
04/13/11 04:09:50 A
04/13/11
04:09:50 ______________________________
04/13/11
04:09:50
1
10 81896.948 54001.800 107619.
04/13/11
04:09:50 2
10 413473.942 359707.142
04/13/11
04:09:50 3
10 363294.820 330925.255
04/13/11
04:09:50 4
10 305599.385 254976.819
04/13/11
04:09:50 5
10 252303.840 229861.643
04/13/11
04:09:50 ______________________________
04/13/11 04:09:50 23845.8232147
Рисунок 5.2 – выполнения программы ANOVA
F – статистика является
Рисунок 5.2 – график распределения времени ремонта при 2 ремонтниках
Надо определить при скольких ремонтниках длина очереди будет меньше 3
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
CHERG 3 0 1597 1487 0.027 2.420 35.136 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
REMONTNIKI 4 2 0 4 1597 1 1.423 0.356 0 0
Как видно 4 ремонтников достаточно.
В результате проведения экспериментов на модели получен следующий результат: наибольшая величина дохода будет достигаться при количестве ремонтников 2. Длина очереди будет меньше 3 при 4 ремонтниках.
Велосипеды с гарантией не приносят прибыль ремонтникам, но занимаю время и ресурсы.
Если бы увеличить долю велосипедов
с послегарантийного
ВЫВОДЫ
В данной работе рассмотрена задача об определении наилучших управленческих решений по определению оптимального количества ремонтников с целью увеличения дохода от выполняемых работ. Исследованы возможные методы решения поставленной задачи. Разработана программа для решения данной задачи. Проведён анализ экспериментально полученных данных.
ПЕРЕЧЕНЬ ССЫЛОК
ПРИЛОЖЕНИЕ А Код программы
INITIAL X$PRIBIL,0
INITIAL X$PRIBIL_CHIST,0
INITIAL X$ZATRAT,0
remontniki STORAGE 2
TYME TABLE M1,0,10,100
XPDIS FUNCTION
RN1,C24
; экспоненциальная функция
0,0/.1,.104/.2,.222/.3,.355/.
.8,1.6/.84,1.83/.88,2.12/.9,2.
.97,3.5/.98,3.9/.99,4.6/.995,
SNORM FUNCTION RN1,C25 ; нормальная функция распределения
0.0,-5/0.00003,-4/.00135,-3/.
.11507,-1.2/.15866,-1/.21186,-
.5,0.0/.57926,.2/.65542,.4/.
.93319,1.5/.97125,2/.99379,2.
prioric FUNCTION RN1,D5
.05,1/.1,2/.6,3/.8,4/1,5
zatr_f VARIABLE ((R$remontniki+S$remontniki)#
kids_f VARIABLE (100+30#FN$SNORM)
bmx_f FUNCTION RN1,C2
0,700/1,1100
lifestyle_f VARIABLE (300#FN$XPDIS)
mtb_f FUNCTION RN1,C2
0,600/1,800
compact_f FUNCTION RN1,C2
0.0,800/0.999,1800
GENERATE ,,,1
SAVEVALUE PRIBIL,0
SAVEVALUE PRIBIL_CHIST,0
SAVEVALUE ZATRAT,0
TERMINATE
GENERATE 90,FN$XPDIS
TRANSFER 0.6,,GARANT
ASSIGN 2,1
PRIORITY FN$prioric
rem Queue cherg
ENTER remontniki
DEPART cherg
TEST E P2,2,tmp_1
PRIORITY FN$prioric
;
tmp_1 TEST E PR,1,tmp_2
kids ADVANCE 45,10
TEST NE P2,2,termm
SAVEVALUE PRIBIL_CHIST+,V$kids_f
TRANSFER ,termm
;
tmp_2 TEST E PR,4,tmp_3
bmx ADVANCE 140,20
TEST NE P2,2,termm
SAVEVALUE PRIBIL_CHIST+,FN$bmx_f
TRANSFER ,termm
;
tmp_3 TEST E PR,2,tmp_4
lifestyle ADVANCE 60,10
TEST NE P2,2,termm
SAVEVALUE PRIBIL_CHIST+,V$lifestyle_f
TRANSFER ,termm
;
tmp_4 TEST E PR,3,tmp_5
mtb ADVANCE 120,15
TEST NE P2,2,termm
SAVEVALUE PRIBIL_CHIST+,FN$mtb_f
TRANSFER ,termm
;
tmp_5 TEST E PR,5,termm
compact_road ADVANCE 180,30
TEST NE P2,2,termm
SAVEVALUE PRIBIL_CHIST+,FN$compact_f
TRANSFER ,termm
GARANT ASSIGN 2,2
PRIORITY 6
TRANSFER ,rem
termm LEAVE remontniki
TABULATE TYME
TERMINATE
GENERATE (60#8#300)
SAVEVALUE ZATRAT,V$zatr_f
SAVEVALUE PRIBIL,(X$PRIBIL_CHIST-X$
;START 1
TERMINATE 1
ПРИЛОЖЕНИЕ Б Файл с экспериментом
RES MATRIX,5,10
CLEAR OFF
remontniki STORAGE 1
RMULT 401
START 1,NP
MSAVEVALUE RES,1,1,X$PRIBIL
CLEAR OFF
RMULT 411
START 1,NP
MSAVEVALUE RES,1,2,X$PRIBIL
CLEAR OFF
RMULT 421
START 1,NP
MSAVEVALUE RES,1,3,X$PRIBIL
CLEAR OFF
RMULT 431
START 1,NP
MSAVEVALUE RES,1,4,X$PRIBIL
CLEAR OFF
RMULT 441
START 1,NP
MSAVEVALUE RES,1,5,X$PRIBIL
CLEAR OFF
RMULT 451
START 1,NP
MSAVEVALUE RES,1,6,X$PRIBIL
CLEAR OFF
RMULT 461
START 1,NP
MSAVEVALUE RES,1,7,X$PRIBIL
CLEAR OFF
RMULT 471
START 1,NP
MSAVEVALUE RES,1,8,X$PRIBIL
CLEAR OFF
RMULT 481
START 1,NP
MSAVEVALUE RES,1,9,X$PRIBIL
CLEAR OFF
RMULT 491
START 1,NP
MSAVEVALUE RES,1,10,X$PRIBIL
CLEAR OFF
remontniki STORAGE 2
RMULT 401
START 1,NP
MSAVEVALUE RES,2,1,X$PRIBIL
CLEAR OFF
RMULT 411
START 1,NP
MSAVEVALUE RES,2,2,X$PRIBIL
CLEAR OFF
RMULT 421
START 1,NP
MSAVEVALUE RES,2,3,X$PRIBIL
CLEAR OFF
RMULT 431
START 1,NP
MSAVEVALUE RES,2,4,X$PRIBIL
CLEAR OFF
RMULT 441
START 1,NP
MSAVEVALUE RES,2,5,X$PRIBIL