Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

мод сис / V.Boev-GPSSvsAnyLogic

.pdf
Скачиваний:
97
Добавлен:
11.04.2015
Размер:
9.01 Mб
Скачать

По результатам контроля некоторые изделия будут признаны браком. Для отбраковки воспользуйтесь элементом selectOutPut.

1.Перетащите элементы queue, delay и selectOutPut на прямоугольник с Пункты приема изделий диаграммы класса Main.

2.Разместите и соедините их согласно рис. 6.12.

3.Выделите элемент queue и установите на странице Основ-

ные панели Свойства:

Имя: очерПрием

Класс заявки: Product

Максимальная вместимость Установите флажок

4. Выделите элемент delay и установите его свойства:

Класс заявки: Product Задержка задается Явно

Время задержки exponential( 1/timePriemIzd )

Вместимость kolPunPriem

Действие при выходе kolPriemIzd++; costPriemkiIzd += stPriemIzd; entity.cost += stPriemIzd;

5. Выделите элемент selectOutPut и установите его свойства:

Класс заявки: Product

Выход true выбирается С заданной вероятностью

Вероятность[0..1] 1-procBrakPriem

Действие при выходе (false) entity.sign1 = 2; brakPriemIzd++;

Код свойства Действие при выходе элемента delay введен для счета количества kolPriemIzd принятых всего изделий.

Код свойства Действие при выходе (false) элемента selectOutPut считает количество brakPriemIzd забракованных изделий и полю entity.sign1 присваивает 2 — признак брака в изделии.

6.2.4.6. Имитация склада готовых изделий

Для имитации склада готовых изделий используйте элемент sink со следующими свойствами:

Имя: ГотИзделия

Класс заявки: Product

Действие при выходе kolGotIzd++;

321

timeIzd = time()/kolGotIzd; costGotIzd += entity.cost; minCostGotIzd+=minCostIzd; koefIncrCostIzd =

(costGotIzd+costBrakBlock)/minCostGotIzd; ostGotBlock1 = gotBlock1 - kolGotIzd - zamBlock1; ostGotBlock2 = gotBlock2 - kolGotIzd - zamBlock2; ostGotBlock3 = gotBlock3 - kolGotIzd - zamBlock3; ostGotBlock4 = gotBlock4 - kolGotIzd - zamBlock4;

Код свойства Действие при выходе введен для счѐта количества kolGotIzd готовых изделий, их стоимости costGotIzd и коэффициента koefIncrCostIzd увеличения себестоимости изделия вследствие наличия брака.

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

6.2.4.7. Имитация склада бракованных блоков

Ранее (см. п. 6.2.4.2) для имитации склада бракованных блоков было рекомендовано использовать один блок sink.

Предположим, что требуется вести раздельный учѐт забракованных блоков на постах контроля цехов и забракованных на стендах контроля и пунктах приѐма изделий. Для разделения потока брака дополнительному полю entity.sign1 присваивались признаки 1 или 2.

1.Перетащите объекты selectOutput и sink на прямоугольник

сименем Склад бракованных блоков диаграммы класса Main.

2.Разместите и соедините их согласно рис. 6.12.

3.Поочередно выделите объекты имитации склада бракованных блоков, начиная с объекта selectOutput, и установите свойства согласно табл. 6.8.

Коды в свойстве Действие при выходе обоих объектов sink одинаковые. Они предназначены для счѐта:

стоимости costzbrakBlock забракованных блоков не по типам, а в целом всех блоков;

количества забракованных блоков по типам allBrakBlock1… allBrakBlock4.

4. Из палитры Картинки перетащите на сегменты имитации складов готовых изделий и бракованных блоков картинки Склад.

322

Таблица 6.8

Свойства

Значение

 

 

 

selectOutput

 

 

Класс заявки:

Product

Выход true выбирается

При выполнении условия

Условие

entity.sign1 == 1

 

sink

 

 

Имя

БрПостКонтр

Класс заявки:

Product

