Lastanforderungen und -limits sind eine Art von Einschränkung, mit der Sie die Kapazität verwalten können. Diese Einschränkung gibt die erforderliche Kapazität einer Sendung und die maximale Kapazität eines Fahrzeugs an. So können Sie die Routenzuweisungen anhand dieser Einschränkungen optimieren.
Mit Lastanforderungen und ‑limits können Sie Ziele wie die folgenden erreichen:
- Verhindern, dass Fahrzeuge überladen werden.
- Sie können beobachten, wie sich die Fahrzeuglasten ändern, wenn Sendungen abgeholt und zugestellt werden.
- Priorisiere die Zuordnung von schweren Fahrzeugen zu schweren Lasten.
Lastanforderungen und -limits werden in den folgenden Attributen angegeben:
loadDemandsgibt die Kapazität an, die für eine bestimmte Sendung erforderlich ist.loadLimitsgibt die maximale Kapazität für ein bestimmtes Fahrzeug an.
Struktur
Wie im Diagramm dargestellt, sind Lastanforderungen und Limits so strukturiert:
loadDemandsist ein Attribut vonShipment. EinShipmentkann mehrere Lastanforderungen haben.loadLimitsist ein Attribut vonVehicle. EinVehiclekann mehrere Lastlimits haben.
Essentials-Checkliste
In der folgenden Checkliste werden wichtige Kenntnisse beschrieben, mit denen potenzielle lastbezogene Fehler vermieden werden können. Anhand dieser Liste können Sie Ihre Anfrage validieren und Fehler in der Antwort beheben.
Attribute
In diesem Abschnitt werden die Attribute für Lastanforderungen und Limits beschrieben:
- Lasttyp: Eine gemeinsame Eigenschaft von Lastanforderungen und -limits.
LoadundLoadLimit: Eindeutige Attribute, die in Lastanforderungen bzw. Lastlimits vorhanden sind.
Lasttyp
Ein Ladungstyp ist ein Stringschlüssel, den Sie gleichermaßen auf Sendungen und Fahrzeuge anwenden. Ein einzelner Lasttyp gilt sowohl für die Lastanforderung einer Sendung als auch für das Lastlimit eines Fahrzeugs.
Für Lasttypen wird die Syntax des Protokollzwischenspeicher-Zuordnungstyps verwendet. Verwenden Sie beim Benennen eines Lasttyps Kennungen, die den Typ der Last und die Einheit beschreiben. Beispiel: weightKg, volume_gallons, palletcount oder frequencyDaily.
Load und LoadLimit
Die Objekte Load und LoadLimit enthalten bestimmte Attribute, mit denen die Kapazitätsanforderungen für Sendungen und Fahrzeuge definiert werden. In der folgenden Tabelle werden diese Attribute beschrieben:
| Objekt | Elternteil | Attribut | Property-Typ | Property-Beschreibung |
|---|---|---|---|---|
Load |
loadDemands |
amount |
String (int64-Format) | Definiert den Kapazitätsbedarf der Sendung im angegebenen Typ. |
LoadLimit |
loadLimits |
maxLoad |
String (int64-Format) | Definiert die maximale Ladekapazität des Fahrzeugs im angegebenen Typ. |
Beispiele
In diesem Abschnitt werden drei Arten von Beispielen behandelt:
- Codebeispiele, die die Struktur der Attribute für Lastanforderungen und Limits veranschaulichen.
- Ein Beispielszenario, das eine Möglichkeit zeigt, Lastanforderungen und -limits in einer API-Anfrage zu verwenden.
- Ein Anfragebeispiel, das die im Beispielszenario festgelegten Werte enthält.
Codebeispiele
Das folgende Beispiel zeigt die Struktur einer Lastanforderung, bei der Sie den Typ loadDemands als String und das Attribut amount als String im int64-Format festlegen können:
{ "model": { "shipments": [ ... { "loadDemands": { "MATCHING_LOAD_TYPE": { "amount": "YOUR_LOAD_AMOUNT" } } } ], "vehicles": [ ... ] } }
Das folgende Beispiel zeigt die einfachste Struktur eines Lastlimits, bei der Sie den Typ loadLimits als String und das Attribut maxLoad als String im int64-Format festlegen können:
{ "model": { "shipments": [ ... ], "vehicles": [ ... { "loadLimits": { "MATCHING_LOAD_TYPE": { "maxLoad": "YOUR_MAX_LOAD" } } } ] } }
Beispielszenario
In diesem Abschnitt wird ein Szenario beschrieben, in dem Sie eine Hundetagesstätte betreiben und eine Route optimieren, um einige Hunde in einem Fahrzeug mit einer begrenzten Anzahl von Boxen zu transportieren.
Jede Sendung entspricht einem Stopp, an dem Sie eine bestimmte Anzahl von Hunden abholen. In diesem Beispiel hat jede Sendung einen anderen Abholort, nämlich das Zuhause der Hunde, die Sie betreuen. Alle Sendungen haben denselben Lieferort, nämlich das Gebäude Ihrer Hundetagesstätte.
In diesem Beispiel sind die Attributwerte in Ihrer Anfrage folgende:
| Elternteil | Attribut | Typ | Wert | Szenario |
|---|---|---|---|---|
loadDemands |
Lasttyp | String | dogUnit |
Definiert die Art der Ladung für die Sendung. In diesem Beispiel wird dogUnit verwendet, wobei jedes dogUnit für einen Hund steht. |
loadDemands |
amount |
Zahl | 1. Sendung: 12. Sendung: 3 |
Gibt die Menge des definierten Lasttyps an. In diesem Beispiel definieren Sie zwei Sendungen. Bei der ersten holen Sie einen Hund ab, bei der zweiten drei Hunde. |
loadLimits |
Lasttyp | String | dogUnit |
Definiert die Art der Lastbeschränkung, die für das Fahrzeug gilt. Dieser Wert muss mit dem Ladungstyp der Sendung übereinstimmen, damit das Limit relevant ist. |
loadLimits |
maxLoad |
Zahl | 6 |
Gibt die maximale Menge des Ladungstyps an, die das Fahrzeug transportieren kann. In diesem Beispiel haben Sie nur ein Fahrzeug mit einer maximalen Kapazität von 6 dogUnit, wobei jede dogUnit für eine Hundebox steht. |
Das folgende Diagramm veranschaulicht die Belastungsgrenzen des Fahrzeugs, die Belastungsanforderungen der einzelnen Sendungen und wie jede Sendung die Belastungsgrenzen des Fahrzeugs beansprucht:

