Cum funcționează optimizarea tăierii — metode comparate
Răspuns rapid
Optimizarea tăierii îți așază piesele pe materialul de stoc ca să reducă deșeul, dar metoda contează mai mult decât marketingul. Optimizatoarele ghilotină permit doar tăieturi care merg de la margine la margine, pentru că exact asta face fizic un ferăstrău de panouri. Nesting-ul liber așază piesele oriunde și poate împacheta mai strâns, dar aranjările lui deseori nu pot fi tăiate deloc pe un ferăstrău.
Treci aceeași listă de tăiere prin două programe și de multe ori primești două cifre diferite. De obicei niciunul nu este mai inteligent decât celălalt: au rezolvat probleme diferite, iar doar unul dintre răspunsuri poate fi produs pe mașina ta.
Constrângerea pe care nimeni nu o menționează prima
Un ferăstrău de panouri taie de la margine la margine. Lama se deplasează pe o șină de la o latură a materialului la cealaltă, de fiecare dată; nu există oprire la jumătate și repornire în altă parte fără să scoți piesa de pe mașină.
Faptul acesta are un nume în literatură: constrângerea de ghilotină. Fiecare tăietură trebuie să împartă dreptunghiul curent în exact două dreptunghiuri, iar subdivizarea continuă până când fiecare regiune conține o singură piesă. O aranjare care conține piese pe care nicio linie de la margine la margine nu le poate separa nu este tăiabilă în ghilotină — iar pe un ferăstrău de panouri nu este un plan, este o poză.
Ghilotină — fiecare tăietură merge de la margine la margine
Șase tăieturi, numerotate în ordinea de tăiere. Fiecare traversează complet bucata pe care o împarte, deci planul se poate executa pe un ferăstrău de panouri.
Nesting liber — tăieturi care se opresc la jumătate
Tăietura verde este permisă, dar trebuie să se oprească la jumătate. Ambele linii roșii sunt tăieturi de la margine la margine și fiecare trece direct printr-o piesă.
De aceea o aranjare care „arată mai prost” este deseori singura care se poate produce. Un optimizator ghilotină aruncă aranjări pe care un motor de nesting liber le-ar păstra fără ezitare, pentru că păstrarea lor ți-ar da un plan de tăiere pe care nu îl poți executa. Ghilotină vs tăiere liberă tratează geometria în detaliu.
„Alt program mi-a arătat un randament mai mare decât voi.” Înainte de a trage vreo concluzie despre calitatea software-ului, întreabă-te ce a presupus acel program despre ferăstrăul tău. Dacă așază piesele liber — modul normal pentru routere CNC, lasere și tăietoare cu jet de apă — poate plasa piese pe care un ferăstrău de panouri nu le poate separa: cifra lui este reală pentru un CNC și inaccesibilă pe un ferăstrău cu masă mobilă. Lățimea de tăiere, marginile debitate și rotirea per piesă mișcă și ele rezultatul, așa că compară acele setări înainte de a compara procente.
Invers este la fel de adevărat: pe un router CNC, un optimizator strict ghilotină lasă material nefolosit. Niciuna dintre abordări nu este „mai bună” în abstract — sunt răspunsuri pentru mașini diferite.
Scara metodelor
Optimizarea tăierii este o familie de metode, nu un singur algoritm. Să știi unde se află o unealtă pe această scară îți spune mai mult decât orice cifră de randament pe care o afișează în reclame.
1. Euristici greedy
Sortezi piesele după o regulă — cea mai mare suprafață prima, cea mai lungă latură prima — apoi așezi fiecare piesă în prima poziție în care încape. Împachetarea pe fâșii (shelf packing) este varianta clasică pentru panouri: construiești o bandă înaltă cât cea mai înaltă piesă din ea, o umpli de la stânga la dreapta, apoi începi banda următoare dedesubt. Este validă în ghilotină prin construcție, ceea ce o face potrivită în mod natural pentru lucrul la ferăstrău.
2. Căutare multi-strategie „cel mai bun din mai multe”
În loc să te bazezi pe o singură regulă greedy, rulezi multe — mai multe ordini de sortare, mai multe politici de rotire, ambele direcții posibile de primă tăietură, mai multe familii de împachetare — dai un punctaj fiecărei aranjări rezultate față de un obiectiv explicit și păstrezi câștigătoarea. Intrarea patologică pentru o strategie este de obicei o intrare ușoară pentru alta, așa că cazul cel mai rău se îmbunătățește brusc, deși nicio strategie luată separat nu s-a schimbat. Acesta este calul de povară al software-ului practic de liste de tăiere.
3. Metaeuristici
Călirea simulată, algoritmii genetici, căutarea tabu: în loc să construiască o aranjare și să se oprească, acestea perturbă repetat o soluție, acceptând și mutări care o înrăutățesc, ca să scape din optime locale. Continuă să îmbunătățească după ce o euristică constructivă a rămas fără idei — cu prețul unui timp de rulare pe care nu îl poți mărgini în avans, al unei calibrări care nu se transferă între tipuri de probleme și, dacă sămânța aleatoare nu este fixată, al unor răspunsuri care se schimbă de la o rulare la alta. Ultimul lucru este neplăcut când în atelier există deja printul de ieri.
4. Metode exacte
Formulezi problema matematic și o rezolvi până la optimalitate demonstrată: programare liniară în numere întregi mixte sau programare cu constrângeri, cu un solver dedicat. Rezultatul nu este „o aranjare bună”, ci „această aranjare, și se poate demonstra că nu există una mai bună” — sau o limită care îți spune cât spațiu de manevră mai rămâne teoretic. Este singura treaptă care îți poate spune când să te oprești cu căutarea.
Costul explodează cu dimensiunea: problema debitării este NP-hard, deci arborele de căutare crește combinatoric cu numărul de piese și de dimensiuni distincte. Fiecare constrângere reală — kerf, margini debitate, fibră, etape de ghilotină — trebuie de asemenea scrisă în model, iar fiecare adăugată este încă o bucată de model de făcut corect.
5. Debitare bazată pe modele (generare de coloane)
Abordarea clasică din cercetarea operațională pentru tăierea industrială, de la Gilmore și Gomory (1961). În loc să decizi unde merge fiecare piesă individuală, decizi de câte ori să rulezi fiecare model de tăiere; fiindcă numărul de modele posibile este astronomic de mare, le generezi la cerere. Excelează la cantități mari din relativ puține dimensiuni distincte — rulouri, bare de stoc, comenzi repetate de panouri — și aduce puțin la o comandă unicat, unde aproape fiecare piesă diferă, pentru că nu este nimic de repetat.
6. Nesting neregulat (după forma reală)
O clasă de probleme diferită, nu o treaptă mai grea a aceleiași scări. Piesele sunt poligoane arbitrare — componente curbate de mobilă, litere pentru reclame, garnituri, piese de croitorie — așa că geometria însăși devine partea grea: să decizi dacă două forme se suprapun într-o anumită poziție și rotire, în loc să compari patru numere. Rezultatul este non-ghilotină prin natura lui și are nevoie de o mașină care poate urma o traiectorie arbitrară.
| Metodă | Ce îți aduce | Ce te costă | Potrivită când |
|---|---|---|---|
| Euristică greedy | Milisecunde, complet previzibilă | Nicio garanție; fragilă la mixuri de piese atipice | Comenzi simple, sau ca un candidat printre mulți |
| Multi-strategie „cel mai bun din mai multe” | Robustețe la mixuri de piese necunoscute | Un multiplu constant al unei singure rulări greedy | Software interactiv de liste de tăiere |
| Metaeuristici | Continuă să îmbunătățească dincolo de o singură construcție | Timp de rulare nemărginit, calibrare, nerepetabilitate | Comenzi mari, unde calculul e mai ieftin decât materialul |
| Metode exacte | Optimalitate demonstrată sau o limită demonstrată | Costul explodează cu dimensiunea; e nevoie de modelul complet | Puține piese, material scump, evaluare comparativă |
| Bazată pe modele (generare de coloane) | Rezultate puternice în producția repetitivă | Presupune repetiție; rotunjirea numărului de modele | Cantități mari din puține dimensiuni distincte |
| Nesting neregulat | Gestionează forme nerectangulare | Geometrie grea; rezultat non-ghilotină | Tăiere după contur pe CNC, laser, jet de apă, plasmă |
Observă ce lipsește din tabelul acela: o coloană cu procente de randament. Orice astfel de cifră depinde de mixul tău de piese, de formatele tale de stoc, de kerf-ul tău și de regulile tale de rotire, așa că o valoare copiată din comanda altcuiva nu îți spune nimic despre a ta. Judecă o metodă după garanția pe care o oferă și după constrângerile pe care le respectă, apoi măsoară-ți propriile comenzi.
Ce înseamnă de fapt cifrele
Optimizatoarele raportează mai multe cifre, iar acestea răspund la întrebări diferite. Confundarea lor este exact felul în care ajungi să optimizezi pentru lucrul greșit.
Randamentul materialului (%) este suprafața pieselor plasate împărțită la suprafața de stoc consumată. Este cifra de pe prima pagină și cea care ignoră cel mai mult: nu spune nimic despre cât durează tăierea comenzii sau despre cât mai e bun la ceva materialul rămas. Ce măsoară randamentul materialului îl detaliază mai departe.
Numărul de plăci sau bare este de obicei cifra care te costă efectiv bani — cumperi foi întregi. Un câștig de randament care nu scoate o foaie din lista de cumpărături poate valora foarte puțin; unul care o scoate se amortizează imediat.
Liniile de tăiere și trecerile de ferăstrău numără același plan în două feluri:
- O linie de tăiere este o singură reglare a opritorului — tăieturile coliniare aflate la aceeași cotă și în aceeași etapă se numără o singură dată.
- O trecere de ferăstrău este o singură trecere a lamei, numărată separat pentru fiecare fâșie traversată.
Comanda demo inclusă în CutOptim — 40 de piese pe stoc de 2440×1220 mm, cu kerf de 3 mm, care intră pe 2 foi la 83,28% randament — iese cu 44 de linii de tăiere și 61 de treceri de ferăstrău: de câte ori repoziționează operatorul opritorul și cât se taie efectiv.
Lungimea tăiată este distanța totală parcursă de lamă prin material. Este imună la convențiile de numărare — unirea pe hârtie a tăieturilor coliniare nu scurtează materialul — ceea ce o face cel mai corect indicator indirect pentru uzura lamei și pentru timpul de tăiere.
Un randament mai mare te poate costa bani
Două aranjări pot diferi cu o fracțiune de procent de randament, dar să difere substanțial la:
- Timpul de pregătire. Mai multe reglaje de opritor și mai multe treceri înseamnă mai multe minute pe foaie și mai multe șanse să măsori greșit — la o serie scurtă, ușor mai mult decât valoarea materialului economisit.
- Forma resturilor. Suprafața de deșeu nu este calitatea deșeului. O aranjare lasă un dreptunghi curat pe care îl poți pune pe raft, eticheta și refolosi; alta lasă exact aceeași suprafață sub forma a douăsprezece fâșii subțiri.
- Manipularea și numărul de etape. Un plan care cere mai multe întoarceri ale materialului este mai lent și mai riscant pe panouri mari, indiferent cât de bine împachetează.
Alege întâi cel mai mic număr de foi, apoi planul cel mai simplu de tăiat și care lasă restul cel mai reutilizabil. Tratează ultima fracțiune de procent de randament ca un criteriu de departajare, nu ca un scop.
Încearcă pe cifrele tale
Cifrele generice de randament nu valorează nimic, deci iată alternativa. Acesta este exact motorul ghilotină multi-strategie descris mai sus, rulând în browserul tău pe stocul și piesele tale.
Pentru o listă de tăiere completă, cu kerf, margini debitate, resturi și exporturi, deschide optimizatorul. Pentru un punct de plecare deja configurat, încearcă optimizatorul de tăiere panouri sau calculatorul de tăiere plăci.
Ce face CutOptim astăzi
Implicit, oriunde în aplicație, rulează o căutare ghilotină multi-strategie de tip „cel mai bun din mai multe”, direct în browserul tău — treapta 2 din scară. Niciun plan de tăiere nu este încărcat nicăieri ca să fie calculat.
Motorul generează multe variante candidate pentru comanda ta — împachetarea pe fâșii și forma ei transpusă, pe coloane, în mai multe ordini de sortare și politici de orientare, plus o variantă ghilotină greedy simplă — apoi păstrează cea mai bună după o ierarhie explicită: cele mai multe piese plasate, apoi cele mai puține foi, apoi cea mai mare suprafață folosită. Direcție primă tăietură îngustează căutarea când ai nevoie de o orientare anume; modul de cost reordonează candidații după prețul total al stocului în loc de numărul de foi.
Fiindcă fiecare aranjare este validă în ghilotină, planul de tăiere rezultă din aranjarea finalizată: liniile de tăiere, trecerile de ferăstrău, lungimea tăiată și numărul de etape vin toate din aceeași reconstrucție. Asta o face executabilă pe un ferăstrău de panouri, nu doar frumoasă. O comandă de circa 2.000 de piese se rezolvă în ordinul unei secunde pe hardware obișnuit — măsurătoarea de mai jos pune o astfel de comandă la ≈1715 ms.
Motorul opțional de nesting liber
Prin CutOptim Engine API, apelanții pot activa explicit un al doilea motor — balanced — care folosește nesting liber MaxRects în locul căutării ghilotină. Este pentru apelanții care vor viteză brută la comenzi foarte mari și pot accepta aranjări pe care un ferăstrău nu le poate tăia. Măsurat pe 31.07.2026, pe o comandă de 2.000 de piese:
| Implicit (ghilotină, multi-strategie) | balanced (nesting liber MaxRects) | |
|---|---|---|
| Viteză la 2.000 de piese | ≈1715 ms | ≈62 ms — de circa 25× mai rapid |
| Randament pe acea comandă | 93,2% | 90,3% |
| Aranjare tăiabilă pe ferăstrău | Întotdeauna — fiecare tăietură merge de la margine la margine | Deseori netăiabilă în ghilotină |
| Plan de tăiere returnat | Da | Nu, când aranjarea nu este ghilotină |
Două lucruri de acolo merită citite de două ori. Motorul mai rapid a produs randamentul mai mic pe această comandă — nesting-ul liber nu împachetează automat mai strâns; aici căutarea multi-strategie pur și simplu a căutat mai mult. Iar aranjările balanced deseori nu pot fi tăiate de la margine la margine, așa că API-ul le raportează ca nevalide în ghilotină și nu returnează niciun plan de tăiere. Acesta este compromisul pe care îl accepți în mod deliberat, motiv pentru care comportamentul implicit nu se schimbă niciodată în surdină: optimizatorul din aplicație este neschimbat, iar balanced rulează doar când un apelant al API-ului îl cere explicit. Ambele motoare sunt documentate în referința Engine API.
Un mod de optimizare exactă este în dezvoltare
Metodele noi de optimizare ajung în Engine API înaintea oricărui alt loc — este suprafața pe care un apelant poate numi un motor și accepta compromisurile lui. Următorul este un mod de optimizare exactă: în loc să caute euristic și să returneze cea mai bună aranjare găsită, demonstrează optimalitatea — această aranjare, fără să fie posibilă una mai bună, sau o limită care spune cât spațiu mai rămâne. Treapta 4 din scara de mai sus, oferită ca motor.
Este în dezvoltare și încă nu este disponibil; heuristic și balanced sunt ceea ce servește API-ul astăzi. Este o capabilitate a Engine API — optimizatorul din aplicație rămâne pe căutarea ghilotină multi-strategie descrisă mai sus — și este destinat apelanților care vor schimba în mod deliberat timp de calcul pentru un răspuns demonstrabil: puține piese pe material scump, sau un etalon față de care să judeci o euristică.
Dacă tai pe un ferăstrău de panouri, vrei comportamentul implicit și nimic altceva. Motorul de nesting liber este pentru apelanții de API care își construiesc propriile unelte în jurul mașinilor ce urmează o traiectorie arbitrară, sau pentru oricine are nevoie de un răspuns aproximativ de împachetare la o comandă foarte mare, în milisecunde.
Cum alegi: un scurt ghid de decizie
Pornește de la mașina ta. Îți elimină cea mai mare parte a alegerii.
- Ferăstrău de panouri, ferăstrău cu grindă sau ferăstrău cu masă mobilă — ghilotină, fără excepții. Optimizează pentru cele mai puține foi, apoi pentru cele mai puține linii de tăiere.
- Router CNC, laser, jet de apă sau plasmă — nesting-ul liber este utilizabil și merită dacă piesele tale se împachetează prost sub regula de ghilotină. Un plan ghilotină rulează perfect și aici; doar că nu folosește toată libertatea mașinii.
- Ambele mașini — un model de producție frecvent este să desfaci foile întregi pe un ferăstrău cu grindă, cu un plan ghilotină, apoi să finisezi piesele cu contur pe CNC.
- Piese nerectangulare — ai nevoie de nesting după forma reală și de o mașină care poate urma o traiectorie. Niciun optimizator pentru dreptunghiuri nu te ajută.
Apoi uită-te la serie.
- Comandă unicat. Ia răspunsul rapid și robust; materialul economisit de o aranjare marginal mai strânsă rar acoperă timpul suplimentar din atelier.
- Producție repetitivă a acelorași dimensiuni. Timpul de calcul se amortizează pe fiecare repetiție, așa că abordarea bazată pe modele devine cu adevărat atractivă — și merită să măsori atent o comandă reprezentativă în loc să te încrezi în orice cifră generică.
- Material scump. Oțel, alamă, solid surface, sticlă arhitecturală: petrece mai mult timp căutând și păstrează resturile într-o formă utilizabilă, ca să reintre în stoc și nu în containerul de deșeuri.
Orice folosești, setează kerf-ul cinstit și introdu marginile de debitat. Un optimizator căruia i se dă un kerf de 0 mm va promite cu toată încrederea o aranjare pe care ferăstrăul tău nu o poate livra, iar eroarea se acumulează la fiecare tăietură de pe foaie. Această singură setare produce mai multe rezultate dezamăgitoare decât orice alegere de algoritm de pe această pagină.
Vezi metoda pe propria listă de tăiere
Căutare ghilotină multi-strategie, rulând în browserul tău — fiecare tăietură de la margine la margine, cu linii de tăiere, treceri de ferăstrău și lungime tăiată raportate.
Deschide optimizatorul