TW2020 Optimalisering Hoorcollege 13 Leo van Iersel Technische Universiteit Delft 9 december 2015 Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 1 / 13
Vraag Wat moet ik kennen en kunnen voor het tentamen? Let op! Dit is niet een uitputtende lijst van mogelijke tentamenopgaven! Modelleren van optimaliseringsprobleem als LP of ILP probleem. Oplossen van LP probleem met de Simplex methode. Formuleren van de duale van een LP probleem. De dualiteitsstellingen kennen en begrijpen en weten wat de mogelijke combinaties zijn voor het primale/duale paar (niet-toegelaten, onbegrensd, begrensd optimum). Gebruiken van de Complementary Slackness condities. Variant van Farkas lemma afleiden uit de standaard vorm. Oplossen van LP probleem met de Duale Simplex methode. Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 2 / 13
De Max Flow Min Cut stelling kennen en begrijpen. Toepassen van Ford-Fulkerson algoritme om een maximum stroom te vinden. Formuleren van probleem als maximum stroom probleem. Toepassen van algoritme van Dijkstra voor het vinden van een kortste pad. Toepassen van algoritmes van Prim-Dijkstra, Kruskal en Borůvka voor het vinden van een minimum opspannende boom. De looptijd van een algoritme afschatten. De big-oh notatie gebruiken. Bepalen of een matrix totaal unimodulair is, en de gevolgen daarvan kennen. Oplossen van een ILP probleem met de Branch & Bound methode. Vinden van Gomory cutting planes, en nieuwe LP-relaxatie oplossen met duale Simplex methode. Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 3 / 13
Bewijzen dat een beslissingsprobleem NP-volledig is. Toepassen van het boomalgoritme voor TSP. De prestatiegarantie van een approximatiealgoritme bepalen. Beweringen bewijzen die lijken op de huiswerkopgaven en deeltentamenopgaven. Begrippen kennen en begrijpen zoals: toegelaten oplossing, optimale oplossing, buurruimte, lokaal optimaal, globaal optimaal, basisoplossing, duaal-toegelaten, gedegenereerd, polyeder, polytoop, standaardvorm (van een LP), onbegrensd, P, NP, NP-moeilijk, NP-volledig, reductie, invoergrootte, polynomiaal, exponentiëel, totaal unimodulair, cutting plane, prestatiegarantie. Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 4 / 13
Vraag Wat is de beste manier om te leren voor het tentamen? Maak alle werkcollegeopgaven, huiswerkopgaven en deeltentamenopgaven en zorg dat je deze begrijpt. Lees de slides en je aantekeningen door en zorg dat je deze begrijpt. Voor meer uitleg over modelleren met (I)LP, kun je het dictaat op de website lezen. Voor extra informatie of uitleg van de theorie kun je het boek raadplegen. Voor extra oefening kun je oude tentamens maken (staan op de website). Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 5 / 13
Vraag Wat hoef ik niet te doen? Bewijzen uit je hoofd leren. (Zorg dat je de bewijzen begrijpt.) Alle details uit het boek kennen of begrijpen. (Alle verplichte stof staat op de slides en in je collegeaantekeningen, mits je die gemaakt hebt, van wat ik op het bord behandeld heb.) Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 6 / 13
Voorbeeld Beschouw het volgende LP probleem. min z = x 1 + 2x 2 o.d.v. x 1 + x 2 2 2x 1 + x 2 3 x 1, x 2 0 (a) Los dit probleem op met de Simplex methode. (b) Formuleer de duale van dit LP probleem. (c) Geef een optimale oplossing van het duale probleem. (d) Los het primale LP probleem nogmaals op, nu met de duale Simplex methode. Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 7 / 13
Deeltentamen Opgave (2) Gegeven is het volgende Simplex tableaux voor een minimaliseringsprobleem. basis b x1 x 2 x 3 x 4 x 5 x 6 x 7 x 1 5 1 1-2 0 0 0 0 x 7 2 0 1 0 0-1 0 1 x 4 1 0 0-3 1 0 1 0 z 1 0 3 d 0 1 2 0 Geef aan wanneer het bijbehorende (primale) probleem onbegrensd is, geen toegelaten oplossing heeft, één optimale oplossing heeft, of meerdere optimale oplossingen heeft, afhankelijk van de waarde van d. Dit kan zonder motivatie. Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 8 / 13
Huiswerk 3 Opgave (2) Stel je bevindt je in een kamer midden in een labyrint en wilt de uitgang vinden. Je bedenkt daarvoor het volgende algoritme: Elke keer als je een gang inloopt markeer je die gang met een. Wanneer je een kamer voor de eerste keer binnenloopt, markeer je de gang waardoor je binnenkomt met een. Wanneer je een kamer verlaat: 1 loop je nooit een gang in die al gemarkeerd is met een ; 2 loop je alleen een gang in die gemarkeerd is met een als er geen andere opties zijn (d.w.z. als alle andere gangen gemarkeerd zijn met een ). (a) Bewijs dat je altijd een weg naar de uitgang vindt, mits die bestaat. (b) Geef de looptijd van dit algoritme in termen van het aantal kamers en het aantal gangen. Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 9 / 13
Huiswerk 3 Oplossing (niet volledig) Je loopt nooit twee keer door dezelfde gang in dezelfde richting. Dus in eindige tijd zul je ofwel de uitgang vinden of vast komen te zitten. Stel dat je vast komt te zitten. Dan bevind je je in de beginkamer en heb je alle aanliggende gangen al in beide richtingen doorlopen. Als je van de i-de bezochte kamer alle aanliggende gangen in beide richtingen doorlopen hebt, dan ook de gang naar de (i + 1)-de kamer. Dus heb je de (i + 1)-de kamer verlaten door de gang met een. Dus heb je van (i + 1)-de kamer elke aanliggende gangen in beide richtingen doorlopen. Met volledige inductie volgt nu dat als je vast komt te zitten, je alle gangen die bereikbaar zijn vanuit de beginkamer al in beide richtingen doorlopen hebt. Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 10 / 13
Opgave (4) We bestuderen n patiënten die aan een bepaalde ziekte lijden en m genen. We vermoeden dat in elk van de patiënten de ziekte veroorzaakt wordt door een mutatie van één van deze genen. Gegeven is een n m matrix M waarin M i,j = 1 als in patiënt i gen j gemuteerd is en anders is M i,j = 0. We willen er achter komen welke genen de ziekte veroorzaken. Daarom zoeken we een zo klein mogelijke verzameling J van genen zodanig dat in elke patiënt tenminste één gen uit J gemuteerd is. (a) Formuleer dit probleem als een ILP probleem. (b) De beslissingsvariant van dit probleem is als volgt: GENES Gegeven: n m matrix M met M i,j {0, 1} en k Z. Beslis: bestaat er een J {1,..., m} met J k zodanig dat voor alle i {1,..., n} er tenminste één j J bestaat met M i,j = 1. Bewijs dat GENES NP-volledig is. Je mag hierbij gebruiken dat het onderstaande VERTEX COVER probleem NP-volledig is. Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 11 / 13
Oplossing (niet volledig) (b) GENES NP omdat, gegeven een J {1,..., m}, in polynomiale tijd gecontroleerd kan worden of aan de voorwaarden wordt voldaan. We laten zien dat GENES NP-moeilijk is d.m.v. een reductie vanuit VERTEX-COVER. Laat G = (V, E), B een instantie van VERTEX-COVER zijn. Laat M de getransponeerde van de node-edge incidentiematrix van G zijn en k := B. Dan heeft G een vertex cover van cardinaliteit B dan en slechts dan als er een verzameling J {1,..., m} van cardinaliteit k bestaat zodanig dat voor alle i {1,..., n} er tenminste één j J bestaat met M i,j = 1. Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 12 / 13
Deeltentamen Opgave (4) Gegeven is Farkas lemma: Stelling Voor elke m n matrix A en vector b R m is precies één van de volgende twee beweringen waar: (a) {x R n Ax = b, x 0} (b) {π R m π T A 0, π T b < 0} Gebruik Farkas lemma om te bewijzen dat voor een m n matrix A, een m k matrix B en een vector b R m precies één van de volgende twee beweringen waar is: (i) x R n, y R k zodanig dat Ax + By = b en x 0; (ii) π R m zodanig dat π T A 0, π T B = 0 en π T b < 0. Leo van Iersel (TUD) TW2020 Optimalisering 9 december 2015 13 / 13