Zpět na domů

3D balič nákladů za 0,3 s s LIFO

Služba na Django realizuje 3D balení nákladů s algoritmem MaxRects, zohledňujíc LIFO a fyziku. Zpracovává 400 SKU za 0,3 sekundy s vizualizací Three.js. Vhodná pro maloobchod s integrací Excel.

Bleskové 3D balení flotily: 0,3 s na 400 krabic
Advertisement 728x90

3D balení nákladu za 0,3 sekundy: algoritmus MaxRects s LIFO a plnou rotací

Webová služba na Django řeší úlohu 3D balení nákladu pro flotilu eurokamionů, kontejnerů a lehkých užitkových vozidel. Algoritmus zpracuje 400+ položek SKU za 0,19–0,3 sekundy, zohledňuje LIFO, 90% opěrné plochy a rotaci kolem 6 os. Rozhraní s Three.js vizualizuje výsledek v reálném čase a podporuje nahrávání z Excelu a ruční zadávání.

Vývoj od Telegram bota k plnohodnotné platformě

Projekt začal optimalizačními jádry: 0,4 sekundy na problém obchodního cestujícího pro 10 000 bodů, méně než 1 sekunda na balení složitých tvarů jako trojlístky. Telegram bot přijímal JSON s rozměry a vracel souřadnice, ale pro maloobchod bylo potřeba webové rozhraní.

Klíčové požadavky na produkt:

Google AdInline article slot
  • Dvoupanelové rozhraní pro flotilu a náklad.
  • Parsování Excelu s validací.
  • Interaktivní 3D vizualizace na Three.js.

Technologický stack: Python/Django, PostgreSQL v Dockeru, frontend Three.js. Priorita – rychlost a praktičnost: LIFO je důležitější než ideální hustota.

Algoritmus 3D MaxRects: fyzika místo matematiky

Modifikovaný 3D MaxRects pracuje se seznamem volných rovnoběžnostěnů v nákladovém prostoru, vyhýbá se úplnému prohledávání souřadnic. Vektorizace zajišťuje výkon 0,19–0,3 sekundy pro flotilu 8 vozidel.

Parametry fyzické realizovatelnosti:

Google AdInline article slot
  • Plná rotace (6 projekcí): Dlouhé náklady (2400 mm) zkoušejí vertikální nebo hranové postavení, pokud to rozměry umožňují.
  • Opěrná plocha 90%: Krabice se opírají o spodní vrstvu minimálně na 90% plochy, vylučují se visící řešení.
  • LIFO pořadí: Zohledňuje se pořadí vykládky pro reálné sklady.

Srovnání s trhem: konkurenti tráví minuty nebo hodiny, často ignorují LIFO a fyziku.

Architektura: Django, Docker a škálovatelnost

Backend na Django + PostgreSQL v Docker kontejnerech. Nginx + Gunicorn (3 workeři) zajišťuje odolnost proti selhání. HTTPS na portu 443 obchází firemní firewally. Průměrná spotřeba paměti – 29% na serveru s 8 GB při 400 SKU.

Autorizace přes Django Auth: izolace dat podle uživatelů, historie výpočtů v ORM. Každý vidí pouze svou flotilu a náklad.

Google AdInline article slot

Rozhraní: flexibilní zadávání a jemné nastavení

Dvoupanelové rozvržení odděluje flotilu (vpravo) a náklad (vlevo). Flotila: rozměry, nosnost, množství. Náklad: rozměry, hmotnost, množství, parametry (LIFO, StackLimit).

Možnosti zadávání:

  • Ruční formuláře pro korekce.
  • Hromadné nahrávání z Excelu s validací.

Zaškrtávací políčka optimalizace:

  • Náklon (Tilt): Povolení/zákaz rotace pro křehký náklad.
  • Optimalizace flotily: Priorita plnění velkých vozidel pro minimalizaci jízd.

Vizualizace a export výsledků

Výpočet za 0,19–0,3 sekundy poskytuje 3D scénu na Three.js. Barevné kódování podle SKU, interaktivní otáčení, kontrola LIFO a opěr. Export: PDF reporty nebo Excel se souřadnicemi X, Y, Z.

Nasazení pro produkci

Gunicorn se 3 workery + Nginx reverzní proxy. Docker zajišťuje autonomii. Testování: 98% pokrytí, stabilita pod zátěží několika uživatelů.

Co je důležité

  • Rychlost 0,19–0,3 sekundy na 400 SKU a 8 vozidel.
  • Fyzická omezení: LIFO, 90% opěra, 6 os rotace.
  • Rozhraní pro logistiky: Excel, 3D vizualizace, izolace dat.
  • Produkční stack: Django, Docker, Nginx/Gunicorn.
  • Škálovatelnost: nízká spotřeba zdrojů.

— Editorial Team

Advertisement 728x90

Číst dál