Giúp đỡ giải bài toán VBA (1 người xem)

Người dùng đang xem chủ đề này

sukoharin

Thành viên mới
Tham gia
23/1/13
Bài viết
26
Được thích
0
Xin chào các bác.
Các bác giúp em giải bài tập sau mà em nghĩ 3 4 ngày rồi không ra.
Bài toán kiểu điền số vào 1 bảng thỏa mãn điều kiện tổng dòng = 1 giá trị cho trước và tổng của cột nhân với 1 số a cho trước phải nằm trong khoảng xác định.
Em cảm ơn các bác nhiều.
 

File đính kèm

đọc đề mà mãi k hiểu ý của bạn là thế nào. bạn nói rõ hơn đi. và thử ví dụ xem như thế nào
Bài đã được tự động gộp:

đọc đề mà mãi k hiểu ý của bạn là thế nào. bạn nói rõ hơn đi. và thử ví dụ xem như thế nào
sdt zalo 0968184838
 
Xin chào các bác.
Các bác giúp em giải bài tập sau mà em nghĩ 3 4 ngày rồi không ra.
Bài toán kiểu điền số vào 1 bảng thỏa mãn điều kiện tổng dòng = 1 giá trị cho trước và tổng của cột nhân với 1 số a cho trước phải nằm trong khoảng xác định.
Em cảm ơn các bác nhiều.
Đáp án Vô nghiệm
 
đọc đề mà mãi k hiểu ý của bạn là thế nào. bạn nói rõ hơn đi. và thử ví dụ xem như thế nào
Bài đã được tự động gộp:


sdt zalo 0968184838
Bác hiểu bài này đơn giản như sau:
điền số vào bảng 6x9 từ ô D6:I9 thỏa mãn cả 2 điều kiện là
Điều kiện 1 là:
Sum(D2:I2) = ô K2 (Công thức đặt ở ô J2 nên cơ bản là J2 = K2)
tương tự với các dòng còn lại là Sum(D3:I3)= ô K3.... Sum(D10:I10)= ô K10
Điều kiện 2 là:
tổng (C2*D2)+(C3*D3)+...+(C10*D10) = ô D12 (Công thức đặt ở D11 nên D11= D12 là được)
tương tự với các các cột còn lại (C2*E2)+(C3*E3)+...+(C10*E10) = ô E12
....
(C2*I2)+(C3*I3)+...+(C10*I10) = ô I12
Bài đã được tự động gộp:

Bác viết hộ code VBA không? File excel kia chỉ là một mẫu để thử thôi. Sẽ có nhiều mẫu khác để thử. Nên cần VBA cho trường hợp tổng quát.
Bài đã được tự động gộp:

đọc đề mà mãi k hiểu ý của bạn là thế nào. bạn nói rõ hơn đi. và thử ví dụ xem như thế nào
Bài đã được tự động gộp:


sdt zalo 0968184838
Gửi bác 1 ví dụ điền thỏa mãn điều kiện đề bài
 

File đính kèm

Lần chỉnh sửa cuối:
Bác hiểu bài này đơn giản như sau:
điền số vào bảng 6x9 từ ô D6:I9 thỏa mãn cả 2 điều kiện là
Điều kiện 1 là:
Sum(D2:I2) = ô K2 (Công thức đặt ở ô J2 nên cơ bản là J2 = K2)
tương tự với các dòng còn lại là Sum(D3:I3)= ô K3.... Sum(D10:I10)= ô K10
Điều kiện 2 là:
tổng (C2*D2)+(C3*D3)+...+(C10*D10) = ô D12 (Công thức đặt ở D11 nên D11= D12 là được)
tương tự với các các cột còn lại (C2*E2)+(C3*E3)+...+(C10*E10) = ô E12
....
(C2*I2)+(C3*I3)+...+(C10*I10) = ô I12
Bài đã được tự động gộp:


Bác viết hộ code VBA không? File excel kia chỉ là một mẫu để thử thôi. Sẽ có nhiều mẫu khác để thử. Nên cần VBA cho trường hợp tổng quát.
Bài đã được tự động gộp:


Gửi bác 1 ví dụ điền thỏa mãn điều kiện đề bài
Góp thử 1 kết quả ví dụ.
Các mục: Tổng hộp trên bàn; Tiêu chuẩn; Độ lệch có giới hạn gì không bạn
BànQuy_cach(kg/ hộp)123456Tổng số hộp theo bànTổng hộp trên bàn
123
24​
0​
0​
0​
0​
14​
38​
38​
222
37​
0​
0​
0​
0​
3​
40​
40​
330
0​
0​
0​
0​
24​
32​
56​
56​
424
0​
32​
0​
1​
0​
8​
41​
41​
527
0​
17​
36​
3​
0​
1​
57​
57​
625
3​
0​
0​
0​
57​
6​
66​
66​
726
0​
0​
37​
22​
0​
0​
59​
59​
821
9​
12​
32​
0​
1​
0​
54​
54​
929
14​
0​
0​
10​
3​
12​
39​
39​
Tổng cân nặng
2036​
1479​
2606​
967​
2253​
2065​
11406​
Tiêu chuẩn
2069​
1515​
2572​
960​
2244​
2046​
Độ lệchTrên/dưới 50 kgTrên/dưới 36 kgTrên/dưới 39 kgTrên/dưới 20 kgTrên/dưới 10 kgTrên/dưới 20 kg
 
Góp thử 1 kết quả ví dụ.
Các mục: Tổng hộp trên bàn; Tiêu chuẩn; Độ lệch có giới hạn gì không bạn
BànQuy_cach(kg/ hộp)123456Tổng số hộp theo bànTổng hộp trên bàn
123
24​
0​
0​
0​
0​
14​
38​
38​
222
37​
0​
0​
0​
0​
3​
40​
40​
330
0​
0​
0​
0​
24​
32​
56​
56​
424
0​
32​
0​
1​
0​
8​
41​
41​
527
0​
17​
36​
3​
0​
1​
57​
57​
625
3​
0​
0​
0​
57​
6​
66​
66​
726
0​
0​
37​
22​
0​
0​
59​
59​
821
9​
12​
32​
0​
1​
0​
54​
54​
929
14​
0​
0​
10​
3​
12​
39​
39​
Tổng cân nặng
2036​
1479​
2606​
967​
2253​
2065​
11406​
Tiêu chuẩn
2069​
1515​
2572​
960​
2244​
2046​
Độ lệchTrên/dưới 50 kgTrên/dưới 36 kgTrên/dưới 39 kgTrên/dưới 20 kgTrên/dưới 10 kgTrên/dưới 20 kg

Tổng hộp trên bàn phải khớp với ô với tổng của các số cùng dòng từ 1 đến 6
còn tổng cân nặng thì phải nằm trong giới hạn tiêu chuẩn + trừ độ lệch [ví dụ chẳng hạn cột 1: 2036 nằm trong khoảng (2069 - 50 ; 2069 + 50) là thỏa mãn)
Bài đã được tự động gộp:

Đây kiểu như dạng giải toán bằng VBA , thực sự mình vẫn chưa nghĩ ra được cách giải, có bác nào giỏi toán giúp hộ phát
 
Tổng hộp trên bàn phải khớp với ô với tổng của các số cùng dòng từ 1 đến 6
còn tổng cân nặng thì phải nằm trong giới hạn tiêu chuẩn + trừ độ lệch [ví dụ chẳng hạn cột 1: 2036 nằm trong khoảng (2069 - 50 ; 2069 + 50) là thỏa mãn)
Bài đã được tự động gộp:

Đây kiểu như dạng giải toán bằng VBA , thực sự mình vẫn chưa nghĩ ra được cách giải, có bác nào giỏi toán giúp hộ phát
Tất nhiên là phải khớp rồi bạn.
Hỏi về giới hạn tức là các số trong "Tổng hộp trên bàn; Tiêu chuẩn;" có nằm trong phạm vi nào không hay là bất kỳ
 
Tất nhiên là phải khớp rồi bạn.
Hỏi về giới hạn tức là các số trong "Tổng hộp trên bàn; Tiêu chuẩn;" có nằm trong phạm vi nào không hay là bất kỳ
Tiêu chuẩn và độ lệnh là số cho trước ở mỗi ví dụ. VBA chạy ra được bộ số thỏa mãn điều kiện
 
Tiêu chuẩn và độ lệnh là số cho trước ở mỗi ví dụ. VBA chạy ra được bộ số thỏa mãn điều kiện
Giải thích lòng vòng khó hiểu
Tất nhiên là phải khớp rồi bạn.
Hỏi về giới hạn tức là các số trong "Tổng hộp trên bàn; Tiêu chuẩn;" có nằm trong phạm vi nào không hay là bất kỳ
Tiêu chuẩn là các ô màu xanh, bạn viết code nha :)
 

File đính kèm

Giải thích lòng vòng khó hiểu

Tiêu chuẩn là các ô màu xanh, bạn viết code nha :)
Bác ơi, Bác thêm cái dòng true false kia chỉ để cụ thể hóa đề bài thôi. Vấn đề mình gặp ở đây là chưa viết được code. Mong bác hỗ trợ phần code.
Bài đã được tự động gộp:

Có lẽ chờ thớt đưa công thức lên xem ý thớt sao đã bác, để code sau.
Code cái này dễ òm à :)
Help me code, Mình nghĩ ko dễ như bạn nghỉ đâu.
 
Chạy cả ngày không ra nếu bác định làm như mình là cho chạy các ô lần lược đến giá trị max
Vấn đề là kết quả bạn muốn lấy có ưu tiên điều kiện nào khác nữa hay không?
Vì có lẽ số lượng toàn bộ kết quả là khá lớn nên không chắc đã lấy hết được để mà chọn.
 
Vấn đề là kết quả bạn muốn lấy có ưu tiên điều kiện nào khác nữa hay không?
Vì có lẽ số lượng toàn bộ kết quả là khá lớn nên không chắc đã lấy hết được để mà chọn.
ko có thêm điều kiện gì đâu. bác chỉ cần chạy dc ra 1 đáp án là ok
 
Bài này nên dùng Solver của Excel , không cần VBA
Chủ Topic hãy đọc và làm theo solver
 

File đính kèm

Nếu dùng solver thì bạn có thể xem clip đính kèm

@ppc0312 Đọc bài 4, thấy thớt cần như dưới này bạn.
Cảm ơn bác, có bài toán mở rộng là có 30 dòng thay vì 9 dòng thì dùng Solver bị báo "Too many Variable Cells". Nên cách này vẫn chưa dùng được trường hợp tổng quán bác ạ.
 
Có làm thử chưa? kết quả thế nào?
Có rồi bác, kết quả chuẩn theo yêu cầu, có thể phải tùy xác định hàm mục tiêu kết quả sẽ khác nhau

@ppc0312 Đọc bài 4, thấy thớt cần như dưới này bạn.
Bác viết hộ code VBA không? File excel kia chỉ là một mẫu để thử thôi. Sẽ có nhiều mẫu khác để thử. Nên cần VBA cho trường hợp tổng quát.
Solver thì thay đổi dễ dàng cho các mẫu khác nhau
 
@sukoharin
Test thử 100 kết quả trong file đính kèm, số liệu theo file bài 4
Bác hiểu sai ý em rồi. Với bài toàn 9 dòng 7 cột như này là đã giải được rồi nhưng với trường hợp nhiều cột và dòng hơn thì Solver nó báo "Too many Variable Cells" bác ạ. Bác có thể nhìn file này khi bài toán được mở rộng nhiều dòng hơn.
 

File đính kèm

Bác hiểu sai ý em rồi. Với bài toàn 9 dòng 7 cột như này là đã giải được rồi nhưng với trường hợp nhiều cột và dòng hơn thì Solver nó báo "Too many Variable Cells" bác ạ. Bác có thể nhìn file này khi bài toán được mở rộng nhiều dòng hơn.
Tôi không dùng solver, bài trên bạn hỏi về solver thì trả lời vậy thôi.

Bài test 100 kết quả trên bị sai chỗ nào vậy bạn.
 
Bác hiểu sai ý em rồi. Với bài toàn 9 dòng 7 cột như này là đã giải được rồi nhưng với trường hợp nhiều cột và dòng hơn thì Solver nó báo "Too many Variable Cells" bác ạ. Bác có thể nhìn file này khi bài toán được mở rộng nhiều dòng hơn.
Với số liệu trong file bài 32, kết quả là không có trường hợp nào thỏa mãn yêu cầu đầu bài.
 
Tôi không dùng solver, bài trên bạn hỏi về solver thì trả lời vậy thôi.

