на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


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


Операнды А и В не обязательно должны быть заданы. Когда один или оба операнда не указаны, по умолчанию предполагается их нулевое значение. Например, А=16.4, В=0. Поскольку операнд В=0, то интервалы времени распределены равномерно, 16.4±0, т. е. интервал времени поступления равен 16.4. Это пример того, как может быть задано детерминированное значение интервалов времени.

Более сложные интервалы времени поступления транзактов (не по равномерному закону) могут быть заданы с использованием модификатора-функции или встроенных генераторов случайных чисел. Под действием модификатора-функции значение операнда А умножается на значение функции, заданной операндом В.

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

Рассмотрим три дополнительных операнда: С - смещение интервалов, D - ограничитель, Е - уровень приоритета.

Смещение интервалов (первоначальная задержка) С - это момент времени, в который в блоке GENERATE должен появиться первый транзакт. После этого первого прихода все остальные приходы транзактов возникают в соответствии с распределением интервалов времени, задаваемых операндами А и B. Операнд С можно использовать как для ускорения, так и для замедления прихода первого транзакта или для указания прихода в нужный момент времени. Начальная задержка может быть меньше, равна или больше среднего времени, заданного операндом А. Когда операнд С не используется, интервалы генерирования определяются операндами А и B (они не оказывают влияния на задержку). Операнд С может быть таким же как и операнды А и B.

Операнд D задает граничное значение общего числа транзактов, которые могут войти в модель через данный блок GENERATE в течение времени моделирования. Когда это число достигнуто, данный блок GENERATE перестает быть активным. Если не определено граничное значение (операнд D не используется), блок GENERATE остается активным в течение всего времени моделирования, т. е. по умолчанию ограничения на количество создаваемых транзактов нет.

Операнд Е устанавливает класс приоритета каждого из транзактов, входящих в модель через данный блок GENERATE. Для задания приоритетов c целью повышения эффективности работы GPSS World рекомендуется использовать последовательность целых чисел 0, 1, 2, 3,… вместо, например, 37, 43, 88, 122,... Чем выше число, тем выше приоритет. Если операнд Е не используется, по умолчанию приоритет генерируемых данным блоком GENERATE транзактов равен нулю.

Операнды D и Е могут задаваться также как и операнды А, B и С, но при этом принимать значения только целых положительных и целых чисел соответственно.

В любом блоке GENERATE должен быть обязательно задан либо операнд А, либо операнд D. Нельзя использовать в качествеоперанда параметры транзактов. Необходимо также помнить, что транзакт не должен входить в блок GENERATE. Если транзакт пытается это делать, возникает ошибка выполнения. Приведем примеры записи блоков GENERATE:

с операндом А

1.  GENERATE      38.6

2.  GENERATE      X$IntPostTran

3.  GENERATE      MX$VrPost(3,6)

4.  GENERATE      V$Prom

5.  GENERATE      (Exponential(11,0,X$Mat))

6.  GENERATE      IntPostTran

с операндами А и B

7.  GENERATE      73.25,X$Otk

8.  GENERATE      X$Sredne,FN2

9.  GENERATE      Sredne,FN4

10.  GENERATE      (V$Post+7.1),FN$Mod

с операндами А и C

11.  GENERATE      7.3,,4.1

12.  GENERATE      7.3,,X$VrSm

13.  GENERATE      V$IntP,,MX2(X$Stroka,X$Stolbez)

14.  GENERATE      (Normal(3,X$Sre,X$SreOtk)),,Sme

с операндами А, B, E

15.  GENERATE       13.3,2.8,,,1

16.  GENERATE       (Normal(8,X$Sr,X$SrOtk)),Post,,1

17.  GENERATE       V$IntPostTran,(V1-12.3),,12

Приведенные примеры демонстрируют различные способы задания операндов блока GENERATE. Однако при этом нужно помнить следующее.

В начальный момент времени в каждом блоке GENERATE производится подготовка к выходу одного транзакта. На этой стадии модель еще полностью не инициализирована для выполнения, т. е. не все переменные получили значения. Но описанные в блоке GENERATE, должны быть уже определены - инициализированы. Поэтому в модели блоку GENERATE должны предшествовать команды определения EQU, INITIAL, FUNCTION, VARIABLE, FVARIABLE. Это делается для того, чтобы СЧА в блоке GENERATE, который ссылается на них, давали нужные для ввода транзактов в модель результаты.

Например:

SrIntPost       EQU          47.2

StanOtkl        EQU          28.6

INITIAL    X$KolTrans,43

. . .

GENERATE SrIntPost,StOtk,,X$KolTrans

Как видно из примера, блоку GENERATE предшествуют присвоения командой EQU именам числовых значений и командой INITIAL начального значения сохраняемой ячейке с именем Kol-Trans.


1.2.2.1.2. Удаление транзактов из модели и завершение моделирования

Транзакты удаляются из модели, попадая в блок 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


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.