02. Vorlesung (15.04.2014)

Werbung
c
NASA
(earthasart.gsfc.nasa.gov/ganges.html)
Algorithmische Graphentheorie
Sommersemester 2014
2. Vorlesung
Flüsse
Prof. Dr. Alexander Wolff
Gewinnmaximierung
Sie sind Chef einer kleinen Firma, die zwei Produkte P1 und P2
herstellt. Produzieren Sie x1 Einheiten P1 und x2 Einheiten P2 ,
so beträgt Ihr Gewinn in e
G (x1 , x2 ) = 30x1 + 50x2
Ihre Produktion läuft auf drei Maschinen MA , MB und MC mit
folgenden Kapazitäten:
MA : 4x1 + 11x2 ≤ 880
MB :
x1 + x2 ≤ 150
MC :
x2 ≤ 60
Welche Wahl von (x1 , x2 ) maximiert Ihren Gewinn?
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
Lösung
x2
150
100
50
0
0
50
100
150
200
x1
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
Lösung
x2
150
100
50
0
0
50
100
150
200
x1
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
Lösung
x2
150
100
50
0
0
50
100
150
200
x1
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
Lösung
x2
150
100
50
0
0
50
100
150
200
x1
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lösung
x2
150
100
50
0
0
50
100
150
200
x1
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lösung
x2
150
100
50
0
0
50
100
150
200
x1
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lösung
x2
150
100
50
Menge
der zulässigen
Lösungen
0
0
50
100
150
200
x1
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lösung
x2
150
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
100
50
Menge
der zulässigen
Lösungen
0
0
50
100
150
200
x1
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lösung
x2
150
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
100
50
Menge
der zulässigen
Lösungen
0
0
50
100
150
200
x1
Lösung
x2
150
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
100
1.5 50
00
e
Menge
der zulässigen
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Lösung
x2
150
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
100
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
00
e
1.5 50
00
e
Menge
der zulässigen
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Lösung
x2
150
4.5
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
00
e
1.5 50
00
e
Menge
der zulässigen
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Lösung
x2
150
4.5
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
00
e
1.5 50
00
e
Menge
der zulässigen
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Lösung
x2
150
4.5
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
00
e
1.5 50
00
e
Menge
der zulässigen
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Lösung
x2
150
4.5
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
00
e
1.5 50
00
e
Menge
∂ MA ∩ ∂ MB =
der zulässigen
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Lösung
x2
150
4.5
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
110
Menge
∂ MA ∩ ∂ MB =
40
der zulässigen
Lösungen
00
e
1.5 50
00
e
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Lösung
x2
150
4.5
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
00
e
1.5 50
00
e
Menge
G (110, 40) =
der zulässigen
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Lösung
x2
150
4.5
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
00
e
1.5 50
00
e
Menge
G (110, 40) = 5.300
der zulässigen
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Lösung
x2
150
5.3
00
4.5 e
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
00
e
1.5 50
00
e
Menge
G (110, 40) = 5.300
der zulässigen
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Lösung
x2
150
5.3
00
4.5 e
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
00
e
1.5 50
00
e
Menge
G (110, 40) = 5.300
der zulässigen
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Lösung
x2
150
5.3
00
4.5 e
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
00
e
1.5 50
00
e
Menge
G (110, 40) = 5.300
der zulässigen
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Ax ≤ b
Lösung
x2
150
5.3
00
4.5 e
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
00
e
1.5 50
00
e
Menge
G (110, 40) = 5.300
der zulässigen
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Ax ≤ b
x ≥0
Lösung
x2
150
5.3
00
4.5 e
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Lineare Zielfunktion:
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
00
e
1.5 50
00
e
Menge
G (110, 40) = 5.300
der zulässigen
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Ax ≤ b
x ≥0
Lösung
x2
150
5.3
00
4.5 e
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Ax ≤ b
x ≥0
Lineare Zielfunktion: maximiere c T x
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
00
e
1.5 50
00
e
Menge
G (110, 40) = 5.300
c der zulässigen
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Lösung
x2
150
5.3
00
4.5 e
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Ax ≤ b
x ≥0
Lineare Zielfunktion: maximiere c T x
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
00
e
1.5 50
00
e
Menge
G (110, 40) = 5.300
= maximaler Wert der Zielc der zulässigen
funktion unter Beschränk.
Lösungen
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Lösung
x2
150
5.3
00
4.5 e
00
100
e
3.0
Lineare Beschränkungen:
MA : 4x1 + 11x2 ≤ 880
MB : x1 + x2 ≤ 150
MC :
x2 ≤ 60
x1 ≥ 0
x2 ≥ 0
Ax ≤ b
x ≥0
Lineare Zielfunktion: maximiere c T x
G (x1 , x2 ) = 30x1 + 50x2
= (30, 50) xx12
00
e
1.5 50
00
e
Menge
G (110, 40) = 5.300
= maximaler Wert der Zielc der zulässigen
funktion unter Beschränk.
Lösungen
= max{c T x | Ax ≤ b, x ≥ 0}
0
0
50
100
150
200 x1
Iso-Gewinn-Line“: orthogonal zu 30
50
”
Lineares Programmieren I
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
Gesucht:
Lineares Programmieren I
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
Gesucht:
x ? ∈ Rn
Lineares Programmieren I
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
Gesucht:
x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Lineares Programmieren I
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
Gesucht:
x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Satz.
[Dantzig, 1947]
Der Simplex-Algorithmus löst lineare Programme.
Lineares Programmieren I
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
Gesucht:
x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Satz.
[Dantzig, 1947]
Der Simplex-Algorithmus löst lineare Programme.
c
Lineares Programmieren I
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
Gesucht:
x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Satz.
[Dantzig, 1947]
Der Simplex-Algorithmus löst lineare Programme.
c
Satz.
[Klee & Minty, 1972]
Es gibt Beispiele, auf denen der
Simplex-Algorithmus exponentielle Zeit benötigt.
Lineares Programmieren II
Satz.
Leonid Khachiyan
*1952 Leningrad
†2005 South
Brunswick, NJ
[Khachiyan, 1979]
Ein Lineares Programm der Dim. n lässt sich in
O (L2 · n6 ) Zeit lösen.
Lineares Programmieren II
Satz.
Leonid Khachiyan
*1952 Leningrad
†2005 South
Brunswick, NJ
[Khachiyan, 1979]
Ein Lineares Programm der Dim. n lässt sich in
O (L2 · n6 ) Zeit lösen., wobei L = Anz. Bits in der Eingabe.
Lineares Programmieren II
Satz.
Leonid Khachiyan
*1952 Leningrad
†2005 South
Brunswick, NJ
Ellipsoidmethode
[Khachiyan, 1979]
Ein Lineares Programm der Dim. n lässt sich in
O (L2 · n6 ) Zeit lösen., wobei L = Anz. Bits in der Eingabe.
Lineares Programmieren II
Satz.
Leonid Khachiyan
*1952 Leningrad
†2005 South
Brunswick, NJ
Ellipsoidmethode
[Khachiyan, 1979]
Ein Lineares Programm der Dim. n lässt sich in
O (L2 · n6 ) Zeit lösen., wobei L = Anz. Bits in der Eingabe.
Lineares Programmieren II
Satz.
Leonid Khachiyan
*1952 Leningrad
†2005 South
Brunswick, NJ
Ellipsoidmethode
[Khachiyan, 1979]
Ein Lineares Programm der Dim. n lässt sich in
O (L2 · n6 ) Zeit lösen., wobei L = Anz. Bits in der Eingabe.
Lineares Programmieren II
Satz.
Leonid Khachiyan
*1952 Leningrad
†2005 South
Brunswick, NJ
Ellipsoidmethode
[Khachiyan, 1979]
Ein Lineares Programm der Dim. n lässt sich in
O (L2 · n6 ) Zeit lösen., wobei L = Anz. Bits in der Eingabe.
Lineares Programmieren II
Satz.
Leonid Khachiyan
*1952 Leningrad
†2005 South
Brunswick, NJ
Ellipsoidmethode
[Khachiyan, 1979]
Ein Lineares Programm der Dim. n lässt sich in
O (L2 · n6 ) Zeit lösen., wobei L = Anz. Bits in der Eingabe.
Lineares Programmieren II
Satz.
Leonid Khachiyan
*1952 Leningrad
†2005 South
Brunswick, NJ
Ellipsoidmethode
[Khachiyan, 1979]
Ein Lineares Programm der Dim. n lässt sich in
O (L2 · n6 ) Zeit lösen., wobei L = Anz. Bits in der Eingabe.
Lineares Programmieren II
Satz.
Ellipsoidmethode
[Khachiyan, 1979]
Ein Lineares Programm der Dim. n lässt sich in
O (L2 · n6 ) Zeit lösen., wobei L = Anz. Bits in der Eingabe.
Leonid Khachiyan
*1952 Leningrad
†2005 South
Brunswick, NJ
Narendra Karmarkar
*1957 Gwalior, Indien
Satz.
[Karmakar, 1984]
Ein Lineares Programm der Dim. n lässt sich in
O (L2 · n3.5 ) Zeit numerisch stabil lösen.
Lineares Programmieren II
Satz.
Ellipsoidmethode
[Khachiyan, 1979]
Ein Lineares Programm der Dim. n lässt sich in
O (L2 · n6 ) Zeit lösen., wobei L = Anz. Bits in der Eingabe.
Leonid Khachiyan
*1952 Leningrad
†2005 South
Brunswick, NJ
Narendra Karmarkar
*1957 Gwalior, Indien
Satz.
Innere-Punkt-Methode
[Karmakar, 1984]
Ein Lineares Programm der Dim. n lässt sich in
O (L2 · n3.5 ) Zeit numerisch stabil lösen.
Lineares Programmieren II
Satz.
Ellipsoidmethode
[Khachiyan, 1979]
Ein Lineares Programm der Dim. n lässt sich in
O (L2 · n6 ) Zeit lösen., wobei L = Anz. Bits in der Eingabe.
Leonid Khachiyan
*1952 Leningrad
†2005 South
Brunswick, NJ
Narendra Karmarkar
*1957 Gwalior, Indien
Satz.
Innere-Punkt-Methode
[Karmakar, 1984]
Ein Lineares Programm der Dim. n lässt sich in
O (L2 · n3.5 ) Zeit numerisch stabil lösen.
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
Gesucht:
x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
Gesucht:
x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
Gesucht:
x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
Gesucht:
x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
Gesucht:
x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
Gesucht:
x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
c
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
Gesucht:
x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
c
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
Gesucht:
x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
c
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
häufig {0, 1}n
Gesucht:
x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
c
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
c
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Problem. Geg. Graph G = (V , E )
c
Ges. Knotenüberdeckung,
d.h. V 0 ⊆ V , so dass
jede Kante mind. einen
Endpunkt in V 0 hat.
Ziel: |V 0 | minimal!
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Problem. Geg. Graph G = (V , E )
c
Ges. Knotenüberdeckung,
d.h. V 0 ⊆ V , so dass
jede Kante mind. einen
Endpunkt in V 0 hat.
Ziel: |V 0 | minimal!
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Problem. Geg. Graph G = (V , E )
c
Ges. Knotenüberdeckung,
d.h. V 0 ⊆ V , so dass
jede Kante mind. einen
Endpunkt in V 0 hat.
Ziel: |V 0 | minimal!
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Problem. Geg. Graph G = (V , E )
c
Ges. Knotenüberdeckung,
d.h. V 0 ⊆ V , so dass
jede Kante mind. einen
Endpunkt in V 0 hat.
Ziel: |V 0 | minimal!
Aufgabe. Modellieren Sie dieses
Problem als ILP!
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Problem. Geg. Graph G = (V , E )
c
Ges. Knotenüberdeckung,
d.h. V 0 ⊆ V , so dass
jede Kante mind. einen
Endpunkt in V 0 hat.
Ziel: |V 0 | minimal!
Aufgabe. Modellieren Sie dieses
Problem als ILP!
Verwenden Sie für jeden
Tipp.
Knoten v eine Variable
xv ∈ {0, 1}, mit
xv = 1 ⇔ v ∈ V 0
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Problem. Geg. Graph G = (V , E )
c
Ges. Knotenüberdeckung,
d.h. V 0 ⊆ V , so dass
jede Kante mind. einen
Endpunkt in V 0 hat.
Ziel: |V 0 | minimal!
Modell.
Für v ∈ V sei xv ∈ {0, 1}.
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Problem. Geg. Graph G = (V , E )
c
Ges. Knotenüberdeckung,
d.h. V 0 ⊆ V , so dass
jede Kante mind. einen
Endpunkt in V 0 hat.
Ziel: |V 0 | minimal!
Modell.
Für v ∈ V sei xv ∈ {0, 1}.
Ziel:
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Problem. Geg. Graph G = (V , E )
c
Ges. Knotenüberdeckung,
d.h. V 0 ⊆ V , so dass
jede Kante mind. einen
Endpunkt in V 0 hat.
Ziel: |V 0 | minimal!
Modell.
Für v ∈ V sei xv ∈ {0, 1}.
P
Ziel: minimiere v ∈V xv
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Problem. Geg. Graph G = (V , E )
c
Ges. Knotenüberdeckung,
d.h. V 0 ⊆ V , so dass
jede Kante mind. einen
Endpunkt in V 0 hat.
Ziel: |V 0 | minimal!
Modell.
Für v ∈ V sei xv ∈ {0, 1}.
P
Ziel: minimiere v ∈V xv
Beschränkungen:
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Problem. Geg. Graph G = (V , E )
c
Ges. Knotenüberdeckung,
d.h. V 0 ⊆ V , so dass
jede Kante mind. einen
Endpunkt in V 0 hat.
Ziel: |V 0 | minimal!
Modell.
Für v ∈ V sei xv ∈ {0, 1}.
P
Ziel: minimiere v ∈V xv
Beschränkungen:
für jede Kante uv ∈ E
fordern wir xu + xv ≥ 1.
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn
Problem. Geg. Graph G = (V , E )
c
Ges. Knotenüberdeckung,
d.h. V 0 ⊆ V , so dass
jede Kante mind. einen
Endpunkt in V 0 hat.
Ziel: |V 0 | minimal!

