RSS    

   Курсовая работа: Система управления запасами с неудовлетворительным спросом

Транзакты удаляются из модели, попадая в блок TERMINATE (завершить). Блоки TERMINATE всегда позволяют войти всем транзактам, которые пытаются это сделать. В модели может быть любое число блоков TERMINATE. Блок имеет следующий формат записи:

TERMINATE     [A]

Значением операнда А является число единиц, на которое блок TERMINATE уменьшает содержимое счетчика завершения, определяющего момент окончания моделирования. Операнд А может быть именем, положительным целым числом, выражением в скобках, СЧА или СЧА*<параметр>. По умолчанию значение операнда А равно нулю. В этом случае транзакт уничтожается, а значение счетчика завершения не меняется.

Счетчик завершения представляет собой ячейку памяти с именем TG1, которая хранит положительное целое число. Это число записывается в ячейку TG1 командой START в начале процесса моделирования.

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

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

Рассмотрим пример, в котором блок TERMINATE и команда START используются для управления временем моделирования. Предположим, что разработчик выбрал в качестве единицы времени 1 мин. Он хочет промоделировать поведение системы в течение 10 часов, затем моделирование должно быть закончено. За единицу модельного времени возьмем 1 мин, тогда время моделирования равно 10*60=600 единицам.

Любая модель на GPSS состоит из одного или нескольких сегментов. Для управления временем моделирования разработчик (см. блок-диаграмму):

1.  включает в модель сегмент из блоков GENERATE и TERMINATE;

2.  в блоке TERMINATE в качестве операнда А использует 1;

3.  во всех прочих блоках TERMINATE модели использует операнд А по умолчанию (однако возможны и другие варианты, т. е. и в других блоках TERMINATE операнд А может быть 1).

В процессе моделирования транзакты, которые двигаются в других сегментах модели, время от времени выводятся из модели в других блоках TERMINATE, но они не оказывают воздействия на счетчик завершения. В момент модельного времени 600 транзакт в приведенном выше сегменте попадает в блок GENERATE и сразу же переходит в следующий блок TERMINATE.

Поскольку операнд А блока содержит 1, то из счетчика завершения вычитается 1. Предположим, что в команде START было указано число 10, т. е. десять прогонов модели, и в счетчик завершений записано число 10: TG1 = 10. После первого вычитания содержимое ячейки TG1 = 9, т. е. не равно нулю. Поэтому моделирование продолжается. После десяти прогонов, т. е. вычитания десяти единиц, TG1 = 0. Планировщик прекращает моделирование.

Команда START используется для запуска процесса моделирования. Она имеет следующий формат записи:

START             A,[B],C,[D]

http://www.intuit.ru/department/calculate/compmodel/6/06_30.gif

Операнд А задает значение счетчика завершения, определяющего момент окончания прогона модели. Может быть только целым положительным числом. Операнд B - операнд вывода статистики. Он может быть NP ("нет вывода данных") либо опущен. При задании NP стандартный отчет не выводится. По умолчанию выводится стандартный отчет. Операнд С не используется и сохранен для совместимости с описаниями ранних версий GPSS. Операнд D определяет необходимость вывода содержимого списков событий. Если операнд D указать любым положительным целым числом, например, 1, то списки текущих и будущих событий включаются в стандартный отчет и выводятся. Если операнд D опущен, то по умолчанию списки в стандартном отчете не выводятся.

Команду START можно сразу указывать в конце программы модели при ее подготовке и в таком виде записывать на магнитный носитель. Тогда после трансляции модели, т. е. создания объекта "процесс моделирования", сразу начинается моделирование. Этот же оператор можно вводить в программу модели в интерактивном режиме.

