550 likes | 677 Views
SATURN User Group Meeting: Epsom, October13 2005. Presentation by Dirck van Vliet. SATURN 10.6: NEW FEATURES. Warm Starts Differential speeds by User Class (e.g., lorries on motorways) AUTONA (?) Links to AIMSUN Specific Program Upgrades. 10.5 BUGS. AUTOK always “on” – not KOMBI (6)
E N D
SATURN User Group Meeting: Epsom, October13 2005 • Presentation by Dirck van Vliet
SATURN 10.6: NEW FEATURES • Warm Starts • Differential speeds by User Class (e.g., lorries on motorways) • AUTONA (?) • Links to AIMSUN • Specific Program Upgrades
10.5 BUGS • AUTOK always “on” – not KOMBI (6) • Use of ATLAS = T (8,9,19) • Crashes in SATALL – circle time on roundabouts > LCY (11) • Incorrect Weaving in SATALL (21) • “Divide by Zero” in SATALL – multiple shared lanes for X-turns (23) • SATCH when GONZO ne 1 (27)
10.5 BUGS (B) • Queued traffic miscalculated if UPBUS = T and buses and other traffic terminate on the same links. (28) • 2-phase 2-arm pedestrian crossings (?)
Warm Starts • “Any method by which a run of SATURN can start with improved information regarding the ultimate solution” • See section 22 of the Manual (eventually!)
Warm Starts: Current examples • UPDATE • RESTART • Continuation runs (SATALL… MASL n) • REDMEN • DIDDLE • Path-based Perturbation Assignment
Warm Starts: Potential Applications • New Trip Matrices • (Small) Network Changes • Changes to Parameters • Validation / Calibration • Scheme Evaluation
Warm Starts: Useful Data • Flow-delay curves • Blocking Back Factors • Simulation CFP’s • Link Flows • OD Route Flows • Elastic Trip Matrices
Warm Starts: Advantages • Reduced cpu time for assignment-simulation convergence • Reduced cpu time for analysis (e.g., select link, skimming, etc.) • Reduced “noise” during evaluation
Warm Starts: The Current Stumbling Block • Making use of old link/route flows when either the network or the trip matrix has changed to create a good initial assignment to “guesstimate” the “new” flows • SAVEIT/UFC not applicable with altered networks … • … no faster than starting from scratch with a new matrix • Paths work but heavy on RAM
Warm Starts: The Big New Idea!! • Saving old assignments as origin-based “UFO” solutions • Already available under OBA; new methods created in 10.6 for Frank-Wolfe
Warm Starts: What is a .UFO File? • A sub-network for each origin with: • Nodes ordered “topologically” from the origin (eg, “distance” from origin) • One or more “back- or feeder-links” per node • Splitting factors between multiple feeder links
UFO Files: Ordering the Nodes • Basic property: For every link (A,B) that carries flow A must be BELOW B in the list of ordered nodes • Flow on every link therefore goes “downhill” • Minimum cost from the origin is therefore a “natural” candidate for sorting nodes – • But there is room for flexibility
1 2 2600(.060) 2500(.066) 6200(.040) 3 4 5 6 4500 (.043) 3200 (.023) 2200(.147) 3000(.097) 7 1600(.040) 915 (.055) 800 (.07) 8 9 415 (.020) 485 (.107) 2500 (.057) 12 11 10 16 15(.032) 18 300 (.137) 800(.137) 400(.163) 17 300(.04) 1400(.030) 14 15 19 300(.043) 23 22 11(.122) 389(.042) 311 (.037) 13 24 21 20 900(.177) 489(.118) Legend used link flow(cost) node 13 Origin-based solution
1 2 227(.060) 127(.066) 427(.040) 3 4 5 6 3937(.043) 3337(.023) 1981(.100) 1908(.147) 1156(.097) 4564(.040) 7 900(.055) 38(.150) 8 9 200(.020) 446(.107) 517(.057) 253(.201) 12 11 10 16 0(.032) 18 5436(.137) 3319(.122) 600(.163) 17 717(.137) 983(.137) 14 15 19 3900(.030) 17(.122) 300(.043) 23 22 11(.122) 710 (.037) 689(.042) 13 24 21 20 2600(.177) 1389(.118) 400(.081) Legend used link flow(cost) node 13 Origin-based solution
Creating a UFO Solution by Origin • 1. Order nodes via a min cost tree • 2. Load Tij via SAVEIT/UFC (to old network) • 3. Convert to new network link structure • 3. Adjust node order to make “uphill” flows “downhill” (if possible) • 4. Calculate splitting factors
UFO Files: Important Properties • Perfect Wardrop Equilibrium is UFO • UFO is an approximation to UFC … • … which is itself an approximation to the assigned (non-equilibrium) flows • But UFO might be a better solution (i.e., nearer to true equilibrium).
UFO Files: Similar Concepts • Dial single path loading • Dijkstra tree build • “Once through” • Cascade loading
Warm Starts: .dat Files • UPDATE = T • UPFILE = ‘old.ufs’ (optional) • WSTART = T • and in old.dat: • SAVUFO = T SAVEIT = T
Warm Starts: Examples • York network: • 176 zones, • 1246 (assignment) nodes, • 2329 links • Liverpool: 800 zones, xx nodes, yy links
Results: York Added Lane: Equal Gap • Alg Update Gap CPU Loops • FW - 0.057 31.3 50 • FW FW 0.055 4.4 7 • OBA - 0.053 29.2 16 • OBA OBA 0.041 7.8 2
Results: York Added Lane: Equal CPU • Alg Update Gap CPU Loops • FW - 0.057 31.3 50 • FW FW 0.023 29.1 50 • OBA - 0.039 30.9 17 • OBA OBA 0.004 31.2 14
Results: York Tij x 1.05: Equal Gap • Alg Update Gap CPU Loops • FW - 0.100 30.8 50 • FW FW 0.090 18.3 30 • OBA - 0.084 28.5 20 • OBA OBA 0.090 16.8 9
Results: Liverpool 2 Banned Turns: Equal Gap • Alg Update Gap CPU Loops • FW - 0.196 1229 35 • FW FW 0.138 138 4 • 0.017 206 8 • OBA - 0.182 1398 13 • OBA OBA 0.176 1663 8 • 0.016 4179 35
Warm Starts: York Results • Alg Update Gap CPU Lops
Warm Starts: Other Applications • Progressively cranking up convergence • Change from Frank-Wolfe to OBA
Warm Starts: Loose Ends • Permutations/combinations of elastic. MUC etc. etc.: • Some analyses (cordoning matrices?)
Differential Motorway Speeds by User Class • CLICKS(n) = max speed (kph) for user class n • Added time penalty automatically added whenever free-flow speed exceeds CLICKS • N.B. Time penalty is “fixed” for all actual speeds
Clicks: Numerical example • 1 km motorway link: max speed by car/lorry = 120/100 kph • Free flow travel times = 30/36 seconds • Fixed lorry penalty = 6 seconds • If at capacity car speed = 40 kph (90 seconds) lorry time = 96 seconds = 37.5 kph
CLICKS: Possible extensions • CLICKS(n,i) = max speed (kph) for user class n for capacity index i. • Apply to buses as well • Weighted speeds reported
AUTONA • Reduces/increases NITA in line with latest GAP values • Automatic alternative to setting NITA = 5 (say) • Implemented only for OBA to date
P1X • Lane widths may be user set (3) • New menu to analyse (lack of) convergence and “worst” o-d paths (4) • More choices to display bus flows • Convergence menus extended and corrected • Option to “find” nodes and/or zones
MX • Better facilities for interface with Tuba • Standard batch files to convert between .ufm and standard (e.g., Tuba) text files; E.g., UFM2CSV and CSV2UFM • .Dat files input to M1 may now use CSV / Tuba-1cell data (plus old-style headers)
SATNET • Semi-fatal error if zones differ “significantly” in the network and trip matrix (2); e.g. 1,3,4,5 v 1,2,3,5 • UPDATE works (by default) on “same” file (3) • ASTART introduced (4) • More error checks – including roundabout circle time (8)
SATALL • Stopping criteria based on either ISTOP, Gap or cpu time • SAVEIT uses Partan • SATUFC – calculate a .ufc file “the mornig after” • AUTONA under OBA
Simulation • Minor mods to roundabout modelling (RB106 = T) • Minor mods to CAPMIN at priority junctions (NFT = 106) • Minor mods to flows under UPBUS • New rules on “continuous” greens (?) • No TAX after late green stages (?) • End result: very small differences in the results
Assignment • Cumulative Density Functions (CDF) for stochastic assignment • Limits on NITA and NITA_S increased. • New checks on compatibility between zone names in the trip matrix and the network.
SATLOOK • More/better output statistics • More options involving monetary tolls • More options for skimming • Preferences file satlook0.dat revived with, e.g., parameters to set decimal points for cost skims • Sim node stats include average queues
SATME2 • New checks on network/matrix zone names • New option FIXPQ to fix passq flows by user class • Extra statistics to highlight max/min changes to cells/origins/destinations • 10.5 option to combine link counts together
SATDB / DBDUMP • A new Batch file DBDUMP can automatically dump DA coded data from a .ufs file to .txt. E.g.: • Dbdump net 4503 • Dumps link flows to net.txt
SATCOBA • Links at priority junction may be ordered as major/minor/…
SATTUBA • Any demands for Tuba Format 3 over multiple time periods?
KEY Files • KEYVDU x = KEY x VDU x • Improved trapping for over-writing existing files • No birthday messages!
SATCH (Cordoning) • ALLUC = T – cordon all user classes by default • Intras included in the cordon matrix • Beware the use of GONZO or user class factors under 88888!
OBA Extensions • AUTONA – automatic selection of NITA • Warm start from Frank-Wolfe • Potentially big improvements to cpu time
Super Convergence Tricks • Use OBA for the assignment • Use AUTOK • Use NITA_M and/or NITS_M • ELIMINATE CODING ERRORS!!
Networks Behaving Badly; Why? • Badly congested in future year • Badly coded do-minimum networks • One-lane roads with multiple turns • Excessive blocking back with “feedbacks” • External traffic that cannot enter the network
Networks Behaving Badly; What to do? • Use elastic assignment • Check lane / saturation flow warnings • Monitor blocking back on very short links
SATEASY Demand Models • “Separable” demand functions by o-d • Limited number of demand formulae • Incorporated internally • Optimum convergence
“Full” Demand Models • Includes interactions between o-d’s, e.g., distribution • Potentially extremely complicated combination of individual blocks • Very large number of potential structures • Some structures (e.g., hierarchical logit) may be optimised • But …