Bài test 100 kết quả trên bị sai chỗ nào vậy bạn.
Bác dùng cách gì có thể hướng dẫn em phát. Solver chỉ dùng cho 200 biến đổ lại, File Bài 32 (mặc dù vô nghiệm như bác đã dùng cách của bác) nhưng số biến là 30x7= 210 ô (210 biến) nên Solver ko dùng dc
 
Bác dùng cách gì có thể hướng dẫn em phát. Solver chỉ dùng cho 200 biến đổ lại, File Bài 32 (mặc dù vô nghiệm như bác đã dùng cách của bác) nhưng số biến là 30x7= 210 ô (210 biến) nên Solver ko dùng dc
Ví dụ này ứng dụng thực tế vào đâu mà nhiều biến vậy?
Bạn nói cụ thể tổng thể về vấn đề, có khi có cách tối ưu khác thay vì phải mò và solver thế này... (lưu ý, không phải tò mò, mà cần biết rõ để chỉnh hướng đi hợp lý hơn)
 
Bác dùng cách gì có thể hướng dẫn em phát. Solver chỉ dùng cho 200 biến đổ lại, File Bài 32 (mặc dù vô nghiệm như bác đã dùng cách của bác) nhưng số biến là 30x7= 210 ô (210 biến) nên Solver ko dùng dc
Để lát rồi tìm giúp bạn, giờ nghỉ đã
 
Ví dụ này ứng dụng thực tế vào đâu mà nhiều biến vậy?
Bạn nói cụ thể tổng thể về vấn đề, có khi có cách tối ưu khác thay vì phải mò và solver thế này... (lưu ý, không phải tò mò, mà cần biết rõ để chỉnh hướng đi hợp lý hơn)
Mình thấy ứng dụng nhiều bạn ạ. VD như bố trí lao động phù hợp với mỗi công đoạn khi có giới hạn lđ và bộ phận. v. v
 
Mình thấy ứng dụng nhiều bạn ạ. VD như bố trí lao động phù hợp với mỗi công đoạn khi có giới hạn lđ và bộ phận. v. v
Nếu vẫn là ví dụ (hay giả định) thì đợi người khác có thời gian giúp vậy. Tiếc là tôi không có thời gian làm việc với các ví dụ hay giả định.
 
Mình thấy ứng dụng nhiều bạn ạ. VD như bố trí lao động phù hợp với mỗi công đoạn khi có giới hạn lđ và bộ phận. v. v
Nếu bạn thấy ứng dụng nhiều thì khả năng rất cao là đã có nhiều người làm rồi. Và bạn chỉ việc tìm thử xem.
 
Nếu vẫn là ví dụ (hay giả định) thì đợi người khác có thời gian giúp vậy. Tiếc là tôi không có thời gian làm việc với các ví dụ hay giả định.
Cảm ơn bác đã quan tâm.
Nếu bạn thấy ứng dụng nhiều thì khả năng rất cao là đã có nhiều người làm rồi. Và bạn chỉ việc tìm thử xem.
Mình thấy chưa tìm thấy ai nên mời lên trên này nhờ các bác giúp. Rất mong các bác giúp đỡ.
 
Bạn nói là thấy ứng dụng nhiều chứ bạn có thấy bài giải đâu.
Đối với tôi, cỡ bài vài trăm thông số người ta bán phần mềm chứ đâu có cho không. Làm sao mà hỏi được.
 
Gửi thớt test thử 3 kết quả 30 dòng.
Số liệu "tổng hộp trên bàn" là chế lại từ file gốc bài 32.

Có lẽ là phải có số liệu thực tế mới có thể chốt được code.
 

File đính kèm

Gửi thớt test thử 3 kết quả 30 dòng.
Số liệu "tổng hộp trên bàn" là chế lại từ file gốc bài 32.

Có lẽ là phải có số liệu thực tế mới có thể chốt được code.
Bác lấy ngẫu nhiên 1 bộ số để thử đều được mà. Thậm chí nếu bác đã có ý tưởng code thì bác cứ sửa luôn tiêu chuẩn, độ lệch và cột Tổng số hộp theo bàn tạo ra các trường hợp để thử code.
@sukoharin
Bạn gửi thêm vài mẫu số liệu để test code
 

Bài viết mới nhất

Back
Top Bottom