Verschachtelung Blechstreifen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von noodles.

    Verschachtelung Blechstreifen

    Hallo Zusammen,

    Ich arbeite gerade an einer Erweiterung meines CAD-Tools (Solidorks) VBA.
    Ich komme mit meinem programmierwissen leider nicht weiter.

    Ich benötige ein Programm-Code für folgende Aufgabenstellung:

    Verschachtelung VB-Programm-Code

    Aufgabenstellung:
    Bestimmte Anzahl Blechstreifen mit unterschiedlicher Breite
    auf einem Roh-Blech mit Breite 1500 mm bestmöglich aufteilen (Länge des Roh-Blechs kann ignoriert werden).
    Die Blechstreifen dürfen gemischt auf den einzelnen Roh-Blechen verteilt werden.

    Ziel: so wenig Restmaterial pro Roh-Blech.

    Gegeben:
    Roh-Blech Breite: 1500 mm

    Gesucht: (Beispiel)

    Optimale Blechstreifen Aufteilung für folgende Bleche:

    20 Stück Blechstreifen 1: 170 mm
    20 Stück Blechstreifen 2: 200 mm
    20 Stück Blechstreifen 3: 180 mm

    Format Resultat – Ausgabe (nur ein Beispiel)

    Blech 1:
    7 Stück Blechstreifen 1 (170 mm): [170, 170, 170, 170, 170, 170, 170]
    1 Stück Blechstreifen 2 (200 mm): [200]
    Summe: 1390 mm
    Rest: 110 mm

    Blech 2:
    .....

    Blech 3:
    .....

    Besten Dank im Voraus für eure Hilfe :rolleyes:

    noodles
    Wenn es nur diese 3 gibt, wäre brute force eine Möglichkeit. Dreifache Schleife, die die Anzahl pro Sorte erhöht und dann berechnet, wieviel Restmaterial entsteht. Wenn die Summe der Breiten größer als die Maximalbreite ist, dann abbrechen. Dann kannst Du erstmal sammeln, welche Möglichkeiten es gäbe und dann die besten Schleifenwerte plus Verlustbreite merken. Und dann Daten sammeln und ausgeben.

    ##########

    Quellcode

    1. 0 + 0 + 8 => 1440 mm; Rest 60 mm
    2. 0 + 1 + 7 => 1460 mm; Rest 40 mm
    3. 0 + 2 + 6 => 1480 mm; Rest 20 mm
    4. 0 + 3 + 5 => 1500 mm; Rest 0 mm
    5. 0 + 4 + 3 => 1340 mm; Rest 160 mm
    6. 0 + 5 + 2 => 1360 mm; Rest 140 mm
    7. 0 + 6 + 1 => 1380 mm; Rest 120 mm
    8. 0 + 7 + 0 => 1400 mm; Rest 100 mm
    9. 1 + 0 + 7 => 1430 mm; Rest 70 mm
    10. 1 + 1 + 6 => 1450 mm; Rest 50 mm
    11. 1 + 2 + 5 => 1470 mm; Rest 30 mm
    12. 1 + 3 + 4 => 1490 mm; Rest 10 mm
    13. 1 + 4 + 2 => 1330 mm; Rest 170 mm
    14. 1 + 5 + 1 => 1350 mm; Rest 150 mm
    15. 1 + 6 + 0 => 1370 mm; Rest 130 mm
    16. 2 + 0 + 6 => 1420 mm; Rest 80 mm
    17. 2 + 1 + 5 => 1440 mm; Rest 60 mm
    18. 2 + 2 + 4 => 1460 mm; Rest 40 mm
    19. 2 + 3 + 3 => 1480 mm; Rest 20 mm
    20. 2 + 4 + 2 => 1500 mm; Rest 0 mm
    21. 2 + 5 + 0 => 1340 mm; Rest 160 mm
    22. 3 + 0 + 5 => 1410 mm; Rest 90 mm
    23. 3 + 1 + 4 => 1430 mm; Rest 70 mm
    24. 3 + 2 + 3 => 1450 mm; Rest 50 mm
    25. 3 + 3 + 2 => 1470 mm; Rest 30 mm
    26. 3 + 4 + 1 => 1490 mm; Rest 10 mm
    27. 4 + 0 + 4 => 1400 mm; Rest 100 mm
    28. 4 + 1 + 3 => 1420 mm; Rest 80 mm
    29. 4 + 2 + 2 => 1440 mm; Rest 60 mm
    30. 4 + 3 + 1 => 1460 mm; Rest 40 mm
    31. 4 + 4 + 0 => 1480 mm; Rest 20 mm
    32. 5 + 0 + 3 => 1390 mm; Rest 110 mm
    33. 5 + 1 + 2 => 1410 mm; Rest 90 mm
    34. 5 + 2 + 1 => 1430 mm; Rest 70 mm
    35. 5 + 3 + 0 => 1450 mm; Rest 50 mm
    36. 6 + 0 + 2 => 1380 mm; Rest 120 mm
    37. 6 + 1 + 1 => 1400 mm; Rest 100 mm
    38. 6 + 2 + 0 => 1420 mm; Rest 80 mm
    39. 7 + 0 + 1 => 1370 mm; Rest 130 mm
    40. 7 + 1 + 0 => 1390 mm; Rest 110 mm
    41. 8 + 0 + 0 => 1360 mm; Rest 140 mm

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Moin!

    Ich hatte in einer vormaligen Firma mal ein ähnlich gelagertes Problem. Um mich meinem Vorredner anzuschließen: Bei einer überschaubaren Anzahl ist Brute-Force die einfachste und schnellste Lösung.

    Man kann das aber auch generalisieren. Auf den Code von damals habe ich (verständlicherweise) keinen Zugriff mehr, aber das hier hat mir nach etwas Recherche die Richtung gewiesen: lat.inf.tu-dresden.de/~frances…nts/Hauptstudium/Wang.pdf (hatte ich noch in meinen Favoriten :) ).
    Edit01: Für Dich interessant ist Kapitel 3.

    Wenn Dich die Theorie dahinter interessiert, ist de.wikipedia.org/wiki/Eindimensionales_Zuschnittproblem ganz gut geeignet, aber Achtung: ziemlich mathematisch.

    Gruß aus Hessen und HTH,

    Jens

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „JRole“ ()