
Tervoptimalizáló vs Excel: Amikor a Táblázat Már Nem Elég
Az Excel az első eszköz, amelyhez a legtöbben nyúlnak, amikor egy vágási listát kell összeállítaniuk. Ez logikus — már ismerik, minden számítógépen megtalálható, és egy alkatrészeket és méreteket tartalmazó táblázat tipikus táblázatkezelős feladatnak tűnik. Egészen addig, amíg meg nem próbálják kideríteni, hogyan illeszkednek ezek az alkatrészek egy lapra. Pontosan itt vall kudarcot az Excel.
Minden asztalosfórumon, minden gyártással kapcsolatos kérdés-felelet táblán, minden Excel-segítő közösségben ugyanaz a téma bukkan fel. Valaki közzétesz egy táblázatot alkatrésznevekkel, hosszakkal, szélességekkel és mennyiségekkel. Majd megkérdezi: „Hogyan tudja az Excel megmondani, mi a leghatékonyabb módja ezeknek az alkatrészeknek a készletlapokból való kivágásának?"
A válaszok a „használj Solvert"-től a „írj VBA makrót"-on át a „lehetetlen — használj speciális szoftvert"-ig terjednek. Az igazság valahol a kettő között van, és annak pontos megértése, mikor szűnik meg az Excel hasznosnak lenni, kulcsfontosságú annak eldöntéséhez, mikor van szüksége valódi vágáslista-optimalizálóra.
Miben jó az Excel
Adjuk meg az Excelnek, ami az Excelé. A vágáslista tervezésének első szakaszában — magának az alkatrészlistának az összeállításában — az Excel jól működik. Sőt, egészen jól teljesít.
Felsorolhatja az egyes alkatrészeket névvel, hosszal, szélességgel, vastagsággal, mennyiséggel, anyagtípussal, szálirányával és megjegyzésekkel. Képletekkel kiszámíthatja a teljes felületet, az összes élhosszt és a becsült anyagköltségeket. Anyag vagy szekrény szerint rendezheti, szűrheti és csoportosíthatja az alkatrészeket. Megoszthatja a táblázatot a csapatával.
Ha csak alkatrészlistára van szüksége — egy strukturált táblázatra arról, mit kell kivágni —, az Excel elvégzi ezt a munkát. Ezért teszi lehetővé a CutGrid (és a legtöbb más vágáslista-optimalizáló) a közvetlen importálást Excelből és CSV-ből. A táblázat kiváló hely a lista összeállítására. Csak éppen nem a megfelelő hely az elrendezés optimalizálásához.
Hol vall kudarcot az Excel
Abban a pillanatban, amikor azt kérdezi: „Hogyan kellene elrendeznem ezeket az alkatrészeket a lapjaimon?", elhagyta a táblázatképletek területét, és belépett a kombinatorikus optimalizálás területére. Íme, miért fontos ez.
A 2D-s elhelyezési probléma NP-nehéz
Ez nem csupán zsargon — gyakorlati jelentősége van. Az „NP-nehéz" azt jelenti, hogy a lehetséges elrendezések száma olyan gyorsan növekszik, hogy egyetlen számítógép sem képes ésszerű időn belül az összes változatot ellenőrizni, még szerény méretű bemenetek esetén sem.
Vegyünk egy egyszerű példát: 20 alkatrész egyetlen lapon. Minden alkatrész bármely pozícióba helyezhető, és a legtöbb 90°-kal elforgatható. A lehetséges elrendezések száma csillagászati — jóval nagyobb, mint az univerzum atomjainak száma. A legjobb megtalálásához speciális algoritmusokra van szükség, amelyek intelligensen fedezik fel a megoldásteret heurisztikák segítségével, nem nyers erővel.
Az Excel Solver bővítménye egyszerű lineáris optimalizálási problémákat kezel. De a 2D-s elhelyezés forgatással, vágási résekkel, szálirányával és több lappal nem lineáris probléma. A Solver vagy egyáltalán nem tudja modellezni a problémát, vagy órákon át fut, és gyenge eredményt produkál.
Nincs vizuális elrendezés
Még ha valahogyan ki is számítaná az optimális elrendezést Excelben, még mindig meg kellene rajzolnia. Egy vágáslista-optimalizáló vizuális vágási diagramot készít — egy színes térképet, amely pontosan megmutatja, hol található minden egyes alkatrész az egyes lapokon, méretekkel, alkatrészcímkékkel és vágási sorrenddel. Ez az a dokumentum, amelyet kinyomtat és magával visz a fűrészhez.
Excelben manuálisan kellene téglalapokat rajzolnia egy diagramon vagy egy külső rajzprogramban. Minden laphoz. Minden alkalommal, amikor módosít egy méretet vagy hozzáad egy alkatrészt.
Nincs vágási rés figyelembevétele
Amikor a fűrészlap áthalad az anyagon, eltávolít egy csík anyagot — ez a vágási rés. Egy tipikus lapfűrész vágási rése 3–3,5 mm. Egy vágáslista-optimalizáló automatikusan beilleszti ezt a rést minden egymás melletti alkatrészpár közé.
Excelben manuálisan kellene vágási rés-ráhagyásokat hozzáadnia minden méretszámításhoz. 40 alkatrész esetén, amelyek több lapon oszlanak el, ez tucatnyi extra képletet jelent — mindegyik potenciális hibaforrás. És ha megváltoztatja a vágási rés értékét (mert cserélte a lapot), minden képletet frissítenie kell.
Nincs algoritmusválasztás
Egy dedikált optimalizáló lehetővé teszi, hogy a berendezésétől függően válasszon a guillotine és a standard (polcos) algoritmus között. A guillotine biztosítja, hogy minden vágás éltől élig menjen (lapfűrészekhez). A standard rugalmas elhelyezést tesz lehetővé (CNC-hez). Az Excel nem tudja, mi az a guillotine-vágás.
Nincs több lapos optimalizálás
A valódi projektek több lapot használnak. Egy 40 alkatrészből álló konyhai szekrényprojekt 3–4 MDF-lapot igényelhet. Az optimalizáló dönti el, melyik alkatrész kerüljön melyik lapra, hogy minimalizálja az összes lap teljes hulladékát — nem csak laponként egyet.
Excelben manuálisan kellene alkatrészeket lapokhoz rendelnie, majd manuálisan ellenőrizni, hogy illeszkednek-e, majd manuálisan módosítani az elrendezést, ha nem illeszkednek. Változtasson meg egyetlen méretet, és az egész hozzárendelést esetleg újra kell csinálni.
Nincs maradékanyag-követés
A lapok vágása után maradékok keletkeznek — felhasználható anyagdarabok, amelyek túl kicsik az aktuális projekthez, de ideálisak lehetnek a következőhöz. Egy vágáslista-optimalizáló egy készletkönyvtárban követi nyomon ezeket a maradékokat, és újra felhasználja őket a jövőbeli projektekben.
Az Excel nem tud a maradékairól.
A VBA makrós megközelítés
Néhány leleményes felhasználó VBA makrókat írt, amelyek egyszerű 1D-s vágásoptimalizálást próbálnak végezni Excelben. Ezek lineáris anyagokhoz működnek — hosszak vágása rudakból vagy csövekből —, ahol a probléma egydimenziós.
A tipikus VBA megközelítés méret szerint rendezi az alkatrészeket (a leghosszabbak először), a first-fit decreasing algoritmus segítségével hozzárendeli őket a készlethosszakhoz, és jelenti a szükséges készlet teljes mennyiségét és a rúdankénti hulladékot. Egyszerű lineáris vágáshoz — alumínium profilok, faoszlopok, acélcsövek — ez elég jól működhet.
Azonban jelentős korlátai vannak:
Csak 1D. A 2D-s lapvágáshoz készült VBA makrók rendkívül ritkák és rendkívül törékenyek. Az algoritmus összetettsége drámaian növekszik, amikor hozzáadja a második dimenziót, a forgatást és a vágási rést.
Nincs vizuális kimenet. A makró szöveges listát ad — „1. rúd: 2400-as vágás, 1800-as vágás, 300-as hulladék" —, de nincs diagram. Mentálisan kell rekonstruálnia az elrendezést, ami kedvez a hibáknak.
Törékeny kód. A VBA makrók elromlanak, ha megváltoztatja a táblázat szerkezetét, átnevezi az oszlopokat, vagy egy másik Excel-verzióban nyitja meg a fájlt. Nehéz hibakeresni és lehetetlen karbantartani, ha nem Ön írta őket.
Nincs vágási rés, ráhagyások, szálirány. A legtöbb VBA makró figyelmen kívül hagyja a vágási rést, a lap ráhagyásait és a szálirányát. Ezeknek a paramétereknek a hozzáadása jelentősen bonyolítja a kódot — és a legtöbb felhasználó, aki ezen a szinten tud VBA-t írni, jobban járna, ha egy külön alkalmazást írna.
Teljesítmény. A VBA lassú. Egy összetett 2D-s optimalizálás, amely a CutGridben kevesebb mint egy másodpercig tart, egy VBA makróban percekig tarthat — vagy teljesen lefagyaszthatja az Excelt.
A Solverrel való megközelítés
Az Excel beépített Solvere egy legitim optimalizálási eszköz. Képes lineáris programozási problémákat megoldani, és van egy evolúciós solvere nemlineáris problémákhoz. Néhány felhasználó megpróbálta modellezni a vágáslista-optimalizálást a Solver segítségével.
A beállítás összetett: meghatározza a döntési változókat (hová kerül minden egyes alkatrész), a korlátokat (nincs átfedés, a lapon belül, vágási rések) és a célfüggvényt (hulladék minimalizálása). Nagyon kis problémák esetén — 5–8 alkatrész egyetlen lapon — a Solver néha talál ésszerű megoldást.
Bármi nagyobbnál a Solver eléri a korlátait. Az ingyenes verzió 200 döntési változóra korlátozódik. Még a fizetős verzió (OpenSolver vagy Solver bővítmények) is nehézségekbe ütközik a 2D-s elhelyezés nemlineáris korlátaival. És még mindig nem kap vizuális elrendezést — csak egy koordinátákat tartalmazó táblázatot.
Gyakorlati összehasonlítás: Ugyanaz a projekt, két eszköz
Tegyük ezt konkréttá. Öt könyvespolc-szekrényt épít 18 mm-es nyírfa rétegelt lemezből. Készletlap: 2440 × 1220 mm. Vágási rés: 3 mm. Ráhagyások: 10 mm.
Alkatrész | Hossz (mm) | Szélesség (mm) | Mennyiség | Összesen |
|---|---|---|---|---|
Oldallap | 1800 | 300 | 10 | 10 |
Felső/alsó lap | 564 | 300 | 10 | 10 |
Polc | 564 | 280 | 15 | 15 |
Hátsó léc | 564 | 80 | 10 | 10 |
Lábazat | 600 | 100 | 5 | 5 |
Összesen: 50 alkatrész.
Excelben: Felsorolja az alkatrészeket (2 perc). Kiszámítja az összes alkatrész teljes felületét: körülbelül 10,2 m². Minden lap 2,98 m². Tehát legalább 3,4 lapra van szüksége — ami legalább 4 lapot jelent, valószínűleg 5-öt, ha figyelembe veszi a vágási rést és a ráhagyásokat. De valójában hányra van szüksége? Nem tudja, mert nem látja, hogyan illeszkednek az alkatrészek. Becsülhet 5 vagy 6 lapot, és ennek megfelelően vásárol. Ha rosszul becsül, visszamegy a faraktárba.
A CutGridben: Megadja ugyanazokat az alkatrészeket (vagy importálja az Excel-fájlt — 30 másodperc). Beállítja a vágási rést 3 mm-re és a ráhagyásokat 10 mm-re. Kattint az Optimalizálásra. Kevesebb mint egy másodperc alatt a CutGrid elkészíti az elrendezést: 4 lap, 86%-os anyagfelhasználás, egy egyértelmű diagrammal, amely pontosan megmutatja, hol van minden egyes alkatrész. Exportálja a PDF-et, és megy a fűrészhez.
A különbség: az Excel azt mondta: „valószínűleg 5 lap, talán 6". A CutGrid azt mondta: „pontosan 4 lap, így vágja ki őket, és ezek a maradék darabok, amelyeket megtarthat". Egy megtakarított lap, 40–80 € visszakerül a zsebébe.
Mikor az Excel mégis a helyes választás
Az igazság kedvéért vannak helyzetek, amikor az Excel valóban elegendő:
Alkatrészlistát készít, nem optimalizálást. Ha csak fel akarja sorolni az alkatrészeket méretekkel és ki akarja számítani az anyagfelületet, az Excel megfelelő. Majd importálja ezt a listát a CutGridbe az optimalizálási lépésnél.
5 vagy kevesebb alkatrésze van. Ha egy kis polcot vagy egy egyszerű dobozt vág ki, valószínűleg fejben el tudja rendezni az alkatrészeket a lapon. Az optimalizáló felesleges bonyolultságot ad a triviális projektekhez.
1D-s lineáris vágást végez egy egyszerű makróval. Rudakból vagy csövekből való hosszvágáshoz — ahol a probléma egydimenziós és van egy működő VBA makrója — az Excel ésszerű eredményeket adhat. Az egyszerű VBA makró és egy dedikált lineáris optimalizáló közötti különbség kisebb, mint a 2D-s lapoptimalizálás esetén.
Terepen van és csak a telefonja van. Egy gyors táblázat a Google Sheetsben az anyagmennyiségek becsléséhez jobb, mint semmi. De a CutGrid bármely böngészőben működik — beleértve a telefont is —, így ez az előny eltűnik.
Hibrid munkafolyamat: Excel + optimalizáló
Sok műhely számára a legjobb megközelítés a két eszköz kombinációja. Íme egy munkafolyamat, amely működik:
1. lépés: Állítsa össze a vágási listát Excelben. Használja a táblázatot arra, amiben jó: adatok rendszerezése. Sorolja fel az alkatrészeket, számítsa ki a mennyiségeket, kövesse nyomon az anyagokat, becsülje meg a költségeket. Ha van egy sablonja, amelyet évek óta használ, folytassa a használatát.
2. lépés: Importálja a CutGridbe. Mentse az Excel-fájlt .xlsx vagy .csv formátumban. Importálja a CutGridbe. Az alkatrészek, méretek, mennyiségek és anyagtípusok közvetlenül átkerülnek — újbóli bevitel nélkül.
3. lépés: Optimalizáljon és exportáljon. Állítsa be a vágási rést, a ráhagyásokat és az algoritmust. Futtassa az optimalizálást. Exportálja a vágási diagramot PDF-ként a gyártócsarnok számára vagy DXF-ként a CNC-gépe számára.
4. lépés: Frissítse az Excel-fájlt. Az optimalizálás után exportálja az eredményeket vissza Excelbe, ha adatokra van szüksége a meglévő munkafolyamatban — költségjelentések, beszerzési megrendelések, készletfrissítések.
Ez a munkafolyamat tiszteletben tartja a meglévő folyamatát, és hozzáadja az egyetlen dolgot, amelyet az Excel nem tud elvégezni: a térbeli optimalizálást.
A matematika, amely megmagyarázza, miért nem versenyezhet a táblázat
Ha kíváncsi, miért olyan nehéz ez a probléma egy táblázat számára, íme az intuíció.
Az 1D-s problémánál (hosszak vágása egy rúdból) a lehetséges elrendezések száma faktoriálisan növekszik — 20 alkatrésznek 20! (körülbelül 2,4 billió) lehetséges sorrendje van. De a jó heurisztikák, mint a first-fit decreasing, hatékonyan meg tudják oldani ezt, mert csak azt kell eldönteni, melyik rúdra kerüljön az egyes hossz.
A 2D-s problémánál (téglalapok vágása egy lapból) minden alkatrésznek van X-pozíciója, Y-pozíciója és forgatása. A korlátok (nincs átfedés, a lapon belül, vágási rések) összetett geometriai problémát hoznak létre, amely nem redukálható egyszerű rendezésre. A döntési változók száma 3n-ként növekszik (három változó alkatrészenként), és a korlátok n²-ként növekednek (minden alkatrészpárnak nem szabad átfednie egymást).
50 alkatrész esetén ez 150 döntési változót és 2500 nem-átfedési korlátot jelent. Az Excel Solvere tíznyi változóval rendelkező problémákra van tervezve, nem százakra. És még ha kezelné is a méretet, a geometriai korlátok nemlineárisak — „vagy/vagy" feltételeket tartalmaznak, amelyekkel a Solver rosszul boldogul.
Ezért léteznek dedikált vágáslista-optimalizálók. Speciális algoritmusokat használnak — polcos heurisztikákat, genetikus algoritmusokat, szimulált hűtést és hibrid megközelítéseket —, amelyeket kifejezetten erre a problémaosztályra építettek. Közel optimális megoldásokat találnak másodpercek alatt, nem órák alatt.
Főbb következtetések
Az Excel kiváló az alkatrészlista összeállításához. Folytassa a használatát adatbevitelhez, számításokhoz és rendszerezéshez. Nem véletlenül a világ legjobb táblázatkezelő programja.
Az Excel nem elrendezés-optimalizáló. Abban a pillanatban, amikor el kell döntenie, hogyan illeszkednek az alkatrészek a lapokra, más eszközre van szüksége. A 2D-s elhelyezési probléma matematikailag nehéz — túl nehéz a Solvernek, túl nehéz a VBA makróknak, és túl vizuális egy cellrácshoz.
A valódi veszteség nem a szoftver költségében rejlik — a plusz lapokban rejlik. Egy CutGrid-előfizetés kevesebbe kerül, mint egyetlen nyírfa rétegelt lemez lap. Ha az optimalizáló akár csak egyetlen lapot megspórol projektenként, azonnal megtérül.
Importáljon, ne vigyen be újra. A CutGrid natívan olvassa az Excelt és a CSV-t. A táblázata a bemenet; az optimalizáló a motor; a vágási diagram a kimenet.
Még mindig Excelt használ a vágási listáihoz?
Importálja a táblázatát a CutGridbe, és nézze meg a különbséget. Az alkatrészlistája ugyanaz marad — csak intelligensebb elrendezést kap.