23.07.2018, 14:29 (Dieser Beitrag wurde zuletzt bearbeitet: 23.07.2018, 14:29 von bobderbaer.)
Hallo,
ich verzeweifle an einem Problem, was ein Optimierung betrifft. Ich soll für die Uni eine Busbetriebshof betrachten und Auswirkungen von einer Umstellung von Elektrobusse auf Wasserstoffbusse. Ich hoffe irgendjemand kann mir helfen.
Zum Problem: Ich habe eine Tabelle vorliegen,
Umläufe.xlsx (Größe: 17,96 KB / Downloads: 12)
, in der die zu fahrenden Umläufe mit den dazugehörigen Fahr,- und Tankzeiten stehen. Es sind insgesamt 152 Touren, die von dem Bushof zu absolvieren sind. Ein Umaluf beginnt und endet auf dem Bushof. Während der Tankzeit darf das Fahrzeug nicht bewegt werden. Nach Abschluss kann es sofort wieder einen neuen Umlauf wahrnehmen.
Da es unwirtschaftlich ist, 152 Fahrzeuge anzuschaffen, da die Fahrzeuge an Tag mehr Fahrten machen können, möchte ich nun die minimale Anzahl an Fahrzeugen ermitteln, die notwendig wären, um alle Touren durchzuführen. Wie kann ich hier vorgehen? Dabei wäre es auch schön, wenn man nach der Optimierung sieht, welcher Bus welche Umläufe abfährt.
Ich hoffe sehr, dass ihr mir helfen könnt! Vielen Dank im Voraus!
@Matthias Ich glaube eine Formel wäre mir lieber, da ich mich mit VBA nicht so auskenne, würde ich aber natürlich auch nehmen, um mein Problem zu lösen
@Opa Edgar Die Daten habe ich so von dem Bushof erhalten. War mir bis jetzt noch nicht so aufgefallen, aber stimmt, das scheint nicht ganz zu stimmen. Aber die Kilometer sind auch egal, mir geht es eher um eine Sortierung, wo man dann sehen kann, welcher Bus wie viele Umläufe bedienen kann. Tankzeiten stehen in der Tabelle, nach Ankunft an dem Bushof sind es immer 10 Minuten.
Nach diesem Schema ungefährt: (ist jetzt als Beispiel gedacht, sieht für Bus 1 bestimmt anders aus)
Bus Nummer | Umaluf 1 | Umlauf 2 | ....| Umlauf x 1 | 20 | 136 | ...| x
Ich hab die AbfahrtZeiten mal aufsteigend sortiert und dann entsprechend der Ankunft + Tanken --> die nächstmögliche UmlaufNr(Abfahrtzeit) gesucht und die Tour dann fortgesetzt
Ich hab die AbfahrtZeiten mal aufsteigend sortiert und dann entsprechend der Ankunft + Tanken --> die nächstmögliche UmlaufNr(Abfahrtzeit) gesucht und die Tour dann fortgesetzt
Schaust dir mal an
Hallo Dieter,
vielen Dank für deine Hilfe, die Tabelle sieht schon mal gut aus. EIne Frage, ist es denn möglich, dass die Umläufe, die bereits vergeben sind, nicht wieder in Betracht kommen? Also Wenn Bus 1den Umaluf 1, Umlauf 26 und Umlauf 110 nimmt, dass diese nicht wieder von anderen Bussen gefahren werden? So dass nachher eine minimierte Tabelle rauskommt, in der man sieht, wie viele Busse maximal gebaucht werden, um jeden Umlauf einmal abzufahren?
1. sollte es doch einen Umlaufplan geben. 2. Wenn ich die Auswirkungen betrachten will, muß ich doch wissen, welche Parameter sich ändern. Das kann hier nur der Tankstopp sein. Also muß doch zwingend bekannt sein, wie lange die Tankstopps der Busse sind.
Hallo Dieter63,
ist Dir schon aufgefallen, dass da mehrere Busse zur gleichen Zeit am Platz sind?
Arbeitsblatt mit dem Namen 'Tabelle1 (2)'
A
B
C
D
E
1
Umlauf
Start
Ende
Dauer
nächste Tour
2
46
5:01:00
8:15:00
3:04:00
8:33:00
3
59
5:37:00
7:59:00
2:12:00
8:33:00
4
21
6:42:00
8:06:00
1:14:00
8:33:00
5
28
6:49:00
8:04:00
1:05:00
8:33:00
6
10
7:11:00
8:01:00
0:40:00
8:33:00
7
58
4:52:00
8:58:00
3:56:00
9:05:00
8
4
4:55:00
8:50:00
3:45:00
9:05:00
9
49
5:11:00
8:40:00
3:19:00
9:05:00
10
50
5:11:00
8:50:00
3:29:00
9:05:00
11
54
5:19:00
8:53:00
3:24:00
9:05:00
12
48
5:21:00
8:40:00
3:09:00
9:05:00
13
13
5:34:00
8:42:00
2:58:00
9:05:00
14
43
5:34:00
8:54:00
3:10:00
9:05:00
15
60
5:40:00
8:51:00
3:01:00
9:05:00
16
61
5:47:00
8:55:00
2:58:00
9:05:00
17
62
5:51:00
8:47:00
2:46:00
9:05:00
18
64
5:57:00
8:49:00
2:42:00
9:05:00
19
15
6:04:00
8:52:00
2:38:00
9:05:00
20
27
6:22:00
8:41:00
2:09:00
9:05:00
21
31
6:32:00
8:58:00
2:16:00
9:05:00
22
17
6:40:00
8:55:00
2:05:00
9:05:00
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Die Busse sind nicht den Umläufen zugeordnet, d.h. ich habe eigentlich nur die Umläufe gegeben und soll sie so aufteilen, das möglichst wenig Busse angeschafft werden müssen. (Ich hatte diese in der Spalte A nur als Hilfe für mich ergänzt)
Vom Prinzip her sollte das vielleicht so ablaufen:
Starte mit erstem Umlauf, suche nach Abschluss Tankvorgang 1 den nächsten möglichen Umlauf, suche nach Abschluss Tankvorgang 2 wieder den nächsten...usw...(bis kein neuer gestartet werden kann) dann, lösche verwendete Umläufe aus der Ursprungsliste.