0 / 0 / 0
Регистрация: 05.05.2015
Сообщений: 12
1

Ошибка при попытке запустить модель в режиме виртуального времени

05.12.2015, 12:54. Показов 15015. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Подскажите пожалуйста, в чем может быть проблема. Я построил дискретно-событийную модель работы банковского отделения по учебнику Киселёвой. При попытке прогнать модель в режиме виртуального времени возникает следующая ошибка:

Ошибка при выполнении дискретного события:
java.lang.RuntimeException: корневой.selectOutput: outT: An entity was not able to leave this port
Consider increasing capacities and/or throughputs of the subsequent object(s)
java.lang.RuntimeException: корневой.selectOutput: outT: An entity was not able to leave this port
Consider increasing capacities and/or throughputs of the subsequent object(s)
at com.xj.anylogic.engine.Engine.error(Unknown Source)
at com.xj.anylogic.engine.ActiveObject.error(Unknown Source)
at com.xj.anylogic.libraries.enterprise.EnterpriseLibraryPort.error(EnterpriseLibra ryPort.java:120)
at com.xj.anylogic.libraries.enterprise.OutPortPush.checkTimestamp(OutPortPush.java :180)
at com.xj.anylogic.libraries.enterprise.OutPortPush.getEntity(OutPortPush.java:108)
at com.xj.anylogic.libraries.enterprise.InPort.getEntity(InPort.java:92)
at com.xj.anylogic.libraries.enterprise.Queue.executeActionOf(Queue.java:438)
at com.xj.anylogic.engine.EventCondition.execute(Unknown Source)
at com.xj.anylogic.engine.Engine.k(Unknown Source)
at com.xj.anylogic.engine.Engine.a(Unknown Source)
at com.xj.anylogic.engine.Engine$a.run(Unknown Source)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2015, 12:54
Ответы с готовыми решениями:

Ошибка при попытке запустить сервер
Проект на java, среда idea, собирал мавеном, делаю вебприложение. Когда добавил сервер то страница...

Ошибка при попытке запустить программу
Доброго времени суток, друзья. Дело в том, что я пытаюсь самостоятельно освоить руби, но при...

При попытке запустить моделирование выводится ошибка.
Текст ошибки: "Warning: Using a default value of 0.2 for maximum step size. The simulation step...

Ошибка при попытке запустить gulp в Sublime Text
Установил все как надо, но при запуске default gulp выдает ошибку. Не пойму в чем причина. Помогите

9
0 / 0 / 0
Регистрация: 05.05.2015
Сообщений: 12
05.12.2015, 13:24  [ТС] 2
Скрин с ошибкой
Миниатюры
Ошибка при попытке запустить модель в режиме виртуального времени  
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
05.12.2015, 15:02 3
Лучший ответ Сообщение было отмечено DenisYanin как решение

Решение

Основная ошибка
An entity was not able to leave this port
Заявка не может покинуть выходной порт. почему? покинуть она не может только по 1 причине, заявку далее не пускают в следующий блок - service, вы там ограничили очередь или ещё что-то ограничили и физически для этой заявки нет места.

из скрина видно 4 заявки обслуживаются, 19 в очереди.
1
0 / 0 / 0
Регистрация: 05.05.2015
Сообщений: 12
05.12.2015, 18:04  [ТС] 4
Спасибо за ответ. Буду разбираться
0
0 / 0 / 0
Регистрация: 05.05.2015
Сообщений: 12
06.12.2015, 19:07  [ТС] 5
Дошел до последнего задания - оценки затрат операций. Сделал все в точности как написано в пособии и в итоге получил кучу ошибок. Скажите пожалуйста, в чем тут может быть проблема.

Скриншоты:
Ошибка при попытке запустить модель в режиме виртуального времени

Ошибка при попытке запустить модель в режиме виртуального времени


Сама модель:
Model2.7z
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
06.12.2015, 19:23 6
Сделал все в точности как написано в пособии и в итоге получил кучу ошибок.
Это потому что суть пособия не учит тому, что при разработке сложной модели нужно после каждого сделанного "модуля" запускать или хотя бы компилировать на предмет синтаксических и всяческих ошибок !

Ошибки скорее всего связаны с тем, что по умолчанию в блоках программы - queue delay и так далее считается что обслуживается в целом заявка класса Entity а у вас как я понял свой класс заявок Customer или ещё как-то. По причине того что класс не указан - anylogic не понимает о каких параметрах заявки идёт речь.
0
0 / 0 / 0
Регистрация: 05.05.2015
Сообщений: 12
06.12.2015, 19:33  [ТС] 7
Дело в том что модель уже полностью готова ,если верить пособию. И в каждом блоке в классе заявки у меня прописан "Costumer".
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
06.12.2015, 19:47 8
Тогда последовательно по ошибкам.
Функция UpdateCosts без входных и выходных параметров

