Symmetrisk traveling salesman problem Dat2A godkendelsesopgave 2
|
|
- Mogens Bech
- 8 år siden
- Visninger:
Transkript
1 Symmetrisk traveling salesman problem Dat2A godkendelsesopgave 2 Jens Kristian Jensen, David Pisinger og Martin Zachariasen 13. april Formalia Dette er den anden af to godkendelsesopgaver på kurset Dat2A, efterår 2002 og forår Opgaven skal løses i grupper på 2 3 personer (enkeltmandsgrupper kræver begrundelse og skal godkendes af instruktor). Opgaven bliver stillet mandag d. 14/ kl og skal afleveres i førstedelsadministrationen i 2 eksemplarer inden onsdag d. 30/ kl Bedømmelserne foreligger i førstedelsadministrationen senest torsdag d. 15/ Opgaven vil blive bedømt enten godkendt, ikke godkendt eller dumpet. Bedømmelsen ikke godkendt giver mulighed for genaflevering senest d. 22/5 2003, mens bedømmelsen dumpet ikke giver mulighed for genaflevering. Opgavebesvarelser hvori der ikke er gjort et væsentligt forsøg på at besvare alle spørgsmål bliver betragtet som dumpet. Rapporten skal være på højst 12 sider, excl. programudskrifter og udskrifter fra kørsler (der også vedlægges). Desuden skal alle kildetekstfiler herunder en README-fil der beskriver hvordan filerne oversættes til et færdigt program gøres tilgængelige på en 1. delskonto (di-konto) ejet af en af deltagerne; filerne lægges i et katalog med navnet G22A og må ikke rettes efter rapportens aflevering. 1
2 2 Formål Formålet med opgaven er at få praktisk erfaring med implementation af grafalgoritmer forstå betydningen af kvaliteten af grænseværdier i branch-and-bound algoritmer få et indblik i teknikker til løsning af NP-hårde problemer Opgavens formål er at analysere og implementere en række grænseværdier for det symmetriske traveling salesman problem (se afsnit 3), samt eksperimentelt at sammenligne deres fordele og ulemper. Målet skulle være optimal løsning af problemer med op til knuder (byer). Der skal konstrueres en generel algoritme som kan løse problemet. Algoritmen skal implementeres i C++ og gerne ved anvendelse af LEDA. Besvarelsen skal bestå af et tekstafsnit, hvor nedenstående opgaver besvares, samt udskrift af det kommenterede program. Ved bedømmelse af opgaven vil der blive lagt vægt på at alle spørgsmål (hver for sig) er besvaret tilfredsstillende. 3 Symmetrisk traveling salesman problemet Den handelsrejsendes problem, eller traveling salesman problemet (TSP), har altid fascineret forskere: Problemet er simpelt at formulere og alligevel meget svært at løse i praksis. Der er skrevet utallige forskningsartikler om emnet, og flere lærebøger betragter TSP som hovedemne. TSP er ikke blot fascinerende i matematisk betydning, men det er et særdeles vigtigt problem i praksis. En lang række problemer i transportsektoren, produktionsplanlægning og endda arkæologi kan formuleres ved brug af TSP. Hertil kommer at teorien om NP-fuldstændige problemer udsprang af forskeres manglende succes med løsning af TSP. Mange års forskning har flyttet grænserne for, hvor store TSP problemer vi kan løse. Selv om der altid vil eksistere probleminstanser, som kræver eksponentiel løsningstid, udnytter moderne algoritmer strukturen i problemet til konstruktion af stramme grænseværdier. Problemer med flere hundrede knuder (byer) kan nu løses rimelig let. Formelt kan det symmetriske TSP defineres som følgende optimeringsproblem (se også afsnit i CLRS [1]): Lad være en vægtet (komplet) graf med knuder, hvor for angiver afstanden mellem 2
3 knuderne og. Afstanden antages at være symmetrisk, således at for alle par af knuder og. Problemet er da at finde en Hamilton kreds i grafen som har en minimal total længde med hensyn til. I det følgende antages at alle afstande er heltal. Herunder er et eksempel som angiver afstandene mellem 8 byer på Bornholm Den optimale løsning at besøge knuderne (byerne) i rækkefølgen:, hvilket giver en samlet længde af Hamilton kredsen på. 4 Grådig løsning Det grådige princip er en velkendt metode til konstruktion af heuristiske løsninger. For TSP fungerer den grådige algoritme som følger: Sorter alle kanter efter vægt. Tilføj en kant til turen, hvis den ikke danner en knude med grad større end 2 eller danner en deltur med færre end knuder. Opgave 1 Vis at den grådige algoritme kan implementeres til at køre i tid, og implementer denne algoritme. 5 Nedre grænseværdier Vi vil i denne opgave betragte to forskellige nedre grænseværdier for TSP: 1-Tree. Et mindste udspændende træ (MST) konstrueres på grafen, hvor knude 1 midlertidigt er fjernet. Herefter tilføjes de to billigste kanter incidente med knude 1 til det udspændende træ. I ovenstående eksempel finder vi et MST blandt knuderne som kanterne,,,, og. De to billigste kanter fra knude 1 er og. Samlet fås en nedre grænseværdi på. 3
4 Itereret 1-Tree. Princippet er her at omformulere problemet, så en strammere 1-tree grænseværdi opnås. Kursusbog 1, del 1, side 13 nederst beskriver dette princip i detaljer. Lad være antallet af valgte kanter incidente med knude. Vi ønsker at straffe knuder med grad større end 2, mens knuder med grad mindre end 2 belønnes. Derfor modificeres afstandsmatricen på følgende vis: Processen kan gentages et antal gange. I praksis er iterationer passende. Eksempelvis kan man benytte 100 iterationer i rod-knuden af branchand-bound søgetræet, og gradvist mindske antallet af iterationer i forhold til knudens dybde i søgetræet. Knuder, som har en dybde over 10 i søgetræet, kan passende nøjes med 10 iterationer. Bemærk, at en knude i søgetræet ikke bør starte med at iterere afstandsmatricen fra grunden af, men i stedet bør tage udgangspunkt i den bedste modificerede afstandsmatrix fra forældre-knuden. I ovenstående eksempel får vi følgende modificerede afstandsmatrice : Ved løsning af 1-tree for det modificerede problem findes kanterne,,,,,,, og, hvor de første seks kanter angiver MSTet blandt knuderne. Samlet fås en nedre grænseværdi på. De efterfølgende iterationer giver grænseværdierne. Opgave 2 Bevis at grænseværdierne er lovlige nedre grænser. Vurder deres beregningskompleksitet ved brug af store-o notation. Det antages at Kruskal s algoritme bruges til konstruktion af MSTer. Opgave 3 Implementer algoritmer til udregning af grænseværdierne, og eksperimenter med antallet af iterationer i den itererede 1-tree grænseværdi. 4
5 6 Branch-and-bound algoritme Ved konstruktion af en branch-and-bound algoritme skal man overveje om der skal bruges dybde-først eller bedste-først søgning, samt hvilken forgreningsstrategi, der skal benyttes. I det følgende angiver længden af den hidtil bedste løsning. Dybde-først søgning er nemmest at implementere, idet algoritmen da blot bliver en rekursiv procedure som skitseret nedenfor: TSP_BRANCH if find en nedre grænseværdi for problemet. then return if løsningen i grænseværdiberegningen er en Hamilton kreds then gem løsningen, opdater. else vælg en knude som spolerer Hamilton kredsen for alle valgte kanter incidente med knuden forbyd kanten, kald TSP_BRANCH Håndteringen af levende knuder i branch-and-bound træet foretages automatisk af rekursionen, idet tidligere problemer gemmes på stakken. I ovenstående skitse er forgreningstrategien fra kursusbog 1, del 1, side 18, blevet benyttet: En knude udvælges, som har flere end to kanter, og branch-and-bound algoritmen forbyder på skift hver af kanterne ud fra knuden. Opgave 4 Implementer branch-and-bound algoritmen. Benyt gerne det udleverede rammeprogram (se kursets hjemmeside). Beskriv fordele og ulemper ved den valgte forgreningsstrategi og dybde-først søgningen. Hvis tiden tillader det, kan der eksperimenteres med andre søge-strategier og forgrenings-strategier, omend dette ikke er et krav. (Vær opmærksom på at hele løsningsrummet skal dækkes; knude 1 indgår ikke nødvendigvis i en optimal løsning med de to mindste incidente kanter.) 5
6 7 Eksperimenter Afprøv den konstruerede algoritme med de to grænseværdier på følgende probleminstanser, som findes på kursets hjemmeside. Instans Beskrivelse 8 bornholm afstande mellem otte byer på Bornholm 10 rand10 tilfældigt genererede kantvægte 15 rand15 tilfældigt genererede kantvægte 20 rand20 tilfældigt genererede kantvægte 25 rand25 tilfældigt genererede kantvægte 30 rand30 tilfældigt genererede kantvægte 17 gr17 17 byer i Tyskland 21 gr21 21 byer i Tyskland 24 gr24 24 byer i Tyskland Opgave 5 Rapporter: øvre og nedre grænseværdier i rodknuden, antal knuder i branch-and-bound træet, beregningstid pr. knude i branch-and-bound træet, samt total beregningstid. Kommenter resultaterne. Opgave 6 Forsøg at konstruere probleminstanser, hvor ovenstående grænseværdier er svage, f.eks. når MSTet er stjerneformet og dermed langt fra at være en Hamilton kreds. 8 Forbedret Kruskal For de to grænseværdier baseret på 1-tree beregninger viser det sig, at langt den største del af CPU-tiden bruges til sortering af kanter i Kruskal s algoritme. For at reducere denne beregningstid, foreslås det at benytte den forbedrede MSTalgoritme fra G1-opgaven. Opgave 7 Kør tests med alle probleminstanser for den forbedrede MST-algoritme. Kommenter resultaterne. Kan det gøres endnu bedre? (Bemærk at kanternes rækkefølge i sorteringen ofte ikke ændrer sig drastisk.) 6
7 9 Gode råd Tidspunkter for opgavehjælp er annonceret på kursets hjemmeside. Desuden vil svar på spørgsmål af generel interesse løbende blive lagt ud på kursets hjemmeside. Et rammeprogram til løsning af opgaven samt ovennævnte probleminstanser findes på kursets hjemmeside. Hvis det tager mere end et minut at løse en probleminstans, så rapporter at algoritmen ikke kunne løse dette problem. Specielt vil den første grænseværdi baseret på 1-tree beregning næppe kunne løse instanser med mere end 10 knuder. Litteratur [1] T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein: Introduction to Algorithms (2nd ed.), MIT Press, Noter Nogle af de udleverede probleminstanser stammer fra TSPLIB, som findes på internettet på adressen hvor I er velkomne til at kigge efter flere/andre instanser. Som pauselæsning har vi fundet følgende artikel fra New York Times, 27. november 1979, omhandlende betydningen af en polynomiel algoritme til lineær programmering for løsning af bl.a. traveling salesman problemet. 7
8 An Approach to Difficult Problems Mathematicians disagree as to the ultimate practical value of Leonid Khachiyan s new technique, but concur that in any case it is an important theoretical accomplishment. Mr. Khachiyan s method is believed to offer an approach for the linear programming of computers to solve socalled travelling salesman problems. Such problems are among the most intractable in mathematics. They involve, for instance, finding the shortest route by which a salesman could visit a number of cities without his path touching the same city twice. Each time a new city is added to the route, the problem becomes very much more complex. Very large numbers of variables must be calculated from large numbers of equations using a system of linear programming. At a certain point, the complexity becomes so great that a computer would require billions of years to find a solution. In the past, traveling salesman problems, including the efficient scheduling of airline crews or hospital nursing staffs, have been solved on computers using the simplex method invented by George B. Dantzig of Stanford University. As a rule, the simplex method works well, but it offers no guarantee that after a certain number of computer steps it will always find an answer. Mr. Khachiyan s approach offers a way of telling right from the start whether or not a problem will be soluble in a given number of steps. Two mathematicians conducting research at Stanford already have applied the Khachiyan method to develop a program for a pocket calculator, which has solved problems that would not have been possible with a pocket calculator using the simplex method. Mathematically, the Khachiyan approach uses equations to create imaginary ellipsoids that encapsulate the answer, unlike the simplex method, in which the answer is represented by the intersections of the sides of polyhedrons. As the ellipsoids are made smaller and smaller, the answer is known with greater precision. MALCOLM W. BROWNE 8
Symmetrisk Traveling Salesman Problemet
Symmetrisk Traveling Salesman Problemet Videregående Algoritmik, Blok 2 2008/2009, Projektopgave 2 Bjørn Petersen 9. december 2008 Dette er den anden af to projektopgaver på kurset Videregående Algoritmik,
Læs mereLøs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomiel tid
6 april Løsning af N P -hårde problemer Løs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomiel tid Oversigt Grænseværdier (repetition) Branch-and-bound algoritmens komponenter Eksempler
Læs mereLøs til optimalitet i eksponentiel tid Find tilnærmet løsning i polynomielt tid Optimeringsproblemer kan ikke altid verificeres i polynomiel
I dag Løsning af NP -hårde optimeringsproblemer Repetition: branch-and-bound Flere begreber Konkret eksempel: TSP Lagrange relaxering Parallel branch-and-bound 1 Opsummering Løsning af NP -hårde optimeringsproblemer
Læs mereTirsdag 12. december David Pisinger
Videregående Algoritmik, DIKU 2006/07 Tirsdag 12. december David Pisinger Resume sidste to gang Sprog L : mængden af instanser for et afgørlighedsproblem hvor svaret er 1. P = {L : L genkendes af en algoritme
Læs mere.. if L(u) + w(u, v) < L(v) then.. begin... L(v) := L(u) + w(u, v)... F (v) := u.. end. med længde L(z)}
Procedure Dijkstra(G = (V, E): vægtet sh. graf,. a, z: punkter) { Det antages at w(e) > 0 for alle e E} For alle v V : L(v) := L(a) := 0, S := while z / S begin. u := punkt ikke i S, så L(u) er mindst
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af opgaverne:
Læs mereSkriftlig Eksamen DM507 Algoritmer og Datastrukturer
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 6. juni 2016, kl. 15:00 19:00 Besvarelsen skal afleveres elektronisk. Se
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 0205. Varighed: 4 timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereMindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion
Philip Bille Introduktion (MST). Udspændende træ af minimal samlet vægt. Introduktion (MST). Udspændende træ af minimal samlet vægt. 0 0 Graf G Ikke sammenhængende Introduktion (MST). Udspændende træ af
Læs mereVina Nguyen HSSP July 13, 2008
Vina Nguyen HSSP July 13, 2008 1 What does it mean if sets A, B, C are a partition of set D? 2 How do you calculate P(A B) using the formula for conditional probability? 3 What is the difference between
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Læs mereBranch-and-bound. David Pisinger. Videregående algoritmik, DIKU (2007-08) 1 Introduktion 5 1.1 Gennemgående eksempler... 7. 2 Brute-force metoder 10
Branch-and-bound David Pisinger Videregående algoritmik, DIKU (2007-08) Indhold 1 Introduktion 5 1.1 Gennemgående eksempler..................... 7 2 Brute-force metoder 10 3 Divide and Conquer 11 4 Grænseværdier
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer Kursus nr. 02326. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne:
Læs mereMindste udspændende træ
Mindste udspændende træ Introduktion Repræsentation af vægtede grafer Egenskaber for mindste udspændende træer Prims algoritme Kruskals algoritme Philip Bille Mindste udspændende træ Introduktion Repræsentation
Læs mereMindste udspændende træ. Mindste udspændende træ. Introduktion. Introduktion
Philip Bille Introduktion (MST). Udspændende træ af minimal samlet vægt. Introduktion (MST). Udspændende træ af minimal samlet vægt. 0 0 Graf G Ikke sammenhængende Introduktion (MST). Udspændende træ af
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af
Læs mereNoter til kursusgang 8, IMAT og IMATØ
Noter til kursusgang 8, IMAT og IMATØ matematik og matematik-økonomi studierne 1. basissemester Esben Høg 25. oktober 2013 Institut for Matematiske Fag Aalborg Universitet Esben Høg Noter til kursusgang
Læs mereLinear Programming ١ C H A P T E R 2
Linear Programming ١ C H A P T E R 2 Problem Formulation Problem formulation or modeling is the process of translating a verbal statement of a problem into a mathematical statement. The Guidelines of formulation
Læs mereSkriftlig Eksamen Beregnelighed (DM517)
Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 31 Oktober 2011, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af lommeregner
Læs mereSkriftlig Eksamen DM507 Algoritmer og Datastrukturer
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Tirsdag den 24. juni 2014, kl. 10:00 14:00 Besvarelsen skal afleveres elektronisk. Se
Læs mereDanmarks Tekniske Universitet
Eksamen 02105, F14 side 1 af 14 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 2014. Kursusnavn: Algoritmer og datastrukturer 1 Kursusnummer: 02105 Hjælpemidler: Skriftlige hjælpemidler. Det
Læs mereSprog L : mængden af instanser for et afgørlighedsproblem
26. marts Resume sidste to gang Sprog L : mængden af instanser for et afgørlighedsproblem hvor svaret er 1. P NP L : L genkendes af en algoritme i polynomiel tid L : L verificeres af en polynomiel tids
Læs merePerspektiverende Datalogikursus
Perspektiverende Datalogikursus Uge 1 - Algoritmer og kompleksitet Gerth Stølting Brodal 2. september 2005 1 Afleveringsopgaver... /\.. // \\ / \ / [] \ \\_// / \ / \ []._. ---------------- _ 2 Øvelse
Læs mereKorteste veje. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs. Philip Bille
Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs Philip Bille Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje
Læs mereKorteste veje. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs. Philip Bille
Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs Philip Bille Korteste veje Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje
Læs merePerspektiverende Datalogikursus
Perspektiverende Datalogikursus Uge 1 - Algoritmer og kompleksitet Gerth Stølting Brodal 27. august 2004 1 Indhold Mere om Eksempler på beregningsproblemer Algoritmer og deres analyse Korrekthed af algoritmer
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 26. maj 2009. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 0205. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning
Læs mereDanmarks Tekniske Universitet
Eksamen 005, F side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed:
Læs merePerspektiverende Datalogi Klassiske Algoritmer
Perspektiverende Datalogi Klassiske Algoritmer Gerth Stølting Brodal 1 Indhold Eksempler på beregningsproblemer Algoritmer og deres analyse Korrekthed af algoritmer Ressourceforbrug for algoritmer Kompleksitet
Læs mereDynamisk programmering
Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
Læs mereUser Manual for LTC IGNOU
User Manual for LTC IGNOU 1 LTC (Leave Travel Concession) Navigation: Portal Launch HCM Application Self Service LTC Self Service 1. LTC Advance/Intimation Navigation: Launch HCM Application Self Service
Læs mereKorteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Læs mere02105 Eksamensnoter. Lasse Herskind S maj Sortering 3
02105 Eksamensnoter Lasse Herskind S153746 12. maj 2017 Indhold 1 Sortering 3 2 Analyse af algoritme 4 2.1 Køretid.......................................... 4 2.2 Pladsforbrug.......................................
Læs mereKorteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Læs mereSidste gang Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP med trekantsulighed
Approximations-algoritmer Sidste gang Motivation Definitioner Approximations-algoritme for knudeoverdækning Approximations-algoritme for TSP med trekantsulighed Negativt resultat om generel TSP Approximations-algoritme
Læs mereDanmarks Tekniske Universitet
Eksamen 005, F0 side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 00. Kursusnavn Algoritmik og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereDM559/DM545 Linear and integer programming
Department of Mathematics and Computer Science University of Southern Denmark, Odense June 10, 2017 Marco Chiarandini DM559/DM545 Linear and integer programming Sheet 12, Spring 2017 [pdf format] The following
Læs mereDanmarks Tekniske Universitet
side af 2 sider anmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: lgoritmer og datastrukturer Kursus nr. 02326. Varighed: 4 timer Tilladte hjælpemidler: lle skriftlige hjælpemidler.
Læs mereOrienterede grafer. Orienterede grafer. Orienterede grafer. Vejnetværk
Philip Bille Orienteret graf (directed graph). Mængde af knuder forbundet parvis med orienterede kanter. Vejnetværk Knude = vejkryds, kant = ensrettet vej. deg + (6) =, deg - (6) = sti fra til 6 8 7 9
Læs mereDynamisk programmering
Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer
Læs mereEngelsk. Niveau D. De Merkantile Erhvervsuddannelser September Casebaseret eksamen. og
052431_EngelskD 08/09/05 13:29 Side 1 De Merkantile Erhvervsuddannelser September 2005 Side 1 af 4 sider Casebaseret eksamen Engelsk Niveau D www.jysk.dk og www.jysk.com Indhold: Opgave 1 Presentation
Læs mereUdtømmende søgning 1
Udtømmende søgning Udtømmende søgning (kombinatorisk søgning) Systematisk gennemsøgning af alle potentielle løsninger Den rejsende sælgers problem (TSP): En sælger skal besøge N byer Find den korteste
Læs mereMindste udspændende træ
Mindste udspændende træ Introduktion Repræsentation af vægtede grafer Egenskaber for mindste udspændende træer Prims algoritme Kruskals algoritme Philip Bille Mindste udspændende træ Introduktion Repræsentation
Læs mereNoter til kursusgang 9, IMAT og IMATØ
Noter til kursusgang 9, IMAT og IMATØ matematik og matematik-økonomi studierne 1. basissemester Esben Høg 4. november 013 Institut for Matematiske Fag Aalborg Universitet Esben Høg Noter til kursusgang
Læs mereEngelsk. Niveau C. De Merkantile Erhvervsuddannelser September 2005. Casebaseret eksamen. www.jysk.dk og www.jysk.com.
052430_EngelskC 08/09/05 13:29 Side 1 De Merkantile Erhvervsuddannelser September 2005 Side 1 af 4 sider Casebaseret eksamen Engelsk Niveau C www.jysk.dk og www.jysk.com Indhold: Opgave 1 Presentation
Læs mereP2-gruppedannelsen for Mat og MatØk
Institut for Matematiske Fag Aalborg Universitet Danmark 1-02-2012 Vejledere Bo Hove E-mail: bh@thisted-gymnasium.dk 3 Mat grupper (semesterkoordinator) E-mail: diego@math.aau.dk. Web page: http://people.math.aau.dk/~diego/
Læs mereDanmarks Tekniske Universitet
ksamen 06, side af sider anmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. ursusnavn: lgoritmer og datastrukturer ursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer
Læs mereDanmarks Tekniske Universitet
side af 3 sider anmarks Tekniske Universitet Skriftlig prøve, den 29. maj 203. ursusnavn: lgoritmer og datastrukturer ursus nr. 02326. jælpemidler: Skriftlige hjælpemidler. et er ikke tilladt at medbringe
Læs mereBlack Jack --- Review. Spring 2012
Black Jack --- Review Spring 2012 Simulation Simulation can solve real-world problems by modeling realworld processes to provide otherwise unobtainable information. Computer simulation is used to predict
Læs mereDynamisk programmering
Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur (struktur opbygget af et endeligt antal enkeltdele) blandt mange mulige. Eksempler:
Læs mereUdtømmende søgning. Udtømmende søgning (kombinatorisk søgning) Problem med 4461 byer Udtømmende søgning i grafer. Find den korteste rundtur
Udtømmende søgning Udtømmende søgning (kombinatorisk søgning) Systematisk gennemsøgning af alle potentielle løsninger Den rejsende sælgers problem (TSP): En sælger skal besøge N byer ind den korteste rundtur
Læs mereprogrammeringskonkurrencer implementation under tidspres
ACM/ICPC programmeringskonkurrencer g - algoritmisk problemløsning og algoritmisk problemløsning og implementation under tidspres Hvad er det? Programmeringsopgaver af algoritmisk natur. Kendskabet fra
Læs mereNetværksalgoritmer 1
Netværksalgoritmer 1 Netværksalgoritmer Netværksalgoritmer er algoritmer, der udføres på et netværk af computere Deres udførelse er distribueret Omfatter algoritmer for, hvorledes routere sender pakker
Læs mereEksamen i Diskret Matematik
Eksamen i Diskret Matematik Første Studieår ved Det Tekniske Fakultet for TT og Design samt Det Ingeniør- og Naturvidenskabelige Fakultet 29. maj 2017. Kl. 9-13. Nærværende eksamenssæt består af 11 nummererede
Læs mereApproximations-algoritmer. Løsningsmetoder for NP -hårde opt.problemer
Motivation Definitioner Approximations-algoritme for nudeoverdæning Approximations-algoritme for TSP med treantsulighed Negativt resultat om generel TSP Approximations-algoritme for SET-OVERING Fuldt polynomiel-tids
Læs mereUniversity of Copenhagen Faculty of Science Written Exam April Algebra 3
University of Copenhagen Faculty of Science Written Exam - 16. April 2010 Algebra This exam contains 5 exercises which are to be solved in hours. The exercises are posed in an English and in a Danish version.
Læs mereVideregående Algoritmik. Version med vejledende løsninger indsat!
Videregående Algoritmik DIKU, timers skriftlig eksamen, 1. april 009 Nils Andersen og Pawel Winter Alle hjælpemidler må benyttes, dog ikke lommeregner, computer eller mobiltelefon. Opgavesættet består
Læs mereSkriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)
Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM55) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 2 Juni 2008, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater
Læs mereKunstig intelligens. Thomas Bolander, Lektor, DTU Compute. Siri-kommissionen, 17. august Thomas Bolander, Siri-kommissionen, 17/8-16 p.
Kunstig intelligens Thomas Bolander, Lektor, DTU Compute Siri-kommissionen, 17. august 2016 Thomas Bolander, Siri-kommissionen, 17/8-16 p. 1/10 Lidt om mig selv Thomas Bolander Lektor i logik og kunstig
Læs mereAlgoritmisk geometri
Algoritmisk geometri 1 Intervalsøgning 2 Motivation for intervaltræer Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Antag, at vi ønsker at
Læs mereAlgoritmeanalyse. Øvre grænse for algoritme. Øvre grænse for problem. Nedre grænse for problem. Identificer essentiel(le) operation(er)
Algoritmeanalyse Identificer essentiel(le) operation(er) Øvre grænse for algoritme Find øvre grænse for antallet af gange de(n) essentielle operation(er) udføres. Øvre grænse for problem Brug øvre grænse
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 15. marts, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereSkriftlig Eksamen Diskret matematik med anvendelser (DM72)
Skriftlig Eksamen Diskret matematik med anvendelser (DM72) Institut for Matematik & Datalogi Syddansk Universitet, Odense Onsdag den 18. januar 2006 Alle sædvanlige hjælpemidler (lærebøger, notater etc.),
Læs mereCHAPTER 8: USING OBJECTS
Ruby: Philosophy & Implementation CHAPTER 8: USING OBJECTS Introduction to Computer Science Using Ruby Ruby is the latest in the family of Object Oriented Programming Languages As such, its designer studied
Læs merePARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU
PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU OUTLINE INEFFICIENCY OF ATTILA WAYS TO PARALLELIZE LOW COMPATIBILITY IN THE COMPILATION A SOLUTION
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet
Side af 1 sider Skriftlig Eksamen Algoritmer og Datastrukturer 1 Datalogisk Institut Aarhus Universitet Dette eksamenssæt består af en kombination af små skriftlige opgaver og multiplechoice-opgaver. Opgaverne
Læs mereOrienterede grafer. Orienterede grafer. Orienterede grafer. Orienterede grafer
Philip Bille Orienteret graf. Mængde af knuder forbundet parvis med orienterede kanter. deg + (7) =, deg - (7) = Lemma. v V deg - (v) = v V deg + (v) = m. Bevis. Hver kant har netop en startknude og slutknude.
Læs mereDanmarks Tekniske Universitet
Eksamen 0205, Forår 205 side af 5 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 205. Kursusnavn: Algoritmer og datastrukturer Kursusnummer: 0205 Hjælpemidler: Skriftlige hjælpemidler. Det
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Torsdag den 11. august 2011,
Læs mereDefinition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er
Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er en unik simpel vej mellem ethvert par af punkter i
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)
Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning) Datalogisk Institut Aarhus Universitet Fredag den 28. maj 2004, kl. 9.00 13.00 Opgave 1 (20%) En (r, k) kryds-graf er en orienteret graf
Læs mereGrundlæggende køretidsanalyse af algoritmer
Grundlæggende køretidsanalyse af algoritmer Algoritmers effektivitet Størrelse af inddata Forskellige mål for køretid Store -notationen Klassiske effektivitetsklasser Martin Zachariasen DIKU 1 Algoritmers
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereUniversity of Copenhagen Faculty of Science Written Exam - 3. April Algebra 3
University of Copenhagen Faculty of Science Written Exam - 3. April 2009 Algebra 3 This exam contains 5 exercises which are to be solved in 3 hours. The exercises are posed in an English and in a Danish
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 3. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Varighed: timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereOrienterede grafer. Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer.
Orienterede grafer Introduktion Repræsentation Søgning Topologisk sortering og DAGs Stærke sammenhængskomponenter Implicitte grafer Philip Bille Orienterede grafer Introduktion Repræsentation Søgning Topologisk
Læs mereSkriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM515)
Skriftlig Eksamen Introduktion til lineær og heltalsprogrammering (DM55) Institut for Matematik & Datalogi Syddansk Universitet Tirsdag den Juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater
Læs merePROBLEMLØSNING - HVAD KAN DET?
PROBLEMLØSNING - HVAD KAN DET? UNDERVISNINGSDIFFERENTIERING I MATEMATIK Søs Spahn 1. maj 2019 POLYA HVEM OG HVAD? OPSLAG PÅ WIKIPEDIA: GEORGE PÓLYA (/ˈPOƱLJƏ/; HUNGARIAN: PÓLYA GYÖRGY [ˈPOːJɒ ˈɟØRɟ]) (DECEMBER
Læs mereSkriftlig Eksamen Beregnelighed (DM517)
Skriftlig Eksamen Beregnelighed (DM517) Institut for Matematik & Datalogi Syddansk Universitet Mandag den 7 Januar 2008, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug af lommeregner
Læs mereIntervalsøgning. Algoritmisk geometri. Motivation for intervaltræer. Intervalsøgning. Lad der være givet en database over ansatte i en virksomhed
Algoritmisk geometri Intervalsøgning 1 2 Motivation for intervaltræer Intervalsøgning Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Vi kan
Læs mereAlgoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012
Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012 May 15, 2012 1 CONTENTS 2012 CONTENTS Contents 1 Kompleksitet 3 1.1 Køretid................................................ 3 1.2 Asymptotisk
Læs mereNyhedsmail, december 2013 (scroll down for English version)
Nyhedsmail, december 2013 (scroll down for English version) Kære Omdeler Julen venter rundt om hjørnet. Og netop julen er årsagen til, at NORDJYSKE Distributions mange omdelere har ekstra travlt med at
Læs mereKorteste veje i vægtede grafer. Længde af sti = sum af vægte af kanter på sti.
Korteste veje Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. Korteste veje i vægtede grafer Længde af sti = sum af vægte af kanter på sti. δ(u, v) = længden af en korteste
Læs mereRemember the Ship, Additional Work
51 (104) Remember the Ship, Additional Work Remember the Ship Crosswords Across 3 A prejudiced person who is intolerant of any opinions differing from his own (5) 4 Another word for language (6) 6 The
Læs mereDM559/DM545 Linear and integer programming
Department of Mathematics and Computer Science University of Southern Denmark, Odense June 10, 2017 Marco Chiarandini DM559/DM545 Linear and integer programming Sheet 12, Spring 2017 [pdf format] The following
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mereEt SML-program til at finde rødder i en kontinuert funktion
Et SML-program til at finde rødder i en kontinuert funktion Hans Hüttel Ole Høgh Jensen 11 januar 2002 Indhold 1 Om denne tekst 1 2 Hvad er bisektion? 1 3 Specifikation af vores program 2 4 SML-versionen
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
Læs mereDesign by Contract. Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Design and Programming by Contract Anne Haxthausen ah@imm.dtu.dk Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere
Læs mereKorteste veje. Korteste veje. Introduktion. Introduktion. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs
Kortete veje Egenkaber for kortete veje Dijktra algoritme Kortete veje på DAG Kortete veje Egenkaber for kortete veje Dijktra algoritme Kortete veje på DAG Philip Bille Introduktion Kortete veje. Givet
Læs mereKorteste veje. Korteste veje. Introduktion. Introduktion. Introduktion Egenskaber for korteste veje Dijkstras algoritme Korteste veje på DAGs
Kortete veje Egenkaber for kortete veje Dijktra algoritme Kortete veje på DAG Kortete veje Egenkaber for kortete veje Dijktra algoritme Kortete veje på DAG Philip Bille Introduktion Kortete veje. Givet
Læs mereBasic statistics for experimental medical researchers
Basic statistics for experimental medical researchers Sample size calculations September 15th 2016 Christian Pipper Department of public health (IFSV) Faculty of Health and Medicinal Science (SUND) E-mail:
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer (af samme type). 2. Løs delproblemerne ved rekursion (dvs. kald algoritmen
Læs mereP2-projektforslag Kombinatorik: grafteori og optimering.
P2-projektforslag Kombinatorik: grafteori og optimering. Vejledere: Leif K. Jørgensen, Diego Ruano 1. februar 2013 1 Indledning Temaet for projekter på 2. semester af matematik-studiet og matematikøkonomi-studiet
Læs mereHvor er mine runde hjørner?
Hvor er mine runde hjørner? Ofte møder vi fortvivlelse blandt kunder, når de ser deres nye flotte site i deres browser og indser, at det ser anderledes ud, i forhold til det design, de godkendte i starten
Læs mere