Upcoming Games

No games to display

Full list
Add a game

Upcoming Events

No events to display

Query on decisions function

You are here: Home > Forum > General > General questions, comments, and issues > Query on decisions function

Page 1 of 1

Query on decisions function 09/10/2015 at 08:36 #76738
jc92
Avatar
3631 posts
I've noted decisions are now a thing, but I dont really know how to use them.

Will there be anyone from the development team at the meet who could run a brief workshop on them?

"We don't stop camborne wednesdays"
Log in to reply
Query on decisions function 09/10/2015 at 09:12 #76739
postal
Avatar
5196 posts
" said:
I've noted decisions are now a thing, but I dont really know how to use them.

Will there be anyone from the development team at the meet who could run a brief workshop on them?
Joe

I am a user rather than a developer so I have as much or as little information about the module as you do. However, I have started to use in some of the TTs I am updating and they are a lot simpler to use and less daunting than might appear.

As a starting point, lets take a Day-of-the-Week TT. This is normally set up with a D-o-t-W seed ordained by an "are alternatives" rule then a multitude of rules to govern the entry of other dated trains. With the module, you set up a Decision with whatever title you wish (so maybe DotW in this case). Within the decision you then set up 5 choices. You don't need to write anything into the choices, you just list 5 entries (maybe M,T,W,TH,F). You then go to the TT for each train that only enters on one day of the week, take out the rule governing the entry and instead in the individual TT you enter DotW in the Decision box and M, T or whatever as appropriate in the Choice box. And that's it. It has enabled me to take nearly 200 rules out of Pascal's Carlisle TT. At the moment, I haven't found a way to use Decisions for trains entering on more than one day of the week but I have submitted a suggestion on the bug-board that the module be modified so that you could add multiple choices to a TT under a single decision and also enter a "NOT" so that you have have an MX train which you entered as Decision DotW and Choice NOT M. That means that currently there is still a DotW seed in the TT to allow for the MWFO and similar trains; but if you have a TT which only has single day dated trains or the enhancements I have suggested are possible, then the DotW seed will be redundant and could be taken out of the TT.

You can also use the Decision module when defining activities. For example you might have a TT with a number of trip working scenarios so one day 6T00 will form 6T02A as it next working and on another day 6T02B. Under the previous system you would have to have two separate TT sets going back up the chain until you had an entry point where you could use a rule to decide which should enter. Now you can go to the TT for 6T00 and add an activity for N 6T02A but include a decision (maybe DotW and M). Then in the same TT for 6T00 you add a second activity for N 6T02B with DotW and T. For something running over 5 days you would need to add in 5 N activities with the relevant Choice against the activity. You might for example end up with 3 activities for N 6T02A with choices M,W,F and 2 for 6T02B with choices T,TH.

As a further enhancement I have asked if the Decision could also be applied to rules (so for example 6T002A enters x minutes after 6T00A in some cases and y minutes after 6T00B in others). Again that is not currently possible and you end up with complex chains of TTs to lead you to a single train further down the TT.

That all looks complex and difficult but I promise you it is not; it is really easy once you get your head round it.

There will no doubt be lots more you can do through the Decision module, but that should be enough to get you started playing with it.

“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
Last edited: 09/10/2015 at 09:15 by postal
Log in to reply
Query on decisions function 09/10/2015 at 11:33 #76742
jc92
Avatar
3631 posts
so starting with basics.

lets say I have train 1G00 which is a loco and DVT running to New Street. its booked to terminate and run back in push pull mode so I choose N:1A00 as an activity. should I wish to simulate a DVT failure 20% of the time, requiring the loco to run round, how would I do this?


  • create decision and name it "DVT Failure"

  • create first choice and name "DVT failed" - weight 2, announcement "DVT on 1G00 has failed please run loco round"

  • create Second choice and name "DVT ok" - weight 8.

  • go into 1G00's timetable entry, open up its location at new street, open the activity box.

  • under decision choose DVT Failure.

  • under choice enter ???? (wiki isnt clear on format)



I don't think the Wiki entry is complete as although it explains the concept and rough application of these decisions, it is missing a detailed explanation or example of how to use them.

"We don't stop camborne wednesdays"
Log in to reply
Query on decisions function 09/10/2015 at 12:07 #76743
jc92
Avatar
3631 posts
Right I've cracked the seeding/entry choices now. I've updated North Wales Coast to use Decisions for Seeding the DOTW seed and also for the trains running one day only. it also pops a message up saying "Today is XXX"

I do at some point want to have the option of having to remove a crippled coach from a Euston Holyhead and shunt it into the C.S. sometimes. Will work on that next.

"We don't stop camborne wednesdays"
Log in to reply
Query on decisions function 09/10/2015 at 14:59 #76745
postal
Avatar
5196 posts
" said:
so starting with basics.

lets say I have train 1G00 which is a loco and DVT running to New Street. its booked to terminate and run back in push pull mode so I choose N:1A00 as an activity. should I wish to simulate a DVT failure 20% of the time, requiring the loco to run round, how would I do this?


  • create decision and name it "DVT Failure"

  • create first choice and name "DVT failed" - weight 2, announcement "DVT on 1G00 has failed please run loco round"

  • create Second choice and name "DVT ok" - weight 8.

  • go into 1G00's timetable entry, open up its location at new street, open the activity box.

  • under decision choose DVT Failure.

  • under choice enter ???? (wiki isnt clear on format)



I don't think the Wiki entry is complete as although it explains the concept and rough application of these decisions, it is missing a detailed explanation or example of how to use them.
Depending on which scenario is called, you would presumably have N 1A00 and then 1A00 returning to Euston or DEF 0G00, J 0G00, N 1A00 and the return journey.

For the scenario where you have a DVT failure, you would create N 0G00 with decision DVT failure and choice DVT failed. You would then follow this with J 0G00 with the same decision/choice. As the N working is 1A00 no matter what you wouldn't need a decision there (unless you were being super-finicky and having 2 separate formations depending on where the loco was). If you were going to that level, you would need N 1A00A with choice DVT ok for the normal operation and N 1A00B with choice DVT failed where the RR had taken place.

You wouldn't need to put any choices into 0G00 TT as that will join with 1G00 no matter what.

“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
Query on decisions function 09/10/2015 at 15:02 #76746
postal
Avatar
5196 posts
" said:
Right I've cracked the seeding/entry choices now. I've updated North Wales Coast to use Decisions for Seeding the DOTW seed and also for the trains running one day only. it also pops a message up saying "Today is XXX"

I do at some point want to have the option of having to remove a crippled coach from a Euston Holyhead and shunt it into the C.S. sometimes. Will work on that next.
One thing I forgot to add; there is a minor bug in the code and if you have 5 DotW seeds entering by decision, the message box says that each of the seeds after the entered version was unable to enter due to TC occupied. It doesn't affect how things work, it's just a cosmetic issue.

As far as the cripple is concerned, you would set that up just like the DVT instance at Birmingham.

“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
Query on decisions function 09/10/2015 at 16:10 #76749
postal
Avatar
5196 posts
Forgot to add that the choice picked by a decision remains in force. If you wanted every turnback at New Street to have the DVT failure option called independently you would have to create Decision 1G00DVT, 1G02DVT etc. If you relied on the single DVT failure decision every turnback would then be DVT failed if one choice was called or DVT OK for the other.
“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
Query on decisions function 09/10/2015 at 16:56 #76751
clive
Avatar
2738 posts
" said:

You can also use the Decision module when defining activities.
[...]
You might for example end up with 3 activities for N 6T02A with choices M,W,F and 2 for 6T02B with choices T,TH.
Not necessary. You have activities for choices T and TH; since they are "Next"s, if the train obeys one of them it will ignore the rest of the timetable. So you then have one activity with no choice at all, which will handle all remaining choices.

Quote:

As a further enhancement I have asked
I have a number of ideas for future enhancements to decisions, but they haven't reached the top of my job list yet.

Log in to reply
The following user said thank you: postal
Query on decisions function 09/10/2015 at 16:59 #76752
clive
Avatar
2738 posts
" said:
" said:


lets say I have train 1G00 which is a loco and DVT running to New Street. its booked to terminate and run back in push pull mode so I choose N:1A00 as an activity. should I wish to simulate a DVT failure 20% of the time, requiring the loco to run round, how would I do this?


  • create decision and name it "DVT Failure"

  • create first choice and name "DVT failed" - weight 2, announcement "DVT on 1G00 has failed please run loco round"

  • create Second choice and name "DVT ok" - weight 8.

  • go into 1G00's timetable entry, open up its location at new street, open the activity box.

  • under decision choose DVT Failure.

  • under choice enter ???? (wiki isnt clear on format)



I don't think the Wiki entry is complete as although it explains the concept and rough application of these decisions, it is missing a detailed explanation or example of how to use them.
Depending on which scenario is called, you would presumably have N 1A00 and then 1A00 returning to Euston or DEF 0G00, J 0G00, N 1A00 and the return journey.

For the scenario where you have a DVT failure, you would create N 0G00 with decision DVT failure and choice DVT failed. You would then follow this with J 0G00 with the same decision/choice. As the N working is 1A00 no matter what you wouldn't need a decision there (unless you were being super-finicky and having 2 separate formations depending on where the loco was). If you were going to that level, you would need N 1A00A with choice DVT ok for the normal operation and N 1A00B with choice DVT failed where the RR had taken place.
Even easier: start with N 1A00A with choice DVT ok. If the DVT is okay, it will ignore the rest of the timetable. So you don't need any choices for all the rest of the activities (DEF 0G00 J 0G00 N 1A00B), because that's the only option left.

Log in to reply
The following user said thank you: postal
Query on decisions function 09/10/2015 at 17:01 #76753
clive
Avatar
2738 posts
" said:
Forgot to add that the choice picked by a decision remains in force. If you wanted every turnback at New Street to have the DVT failure option called independently you would have to create Decision 1G00DVT, 1G02DVT etc. If you relied on the single DVT failure decision every turnback would then be DVT failed if one choice was called or DVT OK for the other.
That's a deliberate choice (sorry) on my part. It lets you have a whole range of consequences from one decision.

Log in to reply
The following user said thank you: postal
Query on decisions function 09/10/2015 at 17:36 #76754
postal
Avatar
5196 posts
" said:
" said:
Forgot to add that the choice picked by a decision remains in force. If you wanted every turnback at New Street to have the DVT failure option called independently you would have to create Decision 1G00DVT, 1G02DVT etc. If you relied on the single DVT failure decision every turnback would then be DVT failed if one choice was called or DVT OK for the other.
That's a deliberate choice (sorry) on my part. It lets you have a whole range of consequences from one decision.
Clive

It was a comment, not a complaint and it would make things far more complicated if things were set up differently.

Also, thanks for the application of logic to my attempts at activity scheduling. I had switched off the thinking part and was working through a chronological order of events rather than building things from the underlying structure.

I know that the whole module is still at the cradle stage, but it really does help in putting together TTs in the Pascal mode. Going forward, JamesN has reminded me elsewhere that the XML TTs originally had the ability to enter the days of the week by when a train runs by ticking check boxes although that functionality seems to have been hidden away at the moment. It would be nice if that could be revived (and would remove the need for a couple of my suggestions for enhancement to the Decisions process).

“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
Query on decisions function 09/10/2015 at 17:45 #76755
postal
Avatar
5196 posts
" said:
" said:


For the scenario where you have a DVT failure, you would create N 0G00 with decision DVT failure and choice DVT failed. You would then follow this with J 0G00 with the same decision/choice. As the N working is 1A00 no matter what you wouldn't need a decision there (unless you were being super-finicky and having 2 separate formations depending on where the loco was). If you were going to that level, you would need N 1A00A with choice DVT ok for the normal operation and N 1A00B with choice DVT failed where the RR had taken place.
Even easier: start with N 1A00A with choice DVT ok. If the DVT is okay, it will ignore the rest of the timetable. So you don't need any choices for all the rest of the activities (DEF 0G00 J 0G00 N 1A00B), because that's the only option left.
Just to make sure I've got a proper handle on things, if you had not created the 2 formations so only had 1A00 as the next working you would presumably need to put the DEF and J activities before the N.

“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
Query on decisions function 12/10/2015 at 15:35 #76816
58050
Avatar
2650 posts
At present I'm converting the Coventry summer 1988 over to 'Decision' based & so far so good except I've now come across something that I haven't seen before in the 'Analyser'. The 1st train which I made a 'Decision' for based on the variation in traction was 5S53 which in turn forms 1S53. The Decision Name is '5S53/1S53 TRACTION' & the subsequent choices are:- 'Cl.86/2' with a 'Weight' of 4 & 'Cl.86/1' with a 'Weight' of 1. That all seemed to be fine, however on my second attempt at this following the same format I used for 5S53/1S53 I created a 'Decision' called '7G85/6D85 TRACTION' & subsequently 2 more choices one called 'Cl.20x2' & the other 'Cl.58' this time both with a 'Weight' of 1. However when I run the analyser I get two warnings stating:-
'7G85 decision '7G85 6D85 TRACTION does not exist' this is repeated twice no doubt in view of 2 separate train entries for the 2 different train consists. I thought the problem was the '/' in the decision name, but this worked OK for 5S53/1S53 TRACTION so I'm baffled as to why this is cropping up for 7G85/6D85 as the format is the same as that done for 5S53/1S53 except the choices names are slightly different in the sense of for 7G85/6D85 they are 'Cl.20x2' & 'Cl.58'. The only other variation I can see is the symbol in Cl.20x2. Does anyone know if its the use of certain characters that throw up this warning?

