Pages: 1
Общие проблемы на Windows, не читает Excel файлы
Доброго времени суток,

Я студент университета в Норвегии, и мы с коллегами используем Университетскую версию AnyLogic.

Возник ряд неразрешимых проблем:

1) AnyLogic периодически сильно тормозит на моем Asus UX32VD i7, в то время как коллеги на Mac Air'ах, которые, вероятно, гораздо слабее, такой проблемы не замечают. Просто открытый интерфейс, порой, занимает 30-40% CPU на максимальных настройках производительности.

2) Моя версия программы постоянно требует USB ключ для запуска, при этом ни разу не спросив PIN.

3) И, наконец, самое главное - модель просто отказывается работать. Верней она то работает, вот только испытывает страшные проблемы с Excel, который используется для Input и Output. Когда запускаю Simulation в конце получаю вот это:
Code
Exception in thread "AnyLogic model execution thread" java.lang.RuntimeException: The Excel file has not been read
   at com.anylogic.engine.connectivity.ExcelFile.i(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.writeDataSet(Unknown Source)
   at wind_turbine_maintenance.Simulation.onEngineFinished(Simulation.java:6160)
   at com.anylogic.engine.Engine.i(Unknown Source)
   at com.anylogic.engine.Engine.n(Unknown Source)
   at com.anylogic.engine.Engine.u(Unknown Source)
   at com.anylogic.engine.Engine.i(Unknown Source)
   at com.anylogic.engine.Engine$i.run(Unknown Source)
Строка 6160 гласит:

Code
outputFile.writeDataSet(averageAnnualTimeBasedAvailabilityDataSet,1,2,1);


Запуская несколько симуляций (что в AnyLogic, как я понял, называно MonteCarlo), файлы даже не могут быть прочитаны:
Code
Exception in thread "main" java.lang.RuntimeException: The cell of the column #1 does not exist in row #23297 of sheet #1 (all numbers 1-based)
   at com.anylogic.engine.connectivity.ExcelFile.i(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.getCellNumericValue(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.readTableFunction(Unknown Source)
   at wind_turbine_maintenance.MonteCarlo.setup(MonteCarlo.java:5624)
java.lang.RuntimeException: The Excel file has not been read
Error during model startup:
The Excel file has not been read
   at com.anylogic.engine.connectivity.ExcelFile.i(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.i(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.getCellNumericValue(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.readTableFunction(Unknown Source)
   at wind_turbine_maintenance.Main.onStartup(Main.java:18587)
   at wind_turbine_maintenance.Main.start(Main.java:18578)
   at com.anylogic.engine.Engine.start(Unknown Source)
   at com.anylogic.engine.ExperimentParamVariation$i.i(Unknown Source)
   at com.anylogic.engine.j$i.run(Unknown Source)
Error during model startup:
The Excel file has not been read
java.lang.RuntimeException: The Excel file has not been read
   at com.anylogic.engine.connectivity.ExcelFile.i(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.i(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.getCellNumericValue(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.readTableFunction(Unknown Source)
   at wind_turbine_maintenance.Main.onStartup(Main.java:18587)
   at wind_turbine_maintenance.Main.start(Main.java:18578)
   at com.anylogic.engine.Engine.start(Unknown Source)
   at com.anylogic.engine.ExperimentParamVariation$i.i(Unknown Source)
   at com.anylogic.engine.j$i.run(Unknown Source)
Error during model startup:
The Excel file has not been read
java.lang.RuntimeException: The Excel file has not been read
   at com.anylogic.engine.connectivity.ExcelFile.i(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.i(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.getCellNumericValue(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.readTableFunction(Unknown Source)
   at wind_turbine_maintenance.Main.onStartup(Main.java:18587)
   at wind_turbine_maintenance.Main.start(Main.java:18578)
   at com.anylogic.engine.Engine.start(Unknown Source)
   at com.anylogic.engine.ExperimentParamVariation$i.i(Unknown Source)
   at com.anylogic.engine.j$i.run(Unknown Source)
Error during model startup:
The Excel file has not been read
java.lang.RuntimeException: The Excel file has not been read
   at com.anylogic.engine.connectivity.ExcelFile.i(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.i(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.getCellNumericValue(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.readTableFunction(Unknown Source)
   at wind_turbine_maintenance.Main.onStartup(Main.java:18587)
   at wind_turbine_maintenance.Main.start(Main.java:18578)
   at com.anylogic.engine.Engine.start(Unknown Source)
   at com.anylogic.engine.ExperimentParamVariation$i.i(Unknown Source)
   at com.anylogic.engine.j$i.run(Unknown Source)
Error during model startup:
The Excel file has not been read
java.lang.RuntimeException: The Excel file has not been read
   at com.anylogic.engine.connectivity.ExcelFile.i(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.i(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.getCellNumericValue(Unknown Source)
   at com.anylogic.engine.connectivity.ExcelFile.readTableFunction(Unknown Source)
   at wind_turbine_maintenance.Main.onStartup(Main.java:18587)
   at wind_turbine_maintenance.Main.start(Main.java:18578)
   at com.anylogic.engine.Engine.start(Unknown Source)
   at com.anylogic.engine.ExperimentParamVariation$i.i(Unknown Source)
   at com.anylogic.engine.j$i.run(Unknown Source)
Error:
Index: 0, Size: 0
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
   at java.util.ArrayList.rangeCheck(ArrayList.java:638)
   at java.util.ArrayList.get(ArrayList.java:414)
   at com.anylogic.engine.AgentArrayList.get(Unknown Source)
   at wind_turbine_maintenance.MonteCarlo.onEngineFinished(MonteCarlo.java:5826)
 


Проблема в обоих случаях, как я понял, одна и та же. Думал, что может нет доступа к файлам. Переустановил все на D:, дал полный доступ всех юзерам, убрал read-only где можно - не помогло. Попробовал сделать то же для C: - ноль.

Заранее благодарю за помощь.

Илья.
Здравствуйте, Илья!
1) Попробуйте удалить эту папку и перезапустить AnyLogic:
C:\Users\UserName\.AnyLogicUniversity

2) USB-ключ требует PIN только при первой активации, в дальнейшем он не требуется. Если компьютер уходил в гибернацию, или вы подключаете ключ к разным USB-портам, AnyLogic может заново попросить активировать себя. При этом PIN не потребуется.

3) Судя по описанию, вы столкнулись с известным багом: если объект для чтения из Excel находится на Simulation, то он неправильно работает, если читает файл на старте (стоит галочка Load on Startup). Исправление очень простое — снимите эту галочку, и открывайте файл для чтения на старте эксперимента (в свойствах эксперимента). Это делается с помощью команды readFile():
Code
excelFile.readFile(); 


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

PS: MonteCarlo — это частный тип эксперимента. Есть ещё вариация параметров, оптимизация, сравнение прогонов, простой эксперимент и т.д.
Григорий,
Спасибо за ответ.

Убирать галочку я уже пробовал, не помогло. Simulation заработал, но писать результаты в Excel отказался (первый и второй code box'ы). Для Монте Карло отключение Load on Startup не помогло вовсе, не может прочитать (третий code box). Так же пробывал убирать галочку Save on termination.

Что интересно, на Маке того, что модель написал, все работает и со включенными Load & Save.

Илья.
Илья, дайте пожалуйста ссылку на исходники модели. Очень интересно, что же там не так :)
Григорий, к сожалению, не могу. В модели содержится информация, которую нам дали по огромному секрету, коллеги не одобрят. Пытаюсь от униера выбить обновление Support Subscription =)
Проблемы с Excel вроде как были решены. Естественно, были ошибки в коде =)

А вот безобразие с загрузкой CPU продолжается. AnyLogic занимает 60% CPU и 1,5 Gb RAM. Иногда это прекращается, и программа кушает 0 CPU и только 600 Mb RAM. Мистика... Ваш совет (удалить папку) не помог =(


Илья.
Илья, рад слышать, что проблемы с файлом решены.
Насчёт ЦПУ — содержит ли модель ГИС карту?
Pages: 1
Users browsing this topic (2 guests, 0 registered, 0 hidden)