Szukanie optymalnego rozwiązania

0

Witam.
Mam takie zadanie: Dane N przedmiotów, których objętości v1, v2... vn. Ile najmniej trzeba pudel o objętości V, aby zmieścić wszystkie przedmioty?
Przykładowe dane:

80 8
12 31.7 10.78 52 9 66.1 14 32 

V=80; N=8; v1=12, v2=31,7 ... vn=32;

Mam napisać algorytm, który obliczy ile najmniej potrzebujemy pudeł, aby zmieścić wszystkie przedmioty. Algorytm musi sprawdzić wszystkie możliwe kombinacje i wybrać optymalny.
Moje rozwiązanie: zacząć od najmniejszej ilości pudeł (tzn 1 :) ). Jeśli w jedno pudło nie można zmieścić wszystkie przedmioty - dodać jedno pudło i sprawdzić czy w dwa pudła można zmieścić ... itd (do N pudeł). Problem w tym, że nie wiem jak opisać taką pętlę, już przy 2 pudłach i przy 8 przedmiotach (jak w przykładzie) trzeba sprawdzić dużą ilość możliwości (nawet nie chce mi się liczyć ile :) ).

Oczywiście nie proszę napisać całego algorytmu, ale może dalibyście jakieś wskazówki czy przykładowe programy z podobnym rozwiązaniem (sprawdzanie wszystkich możliwości) :)

P.S. Planuję pisać w C, ale jeśli macie przykłady w innych językach, to też się przyda.

2

Google: problem plecakowy dyskretny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1