Diff-BPP

Regular Bin packing using diffusion models

This blog describes a preview of the work bin packing with diffusion models. The abstract idea is described briefly along with some interesting results. A detailed blog along with code and manuscipt will be released soon.

  • Leverages natural language input to understand and incorporate human preferences directly into the packing process.
  • Unlike traditional online methods, our model generates the entire packing plan at once.
  • Unlike other learning-based systems that require retraining for new constraints, our model generalizes to unseen preferences without additional training.
  • Produces packing solutions that respect human-specified constraints, even when those constraints are complex or novel.

Methodology Crux points

We leverage diffusion models (DDPM) to generate optimal placements for cuboids within a container, conditioned on their dimensions. An attention mechanism is employed to ensure the packing is globally optimized. We apply in-painting methods to incorporate human preferences described in natural language into the packing process. We leverage LLMs to infer hard constraints as per the instruction to get in-painting positions. Soft constraints through guidance will be updated shortly.

Results

Placements generated by the Diffusion model base planner for random cuboids on Full sequences as well as subsequence

Incorporating Human constraints through Natural Language

Incorporating custom constraints through in-painting

Type of constraint: The red cuboid should be at the left corner of the container

How the constraint is enforced: The red cuboid is constrained to be at position (0.25,0.25, Z)

Left shows a random valid packing generated, the right image shows constrained generation.

Type of constraint: The Heaviest object should be on the bottom

How the constraint is enforced: The heaviest cuboid is in-painted as (X,Y,Z=height/2)

Left shows a random valid packing generated, the middle and the right images show constrained generation as per natural language instruction.
Left shows a random valid packing generated, the middle and the right images show constrained generation as per natural language instruction.

Type of constraint: Keep all the square objects on the left side

How the constraint is enforced: The centroid is in-painted to be at (X,y=0.25,Z)

Left shows a random valid packing generated, the middle and the right images show constrained generation as per natural language instruction.