Benchmark bộ tối ưu cắt
Chúng tôi công bố con số đằng sau bộ tối ưu thay vì bắt bạn tin lời quảng cáo. Mỗi công việc dưới đây được sinh ra từ một seed cố định, giải bằng chính engine chạy trên trang này, rồi so với cách người thợ sẽ xử lý danh sách cắt đó bằng tay.
Vì sao chúng tôi công bố dữ liệu này
Mọi bộ tối ưu cắt đều tự nhận tiết kiệm vật liệu. Gần như không ai nói tiết kiệm bao nhiêu, trên những công việc nào, hay so với phương án nào. Thế nên các lời hứa ấy không thể kiểm chứng. Trang này đưa cho bạn bộ công việc, định nghĩa cơ sở so sánh, seed và kết quả thô — để bạn tự chạy lại toàn bộ và phản biện bằng chi tiết cụ thể chứ không phải chung chung.
Phương pháp
Bộ công việc
Mười profile nguyên liệu lấy theo định mức cung ứng thật: gỗ mềm 6 m, thanh nhôm định hình 6.5 m, thép gai 12 m, nẹp chân tường 2.44 m, ống thép 6 m, MDF 2440 × 1220, gỗ dán 2500 × 1250, dán bạch dương 1830 × 920, tấm thép 3000 × 1500 và kính float 3210 × 2250. Mỗi profile có số lượng công việc sinh ra như nhau, mỗi việc gồm bốn tới mười hai cỡ chi tiết khác nhau cùng số lượng thực tế, khe cưa và phần xén mép.
Cơ sở so sánh: cắt tay
Đối thủ trong phép so sánh không phải một bộ tối ưu khác — mà là chuyện xảy ra khi không có nó. Cơ sở so sánh lấy các chi tiết theo đúng thứ tự ghi trong danh sách, cứ nhồi vào thanh hay tấm đang dùng, và chuyển sang cái mới ngay khi chi tiết kế không vừa. Không sắp xếp, không xoay, không nhìn trước. Đó chính là cách một danh sách cắt được xử lý tại bàn thợ.
Các chỉ số
Hao hụt là phần nguyên liệu đã tiêu mà thành mảnh thừa, kể cả thanh hay tấm cuối chỉ dùng một phần — đếm như nhau cho cả hai phía. Số đơn vị nguyên liệu là số thanh hay tấm thực tế tiêu dùng. Thời gian giải là thời gian đồng hồ thực cho riêng lệnh gọi bộ giải, đo trên một laptop thường; bộ giải chạy ngay trong trình duyệt, không có gì xếp hàng chờ trên server.
Những gì bị loại
Những công việc mà engine không xếp được hết mọi chi tiết bị loại khỏi cả hai phía thay vì tính thành thắng. Công việc sinh ra được cấp nguyên liệu dư thoải mái để phương pháp nào cũng không bị thiếu. Không tinh chỉnh riêng cho profile nào: một bộ thông số bộ giải chạy chung cả mười profile.
Kết quả cắt thanh dài
Thanh, ống, profile và nẹp được cắt theo chiều dài từ nguyên liệu định mức.
| Profile nguyên liệu | Số việc | Hao hụt NestingCalc | Hao hụt khi cắt tay | Hao hụt đã loại bỏ |
|---|---|---|---|---|
| Softwood 6 m | 40 | 8,4% | 17,7% | 52% |
| Aluminium 6.5 m | 40 | 7,6% | 13,9% | 45% |
| Rebar 12 m | 40 | 7,5% | 17,8% | 58% |
| Skirting 2.44 m | 40 | 8,7% | 16,6% | 48% |
| Steel tube 6 m | 40 | 7,9% | 15,3% | 48% |
| Cả mười profile | 200 | 7,9% | 16,7% | 53% |
297 thanh tiết kiệm được trên toàn bộ công việc (9,1%) · 157/200 công việc giải được với ít đơn vị nguyên liệu hơn
Kết quả cắt tấm
Chi tiết được xếp trên nguyên tấm gỗ, kim loại hay kính. Xếp tấm là bài toán khó hơn cắt thanh dài và số liệu thể hiện rõ điều đó — một đống hình chữ nhật lộn xộn không liên quan gần như là trường hợp xấu nhất của mọi thuật toán xếp nét.
| Profile nguyên liệu | Số việc | Hao hụt NestingCalc | Hao hụt khi cắt tay | Hao hụt đã loại bỏ |
|---|---|---|---|---|
| MDF 2440 × 1220 | 40 | 33,1% | 45,9% | 28% |
| Plywood 2500 × 1250 | 40 | 33,1% | 44,9% | 26% |
| Birch ply 1830 × 920 | 40 | 35,1% | 47,9% | 27% |
| Steel 3000 × 1500 | 40 | 35,0% | 46,6% | 25% |
| Float glass 3210 × 2250 | 40 | 28,5% | 45,3% | 37% |
| Cả mười profile | 200 | 32,1% | 45,8% | 30% |
300 tấm tiết kiệm được trên toàn bộ công việc (19,5%) · 171/200 công việc giải được với ít đơn vị nguyên liệu hơn
Tốc độ
Bộ giải chạy ngay trong trình duyệt của bạn: không upload gì, không xếp hàng chờ, cũng không vấp giới hạn tần suất của gói miễn phí.
| Chỉ số | Trung vị | Bách phân vị 95 | Công việc chậm nhất |
|---|---|---|---|
| Thời gian giải thanh dài | 0,05 ms | 0,20 ms | 0,74 ms |
| Thời gian giải tấm | 0,03 ms | 0,32 ms | 0,66 ms |
NestingCalc so với các bộ tối ưu cắt khác
Tiết kiệm vật liệu mới chỉ là một phần của quyết định. Phần lớn bộ tối ưu cắt là sản phẩm thuê bao giới hạn gói miễn phí theo số chi tiết hay số việc mỗi ngày, và cả bốn bên dưới đều không có bản Markdown của trang hay MCP server cho trợ lý AI. Dưới đây là vị trí của NestingCalc.
| Tính năng | NestingCalc | CutList Evolution | OptiCutter | SmartCut.pro | CutList Optimizer |
|---|---|---|---|---|---|
| Giới hạn gói miễn phí | không giới hạn | 40 | gói miễn phí | không công bố | 5 / 24 h |
| Gói trả phí | không có | 150 – 2000 | €9 – 99 | $2.50 – 779 | theo bậc |
| Ngôn ngữ giao diện | 19 | 1 | 11 | 21 | vài ngôn ngữ |
| Cắt thanh dài và tấm | ✓ | ✓ | ✓ | ✓ | ✓ |
| Máy tính ngành gỗ (Hoppus, JAS, lò sấy, EMC, co ngót) | 16 | 0 | 0 | 0 | 0 |
| Bản Markdown cho mọi trang, dành cho AI agent | ✓ | — | — | — | — |
| MCP server cho trợ lý AI | ✓ 32 | — | — | — | — |
| Công bố dữ liệu benchmark tái lập được | ✓ | chỉ bài viết | — | — | — |
| Cài đặt kerf (bề rộng lưỡi cưa) | ✓ | ✓ | ✓ | ✓ | ✓ |
| Khóa xoay / hướng vân theo từng chi tiết | ✓ | ✓ | không công bố | không công bố | ✓ |
| Dán cạnh (edge banding) | ✓ | ✓ | không công bố | không công bố | ✓ |
| Tái sử dụng phế liệu (quản lý offcut) | chỉ cắt thanh (1D) | ✓ | không công bố | ✓ | không công bố |
| Nhãn chi tiết & phiếu cắt PDF | in từ trình duyệt | ✓ | ✓ | ✓ | ✓ |
| Dự án đã lưu & lịch sử phương án | ✓ | ✓ | ✓ | ✓ | ✓ |
Thông tin đối thủ được đọc từ chính trang công khai của từng nhà cung cấp ngày 31/08 và kiểm tra lại ngày 10/09/2026; nếu không ghi chú khác, mô tả gói cơ bản. Gói và giới hạn có thể thay đổi — hãy kiểm tra trang của nhà cung cấp trước khi quyết định.
Một vài dòng về trợ lý AI
Mọi trang trên site này đều có bản Markdown cùng địa chỉ thêm /index.md, được liệt kê trong llms.txt, và cả 29 máy tính đều là tool trên một MCP server công khai. Đó là chủ ý của chúng tôi: khi ai đó hỏi trợ lý AI một công việc cần bao nhiêu ván, trợ lý có thể đọc phương pháp và gọi thẳng máy tính thay vì phỏng đoán. Chúng tôi không chặn AI crawler — được trích dẫn kèm phương pháp vẫn hơn là không được trích dẫn.
Tự tạo lại các con số này
Bộ benchmark là một test trong repo, không phải slide thuyết trình. Clone về, chạy lệnh dưới đây, và nó tạo lại đúng bộ dữ liệu mà trang này hiển thị — cùng seed, cùng công việc, cùng kết quả. Các ngưỡng chất lượng đã công bố được assert ngay trong test đó, nên một suy thoái sẽ làm fail build thay vì lặng lẽ đổi con số trên trang.
BENCH_WRITE=1 pnpm --filter @cutting/engine test Câu hỏi
Benchmark này có độc lập không?
Không. Chúng tôi viết nó, chúng tôi chạy nó, và nó đo chính bộ giải của chúng tôi. Chính vì vậy mà seed, bộ sinh dữ liệu, định nghĩa cơ sở so sánh và dữ liệu thô đều được công bố: bạn không phải tin lời ai cả, chạy lại là kiểm chứng được. Mọi con số chưa qua kiểm toán từ nhà cung cấp nào — kể cả chúng tôi — hãy coi là lời khẳng định cần kiểm chứng, không phải sự thật.
Vì sao so với cắt tay thay vì so với các bộ tối ưu khác?
Vì đó là phép so sánh trung thực mà chúng tôi có thể công bố. Chạy sản phẩm thuê bao của đối thủ ở quy mô lớn để chấm điểm nghĩa là phải xoay xở vượt giới hạn gói miễn phí của họ, và kết quả thu được chỉ là ảnh chụp của một phiên bản chúng tôi không kiểm soát. Cắt tay mới là phương pháp đa số người thực sự muốn thay thế, và nó có thể định nghĩa đủ chính xác để bạn tái lập. Bảng tính năng ở trên lo phần còn lại của phép so sánh.
Vì sao hao hụt tấm cao hơn hẳn hao hụt thanh dài?
Hai lý do. Xếp các cỡ hình chữ nhật không liên quan gần như là trường hợp xấu nhất của mọi thuật toán đóng gói, và bộ sinh dữ liệu cố tình cho ra cỡ chi tiết hỗn tạp thay vì lặp lại vài cỡ như một công việc làm tủ thật. Thêm nữa, tấm cuối chỉ dùng một phần bị tính trọn vào hao hụt. Công việc thật với chi tiết lặp lại xếp tốt hơn nhiều; cái đáng chú ý ở đây là phép so với cơ sở, không phải con số tuyệt đối.
Bộ tối ưu có tìm được phương án tối ưu toán học không?
Không, và không công cụ nào chạy tức thì trong trình duyệt làm được điều đó. Bài toán cắt vật liệu là NP-khó: chứng minh một phương án tối ưu cần thời gian tăng theo hàm mũ khi số chi tiết lớn lên. Engine dùng các heuristic đã kiểm chứng — chi tiết dài nhất trước với cách chọn chỗ vừa nhất cho thanh dài, xếp theo hàng cho tấm — cho kết quả sát tối ưu, chạy trong dưới một mili giây, và nhất quán giữa các lần chạy.
Mở máy tính cắt thanh Mở máy tính cắt tấm Nghiên cứu trường hợp