Моделирование работы кладовой

Тип работы:
Дипломная
Предмет:
Программирование


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

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

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

СОДЕРЖАНИЕ

Введение

1. Основная часть

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

1.2 Структурная схема модели

1.3 Временная диаграмма

1.4 Q-схема системы

1.5 Разработка моделирующего алгоритма и машинная реализация

1.6 Блок-диаграмма модели

1.7 Математическая модель системы

1.8 Описание машинной программы решения задачи

1.9 Результаты моделирования и их анализ

1. 10 Сравнение результатов имитационного моделирования и аналитического расчета характеристик

1. 11 Возможные улучшения в работе системы

Заключение

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

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

Приложение 2. Отчёт программы

Приложение 3. Листинг улучшенной программы

Приложение 4. Отчёт улучшенной программы

ВВЕДЕНИЕ

Основной задачей настоящей курсовой работы является написание программы, моделирующей работу кладовой на фабрике и возможные пути её улучшения.

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

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

При написании курсовой работы были использованы следующие источники: книги Советова Б. Я., Яковлева С. А. «Моделирование систем: Учебник для вузов» и «Моделирование систем. Практикум», Колбанева М. О., Яковлева С. А. «Модели и методы оценки характеристик обработки информации в интеллектуальных сетях связи», Швецова А. Н., Яковлева С. А. «Распределённые интеллектуальные информационные системы».

1. ОСНОВНАЯ ЧАСТЬ

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

На фабрике в кладовой работает один кладовщик. Он выдаёт запасные части механикам. Время, необходимое для удовлетворения одного запроса, зависит от типа запасной части. Запросы первой категории приходят каждые 420±360 с требуют на обслуживание 390±90 с. Соответственно запросы второй категории — 360±240 с и 100±30 с.

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

1.2 Структурная схема модели

Для описания описанных процессов, прежде всего, используют структурные схемы, которые отражают физические составляющие элементы системы для лучшего понимания её работы. Приведем структурную схему модели (рисунок 1).

/

/

Рисунок 1 — Структурная схема процесса функционирования кладовой

Анализ условий задачи и структурной схемы позволяет сказать, что в процессе функционирования кладовой возможны следующие ситуации:

1. Нормальная работа, когда кладовщик работает без простоев;

2. Ситуация, когда кладовщик простаивает в ожидании поступления Запросов.

1.3 Временная диаграмма

Более детально процесс функционирования кладовой можно представить на временной диаграмме (рисунок 2).

/

/

Рисунок 2 — Временная диаграмма процесса функционирования кладовой

На временной диаграмме:

­ ось И1 — моменты прихода запросов первой категории в кладовую;

­ ось И2 — моменты прихода запросов второй категории в кладовую;

­ ось Н1 — времена ожидания запросов первой категории;

­ ось Н2 — времена ожидания запросов второй категории;

­ ось К1 — времена выполнения запросов первой категории;

­ ось К2 — времена выполнения запросов второй категории.

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

На этом этап построения концептуальной модели завершается. Перейдём к этапу формализации модели.

1.4 Q-схема системы

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

В соответствии с построенной концептуальной моделью и символикой Q-схем, структурную схему данной СМО (рисунок 1) можно представить в виде, показанном на рисунке 3, где И - источник, К — канал, Н — накопитель.

/

/

Рисунок 3 — Структурная схема кладовой в символике Q-схем

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

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

После формализации задачи можно переходить к построению моделирующего алгоритма.

Моделирующий алгоритм должен адекватно отражать процесс функционирования системы и в то же время не создавать трудностей при машинной реализации модели. При этом моделирующий алгоритм должен отвечать следующим основным требованиям:

обладать универсальностью относительно структуры, алгоритмов функционирования и параметров системы;

обеспечивать одновременную и независимую работу необходимого числа элементов схемы;

укладываться в приемлемые затраты ресурсов ЭВМ для реализации машинного эксперимента;

проводить разбиение на автономные логические части;

гарантировать выполнение рекуррентного правила — событие, происходящее в момент времени tk может моделироваться только после того, как промоделированы все события, произошедшие в момент времени tk-1< tk.

1.5 Разработка моделирующего алгоритма и машинная реализация

Данный этап моделирования представляет собой практическую деятельность, направленную на реализацию идей и математических схем в виде машинной модели, ориентированной на использование конкретных программно-технических средств (в данной курсовой работе — это GPSS и средства ПЭВМ).

Разработку моделирующего алгоритма принято производить в 2 этапа:

разработка обобщенного (укрупненного) алгоритма;

разработка детального алгоритма.

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

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

На рисунке 4 изображена обобщенная схема моделирующего алгоритма.

Рисунок 4 — Обобщенная схема моделирующего алгоритма процесса функционирования кладовой

1.6 Блок-диаграмма модели

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

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

Блок-диаграмма модели процесса функционирования кладовой приведена на рисунке 5.

1. 7 Математическая модель системы

Данная система представляет собой многоканальную СМО с неограниченной по длине очередью. Рассчитаем показатели эффективности для данной модели средствами программы Mathcad.

Для рассматриваемой системы среднее время поступления запросов первой категории равно 420 с., среднее время поступления запросов второй категории равно 360., среднее время обслуживания кладовщиком запросов первой категории равно 390 с., среднее время обслуживания кладовщиком запросов второй категории равно 100 с., общее время работы кладовой равно 28 800 с. (8 часов).

Определим переменные математической модели:

Tpost1 — среднее время поступления запросов первой категории;

Tpost2 — среднее время поступления запросов второй категории;

Tobs1 — среднее время обслуживания запросов первой категории;

Tobs2 — среднее время обслуживания запросов второй категории;

T — общее время работы кладовой;

Tprost1 — время простоя кладовщика при поступлении одного запроса первой категории;

Tprost2 — время простоя кладовщика при поступлении одного запроса второй категории;

Рисунок 5 — Блок-диаграмма модели процесса функционирования кладовой

программа имитационный моделирование кладовая

Kol1 — общее количество поступивших запросов первой категории;

Kol2 — общее количество поступивших запросов второй категории;

Tsumprost1 — общее время простоя кладовщика при поступлении запроса первой категории;

Tsumprost2 — общее время простоя кладовщика при поступлении запроса второй категории;

Tsumrab1 — общее время работы кладовщика без простоев для запросов первой категории;

Tsumrab2 — общее время работы кладовщика без простоев для запросов второй категории;

K1 — коэффициент загрузки кладовщика для запросов первой категории;

K2 — коэффициент загрузки кладовщика для запросов второй категории.

Введем исходные данные:

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

Теперь определим количество поступивших запросов первой и второй категории за 8 часов работы.

Определим время простоя кладовщика при поступлении всех запросов первой и второй категории (работа в течении 8 часов).

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

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

Таким образом, коэффициенты загрузки кладовщика при выполнении запросов первой и второй категории равны 0. 929 и 0. 278 соответственно. Потери от простоев, при ожидании запросов первой категории равны 171. 429 условных единиц, второй категории — 1733 условные единицы. Общие потери от простоев равны 1905 условных единиц.

1.8 Описание машинной программы решения задачи

Система GPSS (General Purpose System Simulator) предназначена для написания имитационных моделей систем с дискретными событиями. Наиболее удобно в системе GPSS описываются модели систем массового обслуживания, для которых характерны относительно простые правила функционирования составляющих их элементов.

Несколько часов, недель или лет работы исследуемой системы могут быть промоделированы на ЭВМ за несколько минут. Вот почему для выполнения курсового проекта был выбран язык имитационного моделирования GPSS.

Листинг программы и его описание приведены в Приложении 1.

1. 9 Результаты моделирования и их анализ

