Finding all possible combinations of objects

I have 4 different obejcts with different weights each. I know the individual weights of the objects, the empty weight of the box and the total weight. Yet I do not know the number of objects. How can I find all the possible combinations of objects inside?
For example
Object1: 3 grams, Object2: 5 grams, Object3: 2 grams, Object4: 7 grams,
Empty weight of the box: 600 grams
What function may I use to find all the possible combination of objects within the box given the total weight is 850 grams?

답변 (3개)

Steven Lord
Steven Lord 2022년 2월 27일

0 개 추천

Implement one or more of the algorithms given on the Wikipedia page abour the knapsack problem.
Matt J
Matt J 2022년 2월 27일
편집: Matt J 2022년 2월 27일
You can use the attached file,
w=850-600;
A=[3,5,2,7];
Nmax=ceil(w/min(A));
combinations=diophantine(A,w,0:Nmax)
combinations = 11174×4
77 2 1 1 72 5 1 1 67 8 1 1 62 11 1 1 57 14 1 1 52 17 1 1 47 20 1 1 42 23 1 1 37 26 1 1 32 29 1 1

댓글 수: 2

combinations=diophantine(A,w,0:Nmax)
instead of
combinations=diophantine(A,w,1:Nmax)
Matt J
Matt J 2022년 2월 27일
Right!

댓글을 달려면 로그인하십시오.

Torsten
Torsten 2022년 2월 27일

0 개 추천

Brute force:
n1 = 83;
n2 = 50;
n3 = 125;
n4 = 35;
nsol = 0;
for i = 0:n1
for j = 0:n2
for k = 0:n3
for l = 0:n4
if 3*i + 5*j + 2*k + 7*l == 250
nsol = nsol+1;
sol(nsol,1) = i;
sol(nsol,2) = j;
sol(nsol,3) = k;
sol(nsol,4) = l;
end
end
end
end
end

질문:

2022년 2월 27일

편집:

2022년 5월 7일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by