Für v ∈ V sei xv ∈ {0, 1}.
Modell. 

P


Ziel: minimiere v ∈V xv
0-1-ILP Beschränkungen:




 für jede Kante uv ∈ E
fordern wir xu + xv ≥ 1.
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn

Problem.
Geg. Graph G = (V , E )

c


überdeckung,

Ges. Knoten
NPd.h. V 0 ⊆ V , so dass
schwer 
jede Kante mind. einen


0

Endpunkt
in
V
hat.


Ziel: |V 0 | minimal!

Für v ∈ V sei xv ∈ {0, 1}.
Modell. 

P


Ziel: minimiere v ∈V xv
0-1-ILP Beschränkungen:




 für jede Kante uv ∈ E
fordern wir xu + xv ≥ 1.
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn

Problem.
Geg. Graph G = (V , E )

c


überdeckung,

Ges. Knoten
NPd.h. V 0 ⊆ V , so dass
schwer 
jede Kante mind. einen


0

Endpunkt
in
V
hat.


Ziel: |V 0 | minimal!

Für v ∈ V sei xv ∈ {0, 1}.
Modell. 

P


Ziel: minimiere v ∈V xv
0-1-ILP Beschränkungen:


⇓


 für jede Kante uv ∈ E
fordern wir xu + xv ≥ 1.
Ganzzahlige lineare Programmierung (ILP)
Gegeben: A ∈ Rm×n , b ∈ Rm , c ∈ Rn
≥
häufig {0, 1}n
oder
arg
min
Gesucht: x ? ∈ Rn mit x ? = arg max{c T x | Ax ≤ b , x ≥ 0}
Zn
x ∈ Zn

