er der nogen som kan hjælpe mig med denne her opgave! Bare forklare hvordan jeg kan gribe det an.
Eksempel Givet en delvist opbygget tur, så er omkostningen ved at indsætte byen j mellem byerne i og k givet ved c(i; j; k) = d(i; j) + d(j; k) - d(i; k)
Heuristikken nærmeste-indsættelse består så i at 1. Vælg en startby. 2. Gentag indtil der ikke er flere ikke-besøgte byer (a) Vælg den by og det indsættelsespunkt med den mindste omkostning (b) Udfør indsættelsen Som udgangspunkt skal du bruge by 1 som startby.
Opgave: Implementer nærmeste-indsættelse heuristikken. Vis køretiderne og de turlængder du finder for de 5 store instanser i en tabel.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Uden at sige for meget, så handler det vel om at bruge en Graph
Synes godt om
Slettet bruger
10. januar 2008 - 04:10#2
Ligner da en simpel O(n^2) heuristik for TSP?
Du har en permutation P af byer, der repræsenterer en rute og en mængde V af ikke besøgte byer?
Udvælg en startby f.eks. by 1. Lav en while løkke til punkt 2. Slut kriteriet er når V er tom. Ellers skal du bare for hver iteration vælge den by i V som minimerer c(i;j;k)...
Synes godt om
Slettet bruger
10. januar 2008 - 04:16#3
Du skal selvfølgelig nok også opdatere startbyen, med den nyligt valgte by fra V i hver iteration :?
Synes godt om
Slettet bruger
10. januar 2008 - 04:18#4
Eller nej .. .det er vist ikke nødvendigt. Mon ikke jeg bare skulle gå i seng :s
Synes godt om
Slettet bruger
10. januar 2008 - 11:45#5
Efter at have sovet på det er jeg kommet til at tænke på at algoritmen jo nok kører i tid O(n^3) i stedet. Så for at gøre det kort:
Input V - mængde af byer som ikke er besøgt Output P - en permutation af byerne V
1) Flyt n fra V til P. Dette er start byen. 2) Hvis V er tom returner P. 3) For hver kant (i, k) fra P og for hver knude j fra V vælg det sæt der minimerer c(i; j; k). 4) Fjern det valgte j fra V og indsæt det mellem i og k, i P 5) Gentag fra punkt 2
I hvert gennemløb flyttes én by. Der tager tid O(n). Derudover ses på alle kanter i P og byer i V. Hvis der er x kanter i P er der n-x byer i V hvorfor dette skridt tager tid x*(n-x) = O(n^2). Hele algoritmen tager så tid O(n^3).
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.