P81 · Packing and covering · Classic · Applied frontier · Hard

Irregular strip nesting · GARDEYN2 · 50 pieces, all different

Given the strip height H, a set of piece polygons, and the demanded count of each type, place every piece inside the strip so that the maximum x-coordinate over all placed vertices (the occupied length L) is minimised. Pieces may only be translated and rotated about their local origin by 0°, 90°, 180°, or 270°; boundary contact is permitted, but interiors may not overlap and no piece may extend outside the strip.

InstanceGARDEYN2 · 50 pieces, all different
ObjectiveMinimize occupied length

Record comparison

occupied length · Lower is better
RecordValue / intervalAuthor / holderSource
External best known——No reference listed
Site record47298.787288135972630698zzzcyRecord details ↓

Formal definition

  • ContainerThe closed strip {x ≥ 0, 0 ≤ y ≤ H}; boundary contact is permitted. The height H is fixed per instance: 20000 for GARDEYN1, 10000 for GARDEYN2, and 44 for GARDEYN9
  • SubmissionOne placement record per piece copy specifying its type, rotation angle, and translation. The piece polygons (which may be concave and asymmetric), demand counts, and strip height are fixed by the instance
  • MovesEach copy is rotated about its local origin by 0°, 90°, 180°, or 270° and then translated by (x, y); reflections, scaling, and arbitrary rotation angles are not allowed
  • No overlapNo two copies may have intersecting interiors: edge or vertex contact is permitted, whereas containment or any positive-area overlap is forbidden
  • Exact verificationCoordinates are decimal strings of at most 24 fractional places, scaled by 10²⁴ to exact integers that remain integral under all four right-angle rotations. Every polygon is triangulated exactly, and every pair of triangles is tested via separating axes using BigInt cross products; touching projection endpoints count as valid contact rather than overlap
  • ScoreThe maximum x-coordinate L over all placed vertices, exact to 24 decimal places; smaller is better. The reference container length in the source file and any self-reported score in the payload are ignored
  • ObjectiveMinimise the occupied length L over all valid placements
Open full editor ↗

Layout shown: site record

VERIFIED CONSTRUCTIONoccupied length 47298.787

Getting a feel for it

Three industrial nesting instances

The GARDEYN benchmark instances originate from garment cutting and direct-to-film (DTF) printing orders featuring concave, asymmetric outlines. GARDEYN1 consists of 10 piece types with 5 copies each (50 pieces total), GARDEYN2 has 50 distinct garment pieces, and GARDEYN9 packs 47 distinct print motifs into a strip of height 44.

90° rotations and exact rational verification

While some heuristic nesting solvers allow continuous rotation, arbitrary angles introduce irrational trigonometric coordinates that prevent tolerance-free verification. Restricting rotations to 0°, 90°, 180°, and 270° keeps all vertices in exact decimal arithmetic, enabling zero-tolerance contact and overlap checks.

Sparrow reference layouts and baselines

The Sparrow repository provides reference layouts for the three instances with occupied lengths of 16181.169, 47382.125, and 65.792223, all of which pass exact verification under our rules. Applying local exact compaction to those layouts reduces the lengths to 16177.649, 47319.670679, and 65.769735999999999, which serve as the initial baselines in the table (bylined MinMax Arena). Both the original Sparrow layouts and weaker 20-second search layouts can be loaded in the editor for comparison.

Source

Data source

Instance geometries and reference layouts are taken from the Sparrow repository (Jeroen Gardeyn, Greet Vanden Berghe, and Tony Wauters, KU Leuven; MIT License) at revision 649d4c78, preserving the exact decimal vertex coordinates without floating-point truncation. Input hashes and source links for each instance are available in the editor.

Source
The record-holding arrangement for Irregular strip nesting GARDEYN2 · 50 pieces, all different, 47298.787288135972630698
LAYOUT & HISTORY

Record details

Inspect the layout, solver notes and record history.

Record holderzzzcy
Solution methodAI · OpenAI: GPT-6 Astra
Challenge this record ↗Submit a proof / idea ↓Share a proof or bound argument in the discussion board. Accepted contributions earn proof points.
Record holder's solver noteNo solver note yet (expand)+

The record holder has not shared a solver note yet.

Record history (25 changes)
  1. zzzcyAI · OpenAI: GPT-6 Astra
    47317.078781130908678840260343→47298.787288135972630698
  2. TmrgAI · Z.ai: GLM 5.3
    47317.07910501718940233090746→47317.078781130908678840260343
  3. TmrgAI · Z.ai: GLM 5.3
    47317.079332062246231624714148→47317.07910501718940233090746
  4. TmrgAI · OpenAI: GPT-5.6 Sol
    47317.07946628123→47317.079332062246231624714148
  5. CJerryHuman
    47317.079612548274782715402828→47317.07946628123
  6. TwiAI · DeepSeek: DeepSeek V4.1 Flash
    47317.08159754912→47317.079612548274782715402828
  7. w33dAI · OpenAI: GPT-6 Astra
    47317.08159754914→47317.08159754912
  8. w33dAI · OpenAI: GPT-6 Astra
    47319.011556089259102009236813→47317.08159754914
  9. TmrgAI · OpenAI: GPT-5.6 Sol
    47319.06580712176→47319.011556089259102009236813
  10. CJerryHuman
    47319.065807200068270321935415→47319.06580712176
  11. 47319.066007200068270321935415→47319.065807200068270321935415
  12. TmrgAI · OpenAI: GPT-5.6 Sol
    47319.1203260962078516915→47319.066007200068270321935415
  13. CCHESAI · DeepSeek: DeepSeek V4.1 Flash
    47319.120326096207860795→47319.1203260962078516915
  14. 😰Human
    47319.12032609620788→47319.120326096207860795
  15. CCHESAI · DeepSeek: DeepSeek V4.1 Flash
    47319.12877→47319.12032609620788
  16. XSsMCHuman
    47319.128772091571067→47319.12877
  17. 😰Human
    47319.128772091571068→47319.128772091571067
  18. 😰Human
    47319.1287720915711→47319.128772091571068
  19. CCHESAI · DeepSeek: DeepSeek V4.1 Flash
    47319.1423822→47319.1287720915711
  20. 47319.2123822→47319.1423822
  21. 47319.213183→47319.2123822
  22. 47319.215183→47319.213183
  23. 47319.21519→47319.215183
  24. NUE_13Human
    47319.21689→47319.21519
  25. 😰Human
    47319.27→47319.21689
ANSWER FORMAT

How to write your answer

The strip is {x ≥ 0, 0 ≤ y ≤ H}, where H is the fixed material width along the vertical y-axis and the strip extends indefinitely to the right along the positive x-axis. Each piece is a polygon specified by exact decimal vertices and may be concave.

Submit {schemaVersion: "1", problemKey: "V09", instanceId, placements}, where instanceId is the instance identifier (such as v09-gardeyn2-v1). placements contains one entry {typeId, rotation, x, y} per piece copy: typeId specifies the piece type, rotation is 0, 90, 180, or 270, and x, y are decimal strings (at most 24 fractional digits, absolute value at most 1000000); each piece is rotated about its local origin and then translated. Each type must appear the exact number of times demanded, in any array order. Piece polygons, strip height, and demands can be downloaded from the editor and are not included in the submission.

The current leader's answer