Действие при выходе

if (entity.numBlBrak1 == 1)

 

{costBrakBlock += costBlock1;

 

allBrakBlock1++;}

 

if (entity.numBlBrak2 == 1)

 

{costBrakBlock += costBlock2 ;

 

allBrakBlock2++;}

 

if (entity.numBlBrak3 == 1)

 

{costBrakBlock += costBlock3;

 

allBrakBlock3++;}

 

if (entity.numBlBrak4 == 1)

 

{costBrakBlock += costBlock4;

 

allBrakBlock4++;}

Имя

БрБлЗам

Класс заявки:

Product

Действие при выходе

if (entity.numBlBrak1 == 1)

 

{costBrakBlock += costBlock1;

 

allBrakBlock1++;}

 

if (entity.numBlBrak2 == 1)

 

{costBrakBlock += costBlock2;

 

allBrakBlock2++;}

 

if (entity.numBlBrak3 == 1)

 

{costBrakBlock += costBlock3;

 

allBrakBlock3++;}

 

if (entity.numBlBrak4 == 1)

 

{costBrakBlock += costBlock4;

 

allBrakBlock4++;}

Замечание. Можно обойтись и одним объектом sink для имитации склада бракованных блоков. Для этого нужно оба кода (см. табл. 6.8) занести в его свойство Действие при выходе.

В начало первого кода добавить: if (entity.sign1 == 1)

323

{ код для БрПостКонтр }

а во второго

if (entity.sign1 == 2) { код для БрБлЗам }

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

6.2.4.8. Организация переключения между областями просмотра

Добавьте свои собственные элементы презентации на ранее созданные области просмотра Mainview, Data, Result, Kont1 и Sbor, щелчком на которых будет производиться переход к той или иной области просмотра. Сделайте так, чтобы из любой области можно было переходить в любую другую область.

Для этого разместите на каждой области просмотра элементы презентации, показанные на рис. 6.13.

Рис. 6.13. Элементы презентации для переключения

Начните с области просмотра Mainview.

1. В Палитре выделите Презентация. Перетащите элемент text на область просмотра Mainview, разместите и введите в поле Текст: Предприятие (рис. 6.13). На странице Основные панели Свойства установите в поле Цвет: black, а также выберите выравнивание текста и шрифт.

2. Перетащите второй элемент text, разместите и введите в поле Текст: Посты контроля блоков. На странице Основ-

ные панели Свойства установите в поле Цвет: blue, а также выберите выравнивание текста и шрифт. На панели Свойства выде-

лите Динамические и в поле Действие по щелчку: введите код: test.Kontr1.navigateTo();

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

324

3. Перетащите третий элемент text, разместите и введите

вполе Текст: Пункты сборки изделий. На панели Свойства

выделите Динамические и в поле Действие по щелчку: введите: sborka.Sbor.navigateTo();

4.Перетащите четвертый элемент text, разместите и введите

вполе Текст: Исходные данные. На панели Свойства выдели-

те Динамические и в поле Действие по щелчку: введите:

Data.navigateTo();

5. Перетащите пятый

элемент text, разместите и введите

в поле Текст: Результаты

моделирования. На панели Свой-

ства выделите Динамические и в поле Действие по щелчку:

введите: Result.navigateTo();

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

1.Скопируйте элементы презентации так, как они показаны на рис. 6.13.

2.Последовательно переходите на остальные области просмотра, вставьте скопированные элементы презентации и внесите правки в их свойства согласно табл. 6.9.

Построение модели для проведения простого эксперимента завершено. Теперь отладьте модель и проведите эксперимент.

Замечание. При каждом запуске модели результаты будут повторяться, если в модели используются только распределения и случайные функции из AnyLogic. Например, если вместо функции uniform(1) использовать функцию random(), которая является функцией Java, то результаты моделирования воспроизводиться не будут.

325

 

 

 

 

Таблица 6.9

 

 

 

 

 

Элемент презентации

 

 

Действие по щелчку

 

 

 

 

Data

Предприятие

 

 

Mainview.navigateTo();

Посты контроля блоков

 

 

test.Kontr1.navigateTo();

Пункты сборки изделий

 

 

sborka.Sbor.navigateTo();

Исходные данные

 

 

 

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

 

 

Result.navigateTo();

 

 

 

 

Result

Предприятие

 

 

Mainview.navigateTo();

Посты контроля блоков

 

 

test.Kontr1.navigateTo();

Пункты сборки изделий

 

 

sborka.Sbor.navigateTo();

Исходные данные

 

 

Data.navigateTo();

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

 

 

 

 

 

 

 

Kontrol

Предприятие

 

get_Main().Mainview.navigateTo();

Посты контроля блоков

 

get_Main().sborka.Sbor.navigateTo();

Пункты сборки изделий

 

 

get_Main().Data.navigateTo();

Исходные данные

 

 

get_Main().Result.navigateTo();

Результаты моделирова-

 

 

 

 

 

ния

 

 

 

 

 

 

 

 

Sbor

Предприятие

 

get_Main().Mainview.navigateTo();

Посты контроля блоков

 

get_Main().test.Kontr1.navigateTo();

Пункты сборки изделий

 

get_Main().Data.navigateTo();

Исходные данные

 

 

 

 

 

Результаты моделирова-

 

get_Main().Result.navigateTo();

ния

 

 

 

 

 

6.3. Сравнительная оценка результатов моделирования

Мы провели эксперименты с моделями, выполнив в GPSS World 1 000 прогонов, а в AnyLogic увеличив модельное время в 1 000 раз. При этом начальное значение генераторов случайных чисел устанавливали произвольным образом, но одно и тоже согласно табл. 6.10 и 6.11.

Эксперименты проводились при времени работы предприятия 40 часов (2400 единиц модельного времени) и при времени работы предприятия 80 часов (4800 единиц модельного времени).

Результаты экспериментов приведены в виде различных показателей функционирования предприятия в табл. 6.10 и 6.11 соответственно.

326

Таблица 6.10

Показатели функционирования предприятия

 

 

 

Системы моделирования

 

 

Показатели

 

GPSS World

 

 

 

 

AnyLogic

 

 

Начальные числа генераторов случайных чисел

 

 

 

 

 

27

339

7456

82874

 

27

 

339

7456

82874

Время работы 40 часов — 2400 единиц модельного времени

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Количество готовых изделий

121,884

122,140

121,439

122,242

 

122,068

 

122,337

121,288

121,867

 

 

 

 

1

0,803

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Стоимость готовых изделий

74569

74743

74332

74798

 

74946

 

75,151

74487

74831

Минимальная стоимость изделий

70936

71085

70677

71144

 

71043

 

71200

70589

70926

 

 

 

 

2

611

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Стоимость забракованных блоков

3106

3099

3091

3099

 

3080

 

3122

3067

3086

Коэффициент увеличения стоимости

1,095

1,095

1,095

1,095

 

1,098

 

1,099

1,099

1,099

 

 

 

 

3

0, 004

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Время изготовления изделия, мин

19,691

19,650

19,763

19,633

 

19,661

 

19,618

19,787

19,694

Коэффициент использования ПК1

0,316

0,316

0,315

0,316

 

0,318

 

0,316

0,313

0,315

Коэффициент использования ПК2

0,727

0,731

0,726

0,728

 

0,724

 

0,728

0,731

0,730

Коэффициент использования ПК3

0,703

0,700

0,700

0,705

 

0,697

 

0,699

0,699

0,701

Коэффициент использования ПК4

0,470

0,473

0,472

0,471

 

0,473

 

0,474

0,470

0,471

Коэффициент использования ПС

0,584

0,583

0,578

0,583

 

0,581

 

0,586

0,578

0,584

Коэффициент использования СВК

0,543

0,547

0,544

0,548

 

0,543

 

0,548

0,543

0,545

Коэффициент использования ПП

0,535

0,540

0,538

0,542

 

0,540

 

0,539

0,537

0,538

Примечание: ПК1…ПК4 — пункты контроля блоков 1…4 соответственно; ПС — пункты сборки изделий; СВК — стенды выходного контроля изделий; ПП — пункт приѐмки изделий.

327

Таблица 6.11

Показатели функционирования предприятия

 

 

 

Системы моделирования

 

 

Показатели

 

GPSS World

 

 

 

 

AnyLogic

 

 

Начальные числа генераторов случайных чисел

 

 

 

 

 

27

339

7456

82874

 

27

 

339

7456

82874

Время работы 80 часов — 4800 единиц модельного времени

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Количество готовых изделий

244,071

243,727

243,201

243,460

 

244,043

 

244,900

243,342

243,524

 

 

 

 

1

1, 699

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Стоимость готовых изделий

149328

149147

148838

148,971

 

149928

 

150454

149443

149579

Минимальная стоимость изделий

142049

141849

141542

141,693

 

142033

 

142531

141625

141730

 

 

 

 

2

989

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Стоимость забракованных блоков

6226

6216

6233

6219

 

6186

 

6221

6180

6189

Коэффициент увеличения стоимости

1,095

1,095

1,096

1,095

 

1,099

 

1,099

1,099

1,099

 

 

 

 

3

0, 004

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Время изготовления изделия, мин

19,666

19,694

19,737

19,716

 

19,669

 

19,600

19,725

19,710

Коэффициент использования ПК1

0,316

0,316

0,316

0,315

 

0,316

 

0,316

0,314

0,315

Коэффициент использования ПК2

0,728

0,727

0,727

0,727

 

0,725

 

0,728

0,728

0,730

Коэффициент использования ПК3

0,702

0,699

0,701

0,701

 

0,699

 

0,699

0,700

0,702

Коэффициент использования ПК4

0,472

0,472

0,471

0,473

 

0,471

 

0,473

0,470

0,471

Коэффициент использования ПС

0,585

0,582

0,580

0,580

 

0,582

 

0,585

0,580

0,583

Коэффициент использования СВК

0,545

0,546

0,544

0,546

 

0,544

 

0,547

0,545

0,546

Коэффициент использования ПП

0,536

0,538

0,539

0,538

 

0,539

 

0,539

0,537

0,537

328

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

Различие незначительно, например, для коэффициента увеличения стоимости изделия оно составляет 0,003…0,004.

Коэффициенты использования различных подразделений предприятия также отличаются на тысячные доли.

Время изготовления одного изделия практически одно и тоже и равно 19,7 мин.

329

ГЛАВА 7. МОДЕЛЬ ФУНКЦИОНИРОВАНИЯ ТЕРМИНАЛА

7.1.Модель в GPSS World

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

Общий вид терминала показан на рис. 7.1. Территория терминала обозначена A, примыкающая городская территория — B.

1.Автомобиль (транспортное средство), груженный или порожний, попадает в порт по дороге общего пользования C. В случае отсутствия мест на парковке D терминала, дорога становится накопительным буфером (очередь с дисциплиной FIFO).

2.Если имеется свободное место, автомобиль въезжает на парковку, водитель выходит и с документами идет в офис E. Процедура парковки занимает около 2 мин.

3.В офисе водитель дожидается своей очереди на обслуживание у одного из окошек. Дождавшись, он оформляет документы на въезд. Получив их, он возвращается к своему автомобилю. Оформление документов занимает, вместе с ходьбой, около 10 мин. Одновременно на терминал отсылается заявка на обслуживание данного автомобиля.

4.Если ворота F имеют свободную полосу, автомобиль подъезжает на полосу досмотра. Здесь у него проверяют разрешение на въезд и проводят физический досмотр контейнера (пломб, наличия повреждений, отсутствия посторонних лиц и пр.). Досмотр занимает 2 мин.

Рис. 7.1. Схема терминала

330