Avatar billede bhj031180 Nybegynder
24. maj 2002 - 13:34 Der er 22 kommentarer og
1 løsning

Excel-Problemløser

Jeg er ved at lave et projekt, hvor vi bruger binær lineær programmering, til at løse et ruteplanlægningsproblem (TSP), hvor ruten skal minimeres. Jeg har dog et problem med bibetingelserne! Jeg kan ikke få ruten til at være sammenhængende, der skaber "subture", dvs. den eksempelvis laver en rute der hedder Odense-Middelfart-Bogense-Odense + en rute Nyborg-Svendborg.
Det jeg gerne vil ha' er, at den laver en sammehængende rute, som starter i odense og slutter i Odense, uden subture.

Håber der er nogen der kan hjælpe.
Avatar billede janvogt Praktikant
24. maj 2002 - 13:39 #1
Tror ikke du umiddelbart får nogen hjælp.
Det vil kræve en del flere oplysninger :-|
Avatar billede bhj031180 Nybegynder
24. maj 2002 - 13:54 #2
Bare sig hvad det kræver, så får i oplysninger, jeg kunne evt. sende filen?
Avatar billede janvogt Praktikant
24. maj 2002 - 13:59 #3
Ja ok, prøv bare det ...
janvogt@esenet.dk
Avatar billede kol Nybegynder
24. maj 2002 - 14:08 #4
Spændende!
Jeg lægger mig i baghjulet.

Hilsen KOL
Avatar billede Slettet bruger
24. maj 2002 - 21:42 #5
Det lyder som "Travelling Salesman" problemet.
Håber du har en hurtig maskine  :-)
Avatar billede dumdum Nybegynder
24. maj 2002 - 21:43 #6
blackadder>> Så er vi vist ude i noget geometri, hvis det skal være rigtig smart...


www.fotx.net/dumdum
Avatar billede Slettet bruger
24. maj 2002 - 21:50 #7
Hvis det skal laves i Excel, hvilket nok ikke er umuligt, vil jeg nok lave det som "brute force" beregning. Dvs.
1. Den skal beregne samtlige ruter
2. Den skal beregne totalafstand for alle ruter
3. Den skal finde den korteste rute

Men der er jo mange måder at gribe det an på, der er jo skrevet tykke bøger om ruteoptimeringsalgoritmer  :-)
Avatar billede bhj031180 Nybegynder
25. maj 2002 - 15:33 #8
Det er TSP => Godt Set! Blackadder
Avatar billede pernillemb Nybegynder
26. maj 2002 - 21:01 #9
Jeg kunne godt tænke mig at se svaret til dette spørgsmål, da jeg højst sandsynligt sidder med den samme opgave!!!  ;-) Er det ikke obligatorisk opgave fra "Modellering og Algoritmer" med Niels Christian?

Pernille
Avatar billede Slettet bruger
26. maj 2002 - 21:56 #10
Jeg har tidligere lavet noget tilsvarende i C++, også i forbindelse med en skoleopgave  :-)

Vores 'algoritme' fungerede således:
--------------------

Med 5 punkter (noder) i ruten. A, B, C, D, E

1. Find samtlige (!) mulige kombinationer af ruter dvs.
ABCDE, ABCED, ACBDE osv. For x noder er der x! (fakultet) antal permutationer.

2. Hver rute opdeles i under-ruter. F.eks:
ABCDE opdeles i  A-B, B-C, C-D, D-E

3. Afstanden imellem hver under-rute slås op i en afstandstabel. Alle underafstandene adderes og totalafstanden for ruten findes.

4. Til sidst, find den rute med korteste afstand.
----------------------------

Fordele:  Du finder med garanti den korteste rute
Ulempe: Du skal undersøge samtlige ruter, det kan tage langt tid med mange noder. Ved x = 10, skal du undersøge 3628800 ruter !

Der ligger ikke nogen snedig algoritme bag, men det er (vistnok) den mest simple måde at gøre det på.
Avatar billede bhj031180 Nybegynder
26. maj 2002 - 22:44 #11
Jeg kan desværre ikke bruge dit svar blackadder, men tusind tak for hjælpen alligevel!
Jeg skulle helst ha svaret i excel!
Avatar billede bhj031180 Nybegynder
26. maj 2002 - 22:44 #12
Det er ikke desværre ikke obl. opg pernille, men du må godt få svaret alligevel!
Avatar billede bhj031180 Nybegynder
26. maj 2002 - 22:50 #13
Jeg har fundet en vba kode i et notesæt fra SDU
Avatar billede Slettet bruger
26. maj 2002 - 23:52 #14
Ok, jeg er lidt nysgerrig for at se hvordan det er lavet i VBA...
Må jeg gerne se koden også ?
tc@elvis.dk
Avatar billede jakob_madsen Nybegynder
27. maj 2002 - 11:08 #15
Så vidt jeg husker er dit problem NP hard. Hvilket betyder at der ikke er nogen nem algoritme til at finde en løsning. Jeg vil tro at hvis du skal løse problemet i excel med en problem løser skal du løse det som et form for sorterings problem.
Godt du opstiller dine noder i en liste
A
B
C
D
Du laver et lille “VBA” program som udregner længden mellem hver linie. Indtil nu ikke noget vanskeligt. (Denne længde skal minimeres) Det du skal nu er at finde en metode til at ”bytte om” på dine noder.
Igen laver du en tabel med alle dine noder.
Søjle A    Søjle B
A     4
B    3
C    2
D    4
Tallet I søjlen viser ikke I hvilken række følge noderne kommer I men hvor de skal flyttes hen.
F.eks. der står ud for A 4 hvilket betyder at du skal bytte A fra din rute liste ud med D.
B skal byttes ud med C, og C skal byttes ud med hvad der nu står på plads 2 i din rute liste.
Det der er interessant er at du starter med en sorteret liste og ved hjælp af Søjle B sortere du dine noder. Du kan nu anvende excels solver til at optimere problemet.
Avatar billede jakob_madsen Nybegynder
27. maj 2002 - 11:09 #16
Hov en shortes path i en graf er vist ikke  NP hard.  Hvis du ønsker en beskrivelse af en algoritme til løsning af problemet skal du bare sige til. Men du kan ikke anvende solveren
Avatar billede jakob_madsen Nybegynder
27. maj 2002 - 11:13 #17
til den algoritme
Avatar billede bak Forsker
27. maj 2002 - 11:51 #18
bhj031180 > Send lige arket til mig også, det her ser da interessant ud.
Avatar billede bak Forsker
27. maj 2002 - 12:46 #19
Ups !!!
til tommybak@netscape.net
Avatar billede jakob_madsen Nybegynder
28. maj 2002 - 14:31 #20
Kan du få det til at fungere ????
Avatar billede bhj031180 Nybegynder
28. maj 2002 - 14:48 #21
jeg har ikke brugt den, men derimod en løsning jeg har fundet i et notehæfte på på sdu, jeg lukker ? nu!
Avatar billede Slettet bruger
17. juni 2002 - 20:31 #22
Hvis du vil lukke spørgsmålet, skal du tildele point, enten til dig selv eller en anden.
Avatar billede bhj031180 Nybegynder
20. juni 2002 - 13:58 #23
problemet er løst
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester