Vágásoptimalizálás

Alapanyag (szál)

6000 mm
3 mm

A fűrészlap vastagsága, ami minden vágásnál elveszik.

Szükséges darabok

Hossz (mm)Darab
Szükséges szál
5
db
Kihasználtság
84,0%
anyag
Hulladék
16,0%
+ fűrészjárat
Elméleti minimum (alsó korlát, kerf nélkül)5 szál

Vágási terv (First Fit Decreasing)

kerf maradék
1. szálmaradék: 391 mm
2400
2400
800
2. szálmaradék: 591 mm
2400
1800
1200
3. szálmaradék: 591 mm
1800
1800
1800
4. szálmaradék: 385 mm
1200
1200
1200
1200
800
5. szálmaradék: 2788 mm
800
800
800
800

Valós projekt? Több szál, 2D lapszabászat, off-cut készlet?

Ez a demó az 1D elvet mutatja. Bútorlaphoz, üveghez, fémlemezhez (2D, guillotine-vágás, rotáció, szálirány) és PDF/CSV export mellett próbáld ki a teljes optimalizálót.

Cutoptim megnyitása

Ingyenes: havi 3 futtatás regisztrációval, böngészőben, telepítés nélkül.

Vágásoptimalizálás – Hogyan Spórolnak Anyagot a Szabászati Algoritmusok?

Info

Mit tanulsz meg ebből a cikkből?

  • Mi az a cutting stock problem (vágásoptimalizálás), és miért NP-nehéz
  • Hogyan működik a First Fit Decreasing heurisztika lépésről lépésre
  • Mi a különbség az 1D darabolás és a 2D lapszabászat (guillotine-vágás) között
  • Hogyan számoljuk az anyagkihasználást, a hulladékarányt és a kerf hatását
  • 💡 És kipróbálhatod élőben a lap tetején lévő interaktív 1D vágáskalkulátorral

Ha valaha vágtál már deszkát, alumíniumprofilt, csövet vagy bútorlapot, szembesültél a kérdéssel: hogyan szabjam ki a darabokat úgy, hogy a legkevesebb anyag menjen a kukába? Egy vagy két darabnál ez triviális. Ötven darabnál, több méretben, korlátozott hosszúságú szálakból már komoly fejtörő – és pontosan itt lép színre a matematika.

Mi az a vágásoptimalizálás?

A vágásoptimalizálás – angolul cutting stock problem – egy klasszikus kombinatorikus optimalizálási feladat. A kérdés egyszerű:

Adott néhány rögzített méretű alapanyag (pl. 6000 mm-es profilszálak) és egy lista a szükséges darabokról (pl. 3 db 2400 mm, 5 db 1200 mm). Hogyan vágjuk ki az összes darabot a lehető legkevesebb alapanyagból?

A cél az anyagkihasználás maximalizálása, vagyis a hulladék minimalizálása. Ez a probléma szoros rokona a matematikában jól ismert bin packing (ládapakolási) problémának: ott „ládákba“ pakolunk tárgyakat, itt „szálakba” pakolunk vágásokat – a matematikai szerkezet ugyanaz.

Miért nehéz probléma ez?

Elsőre azt gondolnánk: próbáljuk ki az összes lehetőséget, és válasszuk a legjobbat. A gond az, hogy a lehetőségek száma kombinatorikusan robban.

Ha darabot kell elhelyezni, a lehetséges hozzárendelések száma nagyságrendileg:

Ahol = az darab összes sorrendjének száma. Már 20 darabnál ez több mint lehetőség – ennyit végigpróbálni a leggyorsabb szuperszámítógépnek is évekbe telne. Ezért a vágásoptimalizálás NP-nehéz: nincs ismert eljárás, amely garantáltan a tökéletes megoldást adná gyakorlati idő alatt.

A jó hír: nincs is szükségünk a tökéletes megoldásra. Okos heurisztikákkal másodpercek alatt találunk olyan tervet, amely a tökéleteshez nagyon közel áll – gyakran attól alig 1–3%-kal marad el.

Hogyan működik az 1D vágásoptimalizálás?

Az 1D (egydimenziós) eset a legegyszerűbb: csak a hossz számít. Ilyen a rúd-, profil-, cső- vagy lécdarabolás. A leggyakoribb és legmegbízhatóbb heurisztika a First Fit Decreasing (FFD):

  1. Rendezés csökkenő sorrendbe – a legnagyobb daraboktól a legkisebbek felé.
  2. First Fit – vegyük sorra a darabokat, és mindegyiket tegyük az első olyan szálra, ahová még befér.
  3. Ha egyik meglévő szálba sem fér, nyissunk új szálat.

A csökkenő rendezés a trükk lényege: a nagy darabok kapják meg először a helyüket, a kis darabok pedig kitöltik a maradék réseket. Ez az egyszerű ötlet meglepően jó eredményt ad – bizonyítottan legfeljebb kb. 22%-kal használ több anyagot az elméleti optimumnál, a gyakorlatban viszont ennél sokkal közelebb jár hozzá.

Az anyagkihasználást így számoljuk:

Ahol = az anyagkihasználás (0 és 1 között), = az egyes kiszabott darabok hossza, = a felhasznált szálak száma, = egy szál hossza. A hulladékarány ennek a kiegészítője:

Ahol = a hulladék aránya. Minél közelebb van az 1-hez (100%), annál kevesebb anyag megy veszendőbe.

Van egy hasznos alsó korlát is arra, hány szál kell minimum – ez segít megítélni, mennyire jó a tervünk:

Ahol = felső egészrész (mindig felfelé kerekítünk). Ha a kalkulátor a szükséges szálak számát az alsó korlátra hozza ki, tudjuk, hogy a terv nem javítható tovább.

Próbáld ki: interaktív 1D vágáskalkulátor

A lap tetején található kalkulátor pontosan a fent leírt First Fit Decreasing algoritmussal optimalizálja a daraboláshoz szükséges szálakat, figyelembe véve a fűrészjáratot (kerf) is. Görgess vissza az oldal tetejére, állítsd be a szálhosszt, a fűrészjáratot és a szükséges darabokat, majd nézd meg a vágási tervet szálanként, az anyagkihasználást és a hulladékarányt – valamint az elméleti minimumhoz (alsó korláthoz) képesti eredményt.

Mi a helyzet a 2D lapszabászattal?

A 2D (kétdimenziós) eset már keményebb dió: itt sík táblákat szabunk ki, ahol a szélesség és a hosszúság együtt számít – bútorlap, üveg, fémlemez. Nem elég a hosszokat összeadni; a darabokat egy síkon kell elrendezni, mint egy Tetris-t, ahol semmi nem lóghat túl és nem fedhetik egymást.

A gyakorlatban a legelterjedtebb megközelítés a guillotine-vágás: minden vágás egy egyenes, amely végig átszeli a teljes táblát (vagy a leszabott részt) – pontosan úgy, ahogy egy táblás körfűrész vagy üvegvágó dolgozik. Ez a megkötés némileg csökkenti az elérhető kihasználást, cserébe a terv valóban legyártható egyszerű gépekkel. A jó 2D optimalizálók tipikusan 88–96%-os anyagkihasználást érnek el, és emellett kezelik a darabok forgatását és a bútorlap szálirányát is.

A 2D probléma kézzel gyakorlatilag reménytelen már közepes darabszámnál is – itt igazán megéri egy célszoftver, például a cutoptim.com böngészőben futó optimalizálója, amely guillotine-algoritmussal, rotációval és szálirány-kezeléssel dolgozik.

Milyen algoritmusok oldják meg a vágásoptimalizálást?

A vágásoptimalizáló eljárásokat három csoportba szokás sorolni:

Kategória Példák Jellemző
Heurisztikák First Fit Decreasing, Best Fit Decreasing Gyors, egyszerű, jó eredmény
Metaheurisztikák genetikus algoritmus, szimulált lehűtés Lassabb, de jobban optimalizál
Egzakt módszerek Gilmore–Gomory oszlopgenerálás, lineáris programozás Optimum, de nagy feladaton lassú
  • A heurisztikák (mint az FFD) azonnali, „elég jó" megoldást adnak.
  • A metaheurisztikák – például a genetikus algoritmus – sok lehetséges tervet „tenyésztenek" és kombinálnak, hogy fokozatosan jobbat találjanak; a szimulált lehűtés (simulated annealing) pedig szándékosan elfogad időnként rosszabb lépéseket, hogy ki tudjon mászni a lokális csapdákból.
  • Az egzakt módszerek – mint a klasszikus Gilmore–Gomory oszlopgenerálás – matematikailag garantálják az optimumot, de nagy feladatokon a futásidő gyorsan nő.

A modern szabászati szoftverek jellemzően ezeket kombinálják: egy gyors heurisztikával indulnak, majd metaheurisztikával csiszolják tovább az eredményt.

Kézzel vagy szoftverrel? Mikor éri meg optimalizálni?

Néhány darabnál, egyetlen alapanyagméretnél a kézi tervezés is elég. De amint belép a valóság – több méret, több szál, kerf, maradékok újrahasznosítása, 2D táblák –, a kézi próbálgatás gyorsan alulmarad. Egy jó vágásoptimalizáló program másodpercek alatt kiszámol egy tervet, amely gyakran 5–15%-kal kevesebb alapanyagot használ, mint a szemre tervezett verzió.

Ez a néhány százalék nem semmiség: egy nagyobb projekten közvetlen anyag- és költségmegtakarítás. A megtakarítás pénzben így becsülhető:

Ahol = a megtakarított költség, = a kétféle terv anyagkihasználása, = a felhasznált anyag összhossza, = az alapanyag egységára. A százalékos különbség kiszámításához és az anyagköltség árrésének becsléséhez a MatekMegoldások kalkulátorai is segítenek.

Ha a valós projektedhez 2D lapszabászatra, több alapanyagméretre vagy a maradékok (off-cut) automatikus nyilvántartására van szükséged, érdemes egy kész eszközt használni. A Cutoptim például böngészőből, telepítés nélkül fut, 1D és 2D optimalizálást is tud, és minden számítás helyben, a te gépeden történik.

Tip

Próbáld ki ingyen a Cutoptim vágásoptimalizálót Professzionális 1D és 2D vágásoptimalizálás közvetlenül a böngészőben – fa, üveg, fém, műanyag, bármilyen anyag. Guillotine-vágás, kerf-kezelés, maradék-nyilvántartás, PDF/CSV export, magyar nyelvű felület. Ingyenesen kipróbálható (regisztráció nélkül is), havi 3 futtatás regisztrációval. 👉 Nyisd meg a cutoptim.com-ot

Kapcsolódó számítások a MatekMegoldásokon

GYIK

Mi az a vágásoptimalizálás?

A vágásoptimalizálás (cutting stock problem) azt a feladatot oldja meg, hogy adott méretű alapanyagból (rúd, profil, tábla, lemez) hogyan szabjuk ki a szükséges darabokat úgy, hogy a lehető legkevesebb alapanyagot használjuk fel és a legkevesebb hulladék keletkezzen. Ez egy klasszikus kombinatorikus optimalizálási probléma, amelyet asztalosok, lakatosok, üvegesek és gyárak is nap mint nap megoldanak.

Mi a különbség az 1D és a 2D vágásoptimalizálás között?

Az 1D (egydimenziós) optimalizálás hossz szerint vág: rudak, profilok, csövek, lécek darabolása, ahol csak a hossz számít. A 2D (kétdimenziós) optimalizálás sík táblákat szab ki: bútorlap, üveg, fémlemez, ahol a szélesség és a hosszúság együtt számít, és gyakran guillotine-vágással, forgatással és szálirány figyelembevételével dolgoznak.

Miért nehéz probléma a vágásoptimalizálás?

A vágásoptimalizálás NP-nehéz: ahogy nő a darabok száma, a lehetséges elrendezések száma kombinatorikusan robban. Már néhány tucat darabnál annyi variáció van, hogy a tökéletes megoldás kimerítő kereséssel gyakorlatilag kiszámíthatatlan lenne. Ezért a gyakorlatban heurisztikus és metaheurisztikus algoritmusokkal keresünk közel optimális megoldást másodpercek alatt.

Mi az a First Fit Decreasing algoritmus?

A First Fit Decreasing (FFD) egy egyszerű, de hatékony heurisztika: először csökkenő sorrendbe rendezi a darabokat (a legnagyobbtól a legkisebbig), majd sorra minden darabot az első olyan alapanyagra helyez, ahová még befér. Ha egyikbe sem fér, új alapanyagot nyit. A csökkenő rendezés miatt a nagy darabok kapják meg először a helyet, a kis darabok pedig kitöltik a réseket – ez tipikusan nagyon jó anyagkihasználást ad.

Mi az a kerf, és miért fontos a számításban?

A kerf a fűrészjárat: a fűrészlap vagy vágóél vastagsága, ami minden vágásnál anyagveszteséggé válik. Tipikusan 3–4 mm. Ha nem vesszük figyelembe, a terv papíron kijön, de a valóságban nem: minden vágás elvesz néhány millimétert, így a végén hiányozhat egy darab. Egy jó optimalizáló minden vágásnál levonja a kerfet, hogy a terv pontos maradjon.

Hogyan mérjük a vágás hatékonyságát?

A legfontosabb mérőszám az anyagkihasználás (yield): a kiszabott darabok összhossza osztva a felhasznált alapanyag összhosszával, százalékban. Ennek kiegészítője a hulladékarány. Az 1D optimalizálásnál gyakran elérhető a 95% feletti kihasználás, a 2D lapszabászatnál pedig tipikusan 88–96% a jó eredmény.

Megéri szoftvert használni a kézi tervezés helyett?

Néhány darabnál a kézi tervezés is működhet, de több tucat vagy több száz darabnál a szoftver gyorsabb és jobb: pár másodperc alatt kiszámol egy tervet, amely gyakran 5–15%-kal kevesebb alapanyagot használ. Ez közvetlen anyag- és költségmegtakarítás, ráadásul a szoftver kezeli a kerfet, a maradékok (off-cut) újrahasznosítását és a több alapanyagméretet is.

Frissítve: