228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
|
|||||||||||
1 | |||||||||||
SelectOutput равномерное просеивание потока на delay12.05.2018, 14:03. Показов 4201. Ответов 5
Метки нет (Все метки)
Добрый день!
ПОмогите разобраться в работе модели. Смысл в том, что из очереди агенты направляются на два блока delay без всяких вероятностей, т.е. если блок свободен, отправляем на него, если оба заняты, ждем пока какой-нибудь освободится. Задержка в обоих delay одинакова. Если установить задержку в 100 единиц (1 рисунок), то модель отрабатывает нормально. Но если установить задержку uniform(98, 102) (второй рисунок), то первый блок delay после освобождения не сразу получает нового агента (очередь не выпускает агента и триггер сбивает второй delay), следовательно идет простой и растет очередь. WaySecond - триггер выбора пути. Он переключается при выходе из блоков delay
Прикрепляю два проекта. Этот и другой, с использованием wait вместо queue. В обоих некорректная работа в одном и том же месте.
0
|
12.05.2018, 14:03 | |
Ответы с готовыми решениями:
5
Просеивание чисел Объект selectOutput Счетчик заявок на selectOutput Блок selectoutput в Anylogic |
76 / 73 / 24
Регистрация: 11.10.2017
Сообщений: 216
|
|
13.05.2018, 04:15 | 2 |
В чём именно проблема? Вас смущает, что при разных распределениях вы наблюдаете различные пропорции размещения агентов по блокам или же вы видите конкретные ошибки при перемещении агентов?
Тот факт, что пропорции проходящих через блоки агентов отличаются при разных распределениях - это нормально. 100 - это не сто. Это среднее арифметическое экспоненциального распределения. Вот я вам сгенерирую 25 случайных экспонент со средним арифметическим равным 100: Код
145.887521 44.190686 157.803339 51.577341 8.710674 70.142741 123.093233 207.698723 98.720803 75.186715 116.476814 241.128438 51.507957 7.229545 22.120440 136.174113 226.501213 49.433644 27.716548 201.096543 14.969136 136.137894 39.094517 52.754712 33.154667 А вот 25 случайных величин равномерного распределения (98, 102): Код
98.12290 99.33793 101.28456 98.26848 101.80080 101.99179 100.18593 98.08489 98.87070 98.78614 101.87575 100.12340 98.51066 100.00591 98.70036 100.03080 101.35803 99.55663 100.71866 98.13792 101.88263 100.69931 101.65026 100.85780 101.88700
0
|
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
|
|
13.05.2018, 14:57 [ТС] | 3 |
проблема в том, что при равномерном распределении в один блок прошло 306 агентов, а во второй всего 197 (из 503 сгенерированных). Мне кажется, что должно быть примерно поровну. Или я не прав?
0
|
76 / 73 / 24
Регистрация: 11.10.2017
Сообщений: 216
|
|
14.05.2018, 02:37 | 4 |
Посмотрел модель.
При освобождении агента нужно проверять не только условие "waitSecond.size() > 3", но и проверять свободен ли блок, на который вы перенаправляете агента - "delaySecondTwo.size() == 0" Видимо при экспоненциальном распределении за счет сильно "рваных" задержек (см. в посте выше) эта ошибка купируется, а при равномерном распределении - нет.
1
|
1817 / 1031 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
|
|
14.05.2018, 08:09 | 5 |
Сообщение было отмечено Ellizio как решение
Решение
Корректное построение модели предполагает ограничение на участке 2хdelay числа обслуживаемых заявок до двух с помощью блоков restrictAreaStart End. Предложенное условие по выходу из очереди определяет устройство некорректно, то есть, например, если два устройства заняты - будет выбрано второе устройство. И так может быть выбрано для несколько подряд идущих заявок которые столкнулись с ситуацией занятости устройств. Во время обслуживания таких заявок устройство №1 может простаивать. Поэтому ограничиваем участок двумя заявками и четко прописываем условие выбора ресурса.
1
|
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
|
|
14.05.2018, 15:48 [ТС] | 6 |
DoubleA, Dukalys, благодарю за помощь. Работает отлично
0
|
14.05.2018, 15:48 | |
14.05.2018, 15:48 | |
Помогаю со студенческими работами здесь
6
Не могу разобраться с selectOutput Перенаправление с помощью блока selectOutput HELP задать условие для selectOutput на основе значения, выбранного в элементе управления radio-Переключатель По нажатию на кнопку из другого потока, нужно чтобы 2 потока останавливались Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта Gowin Eda и снимок. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
|
UserScript для подсветки кнопок языков программирования в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения:
/ / ==UserScript==
/ / @name CF_DefaultLangSelect
/ / . . .
|
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
|
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
|
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
|
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
|
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей
Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
|
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
|
Python и нейросети
InfoMaster 12.01.2025
Искусственные нейронные сети стали неотъемлемой частью современных технологий, революционизировав множество областей - от медицинской диагностики до автономных транспортных средств. Python, благодаря. . .
|
Python в машинном обучении
InfoMaster 12.01.2025
Python стал неотъемлемой частью современного машинного обучения, завоевав позицию ведущего языка программирования в этой области. Его популярность обусловлена несколькими ключевыми факторами, которые. . .
|
Создание UI на Python с TKinter
InfoMaster 12.01.2025
TKinter — это одна из наиболее популярных библиотек для создания графических интерфейсов пользователей (GUI) в языке программирования Python. TKinter входит в стандартную библиотеку Python, что. . .
|
HTML5 в разработке мобильных приложений
InfoMaster 12.01.2025
Введение: Обзор роли HTML5 в мобильной разработке
В современном мире мобильных технологий HTML5 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
|