Package de.hsrm.ads

Class RucksackGreedy

java.lang.Object
de.hsrm.ads.RucksackGreedy

public class RucksackGreedy extends Object
Loesung des Rucksack Problems mit Greedy
Version:
1.0 Creates a new RucksackGreedy object.
Author:
Luca Krawczyk, Paul Knoll
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static int
    Globaler Counter zur Ueberpruefung der Loesungen
    static 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

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (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
    main(String[] args)
    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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • guteLoesungWER

      public static int guteLoesungWER
      Globele Variable mit dem Wert der aktuellen Loesung
    • guteLoesung

      public static int[] guteLoesung
      Globele Variable mit dem Array der aktuellen Loesung (0 = nicht ausgewaehlt, 1 = ausgewaehlt)
    • counter

      public static int counter
      Globaler 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 Gewichte
      werte - Liste der Werte der Gewichte
      res - 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 Werte
      res - Liste der aktuellen Loesung (auswahl von Gewichten)
      maxGewicht - Maximaler Wertsgrenzwert
      gewicht - 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 Gewichte
      werte - Liste der Werte der Gewichte
      restKapa - Restkapazitaet
      objIndex - 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 Gewichte
      werte - Liste der Werte der Gewichte
      ausgewaehlt - Liste der aktuellen Loesung (auswahl von Gewichten)
    • main

      public static void main(String[] args)
      Hauptmethode zum Starten des Backtracking Algorithmus.
      Parameters:
      args - keine Argumente