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
FieldsModifier and TypeFieldDescriptionstatic intGlobaler Counter zur Ueberpruefung der Loesungenstatic int[]Globele Variable mit dem Array der aktuellen Loesung (0 = nicht ausgewaehlt, 1 = ausgewaehlt)static intGlobele Variable mit dem Wert der aktuellen Loesung -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static intgesamtGewicht(int[] gewicht, int[] werte, int[] res, int maxGewicht) Berechnet das Gesamtgewicht der aktuellen Loesung.(package private) static intgesamtWert(int[] gewicht, int[] werte, int[] res, int maxGewicht) Berechnet das Gesamtwert der aktuellen Loesung.static voidHauptmethode zum Starten des Backtracking Algorithmus.(package private) static intrucksack(int[] ausgewaehlt, int[] gewichte, int[] werte, int restKapa, int objIndex) Loest das Problem mit Greedy.static voidrun(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
-