double dt = time()-timeUpdateCosts;
tellersIdleTime += tellers.idle()*dt;
tellersBusyTime+=(tellers.capacity-tellers.idle())*dt;
...

Жирным выделил, это что за переменные?
"Я" как функция не понимаю и не вижу ни глобальных таких переменных, ни локальных.
0
0 / 0 / 0
Регистрация: 05.05.2015
Сообщений: 12
06.12.2015, 20:10  [ТС] 9
Я, как было указано в пособии, создал эти параметрыв джава классе
- tellersIdleTime; - tellersBusyTime; - tellersIdleCost; - tellersBusyCost.

Добавьте в модель вспомогательные элементы, собирающие статистику затрат компании, для чего необходимо создать: 1) переменные, задающие заработную плату кассиров. Для этого перета-щите элемент Простая переменная с палитры Основные на диаграмму актив-ного класса:
- busyCostRate, тип – double, значение по умолчанию – toMinute(6.5), глобальный;
- idleCostRate, тип – double, значение по умолчанию – toMinute(4.0), глобальный.
Мы платим кассиру 6.5 дол. в час, если он был занят обслуживанием кли-ентов и 4.0 дол., если он был свободен; 2) простую переменную, задающую расходы, которые связаны с работой банкомата:
ATMCostPerUse, тип – double, значение по умолчанию – 0.3, глобальный. Одна операция банкомата обходится компании в 0.30 дол.;
3) переменную timeUpdateCosts. Создайте еще несколько переменных и назовите их так:
- tellersIdleTime;
- tellersBusyTime;
- tellersIdleCost;
- tellersBusyCost.
Эти переменные будут хранить информацию о том, сколько времени кассиры были заняты обслуживанием клиентов и сколько им требуется выплатить за работу;
5) два набора данных гистограммы (палитра Статистика) и назовите их так:
- Costwait;
- Costservice.
Данные наборы данных будут хранить статистику затрат компании на об-служивание клиентов;
6) функцию, которая будет обновлять статистику (палитра Основные).
Назовите ее UpdateCosts. double dt = time()-timeUpdateCosts; tellersIdleTime += tellers.idle()*dt;
tellersBusyTime+=(tellers.capacity-tellers.idle())*dt;
tellersIdleCost += tellersIdleTime*idleCostRate; tellersBusyCost += tellersBusyTime*busyCostRate;
timeUpdateCosts
0
1816 / 1030 / 285
Регистрация: 13.02.2012
Сообщений: 3,339
06.12.2015, 20:31 10
Значит это параметры заявок.

Вы когда будете в программе вызывать функцию - из любого блока программы - UpdateCosts()
У вас будут использоваться эти параметры, но вы указали их просто как имя параметров - anylogic ищет в классе Main эти параметры, переменные - их нету - и ругается.

Хорошо скажете вы.
Тогда, нам нужно использовать не какие-то глобальные параметры, а параметры заявки и поэтому нужно писать entity.имя_параметра.

Но и на это anylogic вам энилоджик выдаст ошибки.
Дело в том, что вы вызываете какую-то entity, в Main нету такой переменной, вот беда !

Значит нужно передать функции в качестве входного параметра эту заявку entity чтобы функция работала с ней. В функции определяем входной параметр, например za9vka указываем класс её Customer

такс, теперь параметры вызываем этой заявки
za9vka.имя_параметра = ...

Ну и естественно когда будете вызывать функцию, то необходимо будет "передавать" объект-заявку с которой функция будет работать
UpdateCosts(entity) ; если вызываем функцию из блока обслуживания, то текущая обслуживаемая заявка это entity
0
06.12.2015, 20:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2015, 20:31
Помогаю со студенческими работами здесь

Специфическая ошибка службы: 1, при попытке запустить Apache
Привет, месяц назад устанавливал связку Apache+MySQL+PHP+mphMyAdmin. Все шикарно работало, сегодня...

Ошибка при попытке запустить программу (It is an error to use a section registered as allowDefinition)
Пытаюсь разобраться в чужом коде - сайт на ASP.NET. При запуске получаю ошибку It is an error to...

Ошибка 201 в графическом режиме, при замерке времени нажатия предыдущей клавиши
Есть такое вот условие: Рисуется ломаная линия. Изменение угла рисования происходит при нажатии...

Ошибка 0x0000007E при запуске Windows XP в обычном режиме и ошибка 0x0000007B — в безопасном режиме
При включении компьютера происходила загрузка Windows и потом он резко начинал перезагружаться....


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru