Cắt thép tối ưu (Cutting Optimizer)
Giải bài toán cắt thanh thép — cho danh sách thanh cần cắt + chiều dài cây thép gốc, output là kế hoạch cắt tối ưu (ít phế liệu nhất).
Ứng dụng: dự toán cốt thép cho công trình, tính phế liệu cắt tôn, ván ép, ống nhựa, gỗ thanh, v.v.
Mở dialog
DVD Cons → nhóm Cắt thép → click Cắt tối ưu.
Quy trình
Bước 1 — Mở template
DVD Cons → nhóm Cắt thép → Mẫu Cắt thép (mở file RebarCutOptimizer.xlsx).
Template có sẵn:
- Sheet Input — bảng các thanh cần cắt + cấu hình cây thép.
- Sheet Output — kết quả cắt sau khi chạy.
- Sheet Summary — tổng kết phế liệu, hiệu suất.
Bước 2 — Nhập bảng Input
Bảng 1: Danh sách thanh cần cắt
| Mã CT | Chiều dài (m) | Số lượng | Nhóm |
|---|---|---|---|
| D16-A | 3.2 | 50 | A |
| D16-B | 2.8 | 30 | A |
| D16-C | 1.5 | 100 | A |
| D20-A | 4.5 | 20 | B |
| ... | ... | ... | ... |
- Mã CT: tên đoạn thanh (vd: dầm trục 1, cột tầng 2).
- Chiều dài: chiều dài thanh cần (m hoặc mm — đồng nhất).
- Số lượng: số thanh cùng kích thước.
- Nhóm: cùng nhóm = cùng đường kính / cùng cây thép gốc.
Bảng 2: Cấu hình cây thép gốc
| Nhóm | Chiều dài cây (m) | Tổn hao mối cắt (mm) | Tổn hao đầu cây (mm) |
|---|---|---|---|
| A | 11.7 | 3 | 0 |
| B | 11.7 | 3 | 0 |
- Chiều dài cây: thường 11.7m cho thép cuộn VN.
- Tổn hao mối cắt: thường 1-3mm (lưỡi cưa).
- Tổn hao đầu cây: nếu phải cắt bỏ 2 đầu cây (rỉ sét, vẹo).
Bước 3 — Chạy lệnh Cắt tối ưu
DVD Cons → Cắt tối ưu → dialog mở:
- Phạm vi Input bảng thanh — chọn vùng bảng 1.
- Phạm vi Input cấu hình cây — chọn vùng bảng 2.
- Sheet Output — sheet để ghi kết quả.
- Thuật toán:
- First-Fit Decreasing (mặc định, nhanh) — sort thanh giảm dần, cắt vào cây đầu tiên đủ chỗ.
- Best-Fit Decreasing — chọn cây có lượng dư thừa ít nhất.
- Genetic Algorithm (chậm, optimal hơn) — chạy 1000 generations.
- Mục tiêu: tối thiểu phế liệu / tối thiểu số cây gốc.
- Phế liệu tái sử dụng tối thiểu (mặc định 1m) — đoạn dư ≥ giá trị này sẽ giữ lại cho lần cắt sau (lưu vào kho ảo).
Click Tính toán.
Bước 4 — Đọc kết quả
Sheet Output hiện bảng:
| Số cây | Cắt thanh 1 | Cắt thanh 2 | Cắt thanh 3 | Phế liệu (m) |
|---|---|---|---|---|
| Cây 1 | D16-A (3.2) | D16-A (3.2) | D16-B (2.8) | 2.5 |
| Cây 2 | D16-A (3.2) | D16-B (2.8) | D16-C (1.5) × 3 | 0.7 |
| ... | ... | ... | ... | ... |
Sheet Summary:
- Tổng số cây gốc cần.
- Tổng phế liệu (m).
- Hiệu suất (%) = (tổng dài cắt) / (tổng dài cây).
- Phế liệu phân bố theo độ dài (histogram cho biết có thể tái sử dụng bao nhiêu).
Tùy chọn nâng cao
Cùng cây hỗn hợp nhóm
Cho phép cắt thanh thuộc nhóm khác nhau vào cùng 1 cây (nếu cùng đường kính). Mặc định Tắt — đảm bảo không lẫn lộn dầm/cột/sàn.
Ưu tiên thanh dài trước
Mặc định Bật — sort thanh từ dài đến ngắn. Kết quả thường tốt hơn ngược lại.
Cây thép từ kho có sẵn
Nếu kho có sẵn phế liệu từ lần trước (vd: 50 đoạn 3.5m), thêm vào bảng:
| Mã kho | Chiều dài (m) | Số lượng |
|---|---|---|
| KHO-3.5m | 3.5 | 50 |
| KHO-2.8m | 2.8 | 12 |
Tick Dùng kho phế liệu trong dialog → giải thuật tự ưu tiên cắt từ kho trước, rồi mới đến cây mới.
Sample workflow điển hình
- Mở Mẫu Cắt thép.
- Paste danh sách thanh từ Project / Revit / BIM tool vào sheet Input.
- Set chiều dài cây = 11.7m, tổn hao = 3mm.
- Click Cắt tối ưu.
- In Sheet Output ra giao cho thợ ngoài công trường (mỗi cây = 1 phiếu cắt).
- Lưu Sheet Summary để báo cáo BLĐ dự án.
Khắc phục sự cố
"Không tìm thấy thanh nào để cắt"
- Bảng Input cột "Chiều dài" hoặc "Số lượng" trống/sai format.
- Chiều dài thanh > chiều dài cây → bài toán vô nghiệm (phải nối nhiều cây — chưa hỗ trợ).
Kết quả khác nhau giữa các lần chạy
- Thuật toán Genetic Algorithm có random — chạy lại có thể khác. Đó là normal.
- Với First-Fit / Best-Fit, kết quả deterministic.
Hiệu suất rất thấp (< 80%)
- Có thanh dài hơn 50% chiều dài cây → khó kết hợp với thanh khác.
- Thử Genetic Algorithm (chậm hơn nhưng tốt hơn 5-15%).
- Hoặc cho phép cắt hỗn hợp nhóm.
License gating
Lệnh Cắt thép tối ưu yêu cầu license active (Activated hoặc Trial). Mẫu file (mở template) free.
Liên quan
- Mẫu Cắt thép — open template.
- Gantt Chart — quản lý tiến độ cắt theo từng đợt.