In diesem Beispiel haben die Lastanforderungen der einzelnen Sendungen und die Lastlimits des Fahrzeugs die folgenden Auswirkungen:
Der Optimierer hat kein Problem damit, eine Route für das Fahrzeug zu generieren, um die Hunde zu transportieren, da das Fahrzeug bis zu 6 Hunde aufnehmen kann und Sie nur 4 Hunde abholen.
Bei einer maximalen Belastung von 6
dogUnitkönnten Sie also nur zwei weitere Hunde in diesem Fahrzeug transportieren.Wenn die Anzahl der Hunde die Belastungsgrenze überschreitet, würde der Optimierer entweder eine der Abholungen überspringen oder sie einem geeigneten Fahrzeug zuweisen.
Denken Sie daran, dass es keine vordefinierten Typen gibt. In diesem Beispiel könnten Sie den Lasttyp von Hundeeinheiten in Gewichtseinheiten ändern, um das Gewicht der Hunde zu begrenzen, oder in lineare Maße, um ihre Breite oder Höhe zu begrenzen. Dank dieser Flexibilität können Sie die Lastanforderungen und -limits an Ihre spezifischen Anforderungen anpassen.
Beispielanfrage
Das folgende Beispiel zeigt die Struktur einer einfachen optimizeTours-Anfrage mit den Werten aus dem Beispielszenario:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.8024, "longitude": -122.4058 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ], "label": "One bernese mountain dog", "loadDemands": { "dogUnit": { "amount": "1" } } }, { "pickups": [ { "arrivalLocation": { "latitude": 37.7359, "longitude": -122.5011 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ], "label": "Three chihuahuas", "loadDemands": { "dogUnit": { "amount": "3" } } } ], "vehicles": [ { "startLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "endLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "loadLimits": { "dogUnit": { "maxLoad": "6" } }, "costPerKilometer": 1.0 } ] } }
Denken Sie daran, dass eine Sendung im Gegensatz zu diesem Beispiel mehrere Ladeanforderungen und ein Fahrzeug mehrere Ladekapazitäten haben kann. So können Sie komplexe Einschränkungen angeben, die bei der Optimierung der Routen Ihrer Flotte berücksichtigt werden sollen.
Weiche Lastlimits
Sie können Lastlimits als weiche Einschränkungen festlegen, indem Sie softMaxLoad und costPerUnitAboveSoftMax für die loadLimits eines Fahrzeugs hinzufügen. Dadurch kann der Optimierer die maximale Last des Fahrzeugs gegen eine Gebühr überschreiten. Die Routenfertigstellung hat Vorrang vor der strikten Einhaltung des Lastlimits.
Sie können maxLoad und softMaxLoad zusammen verwenden, um sowohl ein hartes als auch ein weiches Lastlimit festzulegen. In diesem Fall legt softMaxLoad die Last fest, die überschritten werden kann, und maxLoad legt ein festes Limit fest, das nicht überschritten werden darf. Wenn beide verwendet werden, muss maxLoad größer als softMaxLoad sein.
Attribute
In der folgenden Tabelle werden die Attribute für weiche Einschränkungen für Lastanforderungen und -limits beschrieben.
| Elternteil | Property-Name | Property-Typ | Property-Beschreibung |
|---|---|---|---|
loadLimits |
softMaxLoad |
String (int64-Format) | Die bevorzugte maximale Last für ein Fahrzeug. Wenn die Last des Fahrzeugs diesen Wert überschreitet, fallen Kosten an. |
loadLimits |
costPerUnitAboveSoftMax |
Zahl | Die Kosten pro Lasteinheit über dem softMaxLoad. Dieses Feld ist erforderlich, wenn Sie softMaxLoad verwenden. Weitere Informationen zu den Kosten finden Sie im Schlüsselkonzept Kostenmodell. |
Codebeispiel
Das folgende Beispiel zeigt die Struktur der Attribute für weiche Einschränkungen von loadLimits:
{ "loadLimits": { "LOAD_TYPE": { "softMaxLoad": "LOAD_AMOUNT", "costPerUnitAboveSoftMax": COST_PER_UNIT } } }