Ein Start-up-Unternehmen für Frühstückssandwiches hat sich zu einem florierenden Unternehmen entwickelt, indem es Sandwiches an unabhängige Cafés im Großraum San Francisco liefert. Die Sandwiches verkaufen sich wie warme Semmeln: Die Cafés bestellen sie zu Dutzenden. Um den Frühstückshochbetrieb abzupassen, muss das Sandwichunternehmen die Sandwiches zwischen 05:00 und 07:30 Uhr an die Cafés ausliefern. Dies bedeutet ein sehr enges Zeitfenster, wodurch das Sandwichunternehmen bzw. dessen Fahrerflotte den Lieferplan möglichst effizient abwickeln muss.
Derzeit haben die Fahrer zwar keine Platzprobleme beim Transport der Frühstückssandwiches, jedoch geraten sie in Verzug, wenn sie größere Bestellmengen ausliefern. Da dem Zeitfenster bei der Auslieferung eine hohe Bedeutung zukommt, möchte das Unternehmen die Lieferzeiten besser auf die Liefermengen abstimmen.
Hinweis:
Die in diesem Lernprogramm verwendeten Daten sind rein fiktiv und ausschließlich zum Lösen des oben beschriebenen Beispielszenarios vorgesehen.Abrufen der Daten
Die Daten für dieses Lernprogramm können online heruntergeladen werden.
- Wechseln Sie zur Daten-Download-Seite.
- Klicken Sie auf die Schaltfläche Herunterladen, um die Datei lokal zu speichern.
- Entzippen Sie die heruntergeladene Datei.
Erstellen einer Karte
Gehen Sie folgendermaßen vor, um eine Karte zu erstellen:
- Starten Sie ArcGIS Pro.
- Erstellen Sie ein neues Projekt, indem Sie auf die Vorlage Karte klicken. Optional können Sie den Namen Ihres Projekts und den Speicherort ändern.
Ein neues Projekt mit einer Karte wird angezeigt.
Hinzufügen von Lernprogrammdaten zum Projekt
Ein Netzwerk-Dataset ist ein intelligentes Modell des Straßensystems. Es enthält nicht nur den Standort und die Attribute der Straßen, sondern auch Informationen darüber, inwiefern Straßen zusammenhängen – zum Beispiel welche Straßen miteinander verbunden sind, auf welchen verbundenen Straßen das Wenden erlaubt ist und wo nicht, und andere Informationen, die mögliche Reisewege und die Reisedauer beeinflussen können.
Hinweis:
Wenn Sie mit ArcGIS Online eine Analyse durchführen, referenziert der Solver ein hochwertiges, weltweites Netzwerk-Dataset, das in der ArcGIS Online-Cloud gespeichert ist und ArcGIS Online-Credits verbraucht. Sie können auch Ihr eigenes Netzwerk-Dataset verwenden, das lokal auf Ihrem Computer gespeichert ist. Oder Sie verwenden ArcGIS Enterprise für die Veröffentlichung von Routing-Services, indem Sie Ihr eigenes Netzwerk-Dataset einsetzen und die Services mit Ihrem Enterprise-Portal so konfigurieren, dass sie von ArcGIS Pro verwendet werden.Führen Sie die folgenden Schritte aus, um ein Netzwerk-Dataset zu einer Karte hinzuzufügen.
- Klicken Sie im Bereich Katalog, der sich standardmäßig auf der rechten Seite der Anwendung befindet, mit der rechten Maustaste auf Ordner, und wählen Sie Ordnerverbindung hinzufügen aus.
Daraufhin wird das Dialogfeld Ordnerverbindung hinzufügen angezeigt.
- Navigieren Sie zu dem Ordner, in dem Sie die Lernprogrammdaten abgelegt haben, doppelklicken Sie auf Network Analyst und anschließend auf Lernprogramm, um den Ordner auszuwählen.
- Klicken Sie auf OK.
Es wird eine Verbindung zu dem Lernprogrammordner erstellt.
- Erweitern Sie im Bereich Katalog Ordner > Lernprogramm > SanFrancisco.gdb > Verkehr.
- Ziehen Sie Streets_ND, das ein Netzwerk-Dataset-Symbol aufweist , auf die Karte.
Das Netzwerk-Dataset wird dem Bereich Inhalt und der Karte hinzugefügt.
- Deaktivieren Sie im Bereich Inhalt das Kontrollkästchen bei Streets_ND, um nur die Grundkarte anzuzeigen.
Fügen Sie als Nächstes das im Ordner enthaltene Netzwerk-Dataset zu der Karte hinzu.
Geokodieren der Cafés
Sie geokodieren nun die CoffeeShops.csv-Datei, um eine Feature-Class mit den Kundenstandorten zu erstellen. Wenn eine Tabelle Adressen für einen Ort enthält, kann dieser durch Geokodierung auf einer Karte verortet werden. Die Adressen können in der Tabelle in einem einzelnen Feld oder in mehreren Feldern vorliegen.
Hinweis:
Wenn Sie über eigene Straßendaten verfügen, können Sie aus diesen Daten einen Locator erstellen. Andernfalls stellt Esri den ArcGIS World Geocoding Service bereit, der Credits verbraucht.
- Navigieren Sie im Bereich Katalog zum Speicherort der Lernprogrammdaten, klicken Sie mit der rechten Maustaste auf SanFranciscoLocator.loc, und klicken Sie dann auf Zum Projekt hinzufügen.
- Klicken Sie mit der rechten Maustaste auf CoffeeShops.csv, und wählen Sie im Kontextmenü die Option Tabelle geokodieren aus.
Der Bereich Tabelle geokodieren wird angezeigt.
- Klicken Sie im Bereich Tabelle geokodieren auf Start.
- Wählen Sie aus der Dropdown-Liste Eingabe-Locator den Eintrag SanFranciscoLocator aus.
- Klicken Sie im Bereich Tabelle geokodieren auf Weiter.
- Vergewissern Sie sich, dass Eingabetabelle auf CoffeeShops.csv verweist und dass für die Felder StreetAddress, City und Postal in der Dropdown-Liste die Option Mehr als ein Feld als Kundenadresse ausgewählt ist. Klicken Sie anschließend auf Weiter.
- Ordnen Sie die Adressenfelder folgendermaßen zu:
- Adresse oder Ort zu "StreetAddress"
- Stadt zu "City"
- Postleitzahl zu "Postal"
- Bundesstaat zu "State"
- Klicken Sie auf Weiter.
Lassen Sie die Option Ausgabe unverändert, damit die Ausgabe im Projekt-Workspace gespeichert wird.
- Wählen Sie für Bevorzugter Positionstyp die Option Routenposition im Dropdown-Menü aus.
Mit dieser Option werden die verorteten Features an ihrer Position im Straßennetz platziert statt am Dachschwerpunkt. In Network Analyst verorten sich Punkte räumlich an der nächstgelegenen Straßenkante. Der Mittelpunkt eines Gebäudes liegt möglicherweise näher an einer Straße, bei der es sich nicht um die Zufahrtsstraße handelt.
- Behalten Sie für Ausgabefelder die Auswahl von Alle bei, und klicken Sie auf Weiter.
- Aktivieren Sie für Kategorie die Option Adresse, und klicken Sie auf Fertig stellen.
- Klicken Sie auf Ausführen.
Nach Abschluss des Vorgangs wird eine Meldung angezeigt mit der Frage, ob ein erneuter Abgleich erfolgen soll.
- Klicken Sie auf Nein, da alle Positionen korrekt zugeordnet wurden.
- Schließen Sie den Bereich Tabelle geokodieren.
Erstellen des Endauslieferungs-Analyse-Layers
Beim Endauslieferungs-Solver liegt der Schwerpunkt auf einer Teilmenge von Vehicle Routing Problems, die sich auf die Auslieferungen von Paketen an Endkunden beziehen. Bei Endauslieferungsproblemen wird von einem einzelnen Vertriebszentrum ausgegangen, von dem aus Lieferfahrzeuge zu Kundenstandorten geschickt werden. Diesem Layer können Sie Informationen zu den Kunden, den Start- und Endpositionen der Routen, den Fahrzeugen und den Fahrern hinzufügen. Für die Informationserfassung stehen verschiedene Feature-Classes und Tabellen bereit. Auf der Registerkarte Layer "Endauslieferung" können Sie außerdem auf mehrere Parameter zugreifen, um sicherzustellen, dass die Berechnung für das richtige Datum und mit den korrekten Einheiten und Fahrzeug- bzw. Fahrtdaten erfolgt.
Führen Sie zum Erstellen des Endauslieferungs-Analyse-Layers die folgenden Schritte aus:
- Klicken Sie auf der Registerkarte Analyse in der Gruppe Workflows auf Netzwerkanalyse > Endauslieferung .
Der Endauslieferungs-Analyse-Layer wird dem Bereich Inhalt hinzugefügt. Er enthält mehrere Sublayer mit Eingaben und Ausgaben der Analyse.
Dieser Layer verweist auf das Netzwerk-Dataset "San Francisco", weil sich das Netzwerk bei der Erstellung des Endauslieferungs-Layers im Bereich Inhalt befand.
Hinweis:
Zum Überprüfen oder Ändern der Netzwerkdatenquelle, die zum Erstellen des Netzwerkanalyse-Layers verwendet wird, können Sie auf der Registerkarte Analyse in der Gruppe Workflows auf das Dropdown-Menü unter Netzwerkanalyse klicken, um sie unter Netzwerkdatenquelle anzuzeigen.
Hinzufügen von Aufträgen
Anhand von Aufträgen werden Informationen zu den Kunden angegeben. Jeder Auftrag kann u. a. Informationen zur voraussichtlichen Aufenthaltsdauer des Fahrers an dieser Position, zur Menge der zu liefernden oder abzuholenden Artikel sowie zu Terminen enthalten.
Führen Sie die folgenden Schritte aus, um Aufträge hinzuzufügen:
- Wählen Sie den Layer Endauslieferung im Bereich Inhalt aus, um die Registerkarte zu aktivieren.
- Klicken Sie auf der Registerkarte Layer "Endauslieferung" im Abschnitt Eingabedaten auf die Schaltfläche Aufträge importieren .
Das Dialogfeld Standorte hinzufügen wird geöffnet.
- Wählen Sie für Eingabepositionen den Eintrag CoffeeShops_Geocoded aus.
- Wählen Sie unter Feldzuordnungen im Abschnitt Eigenschaft den Eintrag Name aus.
- Wählen Sie in der Dropdown-Liste Feldname den Eintrag USER_Name aus, der sich fast am Ende der Liste befindet.
Für den Endauslieferungs-Solver ist ein eindeutiger Name pro Auftrag erforderlich. Da jedes zu beliefernde Café in der Liste einen eindeutigen Namen trägt, werden die Namen der Cafés (im Feld USER_Name) dem Feld Name im Sublayer "Aufträge" zugeordnet.
- Ordnen Sie die folgende Zusatzeigenschaft wie folgt zu: DeliveryQuantity_1 > USER_DozensOfBreakfastSandwiches.
Der Sandwichshop liefert Sandwiches zu Dutzenden aus. Die an jedes Café zu liefernde Menge wird im Feld USER_DozensOfBreakfastSandwiches aufgezeichnet und dem Feld DeliveryQuantity_1 zugeordnet. Im Endauslieferungs-Solver können so die vielen Sandwichlieferungen an die einzelnen Standorte nachverfolgt werden.
- Wählen Sie im Abschnitt Eigenschaft den Eintrag CurbApproach und aus der Dropdown-Liste Standardwert den Eintrag Rechte Seite des Fahrzeugs aus.
Mit dem Feld CurbApproach wird die Straßenseite angegeben, auf der sich der Standort in Abhängigkeit von der Fahrtrichtung bei der Auslieferung befinden muss. Da sich die Routenplanung auf San Francisco bezieht, wo Rechtsverkehr gilt, wird durch das Festlegen von CurbApproach auf die rechte Fahrzeugseite sichergestellt, dass der Fahrer seinen Lieferwagen am Bordstein neben den Cafés parkt, sodass er die Straße nicht überqueren muss.
- Klicken Sie auf OK.
Die Cafés werden dem Sublayer "Aufträge" hinzugefügt.
Es wird eine Warnmeldung angezeigt, die besagt, dass das Feld Name in der Feature-Class "CoffeeShops_Geocoded" aufgrund des Geokodierungsprozesses die für das Feld Name im Sublayer "Aufträge" zulässige Länge überschreitet. Schließen Sie das Fenster mit der Warnmeldung, da für die Namen keine Längenüberschreitung vorliegt.
- Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf den Sublayer Aufträge, und wählen Sie Attributtabelle aus.
- Klicken Sie in der Attributtabelle mit der rechten Maustaste auf das Feld ServiceTime, und wählen Sie Feld berechnen aus.
Das Dialogfeld Feld berechnen wird angezeigt.
- Legen Sie den Wert ServiceTime auf BasedOnQuantity(!DeliveryQuantity_1!) fest.
- Geben Sie unter Code-Block Folgendes ein:
- Klicken Sie auf das Häkchen, um den Ausdruck zu überprüfen.
- Klicken Sie auf OK.
Das Feld ServiceTime wird jetzt mit einem geeigneten Wert gefüllt.
- Schließen Sie die Attributtabelle.
def BasedOnQuantity(quantity):
if quantity == 1:
time = 3
elif quantity == 2:
time = 4
elif quantity == 3:
time = 5
else:
time = 6
return time
Hinzufügen des Sandwichshop-Standortes zum Sublayer "Depots"
Depots sind die Orte, an denen die Routen täglich beginnen und enden. Alle Routen müssen an derselben Position starten und enden. In dieser Analyse fungiert der Sandwichshop als Depot. Wie bereits die Kundendaten kann auch die Adresse des Sandwichshops geokodiert werden. Da es sich jedoch um eine einzelne Adresse handelt, verwenden Sie stattdessen den Bereich Suchen, um die Adresse zu geokodieren und dem Sublayer "Depots" hinzuzufügen.
Hinweis:
Durch die Verwendung des ArcGIS World Geocoding Service für die Option Zu Feature-Class hinzufügen werden Credits verbraucht. Bei Verwendung des bereitgestellten Locators werden keine Credits verbraucht.
Führen Sie zum Hinzufügen des Sandwichshop-Standortes die folgenden Schritte aus:
- Klicken Sie auf die Registerkarte Karte, und klicken Sie in der Gruppe Abfrage auf die Schaltfläche Suchen .
Daraufhin wird der Bereich Suchen geöffnet.
- Klicken Sie neben dem Suchfeld auf den Dropdown-Pfeil Optionen.
- Aktivieren Sie SanFranciscoLocator.
- Geben Sie im Suchtextfeld die Adresse des Sandwichshops ein: 50 Southdale Ave. Daly City, CA 94015. Drücken Sie dann die Eingabetaste.
- Klicken Sie im Bereich Suchen mit der rechten Maustaste auf Option A, und wählen Sie Zu Feature-Class hinzufügen aus.
Das Fenster Zu Feature-Class hinzufügen wird angezeigt, wo Sie die Feature-Class, der die Adresse hinzugefügt wird, auswählen können.
- Blenden Sie Endauslieferung: Depots ein, wählen Sie die Vorlage Depots aus, und klicken Sie auf OK.
- Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf den Sublayer Depots, und wählen Sie Attributtabelle aus.
Der Attributtabelle wurde eine Zeile hinzugefügt, die den einzigen Filialstandort des Sandwichshops darstellt. Als Name des Depots wurde die vollständige Adresse des Sandwichshops übernommen.
- Schließen Sie die Attributtabelle.
- Heben Sie auf der Registerkarte Bearbeiten die Auswahl auf, und speichern Sie die Änderungen.
- Schließen Sie den Bereich Suchen.
Hinzufügen von Informationen zum Sublayer "Routen"
Routen enthalten Informationen zum Fahrzeug wie auch zum Fahrer. Es können Informationen über den Arbeitstag eines Fahrers eingebunden werden, z. B. den Arbeitsbeginn und die täglich mögliche Arbeitszeit. Auch Informationen zum Fahrzeug, wie z. B. die Kapazität und die Betriebskosten, können angegeben werden.
Um die Auslieferung der Bestellungen an die 173 Cafés effizient zu gestalten, legen Sie beim Hinzufügen der Routen die folgenden Parameter fest. Sie geben folgende Informationen an: die Anzahl der Routen, auf denen die 173 Cafés beliefert werden können, den Start- und Endpunkt der Route (der Standort des Sandwichshops), den frühesten Startzeitpunkt der Route (das Zustellzeitfenster ist 05:00 Uhr bis 07:30 Uhr), die Kapazität des Lieferwagens, die maximal zulässige Gesamtzeit der Route und den Stundensatz eines Fahrers.
Führen Sie die folgenden Schritte aus, um Routen und weitere Informationen zum Sublayer "Routen" hinzuzufügen:
- Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf den Namen des Gruppen-Layers Endauslieferung, und wählen Sie Auf Layer zoomen aus, um die Ansicht auf dessen volle Ausdehnung zu verkleinern.
- Kehren Sie zur Registerkarte Layer "Endauslieferung" zurück.
- Klicken Sie in der Gruppe Eingabedaten auf die Dropdown-Liste Routen importieren, und wählen Sie Routen hinzufügen aus.
Das Dialogfeld Routen für Vehicle Routing Problem hinzufügen wird angezeigt.
- Legen Sie die folgenden Werte fest:
- Anzahl der Routen: 12
Dem Sandwichshop stehen 12 Fahrzeuge für diese Lieferungen zur Verfügung, was der Anzahl an möglichen Routen entspricht.
- Name des Startdepots: 50 Southdale Ave. Daly City, CA 94015
Die Route muss am Sandwichshop beginnen und enden, daher ist die Adresse des Sandwichshops jeweils der Wert für Name des Startdepots und Name des Enddepots.
Sie können den Wert für Name des Startdepots aus der Dropdown-Liste auswählen. Dabei muss der Wert mit dem Wert im Feld Name des Sublayers "Depots" übereinstimmen.
- Name des Enddepots: 50 Southdale Ave. Daly City, CA 94015
Sie können den Wert für Name des Enddepots aus der Dropdown-Liste auswählen. Dabei muss der Wert mit dem Wert im Feld Name des Sublayers "Depots" übereinstimmen.
- Früheste Startzeit für Routen: 05:00 Uhr
Die Sandwiches müssen ab 05:00 Uhr an die Cafés ausgeliefert werden, um den morgendlichen Hochbetrieb abzupassen.
- Capacity_1: 150
Jedes Fahrzeug kann maximal 150 Dutzend Frühstückssandwiches transportieren. Es ist wichtig, dass die für Capacity_1 verwendeten Einheiten mit den Einheiten für DeliveryQuantity_1 übereinstimmen. In diesem Fall wird die Angabe in Dutzend Sandwiches gemacht.
- Maximale Gesamtzeit: 150
Bis 07:30 Uhr müssen die Routen abgeschlossen und die Fahrzeuge zurück im Sandwichshop sein. Damit haben die Fahrer 2,5 Stunden Zeit für ihre Routen. Da die zur Modellierung dieses Problems verwendeten Uhrzeitfeldeinheiten Minuten sind, müssen Sie für Maximale Gesamtzeit 150 Minuten eingeben.
- Kosten pro Zeiteinheit: 0,5
Die Fahrer erhalten einen Stundenlohn von 30 Dollar, aber da für dieses Problem Minuten verwendet werden, entspricht dies 0,5 Dollar pro Minute.
- Anzahl der Routen: 12
- Klicken Sie auf OK, um das Werkzeug auszuführen.
Dem Sublayer "Routen" werden zwölf Routen hinzugefügt.
Hinzufügen von Zonen
Damit die Fahrer auf ihren Routen in den jeweils bevorzugten Bereichen der Stadt bleiben, fügen Sie nun Zonen hinzu.
- Klicken Sie auf der Registerkarte Layer "Endauslieferung" im Abschnitt Eingabedaten auf die Schaltfläche Features erstellen .
- Wählen Sie im Bereich Features erstellen die Vorlage Zonen aus.
- Zeichnen Sie zwei Polygone ein: das eine nördlich des Golden Gate Park und der San Miguel Hills und das andere südlich davon. Die Zonen sollten der unten stehenden Abbildung entsprechen.
- Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf Zonen, und wählen Sie Attributtabelle aus.
- Ändern Sie für das Polygon, das südlich des Golden Gate Park und der San Miguel Hills liegt, den Wert des Feldes Name in South.
- Ändern Sie für das Polygon, das nördlich des Golden Gate Park und der San Miguel Hills liegt, den Wert des Feldes Name in North.
- Öffnen Sie die Attributtabelle "Routen", und scrollen Sie nach rechts bis zu den Feldern ZoneName und IsHardZone.
- Klicken Sie mit der rechten Maustaste auf das Feld IsHardZone, und klicken Sie auf Feld berechnen.
Das Dialogfeld Feld berechnen wird angezeigt.
- Legen Sie den Wert für IsHardZone auf True fest.
Diese Einstellung legt fest, dass bei den Routen nur Lieferaufträge innerhalb der angegebenen Zone möglich sind.
- Wählen Sie die ersten drei Zeilen der Attributtabelle aus, klicken Sie mit der rechten Maustaste auf das Feld ZoneName, und klicken Sie dann auf Feld berechnen.
Das Dialogfeld Feld berechnen wird angezeigt.
- Legen Sie für ZoneName den Wert South fest.
Dadurch erhalten die ersten drei Routen eine Beschränkung, sodass Bestellungen nur in der südlichen Zone ausgeliefert werden können.
- Kehren Sie die Zeilenauswahl in der Attributtabelle um, und verwenden Sie Feld berechnen, um den Wert ZoneName für die verbleibenden neun Routen auf North festzulegen.
Dadurch erhalten die verbleibenden neun Routen eine Beschränkung, sodass Bestellungen nur in der nördlichen Zone ausgeliefert werden können.
- Heben Sie die Auswahl auf, und speichern Sie die Änderungen.
- Schließen Sie die Attributtabelle.
Festlegen des Datums und Durchführen der Analyse
Sie legen nun ein Startdatum für die Routen fest. Es ist nicht notwendig, die Uhrzeit festzulegen. Denn beim Hinzufügen von Routen mit dem Werkzeug Routen für Vehicle Routing Problem hinzufügen in einem der vorangehenden Abschnitte wurde für jede Route eine Uhrzeit festgelegt.
- Klicken Sie auf dem Menüband Layer "Endauslieferung" im Abschnitt Datum und Uhrzeit auf den Dropdown-Pfeil Standarddatum, und legen Sie das Datum 03/14/2024 fest.
- Klicken Sie in der Gruppe Analyse auf Ausführen.
Der Endauslieferungs-Layer wird berechnet. Die Aufträge werden den Routen zugewiesen, und die Symbolisierung wird aktualisiert, um die Routen und die ihnen zugewiesenen Aufträge jeweils in derselben Farbe darzustellen.
- Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf den Sublayer Routen, und wählen Sie Attributtabelle aus.
- Scrollen Sie in der Tabelle nach rechts zum Ausgabefeld OrderCount.