Однако может возникнуть необходимость завершить моделирование не по истечении какого-то времени, а после обработки определенного количества транзактов, имитирующих, например, изготовленные детали, переданные по каналу связи сообщения и т. д. В этом случае сегмент задания времени моделирования не нужен. Для организации такого способа завершения моделирования необходимо сделать следующее. В блоках TERMINATE, которые выводят из модели транзакты, имеющие смысл тех же изготовленных деталей или переданных сообщений, указать число, на которое уменьшается счетчик завершения моделирования. В команде START также указать число, деление которого на указанное в блоке TERMINATE число даст требуемое количество изготовленных деталей или переданных сообщений. Например, требуется завершить моделирование после изготовления 100 деталей. В модели это может быть так:

. . .

TERMINATE     1

. . .

TERMINATE     1

. . .

TERMINATE

START             100

Блоков TERMINATE, которые выводят из модели транзакты, соответствующие изготовленным деталям, может быть несколько. Все эти блоки должны иметь 1 в качестве операнда А. У остальных блоков TERMINATE, если они есть в модели, операнд А должен быть опущен.


ГЛАВА 2

МОДЕЛИРОВАНИЕ СИСТЕМЫ УПРАВЛЕНИЯ ЗАПАСАМИ С НЕУДОВЛЕТВОРИТЕЛЬНЫМ СПРОСОМ

2.1 Постановка задачи

Необходимо промоделировать работу склада материалов на предприятии. Вместимость склада составляет 5000 единиц материала. Возможна поставка на склад с периодичностью 5 дней в размере 1500 единиц материала. Начальный запас материалов на складе составляет 1000 единиц. Ежедневный спрос материала варьирует в пределах от 35 до 55 единиц с равной вероятностью. Если текущий запас равен или больше 1200, то никакой поставки материалов на склад в течение недели не производят. Требуется смоделировать работу склада материалов в течение 100 дней.

2.2 Описание модели

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

2.2.1 Создание имитационной модели:

Построим заголовок модели:

;GPSSW Upr_zapasom.GRS

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

*     Управление моделями   *

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

Создадим четыре сектора:

* Определение входных данных.

RMULT         413

Zapas             STORAGE         2500     ; Вместимость склада.

Zapas             TABLE               S$Zapas,100,100,20 ; Гистограмма запаса.

Material         VARIABLE        Nach_ur-S$Zapas        ; Размер заказа.

Spros_m        VARIABLE        RN1@20+35      ; Размер ежедневного спроса.

Nach_ur         EQU                   1500     ; Начальный уровень запаса.

Postavka        EQU                   1300     ; Размер поставки.

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

*Моделировнаие процесса поставки материала на склад.

GENERATE  5,,,,1                              ; Поставка через 5 дней.

TEST L          S$Zapas,Postavka,Out  ; Нужна ли поставка.

ASSIGN         2,V$Material                 ; Размер заказа в P2.

ADVANCE    5                                    ; Интервал поставки.

ENTER          Zapas,P2                        ; Увеличить запас на Р2.

Out TERMINATE                                          ; Завершение заказа.

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

* Моделировнаие текущего запаса с учётом спроса.

GENERATE  1                                    ; Генерирование дня.

ASSIGN         1,V$Spros_m                ; Размер спроса в Р1.

TABULATE  Zapas                             ; Запись тек. запаса.

TEST GE       S$Zapas,P1,Zapasout    ; Можно ли заказать.

LEAVE          Zapas,P1                        ; Уменьшить запас на Р1.

TERMINATE                           1                   ; Завершение дня.

Zapasout        TERMINATE     1                   ; Завершение дня.

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

* Установление начального размера запаса.

GENERATE  ,,,1,10                            ; Начальный запас.

ENTER          Zapas,Nach_ur              ; Установка нач. запаса.

TERMINATE                                                ; Завершение установки.

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

Оператор RMULT определяет начальное число для генератора случайных чисел.

Оператор STORAGE (Накопитель) с меткой Zapas определяет вместимость склада 2500 единиц.

Оператор TABLE с меткой Zapas предназначен для формирования таблицы текущего (ежедневного) уровня запаса на складе. Текущий уровень запаса определяется с помощью стандартного числового атрибута S$Zapas.

Оператор VARIABLE c меткой Material определяет количество материала как разность начального и текущего запаса.

Оператор VARIABLE с меткой Spros_m характеризует ежедневный спрос, который изменяется от 35 до 55 единиц с равной вероятностью.

Оператор EQU с меткой Nach_ur определяет начальный уровень запасов, который в нашей задаче установлен в размере 1500 единиц. Использование именованной величины облегчает проведение экспериментов с ее различными значениями.

Оператор EQU c меткой Postavka определяет тот критический уровень материалов на складе, который обуславливает необходимость очередного заказа материалов. Этот размер в нашей задаче составляет 1300 единиц.

Оператор GЕNЕRАТЕ - генерирует очередной момент времени, когда возможна доставка материала на склад.

Оператор ТEST L определяет необходимость очередной поставки материала на склад. Очередная поставка материалов на склад производится тогда, когда текущий запас, который определяется с помощью стандартного числового атрибута S$Zapas, меньше размера поставки, определенного оператором  ЕQU. с меткой  Рostavka в предыдущем секторе. В противном случае поставка отменяется - требование (транзакт) направляется к оператору TERMINATE с меткой Out.

Еcли текущий запас меньше размера поставки, то требование переходит к следующему оператору - ASSIGN (Присвоить). В операторе ASSIGN в параметре требования под номером 2 запоминается' размер заказа, который определяется переменной под именем Material.

Оператор ADVANCE моделирует время ожидания требования (поставки) в течение 5 дней .

Далее оператор ENTER моделирует поставку после истечения 5-дневного срока и увеличивает текущее содержание склада - S$Zapas - на величину, содержащуюся в параметре требования под номером 2.

Оператор ТERMINATE с меткой Out удаляет требование из системы. Этот оператор используется, чтобы определить окончание моделирования состояния.

Оператор GENERATE генерирует очередной день работы склада.

Оператор ASSIGN присваивает параметру требования (очередному дню) под номером 1 размер спроса.

Оператор TABULA ТЕ с меткой  Zapas собирает информацию для создания таблицы и гистограммы ежедневных уровней запасов.

Оператор TEST GE проверяет возможность удовлетворения спроса. Если текущий запас - S$Zapas - больше или равен величине спроса, то процесс моделирования переходит к следующему оператору - LEAVE (Оставить):

Если такой возможности нет, то требование направляется к оператору с меткой Zapasout.

Оператор LEAVE уменьшает текущий запас - S$Zapas - на величину спроса в данный день. Это делается так: требование (очередной день), входя в блок LEAVE, несет в параметре требования под номером 1 величину спроса (операнд В). Эта величина спроса и вычитается из величины текущего запаса S$Zapas.

Оператор GENERATE генерирует одно требование (транзакт) с приоритетом. равным 10. Оно имеет наибольший приоритет сведи всех требований, генерируемых оператором GENERATE, и поэтому становится первым активным требованием в системе.

Оператор ENTER определяет величину начального запаса, чтобы установить величину S$Zapas в начале моделирования.

Оператор TERMINATE уничтожает начальное требование без уменьшения индекса завершения.

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

2.2.2. Моделирование системы

Используя пункт Command главного меню создаём выполняемую модель. Моделирование закончится, когда 100 ежедневных заказов будут выполнены.

Report (Отчёт) в стандартном виде, для нашей задачи выглядит следующим образом:

GPSS World Simulation Report - Untitled Model 2.2.1

Friday, January 28, 2011 16:11:27

START TIME           END TIME  BLOCKS  FACILITIES  STORAGES

0.000            100.000    16        0          1

NAME                       VALUE

MATERIAL                    10007.000

NACH_UR                      1500.000

OUT                             6.000

POSTAVKA                     1300.000

