Konferencja Naukowa Studentów » 2004 » Informatyka - algorytmy i sieci
Strony: « 1 | 2 | 3 | 4 | 5 | »

Problem plecakowy - porównanie algorytmów rozwiązujących binarne zagadnienie plecakowe cd.

Poniedziałek, 30 marca

4. WYNIKI BADAŃ

Przykładowy eksperyment obejmował wpływ liczby przedmiotów na wypełnienie plecaka oraz na czas wykonania przydziału i miał służyć porównaniu efektywności obu algorytmów. Badania zostały przeprowadzone dla losowo generowanych wartości przedmiotów. Zysk oraz objętość były losowane z przedziału [1, 20), a pojemność plecaka została ustawiona na wartość maksymalną i wynosiła 100. Liczba przedmiotów była zwiększana w każdym kroku o 10.

Rezultaty zostały zebrane w Tabeli 1.


Tabela 1. Wyniki eksperymentu

Można zauważyć, że czas przydziału jest w przybliżeniu wprost proporcjonalny do ilości przedmiotów (rozmiaru problemu), przy czym zawsze jest on nieco (o 40-50%) dłuższy dla algorytmu opartego na programowaniu dynamicznym. Świadczy to o jego większej złożoności obliczeniowej.

Algorytm oparty na programowaniu dynamicznym, za wyjątkiem pomiaru pierwszego, uzyskuje zawsze 100% wypełnienie plecaka, natomiast wykorzystujący sortowanie – nieco mniejsze. Wynika to stąd, iż po posortowaniu przydzielamy przedmioty po kolei, nie troszcząc się o „fragmentację wewnętrzną”, czyli niewykorzystaną końcówkę pojemności plecaka. To właśnie ona powoduje, że wypełnienie nie osiąga 100%.

Ogólnie programowanie dynamiczne daje lepsze rozwiązania binarnego problemu plecakowego, szczególnie dla instancji o większych rozmiarach. Okupione jest to jednak nieco większym nakładem czasu wymaganym dla uzyskania wyniku.
Czytaj dalej

Artykuły z tej samej kategorii
1. Dynamic channel allocation in mobile cellulat networks
2. Allocation algorithms problems in mesh-connected systems
3. Simunet - komputerowa realizacja problemu routingua
4. Multimedialny system wspomagający badania symulacyjne na potrzeby zamkniętego zagadnienia transportowego

powrót »

Kategorie


projekt i wykonanie: smetek.biz