Problem.
Geg. Graph G = (V , E )

c


überdeckung,

Ges. Knoten
NPd.h. V 0 ⊆ V , so dass
schwer 
jede Kante mind. einen


0

Endpunkt
in
V
hat.


Ziel: |V 0 | minimal!

Für v ∈ V sei xv ∈ {0, 1}.
Modell. 

P


Ziel: minimiere v ∈V xv
0-1-ILP Beschränkungen:


⇓


für jede Kante uv ∈ E

NPfordern wir xu + xv ≥ 1.
schwer
Ein Transportproblem
Ihre Firma möchte eine möglichst große Menge einer Ware von
einer Quelle s zu einem Ziel t transportieren. Aufgrund
bestehender Transport-Kapazitäten (z.B. Kapazitäten der
LKW-Flotte) kann nur eine begrenzte Menge (siehe
Kantengewichtung) der Ware pro Transportabschnitt (Kante)
transportiert werden. Welche Menge pro Tag können Sie zum
Großkunden senden?
16
s
v1
4
13 v
2
12 v3
9
14
20
t
7
v4
4
Modellierung durch Flüsse
Def. Sei G = (V , E ) ein gerichteter Graph mit s , t ∈ V.
Eine Funktion f : E → R≥0 heißt s -t -Fluss ( Fluss“),
”
wenn für jeden Knoten v ∈ V \ {s , t } gilt
X
X
f (uv ) −
f (v w ) = 0.
{u ∈V |uv ∈E }
16
s
{w ∈V |v w ∈E }
v1
4
13 v
2
12 v3
9
14
20
t
7
v4
4
Modellierung durch Flüsse
Def. Sei G = (V , E ) ein gerichteter Graph mit s , t ∈ V.
Eine Funktion f : E → R≥0 heißt s -t -Fluss ( Fluss“),
”
wenn für jeden Knoten v ∈ V \ {s , t } gilt
X
X
f (uv ) −
f (v w ) = 0.
{u ∈V |uv ∈E }
|
{w ∈V |v w ∈E }
{z
}
Zuflussf (v )
16
s
v1
4
13 v
2
|
{z
Abflussf (v )
12 v3
9
14
20
t
7
v4
4
}
Modellierung durch Flüsse
Def. Sei G = (V , E ) ein gerichteter Graph mit s , t ∈ V.
Eine Funktion f : E → R≥0 heißt s -t -Fluss ( Fluss“),
”
wenn für jeden Knoten v ∈ V \ {s , t } gilt
X
X
f (uv ) −
f (v w ) = 0.
{u ∈V |uv ∈E }
|
{w ∈V |v w ∈E }
{z
}
Zuflussf (v )
|
|
{z
Abflussf (v )
{z
}
Nettozuflussf (v )
16
s
v1
4
13 v
2
12 v3
9
14
}
20
t
7
v4
4
Modellierung durch Flüsse
Def. Sei G = (V , E ) ein gerichteter Graph mit s , t ∈ V.
Eine Funktion f : E → R≥0 heißt s -t -Fluss ( Fluss“),
”
wenn für jeden Knoten v ∈ V \ {s , t } gilt
X
X


