Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ws1516:logistische_probleme:auswertung

Das Auswertungsprogramm erstellt auf Basis der Strecken- und Anschlussdaten einen „Score“ für eine bestimmte Reihenfolge. Es gibt drei Kategorien von Anschlusszügen, für die Taktdichte und Taktminute angegeben werden. Aus diesen wird der nächste erreichbare Anschluss für jeden Passagier berechnet und die Wartezeiten aufsummiert. Für die nicht Umsteigenden Fahrgäste wird die Verspätung nach Fahrplan herangezogen. Die Gesamtverspätung wird zurückgegeben:

# -*- coding: utf8 -*-
 
from __future__ import division
 
def auswertung (ankunft, anschluss):
 
	# ZUWEISUNGEN
	summe = 0	#Summe der Wartezeiten
	key = ""	#Umsteigeanteile auf Anschlusszuege
 
	for ank in ankunft: #fuer jeden ankommenden Zug
 
		for i in range (0,len(anschluss)): #gehe jeden Anschlusszug durch
			# ZUWEISUNGEN
			anschl = anschluss[i]
			key = "auf" + str(i+1)
			abfahrt = 0
 
			#suche Zug, der als naechstes kommt
			n = 0
			while ank["ankunft"] >= abfahrt:
				abfahrt = anschl["minute"] + n* anschl["intervall"]
				n = n+1
 
			# BERECHNUNG
			time = (abfahrt - ank["ankunft"]) #Wartezeit pro  Person
			summe += ank[key] * ank["besetzung"] * time # Umsteigeanteil * Personen im Ankunftszug * Wartezeit pro Person
 
	return summe
ws1516/logistische_probleme/auswertung.txt · Zuletzt geändert: 2016/05/10 14:46 (Externe Bearbeitung)