Ошибка при выполнении дискретного события anylogic

3 / 3 / 1

Регистрация: 11.11.2019

Сообщений: 127

Записей в блоге: 2

1

Ошибка при выполнении дискретного события

25.10.2021, 15:08. Показов 4460. Ответов 7


Студворк — интернет-сервис помощи студентам

Здравствуйте

Делаю учебный пример. Создал модель. При запуске получаю ошибку:
Ошибка при выполнении дискретного события
class com.anylogic.engine.Agent cannot be cast to class laboratorywork_5.Customer (com.anylogic.engine.Agent and laboratorywork_5.Customer are in unnamed module of loader ‘app’)

Подробности смотрите в Консоли

В консоли:
Ошибка при выполнении дискретного события:
class com.anylogic.engine.Agent cannot be cast to class laboratorywork_5.Customer (com.anylogic.engine.Agent and laboratorywork_5.Customer are in unnamed module of loader ‘app’)
java.lang.ClassCastException: class com.anylogic.engine.Agent cannot be cast to class laboratorywork_5.Customer (com.anylogic.engine.Agent and laboratorywork_5.Customer are in unnamed module of loader ‘app’)
at laboratorywork_5.Main$1.onExit(Main.java:1)
at com.anylogic.libraries.processmodeling.Source.q(Unknown Source)
at com.anylogic.libraries.processmodeling.Source.q(Unknown Source)
at com.anylogic.libraries.processmodeling.Source$1.onEnter(Unknown Source)
at com.anylogic.libraries.processmodeling.Enter.c(Unknown Source)
at com.anylogic.libraries.processmodeling.Enter.c(Unknown Source)
at com.anylogic.libraries.processmodeling.Enter$1.onExit(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBuffer.c(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBuffer.c(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBuffer$1.onExit(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock.c(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock$1.b(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(Unknown Source)
at com.anylogic.libraries.processmodeling.InPort.receiveImmediately(Unknown Source)
at com.anylogic.libraries.processmodeling.InputBlock$1.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.b(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock.forwardReadyEntityNotificatio n(Unknown Source)
at com.anylogic.libraries.processmodeling.InputBlock$1.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.b(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock$2.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock$2.action(Unknown Source)
at com.anylogic.libraries.processmodeling.AsynchronousExecutor_xjal$a.execute(Unkno wn Source)
at com.anylogic.engine.LibraryEventHandler$c.execute(Unknown Source)
at com.anylogic.engine.Engine.e(Unknown Source)
at com.anylogic.engine.Engine.kf(Unknown Source)
at com.anylogic.engine.Engine.m(Unknown Source)
at com.anylogic.engine.Engine$c.run(Unknown Source)

Файл во вложении

В чем у меня ошибка?



0



3 / 3 / 1

Регистрация: 11.11.2019

Сообщений: 127

Записей в блоге: 2

25.10.2021, 17:23

 [ТС]

2

Нашел вот эту тему на SO: https://stackoverflow.com/ques… t-to-class
Но, честно говоря, по комментариям в ней я так и не понял, что и где мне нужно поправить, чтобы моя схема заработала



0



58 / 43 / 14

Регистрация: 21.01.2019

Сообщений: 191

25.10.2021, 17:53

3

Лучший ответ Сообщение было отмечено Baumanetc как решение

Решение

Все понятно — используется класс, не обладающий полями, а именно — agent.enteredSystem = time(); это класс Customer.
Вот и все…

Миниатюры

Ошибка при выполнении дискретного события
 

Ошибка при выполнении дискретного события
 



1



58 / 43 / 14

Регистрация: 21.01.2019

Сообщений: 191

25.10.2021, 17:57

4

Сначала посмотрите «было_так.jpg» а потом «а_нужно_так.jpg».



0



3 / 3 / 1

Регистрация: 11.11.2019

Сообщений: 127

Записей в блоге: 2

25.10.2021, 19:27

 [ТС]

5

Спасибо, Artemhol, все работает



0



58 / 43 / 14

Регистрация: 21.01.2019

Сообщений: 191

25.10.2021, 19:34

6

Спасибо за повышение репутации.



0



0 / 9 / 0

Регистрация: 28.11.2015

Сообщений: 454

25.05.2023, 10:11

7

Та же фигня.
Когда запускаю
. получаю вот это, как изменить?
class com.anylogic.engine.Agent cannot be cast to class shu1.Контейнер40фут (com.anylogic.engine.Agent and shu1.Контейнер40фут are in unnamed module of loader ‘app’)
Запускаю 3days

Это происходит из за связи блока dropoff с блоком «размещение_в_месте_хранения_контейнеров_по_3D_структуре»

внутри области ПРОСМОТРА «ЖДкранЛогика»



0



0 / 9 / 0

Регистрация: 28.11.2015

Сообщений: 454

25.05.2023, 10:15

8

кАК УДАЛИТЬ СООБЩЕНИЕ



0



3 / 3 / 1

Регистрация: 11.11.2019

Сообщений: 119

Записей в блоге: 2

1

Ошибка при выполнении дискретного события

25.10.2021, 15:08. Показов 2816. Ответов 5


Здравствуйте

Делаю учебный пример. Создал модель. При запуске получаю ошибку:
Ошибка при выполнении дискретного события
class com.anylogic.engine.Agent cannot be cast to class laboratorywork_5.Customer (com.anylogic.engine.Agent and laboratorywork_5.Customer are in unnamed module of loader ‘app’)

Подробности смотрите в Консоли

В консоли:
Ошибка при выполнении дискретного события:
class com.anylogic.engine.Agent cannot be cast to class laboratorywork_5.Customer (com.anylogic.engine.Agent and laboratorywork_5.Customer are in unnamed module of loader ‘app’)
java.lang.ClassCastException: class com.anylogic.engine.Agent cannot be cast to class laboratorywork_5.Customer (com.anylogic.engine.Agent and laboratorywork_5.Customer are in unnamed module of loader ‘app’)
at laboratorywork_5.Main$1.onExit(Main.java:1)
at com.anylogic.libraries.processmodeling.Source.q(Un known Source)
at com.anylogic.libraries.processmodeling.Source.q(Un known Source)
at com.anylogic.libraries.processmodeling.Source$1.on Enter(Unknown Source)
at com.anylogic.libraries.processmodeling.Enter.c(Unk nown Source)
at com.anylogic.libraries.processmodeling.Enter.c(Unk nown Source)
at com.anylogic.libraries.processmodeling.Enter$1.onE xit(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBuffe r.c(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBuffe r.c(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBuffe r$1.onExit(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock .c(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock .a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock $1.b(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(U nknown Source)
at com.anylogic.libraries.processmodeling.InPort.rece iveImmediately(Unknown Source)
at com.anylogic.libraries.processmodeling.InputBlock$ 1.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(U nknown Source)
at com.anylogic.libraries.processmodeling.OutPort.b(U nknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock .forwardReadyEntityNotification(Unknown Source)
at com.anylogic.libraries.processmodeling.InputBlock$ 1.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(U nknown Source)
at com.anylogic.libraries.processmodeling.OutPort.b(U nknown Source)
at com.anylogic.libraries.processmodeling.OutPort.a(U nknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock .a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock .a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock $2.a(Unknown Source)
at com.anylogic.libraries.processmodeling.OutputBlock $2.action(Unknown Source)
at com.anylogic.libraries.processmodeling.Asynchronou sExecutor_xjal$a.execute(Unknown Source)
at com.anylogic.engine.LibraryEventHandler$c.execute( Unknown Source)
at com.anylogic.engine.Engine.e(Unknown Source)
at com.anylogic.engine.Engine.kf(Unknown Source)
at com.anylogic.engine.Engine.m(Unknown Source)
at com.anylogic.engine.Engine$c.run(Unknown Source)

Файл во вложении

В чем у меня ошибка?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

3 / 3 / 1

Регистрация: 11.11.2019

Сообщений: 119

Записей в блоге: 2

25.10.2021, 17:23

 [ТС]

2

Нашел вот эту тему на SO: https://stackoverflow.com/ques… t-to-class
Но, честно говоря, по комментариям в ней я так и не понял, что и где мне нужно поправить, чтобы моя схема заработала

0

58 / 43 / 14

Регистрация: 21.01.2019

Сообщений: 191

25.10.2021, 17:53

3

Лучший ответ Сообщение было отмечено Baumanetc как решение

Решение

Все понятно — используется класс, не обладающий полями, а именно — agent.enteredSystem = time(); это класс Customer.
Вот и все…

Миниатюры

Ошибка при выполнении дискретного события
 

Ошибка при выполнении дискретного события
 

1

58 / 43 / 14

Регистрация: 21.01.2019

Сообщений: 191

25.10.2021, 17:57

4

Сначала посмотрите «было_так.jpg» а потом «а_нужно_так.jpg».

0

3 / 3 / 1

Регистрация: 11.11.2019

Сообщений: 119

Записей в блоге: 2

25.10.2021, 19:27

 [ТС]

5

Спасибо, Artemhol, все работает

0

58 / 43 / 14

Регистрация: 21.01.2019

Сообщений: 191

25.10.2021, 19:34

6

Спасибо за повышение репутации.

0

Для решения сложных аналитических задач используют моделирование. Суть метода заключается в создании модели реального объекта, процесса или явления на основании его поведения. Построенную модель исследователи помещают в конкретные условия и получают интересующую информацию. В случае с бизнесом, это позволяет экономить ресурсы и деньги, а также оценивать риски событий.

Содержание

  1. Что это такое?
  2. Как установить?
  3. Что делать если «ошибка при выполнении дискретного события»?
  4. Как создать простую модель?
  5. Модель перекрестка
  6. Пакеты программ, их отличия и стоимость

Что это такое?

Программное обеспечение AnyLogic — удобный инструмент для имитационного моделирования в сфере бизнеса. Программа используется во множестве индустрий, включая логистику, производство, складское дело, нефтяную и газовые промышленности.

Имитационное моделирование облегчает поиск обоснований для принятия управленческих решений.

Умение работать с AnyLogic или схожими программными продуктами обязательное требование для таких профессий, как инженер и бизнес-аналитик.

Главной особенностью программы является простота и удобство использования. Благодаря графической среде моделирования создавать объекты исследования и управлять ими не составляет труда. Моделирование в AnyLogic построено на объектно-ориентированном принципе. Любая модель состоит из ряда объектов, каждый из которых имеет свои функции и взаимодействует с окружающей средой.

Предлагаем посмотреть видео о программе AnyLogic:

Как установить?

Что такое AnyLogic, как скачать и пользоваться этим ПО?Для того чтобы скачать и установить программу AnyLogic, следует выполнить ряд простых действий:

  1. Зайти на официальный сайт и нажать на кнопку «Скачать» в правом верхнем углу.
  2. Выбрать интересующую версию программы и повторно нажать «Скачать».
  3. Загрузить установочный файл, предварительно указав операционную систему устройства.

Программа корректно работает на операционных системах Windows, начиная с 7 версии, Mac OS X и Linux, в том числе Ubuntu.

После проделанных шагов начнется скачивание файла. Объем файла до 1 Гб, поэтому процедура загрузки занимается всего несколько минут. Для запуска установки необходимо дважды нажать на загруженный файл, чтобы запустился «Мастер установки». Следуйте всем инструкциям, чтобы успешно завершить установку.

Из основных шагов стоит выделить:

  • принятие лицензионного соглашения;
  • настроика директории установки и языка программы.

После этого начнется копирование файлов, а по завершению автоматически откроется «Мастер активации». Пользователям предлагается два варианта:

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

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

Скачивать программу лучше с официального сайта компании.

Что делать если «ошибка при выполнении дискретного события»?

Что такое AnyLogic, как скачать и пользоваться этим ПО?Одной из самых распространенных проблем, с которыми сталкиваются пользователи программы AnyLogic, является ошибка при выполнении дискретного события. Как правило, причина заключается в том, что следующий блок модели не может принять заявку.

Прочитайте официальную документацию о принципах формирования заявок (агентов).

Для того чтобы избавиться от ошибки, достаточно добавить блок очереди queue или увеличить его вместительность в настройках агента. Как вариант, можно увеличить лимит до бесконечности.

Как создать простую модель?

В нижеописанном примере рассмотрим пример модели обслуживания клиентов в терминале. Алгоритм работы простой — клиент подходит к устройству, выполняет рад действий и уходит. Для создания модели необходимо:

  1. Создать новую модель, указав ее имя, месторасположение и единицы модельного времени.
  2. Создать диаграмму, добавив нужные блоки из библиотеки моделирования процессов.
  3. Настроить параметры блоков, такие как интенсивность прибытия, вместимость очереди и время задержки.
  4. Запустить модель и проверить ее работоспособность.

Что такое AnyLogic, как скачать и пользоваться этим ПО?В нашем случае достаточно использование четырех блоков:

  • Source — генерирует агентов нужного типа, в нашем случае клиентов, которым нужен доступ к терминалу.
  • Queue — очередь из агентов, которым нужен доступ к объекту. Если очередь заполнена, агент уничтожается.
  • Delay — задерживает агентов на указанный период, другими словами блок симулирует время работы с терминалом.
  • Sink — уничтожает агентов после всех моделируемых действий.

Для запуска созданной модели достаточно нажать на кнопку запустить, расположенную в панели инструментов. Начнется симуляция процесса в режиме реального времени.

Временем моделирования можно управлять с помощью кнопок «Замедлить» и «Ускорить».

Модель перекрестка

Для создания модели перекрестка необходимо выделить основные характеристики события. Как правило, любое пересечение дорог регулируется светофорами, а в часы пик — возникают пробки и замедляется скорость движения.

Для создания модели необходимы следующие блоки:

  • Source — создание машин с заданным интервалом.
  • 2 Queue — очередь машин перед светофором.
  • 2 Conveyor — перемещает агентов с заданными промежутками между ними, сохраняя порядок следования.
  • Hold — останавливает агентов моделирования.
  • Sink — конец жизни моделируемого агента.

Для симуляции светофора используют стейтчарт, который создается с помощью «Диаграммы состояний». Можно настроить действие (изменение цвета), время сохранения состояния, возможность двигаться, скорость передвижения, замедление в случае включения желтого света и т.д.

Пакеты программ, их отличия и стоимость

Компания AnyLogic предлагает клиентам три версии программы, каждая из которых подходит для решения конкретных нужд и задач. Отличаются они функциональными возможностями. Ниже подробно рассмотрим каждую из них.

Что такое AnyLogic, как скачать и пользоваться этим ПО?

  1. Версия «Personal Learning Edition» подходит для студентов и новичков, которые хотят освоить программу. Доступ ко всем функциям бесплатный, но их количество ограничено. Программа предоставляет многоподходное моделирование, интеграцию с ГИС-картами, все доступные библиотеки, а также 2D и 3D анимацию. Помимо этого бесплатная версия работает с базами данных и текстовыми файлами, позволяет проводить эксперименты, экспорт моделей в AnyLogic Cloud и базовую отладку.
  2. Версия «University Researcher» предназначена для использования в открытых университетских исследованиях. Помимо функций студенческой программы, пользователям доступны расширенные возможности. Среди основных следует выделить:
    • неограниченный размер моделей;
    • техническая поддержка;
    • доступ к отраслевым библиотекам;
    • возможность работы с любыми базами данных;
    • дополнительные эксперименты, включая оптимизацию, калибровку, анализ чувствительности и т.д.;
    • экспорт приватных моделей в облачную версию.
  3. Версия «Professional» подходит для коммерческих компаний и государственных организаций. Все вышеперечисленные функции доступны в программе. Также владельцам профессиональной лицензии доступно следующее:
    • дополнительные элементы анимированного управления;
    • экспорт моделей и результатов в сторонние приложения;
    • сохранение и восстановления состояния объектов;
    • импорт чертежей в САПР;
    • расширенные функции отладки.

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

Программа AnyLogic упрощает работу аналитиков и инженеров. Благодаря графическому интерфейсу создание и настройка моделей не требует много времени, а полученные данные легко анимировать и визуализировать. Имитационное моделирование выгодно любому бизнесу, ведь для вместо экспериментов на реальной системе можно использовать компьютер и уже на основе полученного результата принимать решения.

Я делаю проект для учебы. Существует агент с двумя переменными, которые принимают значение True или False с помощью функции randomTrue (). Построение проекта ошибок не выявляет. При запуске выдает ошибку при выполнении дискретного события: NullPointerException. В систему не было введено ни одного агента. На источнике 0. Я попытался сменить агентов, изменил randomTrue () на randomFalse (), но безрезультатно. Какие есть варианты?

NullPointerException
java.lang.NullPointerException
    at com.anylogic.engine.Utilities.randomTrue(Unknown Source)
    at bank.Document.<init>(Document.java:78)
    at bank.Main._doc_enter_newEntity_xjal(Main.java:978)
    at bank.Main.access$0(Main.java:975)
    at bank.Main$1.newEntity(Main.java:312)
    at com.anylogic.libraries.processmodeling.Source.inject(Unknown Source)
    at com.anylogic.libraries.processmodeling.Source.executeActionOf(Unknown Source)
    at com.anylogic.engine.EventTimeout.execute(Unknown Source)
    at com.anylogic.engine.Engine.i(Unknown Source)
    at com.anylogic.engine.Engine.if(Unknown Source)
    at com.anylogic.engine.Engine.e(Unknown Source)
    at com.anylogic.engine.Engine$n.run(Unknown Source)
package bank; import java.io.Serializable; import java.sql.Connection; import java.sql.SQLException; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Currency; import java.util.Date; import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; import java.util.Hashtable; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.ListIterator; import java.util.Locale; import java.util.Map; import java.util.PriorityQueue; import java.util.Random; import java.util.Set; import java.util.SortedMap; import java.util.SortedSet; import java.util.Stack; import java.util.Timer; import java.util.TreeMap; import java.util.TreeSet; import java.util.Vector; import java.awt.Color; import java.awt.Font; import com.anylogic.engine.connectivity.ResultSet; import com.anylogic.engine.connectivity.Statement; import com.anylogic.engine.elements.*; import com.anylogic.engine.markup.Network; import com.anylogic.engine.Position; import com.anylogic.engine.markup.PedFlowStatistics; import com.anylogic.engine.markup.DensityMap; import static java.lang.Math.*; import static com.anylogic.engine.UtilitiesArray.*; import static com.anylogic.engine.UtilitiesCollection.*; import static com.anylogic.engine.presentation.UtilitiesColor.*; import static com.anylogic.engine.HyperArray.*; import com.anylogic.engine.*; import com.anylogic.engine.analysis.*; import com.anylogic.engine.connectivity.*; import com.anylogic.engine.database.*; import com.anylogic.engine.gis.*; import com.anylogic.engine.markup.*; import com.anylogic.engine.routing.*; import com.anylogic.engine.presentation.*; import com.anylogic.engine.gui.*; import com.anylogic.libraries.modules.markup_descriptors.*; import com.anylogic.libraries.processmodeling.*; import com.anylogic.libraries.material_handling.*; import java.awt.geom.Arc2D; public class Document extends Agent { // Parameters // Plain Variables public final boolean is_simple = randomTrue(0.6) ; public final boolean has_critical_errors = randomTrue(0.1) ; @AnyLogicInternalCodegenAPI private static Map<String, IElementDescriptor> elementDesciptors_xjal = createElementDescriptors( Document.class ); @AnyLogicInternalCodegenAPI @Override public Map<String, IElementDescriptor> getElementDesciptors() { return elementDesciptors_xjal; } @AnyLogicCustomProposalPriority(type = AnyLogicCustomProposalPriority.Type.STATIC_ELEMENT) public static final Scale scale = new Scale( 10.0 ); @Override public Scale getScale() { return scale; } /** Internal constant, shouldn't be accessed by user */ @AnyLogicInternalCodegenAPI protected static final int _STATECHART_COUNT_xjal = 0; // View areas public ViewArea _origin_VA = new ViewArea( this, "[Origin]", 0, 0, 1500.0, 600.0 ); @Override @AnyLogicInternalCodegenAPI public int getViewAreas(Map<String, ViewArea> _output) { if ( _output != null ) { _output.put( "_origin_VA", this._origin_VA ); } return 1 + super.getViewAreas( _output ); } @AnyLogicInternalCodegenAPI protected static final Pair<String, Color>[] _person_customColors_xjal = new Pair[] { new Pair<String, Color>( "Material__3__Surf", null ), new Pair<String, Color>( "Material__5__Surf", null ), new Pair<String, Color>( "Material__6__Surf", null ), new Pair<String, Color>( "Material__2__Surf", null ), new Pair<String, Color>( "Material__4__Surf", null ), new Pair<String, Color>( "Material__1__Surf", null ), }; @AnyLogicInternalCodegenAPI protected static final int _person = 1; /** Internal constant, shouldn't be accessed by user */ @AnyLogicInternalCodegenAPI protected static final int _SHAPE_NEXT_ID_xjal = 2; @AnyLogicInternalCodegenAPI public boolean isPublicPresentationDefined() { return true; } @AnyLogicInternalCodegenAPI public boolean isEmbeddedAgentPresentationVisible( Agent _a ) { return super.isEmbeddedAgentPresentationVisible( _a ); } @AnyLogicInternalCodegenAPI private void _initialize_level_xjal() { level.addAll(person); } protected Shape3DObject person; protected com.anylogic.engine.markup.Level level; private com.anylogic.engine.markup.Level[] _getLevels_xjal; @Override public com.anylogic.engine.markup.Level[] getLevels() { return _getLevels_xjal; } @AnyLogicInternalCodegenAPI private void _createPersistentElementsBP0_xjal() { person = new Shape3DObject( Document.this, SHAPE_DRAW_2D3D, true, 0.0, 0.0, 0.0, 0.0, 1.0, true, "/bank/", "3d/person.dae", OBJECT_3D_YZX_AXIS_ORDER, OBJECT_3D_INTERNAL_LIGHTING_OFF, false, -5.0, -4.0, 7.0, 7.0, null, _person_customColors_xjal ); } @AnyLogicInternalCodegenAPI private void _createPersistentElementsAP0_xjal() { } @AnyLogicInternalCodegenAPI private void _createPersistentElementsBS0_xjal() { } // Static initialization of persistent elements private void instantiatePersistentElements_xjal() { level = new com.anylogic.engine.markup.Level(this, "level", SHAPE_DRAW_2D3D, 0.0, true, true); _getLevels_xjal = new com.anylogic.engine.markup.Level[] { level }; _createPersistentElementsBP0_xjal(); } protected ShapeTopLevelPresentationGroup presentation; protected ShapeModelElementsGroup icon; @Override @AnyLogicInternalCodegenAPI public ShapeTopLevelPresentationGroup getPresentationShape() { return presentation; } @Override @AnyLogicInternalCodegenAPI public ShapeModelElementsGroup getModelElementsShape() { return icon; } /** * Constructor */ public Document( Engine engine, Agent owner, AgentList<? extends Document> ownerPopulation ) { super( engine, owner, ownerPopulation ); instantiateBaseStructureThis_xjal(); } @AnyLogicInternalCodegenAPI public void onOwnerChanged_xjal() { super.onOwnerChanged_xjal(); setupReferences_xjal(); } @AnyLogicInternalCodegenAPI public void instantiateBaseStructure_xjal() { super.instantiateBaseStructure_xjal(); instantiateBaseStructureThis_xjal(); } @AnyLogicInternalCodegenAPI private void instantiateBaseStructureThis_xjal() { instantiatePersistentElements_xjal(); setupReferences_xjal(); } @AnyLogicInternalCodegenAPI private void setupReferences_xjal() { } /** * Simple constructor. Please add created agent to some population by calling goToPopulation() function */ public Document() { } @Override @AnyLogicInternalCodegenAPI public void doCreate() { super.doCreate(); // Assigning initial values for plain variables setupPlainVariables_Document_xjal(); // Dynamic initialization of persistent elements _createPersistentElementsAP0_xjal(); _initialize_level_xjal(); level.initialize(); presentation = new ShapeTopLevelPresentationGroup( Document.this, true, 0, 0, 0, 0 , level ); icon = new ShapeModelElementsGroup( Document.this, getElementProperty( "bank.Document.icon", IElementDescriptor.MODEL_ELEMENT_DESCRIPTORS ) ); icon.setIconOffsets( 0.0, 0.0 ); // Port connectors with non-replicated objects // Creating replicated embedded objects setupInitialConditions_xjal( Document.class ); // Dynamic initialization of persistent elements _createPersistentElementsBS0_xjal(); } @Override @AnyLogicInternalCodegenAPI public void doStart() { super.doStart(); } /** * Assigning initial values for plain variables<br> * <em>This method isn't designed to be called by user and may be removed in future releases.</em> */ @AnyLogicInternalCodegenAPI public void setupPlainVariables_xjal() { setupPlainVariables_Document_xjal(); } /** * Assigning initial values for plain variables<br> * <em>This method isn't designed to be called by user and may be removed in future releases.</em> */ @AnyLogicInternalCodegenAPI private void setupPlainVariables_Document_xjal() { } // User API ----------------------------------------------------- @AnyLogicInternalCodegenAPI public static LinkToAgentAnimationSettings _connections_commonAnimationSettings_xjal = new LinkToAgentAnimationSettingsImpl( false, black, 1.0, LINE_STYLE_SOLID, ARROW_NONE, 0.0 ); public LinkToAgentCollection<Agent, Agent> connections = new LinkToAgentStandardImpl<Agent, Agent>(this, _connections_commonAnimationSettings_xjal); @Override public LinkToAgentCollection<? extends Agent, ? extends Agent> getLinkToAgentStandard_xjal() { return connections; } @AnyLogicInternalCodegenAPI public void drawLinksToAgents(boolean _underAgents_xjal, LinkToAgentAnimator _animator_xjal) { super.drawLinksToAgents(_underAgents_xjal, _animator_xjal); if ( _underAgents_xjal ) { _animator_xjal.drawLink( this, connections, true, true ); } } public AgentList<? extends Document> getPopulation() { return (AgentList<? extends Document>) super.getPopulation(); } public List<? extends Document> agentsInRange( double distance ) { return (List<? extends Document>) super.agentsInRange( distance ); } } 

[модель запуска]: https://i.stack.imgur.com/8vGA4.jpg

I am running a model with a method that writes output in a CSV file using the CodeValue class. Every time the model runs, I get the message: Annotation processing got disabled, since it requires a 1.6 compliant JVM. Most of the time, everything works fine. However, I get this error sometimes: error during model destruction: truncated class file. When the error occurs, nothing is written in the CSV files.

AnyLogic 8 Personal Learning Edition 8.7.7
Build: 8.7.7.202109242327 x64

Annotation processing got disabled, since it requires a 1.6 compliant JVM Exception during discrete event execution: Truncated class file ---------- 1. ERROR in /fertility_bmi/Expression_1_xjal.java (at line 1) package fertility_bmi; ^ The type com.anylogic.engine.markup.PedFlowStatistics cannot be resolved. It is indirectly referenced from required .class files ---------- 2. ERROR in /fertility_bmi/Expression_1_xjal.java (at line 43) import com.anylogic.engine.markup.PedFlowStatistics; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The import com.anylogic.engine.markup.PedFlowStatistics cannot be resolved ---------- 2 problems (2 errors) java.lang.ClassFormatError: Truncated class file at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:877) at com.anylogic.engine.internal.q.b.j(Unknown Source) at com.anylogic.engine.internal.q.b.loadClass(Unknown Source) at com.anylogic.engine.internal.q.a.j(Unknown Source) at com.anylogic.engine.internal.o.b.j(Unknown Source) at com.anylogic.engine.Utilities.executeExpression(Unknown Source) at com.anylogic.engine.Utilities.executeExpression(Unknown Source) at com.anylogic.engine.database.CodeValue.execute(Unknown Source) at fertility_bmi.ExportOutput.getValues(ExportOutput.java:144) at fertility_bmi.Main.executeActionOf(Main.java:981) at com.anylogic.engine.EventTimeout.execute(Unknown Source) at com.anylogic.engine.Engine.j(Unknown Source) at com.anylogic.engine.Engine.runFast(Unknown Source) at com.anylogic.engine.Engine.runFast(Unknown Source) at com.anylogic.engine.ExperimentParamVariation$j.n(Unknown Source) at com.anylogic.engine.f$j.run(Unknown Source) Annotation processing got disabled, since it requires a 1.6 compliant JVM ---------- 1. ERROR in /fertility_bmi/Expression_1_xjal.java (at line 1) package fertility_bmi; ^ The type com.anylogic.engine.Engine cannot be resolved. It is indirectly referenced from required .class files ---------- 1 problem (1 error) Exception during discrete event execution: Truncated class file java.lang.ClassFormatError: Truncated class file at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:877) at com.anylogic.engine.internal.q.b.j(Unknown Source) at com.anylogic.engine.internal.q.b.loadClass(Unknown Source) at com.anylogic.engine.internal.q.a.j(Unknown Source) at com.anylogic.engine.internal.o.b.j(Unknown Source) at com.anylogic.engine.Utilities.executeExpression(Unknown Source) at com.anylogic.engine.Utilities.executeExpression(Unknown Source) at com.anylogic.engine.database.CodeValue.execute(Unknown Source) at fertility_bmi.ExportOutput.getValues(ExportOutput.java:144) at fertility_bmi.Main.executeActionOf(Main.java:981) at com.anylogic.engine.EventTimeout.execute(Unknown Source) at com.anylogic.engine.Engine.j(Unknown Source) at com.anylogic.engine.Engine.runFast(Unknown Source) at com.anylogic.engine.Engine.runFast(Unknown Source) at com.anylogic.engine.ExperimentParamVariation$j.n(Unknown Source) at com.anylogic.engine.f$j.run(Unknown Source) Annotation processing got disabled, since it requires a 1.6 compliant JVM Annotation processing got disabled, since it requires a 1.6 compliant JVM Annotation processing got disabled, since it requires a 1.6 compliant JVM Annotation processing got disabled, since it requires a 1.6 compliant JVM Annotation processing got disabled, since it requires a 1.6 compliant JVM Annotation processing got disabled, since it requires a 1.6 compliant JVM Error: Error in the model during iteration 68 java.lang.RuntimeException: Error in the model during iteration 68 at com.anylogic.engine.ExperimentParamVariation$j.n(Unknown Source) at com.anylogic.engine.f$j.run(Unknown Source) 

Any ideas on how to deal with this?

I am running a model with a method that writes output in a CSV file using the CodeValue class. Every time the model runs, I get the message: Annotation processing got disabled, since it requires a 1.6 compliant JVM. Most of the time, everything works fine. However, I get this error sometimes: error during model destruction: truncated class file. When the error occurs, nothing is written in the CSV files.

AnyLogic 8 Personal Learning Edition 8.7.7
Build: 8.7.7.202109242327 x64

Annotation processing got disabled, since it requires a 1.6 compliant JVM
Exception during discrete event execution:
Truncated class file
----------
1. ERROR in /fertility_bmi/Expression_1_xjal.java (at line 1)
package fertility_bmi;
^
The type com.anylogic.engine.markup.PedFlowStatistics cannot be resolved. It is indirectly referenced from required .class files
----------
2. ERROR in /fertility_bmi/Expression_1_xjal.java (at line 43)
import com.anylogic.engine.markup.PedFlowStatistics;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The import com.anylogic.engine.markup.PedFlowStatistics cannot be resolved
----------
2 problems (2 errors)
java.lang.ClassFormatError: Truncated class file
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:877)
at com.anylogic.engine.internal.q.b.j(Unknown Source)
at com.anylogic.engine.internal.q.b.loadClass(Unknown Source)
at com.anylogic.engine.internal.q.a.j(Unknown Source)
at com.anylogic.engine.internal.o.b.j(Unknown Source)
at com.anylogic.engine.Utilities.executeExpression(Unknown Source)
at com.anylogic.engine.Utilities.executeExpression(Unknown Source)
at com.anylogic.engine.database.CodeValue.execute(Unknown Source)
at fertility_bmi.ExportOutput.getValues(ExportOutput.java:144)
at fertility_bmi.Main.executeActionOf(Main.java:981)
at com.anylogic.engine.EventTimeout.execute(Unknown Source)
at com.anylogic.engine.Engine.j(Unknown Source)
at com.anylogic.engine.Engine.runFast(Unknown Source)
at com.anylogic.engine.Engine.runFast(Unknown Source)
at com.anylogic.engine.ExperimentParamVariation$j.n(Unknown Source)
at com.anylogic.engine.f$j.run(Unknown Source)
Annotation processing got disabled, since it requires a 1.6 compliant JVM
----------
1. ERROR in /fertility_bmi/Expression_1_xjal.java (at line 1)
package fertility_bmi;
^
The type com.anylogic.engine.Engine cannot be resolved. It is indirectly referenced from required .class files
----------
1 problem (1 error)
Exception during discrete event execution:
Truncated class file
java.lang.ClassFormatError: Truncated class file
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:877)
at com.anylogic.engine.internal.q.b.j(Unknown Source)
at com.anylogic.engine.internal.q.b.loadClass(Unknown Source)
at com.anylogic.engine.internal.q.a.j(Unknown Source)
at com.anylogic.engine.internal.o.b.j(Unknown Source)
at com.anylogic.engine.Utilities.executeExpression(Unknown Source)
at com.anylogic.engine.Utilities.executeExpression(Unknown Source)
at com.anylogic.engine.database.CodeValue.execute(Unknown Source)
at fertility_bmi.ExportOutput.getValues(ExportOutput.java:144)
at fertility_bmi.Main.executeActionOf(Main.java:981)
at com.anylogic.engine.EventTimeout.execute(Unknown Source)
at com.anylogic.engine.Engine.j(Unknown Source)
at com.anylogic.engine.Engine.runFast(Unknown Source)
at com.anylogic.engine.Engine.runFast(Unknown Source)
at com.anylogic.engine.ExperimentParamVariation$j.n(Unknown Source)
at com.anylogic.engine.f$j.run(Unknown Source)
Annotation processing got disabled, since it requires a 1.6 compliant JVM
Annotation processing got disabled, since it requires a 1.6 compliant JVM
Annotation processing got disabled, since it requires a 1.6 compliant JVM
Annotation processing got disabled, since it requires a 1.6 compliant JVM
Annotation processing got disabled, since it requires a 1.6 compliant JVM
Annotation processing got disabled, since it requires a 1.6 compliant JVM
Error:
Error in the model during iteration 68
java.lang.RuntimeException: Error in the model during iteration 68
at com.anylogic.engine.ExperimentParamVariation$j.n(Unknown Source)
at com.anylogic.engine.f$j.run(Unknown Source)

Any ideas on how to deal with this?

I have been trying to fix a NullPointerException for awhile now and I am completely stumped. It is occurring in a ‘seize’ block, but I cannot determine what exactly is causing it.

I have a feeling it could be the code I have inputted into the seize block due to the fact that I am a beginner.

I am trying to seize another agent and send it to different parts of the world via a parameter within the ‘order’ agent that contains a value from 1 to 8.

On seize unit I have the following code:

if (agent.missionLocation <= 1); KC30resource1.moveTo(main.AsiaRegion.randomPointInside());
{
if (agent.missionLocation <= 2); KC30resource1.moveTo(main.AfricaRegion.randomPointInside());
}
{
if (agent.missionLocation <= 3); KC30resource1.moveTo(main.MiddleeastRegion.randomPointInside());
}
{
if (agent.missionLocation <= 4); KC30resource1.moveTo(main.EuropeRegion.randomPointInside());
}
{
if (agent.missionLocation <= 5); KC30resource1.moveTo(main.NAmericaRegion.randomPointInside());
}
{
if (agent.missionLocation <= 6); KC30resource1.moveTo(main.SAmericaRegion.randomPointInside());
}
{
if (agent.missionLocation <= 7); KC30resource3.moveTo(main.AustraliaNzRegion.randomPointInside());
}
{
if (agent.missionLocation <= 8); KC30resource2.moveTo(main.PacificRegion.randomPointInside());
}

Could this be the reason why it is happening?

Exception during discrete event execution:
NullPointerException
java.lang.NullPointerException
at com.anylogic.libraries.processmodeling.Seize.a(Unknown Source)
at com.anylogic.libraries.processmodeling.Seize.a(Unknown Source)
at com.anylogic.libraries.processmodeling.Seize.a(Unknown Source)
at com.anylogic.libraries.processmodeling.Seize.a(Unknown Source)
at com.anylogic.libraries.processmodeling.Seize.a(Unknown Source)
at com.anylogic.libraries.processmodeling.Seize.a(Unknown Source)
at com.anylogic.libraries.processmodeling.Seize.a(Unknown Source)
at com.anylogic.libraries.processmodeling.Seize$16.a(Unknown Source)
at com.anylogic.libraries.processmodeling.Seize$16.action(Unknown Source)
at com.anylogic.libraries.processmodeling.AsynchronousExecutor_xjal.executeActionOf(Unknown Source)
at com.anylogic.engine.EventTimeout.execute(Unknown Source)
at com.anylogic.engine.Engine.f(Unknown Source)
at com.anylogic.engine.Engine.gj(Unknown Source)
at com.anylogic.engine.Engine.e(Unknown Source)
at com.anylogic.engine.Engine$m.run(Unknown Source)

Expected results are that the unit will fly to the GISregion specified in the code. Each ‘MoveTo’ block for each region is connect to the Seize block.

Thank you in advance.

Я пытаюсь построить новую модель в AnyLogic и получаю следующую ошибку:

Я действительно хватаюсь за соломинку, чтобы определить, что происходит не так, поскольку в окне проблемы нет ошибок. Единственное, о чем я могу думать, это то, что некоторое время назад я скопировал агентов и классы из старых моделей в эту. Однако модель компилировалась и запускалась после копирования-вставки, поэтому, если это связано, то это очень отложенная ошибка. У кого-нибудь есть идеи?

другой маршрут в Flask Python

другой маршрут в Flask Python

Flask — это фреймворк, который поддерживает веб-приложения. В этой статье я покажу, как мы можем использовать @app .route в flask, чтобы иметь другую…

Простое руководство по тестированию взаимодействия с пользователем с помощью библиотеки тестирования React

Использование ob_flush() в PHP при ожидании cURL

Тенденции развития PHP - почему люди выбирают его?

Принцип подстановки Лискова

Принцип подстановки Лискова

Принцип подстановки Лискова (LSP) — это принцип объектно-ориентированного программирования, который гласит, что объекты суперкласса должны иметь…

Версия Java на основе версии загрузки

Версия Java на основе версии загрузки

Если вы зайдете на официальный сайт Spring Boot , там представлен start.spring.io , который упрощает создание проектов Spring Boot, как показано ниже.


Ответы
1

Ответ принят как подходящий

Я нашел ответ: это проблема AnyLogic RunConfiguration. Чтобы исправить это, я сделал следующее:

  1. Я проверил ignore на всех моих агентах и ​​классах.
  2. Я пытался построить модель; как и ожидалось, RunConfiguration не может быть собран, поскольку у него больше нет агента верхнего уровня.
  3. Я снял отметку с ignore на всех моих агентах и ​​классах и дал RunConfiguration нового агента верхнего уровня.
  4. Внутренне это изменяет RunConfigurationActiveObjectClassId, что по какой-то причине решает проблему.

Надеюсь, это вам тоже поможет!

Другие вопросы по теме

Для решения сложных аналитических задач используют моделирование. Суть метода заключается в создании модели реального объекта, процесса или явления на основании его поведения. Построенную модель исследователи помещают в конкретные условия и получают интересующую информацию. В случае с бизнесом, это позволяет экономить ресурсы и деньги, а также оценивать риски событий.

Содержание

  1. Что это такое?
  2. Как установить?
  3. Что делать если «ошибка при выполнении дискретного события»?
  4. Как создать простую модель?
  5. Модель перекрестка
  6. Пакеты программ, их отличия и стоимость

Что это такое?

Программное обеспечение AnyLogic — удобный инструмент для имитационного моделирования в сфере бизнеса. Программа используется во множестве индустрий, включая логистику, производство, складское дело, нефтяную и газовые промышленности.

Имитационное моделирование облегчает поиск обоснований для принятия управленческих решений.

Умение работать с AnyLogic или схожими программными продуктами обязательное требование для таких профессий, как инженер и бизнес-аналитик.

Главной особенностью программы является простота и удобство использования. Благодаря графической среде моделирования создавать объекты исследования и управлять ими не составляет труда. Моделирование в AnyLogic построено на объектно-ориентированном принципе. Любая модель состоит из ряда объектов, каждый из которых имеет свои функции и взаимодействует с окружающей средой.

Предлагаем посмотреть видео о программе AnyLogic:

Как установить?

Что такое AnyLogic, как скачать и пользоваться этим ПО?Для того чтобы скачать и установить программу AnyLogic, следует выполнить ряд простых действий:

  1. Зайти на официальный сайт и нажать на кнопку «Скачать» в правом верхнем углу.
  2. Выбрать интересующую версию программы и повторно нажать «Скачать».
  3. Загрузить установочный файл, предварительно указав операционную систему устройства.

Программа корректно работает на операционных системах Windows, начиная с 7 версии, Mac OS X и Linux, в том числе Ubuntu.

После проделанных шагов начнется скачивание файла. Объем файла до 1 Гб, поэтому процедура загрузки занимается всего несколько минут. Для запуска установки необходимо дважды нажать на загруженный файл, чтобы запустился «Мастер установки». Следуйте всем инструкциям, чтобы успешно завершить установку.

Из основных шагов стоит выделить:

  • принятие лицензионного соглашения;
  • настроика директории установки и языка программы.

После этого начнется копирование файлов, а по завершению автоматически откроется «Мастер активации». Пользователям предлагается два варианта:

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

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

Скачивать программу лучше с официального сайта компании.

Что делать если «ошибка при выполнении дискретного события»?

Что такое AnyLogic, как скачать и пользоваться этим ПО?Одной из самых распространенных проблем, с которыми сталкиваются пользователи программы AnyLogic, является ошибка при выполнении дискретного события. Как правило, причина заключается в том, что следующий блок модели не может принять заявку.

Прочитайте официальную документацию о принципах формирования заявок (агентов).

Для того чтобы избавиться от ошибки, достаточно добавить блок очереди queue или увеличить его вместительность в настройках агента. Как вариант, можно увеличить лимит до бесконечности.

Как создать простую модель?

В нижеописанном примере рассмотрим пример модели обслуживания клиентов в терминале. Алгоритм работы простой — клиент подходит к устройству, выполняет рад действий и уходит. Для создания модели необходимо:

  1. Создать новую модель, указав ее имя, месторасположение и единицы модельного времени.
  2. Создать диаграмму, добавив нужные блоки из библиотеки моделирования процессов.
  3. Настроить параметры блоков, такие как интенсивность прибытия, вместимость очереди и время задержки.
  4. Запустить модель и проверить ее работоспособность.

Что такое AnyLogic, как скачать и пользоваться этим ПО?В нашем случае достаточно использование четырех блоков:

  • Source — генерирует агентов нужного типа, в нашем случае клиентов, которым нужен доступ к терминалу.
  • Queue — очередь из агентов, которым нужен доступ к объекту. Если очередь заполнена, агент уничтожается.
  • Delay — задерживает агентов на указанный период, другими словами блок симулирует время работы с терминалом.
  • Sink — уничтожает агентов после всех моделируемых действий.

Для запуска созданной модели достаточно нажать на кнопку запустить, расположенную в панели инструментов. Начнется симуляция процесса в режиме реального времени.

Временем моделирования можно управлять с помощью кнопок «Замедлить» и «Ускорить».

Модель перекрестка

Для создания модели перекрестка необходимо выделить основные характеристики события. Как правило, любое пересечение дорог регулируется светофорами, а в часы пик — возникают пробки и замедляется скорость движения.

Для создания модели необходимы следующие блоки:

  • Source — создание машин с заданным интервалом.
  • 2 Queue — очередь машин перед светофором.
  • 2 Conveyor — перемещает агентов с заданными промежутками между ними, сохраняя порядок следования.
  • Hold — останавливает агентов моделирования.
  • Sink — конец жизни моделируемого агента.

Для симуляции светофора используют стейтчарт, который создается с помощью «Диаграммы состояний». Можно настроить действие (изменение цвета), время сохранения состояния, возможность двигаться, скорость передвижения, замедление в случае включения желтого света и т.д.

Пакеты программ, их отличия и стоимость

Компания AnyLogic предлагает клиентам три версии программы, каждая из которых подходит для решения конкретных нужд и задач. Отличаются они функциональными возможностями. Ниже подробно рассмотрим каждую из них.

Что такое AnyLogic, как скачать и пользоваться этим ПО?

  1. Версия «Personal Learning Edition» подходит для студентов и новичков, которые хотят освоить программу. Доступ ко всем функциям бесплатный, но их количество ограничено. Программа предоставляет многоподходное моделирование, интеграцию с ГИС-картами, все доступные библиотеки, а также 2D и 3D анимацию. Помимо этого бесплатная версия работает с базами данных и текстовыми файлами, позволяет проводить эксперименты, экспорт моделей в AnyLogic Cloud и базовую отладку.
  2. Версия «University Researcher» предназначена для использования в открытых университетских исследованиях. Помимо функций студенческой программы, пользователям доступны расширенные возможности. Среди основных следует выделить:
    • неограниченный размер моделей;
    • техническая поддержка;
    • доступ к отраслевым библиотекам;
    • возможность работы с любыми базами данных;
    • дополнительные эксперименты, включая оптимизацию, калибровку, анализ чувствительности и т.д.;
    • экспорт приватных моделей в облачную версию.
  3. Версия «Professional» подходит для коммерческих компаний и государственных организаций. Все вышеперечисленные функции доступны в программе. Также владельцам профессиональной лицензии доступно следующее:
    • дополнительные элементы анимированного управления;
    • экспорт моделей и результатов в сторонние приложения;
    • сохранение и восстановления состояния объектов;
    • импорт чертежей в САПР;
    • расширенные функции отладки.

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

Программа AnyLogic упрощает работу аналитиков и инженеров. Благодаря графическому интерфейсу создание и настройка моделей не требует много времени, а полученные данные легко анимировать и визуализировать. Имитационное моделирование выгодно любому бизнесу, ведь для вместо экспериментов на реальной системе можно использовать компьютер и уже на основе полученного результата принимать решения.

I’m doing a project for studying. There is an agent with 2 variables that take the value True or False using the randomTrue() function.
The construction of the project does not reveal errors. At startup, it throws an error when executing a discrete event:NullPointerException. Not a single agent was entered into the system. On source 0.
I tried to change agents, changed randomTrue() to randomFalse(), with no results.
What are the options?

NullPointerException
java.lang.NullPointerException
    at com.anylogic.engine.Utilities.randomTrue(Unknown Source)
    at bank.Document.<init>(Document.java:78)
    at bank.Main._doc_enter_newEntity_xjal(Main.java:978)
    at bank.Main.access$0(Main.java:975)
    at bank.Main$1.newEntity(Main.java:312)
    at com.anylogic.libraries.processmodeling.Source.inject(Unknown Source)
    at com.anylogic.libraries.processmodeling.Source.executeActionOf(Unknown Source)
    at com.anylogic.engine.EventTimeout.execute(Unknown Source)
    at com.anylogic.engine.Engine.i(Unknown Source)
    at com.anylogic.engine.Engine.if(Unknown Source)
    at com.anylogic.engine.Engine.e(Unknown Source)
    at com.anylogic.engine.Engine$n.run(Unknown Source)
package bank;

import java.io.Serializable;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Currency;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.Locale;
import java.util.Map;
import java.util.PriorityQueue;
import java.util.Random;
import java.util.Set;
import java.util.SortedMap;
import java.util.SortedSet;
import java.util.Stack;
import java.util.Timer;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.Vector;
import java.awt.Color;
import java.awt.Font;
import com.anylogic.engine.connectivity.ResultSet;
import com.anylogic.engine.connectivity.Statement;
import com.anylogic.engine.elements.*;
import com.anylogic.engine.markup.Network;
import com.anylogic.engine.Position;
import com.anylogic.engine.markup.PedFlowStatistics;
import com.anylogic.engine.markup.DensityMap;


import static java.lang.Math.*;
import static com.anylogic.engine.UtilitiesArray.*;
import static com.anylogic.engine.UtilitiesCollection.*;
import static com.anylogic.engine.presentation.UtilitiesColor.*;
import static com.anylogic.engine.HyperArray.*;

import com.anylogic.engine.*;
import com.anylogic.engine.analysis.*;
import com.anylogic.engine.connectivity.*;
import com.anylogic.engine.database.*;
import com.anylogic.engine.gis.*;
import com.anylogic.engine.markup.*;
import com.anylogic.engine.routing.*;
import com.anylogic.engine.presentation.*;
import com.anylogic.engine.gui.*;

import com.anylogic.libraries.modules.markup_descriptors.*;
import com.anylogic.libraries.processmodeling.*;
import com.anylogic.libraries.material_handling.*;

import java.awt.geom.Arc2D;

public class Document extends Agent
{
  // Parameters
  // Plain Variables

  public final 
boolean 
 is_simple = 
randomTrue(0.6) 
;
  public final 
boolean 
 has_critical_errors = 
randomTrue(0.1) 
;
  @AnyLogicInternalCodegenAPI
  private static Map<String, IElementDescriptor> elementDesciptors_xjal = createElementDescriptors( Document.class );
  
  @AnyLogicInternalCodegenAPI
  @Override
  public Map<String, IElementDescriptor> getElementDesciptors() {
    return elementDesciptors_xjal;
  }
  @AnyLogicCustomProposalPriority(type = AnyLogicCustomProposalPriority.Type.STATIC_ELEMENT)
  public static final Scale scale = new Scale( 10.0 );

  @Override
  public Scale getScale() {
    return scale;
  }



    

  /** Internal constant, shouldn't be accessed by user */
  @AnyLogicInternalCodegenAPI
  protected static final int _STATECHART_COUNT_xjal = 0;


  // View areas
  public ViewArea _origin_VA = new ViewArea( this, "[Origin]", 0, 0, 1500.0, 600.0 );
  @Override
  @AnyLogicInternalCodegenAPI
  public int getViewAreas(Map<String, ViewArea> _output) {
    if ( _output != null ) {
      _output.put( "_origin_VA", this._origin_VA );
    }
    return 1 + super.getViewAreas( _output );
  }
  @AnyLogicInternalCodegenAPI
  protected static final Pair<String, Color>[] _person_customColors_xjal = new Pair[] {
    new Pair<String, Color>( "Material__3__Surf", null ),
    new Pair<String, Color>( "Material__5__Surf", null ),
    new Pair<String, Color>( "Material__6__Surf", null ),
    new Pair<String, Color>( "Material__2__Surf", null ),
    new Pair<String, Color>( "Material__4__Surf", null ),
    new Pair<String, Color>( "Material__1__Surf", null ),
  };
  @AnyLogicInternalCodegenAPI
  protected static final int _person = 1;

  /** Internal constant, shouldn't be accessed by user */
  @AnyLogicInternalCodegenAPI
  protected static final int _SHAPE_NEXT_ID_xjal = 2;

  @AnyLogicInternalCodegenAPI
  public boolean isPublicPresentationDefined() {
    return true;
  }

  @AnyLogicInternalCodegenAPI
  public boolean isEmbeddedAgentPresentationVisible( Agent _a ) {
    return super.isEmbeddedAgentPresentationVisible( _a );
  }
  @AnyLogicInternalCodegenAPI
  private void _initialize_level_xjal() {
      level.addAll(person);
  }

  protected Shape3DObject person;
  protected com.anylogic.engine.markup.Level level;

  private com.anylogic.engine.markup.Level[] _getLevels_xjal;

  @Override
  public com.anylogic.engine.markup.Level[] getLevels() {
    return _getLevels_xjal;
  }

  @AnyLogicInternalCodegenAPI
  private void _createPersistentElementsBP0_xjal() {
    person = new Shape3DObject(
        Document.this, SHAPE_DRAW_2D3D, true, 0.0, 0.0, 0.0, 0.0,
            1.0, true, "/bank/",
            "3d/person.dae", OBJECT_3D_YZX_AXIS_ORDER, OBJECT_3D_INTERNAL_LIGHTING_OFF, false, -5.0, -4.0,
            7.0, 7.0, null, _person_customColors_xjal );

  }

  @AnyLogicInternalCodegenAPI
  private void _createPersistentElementsAP0_xjal() {
  }

  @AnyLogicInternalCodegenAPI
  private void _createPersistentElementsBS0_xjal() {
  }


  // Static initialization of persistent elements
  private void instantiatePersistentElements_xjal() {
    level = new com.anylogic.engine.markup.Level(this, "level", SHAPE_DRAW_2D3D, 0.0, true, true);              
    _getLevels_xjal = new com.anylogic.engine.markup.Level[] { 
      level };
    _createPersistentElementsBP0_xjal();
  }
  protected ShapeTopLevelPresentationGroup presentation;
  protected ShapeModelElementsGroup icon; 

  @Override
  @AnyLogicInternalCodegenAPI
  public ShapeTopLevelPresentationGroup getPresentationShape() {
    return presentation;
  }

  @Override
  @AnyLogicInternalCodegenAPI
  public ShapeModelElementsGroup getModelElementsShape() {
    return icon;
  }

    


  /**
   * Constructor
   */
  public Document( Engine engine, Agent owner, AgentList<? extends Document> ownerPopulation ) {
    super( engine, owner, ownerPopulation );
    instantiateBaseStructureThis_xjal();
  }

  @AnyLogicInternalCodegenAPI
  public void onOwnerChanged_xjal() {
    super.onOwnerChanged_xjal();
    setupReferences_xjal();
  }

  @AnyLogicInternalCodegenAPI
  public void instantiateBaseStructure_xjal() {
    super.instantiateBaseStructure_xjal();
    instantiateBaseStructureThis_xjal();
  }
  
  @AnyLogicInternalCodegenAPI
  private void instantiateBaseStructureThis_xjal() {
    instantiatePersistentElements_xjal();
    setupReferences_xjal();
  }
  
  @AnyLogicInternalCodegenAPI
  private void setupReferences_xjal() {
  }
  
  /**
   * Simple constructor. Please add created agent to some population by calling goToPopulation() function
   */
  public Document() {
  }
  
  @Override
  @AnyLogicInternalCodegenAPI
  public void doCreate() {
    super.doCreate();
    // Assigning initial values for plain variables
    setupPlainVariables_Document_xjal();
    // Dynamic initialization of persistent elements
    _createPersistentElementsAP0_xjal();
    _initialize_level_xjal();
    level.initialize();
    presentation = new ShapeTopLevelPresentationGroup( Document.this, true, 0, 0, 0, 0 , level );
    icon = new ShapeModelElementsGroup( Document.this, getElementProperty( "bank.Document.icon", IElementDescriptor.MODEL_ELEMENT_DESCRIPTORS )  );
    icon.setIconOffsets( 0.0, 0.0 );
     // Port connectors with non-replicated objects
    // Creating replicated embedded objects
    setupInitialConditions_xjal( Document.class );
    // Dynamic initialization of persistent elements
    _createPersistentElementsBS0_xjal();
  }

  @Override
  @AnyLogicInternalCodegenAPI
  public void doStart() {
    super.doStart();
  }
 

  /**
   * Assigning initial values for plain variables<br>
   * <em>This method isn't designed to be called by user and may be removed in future releases.</em>
   */
  @AnyLogicInternalCodegenAPI
  public void setupPlainVariables_xjal() {
    setupPlainVariables_Document_xjal();
  }

  /**
   * Assigning initial values for plain variables<br>
   * <em>This method isn't designed to be called by user and may be removed in future releases.</em>
   */
  @AnyLogicInternalCodegenAPI
  private void setupPlainVariables_Document_xjal() {
  }

  // User API -----------------------------------------------------
  @AnyLogicInternalCodegenAPI
  public static LinkToAgentAnimationSettings _connections_commonAnimationSettings_xjal = new LinkToAgentAnimationSettingsImpl( false, black, 1.0, LINE_STYLE_SOLID, ARROW_NONE, 0.0 );

  public LinkToAgentCollection<Agent, Agent> connections = new LinkToAgentStandardImpl<Agent, Agent>(this, _connections_commonAnimationSettings_xjal);
  @Override
  public LinkToAgentCollection<? extends Agent, ? extends Agent> getLinkToAgentStandard_xjal() {
    return connections;
  }


  @AnyLogicInternalCodegenAPI
  public void drawLinksToAgents(boolean _underAgents_xjal, LinkToAgentAnimator _animator_xjal) {
    super.drawLinksToAgents(_underAgents_xjal, _animator_xjal);
    if ( _underAgents_xjal ) {
      _animator_xjal.drawLink( this, connections, true, true );
    }
  }

  public AgentList<? extends Document> getPopulation() {
    return (AgentList<? extends Document>) super.getPopulation();
  }

  public List<? extends Document> agentsInRange( double distance ) {
    return (List<? extends Document>) super.agentsInRange( distance );
  }



}

[run model] : https://i.stack.imgur.com/8vGA4.jpg

Я делаю проект для учебы. Существует агент с двумя переменными, которые принимают значение True или False с помощью функции randomTrue (). Построение проекта ошибок не выявляет. При запуске выдает ошибку при выполнении дискретного события: NullPointerException. В систему не было введено ни одного агента. На источнике 0. Я попытался сменить агентов, изменил randomTrue () на randomFalse (), но безрезультатно. Какие есть варианты?

NullPointerException
java.lang.NullPointerException
    at com.anylogic.engine.Utilities.randomTrue(Unknown Source)
    at bank.Document.<init>(Document.java:78)
    at bank.Main._doc_enter_newEntity_xjal(Main.java:978)
    at bank.Main.access$0(Main.java:975)
    at bank.Main$1.newEntity(Main.java:312)
    at com.anylogic.libraries.processmodeling.Source.inject(Unknown Source)
    at com.anylogic.libraries.processmodeling.Source.executeActionOf(Unknown Source)
    at com.anylogic.engine.EventTimeout.execute(Unknown Source)
    at com.anylogic.engine.Engine.i(Unknown Source)
    at com.anylogic.engine.Engine.if(Unknown Source)
    at com.anylogic.engine.Engine.e(Unknown Source)
    at com.anylogic.engine.Engine$n.run(Unknown Source)
package bank;

import java.io.Serializable;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Currency;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.Locale;
import java.util.Map;
import java.util.PriorityQueue;
import java.util.Random;
import java.util.Set;
import java.util.SortedMap;
import java.util.SortedSet;
import java.util.Stack;
import java.util.Timer;
import java.util.TreeMap;
import java.util.TreeSet;
import java.util.Vector;
import java.awt.Color;
import java.awt.Font;
import com.anylogic.engine.connectivity.ResultSet;
import com.anylogic.engine.connectivity.Statement;
import com.anylogic.engine.elements.*;
import com.anylogic.engine.markup.Network;
import com.anylogic.engine.Position;
import com.anylogic.engine.markup.PedFlowStatistics;
import com.anylogic.engine.markup.DensityMap;


import static java.lang.Math.*;
import static com.anylogic.engine.UtilitiesArray.*;
import static com.anylogic.engine.UtilitiesCollection.*;
import static com.anylogic.engine.presentation.UtilitiesColor.*;
import static com.anylogic.engine.HyperArray.*;

import com.anylogic.engine.*;
import com.anylogic.engine.analysis.*;
import com.anylogic.engine.connectivity.*;
import com.anylogic.engine.database.*;
import com.anylogic.engine.gis.*;
import com.anylogic.engine.markup.*;
import com.anylogic.engine.routing.*;
import com.anylogic.engine.presentation.*;
import com.anylogic.engine.gui.*;

import com.anylogic.libraries.modules.markup_descriptors.*;
import com.anylogic.libraries.processmodeling.*;
import com.anylogic.libraries.material_handling.*;

import java.awt.geom.Arc2D;

public class Document extends Agent
{
  // Parameters
  // Plain Variables

  public final 
boolean 
 is_simple = 
randomTrue(0.6) 
;
  public final 
boolean 
 has_critical_errors = 
randomTrue(0.1) 
;
  @AnyLogicInternalCodegenAPI
  private static Map<String, IElementDescriptor> elementDesciptors_xjal = createElementDescriptors( Document.class );
  
  @AnyLogicInternalCodegenAPI
  @Override
  public Map<String, IElementDescriptor> getElementDesciptors() {
    return elementDesciptors_xjal;
  }
  @AnyLogicCustomProposalPriority(type = AnyLogicCustomProposalPriority.Type.STATIC_ELEMENT)
  public static final Scale scale = new Scale( 10.0 );

  @Override
  public Scale getScale() {
    return scale;
  }



    

  /** Internal constant, shouldn't be accessed by user */
  @AnyLogicInternalCodegenAPI
  protected static final int _STATECHART_COUNT_xjal = 0;


  // View areas
  public ViewArea _origin_VA = new ViewArea( this, "[Origin]", 0, 0, 1500.0, 600.0 );
  @Override
  @AnyLogicInternalCodegenAPI
  public int getViewAreas(Map<String, ViewArea> _output) {
    if ( _output != null ) {
      _output.put( "_origin_VA", this._origin_VA );
    }
    return 1 + super.getViewAreas( _output );
  }
  @AnyLogicInternalCodegenAPI
  protected static final Pair<String, Color>[] _person_customColors_xjal = new Pair[] {
    new Pair<String, Color>( "Material__3__Surf", null ),
    new Pair<String, Color>( "Material__5__Surf", null ),
    new Pair<String, Color>( "Material__6__Surf", null ),
    new Pair<String, Color>( "Material__2__Surf", null ),
    new Pair<String, Color>( "Material__4__Surf", null ),
    new Pair<String, Color>( "Material__1__Surf", null ),
  };
  @AnyLogicInternalCodegenAPI
  protected static final int _person = 1;

  /** Internal constant, shouldn't be accessed by user */
  @AnyLogicInternalCodegenAPI
  protected static final int _SHAPE_NEXT_ID_xjal = 2;

  @AnyLogicInternalCodegenAPI
  public boolean isPublicPresentationDefined() {
    return true;
  }

  @AnyLogicInternalCodegenAPI
  public boolean isEmbeddedAgentPresentationVisible( Agent _a ) {
    return super.isEmbeddedAgentPresentationVisible( _a );
  }
  @AnyLogicInternalCodegenAPI
  private void _initialize_level_xjal() {
      level.addAll(person);
  }

  protected Shape3DObject person;
  protected com.anylogic.engine.markup.Level level;

  private com.anylogic.engine.markup.Level[] _getLevels_xjal;

  @Override
  public com.anylogic.engine.markup.Level[] getLevels() {
    return _getLevels_xjal;
  }

  @AnyLogicInternalCodegenAPI
  private void _createPersistentElementsBP0_xjal() {
    person = new Shape3DObject(
        Document.this, SHAPE_DRAW_2D3D, true, 0.0, 0.0, 0.0, 0.0,
            1.0, true, "/bank/",
            "3d/person.dae", OBJECT_3D_YZX_AXIS_ORDER, OBJECT_3D_INTERNAL_LIGHTING_OFF, false, -5.0, -4.0,
            7.0, 7.0, null, _person_customColors_xjal );

  }

  @AnyLogicInternalCodegenAPI
  private void _createPersistentElementsAP0_xjal() {
  }

  @AnyLogicInternalCodegenAPI
  private void _createPersistentElementsBS0_xjal() {
  }


  // Static initialization of persistent elements
  private void instantiatePersistentElements_xjal() {
    level = new com.anylogic.engine.markup.Level(this, "level", SHAPE_DRAW_2D3D, 0.0, true, true);              
    _getLevels_xjal = new com.anylogic.engine.markup.Level[] { 
      level };
    _createPersistentElementsBP0_xjal();
  }
  protected ShapeTopLevelPresentationGroup presentation;
  protected ShapeModelElementsGroup icon; 

  @Override
  @AnyLogicInternalCodegenAPI
  public ShapeTopLevelPresentationGroup getPresentationShape() {
    return presentation;
  }

  @Override
  @AnyLogicInternalCodegenAPI
  public ShapeModelElementsGroup getModelElementsShape() {
    return icon;
  }

    


  /**
   * Constructor
   */
  public Document( Engine engine, Agent owner, AgentList<? extends Document> ownerPopulation ) {
    super( engine, owner, ownerPopulation );
    instantiateBaseStructureThis_xjal();
  }

  @AnyLogicInternalCodegenAPI
  public void onOwnerChanged_xjal() {
    super.onOwnerChanged_xjal();
    setupReferences_xjal();
  }

  @AnyLogicInternalCodegenAPI
  public void instantiateBaseStructure_xjal() {
    super.instantiateBaseStructure_xjal();
    instantiateBaseStructureThis_xjal();
  }
  
  @AnyLogicInternalCodegenAPI
  private void instantiateBaseStructureThis_xjal() {
    instantiatePersistentElements_xjal();
    setupReferences_xjal();
  }
  
  @AnyLogicInternalCodegenAPI
  private void setupReferences_xjal() {
  }
  
  /**
   * Simple constructor. Please add created agent to some population by calling goToPopulation() function
   */
  public Document() {
  }
  
  @Override
  @AnyLogicInternalCodegenAPI
  public void doCreate() {
    super.doCreate();
    // Assigning initial values for plain variables
    setupPlainVariables_Document_xjal();
    // Dynamic initialization of persistent elements
    _createPersistentElementsAP0_xjal();
    _initialize_level_xjal();
    level.initialize();
    presentation = new ShapeTopLevelPresentationGroup( Document.this, true, 0, 0, 0, 0 , level );
    icon = new ShapeModelElementsGroup( Document.this, getElementProperty( "bank.Document.icon", IElementDescriptor.MODEL_ELEMENT_DESCRIPTORS )  );
    icon.setIconOffsets( 0.0, 0.0 );
     // Port connectors with non-replicated objects
    // Creating replicated embedded objects
    setupInitialConditions_xjal( Document.class );
    // Dynamic initialization of persistent elements
    _createPersistentElementsBS0_xjal();
  }

  @Override
  @AnyLogicInternalCodegenAPI
  public void doStart() {
    super.doStart();
  }
 

  /**
   * Assigning initial values for plain variables<br>
   * <em>This method isn't designed to be called by user and may be removed in future releases.</em>
   */
  @AnyLogicInternalCodegenAPI
  public void setupPlainVariables_xjal() {
    setupPlainVariables_Document_xjal();
  }

  /**
   * Assigning initial values for plain variables<br>
   * <em>This method isn't designed to be called by user and may be removed in future releases.</em>
   */
  @AnyLogicInternalCodegenAPI
  private void setupPlainVariables_Document_xjal() {
  }

  // User API -----------------------------------------------------
  @AnyLogicInternalCodegenAPI
  public static LinkToAgentAnimationSettings _connections_commonAnimationSettings_xjal = new LinkToAgentAnimationSettingsImpl( false, black, 1.0, LINE_STYLE_SOLID, ARROW_NONE, 0.0 );

  public LinkToAgentCollection<Agent, Agent> connections = new LinkToAgentStandardImpl<Agent, Agent>(this, _connections_commonAnimationSettings_xjal);
  @Override
  public LinkToAgentCollection<? extends Agent, ? extends Agent> getLinkToAgentStandard_xjal() {
    return connections;
  }


  @AnyLogicInternalCodegenAPI
  public void drawLinksToAgents(boolean _underAgents_xjal, LinkToAgentAnimator _animator_xjal) {
    super.drawLinksToAgents(_underAgents_xjal, _animator_xjal);
    if ( _underAgents_xjal ) {
      _animator_xjal.drawLink( this, connections, true, true );
    }
  }

  public AgentList<? extends Document> getPopulation() {
    return (AgentList<? extends Document>) super.getPopulation();
  }

  public List<? extends Document> agentsInRange( double distance ) {
    return (List<? extends Document>) super.agentsInRange( distance );
  }



}

[модель запуска]: https://i.stack.imgur.com/8vGA4.jpg

Понравилась статья? Поделить с друзьями:
  • Ошибка при выключении компьютера 0xc0000142 виндовс 10
  • Ошибка при выполнении гимнастического упражнения прекращение действия это
  • Ошибка при выкладывании истории в инстаграм
  • Ошибка при выполнении гимнастического упражнения называется прекращение действия
  • Ошибка при вызовы метода контекста