
- •Содержание
- •1. Содержательная постановка задачи синтеза оптимальных расписаний параллельно-последовательной обслуживающей системы.
- •2. Постановка задачи оптимизации расписаний параллельной системы с задержками поступления заявок
- •3. Редукция задачи оптимизации расписаний параллельной системы в задачу частично-целочисленного линейного программирования
- •4. Бикритериальная упрощенная формулировка задачи синтеза расписаний параллельной системы и алгоритм решения
- •5. Декомпозиционные приближенные алгоритмы оптимизации расписаний параллельной системы с задержками поступления заявок. Жадный алгоритм и бикритериальное приближение.
- •6. Динамическое программирование с отсевом вариантов в оптимизации расписаний параллельной системы с задержками поступления заявок
- •7. Последовательные многостадийные обслуживающие системы. Моделирование на смешанных сетях.
- •8. Модификации метода ветвей и границ оптимизации расписаний последовательных многостадийных обслуживающих систем (jsp)
- •9. Алгоритм неполной декомпозиции задач оптимизации расписаний последовательных обслуживающих систем.
- •10. Многостадийные параллельно-последовательные обслуживающие системы. Подходы к формализации задач управления.
- •11. Декомпозиционный алгоритм оптимизации расписаний многостадийных параллельно-последовательных обслуживающих систем
- •12. Приложение моделей и алгоритмов оптимизации расписаний многостадийных параллельно-последовательных систем.
- •13. Содержательная постановка задачи управления материальными потоками предприятия
- •14. Формальная постановка задачи оптимизации управления входными и выходными материальными потоками
- •15. Задача оптимизации поставок сырья и комплектующих на предприятии. Содержательная постановка.
- •16. Формальная постановка задачи оптимизации поставок
- •17. Определение оптимальных цен продаж в задаче оптимизации управления входными и выходными материальными потоками
- •18. Декомпозиционный алгоритм решения задачи оптимизации поставок
- •19. Программные средства (пс) оптимизации управления входными и выходными материальными потоками предприятия (целиком из монографии)
- •20. Пс оптимизации расписаний последовательных, параллельных и параллельно-последовательных систем
- •21. Имитационное моделирование производственных систем и процессов. Языки, системы им.
- •22. Основные блоки сим Арена и их атрибуты.
- •23. Основные операторы языка gpss.
- •24. Моделирование параллельных систем в сим Арена
- •25. Моделирование последовательных систем в сим Арена.
- •26. Моделирование параллельных систем в gpss world.
- •27 Моделирование последовательных систем в gpss world.
- •28. Среда ibm ilog cplex studio. Назначение, возможности, задачи моделирования, разрешимые и неразрешимые в этой среде.
- •29. Проекты ibm ilog cplex studio, состав, назначение компонент. Основные элементы языка opl.
- •Задача №1.
- •Задача №2. Job Shop
22. Основные блоки сим Арена и их атрибуты.
Имитационная модель компании Systems Modeling включает следующие основные элементы: источники и стоки (Create и Dispose), процессы (Process) и очереди (Queue). Источники – это элементы, от которых в модель поступает информация или объекты. Скорость поступления данных или объектов от источника обычно задается статистической функцией. Сток – это устройство для приёма информации или объектов. Понятие очереди близко к понятию хранилища данных – это место, где объекты ожидают обработки.
Имитационная модель в системе Arena представляет собой граф, узлами которого являются модули. Модули связаны между собой с помощью соединений, по которым между модулями перемещаются транзакты (динамический объект имитационной модели).
Транзакт (entity, в терминах системы Arena) – это динамический объект имитационной модели, который перемещается между статическими узлами модели. Примеры транзактов – деталь, автомобиль, клиент, документ и т.д. В модели может участвовать несколько транзакты разных типов, которые задаются разработчиком модели. Тип транзакта может меняться динамически, например, на каком-то этапе транзакт «машинокомплект» меняет свой тип на «автомобиль». Транзакту соответствует картинка для анимации, с ее помощью можно следить за перемещениями транзактов между модулями и за обработкой транзактов. Характеристики транзактов задаются с помощью атрибутов. Существуют системные атрибуты, установленные по умолчанию. Например, «время существования транзакта» (Total Time), «серийный номер транзакта» (Serial Number), тип транзакта (Entity Type) и т.д. Имеется атрибут «картинка» (Entity Picture), поменяв программно его значение можно изменить визуальное изображение транзакта.
Модуль Create (генератор транзактов) – вводит транзакты в модель. Например, покупатели приходят в магазин, суда прибывают в порт, в службу поддержки поступают звонки и т.д.
Для модуля задаются такие параметры: - название модуля (Name);
- тип поступающего транзакта (Entity type);
- интервал между прибытиями транзакта (Time Interval);
- число транзактов при каждом поступлении (Entities per arrival);
- максимальное число поступлений (Max Arrivals).
Интервал может быть задан как:
- «константа» (Constant). Транзакты поступают в модель строго через равные промежутки времени. Например, деталь поступает на участок обработки строго один раз в минуту.
- «по расписанию» (Schedule). В этом случае следует выбрать расписание. Например, в течение дня у магазина наблюдается разная интенсивность поступления клиентов – в «часы пик» она значительно увеличивается.
- «выражение» (Expression) Указывается функция распределения и ее параметры.
- «случайный» (Random(Expo)). В системах массового обслуживания очень часто встречается пуассоновский поток заявок. При таком потоке интервал времени между появлениями заявок подчиняется экспоненциальному закону распределения. Для отражения этого частого случая и предусмотрена опция «Random (expo)». Можно выбрать ее и задать математическое ожидания интервала. Эта опция введена для удобства. С тем же результатом можно использовать выражение expo(15).
Модуль Dispose (терминатор транзактов) – выводит транзакты из модели (уничтожает транзакты). Например, покупатели после покупки товара, покидают магазин.
Модуль Process (обработка, действие) – моделирует обработку транзактов: обслуживание покупателей продавцом, разгрузку судна, ремонт телевизора и т.д. Обратим внимание, что с точки зрения имитационной модели «обработка» означает задержку транзакта на определенное время, содержательный смысл этой задержки определяется исследователем. Обработка транзактов может потребовать использования ресурсов. Так, для сверления детали нужен соответствующий станок, для обслуживания покупателя – продавец и т.п.
Process |
Данный модуль (в дословном переводе “процесс”) является модулем основной обработки объекта. В модуле определяются типы размещения и вывода ресурсов для обработки, тип отображения времени и стоимости обработки на объектах и, наконец, есть возможность определять иерархию процесса путём создания вложенной модели (субмодели). Типичное использование модуля:
|
|
Name |
Process 1 |
Имя (уникальный идентификатор) модуля. Автоматически имя генерируется по форме “Название_модуля №_модуля”. Arena позволяет задавать любые имена модулей. |
Type |
Standard |
Тип определения логики в пределах модуля. Существует два таких типа:
При выборе типа Submodel активным остаётся лишь поле Report Statistics. Для определения логики вложенной модели следует кликнуть правой кнопкой мыши на изображении соответствующего блока Process и выбрать команду Edit Submodel, а для выхода из вложенного модуля на уровень выше – кликнуть правой кнопкой мыши на рабочей области субмодели и выбрать Close Submodel. |
Action |
Delay |
Action – параметр, от которого зависит логика модуля (вместе с параметрами Priority и Resources он составляет поле Logic).
Action – это тип обработки, которая происходит в пределах модуля. Arena предлагает 4 таких типа:
Priority – параметр, указывающий значение приоритета, которое используется, если в модели одновременно находятся объекты, ожидающие одинаковый ресурс. Может принимать значения High(1), Medium(2) и Low(3) – т.е. высокий(1), средний(2) и низкий(3) приоритет. (Не используется при выборе типов Delay и Delay Release.)
Resources – лист ресурсов и ресурсных наборов, используемых для обработки объектов. (Не используется при выборе типа Delay.) Значения устанавливаются в одноимённом окне после нажатия кнопки Add (соответственно, редактируются и удаляются кнопками Edit и Delete). Окно Resources содержит определяющее поле Type (тип), которое имеет два значения – Resource (ресурс) и Set (набор ресурсов). При выборе Resource необходимо заполнить следующие поля:
При выборе Set заполняются поля:
Save Attribute – указывается имя атрибута, который будет хранить индексный номер выбранного для использования ресурса. Этот атрибут далее может использоваться в качестве индекса (в поле Set Index) при использовании в каком-либо (но работающем после) модуле правила Specific Member.
Надо сказать, что зачастую после указания ресурсов и их наборов, их необходимо редактировать в соответствующих модулях Resources и Set. |
Delay Type |
Triangular |
Тип распределения (или метод определения) значений задержки объектов в процессе обработки. В выпадающем списке данного поля представлено пять значений:
|
Units |
Hours |
Единицы времени значений задержки. Arena (как уже говорилось выше) позволяет задавать время в секундах (Seconds), минутах (Minutes), часах (Hours) и днях (Days). |
Allocation |
Value Added |
Определяет, как время и стоимость процесса обработки будут отображаться в объектах. Процесс может рассматриваться одним из пяти представленных ниже типов:
Различие между способами Value Added и Non-Value Added состоит в том, что значение Value Added отображается на объекте, а Non-Value Added – нет (т.е., например, если в модели производства продукции понадобилось выяснить время и стоимость процессов механической обработки объектов, то во всех соответствующих модулях следует установить способ Value Added, а во всех остальных – Non-Value Added).
|
Minimum |
.5 |
Назначение данных полей зависит от указанного в поле Delay Type распределения, поэтому их описание находится выше – в описании Delay Type. |
Value |
1 |
|
Maximum |
1.5 |
|
Report Statistics |
yes |
Определение необходимости автоматического сбора статистических данных. (Два значения – yes (подтверждение сбора) и no (отрицание сбора).) |
Модуль ветвления Decide – направляет входящие транзакты по одной из исходящих ветвей в зависимости от условия или случайным образом. Существует два варианта модуля Decide – «По вероятности» (by chance) или по условию (by condition).
В модуле decide может проверяться: - значение переменной (Variable); - значение элемента массива (Variable Array 1D, Variable Array 2D); - значение атрибута транзакта (Attribute); - тип транзакта (Entity Type); - произвольное выражение (expression). Для блока Decide возможно наличие нескольких выходов.
Модуль Assign обеспечивает присвоение значений переменным модели и атрибутам транзакта, проходящего через модуль. Может выполнять сразу несколько присвоений. Кнопками Add, Edit и Delete можно вести список присвоений. При этом открывается специальное окно, где указывается тип присвоения, имя пере- менной или атрибута, присваиваемое значение.
Модуль Batch (в дословном переводе “партия”) представляет собой группировочный механизм в рамках имитационной модели. Партии объектов могут группироваться постоянно или временно. Временные партии в дальнейшем должны быть разбиты с использованием модуля Separate.
Queue (Basic Process) – данный модуль (в дословном переводе “очередь”) может использоваться для изменения правила ранжирования объектов в указанной очереди. По умолчанию для всех очередей устанавливается правило ранжирования First in First Out. В модуле есть специальное поле Shared, которое позволяет определить очередь как разделённую.
Типичное использование модуля:
-
Реализация стека (вместо обычной очереди) ожидания ресурса в модуле Process;
-
Организация выбора из очереди по значению указанного атрибута, например, для документов в модуле Batch.
Record – данный модуль (в дословном переводе “отчёт”) используется для сбора статистических данных в имитационной модели. Для сбора в модуле доступны различные виды статистической информации, включая статистические (стоимостные и временные) показатели объекта, время между прибытиями объектов в модуль, общие наблюдения и т.п.