operation - car forwarding

I’d like to have the following features available from a computer generated operating program:-

-to be able to add and/or remove rolling stock according to the “built” date to ensure similar rolling stock is run [no arch bar trucks under cars w/ truss rods running w/ 86’ high cubes]

-to have cars held in industries for a random length of time [or a random number of operating sessions] that is programmable [perhaps on a bell curve so that 30% of the time =1 session / 60% of the time = 2 sessions / and 10% of the time = 3 sessions : but programmable so that each industry could hold a car for a different amount of time

Does anyone have knowledge of a commercially available program?

Thanx,

BGT