Page 1 of 1
Weekday timetable 29/01/2012 at 06:13 #28378 | |
northroad
![]() 872 posts |
When writing a timetable that caters for all days of the week i.e. Monday to Friday how do you get the Sim/Timetable to pick out and run a particular day of the week. For instance if when writing the timetable I input the trains that run on a Monday only or Tuesday only etc. how does the simualtion pick which day of the week to run randomly and which services to use. Do I need to put some rule in the timetable when writing it to run the simualation as a Monday and if so how do you do this. Is it something to do with the probability when entering a service i.e. showing only 20% instead of 100% or do you put in a specific rule in the rules section. Any help would be appreciated. ![]() Geoff Log in to reply |
Re: Weekday timetable 29/01/2012 at 08:54 #28381 | |
Peter Bennet
![]() 5377 posts |
I believe the way it's been done before is to have a light engines or shunters run right at the beginning of the timetable on a 1 in 5 probability representing M-F then test the variable trains against which ever ran. So You'd have 0Z00-1, 0Z00-2 to 0Z00-5 (or 7) with the relevant "noif" rules set and probabilities as per the WIKI guide (too early in the morning to work out the probabilities for 5 or 7 trains). Then if 0Z00-1 represents Monday apply a test rule to all the MO trains. Peter I identify as half man half biscuit - crumbs! Last edited: 29/01/2012 at 08:55 by Peter Bennet Log in to reply |
Re: Weekday timetable 29/01/2012 at 10:24 #28386 | |
postal
![]() 5216 posts |
Geoff Following on from what Peter wrote, you need to have a "seed" train early in the TT which runs on all 5 days and then create 5 clones. This can be any train as long as you can create 5 versions. The TT logic looks at them in alpha-numeric order (i.e. it will look at 1A01-1, then 1A01-2, 1A01-3 etc.). To give each of the clones an equal chance of running, you set the probability of 1A01-1 running at 20% to give it a 1 in 5 chance of running. If 1A01-1 does not run (so the Monday TT is not to run), there are 4 days of the week left to pick from so 1A01-2 needs a 25% probability, then 1A01-3 a 33% chance, 1A01-4 a 50% chance and 1A01-5 should have a probability that it always runs. Then set up rules so that the trains are mutually exclusive. As the various flavours of core code handle things slightly differently, you will need to experiment with the sim you are using to see whether you need to write individual rules (e.g. 1A01-1 must not run if 1A01-2 runs, 1A01-1 must not run if 1A01-3 runs etc. etc.) or use a MutEx rule or use the XOR button. That defines the day of the week that the TT will run. It does not exactly give a 1 in 5 chance because of the way that the sim logic works. My understanding may be wrong, but I think that if the sim puts a delay into the entry of one of the trains at the top of the clone list, then the program does not consider the rules/probability affecting that train until it is due to enter. Therefore the trains at the top of the clone list will enter slightly less often than 1 in 5 and those at the bottom slightly more but it is probably not mission-critical problem! It is a random selection and there is no operator input to select the day of the week. It also means that the rules outlined below will not work if the TT is deliberately started after the "seed" has run and so lots of trains will not run and lots of other trains will run when they should be excluded because other trains have run. Then for each train which is dated in the TT you need to set up individual rules. As a starting point, even though a train is TT'd to run on only one day of the week and so has a 20% probability of running, the TT for the train should have no probability set; the rules you write for the train will define how/when it runs. For a train running one or two days a week it is probably easiest to write one or two rules that 6A01 must enter 0 minutes after 1A01-1 enters the area and 6A01 must enter 0 minutes after 1A01-3 enters the area. 6A01 will then enter at its due time if the TT is running the Monday or Wednesday TT. For train running more often, it is probably easier to enter rules that 6A01 must not run if 1A01-1 runs and 6A01 must not run if 1A01-3 runs. This will run 6A01 in the Tuesday, Thursday and Friday TTs. However, there is nothing stopping you using one or the other of the methods and having 4 rules for a train that only runs one one day of the week (or conversely 4 rules for a train that only fails to run on one day). If you want to set up a TT/group of TTs where the operator can select the day of the week, you need to create a batch like Pascal (58050) has created for the Sheffield sim. You write a core TT which contains all of the "every weekday" trains then an individual TT containing all trains due to run on Monday, another containing all the Tuesday trains etc. A MWO train would appear in both the Monday and Wednesday TTs. To use the TT, open the sim, start a new game with the core TT then go to the TT menu and "Open (merge with current)" to select one of the day TTs. This method has two advantage in that the user can select the day of the week and it is also possible to start the TT after its normal start time and not have the problem of missing or duplicated trains. However, it requires creation of more TTs and an additional operator input when the sim is started. Hope that all makes sense. “In life, there is always someone out there, who won’t like you, for whatever reason, don’t let the insecurities in their lives affect yours.” – Rashida Rowe Log in to reply The following users said thank you: headshot119, officer dibble, alan_s |
Re: Weekday timetable 29/01/2012 at 11:09 #28387 | |
58050
![]() 2652 posts |
John, I may have written the timetable for Sheffield 1983-1984, but the credit for the splitting of the timetable into different days of the week go to John(Meld). He was the one that did all the work there.
Log in to reply The following user said thank you: Meld |
Re: Weekday timetable 29/01/2012 at 13:19 #28393 | |
postal
![]() 5216 posts |
" said:John, I may have written the timetable for Sheffield 1983-1984, but the credit for the splitting of the timetable into different days of the week go to John(Meld). He was the one that did all the work there.Apologies to John then for not attributing the credit properly! “In life, there is always someone out there, who won’t like you, for whatever reason, don’t let the insecurities in their lives affect yours.” – Rashida Rowe Log in to reply The following user said thank you: Meld |
Re: Weekday timetable 29/01/2012 at 15:02 #28401 | |
Meld
![]() 1108 posts |
I have to admit If Pascal hadn't created the timetable the way he did by basically producing a main version and Andy G's work in creating the original split for the passenger and freights and by updating each section individually thereafter, it would have been a nightmare of XOR & MUTIF's. The finished up being in 3 sections Passenger, Freight & Specials when it came to me, The Passenger and Freights were then duplicated and the EWD trains were deleted to create a daily booked additional TT with the services in that TT deleted from the EWD one. Then merging both these new TT's with the Specials TT. The next stage of the process was to create an Excel sheet with Headcodes to Days for the newly created TT eg 6M32 M - W - F, by filterng by day it was then possible to create 5 copies of the Specials TT and deleteing the services not required on that particular day. An intersting aside to this project was the 4M38 mail whch ran to the same times EWD but had to go in the specials TT for the booked drop off vans at Chesterfield, which were added at Sheffield on Wednesdays only. Hope this gives you an idea of how I did it Passed the age to be doing 'Spoon Feeding' !!! Log in to reply |
Re: Weekday timetable 30/01/2012 at 06:08 #28423 | |
northroad
![]() 872 posts |
Thanks for all the responses guys they are much appreciated. My interpretation of the editor and the use of the probabilities of running percentage function were way out. A few hours of trial and error are called for. Geoff ![]() Log in to reply |