Класс активного объекта - Main.




ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ

по дисциплине

«Имитационное моделирование экономических процессов»

на тему:

«Имитационная модель производства гитар »

 

Выполнил:

студент 4 курса 391 группы

Гришкин Даниил Анатольевич

Проверил:

д.т.н., профессор Котов Владимир Владимирович

 

Санкт-Петербург

Оглавление

Введение. 3

Постановка задачи имитационного моделирования. 3

Цель моделирования. 3

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

Построенная модель. 4

Декомпозиция модели и листинг программных кодов. 4

Класс активного объекта - Main. 4

Параметры.. 4

События. 5

Диаграммы состояний. 5

Вложенные объекты.. 6

Соединители. 7

Презентация. 7

Класс Simulation:Main. 7

Интерфейс модели. 8

Интерфейс пользователя. 8

Схема вложенных объектов. 9

Условия моделирования. 9

Входные данные: 9

Выходные данные: 9

План моделирования: 9

Обработка результатов. 11

Вывод. 12

 

 

 

Введение

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

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

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

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

Постановка задачи имитационного моделирования.

Цель моделирования.

Создание модели по производству гитар для расчета времени, необходимого для выполнения плана производства.

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

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

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

 

 

 

 

Построенная модель

Декомпозиция модели и листинг программных кодов.

Модель состоит из 2 классов:

Класс активного объекта - Main.

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

Действие при запуске модели:

Рассчитывается общее количествто рабочих:

WorkItog.setText(2*workersVultBody+workerAssembly+workerPack);

Задается план производства с помощью нормального закона распределения:

(int)Math.round((drob=Math.round(normal(15,300))));

Параметры

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

«TimeAssembly» - является целочисленным (тип int) параметром, который отвечает за среднее время сборки гитары.

«TimePack» - является целочисленным (тип int) параметром, который отвечает за среднее время упаковки гитары.

«TimeProdVultBody» - является целочисленным (тип int) параметром, который отвечает за среднее время производства корпуса гитары и грифа.

«hidbox1-9» - является булевым (тип boolean) параметром, который отвечает за отображение упакованных гитар.

«hiden» - является целочисленным (тип int) параметром, который отвечает за уход продукции со склада.

«intervalTime» - является целочисленным (тип int) параметром, который отвечает за отправление материалов в производственные цеха.

«kol» - является целочисленным (тип int) параметром, который отвечает за производственный план.

«p1» - является булевым (тип boolean) параметром, который отвечает за распределение материалов по производственным цехам.

«people1-5» - является булевым (тип boolean) параметром, который отвечает за отображение рабочих на модели.

«workerAssembly» - является целочисленным (тип int) параметром, который отвечает за количество рабочих в цехе сборки.

«workerPack» - является целочисленным (тип int) параметром, который отвечает за количество рабочих в отделе упаковки.

«workersVultBody» - является целочисленным (тип int) параметром, который отвечает за количество рабочих в производственных цехах.

События

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

«CalcTime» - событие, которое срабатывает, когда завершит работу последний отдел. Данное событие рассчитывает итоговое время выполнения плана. Действие:

timeBox.setText(format(getTime()/3600));

«CountPeople» - событие, необходимое для расчета общего количества рабочих.

WorkItog.setText(2*workersVultBody+workerAssembly+workerPack);

Диаграммы состояний

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

 

       
 
   
 

 


Вложенные объекты

Активные объекты могут содержать вложенные объекты – экземпляры других классов активных объектов – причем уровень вложенности может быть любым. Создавая вложенные объекты, формируется иерархия модели.

«sourceWood» - (тип Source) создает заявки. Обычно используется в качестве начальной точки потока заявок.

«woodsvulture» и «woodsbody» - (тип Queue) объект Queue моделирует очередь заявок, ожидающих приема объектами, следующими за данным в потоковой диаграмме, или же хранилище заявок общего назначения.

«moveWoodByVult», «moveWoodByBody», «moveBody», «moveVult» и «moveToPackaging» - (тип Conveyor) объект моделирует конвейер. Перемещает заявки по пути заданной длины с заданной скоростью (одинаковой для всех заявок), сохраняя их порядок и оставляя заданные промежутки между ними.

«Bodier», «Volter», «Packer» и «Assemblier» - (тип ResourcePool) задает набор ресурсов, которые могут захватываться и освобождаться заявками.

«departmentAssembly», «departmentVultBody» и «departmentVult» - (тип Assembler) этот блок позволяет осуществить сборку одной новой заявки из определенного числа заявок, пришедших из различных источников (до 5). Он может быть использован, например, для объединения различных этапов работы. Класс новой заявки, так же как и ее инициализация, определяется пользователем. Число заявок, которые должны поступить на каждый отдельно взятый порт для того, чтобы могла быть создана одна новая заявка, задается с помощью параметров объекта (Количество 1, Количество 2, и т.д.). Поступившие заявки ожидают поступления всех необходимых для сборки заявок. Как только новая заявка может быть собрана, начинается операция сборки. Время сборки задается в параметре Время задержки.

«departmentPack» - (тип Service) захватывает для заявки заданное количество ресурсов, задерживает заявку, а затем освобождает захваченные ею ресурсы (заданных указанным объектом ResourcePool).

«selectOutput» - (тип selectOutput) объект направляет входящие заявки в один из двух выходных портов в зависимости от выполнения заданного (детерминистического или заданного с помощью вероятностей) условия. Условие может зависеть как от заявки, так и от каких-то внешних факторов. Поступившая заявка покидает объект в тот же момент времени.

«moveOnTrack » - (тип Batch) Объект Batch преобразует заданное количество поступающих в объект заявок в одну заявку-партию. Этот объект содержит внутри очередь (объект типа Queue), в которой хранятся входящие заявки. При накоплении количества заявок, равного заданному Размеру партии, создается одна новая заявка (заявка-партия), которая мгновенно покидает объект.

«sink» - (тип Sink) уничтожает поступившие заявки. Обычно используется в качестве конечной точки потока заявок. Для того, чтобы заявки удалялись из модели и уничтожались, нужно соединить выходной порт последнего блока процессной диаграммы с портом объекта Sink или Exit.

 

 

Соединители

Используются для связывания вложенных объектов.

Презентация

Презентации моделей в AnyLogic связаны с компонентами модели – активными объектами – и повторяют иерархическую структуру объектов в модели.

В этом разделе объединены все элементы презентации, которые будут отображаться во время выполнения модели («wood», «vult», «body» и т.д. – изображения объектов, «polyline» - линии, по котрым будут перемещаться объекты, «box» - картинка упакованной продукции и другие элементы).

 

 

Класс Simulation:Main

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

В этом классе имеются основные элементы управления для презентации модели.

 

Интерфейс модели.

Интерфейс пользователя.

 

 

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: