Giúp thuật toán cắt thép dùng trong xây dựng...

Liên hệ QC

thothongcong

Thành viên mới
Tham gia
9/10/09
Bài viết
9
Được thích
3
Bắt đầu từ đâu nhỉ...
Em làm việc trong ngành xây dựng.công việc của nhân viên văn phòng thường lặp đi lặp lại nhiều lần và em đã lợi dụng được VBA trong Excel để làm giúp công việc mềnh thuận lợi hơn tí

em đã viết được một số dự án cho công việc bản thân
bây giờ em đang tính viết thêm dự án VBA để cắt thép tối ưu

thuật toán thì có thể hình dung được nhưng viết trên VBA thì không biết bắt đầu từ đâu và như thía nào cả ( học VBA chưa đủ dùng mà +-+-+-+)

ví dụ:
em có 5 (hoặc nhìu hơn nheng) thép cây phi 12
với chiều dài là L1, L2, L3, L4, L5
và a, b, c, d, e là số lần cắt của thanh L1, L2, L3, L4, L5
( trong đó a1, a2......an là SỐ LẦN CẮT thanh L1
b1, b2......bn là SỐ LẦN CẮT thanh L2
.........................cho thanh còn lại )
chiều dài tối đa của thép là 11,7m

thuật toán ở đây là: mình sẽ tìm xem thử tổ hợp thép nào sau khi cắt có lượng thép dư là thấp nhất và trong khoảng cho phép
khi đó ta có như sau:
a(0,1,2,3....n) x L1 + b(0,1,2,3....n) x L2 + c(0,1,2,3....n) x L3 + d(0,1,2,3....n) x L4 + e(0,1,2,3....n) x L5 <=11,7m

bác nào đã và đang tìm hiểu về vấn đề này thì comment lại cho mọi người cùng tham khảo với nhé.

Thanks all!!!!
 
Bắt đầu từ đâu nhỉ...
Em làm việc trong ngành xây dựng.công việc của nhân viên văn phòng thường lặp đi lặp lại nhiều lần và em đã lợi dụng được VBA trong Excel để làm giúp công việc mềnh thuận lợi hơn tí

em đã viết được một số dự án cho công việc bản thân
bây giờ em đang tính viết thêm dự án VBA để cắt thép tối ưu

thuật toán thì có thể hình dung được nhưng viết trên VBA thì không biết bắt đầu từ đâu và như thía nào cả ( học VBA chưa đủ dùng mà +-+-+-+)

ví dụ:
em có 5 (hoặc nhìu hơn nheng) thép cây phi 12
với chiều dài là L1, L2, L3, L4, L5
và a, b, c, d, e là số lần cắt của thanh L1, L2, L3, L4, L5
( trong đó a1, a2......an là SỐ LẦN CẮT thanh L1
b1, b2......bn là SỐ LẦN CẮT thanh L2
.........................cho thanh còn lại )
chiều dài tối đa của thép là 11,7m

thuật toán ở đây là: mình sẽ tìm xem thử tổ hợp thép nào sau khi cắt có lượng thép dư là thấp nhất và trong khoảng cho phép
khi đó ta có như sau:
a(0,1,2,3....n) x L1 + b(0,1,2,3....n) x L2 + c(0,1,2,3....n) x L3 + d(0,1,2,3....n) x L4 + e(0,1,2,3....n) x L5 <=11,7m

bác nào đã và đang tìm hiểu về vấn đề này thì comment lại cho mọi người cùng tham khảo với nhé.

Thanks all!!!!
Bạn tham khảo bài này chắc có ích đó http://www.giaiphapexcel.com/forum/showthread.php?1040-Thu%E1%BA%ADt-to%C3%A1n-b%C3%A0i-to%C3%A1n-t%E1%BB%91i-%C6%B0u-v%E1%BB%81-x%C3%A2y-d%E1%BB%B1ng
 
Bạn hướng dẫn cho mình cách sử dụng file của bạn ở bài #9 link trên nhé!?
1. Xóa hết số liệu cũ (từ dòng 5 trở xuống) - Bạn có thể viết thêm code cho việc này
2. Nhập dữ liệu lại theo mẫu của ví dụ (vì file đó mình chưa xét đến lỗi nên bạn phải nhập cho đúng và không có dòng trống)
2. Bấm nút bạn sẽ thấy thanh thứ nhất cắt cho loại nào, thanh thứ hai loại nào ...
Khuyết điểm: chưa cộng dồn các thanh cắt giống nhau để tổng hợp, với lại nếu số lượng thanh thép > số cột của Ex --> sinh lỗi, khả năng xử lý còn chậm. Nếu có thời gian mình sẽ làm lại để khắc phục.
 
1. Xóa hết số liệu cũ (từ dòng 5 trở xuống) - Bạn có thể viết thêm code cho việc này
2. Nhập dữ liệu lại theo mẫu của ví dụ (vì file đó mình chưa xét đến lỗi nên bạn phải nhập cho đúng và không có dòng trống)
2. Bấm nút bạn sẽ thấy thanh thứ nhất cắt cho loại nào, thanh thứ hai loại nào ...
Khuyết điểm: chưa cộng dồn các thanh cắt giống nhau để tổng hợp, với lại nếu số lượng thanh thép > số cột của Ex --> sinh lỗi, khả năng xử lý còn chậm. Nếu có thời gian mình sẽ làm lại để khắc phục.
mình đang quan tâm đến bài toán cắt thép này nhưng nhìn code của bạn quá là rút gọn và khó hiểu, nhìn qua cách trình bày trong excel thì cũng hiểu đc chút chút nhưng cách giải thì quá là khó hiểu
 
Web KT
Back
Top Bottom