Следующий этап моделирования — получение и интерпретация результатов исследования, когда инструментальная ПЭВМ используется для проведения рабочих расчётов по составленной и отлаженной программе. Результаты этих расчётов позволяют провести анализ и сформулировать выводы о характеристиках процесса функционирования моделируемой системы. При реализации моделирующих алгоритмов на ПЭВМ вырабатывается информация о состояниях процесса функционирования исследуемой системы, которая является исходным материалом для приближённой оценки искомых характеристик, получаемых в результате имитационного эксперимента с моделью.

Отчёт, сгенерированный программой, приведен в Приложении 2.

Рассмотрим подробно сгенерированный программой отчёт.

START TIME END TIME BLOCKS FACILITIES STORAGES

0. 000 28 800. 000 16 2 0

Из данной части отчета можно узнать:

1. Модельное время начала (START TIME) — 0;

2. Модельное время окончания (END TIME) прогона — 28 800. 000;

3. Количество блоков в модели (BLOCKS) — 16;

4. Количество устройств (FACILITIES) — 2;

5. Количество накопителей (STORAGES) — 0;

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 68 0 0

2 QUEUE 68 2 0

3 SEIZE 66 0 0

4 DEPART 66 0 0

5 ADVANCE 66 1 0

6 RELEASE 65 0 0

7 TERMINATE 65 0 0

8 GENERATE 83 0 0

9 QUEUE 83 0 0

10 SEIZE 83 0 0

11 DEPART 83 0 0

12 ADVANCE 83 0 0

13 RELEASE 83 0 0

14 TERMINATE 83 0 0

15 GENERATE 1 0 0

16 TERMINATE 1 0 0

В этой части отчета показано количество вхождений запросов в каждый блок модели. Из него можно судить, что было сгенерировано 68 запросов первой категории и 83 запроса второй категории. В первую очередь вошло 68 запросов, а вышло 65. Во вторую очередь вошло и вышло 83 запроса.

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

STORE1 66 0. 908 387. 634 1 146 0 0 0 2

STORE2 83 0. 291 100. 860 1 0 0 0 0 0

Здесь показана информация об устройствах STORE1 и STORE2, а именно:

1. Количество вхождений в блоки (ENTERIES) — 66 и 83 соответственно для STORE1 и STORE2;

2. Коэффициенты использования (UTIL.) — 0. 908 и 0. 291 соответственно для STORE1 и STORE2;

3. Среднее время на одну обработку (AVE. TIME) — 387. 634 и 100. 860 соответственно для STORE1 и STORE2;

4. Количество отказов (RETRY) — 0 и 0 соответственно для STORE1 и STORE2;.

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

STORE1 6 2 68 16 1. 190 503. 918 658. 969 0

STORE2 1 0 83 82 0. 000 0. 000 0. 013 0

В данной части отчета содержится информация об очередях, используемых в системе, а именно:

1. Максимальное количество запросов в очередях (MAX) — 1 и 6 соответственно для STORE1 и STORE2;

2. Среднее количество запросов в очередях (CONT.) — 2 и 0 соответственно для STORE1 и STORE2;

3. Количество вошедших запросов (ENTRY.) — 68 и 83 соответственно для STORE1 и STORE2

4. Среднее время ожидания одного запроса (AVE. TIME) — 503. 918 и 0 соответственно для STORE1 и STORE2;

5. Количество отказов (RETRY) — 0 и 0 соответственно для STORE1 и STORE2.

1. 10 Сравнение результатов имитационного моделирования и аналитического расчета характеристик

Сравнения результатов имитационного моделирования и аналитического расчета характеристик показало, что результаты, полученные с помощью этих двух методов, приблизительно совпадают. Небольшие расхождения в результатах наблюдаются из-за того, что при моделировании в GPSS показатели времени поступления и обслуживания запросов варьируются в пределах заданных диапазонов, а в аналитическом расчёте мы всегда брали среднее значение времени.

Аналитический расчёт коэффициентов загрузки кладовщика при выполнении запросов первой и второй категории показал, что они равны 0. 929 и 0. 278 соответственно.

Эти показатели подтверждается результатами имитационного моделирования:

FACILITY UTIL.

STORE1 0. 908

STORE2 0. 291

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

1. 11 Возможные улучшения в работе системы

Из отчета работы программы видно, что система функционирует не очень эффективно, так как при выполнении запросов второй категории кладовщик простаивает большую часть времени (71%), а часть запросов первой категории не успевает обслужиться (приходит 68, а уходит только 65).

Для увеличения эффективности системы часть запросов первой категории будем перемещать на обработку вместе с запросами второй категории. Такое перемещение запросов будет происходить с вероятностью в 40%. Листинг улучшенной программы представлен в Приложении 3, а отчёт о её выполнении — в Приложении 4.

Сравнивая полученные результаты можно сказать, что при повторном моделировании:

1. Коэффициенты загрузки кладовщика при обслуживании запросов первой и второй категории приблизились друг к другу (0. 549 и 0. 360 при обслуживании запросов первой и второй категории соответственно).

2. Все поступившие запросы обслуживаются кладовщиком.

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

ЗАКЛЮЧЕНИЕ

В ходе выполнения курсовой работы поставленная задача была полностью выполнена. При выполнении курсовой работы были закреплены знания по математическим методам и программным средствам системного моделирования. Выполнение курсовой работы сопутствовало развитию практических навыков комплексного решения задач исследования и проектирования систем на современных ЭВМ.

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

Время выполнения разработанной программы не превышает нескольких секунд. Требуемый объём памяти ЭВМ также мал. Объём программы составляет 11 Кб, а при исполнении в большинстве случаев программа занимает порядка 4 Мб оперативной памяти ЭВМ.

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

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

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

2. Советов Б. Я., Яковлев С. А. Моделирование систем. Практикум: Учеб. пособие для вузов по спец. «Автоматизированные системы обработки информации и управления». — М.: Высш. шк., 2005. — 224 с.: ил.

3. Колбанев М. О., Яковлев С. А. Модели и методы оценки характеристик обработки информации в интеллектуальных сетях связи. — СПб.: Изд-во Госуниверситета., 2002. — 221 с.: ил.

4. Швецов А. Н., Яковлев С. А. Распределённые интеллектуальные информационные системы. — СПб.: Изд-во Госуниверситета., 2003. — 275 с.: ил

ПРИЛОЖЕНИЕ 1

Листинг программы

10 SIMULATE//начало моделирования

20 GENERATE 420,360//генерация запросов 1-й категории

30 QUEUE STORE1//создание 1-ой очереди к кладовщику

40 SEIZE STORE1//занятие 1-ой очереди к кладовщику

50 DEPART STORE1//выход запросов из 1-ой очереди

60 ADVANCE 390,90//обслуживание запросов 1-й категории

70 RELEASE STORE1//освобождение 1-ой очереди к кладовщику

80 TERMINATE//выход запроса 1-й категории из системы

90 GENERATE 360,240//генерация запросов 2-й категории

100 QUEUE STORE2//создание 2-ой очереди к кладовщику

110 SEIZE STORE2//занятие 2-ой очереди к кладовщику

120 DEPART STORE2//выход запросов из 2-ой очереди

130 ADVANCE 100,30//обслуживание запросов 2-й категории

140 RELEASE STORE2//освобождение 2-ой очереди к кладовщику

150 TERMINATE //выход запроса 2-й категории из системы

160 GENERATE 28 800//моделирование в течении 8 часов

170 TERMINATE 1//окончание моделирования

180 START 1//количество прогонов модели

ПРИЛОЖЕНИЕ 2

Отчёт программы

GPSS World Simulation Report — 1. 13. 1

Sunday, June 19, 2011 23: 40:54

START TIME END TIME BLOCKS FACILITIES STORAGES

0. 000 28 800. 000 16 2 0

NAME VALUE

STORE1 10 001. 000

STORE2 10 000. 000

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 68 0 0

2 QUEUE 68 2 0

3 SEIZE 66 0 0

4 DEPART 66 0 0

5 ADVANCE 66 1 0

6 RELEASE 65 0 0

7 TERMINATE 65 0 0

8 GENERATE 83 0 0

9 QUEUE 83 0 0

10 SEIZE 83 0 0

11 DEPART 83 0 0

12 ADVANCE 83 0 0

13 RELEASE 83 0 0

14 TERMINATE 83 0 0

15 GENERATE 1 0 0

16 TERMINATE 1 0 0

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

STORE1 66 0. 908 387. 634 1 146 0 0 0 2

STORE2 83 0. 291 100. 860 1 0 0 0 0 0

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

STORE1 6 2 68 16 1. 190 503. 918 658. 969 0

STORE2 1 0 83 82 0. 000 0. 000 0. 013 0

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

146 0 28 983. 393 146 5 6

153 0 28 998. 657 153 0 8

154 0 29 173. 892 154 0 1

155 0 57 600. 000 155 0 15

ПРИЛОЖЕНИЕ 3

Листинг улучшенной программы

10 SIMULATE //начало моделирования

20GENERATE 420,360 //генерация запросов 1-й категории

25 TRANSFER. 400, REDIR//перенаправление части запросов

30 QUEUE STORE1 //создание 1-ой очереди к кладовщику

40 SEIZE STORE1 //занятие 1-ой очереди к кладовщику

50 DEPART STORE1 //выход запросов из 1-ой очереди

60 ADVANCE 390,90 //обслуживание запросов 1-й категории

70 RELEASE STORE1 //освобождение 1-ой очереди к кладовщику

80 TERMINATE //выход запроса 1-й категории из системы

90 GENERATE 360,240 //генерация запросов 2-й категории

100 REDIR QUEUE STORE2 //создание 2-ой очереди к кладовщику

110SEIZE STORE2 //занятие 2-ой очереди к кладовщику

120 DEPART STORE2 //выход запросов из 2-ой очереди

130ADVANCE 100,30 //обслуживание запросов 2-й категории

140 RELEASE STORE2 //освобождение 2-ой очереди к кладовщику

150 TERMINATE //выход запроса 2-й категории из системы

160 GENERATE 28 800 //моделирование в течении 8 часов

170 TERMINATE 1 //окончание моделирования

180 START 1 //количество прогонов модели

ПРИЛОЖЕНИЕ 4

Отчёт улучшенной программы

GPSS World Simulation Report — 1. 17. 1

Monday, June 20, 2011 01: 20:00

START TIME END TIME BLOCKS FACILITIES STORAGES

0. 000 28 800. 000 17 2 0

NAME VALUE

REDIR 10. 000

STORE1 10 001. 000

STORE2 10 000. 000

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 64 0 0

2 TRANSFER 64 0 0

3 QUEUE 41 0 0

4 SEIZE 41 0 0

5 DEPART 41 0 0

6 ADVANCE 41 0 0

7 RELEASE 41 0 0

8 TERMINATE 41 0 0

9 GENERATE 81 0 0

REDIR 10 QUEUE 104 0 0

11 SEIZE 104 0 0

12 DEPART 104 0 0

13 ADVANCE 104 0 0

14 RELEASE 104 0 0

15 TERMINATE 104 0 0

16 GENERATE 1 0 0

17 TERMINATE 1 0 0

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

STORE1 41 0. 549 385. 394 1 0 0 0 0 0

STORE2 104 0. 360 99. 822 1 0 0 0 0 0

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

STORE1 2 0 41 31 0. 061 43. 148 176. 908 0

STORE2 2 0 104 87 0. 030 8. 170 49. 980 0

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

148 0 28 922. 652 148 0 9

147 0 28 923. 603 147 0 1

149 0 57 600. 000 149 0 16

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