Полная версия

Главная arrow Информатика arrow ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ СИСТЕМ В СРЕДЕ EXTENDSIM

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>

Инструменты для объединения и разделения потоков заявок (элементов)

Объединение и разделение элементов

При моделировании дискретно-событийных систем часто возникает задача объединения и/или разделения используемых элементов (заявок) и ресурсов. Примером может служить сборка изделия из узлов на производстве, объединение

корабля с буксирами на время швартовки с последующим разделением в порту судна и буксиров, упаковка партии товара в тару для транспортировки и т.п.

Для построения моделей с объединением и/или разделением элементов используются два блока, включенные в библиотеку Item.Их:

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

Unhatch (разделение или разгруппировка) позволяет разъединить один входящий элемент на несколько. В зависимости от настроек, блок может разделять элементы, объединенные ранее, или дублировать входящий элемент в несколько выходящих.

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

Число элементов, необходимых для объединения, называется размером 1руппы (hatch size). Он может быть фиксированным или динамически меняться в зависимости от внешних факторов (например, времени, отведенном на группировку). Также может меняться и назначение объединения элементов: постоянное, когда объединенный элемент является готовым изделием или продуктом, и временное, когда несколько элементов объединены только для совершения какой- нибудь групповой операции. Например, завод изготавливает изделие и упаковывает в коробку с сопроводительной документацией. Затем партия коробок помещается в более крупную тару. В первом случае будет постоянное объединение, так как в таком виде товар поступит в продажу, во втором — тару транспортируют до магазина и расформируют.

В диалоговом окне блока Batch три основные вкладки для настройки параметров работы блока:

  • • вкладка Batch, в которой задается поведение блока (Select block behavior):
  • • опция Batch items into a single item. При установке этой опции создается группа из элементов, поступающих на вход блока. Количество необходимых для формирования группы элементов задается на этой же вкладке в таблице Specify the quantity needed for each batch:
  • • опция Match items into a single item. При установке этой опции входящие элементы группируются в один выходящий с едиными значениями параметров. Опция может применяться, например, при объединении элементов по серийному номеру или номеру заказа. При этом не имеет значения на какой вход поступил элемент.

Во вкладке Batch также доступна таблица Specify the quantity needed for each batch, в которой задается: количество элементов Quantity needed, необходимое по каждой ветке для формирования группы; текущее количество элементов по каждой ветке Quantity in Block: Delay Kit — опция ограничивающая поступление указанных элементов на входной коннектор блока, пока на всех коннекторах не будет достаточного количества элементов для объединения.

• вкладка Options, в которой задаются параметры блока:

^ опция Preserve uniqueness используется для сохранения значений свойств элементов для последующего разделения;

S опция Use quantity input connectors служит для задания размера группы на входах блока. При включении опции рядом с каждым входным коннектором появляется дополнительный входной коннектор (маленький квадратик), в котором отображается текущее количество элементов, поступивших на коннектор. Если дополнительный входной коннектор подключен к какому-либо блоку, например. Lookup Table, то значения для объединения будут считываться с него. В противном случае будут использоваться значения из таблицы вкладки Batch. После включения данной опции, становятся доступны настройки поведения блока при изменении количества элементов для объединения:

^ Dynamically as batch is created — если изменение количества будет выполнено до того, как произошло непосредственное объединение, то количество необходимых элементов будет изменено сразу;

S By first item at each connector — значение количества элементов для объединения не будет изменяться после того, как первый элемент поступил в блок, новые настройки применятся для следующей группы.

  • • опция Show Demand connector позволяет создать группу по требованию или расписанию.
  • • вкладка Properties, в которой задаются свойства объединенного элемента.

Разделение может применяться для элементов, объединенных ранее, или для копирования элементов, которые не были сгруппированы. Может быть использовано в следующих ситуациях:

  • — возвращение ресурсного элемента в блок Resource Item; разделение элементов, которые были временно сгруппированы для того, чтобы они могли быть обработаны одновременно;
  • — создание элементов на основе одного эталонного элемента;
  • — создание логического дублирующего элемента для вызова какого-то действия в модели, в то время как основной физический элемент будет продолжать обрабатываться.

Если до этого элементы были объединены с опцией Preserve uniqueness, доступной в диалоговом окне блока Batch, то их первоначальные значения параметров буду восстановлены (также для этого надо выбрать одноименную опцию в блоке Unbatch). Однако следует быть осторожными при применении блоков, меняющих значения параметров элементов, на пути из блока Batch в блок Unbatch.

