Hogyan működik a vágásoptimalizálás — módszerek összehasonlítása
Rövid válasz
A vágásoptimalizálás úgy rendezi el az alkatrészeidet az alapanyagon, hogy a lehető legkevesebb hulladék keletkezzen — de a módszer többet nyom a latban, mint a marketing. A guillotine optimalizálók csak szélről szélig futó vágást engedélyeznek, mert fizikailag ezt teszi egy panelfűrész. A szabad beágyazás bárhová leteszi a darabokat, és szorosabban pakolhat, de az elrendezései gyakran egyáltalán nem vághatók le fűrészen.
Futtasd le ugyanazt a szabáslistát két eszközzel, és gyakran két különböző számot kapsz. Rendszerint egyik sem okosabb a másiknál: különböző feladatot oldottak meg, és a két válasz közül csak az egyik állítható elő a te gépeden.
A megkötés, amit senki nem mond el elsőként
A panelfűrész szélről szélig vág. A fűrészlap minden alkalommal síneken fut végig az anyag egyik szélétől a másikig; nincs félúton megállás és máshol újraindulás anélkül, hogy levennéd a munkadarabot a gépről.
Ennek a ténynek neve is van a szakirodalomban: guillotine-megkötés. Minden vágásnak pontosan két téglalapra kell osztania az éppen soron lévő téglalapot, és addig folytatod a felosztást, amíg minden területen egyetlen darab marad. Az az elrendezés, amelyben vannak olyan darabok, amelyeket egyetlen szélről szélig futó vonal sem választ szét, nem guillotine-kompatibilis — és panelfűrészen nem terv, hanem kép.
Guillotine — minden vágás szélről szélig fut
Hat vágás, vágási sorrendben számozva. Mindegyik teljes egészében áthalad azon a részen, amelyet kettéoszt, ezért a terv panelfűrészen legyártható.
Szabad beágyazás — félúton megálló vágások
A zöld vágás megvalósítható, de félúton meg kell állnia. A két piros vonal szélről szélig futó vágás, és mindegyik keresztülmegy egy darabon.
Ezért gyakran a „csúnyábbnak látszó” elrendezés az egyetlen legyártható. A guillotine optimalizáló eldob olyan elrendezéseket, amelyeket egy szabad beágyazó szívesen megtartana, mert megtartásukkal olyan szabástervet adna a kezedbe, amit nem tudsz végrehajtani. A Guillotine vs szabad vágás részletesen végigmegy a geometrián.
„Egy másik eszköz magasabb kihozatalt mutatott, mint ti.” Mielőtt bármit levonnál a szoftver minőségéről, kérdezd meg, mit feltételezett az az eszköz a fűrészedről. Ha szabadon beágyazza a darabokat — ez a normál üzemmód CNC marógépeknél, lézer- és vízsugaras vágóknál —, akkor lehet, hogy olyan pozícióba tett darabokat, amelyeket egy panelfűrész nem választ szét: a száma valós egy CNC-n, és elérhetetlen egy tolóasztalos körfűrészen. A fűrészrés szélessége, a szélezés és a darabonkénti forgatás szintén elmozdítja az eredményt, tehát ezeket a beállításokat hasonlítsd össze, mielőtt százalékokat hasonlítanál.
Visszafelé ugyanannyira igaz: CNC marógépen a csak guillotine-t ismerő optimalizáló anyagot hagy az asztalon. Elvontan egyik megközelítés sem „jobb” — különböző gépekre adott válaszok.
A módszerek létrája
A vágásoptimalizálás módszerek családja, nem egyetlen algoritmus. Ha tudod, hol áll egy eszköz ezen a létrán, az többet mond, mint bármelyik kihozatali szám, amit hirdet.
1. Mohó heurisztikák
Rendezd a darabokat egy szabály szerint — legnagyobb terület előre, leghosszabb él előre —, majd helyezd mindegyiket az első pozícióba, ahol elfér. A klasszikus lemezes változat a polcos pakolás (shelf packing): felépítesz egy sávot a benne lévő legnagyobb darab magasságával, balról jobbra kitöltöd, majd alatta kezded a következő sávot. Ez a felépítéséből adódóan guillotine-kompatibilis, ezért természetes választás fűrészes munkához.
2. Több-stratégiás legjobb-kiválasztó keresés
Ahelyett, hogy egyetlen mohó szabályban bíznál, futtass sokat — több rendezési sorrendet, több forgatási szabályt, mindkét lehetséges első vágásirányt, több pakolási családot —, pontozd az összes létrejövő elrendezést egy kimondott célfüggvény szerint, és tartsd meg a győztest. Az egyik stratégia számára kórosan nehéz bemenet a másiknak jellemzően könnyű, így a legrosszabb eset élesen javul, pedig egyetlen stratégia sem változott. Ez a gyakorlati szabásjegyzék-szoftverek igáslova.
3. Metaheurisztikák
Szimulált lehűtés, genetikus algoritmusok, tabu keresés: ezek nem egyetlen elrendezést építenek fel és állnak meg, hanem ismételten megbolygatnak egy megoldást, és néhány rontó lépést is elfogadnak, hogy kimozduljanak a lokális optimumból. Ott is javítanak még, ahol egy konstruktív heurisztikának már nincs ötlete — annak árán, hogy a futásidőt előre nem tudod korlátozni, a hangolás nem vihető át egyik feladattípusról a másikra, és ha a véletlenmag nincs fixálva, a válaszok futásonként változnak. Ez utóbbi kellemetlen, amikor a műhelyben már ott van a tegnapi nyomat.
4. Exakt módszerek
Írd fel a feladatot matematikaként, és oldd meg bizonyított optimumig: vegyes egészértékű lineáris programozással vagy kényszerprogramozással, dedikált megoldóval. A kimenet nem „egy jó elrendezés”, hanem „ez az elrendezés, és bizonyíthatóan nincs nála jobb” — vagy egy korlát, amely megmondja, elméletben mennyi hely maradt még. Ez az egyetlen fok, amely meg tudja mondani, mikor hagyd abba a keresést.
A költség a mérettel együtt felrobban: az anyagszabási probléma NP-nehéz, tehát a keresési fa kombinatorikusan nő a darabszámmal és a különböző méretek számával. Minden valós megkötést — fűrészrés, szélezés, szálirány, guillotine-fázisok — bele is kell írni a modellbe, és minden újabb megkötés újabb modellrész, amit el kell találni.
5. Szabásminta-alapú anyagszabás (oszlopgenerálás)
Az ipari szabás klasszikus operációkutatási megközelítése, Gilmore és Gomory (1961) munkájából. Ahelyett, hogy minden egyes darabról eldöntenéd, hová kerül, azt döntöd el, hányszor futtasd le az egyes szabásmintákat; mivel a lehetséges minták száma csillagászatian nagy, kérésre generálod őket. Nagy darabszámú, viszonylag kevés különböző méretből álló munkán brillírozik — tekercsek, rúdanyag, ismétlődő lapmegrendelések —, és keveset hoz egy egyedi munkán, ahol szinte minden darab más, mert nincs mit ismételni.
6. Szabálytalan alakú (valódi kontúrú) beágyazás
Ez más feladatosztály, nem ugyanannak egy nehezebb foka. A darabok tetszőleges síkidomok — íves bútorelemek, feliratbetűk, tömítések, ruhaipari szabásrészek —, így maga a geometria lesz a nehéz rész: azt kell eldönteni, hogy két forma átlapolódik-e egy adott pozícióban és elfordulásban, nem pedig négy számot összehasonlítani. A kimenet természetéből adódóan nem guillotine, és olyan gép kell hozzá, amely tetszőleges szerszámútvonalat tud követni.
| Módszer | Mit hoz | Mibe kerül | Mikor helyes |
|---|---|---|---|
| Mohó heurisztika | Milliszekundumok, teljesen kiszámítható | Semmilyen garancia; szokatlan darabmixen törékeny | Egyszerű munkák, vagy egy jelölt sok közül |
| Több-stratégiás legjobb-kiválasztás | Robusztusság ismeretlen darabmixeken | Egy mohó futás állandószorosa | Interaktív szabásjegyzék-szoftver |
| Metaheurisztikák | Egyetlen felépítésen túl is javít | Nem korlátos futásidő, hangolás, nem ismételhetőség | Nagy munkák, ahol a számítás olcsóbb az anyagnál |
| Exakt módszerek | Bizonyított optimum vagy bizonyított korlát | A költség a mérettel felrobban; teljes modell kell | Kis darabszám, drága anyag, viszonyítási mérés |
| Szabásminta-alapú (oszlopgenerálás) | Erős eredmény ismétlődő gyártásban | Ismétlődést feltételez; a mintaszámok kerekítése | Nagy mennyiség kevés különböző méretből |
| Szabálytalan alakú beágyazás | Nem téglalap alakú formákat is kezel | Nehéz geometria; nem guillotine kimenet | Alakos vágás CNC-n, lézeren, vízsugáron, plazmán |
Figyeld meg, mi hiányzik abból a táblázatból: egy kihozatali százalékokat tartalmazó oszlop. Bármilyen ilyen szám a te darabmixedtől, a te tábláidtól, a te fűrészrésedtől és a te forgatási szabályaidtól függ, tehát egy más munkájáról átvett érték semmit nem mond a tiédről. A módszert az általa nyújtott garancia és a betartott megkötések alapján ítéld meg, aztán mérd le a saját munkáidat.
Mit jelentenek valójában a számok
Az optimalizálók több számot közölnek, és ezek különböző kérdésekre válaszolnak. Az összekeverésükből lesz az, hogy valaki a rossz dologra optimalizál.
Az anyagkihozatal (%) az elhelyezett alkatrészek területe osztva a felhasznált tábla területével. Ez a főszám, és ez az, amely a legtöbbet hagyja figyelmen kívül: semmit nem mond arról, mennyi ideig tart levágni a munkát, sem arról, hogy a megmaradó anyag használható-e valamire. A Mit mér az anyagkihozatal tovább bontja.
A lap- vagy rúdszám rendszerint az a szám, amely tényleges pénzbe kerül — egész táblákat vásárolsz. Az a kihozatalnyereség, amely nem vesz le egy táblát a bevásárlólistáról, keveset érhet; az, amelyik levesz, azonnal megtérül.
A vágásvonalak és a fűrészelések ugyanazt a tervet kétféleképpen számolják meg:
- Egy vágásvonal egy ütközőbeállítás — az ugyanabban a fázisban, ugyanarra a koordinátára eső, egy vonalba eső vágások egynek számítanak.
- Egy fűrészelés a fűrészlap egyetlen áthaladása, minden átvágott csíkra külön számolva.
A CutOptim beépített demómunkája — 40 darab 2440×1220 mm-es táblából, 3 mm fűrészréssel, ami 2 lapra fér el 83,28% kihozatallal — 44 vágásvonalat és 61 fűrészelést ad ki: azt, hogy milyen gyakran állítja át a kezelő az ütközőt, és mennyi fűrészelés történik.
A vágáshossz az a teljes távolság, amelyet a fűrészlap anyagban megtesz. Ez immunis a számolási konvenciókra — az egy vonalba eső vágások papíron való összevonása nem rövidíti meg az anyagot —, ezért ez a legigazságosabb közelítés a fűrészlapkopásra és a vágási időre.
A magasabb kihozatal pénzbe is kerülhet
Két elrendezés kihozatala eltérhet egy százalék törtrészével, miközben lényegesen különbözik ezekben:
- Beállítási idő. Több ütközőállítás és több áthaladás több percet jelent táblánként, és több lehetőséget az elmérésre — kis szérián könnyen többet, mint a megspórolt anyag értéke.
- A maradék alakja. A hulladék területe nem a hulladék minősége. Az egyik elrendezés tiszta téglalapot hagy, amit polcra tehetsz, felcímkézhetsz és újra felhasználhatsz; a másik ugyanazt a területet egy tucat vékony szilánkként hagyja hátra.
- Mozgatás és fázisszám. Az a terv, amely több anyagfordítást igényel, lassabb és kockázatosabb nagy lapokon, bármilyen jól is pakol.
Először a legkevesebb táblát válaszd, aztán azt a tervet, amelyet a legegyszerűbb levágni és amely a legtöbb újrahasznosítható maradékot hagyja. A kihozatal utolsó töredékszázalékát holtversenyt eldöntő szempontként kezeld, ne célként.
Próbáld ki a saját számaidon
Az általános kihozatali számok értéktelenek, ezért itt van az alternatíva. Ez a fent leírt guillotine, több-stratégiás pakoló, ami a böngésződben fut, a saját alapanyagodon és alkatrészeiden.
Teljes szabáslistához fűrészréssel, szélezéssel, maradékokkal és exportokkal nyisd meg az optimalizálót. Előre beállított kiindulópontért próbáld ki a panel vágás optimalizálót vagy a lapszabás kalkulátort.
Mit tesz ma a CutOptim
Az alapértelmezés az appban mindenhol egy guillotine, több-stratégiás legjobb-kiválasztó keresés, ami a böngésződben fut — a létra 2. foka. Egyetlen szabástervet sem töltünk fel sehová számításra.
A pakoló sok jelöltet állít elő a munkádra — polcos pakolást és annak transzponált, oszlopos formáját, több rendezési sorrenden és forgatási szabályon át, plusz egy egyszerű mohó guillotine-t —, majd kimondott rangsor szerint tartja meg a legjobbat: a legtöbb elhelyezett darab, aztán a legkevesebb tábla, aztán a legtöbb felhasznált terület. Az Első vágás iránya szűkíti ezt a keresést, ha adott orientációra van szükséged; a Min. anyagköltség cél pedig a lapszám helyett a teljes alapanyagár szerint rangsorolja újra a jelölteket.
Mivel minden elrendezés guillotine-kompatibilis, a szabásterv magától kiadódik az elkészült elrendezésből: a vágásvonalak, a fűrészelések, a vágáshossz és a fázisszám mind ugyanabból a rekonstrukcióból jön. Ettől lesz panelfűrészen végrehajtható, nem pedig csupán szemre kellemes. Egy körülbelül 2000 darabos munka másodperc-nagyságrendben lefut hétköznapi gépen — az alábbi mérés egy ilyen munkát ≈1715 ms-ra tesz.
Az opcionális szabad beágyazó motor
A CutOptim Engine API-n a hívók kérhetnek egy második motort — a balanced-et —, amely a guillotine keresés helyett MaxRects szabad beágyazást használ. Azoknak a hívóknak való, akik nagyon nagy munkákon nyers sebességet akarnak, és el tudják fogadni, hogy az elrendezést fűrésszel nem lehet levágni. 2026-07-31-én mérve, egy 2000 darabos munkán:
| Alapértelmezés (guillotine, több-stratégiás) | balanced (MaxRects szabad beágyazás) | |
|---|---|---|
| Sebesség 2000 darabon | ≈1715 ms | ≈62 ms — kb. 25× gyorsabb |
| Kihozatal ezen a munkán | 93,2% | 90,3% |
| Fűrésszel levágható elrendezés | Mindig — minden vágás szélről szélig fut | Gyakran nem guillotine-kompatibilis |
| Visszaadott szabásterv | Igen | Nem, ha az elrendezés nem guillotine |
Két dolgot érdemes kétszer elolvasni ebből. A gyorsabb motor adta az alacsonyabb kihozatalt ezen a munkán — a szabad beágyazás nem automatikusan szorosabb; itt a több-stratégiás keresés egyszerűen többet keresett. És a balanced elrendezéseit gyakran nem lehet szélről szélig levágni, ezért az API nem guillotine-kompatibilisként jelenti őket, és egyáltalán nem ad vissza szabástervet. Ez az a kompromisszum, amelyet tudatosan vállalsz, és épp ezért nem változik az alapértelmezés soha csendben: az app optimalizálója változatlan, és a balanced csak akkor fut, ha egy API-hívó kifejezetten kéri. Mindkét motort dokumentálja az Engine API referencia.
Egy exakt optimalizálási mód fejlesztés alatt áll
Az új optimalizálási módszerek először az Engine API-ba kerülnek be, és csak utána bárhová máshová — ez az a felület, ahol a hívó megnevezhet egy motort, és vállalhatja a hozzá tartozó kompromisszumokat. A következő egy exakt optimalizálási mód: ahelyett, hogy heurisztikusan keresne és a megtalált legjobb elrendezést adná vissza, bizonyítja az optimalitást — ez az elrendezés, és ennél jobb nem lehetséges, vagy egy korlát, amely megmondja, mennyi hely maradt még. A fenti létra 4. foka, motorként kínálva.
Fejlesztés alatt áll, és még nem elérhető; amit az API ma kiszolgál, az a heuristic és a balanced. Ez egy Engine API-képesség — az appban futó optimalizáló a fent leírt guillotine, több-stratégiás keresésen marad —, és azoknak a hívóknak szól, akik tudatosan váltják át a megoldási időt bizonyítható válaszra: szerény darabszám drága anyagon, vagy egy viszonyítási alap, amelyhez egy heurisztikát mérni lehet.
Ha panelfűrészen vágsz, az alapértelmezés kell neked és semmi más. A szabad beágyazó motor azoknak az API-hívóknak való, akik tetszőleges szerszámútvonalat követő gépek körül építik a saját eszközeiket, vagy annak, akinek egy nagyon nagy munkára milliszekundumok alatt kell egy hozzávetőleges pakolási válasz.
Választás: rövid döntési segédlet
Indulj a gépből. A választás nagy részét ez elveszi tőled.
- Panelfűrész, gerendafűrész vagy tolóasztalos körfűrész — guillotine, kivétel nélkül. A legkevesebb táblára optimalizálj, aztán a legkevesebb vágásvonalra.
- CNC marógép, lézer-, vízsugaras vagy plazmavágó — a szabad beágyazás használható, és megéri, ha az alkatrészeid a guillotine-szabály alatt rosszul pakolódnak. Egy guillotine-terv itt is tökéletesen lefut; csak nem használja ki a gép teljes szabadságát.
- Mindkét gép — gyakori gyártási minta, hogy a teljes táblákat gerendafűrészen bontják le guillotine-terv szerint, majd az alakos darabokat a CNC-n fejezik be.
- Nem téglalap alakú alkatrészek — valódi kontúrú beágyazás kell, és egy gép, amely szerszámútvonalat tud követni. Semmilyen téglalapos optimalizáló nem segít.
Aztán nézd meg a szériát.
- Egyedi munka. Fogadd el a gyors, robusztus választ; azt az anyagot, amit egy hajszállal szorosabb elrendezés megspórol, ritkán fedezi a rá fordított extra műhelyidő.
- Ugyanazon méretek ismételt gyártása. A számítási idő elosztódik minden ismétlésen, így a szabásminta-alapú megközelítés valóban vonzóvá válik — és megéri egy jellemző munkát gondosan lemérni, ahelyett hogy bármilyen általános számban bíznál.
- Drága anyag. Acél, sárgaréz, öntött műkő, építészeti üveg: fordíts több időt a keresésre, és a maradékokat használható alakban tartsd meg, hogy visszakerüljenek a készletbe, ne a konténerbe.
Bármit is használsz, a fűrészrésedet őszintén állítsd be, és add meg a szélezésedet. Egy 0 mm-es fűrészréssel indított optimalizáló magabiztosan olyan elrendezést fog ígérni, amit a fűrészed nem tud leszállítani, és a hiba a tábla minden vágásán halmozódik. Ez az egyetlen beállítás több csalódást keltő eredményt okoz, mint bármelyik algoritmus-választás ezen az oldalon.
Lásd a módszert a saját szabáslistádon
Guillotine, több-stratégiás keresés a böngésződben — minden vágás szélről szélig, kimutatott vágásvonalakkal, fűrészelésekkel és vágáshosszal.
Optimalizáló megnyitása