Tối ưu cách cắt thanh nhôm để bỏ đầu thừa ít nhất

Liên hệ QC

vitbau86

Thành viên chính thức
Tham gia
9/7/11
Bài viết
58
Được thích
5
Em có một bài toán như sau ( làm trên excel)
Biết một cây nhôm dài 6 mét, tính số cây nhôm cần thiết để cắt ra được các thanh nhôm có kích thước và số lượng như sau, yêu cầu mỗi đoạn nhôm thừa từ mỗi cây không được dài quá 20 phân.
Bảng:
Số thanh Kích thước(mm)
2 1200
2 750
6 650
3 2300
5 1400
1 2500
bác nào có thể viết một chương trình để có thể tính với bất kỳ bảng số liệu giúp em với!
 
Em có một bài toán như sau ( làm trên excel)
Biết một cây nhôm dài 6 mét, tính số cây nhôm cần thiết để cắt ra được các thanh nhôm có kích thước và số lượng như sau, yêu cầu mỗi đoạn nhôm thừa từ mỗi cây không được dài quá 20 phân.
Bảng:
Số thanh Kích thước(mm)
2 1200
2 750
6 650
3 2300
5 1400
1 2500
bác nào có thể viết một chương trình để có thể tính với bất kỳ bảng số liệu giúp em với!

Hôm qua hình như Bạn có đưa file lên một lần, do phạm quy nên bị xóa, đúng không?
Tuy nhiên mình đã kịp tải file và làm theo file đó cho bạn nhưng do bài của bạn bị xóa nên không trả lời được.
Để đạt yêu cầu của bạn rất phức tạp, dù muốn hay không cũng có thể có cây thừa trên 20cm. Muốn tối ưu nhất phải làm bằng thủ công thôi.
File này còn được áp dụng cho việc cắt thép, cắt ống nước trong việc thi công xây dựng.
(Đúng ra bài này phải nằm trong chuyên mục Excel và Kỹ thuật)
 

File đính kèm

  • CatNhom.xls
    47.5 KB · Đọc: 1,547
Lần chỉnh sửa cuối:
Hôm qua hình như Bạn có đưa file lên một lần, do phạm quy nên bị xóa, đúng không?
Tuy nhiên mình đã kịp tải file và làm theo file đó cho bạn nhưng do bài của bạn bị xóa nên không trả lời được.
Để đạt yêu cầu của bạn rất phức tạp, dù muốn hay không cũng có thể có cây thừa trên 20cm. Muốn tối ưu nhất phải làm bằng thủ công thôi.
File này còn được áp dụng cho việc cắt thép, cắt ống nước trong việc thi công xây dựng.
(Đúng ra bài này phải nằm trong chuyên mục Excel và Kỹ thuật)
bác có thể giải thích cặn kẽ các code của thuật toán này đc ko ^^
 
bác có thể giải thích cặn kẽ các code của thuật toán này đc ko ^^
Lười lắm, Nguyên do:
1. Dài
2. Gần hết thứ 7
3. Không biết đúng ý Bạn không?
Nói vậy chớ bạn thắc mắc câu nào thì hỏi câu đó, còn thuật toán thì mình giải thích cho bạn vào tuần sau.
Trong code có mấy câu lệnh mình ghi tự động, chưa rút gọn nên hơi dài.
Bạn cố gắng tìm hiểu trước!, mình (hoặc người khác) sẽ giải thích sau.
 
đúng là thuật toán mình cần rồi, nhưng bác có thể rút gọn thành 1 hàm không, vì sẽ có rất nhiều loại thanh nhôm khác nhau, em muốn đặt nó chung vào cùng một sheet và em chỉ cần tính ra tổng số cây thôi, phần thừa ko cần thiết phải tính
 
Lần chỉnh sửa cuối:
đúng là thuật toán mình cần rồi, nhưng bác có thể rút gọn thành 1 hàm không, vì sẽ có rất nhiều loại thanh nhôm khác nhau, em muốn đặt nó chung vào cùng một sheet và em chỉ cần tính ra tổng số cây thôi, phần thừa ko cần thiết phải tính
Bạn hãy đưa file ví dụ lên cho dễ hiểu
Mình sẽ tiếp tục hoàn thiện
Còn phải bổ sung nhiều, ví dụ khi cắt số lượng lớn thì phải dồn các cây cắt giống nhau lại.
Việc bạn giới hạn chiều dài thanh thừa là không thể, ví dụ có một loại là 0,8m cắt số lượng lớn, chẳng hạn 100 thanh, ta tận dụng các đầu thừa cắt được 20 thanh, còn lại 80 thanh phải lấy cây mới ra cắt, mỗi cây 6m cắt được 7 thanh = 5,6m còn lại 0,4 m chẳng cắt được cái gì cả, vậy là dư hơn 10 thanh 0,4m cắt vụn ra chơi, hà hà.... Dù tính bằng thủ công cũng không thể nói chi đến máy.
 
Bạn hãy đưa file ví dụ lên cho dễ hiểu
Mình sẽ tiếp tục hoàn thiện
Còn phải bổ sung nhiều, ví dụ khi cắt số lượng lớn thì phải dồn các cây cắt giống nhau lại.
Việc bạn giới hạn chiều dài thanh thừa là không thể, ví dụ có một loại là 0,8m cắt số lượng lớn, chẳng hạn 100 thanh, ta tận dụng các đầu thừa cắt được 20 thanh, còn lại 80 thanh phải lấy cây mới ra cắt, mỗi cây 6m cắt được 7 thanh = 5,6m còn lại 0,4 m chẳng cắt được cái gì cả, vậy là dư hơn 10 thanh 0,4m cắt vụn ra chơi, hà hà.... Dù tính bằng thủ công cũng không thể nói chi đến máy.
híc, bác nói đúng, việc giới hạn chiều dài thanh thừa là không thể, chỉ có thể tối ưu hóa số cây cần dùng thôi. Ví dụ của e như sau: kích thước của các thanh cần phải cắt như bảng sau
 

File đính kèm

  • bang cat nhom.xls
    23.5 KB · Đọc: 629
bác thanhlanh kiểm tra hộ em xem tại sao với bảng sau, thì chỉ tính ra có 62 cây là sao nhỉ, ít nhất cũng phải 142 cây mà
 

File đính kèm

  • CatNhom.xls
    66 KB · Đọc: 246
bác thanhlanh kiểm tra hộ em xem tại sao với bảng sau, thì chỉ tính ra có 62 cây là sao nhỉ, ít nhất cũng phải 142 cây mà
Dữ liệu nhiều mới "lòi" khiếm khuyết ra, đã sửa lại.
Khi nào rãnh nâng cấp nữa (dồn cột lại), dạo này bận quá.
 

File đính kèm

  • CatNhom_sua.xls
    53 KB · Đọc: 966
Lần chỉnh sửa cuối:
Dữ liệu nhiều mới "lòi" khiếm khuyết ra, đã sửa lại.
Khi nào rãnh nâng cấp nữa (dồn cột lại), dạo này bận quá.
thanks bác , bác có thể thêm một đoạn code xử lý nếu cột số thanh và chiều dài có các ô trống thì cho giá trị các ô trống = 0 đc ko
^^
 
thanks bác , bác có thể thêm một đoạn code xử lý nếu cột số thanh và chiều dài có các ô trống thì cho giá trị các ô trống = 0 đc ko
^^
Nhiều luc không kiểm soát được dữ liệu vào, có phải là bạn muốn khi dữ liệu không liên tục thì vẫn chạy bình thường? Nếu đúng vậy thì để mình sửa lại và gởi cho bạn sau. Cái đó không khó mà dồn cột lại mới đau đầu đó.
 
đúng rồi bác à ^^ dồn cột lại tốn thời gian cực
 
em làm được rồi bác à ^^
 

File đính kèm

  • Cong thuc tinh so cay nhom chinh sua.xls
    52.5 KB · Đọc: 626
Bac Thanhlanh ơi, lại nhờ bác tý chút, bây giờ em muốn chuyển nó thành một hàm tự tạo thì làm thế nào vậy -0-/.
 
em làm được rồi bác à ^^
Chế biến lại tí xíu ch[s cần gì vòng lặp
Bac Thanhlanh ơi, lại nhờ bác tý chút, bây giờ em muốn chuyển nó thành một hàm tự tạo thì làm thế nào vậy -0-/.
Tí chút của bạn mình phải làm mấy ngày đêm, với bài này không thể lập hàm được, nhưng vẫn tìm được cách làm khác, bạn kiểm tra lại xem. Mình đang tìm giải pháp sao cho cắt nhôm tiết kiệm hơn nữa.
 

File đính kèm

  • Cat nhom1.xls
    53.5 KB · Đọc: 476
Lần chỉnh sửa cuối:
Bác ơi, nếu như rVung mình chọn mà có một cột không có giá trị gì hoặc tất cả các giá trị = 0 thì bị lỗi '1004' bác kiểm tra giúp em nhé
 
Em xử lý đc rồi hjhj
 
Lần chỉnh sửa cuối:
chả có gì đâu bác à,em thêm đoạn
" if TongKTcancat =0 then go to Tongcong
end if"
trước vòng lặp, thế là đc ^^
 
À bác ơi, bác xử lý giúp em chỗ này với: Khi bấm vào nút, hiện lên bảng để chọn vùng dữ liệu, bấm cancel thì nó bị lỗi.
 
Web KT
Back
Top Bottom