Tentamen Netwerkoptimalisering (IN3530)

advertisement
Tentamen Netwerkoptimalisering (IN3530)
Datum:
Docent:
3 april 2006, 9.00 – 12.00.
Dr. J.B.M. Melissen.
Veel succes!
Opgave 1. (4 pt) Het Dantzig-Wolfe decompositie-algoritme kan worden gebruikt voor het vinden
van:
a. een minimale snede in een max-flow netwerk.
b. een optimale oplossing van een meer-goederenstromingsprobleem (multicommodity flow).
c. een optimale verdeling van een netwerk in deelnetwerken.
d. lekstromen in een min-cost-flow probleem.
Opgave 2. (4 pt) Een k-commodity max-flow probleem kan worden opgelost
a. door het oplossen van k max-flow problemen voor de afzonderlijke commodities, gevolgd
door een (klein) LP probleem om de capaciteiten
b. maar niet met een polynomiaal algoritme
c. door het oplossen van één LP probleem
d. Met behulp van het algoritme van Karzanov
Opgave 3. (4 pt) Een zuiver netwerk minimale kostenstromingsprobleem waarin de totale aanvoer
groter is dan de totale afvoer
a. kan worden opgelost als een gegeneraliseerd netwerkprobleem.
b. heeft geen toelaatbare oplossing
c. kan worden opgelost door het invoeren van een dummyknoop die verbonden is met alle
doorvoerknopen door takken met kosten 0.
d. kan worden opgelost door het invoeren van een dummyknoop die verbonden is met alle
knopen door takken met kosten M (heel groot).
Opgave 4. (4 pt.) De in- en uitvoergegevens en de capaciteitsgrenzen van de volgende problemen zijn
geheeltallig. Voor welke problemen is er altijd een geheeltallige optimale oplossing (meer goede
antwoorden mogelijk)
a. een gegeneraliseerd min-cost netwerkstromingsprobleem.
b. een transportprobleem.
c. een meer-goederenstromingsprobleem (multicommodity flow)
d. een min-cost-flow probleem.
Opgave 5. (4 pt.) Geef van de volgende beweringen aan of ze waar of onwaar zijn voor het FordFulkerson algoritme voor het oplossen van een max-flow probleem
a. Het aantal iteraties is altijd eindig.
b. Het aantal iteraties is onafhankelijk van de grootte van de capaciteitsgrenzen.
c. In elke iteratie is de route in het residuele netwerk vrij te kiezen.
Opgave 6. Bekijk het volgende transportprobleem gedefinieerd door de volgende tabel
1
2
3
4
3
6
4
2
6
8
5
5
10
6
10
10
Knopen 1 en 2 leveren aan knopen 3, 4 en 5. De geleverde en gevraagde hoeveelheden en de
transportkosten per eenheid zijn in de tabel te vinden.
a. (10 pt.) In de volgende tabel is een transportstroom te vinden die aan alle voorwaarden
voldoet:
1
2
3
0
6
6
4
4
4
8
5
6
0
6
10
10
Laat met behulp van het primale netwerkalgoritme zien dat dit een oplossing met minimale kosten is.
b. (10 pt) De aanvoer in knoop 1 wordt verhoogd van 10 naar 12 en de afname van knoop 3
wordt verhoogd van 6 naar 8. Vind, uitgaande van de oplossing uit a. met het
netwerkalgoritme een optimale oplossing voor dit gewijzigde probleem en toon aan de de
totale kosten, vergeleken met de situatie in a. zijn gedaald.
Opgave 7. Gegeven is het volgende LP probleem:
minimaliseer
zodanig dat
3x1 + 3x2 + x4 + 9x5 + x6
x1 + x3 = 3
x2 + x3 – x5 = –3
x1 - 2x2 + 2x5 – x6 = 16.
x1, x2, x3, x4, x5, x6  0.
a. (5 pt.) Laat zien dat dit LP probleem equivalent is met een NP probleem
b. (5 pt.) Teken het bijbehorende netwerk.
Opgave 8.
a. (3 pt.) Leg uit hoe je een primaal niet-toelaatbare startoplossing voor het primale NP algoritme
kun wijzigen in een primaal toelaatbare startoplossing.
b. (4 pt.) Leg uit wat het verschil is tussen het primale en het duale NP algoritme.
c. (3 pt.) Wat kunnen de voordelen zijn van het herschrijven van een LP probleem als NP
probleem?
Opgave 9. Een fabrikant van PC’s heeft de productie van DVD rewriters uitbesteed aan drie
leveranciers. In de onderstaande tabel is te zien welke prijzen de verschillende leveranciers per lading
van 1000 stuks rekenen, en wat de vrachtkosten zijn voor verzending naar elk van de twee
distributiecentra (DC1 en DC2) van het bedrijf.
Leverancier
1
2
3
prijs/1000 stuks
€ 22.500
€ 22.700
€ 22.300
kosten per lading
€ 300+ 0,40/km
€ 200 + 0,50/km
€ 500 + 0,20/km
Afstand tot DC1
1600 km
500 km
2000 km
Afstand tot DC2
400 km
600 km
1000 km
De twee fabrieken van het bedrijf worden vanuit de DC’s bevoorraad. De transportkosten per lading
van 1000 stuks en de maandelijkse behoefte van de fabrieken staan in de onderstaande tabel.
Fabriek 1
Fabriek 2
DC1
€ 200
€ 700
DC2
€ 400
€ 500
maandelijkse vraag
10
6
De leveranciers kunnen elk maximaal 10 ladingen per maand afleveren, maar door transportrestricties
kunnen ze maximaal 6 ladingen per maand aan elk van de DC’s leveren. Elke DC kan ook maximaal 6
ladingen per maand aan elk van de fabrieken afleveren. De leiding van de fabriek wil de bestellingen
bij de leveranciers en het transport tussen leveranciers, DC’s en fabrieken zodanig afstemmen dat de
totale kosten voor het bedrijf minimaal zijn.
a. (6 pt.) Formuleer dit probleem als een minimum cost flow probleem en teken het bijbehorende
netwerk.
b. (3 pt.) Door een ingezakte brug kan fabriek 1 niet meer worden bereikt vanuit DC2. Wat
betekent dit voor de oplossing van het probleem?
c. (1 pt.) Door wateroverlast in een magazijn kan DC1 tijdelijk niet meer dan 5 ladingen per
maand uitleveren. Hoe zou je dit in het netwerk kunnen modelleren?
Opgave 10.
Tussen twee knopen in een netwerk zijn twee mogelijke routes. De reistijd langs route 1 is 1 + 2x1,
waarbij x1 de grootte van de stroom over die route is, en de reistijd langs route 2 is 10x2/(x2+1),
waarbij x2 de grootte van de stroom over route 2 is. De stromen hoeven niet geheeltallig te zijn. De
totale stroom door de twee takken is a.
a. (3 pt) Bereken de grootte van de stroom langs de twee routes in gebruikersevenwicht (elke
gebruiker kiest dan de kortste route).
b. (3 pt) Bereken de grootte van de stromingen langs de twee routes in systeemoptimum (de
totale reistijd is dan minimaal).
c. (2 pt) Is er een waarde a van de totale stroming waarvoor de twee routes in
gebruikersevenwicht gelijk belast worden?
d. (2 pt) Is er een waarde van a waarvoor gebruikersevenwicht en systeemoptimum dezelfde
oplossing geven?
Opgave 11.
a. (8 pt) Maak een netwerk waarin tien takken voorkomen met capaciteitsgrenzen resp. 1, 2, 3,
…, 10. Kies twee knopen die niet door middel van één tak zijn verbonden. Bepaal de
maximale stroom tussen deze twee knopen met het algoritme van Karzanov.
b. (2 pt) Geef aan hoe je met het algoritme ook een minimale snede voor dit probleem kunt
vinden.
Spiekbriefje: Een iteratie uit het algoritme van Karzanov bestaat telkens uit de volgende drie stappen:
1.
Maak een gelaagd netwerk. Dat zijn een aantal paden die van beginpunt naar eindpunt lopen en waarover de stroom nog kan worden aangevuld: Eerst verdeel je het netwerk in lagen. Laag 0 bevat de beginknoop. Laag k bevat de knopen die via k takken van het residuele
netwerk (takken waarover nog stroom kan lopen) verbonden zijn met de beginknoop. Uit het residuele netwerk worden alle takken weggelaten die niet naar een volgende laag lopen, en ten slotte worden alle takken en knopen weggelaten die niet op een pad van begin- naar
eindpunt liggen.
2.
“Advance”: Loop de paden van begin- naar eindpunt af en laat er per tak de maximale hoeveelheid stroom door lopen. Alles wat er in een knoop komt mag door, tenzij het beperkt wordt door de capaciteit van een van de uitgaande takken. Er is soms een vrijheid hoe je dit
over de uitgaande takken verdeelt. Er ontstaat een “preflow”, in de knopen, maar hoeft nog geen balans te zijn. Er kan meer ingaan dan er uitkomt.
3.
“Balance”. Om van deze preflow een echte stroom te maken, worden vanuit het eindpunt naar het beginpunt alle knopen gebalanceerd: de stroom op de ingaande tak wordt zodanig gereduceerd dat er balans in de knoop ontstaat.
Download