Форум программистов, компьютерный форум CyberForum.ru

AnyLogic

Войти
Регистрация
Восстановить пароль
 
IT_Improver
0 / 0 / 2
Регистрация: 30.03.2015
Сообщений: 14
#1

Возможно ли смоделировать очередь, где условие входа в очередь задаётся логическим выражением? - AnyLogic

06.05.2015, 12:51. Просмотров 575. Ответов 5
Метки нет (Все метки)

Сообщение было отмечено автором темы, экспертом или модератором как ответ
Доброго всем дня!
Моделирую Lean/Kanban, есть такое требование: пользователь должен иметь возможность менять размер очереди (от этого меняются статистические данные и графики в реальном времени).
Проблема в том, что если в очереди 10 агентов, то при уменьшении вместимости (capacity) очереди до 5, все лишние агенты из неё выбрасываются. В Канбан логика несколько иная: агенты должны остаться в очереди, но и новые агенты не должны в очередь попадать, пока там не появится место. Вопрос, как это наиболее оптимально организовать?
Первая идея была сделать очередь с максимальной вместимостью, но задать Условие выбора ресурса, как это можно сделать у Service или у Seize типа queueOccupiedSlots < eueSize.getIntValue().
Пока в голову приходит только сделать костыль, поставив Service перед очередью с 0-й задержкой. Может есть более изящные решения?

Добавлено через 6 минут
C сервисом как-то совсем криво, нужны же ещё ресурсы какие-то фейковые (

Добавлено через 1 час 12 минут
Всё гениальное просто: добавил Hold с этим условием. Одно замечание: при выходе агента из очереди нужно вызывать hold.recalculateConditions();
Прошу прощения за беспокойство
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2015, 12:51     Возможно ли смоделировать очередь, где условие входа в очередь задаётся логическим выражением?
Посмотрите здесь:

PedService и его очередь - AnyLogic
В пешеходной библиотеке есть компонент PedService. Его можно связать с &quot;сервисом с очередями&quot;, чтобы организовать очередь, где как-то...

Очередь при свободном сервисе - AnyLogic
Здравствуйте! Проблема в следующем: есть две параллельные ветки, имитирующие обслуживание авто, выбор одной из веток зависит от занятости...

Очередь (Queue), уход заявки по таймауту - AnyLogic
Посетитель стоит в очереди 30 мин, После чего он покидает столовую. В блоке queue, ставлю разрешить уход по таймауту, а какой командой...

Смоделировать выполнение задач на ЭВМ - AnyLogic
Здравствуйте! Я в моделировании новичок и пока не особо хорошо знаю, как работать с данным ПО. Нужна помощь с реализацией модели. ...

Смоделировать морские перевозки от одного порта к другому порту? - AnyLogic
Всем добрый вечер. Как можно смоделировать морские перевозки от одного порта к другому с добавлением данных, например, по грузообороту? ...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dukalys
Модератор
900 / 903 / 232
Регистрация: 13.02.2012
Сообщений: 2,933
06.05.2015, 12:55     Возможно ли смоделировать очередь, где условие входа в очередь задаётся логическим выражением? #2
Не совсем понятна задача, с кабаном (Lean/Kanban) не знаком.

Очередь переменного размера хорошо! Но причём здесь сервис,не понимаю.

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

Заявки застающие систему с занятой очередью получают отказ? или куда сохраняются.

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

Добавлено через 59 секунд
hold.recalculateConditions();
а что оно делает? У вас условие блокировки стоит? (не ручной режим)
IT_Improver
0 / 0 / 2
Регистрация: 30.03.2015
Сообщений: 14
06.05.2015, 14:53  [ТС]     Возможно ли смоделировать очередь, где условие входа в очередь задаётся логическим выражением? #3
1. Заявки входят в систему с постоянным потоком.
2. Там фишка в том что перед этой очередью есть безлимитная очередь Backlog (особенности доменной области)

Да, взял в итоге Hold
Условие блокировки: queueOccupiedSlots >= queueSize.getIntValue()
где queueOccupiedSlots - переменная хранящая размер очереди (queue.queueSize() почему-то криво работает в условии блокировки Hold)
queueSize - текстовое поле для управления размером очереди.
Dukalys
Модератор
900 / 903 / 232
Регистрация: 13.02.2012
Сообщений: 2,933
06.05.2015, 16:23     Возможно ли смоделировать очередь, где условие входа в очередь задаётся логическим выражением? #4
Если не секрет, какую технологию(и) моделируете?
IT_Improver
0 / 0 / 2
Регистрация: 30.03.2015
Сообщений: 14
06.05.2015, 16:44  [ТС]     Возможно ли смоделировать очередь, где условие входа в очередь задаётся логическим выражением? #5
Моделирую систему обслуживание заявок по правилам Lean/Kanban
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2015, 18:16     Возможно ли смоделировать очередь, где условие входа в очередь задаётся логическим выражением?
Еще ссылки по теме:

Смоделировать очередь с помощью масива - C++
Задачи: 1)Реализовать стек, в описании которого добавлено две переменные EMPTY и FULL вместо функций empty() и full() соответственно....

Две телефонистки на междугородней станции обслуживают общую очередь заказов. Смоделировать процесс - GPSS
Две телефонистки на междугородней станции обслуживают общую очередь заказов. Очередной заказ обслуживает та телефонистка, которая первая...

Очередь сообщений. Не могу поставить в очередь - C Linux
День добрый, стоит задача обмениваться данными между двумя процессами по средствам очереди сообщений, написал вот такой код: #define...

Не могу разобраться с логическим выражением в if - C++
Доброго всем дня, разбираюсь в чужом коде и застрял на этой вот строчке: if(!GetIsCurrentUserHas(OutdorAdminUnitID) &amp;&amp; Value != 0) ...

Что то нето с логическим выражением - C++
Показывает какую то ошибку подскажите где ошибка? #include &quot;stdafx.h&quot; #include &quot;math.h&quot; int _tmain(int argc, _TCHAR* argv) { int...

Как написать формулу с простым логическим выражением - MS Excel
Здравствуйте! Возникла проблема в расчете таблиц. Нужно в ячейки выдавать тескстовое значение,а присваивать &quot;0&quot; для дальнейшего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Dukalys
Модератор
900 / 903 / 232
Регистрация: 13.02.2012
Сообщений: 2,933
06.05.2015, 18:16     Возможно ли смоделировать очередь, где условие входа в очередь задаётся логическим выражением? #6
Немного почитал, мутная какая то вещь А по терминам backlog и другим похоже на сетевые вещи.
Yandex
Объявления
06.05.2015, 18:16     Возможно ли смоделировать очередь, где условие входа в очередь задаётся логическим выражением?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru