🔍 Problem Summary
When placing 36 half-circle pieces (radius = 400 mm) on a 6500 × 2410 mm sheet, the optimizer generates a non-optimal and inconsistent layout.
Instead of cleanly arranging pieces, the output includes:
- Staggered / uneven rows
- Irregular spacing
- Rotated pieces where rotation is not required
- A large unused region on the right side
- A layout far from mathematically optimal packing
📐 Geometry Details
Each half-circle (radius 400 mm):
- Width = 800 mm
- Height = 400 mm
Since the sheet size is 6500 × 2410 mm, an ideal deterministic packing is possible:
- 6 pieces per row (6 × 700 = 4200 < 6500)
- 6 rows (6 × 400 = 2400 < 2410)
- Total = 36 pieces
Expected layout → a clean 6 × 6 grid with minimal waste.

❌ Actual Output
The generated solution (solution_5.json) shows:
- Misaligned placement
- Unnecessary staggering
- Large unused space on right
- Non-deterministic layout even though an optimal structured pattern exists
✅ Expected Behavior
The optimizer should return a layout similar to:
- 6 rows × 6 columns
- All pieces aligned
- No rotation needed
- Minimal unused space
📁 Attached Files
▶ Input
input_5.json
▶ Output
solution_5.json
🔄 Steps to Reproduce
- Load
input_5.json
- Run the optimizer with default settings
- Inspect resulting layout
- Compare to deterministic optimal grid
📌 Additional Notes
- The optimal layout is deterministic and straightforward.
- The optimizer should at least match this baseline.
- Potential causes: incorrect bounding box handling, rotation logic, or polygon resolution.
🔍 Problem Summary
When placing 36 half-circle pieces (radius = 400 mm) on a 6500 × 2410 mm sheet, the optimizer generates a non-optimal and inconsistent layout.
Instead of cleanly arranging pieces, the output includes:
📐 Geometry Details
Each half-circle (radius 400 mm):
Since the sheet size is 6500 × 2410 mm, an ideal deterministic packing is possible:
Expected layout → a clean 6 × 6 grid with minimal waste.
❌ Actual Output
The generated solution (
solution_5.json) shows:✅ Expected Behavior
The optimizer should return a layout similar to:
📁 Attached Files
▶ Input
input_5.json
▶ Output
solution_5.json
🔄 Steps to Reproduce
input_5.json📌 Additional Notes