Mit Lastanforderungen und -limits können Sie die Kapazität verwalten. Sie geben die erforderliche Kapazität einer Sendung und die maximale Kapazität eines Fahrzeugs an, sodass Sie Routenzuweisungen anhand dieser Einschränkungen optimieren können.
Mit Lastanforderungen und -limits können Sie folgende Ziele erreichen:
- Verhindern, dass Fahrzeuge überladen werden.
- Beobachten Sie, wie sich die Fahrzeugbeladung bei der Abholung und Lieferung von Sendungen ändert.
- Begrenzen Sie, wie oft ein Fahrzeug einen bestimmten Ort besuchen darf.
Lastanforderungen und -limits werden in den folgenden Properties angegeben:
loadDemands
gibt die Kapazität an, die für eine bestimmte Lieferung erforderlich ist.loadLimits
gibt die maximale Kapazität für ein bestimmtes Fahrzeug an.
Struktur
Wie im Diagramm dargestellt, sind die Lastanforderungen und -limits so strukturiert:
loadDemands
ist eine Property vonShipment
. EinShipment
kann mehrere Lastanforderungen haben.loadLimits
ist eine Property vonVehicle
. EineVehicle
kann mehrere Ladelimits haben.
Attribute
In diesem Abschnitt werden die folgenden Eigenschaften für Lastanforderungen und -limits beschrieben:
- Ladetyp:Gemeinsame Eigenschaft von Lastanforderungen und -limits.
Load
undLoadLimit
:Einzigartige Eigenschaften in Lastanforderungen bzw. Lastlimits.
Ladetyp
Ladekapazitätstypen sind Stringschlüssel, die die Art der Ladekapazitätsanforderungen für eine Sendung und die Ladekapazitätslimits für ein Fahrzeug angeben. Ladetypen haben folgende wichtige Merkmale:
- Benutzerdefiniert:Sie definieren die Ladetypen. Es gibt keine vordefinierten Systemvariablen für Ladetypen.
- Gemeinsam genutzt:Ladungstypen sind für den gemeinsamen Einsatz zwischen Sendungen und Fahrzeugen vorgesehen. Das bedeutet, dass ein Fahrzeug nur dann bis zur Kapazitätsgrenze beladen wird, wenn die Ladekapazitäten übereinstimmen. Wenn für ein Fahrzeug kein Ladelimit für einen bestimmten Ladungstyp angegeben ist, kann es eine unbegrenzte Menge dieses Ladungstyps aufnehmen.
Die Stringschlüssel, die die Ladetypen darstellen, verwenden die Syntax für den Kartentyp von Protocol Buffers. Diese Stringschlüssel dürfen nicht null sein, um Probleme zu vermeiden. Bei der Benennung eines Lasttyps sollten Sie Kennungen verwenden, die den Lasttyp und seine Einheit beschreiben. Beispiele: weightKg, volume_gallons, palletcount oder frequencyDaily.
Load
und LoadLimit
Die Objekte Load
und LoadLimit
enthalten bestimmte Eigenschaften, um die Kapazitätsanforderungen für Sendungen und Fahrzeuge zu definieren. Diese Eigenschaften werden in der folgenden Tabelle beschrieben:
Object | Hat Kinder | Attribut | Property-Typ | Unterkunftsbeschreibung |
---|---|---|---|---|
Load |
loadDemands |
amount |
String (int64-Format) | Definiert die Kapazitätsanforderung der Sendung im angegebenen Typ. |
LoadLimit |
loadLimits |
maxLoad |
String (int64-Format) | Definiert die maximale Nutzlast des Fahrzeugs des angegebenen Typs. |
Beispiele
Das folgende Beispiel zeigt die Struktur einer Lastanforderung, bei der Sie den Typ loadDemands
als String und die Property amount
als String im int64-Format festlegen können:
"loadDemands": {
"MATCHING_LOAD_TYPE ": {
"amount": "YOUR_LOAD_AMOUNT "
}
}
Das folgende Beispiel zeigt die einfachste Struktur einer Auslastungsgrenze, bei der Sie den Typ loadLimits
als String und die Eigenschaft maxLoad
als String im int64-Format festlegen können:
"loadLimits": {
"MATCHING_LOAD_TYPE ": {
"maxLoad": "YOUR_MAX_LOAD "
}
}
Jetzt ausprobieren
Erstellen Sie anhand der Codebeispiele oben ein fiktives Szenario. In diesem Szenario haben Sie eine Sendung mit einem Gewicht von 10 kg und ein Fahrzeug, das 100 kg tragen kann:
Definieren Sie im Beispiel
loadDemands
den Ladetyp alsweightKg
.Danach wird auch der Lasttyp im Beispiel
loadLimits
ausgefüllt und der Lasttyp wird freigegeben. Denken Sie daran, dass die Typen vonloadDemands
undloadLimits
übereinstimmen müssen, damit der Versand die Limits des Fahrzeugs ausschöpft.Legen Sie im selben
loadDemands
-Beispiel das Attributamount
auf10
fest.Die Sendung wiegt also 10 kg.
Legen Sie im Beispiel für
loadLimits
die PropertymaxLoad
auf100
fest.Das Fahrzeug kann also maximal 100 kg tragen.
Es gibt keine vordefinierten Typen. In diesem Beispiel könnten Sie Kilogramm in Punkte oder lineare Maße anstelle von Gewicht ändern. So können Sie die Anforderungen und Limits an die Last an Ihre spezifischen Anforderungen anpassen.
Beispielanfrage
Das folgende Beispiel zeigt die Struktur einer einfachen optimizeTours
-Anfrage mit loadDemands
in einer Sendung und loadLimits
in einem Fahrzeug:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 00.000000, "longitude": 00.000000 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 00.000000, "longitude": 00.000000 } } ], "loadDemands": { "MATCHING_LOAD_TYPE ": { "amount": "YOUR_LOAD_AMOUNT " } } } ], "vehicles": [ { "startLocation": { "latitude": 00.000000, "longitude": 00.000000 }, "endLocation": { "latitude": 00.000000, "longitude": 00.000000 }, "costPerKilometer": 1.0, "loadLimits": { "MATCHING_LOAD_TYPE ": { "maxLoad": "YOUR_MAX_LOAD " } } } ] } }
Denken Sie daran, dass eine Sendung mehrere Ladeanforderungen und ein Fahrzeug mehrere Ladelimits haben kann. So können Sie komplexe Einschränkungen angeben, die bei der Optimierung der Routen Ihrer Flotte berücksichtigt werden müssen.