Во вкладке Unbatch диалогового окна блока можно задать поведение блока Select block behavior.

  • — опция Create multiple items задана по умолчания. В случае использования параметра стоимости в модели, стоимость распределяется но выходным элементам, как указано в таблице Select how to define property values of outgoing items на вкладке Properties',
  • — опция Release cost resources. Если элемент был объединен с ресурсом, имеющим заданную стоимость, то информация о стоимости сохраняется. При разъединении ресурс будет выдаваться на выходной коннектор, соответствующий входному коннектору блока Batch при его объединении.

Во вкладке Unbatch также доступна таблица Specify the quantity to unbatch, в которой задается количество элементов, передаваемых через каждый выходной коннектор блока при разъединении.

Пример 15. Моделируется процесс сборки изделия из нескольких комплектующих. Запрос на сборку изделия поступает но нормальному закону распределения с параметрами: средний интервал между запросами 1 час, СКО — 0,5 часа. Изделие может быть равновероятно одного из трех типов. В зависимости от типа изделия определяется необходимое количество комплектующих типа А и типа В, а также время сборки (см. табл. 3). Комплектующие типа А и В поступают каждые 10 часов по 20 единиц. Одновременно может собираться по 5 изделий.

Таблица 3. Исходные данные

Тип

изделия

Количество комплектующих типа А

Количество комплектующих типа В

Время сборки

1

0

2

4

2

3

1

5

3

1

3

6

Смоделировать процесс сборки в течение 1000 часов. Определить характеристики очереди запросов на сборку и очередей комплектующих типа А и В и оценить эффективность системы.

Конечный вид модели приведен на рис. 54.

Модель процесса сборки (пример 15)

Рис. 54. Модель процесса сборки (пример 15)

Поясним основные моменты, связанные с разработкой модели.

  • 1. Входной поток запросов описывается блоком Create. Во вкладке Create диалогового окна блока задается опция Create items randomly, закон распределения Normal с параметрами Mean = 1 и Std.Dev = 0,5.
  • 2. Входные потоки комплекгующих Л и В описываются блоками Create. Во вкладке Create диалогового окна блока задается опция Create items by Schedule, указывается в таблице необходимое количество элементов Item Quantity = 20 и включается опция Repeat the schedule every К) hours.
  • 3. В блоке Random Number во вкладке диалогового окна Distributions задается тип заявки: заявка одного из трех типов (1,2,3), тип заявки определяется по равномерному закону Uniform,Integer с параметрами Minimum = 1, Maximum = 3.
  • 4. В блоке Set во вкладке Set Properties диалогового окна задается имя атрибута Request Туре, определяющего тип заявки. Соответственно в блоке Get во вкладке Get Properties диалогового окна выбирается заданное в блоке Set имя атрибута.
  • 5. В блоках Lookup Table задается количество комплектующих Л и В для сборки изделия определенного типа и время сборки. Тип изделия считывается с информационного выходного коннектора блока Get. В диалоговом окне блока Lookup Table во вкладке Table задается таблица, в которой каждому типу изделия соответствует количество комплектующих или время сборки согласно данным табл. 3.
  • 6. В блоке Batch во вкладке Batch диалогового окна в таблице задается необходимое количество Quantity Needed = 1 элементов для сборки но верхней ветке, соответствующее запросу на сборку. Количество комплектующих А и В для сборки считывается с дополнительных входных коннекторов блока (маленькие квадратики), соединенных с выходами соответствующих блоков Lookup Table.
  • 7. В блоке Activity во вкладке Process диалогового окна задастся опция from the «D» connector, в результате чего время сборки изделия считывается с информационного коннектора D блока, связанного с выходом блока Lookup Table. Также задается максимальное количество одновременно собираемых изделий: Maximum items in activity = 5.

На рис. 55 приведен график зависимости длины очереди запросов на сборку от времени.

График изменения длины очереди запросов во времени (пример 15)

Рис. 55. График изменения длины очереди запросов во времени (пример 15)

Очевидно, что очередь запросов в течение моделирования не растет и колеблется около среднего значения равного 3,6 единицы, что можно считать приемлемым результатом. Однако, количество комплектующих избыточно. Средняя длина очереди комплектующих типа А составляет 354,7 единицы, В — 16,3 единицы в конце моделирования. Поэтому, необходимо сократить поступление в систему комплектующих, особенно типа А. Оптимальные параметры работы системы могут быть подобраны путем проведения имитационного эксперимента с моделью системы.

 
<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>