Bài này dùng solver giải quyết được, có cần thiết phải dùng vba?Chào cả nhà,
Tôi có 1 bài toán cần ghép căn mẫu sao cho: Tổng kích thước các căn mẫu = kích thước mong muốn, Yêu cầu là các căn mẫu đó lấy từ danh sách các căn mẫu đã được nhập vào file
Rất mong mọi người hướng dẫn
Xin cảm ơn nhiều
1.Có một bài toán kinh điển (xếp ba lô) như sau: "Một kẻ trộm đột nhập vào một cửa hiệu tìm thấy có n mặt hàng có trọng lượng và giá trị khác nhau, nhưng hắn chỉ mang theo một cái túi có sức chứa về trọng lượng tối đa là M. Vậy kẻ trộm nên bỏ vào ba lô những món nào và số lượng bao nhiêu để đạt giá trị cao nhất trong khả năng mà hắn có thể mang đi được. "Mọi người có cao kiến gì với bài này không ah?
Option Explicit
Public Arr, n&, m&, Arrresult, dbltong#
'To hop chap m cua n phan tu
Sub Main()
Arr = Range("A2:A27")
dbltong = 23 ' tong so can tim
n = UBound(Arr, 1) ' so phan tu
For m = 1 To 4
ReDim Arrresult(1 To m)
try (1)
Next
MsgBox "khong co ket qua thoa man"
End Sub
'-----------------------------------------------------------------------
Sub try(i)
Dim j&
For j = i + 1 - 1 To n - m + 1
If Arr(j, 1) < dbltong Then
Arrresult(i) = Arr(j, 1)
If i = m Then
Check (Arrresult)
Else
try (i + 1)
End If
End If
Next
End Sub
'----------------------------------------------------------------------
Sub Check(sArr)
Dim i&, dT#, s
For i = LBound(sArr) To UBound(sArr)
dT = dT + sArr(i): s = s & "+" & sArr(i)
If dT = dbltong Then
MsgBox s: End
End If
Next
End Sub