Log in to reply
Query on decisions function 12/10/2015 at 15:55 #76818
jc92
Avatar
3631 posts
Assuming what youve written is verbatim, youve put a forward slash on the decision and a space in the trains timetable entry.
"We don't stop camborne wednesdays"
Log in to reply
Query on decisions function 12/10/2015 at 16:36 #76821
58050
Avatar
2650 posts
jc92 wrote:
Assuming what youve written is verbatim, youve put a forward slash on the decision and a space in the trains timetable entry.Quote:

No Joe that hasn't altered the warning. I only put a space in as John(postal) couldn't remember whther the 'Decisions' process acceptred the '/' snbol so I removed it & made a space instead. But that didn't change anything. The analyser still showed the warning either way.

Log in to reply
Query on decisions function 12/10/2015 at 17:05 #76825
jc92
Avatar
3631 posts
Email me a copy and ill take a look this evening
"We don't stop camborne wednesdays"
Log in to reply
Query on decisions function 29/10/2015 at 17:36 #77336
postal
Avatar
5196 posts
" said:
Email me a copy and ill take a look this evening
Found the problem which is to do with the edited decisions not registering correctly until the sim is closed and re-loaded. Booked on Mantis.

There is another foible to bear in mind when writing a TT using this process. Pascal is playing with the possibility of loco failures and the attachment of a Thunderbird to drag the train away. I've been trying to help him to get things working properly.

Our first attempt had a "LOCO FAILURE" decision with choices "Fail" and "No Fail". Electric train 1A00 arrives at Station A and has a J 0Z99 instruction against Choice "Fail" to allow diesel Thunderbird 0Z99 to join. 0Z99 is TT'd with Choice "Fail" as well. That worked OK but the train ran forward with both power types Electric and Diesel checked. As the point of the failure was that the electric traction was dead we had another try. After J 0Z99 we then put N 1A00Fail with Choice "Fail" and a new 1A00Fail TT from Station A forward showing the consist as Thunderbird plus train and the power as Diesel.

However, in this case 0Z99 joined OK but the train went forward using TT 1A00 not 1A00Fail. Eventually we had to terminate 1A00 at Station A with N 1A00A to allow for the No Fail choice. So it looks as if where there is a decision point part way through a TT with some choices deliberately invoking a N movement then the whole TT has to be truncated at Station A with N workings to cover all choices, even the continue as normal option.

“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
Last edited: 29/10/2015 at 18:53 by postal
Log in to reply
Query on decisions function 10/11/2015 at 21:55 #77590
bill_gensheet
Avatar
1318 posts
Has anyone found a good way to 'converge' decision options back to one common train ?
I have been having a go and failed so far.
eg
6T06 Carstairs - Shieldmuir can then do 3 things (Bridgeton, Costains and Nothing).
Later in the day there is a common timing of 6T06 back to Carstairs and a bit of shunting there into up sidings with light engines appearing.

It would be nice to recombine the timetable, avoiding 3 complete identical sets of timings.
The key difficulty is that when any one train is decided against this cancels all the consequences of that train including those common to other branches of the logic. So the decision to run choice 'C' cancels train 'B' which then cancels the common 6T06 that still runs under choice 'C'.

Use of a 'Next' as a break does work in sim, but generates analysis errors for 'train already used'. Is that the least worst option ?

Log in to reply
Query on decisions function 11/11/2015 at 09:49 #77612
Danny252
Avatar
1461 posts
" said:
Use of a 'Next' as a break does work in sim, but generates analysis errors for 'train already used'. Is that the least worst option ?
I've done it that way in before in a similar situation (the seeded "day of the week" trains all re-combined onto the same "Next" working), and it worked without any problems.

Log in to reply