Anylogic: используйте индивидуальный генератор случайных чисел для каждого ресурса

#java #random #anylogic

#java #Случайный #anylogic

Вопрос:

Мы работаем над моделированием производственной цепочки из шести машин, соединенных последовательно. Для всех из них нам нужно время сбоя и т.д. которые распределяются по-разному.

Я ищу способ реализовать индивидуальный RNG для каждого из используемых ресурсов. Нам нужны шесть разных ГСЧ. К сожалению, мы с трудом понимаем, как это реализовать и использовать. Документ Anylogic на самом деле не помогает / объясняет. Здесь что-то говорится об использовании класса Java Random.

В примере говорится: triangular ( 5, 10, 25, myRNG) — как реализовать myRNG и является ли это объектом или числом?

Ответ №1:

myRNG, который вы указываете в своем вопросе, должен быть экземпляром класса Random или подкласса Random.

Random — это класс Java, который вы можете свободно использовать. Чтобы сгенерировать экземпляр этого класса, вам нужно будет выполнить Random rand=new Random() ; или вы можете использовать его непосредственно в своем дистрибутиве:

 triangular( 5, 10, 25, new Random() ) 
  

Теперь подкласс — это другой класс, отличный от класса Random, но наследующий все его свойства. Чтобы создать подкласс, вам нужно сделать это самостоятельно и изучить Java в целом, и как новичок, я не понимаю, зачем вам это нужно.

Если вам нужны 6 разных RNG, я думаю, вас устроили бы seeds в вашем случайном классе, чтобы вы могли определить и проиндексировать каждое из ваших seeds и сделать

 triangular( 5, 10, 25, new Random(seeds.get(index)) ) 
  

предположим, у вас есть коллекция под названием seeds, в которой хранятся все начальные значения, которые вы хотите использовать.