SPROS_M                     10008.000

ZAPAS                       10006.000

ZAPASOUT                       13.000

LABEL              LOC  BLOCK TYPE     ENTRY COUNT CURRENT COUNT RETRY

1    GENERATE            20             0       0

2    TEST                20             0       0

3    ASSIGN              12             0       0

4    ADVANCE             12             1       0

5    ENTER               11             0       0

OUT                 6    TERMINATE           19             0       0

7    GENERATE           100             0       0

8    ASSIGN             100             0       0

9    TABULATE           100             0       0

10    TEST               100             0       0

11    LEAVE              100             0       0

12    TERMINATE          100             0       0

ZAPASOUT           13    TERMINATE            0             0       0

14    GENERATE             1             0       0

15    ENTER                1             0       0

16    TERMINATE            1             0       0

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

ZAPAS            2500 1433   0  1762     5450   1 1299.600  0.520    0    0

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

ZAPAS          1339.100  199.642                           0

900.000  -     1000.000             2     2.00

1000.000  -     1100.000             5     7.00

1100.000  -     1200.000            24    31.00

1200.000  -     1300.000            19    50.00

1300.000  -     1400.000            13    63.00

1400.000  -     1500.000            14    77.00

1500.000  -     1600.000             9    86.00

1600.000  -     1700.000            10    96.00

1700.000  -     1800.000             4   100.00

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

123    0         101.000    123      0      7

122    1         105.000    122      0      1

116    1         105.000    116      4      5       2        388.000

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

ZAPAS          1339.100  199.642                           0

900.000  -     1000.000             2     2.00

1000.000  -     1100.000             5     7.00

1100.000  -     1200.000            24    31.00

1200.000  -     1300.000            19    50.00

1300.000  -     1400.000            13    63.00

1400.000  -     1500.000            14    77.00

1500.000  -     1600.000             9    86.00

1600.000  -     1700.000            10    96.00

1700.000  -     1800.000             4   100.00

FEC XN   PRI         BDT      ASSEM  CURRENT  NEXT  PARAMETER    VALUE

123    0         101.000    123      0      7

122    1         105.000    122      0      1

116    1         105.000    116      4      5       2        388.000

Анализ результатов:

Вместимость – 2500

Максимальное содержимое – 1762

Число входов – 5450

Среднее содержимое – 1299,600

Коэффициент использования – 0,52

Работа с моделью показывает, что чем выше размеры поставок, тем выше коэффициент использования.


ЗАКЛЮЧЕНИЕ

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

Данная курсовая работа показала, что GPSS является необходимым элементом в портфеле знаний специалистов работающих в любой сфере.


СПИСОК ЛИТЕРАТУРЫ

1)  В.Д. Боев «Моделирование систем. Инструментальные средства GPSS World». Учебное пособие. – СПб.: БХВ-Петербург, 2004.

2)  Имитационное моделирование экономических процессов: учебное пособие / А.А. Емельянов Е.А. Власова Р.В. Дума. – М.: Финансы и статистика, 2002.

3) Игнатов В.Д. Особенности решения задач имитационного моделирования в системе GPSS World: учебно-методическое пособие / Игнатов В.Д. – Смоленск: Изд-во СГУ, 2007.

4) Бычков С.П., Храмов А.А. Разработка моделей в системе моделирования GPSS. М.: МИФИ, 1997.

5) Бражник А.Н. Имитационное моделирование: возможности GPSS World.-СПб.: Реноме. 2006.

6) Гаджинский А.М. Логистика: Учебник. – М.: Маркетинг, 1998. – 228 с.

7)  Логистика: Учебник / Под ред. Б.А. Аникина. – М.: ИНФРА-М, 2005. – 367с.

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

9) Шеннон Р.Дж. Имитационное моделирование систем – искусство и наука. М.: мир, 1978 г.

10) www.gpss.ru


Страницы: 1, 2, 3, 4


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.