Welkom,
Gast
. Alsjeblieft
inloggen
of
registreren
.
1 uur
1 dag
1 week
1 maand
blijvend
Login met gebruikersnaam, wachtwoord en sessielengte
Forum
Zoeken
Encyclopedie
Help
Kalender
Inloggen
Registreren
Doel:
€250.00
Donaties:
€88.00
Per saldo:
€-162.00
Steun ons nu!
Laatst bijgewerkt
op 03-06-2025
Vacature:
secretaris bestuur
Algemeen
Plaatje uploaden
Vraag en aanbod
Fotowedstrijd
Modelspoorwinkels
Youtube kanaal
Modelspoorkaart
De stichting
De stichting en team
Contact
Financieel
Algemene voorwaarden
Commerciële accounts
Forumregels
Disclaimer
F.A.Q.
Recente berichten
BeneluxSpoor.net forum - Recente berichten
Abonneer op Webslice
Vitrinekast gaat moeilijk open/dicht
door
MOVisser
Vandaag
om 23:47:13
De bouw van mijn modelbaan in Thailand
door
Quinzeedied
Vandaag
om 23:44:32
Haperende/Gevoelige Sik: wat te doen?
door
Noordernet
Vandaag
om 23:16:22
BNLS-Module: "Rvbr-Btk, Ringvaartbrug Haarlemmermeer nabij Buitenkaag" NS H0
door
nighttrain1
Vandaag
om 23:09:36
trein of metro naar Hoek van Holland
door
Keska
Vandaag
om 23:01:18
Ik ben aan het opruimen.
door
FreekH
Vandaag
om 22:53:36
Schets Weistra regeling met arduino UNO
door
bask185
Vandaag
om 22:05:57
Holcim Betonmixers 1:87 Modelauto,s
door
Arjan6511
Vandaag
om 21:59:46
Nieuwe ruimte voor baan na ca. 30 jaar
door
ruudns
Vandaag
om 21:48:03
Stalen D 4 deurs spoor 0
door
jumbo747
Vandaag
om 21:32:49
Ideeën op doen in Duitsland regio speyer
door
Mg1982nl
Vandaag
om 21:31:05
Fleischmann Anna ombouw.
door
defender
Vandaag
om 21:17:34
Show je werkplek
door
Eric B
Vandaag
om 21:13:58
Micromotot analoog 12v dc gebruiken
door
JoopSpoort
Vandaag
om 21:04:40
Mijn eerste H0-modeltreinbaan in aanbouw
door
RetroJack
Vandaag
om 21:02:06
Roco Line DKW wisseltong zit los, lipje afgebroken
door
JoopSpoort
Vandaag
om 20:58:24
wat is het merk van deze bochtwissel
door
Theovh
Vandaag
om 20:39:31
De overeenkomst tussen een Ovaalramer en een Motorpost.
door
FritsT
Vandaag
om 20:37:50
Gewoon wat busfoto's
door
R1954
Vandaag
om 20:36:46
Centraal Zwitserland: Trein, tram, kabelbaan en gondels.
door
Hans van de Burgt
Vandaag
om 19:33:24
De IJmuider spoorlijn - korte geschiedenis en plaatjes
door
R1954
Vandaag
om 19:28:00
Toon hier je nieuwe (model-) spooraanwinst(en)...
door
gdh
Vandaag
om 19:00:07
Göhrener Viaduct
door
MaraNCS
Vandaag
om 18:14:49
"moderne" kolenbakken en kolenwagens in Nederland.
door
ES44C4
Vandaag
om 17:29:38
Houten 23 Augustus 2025
door
Arjan6511
Vandaag
om 16:37:54
Piko 1136 van AC naar DC
door
Martijn193
Vandaag
om 14:31:18
Toon hier je (model)treinfoto's
door
R1954
Vandaag
om 12:34:22
BMB-Module: “Corfe Castle Station”
door
Hans van de Burgt
Vandaag
om 12:25:51
"Spoor op Vleugels" in H0
door
Pinkelpa
Vandaag
om 11:58:00
Spoorhumor
door
Biessendorf
Vandaag
om 11:49:19
Je bent hier:
BeneluxSpoor.net forum
|
Vraag en antwoord
|
Digitaal
|
Rangeer algoritme
« vorige
volgende »
Print
Pagina's: [
1
]
Omlaag
Auteur
Topic: Rangeer algoritme (gelezen 2135 keer)
peter1984
Gast
Rangeer algoritme
«
Gepost op:
05 May 2008, 09:19:00 »
Voor school hebben we een opdracht gekregen om via een simulator (gemaakt door een andere opleiding binnen de school) een treinspoor te maken en op dit spoor een aantal treintjes te laten rijden.
Nu moet het ook mogelijk zijn om een trein te laten rangeren. In ons baanontwerp zijn 4 rangeer sporen en op 3 sporen staan elk 3 wagons (genumerd 1 t/m 9). nu moet er een invoerveld komen waarin je 3 willekeurige cijfers (1 t/m 9) kan invoeren en dan moet de trein de wagons in deze volgorde oppikken.
Voor dit onderdeel bestaat er een algoritme, nu heb ik al vollop gegoogled en heb wel het een en het ander gevonden over het Shunting Yard Algoritme, maar het is me niet echt duidelijk wat het doet.
Kan iemand mij meer vertellen over welke algoritmes er gebruikt kunnen worden voor het rangeren of meer informatie geven over het shunting algoritme.
Alvast hartelijk bedankt.
«
Laatst bewerkt op: 05 May 2008, 09:27:33 door Peter Kannekens
»
Gelogd
Michiel2
Offline
Berichten: 301
Re: Rangeer algoritme
«
Reactie #1 Gepost op:
05 May 2008, 10:13:24 »
Hier alvast mijn favoriet:
"brute-force"-algoritme
1. Doe een willekeurige rangeerbeweging
2. Controleer of de huidige situatie overeenkomt met de gewenste eindstand
3. Ga naar punt 1
Aangezien een modelbaan toch draait om treintjes heen en weer rijden, zou ik willen argumenteren dat dit het meest efficiente algoritme is; je hebt er namelijk verreweg het meeste plezier van.
Gelogd
Han Zijlstra
Forumlid, hobbyist & leverancier:Trainspecials! Decodershop! Sceneryshop!
Offline
Berichten: 4291
The Right Track, Your track!
Re: Rangeer algoritme
«
Reactie #2 Gepost op:
05 May 2008, 10:42:46 »
misschien hier es kijken?
http://www.wymann.info/ShuntingPuzzles/index.html
Gelogd
Han Zijlstra is op maandag 24 november 2014 overleden.
ESU Ecos, Littfinski, Kuehn, Zeller, Piko, Roco Multimaus, Massoth, Zimo, NMJ, Athearn, BLI, Kadee, Fleischmann, Roco, Proto, MDS, LGB, Bachmann,Hufing, USA en .... de blikken trein van mijn Vader!
Lokpaint
Gast
Re: Rangeer algoritme
«
Reactie #3 Gepost op:
06 May 2008, 01:17:28 »
Pffffffffff...
Niks beters te doen
Bart
Gelogd
Patrick Smout
Offline
Berichten: 441
Re: Rangeer algoritme
«
Reactie #4 Gepost op:
06 May 2008, 21:57:03 »
Peter,
Met het "Shunting algorithm" wordt meestal verwezen naar een algoritme van Dijkstra dat gebruikt wordt voor infix notatie om te zetten naar postfix, zoals gebruikt wordt bvb. door een HP zakrekenmachine ( 1 + 2 wordt dan 1 2 + ). Buiten het feit dat het algoritme gebruik maakt van een stack zal dit je niet veel verder helpen.
Is er in de opgave een beperking opgelegd voor het aantal wagons op een rangeerspoor?
Eenvoudigste algoritme dat ik zie is:
1° Bepaal op welk spoor de volgende wagon staat.
2° Verplaats alle wagons die ervoor staan naar andere rangeersporen
3° *** de wagen op
4° Herhaal al de vorige stappen tot de trein samengesteld is.
Algoritme heeft het nadeel dat het niet vooruitkijkt, m.a.w. door het behandelen van 1 wagon en het lukraak verplaatsen naar ander sporen zal je extra rangeerbewegingen introduceren.
Je kan het algoritme makkelijk verbeteren door:
In stap 3 te kijken of er indezelfde rij eventueel de eerst volgende wagen is die tot de samengestelde trein behoort. In principe kan je dan alle wagens m.u.v. de eerstvolgende gelijk meenemen, en dan de tussenliggende verwijderen (omgekeerde bewerking) door ze neer te zetten op andere sporen.
Vermijd ook dat je wagens wegzet op rangeer sporen waar nog wagens staan die je later moet ophalen of, zeker, dat je de volgorde omkeert door het verzetten van wagens. Kost je extra rangeerbewegingen. Je kan hiervoor scores opstellen per beweging en een totaalscore per rangeerspoor. Het rangeerspoor dat het beste scoort is dan de kandidaat om de wagens aan te nemen.
Verder kan je ook nog de staart van de trein samenstellen op een spoor (van achter naar voor) waar geen wagons meer staan die tot de uiteindelijke trein behoren. Zo heb je als het ware twee deeloplossingen die naar elkaar toegroeien.
Ander algoritme dat voldoet aan de opgave is als volgt (maar minder algemeen) en gaat ervan uit dat er geen beperking is in de lengte.
1° Haal alle wagons op van alle rangeersporen en vorm met alle wagons van alle rangeersporen 1 lange trein
2° Splits nu de trein en verdeel deze over 3 rangeersporen zodat de gewenst wagons (max. 4) als 1e op een rangeerspoor staan.
3° Stel vervolgens de definitieve trein samen door in de juiste volgorde de 1e wagon van elk rangeerspoor te nemen
Variante hierop is
1° Haal alle wagons op van alle rangeersporen behalve diegene die achter de laatste wagon staan die moet behoren tot de definitieve trein en vorm hiermee een lange trein (duidelijk?)
2° Verdeel vervolgens over de rangeersporen zoals hierboven.
mvg,
Patrick Smout
«
Laatst bewerkt op: 06 May 2008, 22:26:28 door Patrick Smout. Reden: 1e algoritme licht gewijzigd + variant toegevoegd
»
Gelogd
Met vriendelijk groeten,
Patrick Smout
René
Smalloot in de volle breedte
Offline
Berichten: 2515
Team Mitropa
Re: Rangeer algoritme
«
Reactie #5 Gepost op:
06 May 2008, 22:20:53 »
Is het niet de bedoeling dat je hiervoor zelf iets moet bedenken?
Of worden de problemen in de toekomst ook opgelost met copy/paste?
Gelogd
René Wolf, bekijkt het breed en spoort smal
www.rwfoto.nl
Ronald Halma
Organisator US Convention Nederland
Offline
Berichten: 17862
Modelrailroading is fun!
Re: Rangeer algoritme
«
Reactie #6 Gepost op:
06 May 2008, 23:34:02 »
Duizel, duizel, duizel......
We zijn toch treintjesbouwers, geen wiskundigen?? :-|
Gelogd
Greetz, Ronald
Mijn US Convention Aalten
Mijn blog!
Mijn USA reizen
Patrick Smout
Offline
Berichten: 441
Re: Rangeer algoritme
«
Reactie #7 Gepost op:
07 May 2008, 09:34:20 »
En dat is nu net het mooie aan deze hobby ... zo veelzijdig dat eenieder er zijn gading in vindt.
Overigens zijn (model-)treinen voor veel wiskundigen interessant studiemateriaal omdat je in de treinbewegingen heel wat uitdagingen kan tegenkomen. Wat denk je bvb. van een computer programma voor onderstaande puzzel op te lossen? Of meer algemeen, hoe kan je voorkomen dat treintjes zich *blok*vast rijden? Onderstaande puzzel is voor mensen makkelijk op te lossen, voor een computer ligt dat al heel wat moeilijker. Het routing algoritme in de besturingssoftware van mijn baan kan ondermeer met dit soort problemen overweg zonder dat je manueel eventuele deadlock situaties moet aangeven. Heeft me echter wel heel wat uurtjes gekost om het zover te krijgen maar als je het dan in praktijk ziet werken is het voor mij de slagroom op de taart.
mvg,
Patrick Smout
Gelogd
Met vriendelijk groeten,
Patrick Smout
peter1984
Gast
Re: Rangeer algoritme
«
Reactie #8 Gepost op:
08 May 2008, 16:51:08 »
He mensen,
Bedankt voor jullie reacties, vooral de link naar de shunting puzzles is nuttig!
En heb je een andere oplossing of meer info dan is dat altijd welkom natuurlijk.
Gelogd
Print
Pagina's: [
1
]
Omhoog
« vorige
volgende »
Je bent hier:
BeneluxSpoor.net forum
|
Vraag en antwoord
|
Digitaal
|
Rangeer algoritme