Отсылаю к похожей проблеме здесь.
Я реализовал программно созданное расписание так же, как и в примере модели из AnyLogic Cloud. Затем я добавил предложенный код в поле емкости.
Тем не менее, моя проблема заключается в следующей ошибке времени выполнения: «Параметр capacitySchedule не может быть изменен динамически». Он просто в принципе не работает с пулом ресурсов по сравнению с транспортным флотом, представленным в аналогичной задаче? К сожалению, это не работает и с поддельным расписанием.
Вот несколько скриншотов с моей модели. Заранее спасибо.
Теперь я немного смущен. Я не создал параметр capacitySchedule. Я только что создал переменную schedule
, как в примере AnyLogic Cloud, с типом Schedule<Integer>.
.set_capacitySchedule(...)
это внутренний метод anylogic, не так ли?
Извини, я виноват. Таким образом, ошибка сообщает вам, в чем проблема: вы не можете использовать метод set_capacitySchedule
.
Измените «Kapaziät definiert» на «По расписанию».
Создайте поддельный объект расписания fakeSchedule
(обычно, не программно). Убедитесь, что он всегда возвращает 0 в качестве значения.
Затем используйте этот призыв для «Kapazität»:
' mySchedule == null ? поддельное расписание : мое расписание`
Это укажет пулу использовать ваше расписание, если оно существует, иначе поддельное.
К сожалению, я все еще получаю эту ошибку. Что я делаю неправильно?! В качестве примера я выбрал размер 5. Вот скриншот моего ResourcePool: imgur.com/a/LXcz4wg А вот скриншот моего фейкового расписания: imgur.com/a/tzYKNAr Реализовал ли я что-то неправильный? Я полагал, что сделал все, что вы предложили...
Для работы с динамической емкостью ResourcePool я использую смену расписания по плану. в некоторых случаях это удовлетворяет потребность. Реализация этого проста, в расписании вы даете значения 1,2,3 и т. д. Они фактически указывают на позицию в массиве.
И внутри ResourcePool вы определяете его следующим образом:
Пример ResourcePool на самолете
В моем примере, когда значение расписания равно 4, емкость ResourcePool равна 0, а в другое время это соответствует моим параметрам.
Это очень хорошая идея, спасибо! Возможно, я буду использовать его в своей модели, но я бы предпочел, чтобы время начала и окончания моих смен также изменялось как параметр. И я думаю (поправьте меня, если я ошибаюсь) это невозможно с вашим предложением?
Я думаю, что это возможно. Попробуйте построить функцию в соответствии с вашими потребностями, которая возвращает расписание. В настройках ResourcePool выберите вариант значения и вызовите функцию там. Подробнее о параметрах ResourcePool читайте здесь
Скорее всего что-то другое. У вас не показывается параметр
capacitySchedule
, как и где вы его используете?