С Новым годом! Форум программистов, компьютерный форум, киберфорум
AnyLogic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
1

SelectOutput равномерное просеивание потока на delay

12.05.2018, 14:03. Показов 4201. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
ПОмогите разобраться в работе модели.

Смысл в том, что из очереди агенты направляются на два блока delay без всяких вероятностей, т.е. если блок свободен, отправляем на него, если оба заняты, ждем пока какой-нибудь освободится.
Задержка в обоих delay одинакова. Если установить задержку в 100 единиц (1 рисунок), то модель отрабатывает нормально. Но если установить задержку uniform(98, 102) (второй рисунок), то первый блок delay после освобождения не сразу получает нового агента (очередь не выпускает агента и триггер сбивает второй delay), следовательно идет простой и растет очередь.
WaySecond - триггер выбора пути. Он переключается при выходе из блоков delay
Java
1
2
3
4
5
//для первого delay
waySecond = true;
 
//для второго delay
waySecond = false;
и при подходе к выходу в queue
Java
1
2
3
4
if(delaySecondOne.size() == 0)
    waySecond = true;
else
    waySecond = false;
Мне нужно использовать именно uniform. Прошу помощи. Заранее спасибо.

Прикрепляю два проекта. Этот и другой, с использованием wait вместо queue. В обоих некорректная работа в одном и том же месте.
Миниатюры
SelectOutput равномерное просеивание потока на delay   SelectOutput равномерное просеивание потока на delay  
Вложения
Тип файла: 7z model.7z (18.6 Кб, 16 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.05.2018, 14:03
Ответы с готовыми решениями:

Просеивание чисел
Здравствуйте. Есть проблема со временем выыполнения алгоритма. Вот его суть. Пусть есть массив из...

Объект selectOutput
Здравствуйте! Прошу помочь разобраться. Элементарная, вроде, проблема…но не работает. Версия...

Счетчик заявок на selectOutput
Можно ли как-то организовать подсчет заявок, которые прошли в ту или иную ветвь selectOutput?...

Блок selectoutput в Anylogic
Здравствуйте. Подскажите пожалуйста код для блока selectoutput для схемы которая прикреплена ниже...

5
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
Их среднее арифметическое: 93.54032

А вот 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
Их среднее арифметическое: 100.1092
0
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
13.05.2018, 14:57  [ТС] 3
Цитата Сообщение от DoubleA Посмотреть сообщение
В чём именно проблема?
проблема в том, что при равномерном распределении в один блок прошло 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 может простаивать. Поэтому ограничиваем участок двумя заявками и четко прописываем условие выбора ресурса.

SelectOutput равномерное просеивание потока на delay

SelectOutput равномерное просеивание потока на delay
1
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
14.05.2018, 15:48  [ТС] 6
DoubleA, Dukalys, благодарю за помощь. Работает отлично
0
14.05.2018, 15:48
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.05.2018, 15:48
Помогаю со студенческими работами здесь

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

Перенаправление с помощью блока selectOutput
У меня есть два блока source1 и source2, которые генерируют заявки. Соответственно к ним две...

HELP задать условие для selectOutput на основе значения, выбранного в элементе управления radio-Переключатель
Здравствуйте! Прошу помочь разобраться как задать условие выбора ветки в блоке selectOutput на...

По нажатию на кнопку из другого потока, нужно чтобы 2 потока останавливались
Есть 2 потока, в которых в цикле выполняется метод Thread.sleep(200); По нажатию на кнопку из...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
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 стал ключевым инструментом для разработки кроссплатформенных приложений. Эта технология произвела. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru