Package de.hsrm.ads
Class RucksackGreedy
java.lang.Object
de.hsrm.ads.RucksackGreedy
Loesung des Rucksack Problems mit Greedy
- Version:
- 1.0 Creates a new RucksackGreedy object.
- Author:
- Luca Krawczyk, Paul Knoll
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic int
Globaler Counter zur Ueberpruefung der Loesungenstatic int[]
Globele Variable mit dem Array der aktuellen Loesung (0 = nicht ausgewaehlt, 1 = ausgewaehlt)static int
Globele Variable mit dem Wert der aktuellen Loesung -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription(package private) static int
gesamtGewicht
(int[] gewicht, int[] werte, int[] res, int maxGewicht) Berechnet das Gesamtgewicht der aktuellen Loesung.(package private) static int
gesamtWert
(int[] gewicht, int[] werte, int[] res, int maxGewicht) Berechnet das Gesamtwert der aktuellen Loesung.static void
Hauptmethode zum Starten des Backtracking Algorithmus.(package private) static int
rucksack
(int[] ausgewaehlt, int[] gewichte, int[] werte, int restKapa, int objIndex) Loest das Problem mit Greedy.static void
run
(int[] gewichte, int[] werte, int[] ausgewaehlt) Hauptmethode zum Starten des Backtracking Algorithmus.
-
Field Details
-
guteLoesungWER
public static int guteLoesungWERGlobele Variable mit dem Wert der aktuellen Loesung -
guteLoesung
public static int[] guteLoesungGlobele Variable mit dem Array der aktuellen Loesung (0 = nicht ausgewaehlt, 1 = ausgewaehlt) -
counter
public static int counterGlobaler Counter zur Ueberpruefung der Loesungen
-
-
Constructor Details
-
RucksackGreedy
public RucksackGreedy()
-
-
Method Details
-
gesamtGewicht
static int gesamtGewicht(int[] gewicht, int[] werte, int[] res, int maxGewicht) Berechnet das Gesamtgewicht der aktuellen Loesung. Ist das Ergebnis groeßer als maxGewicht, wird -1 zurückgegeben.- Parameters:
gewicht
- Liste der Gewichtewerte
- Liste der Werte der Gewichteres
- Liste der aktuellen Loesung (auswahl von Gewichten)maxGewicht
- Maximaler Gewichtsgrenzwert- Returns:
- Gesamtgewicht der aktuellen Loesung oder -1, wenn das Gesamtgewicht groeßer als maxGewicht ist
-
gesamtWert
static int gesamtWert(int[] gewicht, int[] werte, int[] res, int maxGewicht) Berechnet das Gesamtwert der aktuellen Loesung. Ist das Gewicht der aktuellen Loesung zu groß wird -1 zurückgegeben.- Parameters:
werte
- Liste der Werteres
- Liste der aktuellen Loesung (auswahl von Gewichten)maxGewicht
- Maximaler Wertsgrenzwertgewicht
- Liste der Gewichte- Returns:
- Gesamtwert der aktuellen Loesung oder -1, wenn das Gesamtgewicht groeßer als maxGewicht ist
-
rucksack
static int rucksack(int[] ausgewaehlt, int[] gewichte, int[] werte, int restKapa, int objIndex) Loest das Problem mit Greedy.- Parameters:
ausgewaehlt
- Liste der aktuellen Loesung (auswahl von Gewichten)gewichte
- Liste der Gewichtewerte
- Liste der Werte der GewichterestKapa
- RestkapazitaetobjIndex
- Index des Objekts, das gerade bearbeitet wird- Returns:
- Wert der besten Loesung
-
run
public static void run(int[] gewichte, int[] werte, int[] ausgewaehlt) Hauptmethode zum Starten des Backtracking Algorithmus.- Parameters:
gewichte
- Liste der Gewichtewerte
- Liste der Werte der Gewichteausgewaehlt
- Liste der aktuellen Loesung (auswahl von Gewichten)
-
main
Hauptmethode zum Starten des Backtracking Algorithmus.- Parameters:
args
- keine Argumente
-