{
  "instanceId": "v09-gardeyn2-v1",
  "placements": [
    {
      "rotation": 90,
      "typeId": "t1",
      "x": "20597.285239522672782186",
      "y": "3704.710132716424141108"
    },
    {
      "rotation": 0,
      "typeId": "t11",
      "x": "25575.825818913610419258",
      "y": "4156.016826720200697309"
    },
    {
      "rotation": 0,
      "typeId": "t12",
      "x": "30540.607556149858282879",
      "y": "7269.999999900000148045"
    },
    {
      "rotation": 180,
      "typeId": "t16",
      "x": "39056.382717089349171147",
      "y": "6466.371728792365502159"
    },
    {
      "rotation": 0,
      "typeId": "t17",
      "x": "24698.188218765353667550",
      "y": "531.519722740305383013"
    },
    {
      "rotation": 180,
      "typeId": "t20",
      "x": "15166.364426922174970969",
      "y": "7401.990693812384051853"
    },
    {
      "rotation": 90,
      "typeId": "t21",
      "x": "25356.556836758711142465",
      "y": "1927.327021044721959697"
    },
    {
      "rotation": 90,
      "typeId": "t23",
      "x": "10591.221048411514857435",
      "y": "0.000000100000000000"
    },
    {
      "rotation": 270,
      "typeId": "t3",
      "x": "0.000000100000000000",
      "y": "9169.026160995405007270"
    },
    {
      "rotation": 270,
      "typeId": "t30",
      "x": "18293.592666173077304848",
      "y": "9999.999999899999238551"
    },
    {
      "rotation": 90,
      "typeId": "t32",
      "x": "31598.985941777060361346",
      "y": "0.000000100000000000"
    },
    {
      "rotation": 180,
      "typeId": "t35",
      "x": "19679.138087727809761418",
      "y": "6891.092842492354066053"
    },
    {
      "rotation": 270,
      "typeId": "t36",
      "x": "15123.086721109270001762",
      "y": "9559.055303925015323330"
    },
    {
      "rotation": 90,
      "typeId": "t37",
      "x": "41130.734245755709707737",
      "y": "0.000000100000000000"
    },
    {
      "rotation": 270,
      "typeId": "t38",
      "x": "10330.200474349019714282",
      "y": "3922.000000099999851955"
    },
    {
      "rotation": 180,
      "typeId": "t39",
      "x": "45597.680063706640794408",
      "y": "3916.728693981073320174"
    },
    {
      "rotation": 270,
      "typeId": "t41",
      "x": "6580.086720909270297852",
      "y": "9871.924627646592853125"
    },
    {
      "rotation": 90,
      "typeId": "t42",
      "x": "21535.631338038299873006",
      "y": "1524.454889060763207453"
    },
    {
      "rotation": 0,
      "typeId": "t43",
      "x": "19141.184414998762804316",
      "y": "2697.308480418818817270"
    },
    {
      "rotation": 0,
      "typeId": "t44",
      "x": "41095.889527683240885381",
      "y": "500.109102552379738427"
    },
    {
      "rotation": 180,
      "typeId": "t45",
      "x": "32543.362881635064695729",
      "y": "8528.371320881498832023"
    },
    {
      "rotation": 180,
      "typeId": "t46",
      "x": "40190.657392093940870836",
      "y": "9975.636887520893651526"
    },
    {
      "rotation": 0,
      "typeId": "t47",
      "x": "36350.155406401281652506",
      "y": "5084.501714345855361898"
    },
    {
      "rotation": 270,
      "typeId": "t48",
      "x": "27925.427734081662492827",
      "y": "1304.000000199999931283"
    },
    {
      "rotation": 90,
      "typeId": "t5",
      "x": "13439.965255014400099753",
      "y": "5221.830472884296796110"
    },
    {
      "rotation": 270,
      "typeId": "t7",
      "x": "11393.151054833126181620",
      "y": "9999.999999899999238551"
    },
    {
      "rotation": 0,
      "typeId": "t9",
      "x": "33056.374416793194541242",
      "y": "7232.112716057656143676"
    },
    {
      "rotation": 0,
      "typeId": "t29",
      "x": "36257.674175116146216169",
      "y": "9142.278611239877136541"
    },
    {
      "rotation": 0,
      "typeId": "t24",
      "x": "0.000000100000000000",
      "y": "8950.723303953578579240"
    },
    {
      "rotation": 90,
      "typeId": "t28",
      "x": "35993.960563943051965907",
      "y": "52.123287245728022299"
    },
    {
      "rotation": 180,
      "typeId": "t34",
      "x": "29778.200474549019418191",
      "y": "500.000000100000022485"
    },
    {
      "rotation": 90,
      "typeId": "t31",
      "x": "11593.834187198002837249",
      "y": "5400.569343160816060845"
    },
    {
      "rotation": 270,
      "typeId": "t0",
      "x": "3838.086720709271503438",
      "y": "9550.014568860495273839"
    },
    {
      "rotation": 0,
      "typeId": "t14",
      "x": "1662.539604160792350740",
      "y": "9332.334415064688073471"
    },
    {
      "rotation": 180,
      "typeId": "t22",
      "x": "26978.200474449018656742",
      "y": "1488.000000100000079328"
    },
    {
      "rotation": 0,
      "typeId": "t13",
      "x": "14272.341624057511580759",
      "y": "4429.658678086394502316"
    },
    {
      "rotation": 0,
      "typeId": "t15",
      "x": "21490.856304451284813695",
      "y": "652.504282691715275178"
    },
    {
      "rotation": 0,
      "typeId": "t40",
      "x": "30195.370487715281342389",
      "y": "8408.625913388150365790"
    },
    {
      "rotation": 180,
      "typeId": "t33",
      "x": "30195.932726817987713730",
      "y": "9999.999999899999238551"
    },
    {
      "rotation": 0,
      "typeId": "t26",
      "x": "7485.086721009270149807",
      "y": "6996.159660109459764499"
    },
    {
      "rotation": 180,
      "typeId": "t18",
      "x": "21791.377205924964073347",
      "y": "7303.638354815592720115"
    },
    {
      "rotation": 90,
      "typeId": "t19",
      "x": "37612.855456477336701937",
      "y": "6658.668847782924785861"
    },
    {
      "rotation": 90,
      "typeId": "t25",
      "x": "47013.361846917388902511",
      "y": "0.000000100000000000"
    },
    {
      "rotation": 0,
      "typeId": "t10",
      "x": "45327.988071692001540214",
      "y": "1084.444151827786299691"
    },
    {
      "rotation": 0,
      "typeId": "t27",
      "x": "46234.787288135972630698",
      "y": "1075.870429018825234380"
    },
    {
      "rotation": 0,
      "typeId": "t4",
      "x": "0.000000100000000000",
      "y": "0.000000100000000000"
    },
    {
      "rotation": 180,
      "typeId": "t8",
      "x": "6580.086720809270445898",
      "y": "9692.000002000000677072"
    },
    {
      "rotation": 270,
      "typeId": "t49",
      "x": "41126.356680876328027807",
      "y": "698.000000099999965641"
    },
    {
      "rotation": 0,
      "typeId": "t6",
      "x": "40168.787288135972630698",
      "y": "3997.999999900000148045"
    },
    {
      "rotation": 180,
      "typeId": "t2",
      "x": "4996.539604260791747947",
      "y": "9999.999999899999238551"
    }
  ],
  "problemKey": "V09",
  "schemaVersion": "1"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "case": "gardeyn2"
}

