Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Ulrike Schulze Geändert vor über 9 Jahren
1
IntelliVideo1 / 25 IntelliVideo Der intelligente Videorekorder
2
IntelliVideo2 / 25 Ausgangssituation (1) gegeben: Sendungen mit Start- und EndzeitSendungen mit Start- und Endzeit Gewichtung für die einzelnen SendungenGewichtung für die einzelnen Sendungen Videorekorder mit einer maximalenVideorekorder mit einer maximalen Kapazität (MAX)
3
IntelliVideo3 / 25 Ausgangssituation (2) gesucht: Optimale Sendungsfolge, so dass die höchstmögliche Gewichtung erzielt wird.
4
IntelliVideo4 / 25 Eine Sendung...ist ein Objekt mit folgenden Variablen: Startzeit (Integer-Wert)Startzeit (Integer-Wert) Endzeit (Integer-Wert)Endzeit (Integer-Wert) Gewichtung (Integer-Wert)Gewichtung (Integer-Wert) record-flag {0,1}record-flag {0,1} Name (String)Name (String) Länge (Endzeit – Startzeit)Länge (Endzeit – Startzeit)
5
IntelliVideo5 / 25 Vorgehensweise (1) Herausfinden, welche Sendungen gleichzeitig laufen. Ein Videorekorder kann nur eine Sendung gleichzeitig aufnehmen Finden aller sog. „Cliquen“.
6
IntelliVideo6 / 25 Definition einer Clique Clique alle Sendungen, deren Sendezeiten sich überlappen p1p1p1p1 p3p3p3p3 p4p4p4p4 p2p2p2p2 t Clique 1 Clique 2
7
IntelliVideo7 / 25 Finden aller Cliquen 1.Die Sendungen werden nach Startzeiten geordnet. 2.Die Sendungen werden durchlaufen, wobei zur Laufzeit dynamisch ein Heap verwaltet wird.
8
IntelliVideo8 / 25 Der Heap Vorteil: Im Heap ist minimales Element immer Wurzel Zugriff auf minEnd in O(1) Der Heap ist nach Endzeiten sortiert. Im Heap werden Zeiger auf die Sendungen gehalten.
9
IntelliVideo9 / 25 Verwaltung des Heaps (1) 1. Fall: Heap ist leer Sendung wird in jedem Fall auf den Heap gelegt
10
IntelliVideo10 / 25 Verwaltung des Heaps (2) 2.Fall: Heap ist nicht leer - die Startzeit der Sendung ist kleiner als minEnd Sendung kommt in Heap Wieder 2 Möglichkeiten: 1. Möglichkeit:
11
IntelliVideo11 / 25 Verwaltung des Heaps (3) - die Startzeit der Sendung ist größer oder gleich minEnd: Alle Sendungen, die im Heap sind, bilden eine Clique 2. Möglichkeit: alle Sendungen mit Endzeit < Startzeit der aktuellen Sendung raus aus Heap der aktuellen Sendung raus aus Heap
12
IntelliVideo12 / 25 Beispiel p1p1p1p1 p2p2p2p2 p3p3p3p3 p5p5p5p5 p4p4p4p4 minEnd = p 1.end p 2.start < minEnd p 1 in Heap p 2 in Heap p 3.start > minEnd Clique {p 1, p 2 } t p 1.end < p 3.start p 1 aus Heap p 4.start > minEnd usw. p 3.start < minEnd p 3 in Heap minEnd = p 2.end
13
IntelliVideo13 / 25 Vorgehensweise (2) Für CPLEX-Aufruf ist bestimmte Form notwendig. 4 Arrays: matbeg, matval, matind, matcnt
14
IntelliVideo14 / 25 Nebenbedingungen Es muß gelten:
15
IntelliVideo15 / 25 Sendungen Sendungen erhalten nach Sortierung einen Index Spaltennummer
16
IntelliVideo16 / 25 Cliquen Cliquen werden in Erstellungsreihenfolge indiziert Zeilennummer
17
IntelliVideo17 / 25 Parameter für CPLEX matval: immer Wert „1“. matind: Indizes der Cliquen, in denen eine Sendung drin ist. matcnt: Anzahl der Cliquen, in denen eine Sendung drin ist (+1). matbeg: errechnet sich aus matcnt
18
IntelliVideo18 / 25 Parameter für CPLEX (2) rhs:MAX11 obj: Gewichte der einzelnen Sendungen
19
IntelliVideo19 / 25 Vorgehensweise (3) CPLEX liefert nicht unbedingt ganzzahlige Lösung Problem: Videorekorder benötigt Information x i.record=1 oder x i.record =0
20
IntelliVideo20 / 25 Idee Rekursiver Algorithmus nach Branch & Bound-Prinzip. CPLEX-Ergebnis liefert obere Schranke der möglichen Lösungen.
21
IntelliVideo21 / 25 Branch & Bound P P‘ X i = 0 P‘‘ X j = 1 P‘‘ X j = 0 X i = 1 P‘ P‘‘ X j = 1 P‘‘ X j = 0
22
IntelliVideo22 / 25 Wahl von p i 2. Wähle das p i mit dem größten vom CPLEX ausgegebenen x i möglichst gut an den CPLEX anlehnen möglichst gut an den CPLEX anlehnen 2 Möglichkeiten: 1.Wähle p i mit größtem Gewicht Greedy-Algorithmus Greedy-Algorithmus
23
IntelliVideo23 / 25 Abbruchbedingungen (Teilbaum) 1.Alle x i wurden auf 0 oder 1 gesetzt ein Blatt wurde erreicht 2.Lösung ist kleiner als bisherige beste Lösung keine Verbesserung möglich
24
IntelliVideo24 / 25 Beispiel (zu 2.) P P‘ P‘ P‘‘ P‘‘ c T x=13 c T x=11 c T x=15
25
IntelliVideo25 / 25 Abbruchbedingungen 1.Die erreichten Kosten entsprechen denen, die CPLEX im ersten Schritt berechnet hat 2.Baum wurde vollständig durchlaufen
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.