\documentclass{bschlangaul-aufgabe} \bLadePakete{mathe,java} \begin{document} \bAufgabenMetadaten{ Titel = {Aufgabe 6}, Thematik = {Rucksackproblem}, Referenz = 66115-2018-H.T2-A6, RelativerPfad = Examen/66115/2018/09/Thema-2/Aufgabe-6.tex, ZitatSchluessel = examen:66115:2018:09, ZitatBeschreibung = {Seite 10}, BearbeitungsStand = mit Lösung, Korrektheit = unbekannt, Ueberprueft = {unbekannt}, Stichwoerter = {Backtracking}, EinzelpruefungsNr = 66115, Jahr = 2018, Monat = 09, ThemaNr = 2, AufgabeNr = 6, } Ein sehr bekanntes Optimierungsproblem ist das sogenannte Rucksackproblem: Gegeben ist ein Rucksack mit der Tragfähigkeit $B$. Weiterhin ist eine endliche Menge von Gegenständen mit Werten und Gewichten gegeben. Nun soll eine Teilmenge der Gegenstände so ausgewählt werden, dass ihr Gesamtwert maximal ist, aber ihr Gesamtgewicht die Tragfähigkeit des Rucksacks nicht überschreitet. \index{Backtracking} \footcite[Seite 10]{examen:66115:2018:09} Mathematisch exakt kann das Rucksackproblem wie folgt formuliert werden: Gegeben ist eine endliche Menge von Objekten $U$. Durch eine Gewichtsfunktion $w \colon U \rightarrow \mathbb{R}^+$ wird den Objekten ein Gewicht und durch eine Nutzenfunktion $v \colon U \rightarrow \mathbb{R}^+$ ein festgelegter Nutzwert zugeordnet. Des Weiteren gibt es eine vorgegebene Gewichtsschranke $B \in \mathbb{R}^+$. Gesucht ist eine Teilmenge $K \subseteq U$, die die Bedingung $\sum_{u \in K} w(u) \leq B$ einhält und die Zielfunktion $\sum_{u \in K} v(u)$ maximiert. Das Rucksackproblem ist NP-vollständig (Problemgröße ist die Anzahl der Objekte), sodass es an dieser Stelle wenig Sinn macht, über eine effiziente Lösung nachzudenken. Lösen Sie das Rucksackproblem daher mittels Backtracking und formulieren Sie einen entsprechenden Algorithmus. Gehen Sie davon aus, dass die Gewichtsschranke $B$ sowie die Anzahl an Objekten $N$ beliebig, aber fest vorgegeben sind. \bigskip \noindent Das Programm soll folgende Ausgaben liefern: \begin{enumerate} \item Maximaler Nutzwert, der durch eine Objektauswahl unter Einhaltung der Gewichtsschranke $B$ erreicht werden kann. \item Das durch die maximierende Objektmenge erreichte Gesamtgewicht. \item Diejenigen Objekte (Objektnummern) aus $U$, die zur Maximierung des Nutzwerts beigetragen haben. \end{enumerate} \begin{bAntwort} \bJavaExamen{66115}{2018}{09}{Rucksack} \end{bAntwort} \end{document}