f (uv ) −
f (v w ) = 0.


Fluss- 
 {u∈V |uv ∈E }
{w ∈V |v w ∈E }
|
{z
}
|
{z
}
erhalZuflussf (v )
Abflussf (v )

tung 

{z
}

 |
Nettozuflussf (v )
16
s
v1
4
13 v
2
12 v3
9
14
20
t
7
v4
4
Zulässige und maximale Flüsse
Def. Sei G = (V , E ) ein gerichteter Graph mit s , t ∈ V.
Seien durch c : E → R>0 Kantenkapazitäten gegeben.
Ein Fluss f ist zulässig, wenn für jede Kante e ∈ E gilt
0 ≤ f (e ) ≤ c (e ).
16
s
v1
4
13 v
2
12 v3
9
14
20
t
7
v4
4
Zulässige und maximale Flüsse
Def. Sei G = (V , E ) ein gerichteter Graph mit s , t ∈ V.
Seien durch c : E → R>0 Kantenkapazitäten gegeben.
Ein Fluss f ist zulässig, wenn für jede Kante e ∈ E gilt
0 ≤ f (e ) ≤ c (e ).
f /c
v1 12/ 12 v3 11/
8/ 16
20
3/ 9
s
t
1/ 7
4/ 4
5/ 13 v
2
4/14
v4 3/4
Zulässige und maximale Flüsse
Def. Sei G = (V , E ) ein gerichteter Graph mit s , t ∈ V.
Seien durch c : E → R>0 Kantenkapazitäten gegeben.
Ein Fluss f ist zulässig, wenn für jede Kante e ∈ E gilt
0 ≤ f (e ) ≤ c (e ).
f /c
v1 12/ 12 v3 11/
8/ 16
20
3/ 9
s
t
1/ 7
4/ 4
5/ 13 v
2
4/14
v4 3/4
Zulässige und maximale Flüsse
Def. Sei G = (V , E ) ein gerichteter Graph mit s , t ∈ V.
Seien durch c : E → R>0 Kantenkapazitäten gegeben.
Ein Fluss f ist zulässig, wenn für jede Kante e ∈ E gilt
0 ≤ f (e ) ≤ c (e ).
f /c
10
v1 12/ 12 v3 11/
8/ 16
20
3/ 9
s
t
1/ 7
4/ 4
5/ 13 v
2
4/14
v4 3/4
Zulässige und maximale Flüsse
Def. Sei G = (V , E ) ein gerichteter Graph mit s , t ∈ V.
Seien durch c : E → R>0 Kantenkapazitäten gegeben.
Ein Fluss f ist zulässig, wenn für jede Kante e ∈ E gilt
0 ≤ f (e ) ≤ c (e ).
Der Wert |f | eines zulässigen Flusses f ist
Nettozuflussf (t ).
f /c
10
v1 12/ 12 v3 11/
8/ 16
20
3/ 9
s
t
1/ 7
4/ 4
5/ 13 v
2
4/14
v4 3/4
Zulässige und maximale Flüsse
Def. Sei G = (V , E ) ein gerichteter Graph mit s , t ∈ V.
Seien durch c : E → R>0 Kantenkapazitäten gegeben.
Ein Fluss f ist zulässig, wenn für jede Kante e ∈ E gilt
0 ≤ f (e ) ≤ c (e ).
Der Wert |f | eines zulässigen Flusses f ist
Nettozuflussf (t ).
Ein zulässiger Fluss f ist maximal,
wenn für jeden zulässigen Fluss f 0 gilt |f 0 | ≤ |f |.
f /c
10
v1 12/ 12 v3 11/
8/ 16
20
3/ 9
s
t
1/ 7
4/ 4
5/ 13 v
2
4/14
v4 3/4
Aufgabe
Gegeben ein gerichteter Graph G = (V , E ) mit s , t ∈ V und
Kantenkapazitäten c : E → R>0 .
Aufgabe
Gegeben ein gerichteter Graph G = (V , E ) mit s , t ∈ V und
Kantenkapazitäten c : E → R>0 .
Geben Sie eine Methode an, die einen maximalen s -t -Fluss f
konstruiert.
Aufgabe
Gegeben ein gerichteter Graph G = (V , E ) mit s , t ∈ V und
Kantenkapazitäten c : E → R>0 .
Geben Sie eine Methode an, die einen maximalen s -t -Fluss f
konstruiert., also eine Funktion f : E → R≥0 , die
Aufgabe
Gegeben ein gerichteter Graph G = (V , E ) mit s , t ∈ V und
Kantenkapazitäten c : E → R>0 .
Geben Sie eine Methode an, die einen maximalen s -t -Fluss f
konstruiert., also eine Funktion f : E → R≥0 , die
– den Fluss erhält
– zulässig ist
– maximal ist
Aufgabe
Gegeben ein gerichteter Graph G = (V , E ) mit s , t ∈ V und
Kantenkapazitäten c : E → R>0 .
Geben Sie eine Methode an, die einen maximalen s -t -Fluss f
konstruiert., also eine Funktion f : E → R≥0 , die
– den Fluss erhält, d.h. für jeden Knoten v ∈
/ {s , t } sicherstellt:
X
X
Nettozuflussf (v ) =
f (uv ) −
f (v w ) = 0,
{u ∈V |uv ∈E }
– zulässig ist
– maximal ist
{w ∈V |v w ∈E }
Aufgabe
Gegeben ein gerichteter Graph G = (V , E ) mit s , t ∈ V und
Kantenkapazitäten c : E → R>0 .
Geben Sie eine Methode an, die einen maximalen s -t -Fluss f
konstruiert., also eine Funktion f : E → R≥0 , die
– den Fluss erhält, d.h. für jeden Knoten v ∈
/ {s , t } sicherstellt:
X
X
Nettozuflussf (v ) =
f (uv ) −
f (v w ) = 0,
{u ∈V |uv ∈E }
{w ∈V |v w ∈E }
– zulässig ist, d.h. für jede Kante e garantiert:
0 ≤ f (e ) ≤ c (e ),
– maximal ist
Aufgabe
Gegeben ein gerichteter Graph G = (V , E ) mit s , t ∈ V und
Kantenkapazitäten c : E → R>0 .
Geben Sie eine Methode an, die einen maximalen s -t -Fluss f
konstruiert., also eine Funktion f : E → R≥0 , die
– den Fluss erhält, d.h. für jeden Knoten v ∈
/ {s , t } sicherstellt:
X
X
Nettozuflussf (v ) =
f (uv ) −
f (v w ) = 0,
{u ∈V |uv ∈E }
{w ∈V |v w ∈E }
– zulässig ist, d.h. für jede Kante e garantiert:
0 ≤ f (e ) ≤ c (e ),
– maximal ist, d.h. unter allen zulässigen s -t -Flüssen
|f | = Nettozuflussf (t ) maximiert.
Aufgabe
Gegeben ein gerichteter Graph G = (V , E ) mit s , t ∈ V und
Kantenkapazitäten c : E → R>0 .
Geben Sie eine Methode an, die einen maximalen s -t -Fluss f
konstruiert., also eine Funktion f : E → R≥0 , die
Variable
– den Fluss erhält, d.h. für jeden Knoten v ∈
/ {s , t } sicherstellt:
X
X
Nettozuflussf (v ) =
f (uv ) −
f (v w ) = 0,
{u ∈V |uv ∈E }
{w ∈V |v w ∈E }
– zulässig ist, d.h. für jede Kante e garantiert:
0 ≤ f (e ) ≤ c (e ),
– maximal ist, d.h. unter allen zulässigen s -t -Flüssen
|f | = Nettozuflussf (t ) maximiert.
Aufgabe
Gegeben ein gerichteter Graph G = (V , E ) mit s , t ∈ V und
Kantenkapazitäten c : E → R>0 .
Geben Sie eine Methode an, die einen maximalen s -t -Fluss f
konstruiert., also eine Funktion f : E → R≥0 , die
Variable
– den Fluss erhält, d.h. für jeden Knoten v ∈
/ {s , t } sicherstellt:
X
X
Nettozuflussf (v ) =
f (uv ) −
f (v w ) = 0,
{u ∈V |uv ∈E }
{w ∈V |v w ∈E }
– zulässig ist, d.h. für jede Kante e garantiert:
Konstante
0 ≤ f (e ) ≤ c (e ),
– maximal ist, d.h. unter allen zulässigen s -t -Flüssen
|f | = Nettozuflussf (t ) maximiert.
Aufgabe
Gegeben ein gerichteter Graph G = (V , E ) mit s , t ∈ V und
Kantenkapazitäten c : E → R>0 .
Geben Sie eine Methode an, die einen maximalen s -t -Fluss f
konstruiert., also eine Funktion f : E → R≥0 , die
Variable
– den Fluss erhält, d.h. für jeden Knoten v ∈
/ {s , t } sicherstellt:
X
X
Nettozuflussf (v ) =
f (uv ) −
f (v w ) = 0,
{u ∈V |uv ∈E }
{w ∈V |v w ∈E }
– zulässig ist, d.h. für jede Kante e garantiert:
Konstante
0 ≤ f (e ) ≤ c (e ),
– maximal ist, d.h. unter allen zulässigen s -t -Flüssen
|f | = Nettozuflussf (t ) maximiert.
Aufgabe
Gegeben ein gerichteter Graph G = (V , E ) mit s , t ∈ V und
Kantenkapazitäten c : E → R>0 .
Geben Sie eine Methode an, die einen maximalen s -t -Fluss f
konstruiert., also eine Funktion f : E → R≥0 , die
Variable
– den Fluss erhält, d.h. für jeden Knoten v ∈
/ {s , t } sicherstellt:
X
X
Nettozuflussf (v ) =
f (uv ) −
f (v w ) = 0,
{u ∈V |uv ∈E }
{w ∈V |v w ∈E }
– zulässig ist, d.h. für jede Kante e garantiert:
Konstante
0 ≤ f (e ) ≤ c (e ),
|V | − 2 + |E | lineare
Beschränkungen!
– maximal ist, d.h. unter allen zulässigen s -t -Flüssen
|f | = Nettozuflussf (t ) maximiert.
Aufgabe
Gegeben ein gerichteter Graph G = (V , E ) mit s , t ∈ V und
Kantenkapazitäten c : E → R>0 .
Geben Sie eine Methode an, die einen maximalen s -t -Fluss f
konstruiert., also eine Funktion f : E → R≥0 , die
Variable
– den Fluss erhält, d.h. für jeden Knoten v ∈
/ {s , t } sicherstellt:
X
X
Nettozuflussf (v ) =
f (uv ) −
f (v w ) = 0,
{u ∈V |uv ∈E }
{w ∈V |v w ∈E }
– zulässig ist, d.h. für jede Kante e garantiert:
Konstante
0 ≤ f (e ) ≤ c (e ),
|V | − 2 + |E | lineare
Beschränkungen!
– maximal ist, d.h. unter allen zulässigen s -t -Flüssen
|f | = Nettozuflussf (t ) maximiert.
Aufgabe
Gegeben ein gerichteter Graph G = (V , E ) mit s , t ∈ V und
Kantenkapazitäten c : E → R>0 .
Geben Sie eine Methode an, die einen maximalen s -t -Fluss f
konstruiert., also eine Funktion f : E → R≥0 , die
Variable
– den Fluss erhält, d.h. für jeden Knoten v ∈
/ {s , t } sicherstellt:
X
X
Nettozuflussf (v ) =
f (uv ) −
f (v w ) = 0,
{u ∈V |uv ∈E }
{w ∈V |v w ∈E }
– zulässig ist, d.h. für jede Kante e garantiert:
Konstante
0 ≤ f (e ) ≤ c (e ),
|V | − 2 + |E | lineare
Beschränkungen!
– maximal ist, d.h. unter allen zulässigen s -t -Flüssen
|f | = Nettozuflussf (t ) maximiert.
lineare
Zielfunktion!
Oh my God – it’s an LP!
Aufgabe
Gegeben ein gerichteter Graph G = (V , E ) mit s , t ∈ V und
Kantenkapazitäten c : E → R>0 .
Geben Sie eine Methode an, die einen maximalen s -t -Fluss f
konstruiert., also eine Funktion f : E → R≥0 , die
Variable
– den Fluss erhält, d.h. für jeden Knoten v ∈
/ {s , t } sicherstellt:
X
X
Nettozuflussf (v ) =
f (uv ) −
f (v w ) = 0,
{u ∈V |uv ∈E }
{w ∈V |v w ∈E }
– zulässig ist, d.h. für jede Kante e garantiert:
Konstante
0 ≤ f (e ) ≤ c (e ),
|V | − 2 + |E | lineare
Beschränkungen!
– maximal ist, d.h. unter allen zulässigen s -t -Flüssen
|f | = Nettozuflussf (t ) maximiert.
lineare
Zielfunktion!
Future Work
Kann man maximale Flüsse (= Spezialfall eines LPs) auch mit
maßgeschneiderten kombinatorischen Algorithmen berechnen?
Hoffnung: Das könnte schneller gehen –
und strukturelle Einsichten liefern.
Zu den Übungen
BITTE:
Vermerken Sie immer die Nr. Ihrer Übungsgruppe:
I: Fr, 8:30–10, II: Fr, 10–12, III: Fr, 12–14 Uhr.
Zu den Übungen
BITTE:
Vermerken Sie immer die Nr. Ihrer Übungsgruppe:
I: Fr, 8:30–10, II: Fr, 10–12, III: Fr, 12–14 Uhr.
Die beiden PartnerInnen einer 2er-Gruppe müssen
in dieselbe Übung gehen, damit beide bei der
Besprechung Einsicht in ihre eigene Lösung haben.
Zu den Übungen
BITTE:
Vermerken Sie immer die Nr. Ihrer Übungsgruppe:
I: Fr, 8:30–10, II: Fr, 10–12, III: Fr, 12–14 Uhr.
Die beiden PartnerInnen einer 2er-Gruppe müssen
in dieselbe Übung gehen, damit beide bei der
Besprechung Einsicht in ihre eigene Lösung haben.
Regel:
Alle (nahezu) identischen Lösungen werden mit null
Punkten bewertet.
Zu den Übungen
BITTE:
Vermerken Sie immer die Nr. Ihrer Übungsgruppe:
I: Fr, 8:30–10, II: Fr, 10–12, III: Fr, 12–14 Uhr.
Die beiden PartnerInnen einer 2er-Gruppe müssen
in dieselbe Übung gehen, damit beide bei der
Besprechung Einsicht in ihre eigene Lösung haben.
Regel:
Alle (nahezu) identischen Lösungen werden mit null
Punkten bewertet.
Moral:
Gemeinsam diskutieren, alleine (bzw. in 2er-Gruppe)
aufschreiben.
Herunterladen