Zurück zur Startseite

3D-Frachtpacker in 0.3s mit LIFO

Django-basierter Dienst implementiert 3D-Frachtpacken mit MaxRects-Algorithmus unter Berücksichtigung von LIFO und Physik. Bewältigt 400 SKU in 0.3 Sekunden mit Three.js-Visualisierung. Geeignet für den Einzelhandel mit Excel-Integration.

Blitzschnelles 3D-Flottenpacken: 0.3s für 400 Boxen
Advertisement 728x90

3D-Ladungsoptimierung in 0,3 Sekunden: MaxRects-Algorithmus mit LIFO und voller Rotation

Ein Django-Webdienst löst das 3D-Ladungsoptimierungsproblem für Flotten von LKWs, Containern und Transportern. Der Algorithmus verarbeitet über 400 SKU-Artikel in 0,19–0,3 Sekunden und berücksichtigt LIFO, 90 % Auflagefläche und Rotation über 6 Achsen. Eine Schnittstelle mit Three.js visualisiert die Ergebnisse in Echtzeit und unterstützt Excel-Uploads und manuelle Eingaben.

Entwicklung vom Telegram-Bot zur vollwertigen Plattform

Das Projekt begann mit Optimierungs-Engines: 0,4 Sekunden für ein Traveling-Salesman-Problem mit 10.000 Punkten, unter 1 Sekunde für die Packung komplexer Formen wie Kleeblätter. Ein Telegram-Bot akzeptierte JSON mit Abmessungen und gab Koordinaten aus, doch der Einzelhandel benötigte eine Web-Oberfläche.

Wichtige Produktanforderungen:

Google AdInline article slot
  • Zwei-Fenster-Oberfläche für Flotte und Ladung.
  • Excel-Parsing mit Validierung.
  • Interaktive 3D-Visualisierung mit Three.js.

Tech-Stack: Python/Django, PostgreSQL in Docker, Frontend mit Three.js. Priorität: Geschwindigkeit und Praktikabilität – LIFO ist wichtiger als perfekte Dichte.

3D-MaxRects-Algorithmus: Physik vor Mathematik

Der modifizierte 3D-MaxRects arbeitet mit einer Liste freier Parallelepipede im Laderaum und vermeidet vollständige Koordinatenaufzählung. Vektorisierung liefert eine Leistung von 0,19–0,3 Sekunden für eine Flotte von 8 Fahrzeugen.

Physikalische Machbarkeitsparameter:

Google AdInline article slot
  • Volle Rotation (6 Projektionen): Lange Artikel (2400 mm) probieren vertikale oder Kantenpositionen, wenn die Abmessungen es erlauben.
  • Auflagefläche 90 %: Kartons ruhen auf der unteren Schicht mit mindestens 90 % Fläche, was instabile Lösungen ausschließt.
  • LIFO-Reihenfolge: Die Entladeabfolge wird für reale Lager berücksichtigt.

Marktvergleich: Konkurrenten benötigen Minuten oder Stunden und ignorieren oft LIFO und Physik.

Architektur: Django, Docker und Skalierbarkeit

Backend auf Django + PostgreSQL in Docker-Containern. Nginx + Gunicorn (3 Worker) gewährleistet Fehlertoleranz. HTTPS auf Port 443 umgeht Unternehmensfirewalls. Die durchschnittliche Speichernutzung beträgt 29 % auf einem 8-GB-Server mit 400 SKUs.

Autorisierung über Django Auth: Datenisolierung pro Benutzer, Berechnungshistorie im ORM. Jeder Benutzer sieht nur seine eigene Flotte und Ladung.

Google AdInline article slot

Oberfläche: Flexible Eingabe und Feinabstimmung

Zwei-Fenster-Layout trennt Flotte (rechts) und Ladung (links). Flotte: Abmessungen, Ladekapazität, Menge. Ladung: Größe, Gewicht, Menge, Parameter (LIFO, StackLimit).

Eingabeoptionen:

  • Manuelle Formulare für Anpassungen.
  • Stapel-Excel-Upload mit Validierung.

Optimierungs-Checkboxen:

  • Kippen: Rotation für empfindliche Ladung erlauben/einschränken.
  • Flottenoptimierung: Große Fahrzeuge priorisieren, um Fahrten zu minimieren.

Visualisierung und Export der Ergebnisse

Berechnung in 0,19–0,3 Sekunden gibt eine 3D-Szene mit Three.js aus. Farbkodierung nach SKU, interaktive Rotation, LIFO- und Auflagenprüfungen. Export: PDF-Berichte oder Excel mit X-, Y-, Z-Koordinaten.

Bereitstellung für die Produktion

Gunicorn mit 3 Workern + Nginx-Reverse-Proxy. Docker gewährleistet Autonomie. Tests: 98 % Abdeckung, Stabilität unter Last durch mehrere Benutzer.

Wichtigste Erkenntnisse

  • Geschwindigkeit von 0,19–0,3 Sekunden für 400 SKUs und 8 Fahrzeuge.
  • Physikalische Einschränkungen: LIFO, 90 % Auflage, 6-Achsen-Rotation.
  • Oberfläche für Logistik: Excel, 3D-Visualisierung, Datenisolierung.
  • Produktions-Stack: Django, Docker, Nginx/Gunicorn.
  • Skalierbarkeit: geringer Ressourcenverbrauch.

— Editorial Team

Advertisement 728x90

Weiterlesen