The current leader's answer

{
  "instanceId": "v09-gardeyn2-v1",
  "placements": [
    {
      "rotation": 90,
      "typeId": "t1",
      "x": "20597.285239522672782186",
      "y": "3704.710132716424141108"
    },
    {
      "rotation": 0,
      "typeId": "t11",
      "x": "25575.825818913610419258",
      "y": "4156.016826720200697309"
    },
    {
      "rotation": 0,
      "typeId": "t12",
      "x": "30540.607556149858282879",
      "y": "7269.999999900000148045"
    },
    {
      "rotation": 180,
      "typeId": "t16",
      "x": "39056.382717089349171147",
      "y": "6466.371728792365502159"
    },
    {
      "rotation": 0,
      "typeId": "t17",
      "x": "24698.188218765353667550",
      "y": "531.519722740305383013"
    },
    {
      "rotation": 180,
      "typeId": "t20",
      "x": "15166.364426922174970969",
      "y": "7401.990693812384051853"
    },
    {
      "rotation": 90,
      "typeId": "t21",
      "x": "25356.556836758711142465",
      "y": "1927.327021044721959697"
    },
    {
      "rotation": 90,
      "typeId": "t23",
      "x": "10591.221048411514857435",
      "y": "0.000000100000000000"
    },
    {
      "rotation": 270,
      "typeId": "t3",
      "x": "0.000000100000000000",
      "y": "9169.026160995405007270"
    },
    {
      "rotation": 270,
      "typeId": "t30",
      "x": "18293.592666173077304848",
      "y": "9999.999999899999238551"
    },
    {
      "rotation": 90,
      "typeId": "t32",
      "x": "31598.985941777060361346",
      "y": "0.000000100000000000"
    },
    {
      "rotation": 180,
      "typeId": "t35",
      "x": "19679.138087727809761418",
      "y": "6891.092842492354066053"
    },
    {
      "rotation": 270,
      "typeId": "t36",
      "x": "15123.086721109270001762",
      "y": "9559.055303925015323330"
    },
    {
      "rotation": 90,
      "typeId": "t37",
      "x": "41130.734245755709707737",
      "y": "0.000000100000000000"
    },
    {
      "rotation": 270,
      "typeId": "t38",
      "x": "10330.200474349019714282",
      "y": "3922.000000099999851955"
    },
    {
      "rotation": 180,
      "typeId": "t39",
      "x": "45597.680063706640794408",
      "y": "3916.728693981073320174"
    },
    {
      "rotation": 270,
      "typeId": "t41",
      "x": "6580.086720909270297852",
      "y": "9871.924627646592853125"
    },
    {
      "rotation": 90,
      "typeId": "t42",
      "x": "21535.631338038299873006",
      "y": "1524.454889060763207453"
    },
    {
      "rotation": 0,
      "typeId": "t43",
      "x": "19141.184414998762804316",
      "y": "2697.308480418818817270"
    },
    {
      "rotation": 0,
      "typeId": "t44",
      "x": "41095.889527683240885381",
      "y": "500.109102552379738427"
    },
    {
      "rotation": 180,
      "typeId": "t45",
      "x": "32543.362881635064695729",
      "y": "8528.371320881498832023"
    },
    {
      "rotation": 180,
      "typeId": "t46",
      "x": "40190.657392093940870836",
      "y": "9975.636887520893651526"
    },
    {
      "rotation": 0,
      "typeId": "t47",
      "x": "36350.155406401281652506",
      "y": "5084.501714345855361898"
    },
    {
      "rotation": 270,
      "typeId": "t48",
      "x": "27925.427734081662492827",
      "y": "1304.000000199999931283"
    },
    {
      "rotation": 90,
      "typeId": "t5",
      "x": "13439.965255014400099753",
      "y": "5221.830472884296796110"
    },
    {
      "rotation": 270,
      "typeId": "t7",
      "x": "11393.151054833126181620",
      "y": "9999.999999899999238551"
    },
    {
      "rotation": 0,
      "typeId": "t9",
      "x": "33056.374416793194541242",
      "y": "7232.112716057656143676"
    },
    {
      "rotation": 0,
      "typeId": "t29",
      "x": "36257.674175116146216169",
      "y": "9142.278611239877136541"
    },
    {
      "rotation": 0,
      "typeId": "t24",
      "x": "0.000000100000000000",
      "y": "8950.723303953578579240"
    },
    {
      "rotation": 90,
      "typeId": "t28",
      "x": "35993.960563943051965907",
      "y": "52.123287245728022299"
    },
    {
      "rotation": 180,
      "typeId": "t34",
      "x": "29778.200474549019418191",
      "y": "500.000000100000022485"
    },
    {
      "rotation": 90,
      "typeId": "t31",
      "x": "11593.834187198002837249",
      "y": "5400.569343160816060845"
    },
    {
      "rotation": 270,
      "typeId": "t0",
      "x": "3838.086720709271503438",
      "y": "9550.014568860495273839"
    },
    {
      "rotation": 0,
      "typeId": "t14",
      "x": "1662.539604160792350740",
      "y": "9332.334415064688073471"
    },
    {
      "rotation": 180,
      "typeId": "t22",
      "x": "26978.200474449018656742",
      "y": "1488.000000100000079328"
    },
    {
      "rotation": 0,
      "typeId": "t13",
      "x": "14272.341624057511580759",
      "y": "4429.658678086394502316"
    },
    {
      "rotation": 0,
      "typeId": "t15",
      "x": "21490.856304451284813695",
      "y": "652.504282691715275178"
    },
    {
      "rotation": 0,
      "typeId": "t40",
      "x": "30195.370487715281342389",
      "y": "8408.625913388150365790"
    },
    {
      "rotation": 180,
      "typeId": "t33",
      "x": "30195.932726817987713730",
      "y": "9999.999999899999238551"
    },
    {
      "rotation": 0,
      "typeId": "t26",
      "x": "7485.086721009270149807",
      "y": "6996.159660109459764499"
    },
    {
      "rotation": 180,
      "typeId": "t18",
      "x": "21791.377205924964073347",
      "y": "7303.638354815592720115"
    },
    {
      "rotation": 90,
      "typeId": "t19",
      "x": "37612.855456477336701937",
      "y": "6658.668847782924785861"
    },
    {
      "rotation": 90,
      "typeId": "t25",
      "x": "47013.361846917388902511",
      "y": "0.000000100000000000"
    },
    {
      "rotation": 0,
      "typeId": "t10",
      "x": "45327.988071692001540214",
      "y": "1084.444151827786299691"
    },
    {
      "rotation": 0,
      "typeId": "t27",
      "x": "46234.787288135972630698",
      "y": "1075.870429018825234380"
    },
    {
      "rotation": 0,
      "typeId": "t4",
      "x": "0.000000100000000000",
      "y": "0.000000100000000000"
    },
    {
      "rotation": 180,
      "typeId": "t8",
      "x": "6580.086720809270445898",
      "y": "9692.000002000000677072"
    },
    {
      "rotation": 270,
      "typeId": "t49",
      "x": "41126.356680876328027807",
      "y": "698.000000099999965641"
    },
    {
      "rotation": 0,
      "typeId": "t6",
      "x": "40168.787288135972630698",
      "y": "3997.999999900000148045"
    },
    {
      "rotation": 180,
      "typeId": "t2",
      "x": "4996.539604260791747947",
      "y": "9999.999999899999238551"
    }
  ],
  "problemKey": "V09",
  "schemaVersion": "1"
}

Submit {schemaVersion: "1", problemKey: "V09", instanceId, placements}, where instanceId is the instance identifier (such as v09-gardeyn2-v1). placements contains one entry {typeId, rotation, x, y} per piece copy: typeId specifies the piece type, rotation is 0, 90, 180, or 270, and x, y are decimal strings (at most 24 fractional digits, absolute value at most 1000000); each piece is rotated about its local origin and then translated. Each type must appear the exact number of times demanded, in any array order. Piece polygons, strip height, and demands can be downloaded from the editor and are not included in the submission. · Verifier v1.0.0

DISCUSSION

Discussion

Discuss strategies, share construction methods, or ask questions. Any signed-in user can post under their public byline and unique #UID. New posts appear after moderation.