Linköpings Universitet Sonnerfjord HKGBB0, Artificiell Intelligens danso393 Fördjupningsuppgift Vt 2007. Genetiska algoritmer i flygtrafikledning



Relevanta dokument
Information till VFR piloter

Information till VFR piloter

Genetisk programmering i Othello

Trafikregler för luftfart som tillämpas i Finland

genetiska algoritmer

Grundläggande Idéer Algoritmens komponenter Numerisk optimering Genetisk Programmering. Genetiska Algoritmer

Sekvensering av flygplan

TB DEL II BILAGA 3.1 UTREDNING - MÖJLIGHET ATT LÄMNA SID

Tillbud mellan flygplanen SE-DON och OY-KKC vid Stockholm/Arlanda flygplats, AB län, den 29 juni 2000

SÅ VILL SWEDAVIA MINSKA

Genetiska algoritmer. Henrik Hansson Rapport, CDT212 Mälardalens Högskola

Flygtrafiktjänsten Air Navigation Services. Flygtrafik & Logistik

Flygtrafiktjänsten och flygvägssystemet Stockholm Arlanda Airport

Luftfartsstyrelsens författningssamling

Transportstyrelsens föreskrifter om hantering av avgifter för flygtrafiktjänst;

Projekt Green Flights. LG Stridsman ANS / Development

Utvärdera möjligheterna att tillgängliggöra luftrummet för drönare att flyga utom synhåll

IVAO Sverige. IVAO Sverige Drifthandbok Del I: Grunderna Utgiven av SE-HQ Copyright 2011 IVAO Sweden

Regression med Genetiska Algoritmer

Dokumentnummer D FLYGVÄGS- OCH FLYGBULLERKONTROLL STOCKHOLM ARLANDA AIRPORT

Genetiska Algoritmer. 10 mars 2014

Dokumentnummer D FLYGVÄGS- OCH FLYGBULLERKONTROLL STOCKHOLM ARLANDA AIRPORT

Symboler och abstrakta system

Svenska regler för obemannade luftfartyg från 1 feb Rémi Vesvre ledningsstrateg

Transportstyrelsens föreskrifter och allmänna råd om certifikat för flygledare och flygledarelev (konsoliderad elektronisk utgåva);

Distansflygningskurs!

Dokumentnummer D FLYGVÄGS- OCH FLYGBULLERKONTROLL STOCKHOLM ARLANDA AIRPORT

Generella luftrumskrav

HKGBB0, Artificiell intelligens

LFV Dokumenttyp Datum Ver.rev Dokumentnummer Sida Flygtrafiktjänsten P&T

Utredning av höjdrestriktioner för Enköping, Knivsta och Håbo kommuner

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

TNFL01 Flygtrafik och flygtransporter

Undantag för militär luftfart från trafikreglerna för luftfarten

Flygvägssystem Arlanda

Dokumentnummer D FLYGVÄGS- OCH FLYGBULLERKONTROLL STOCKHOLM ARLANDA AIRPORT

SAMRÅD MED KNIVSTA KOMMUN ANGÅENDE ANSÖKAN OM NYTT MILJÖTILLSTÅND FÖR VERKSAMHETEN VID STOCKHOLM-ARLANDA AIRPORT

Totala antalet flygplansrörelser 1998 på Bromma var Dessa utgjordes av följande kategorier: Militär luftfart.

Miljötillstånd inflygningar till Arlanda flygplats

Den konsoliderade elektroniska utgåvan kan innehålla fel. Observera därför att det alltid är den tryckta utgåvan som gäller.

Transportstyrelsens föreskrifter och allmänna råd om luftfartsskydd för flygtrafikledningstjänst

Varje kilo räknas. LFVs arbete för ett miljöanpassat flyg. Niclas Wiklander LFV LiU 7 februari 2013

Riktlinjer för IFF/SSR. Bakgrund Samrådsgrupp Problemtyper Riktlinjer Planeringsprinciper Frequency Clearance Agreement

Transportstyrelsens föreskrifter om utformning och användning av luftrummet;

Mångfald inom en art. Genotyp. Genpool. Olika populationer. Fig En art definieras som

TNFL01 Flygtrafik och flygtransporter

CeHa. Enhet Upprättad av Referens. Swedavia Konsult David Casado Regajo, MS Utvecklingsplan

Dokumentnummer D TEKNISK BESKRIVNING DEL 3 UTREDNING FLYGVÄGAR VER 2.0

Private Pilot (PP) exam

Flygvägssystem Arlanda

LFV Flygtrafiktjänsten Håkan Svensson

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens Erik Claesson

Mångfald inom en art. Genotyp. Genpool. Olika populationer. Fig En art definieras som

Planering av flygtrafik

RNP-inflygningar i okontrollerat luftrum

Transportstyrelsens föreskrifter och allmänna råd om certifikat för flygledare och flygledarelev;

Flygtrafik och flygtransporter

TNFL01 Flygtrafik och flygtransporter

Transportstyrelsens föreskrifter om utbildning av personal för flygtrafiktjänst;

Daisy i flygsimulatorn

Genetiska algoritmer. vem raggar på vem? Petter Bergqvist, kogvet 2

Flygtrafiktjänsten Air Navigation Services. Flygtrafik & Logistik

Möte mellan Luftfartsverket och föreningen Boende mot Buller i Norra Sollentuna

RPAS I CIVILT LUFTRUM MÖJLIGHETER OCH UTMANINGAR.

UTREDNING PARALLELLA MIXADE OPERATIONER FRÅN 56 ELLER 84 RÖRELSER

Konsekvensutredning Föreskrifter om ändring i Transportstyrelsens föreskrifter och allmänna råd (TSFS 2010:145) om trafikregler

Flygtrafik och flygtransporter

Transportstyrelsens föreskrifter om kompletterande bestämmelser för certifikat, auktorisationer och behörighetsbevis;

Shakey s värld med HTNplanering

Kursinformation för TNFL01, Flygtrafik och Flygtransporter Period 1, HT 2014

Ragnar Rylander, professor emeritus

ISSN Rapport RL 2006:05. Rapporten finns även på vår webbplats:

Rapport RL 2011:01 Tillbud med flygplanet SE-DSO i luftrummet över Sjöbo i Skåne län, den 13 oktober 2009

Luftfartsstyrelsens författningssamling

Li#eratur och empiriska studier kap 12, Rienecker & Jørgensson kap 8-9, 11-12, Robson STEFAN HRASTINSKI STEFANHR@KTH.SE

Norrtälje flygplats, flygbuller beräkning 2013

Flygsäkerhet och aktuellt ATCC Stockholm

Kognitionsvetenskap C, HT-04 Mental Rotation

Samråd med Sigtuna kommun, 11 december 2009 Nytt miljötillstånd för Arlanda

Ändrade trafikregler. Till följd av förordning (EU) nr 923/2012. Från och med 4 december 2014

Transportstyrelsens flygsäkerhetsöversikt Transportstyrelsens flygsäkerhetsöversikt 2010

KOMMISSIONENS FÖRORDNING (EU) nr 255/2010 av den 25 mars 2010 om fastställande av gemensamma regler för flödesplanering (ATFM)

Konsekvensutredning Uppdatering av Transportstyrelsens föreskrifter och allmänna råd (TSFS 2012:6) om flygtrafikledningstjänst (ATS)

L 342/20 Europeiska unionens officiella tidning

En systemanalys av flygtrafikledningstjänst med hjälp av FRAM.

Transportstyrelsens föreskrifter om obemannade raketer och uppsläpp av föremål för rörelse i luften;

Rapport RL 2003:27. Separationsunderskridande mellan flygplanen G-KATA och OY-CNP i luftrummet vid Malmö/Sturup flygplats, M län, den 22 augusti 2002

TB DEL II BILAGA 1 BEFINTLIGT SYSTEM FLYGVÄGAR

KOMMISSIONENS GENOMFÖRANDEFÖRORDNING (EU)

0XVLNVNDSDQGHJHQRP *HQHWLVN 3URJUDPPHULQJ

Genetiskt Programmerad Musik

Hantering av hazards i pipelines

1 Vad är problemet och vad ska uppnås?

TNFL01 Flygtrafik och flygtransporter

Luftfart A. Allmänna uppgifter TK0501

Introduktion till statistik för statsvetare

Transportstyrelsens föreskrifter och allmänna råd om trafikregler för luftfart

FLYGSÄKERHETSANALYS PROGRAM AIRPORT CITY OMPRÖVNING VÄSTRA DELEN

Planering av flygtrafik

Operativa procedurer ESGP och framåt

Transkript:

Genetiska algoritmer i flygtrafikledning

Sammanfattning: I denna fördjupningsuppgift i artificiell intelligens ges en inblick i genetiska algoritmer i flygtrafikledningsdomänen. Arbetet har genomförts med hjälp av dels en teoretisk fördjupning samt studiebesök och slutligen en tillämpning av en genetisk algoritm på ett problem. Inledningsvis ges en kort introduktion till flygtrafikledning, de utmaningar som väntas och det ökade behovet av intelligenta system som kan stödja flygledarna i sitt arbete samt en beskrivning av flygtrafikledning i övergripande termer. Förutom flygtrafikledning beskrivs även genetiska algoritmer i korthet för att vidare ge exempel på tillämpningar på problem inom flygtrafikledning från tidigare studier och likaså uppföljningar av dessa. Slutligen har författaren själv implementerat en genetisk algoritm i LISP för att praktiskt tillämpa användningen av genetiska algoritmer på ett problem. Uppslaget till algoritmen följer en övergripande beskrivning från tidigare studier. 2

Genetiska algoritmer i flygtrafikledning... 1 Sammanfattning:... 2 Ordlista... 4 Inledning... 5 Syfte... 5 Metod... 5 Struktur... 6 Flygtrafikledning... 6 Framtiden och dess förnyade behov... 6 Flygtrafikledningens uppgifter.... 7 Genetiska algoritmer... 9 Tillämpningar från tidigare studier... 11 Exempel på genetisk algoritm för sekvensering... 12 Problemdefinition... 12 Den genetiska algoritmen... 14 Referenser... 17 Nätresurser:... 17 3

Ordlista ATC: (Air traffic control unit) Den sammanfattande benämningen på områdeskontroll, terminalkontroll och flygplatskontroll. (LFS 2002:156) ATCC: (Air traffic control centre) En anläggning som inrymmer områdeskontroll och terminalkontroll samt enheter eller funktioner för flödesplanering och luftrumsplanering. (LFS 2002:156) ATFM: (Air traffic flow management) Flödesplanering en verksamhet med syfte att bidra till ett säkert, välordnat och effektivt flöde av flygtrafik genom att tillförsäkra att kapaciteten hos flygkontrolltjänsten utnyttjas maximalt och att trafikvolymen överensstämmer med den uppgivna kapaciteten. (LFS 2002:156) Callsign: anropssignal En-route: Del av flygning längs luftleder eller bestämda färdlinjer, ej innefattande start- och landningsfaserna. ETA: (Estimated time of arrival) För IFR-flygning: Den tidpunkt vid vilken luftfartyget beräknas anlända över den fastställda punkt varifrån det är avsikten att instrumentinflygning skall påbörjas, eller den tidpunkt vid vilken luftfartyget beräknas anlända över flygplatsen. För VFR-flygning: Den tidpunkt vid vilken luftfartyget beräknas anlända över flygplatsen. MTCA: (Medium Term Conflict Alert) Ett system som påkallar flygledarens uppmärksamhet på att två luftfartyg på sikt kommer komma i konflikt med varandra. STA: (Scheduled Time of Arrival) Den tid som tilldelas ankommande trafik för landning. STCA: (Short Term Conflict Alert) Ett larm som utlöses i flygledarens system för att påkalla uppmärksamhet när två luftfartyg håller på att underskida separationsminima. TMA: (Terminal control area) Kontrollområde upprättat för en eller flera flygplatser. Väntläge: En procedur vanligen över ett fix i väntan på färdtillstånd att fortsätta flygningen som planerat. 4

Inledning Denna rapport behandlar användningen av genetiska algoritmer inom domänen flygtrafikledning. I huvudsak inriktas rapporten på sekvenseringsverktyg. Syfte Inom domänen flygtrafikledning har det länge funnits ett stort behov av intelligenta hjälpmedel för att avlasta och hjälpa flygtrafikledaren i sitt arbete. Ständigt ökande trafik leder till minskade marginaler och beslut måste tas snabbt. Flygtrafikledare är experter på att fatta snabba beslut i en komplex dynamisk miljö med flera påverkande faktorer men kapaciteten idag överskrider vad människor klarar av och därför skapas ständigt nya och utvecklade former av beslutsstödssystem och automatik till deras hjälp. Detta arbete koncentrerar sig i första hand på en typ av sekvenseringsverktyg som används för ankommande och avgående trafik från flygplatser. Verktyget hjälper flygledaren att på ett så effektivt sätt som möjligt skapa ett jämt och ordnat flöde i trafiken. Det intressanta i detta arbete är hur genetiska algoritmer kan tillämpas i applikationer för att stödja flygtrafikledarens planeringsarbete. Huvudsyftet med denna rapport har varit att på egen hand skriva en algoritm för att där igenom praktiskt prova på att lösa ett problem utan att använda de traditionella sökalgoritmerna. En praktisk tillämpning ger bättre förståelse för funktionen och resultaten. Tanken var inledningsvis att skriva en traditionell sökalgoritm som jämförelse men det visade sig vara väl optimistiskt och därför presenteras endast den genetiska algoritmen. Metod Litteraturstudier användes som huvudsakligt medel för att sätta sig in i genetiska algoritmer och dess tillämpningar. Huvudsakligt fokus för teoriinsamling låg på tillämpningar inom den domän som problemet fokuserade på dvs flygtrafikledning. Förutom teoristudier hade författaren förmånen att ta del av observationer och samtal med flygledare på plats vid ATCC (Air Traffic Control Centre) i Stockholm. En närmare förklaring till hur de använder stödsystemen var värdefullt för att förstå helheten. De har också gett en inblick i hur komplext systemet är och att alla faktorer omöjligt kan vägas in i en enkel algoritm om det ska hinna bli klart inom tidsramarna för fördjupningsuppgiften. Slutligen har en praktisk tillämpning programmerats. Den ligger lite vid sidan om den teoretiska biten men har varit den viktigaste och mest intressanta delen av arbetet och skälet till dess uppkomst. Arbetet som helhet har varit problemfokuserat där problemet som skulle lösas först togs fram och sedan lämplig teoretisk grund och tidigare studier liksom begränsningar och inramningar till problemet. 5

Struktur Denna rapport består av fyra delar. - En översiktlig bild av flygtrafikledning. - Kort introduktion till genetiska algoritmer. - Genetiska algoritmers tillämpning inom domänen. - En praktisk tillämpning och implementering av en genetisk algoritm. Flygtrafikledning Flygtrafiken och inte minst flygtrafikledningen står inför en fortsatt omvälvande tid framöver. Tekniska förändringar som förändrar arbetet i grunden inte bara till hur det görs utan också till vad som görs. En förändring av ansvar och kontroll på gott och ont. Framtiden och dess förnyade behov EUROCONTROL är den europeiska organisationen för säkerhet inom flygtrafikledning och de förutspår trots händelser som 9/11 en fortsatt stadig ökning av flygtrafiken åtminstone de kommande 15 åren (EUROCONTROL, 2007). En ökning som enligt Hansen (2004) är större än vad flygplatserna klarar av att hantera vilket leder till förseningar som beräknas kosta flygbolagen 3.5 billioner årligen. Det är denna ökning som ligger till grund för att förändringar av det nuvarande systemet behövs. Den kapacitet som idag finns i systemet räcker inte till för att ta hand om den ökade mängden trafik. En snabb och till synes enkel lösning är att bygga mer flygplatser och öka antalet flygledare men som situationen ser ut nu börjar det även bli trångt i luftrummet också och behovet av flödeskontroll är stort (Kuwata Y & Oohama, 1997). Ett effektivt sätt att snabbt öka utrymmet är att minska separationen mellan flygplan i luften. Detta låter sig inte enkelt göras utan att det får effekter på säkerheten. De separationskrav som finns baseras på det avstånd som luftfartyg beroende på kategori fysiskt måste separeras för att inte påverka varandra med sina ändvirvlar. Det baseras också till stor del på den säkerhetsmarginal som ska ge utrymme för oförutsedda händelser och reaktionstid hos både piloter och flygledare liksom bristande precision i navigationsutrustning och radarledningsutrustning. För att minska dessa marginaler krävs utrustning med bättre precision som dessutom ger mer kontroll över situationen och ökad säkerhet. Det behövs också system som kontrollerar flödet av trafik i flygtrafikledningssystemet för att flygledarna ska klara av att hantera all trafik på ett säkert sätt. Det finns redan idag system för såväl flödeshantering som konflikthantering men inom EUROCONTROL jobbar man ständigt med att förbättra dels tekniken men också de procedurer och reglemente som omgärdar tekniken för att öka kapaciteten. Bland framtidens koncept finns till exempel free-flight och subliminal kontroll som på olika sätt handlar om att förflytta kontroll och ansvar från flygledaren till piloten och avancerade AIsystem vilket ska öppna för ökad kapacitet utan att utöka antalet flygledare (EUROCONTROL, 2007). På så sätt finns det stora likheter mellan flygtrafikledning och andra sociotekniskt komplexa system i det att mer avancerad utrustning utvecklas som i många avseenden ska ta hand om de 6

uppgifter som traditionellt har utförts av människor. Bland dessa uppgifter syns bland annat kontroll och planering. Flygtrafikledningens uppgifter. Flygtrafikledningen är det organ som hanterar all flygtrafik för en stat eller en specifik region, med indelning i mindre ansvarsområden, sk sektorer. Arbetet innefattar hantering av trafikflödet till och från flygplatser och upprätthållandet av säkerhet i form av separation mellan luftfartyg under olika faser av flygningen på flygplatsen och i luftrummet så att kollision inte uppstår. Flygtrafiken är i ständigt kontakt med flygtrafikledningen för att få instruktioner och tillstånd att färdas på flygplatsområdet och i luftrummet. Att leda flygtrafiken är ett komplext samspel mellan människor, teknik och väl utarbetade arbetsmetoder. (LFV, 2007) Figur 1: ATS luftrumsklassificering, AIP ENR 1.4 Den primära uppgiften för flygtrafikledningen är att förhinda kollision mellan luftfartyg inbördes (BCL-FT 3.1) i luften och på marken. För detta finns krav på separation. Separationskraven ser något olika ut beroende på vart i luftrummet man befinner sig samt vilken flygplanskategori man tillhör vilket finns beskrivet i AIP 1.6 för flygningar en-route. Ytterligare krav på separation i samband med start och landning finns i bestämmelserna för civil luftfart vilka kommer presenteras senare i samband med tillämpningen. Förutsättningen för att flygtrafikledningen på ett effektivt sätt ska kunna hantera flygtrafiken är att varje flyg har upprättat en såkallad färdplan bland annat bestående av beräknad starttid och ankomsttid till destinationen samt brytpunkter på vägen, höjd och hastighet. Färdplanen är en god approximation för vart ett flygplan kommer att befinna sig och när, men ändringar sker kontinuerligt och därför krävs att trafikledningen också är beredd och kan hantera detta. Detta ställer krav på dynamisk flödeskontroll vilket trafikledarna kan ha hjälpsystem (traffic 7

management adviser, TMA) för att klara av (Hansen, 2004). Dessa system hjälper till att beräkna effektiva landningssekvenser och bantilldelningar (ibid) men det finns också system som hjälper till att planera flödet på längre sikt (ATFM) liksom system för att hantera konflikter som uppstår en-route (STCA & MTCA). Vanligtvis har större flygplatser som hanterar stora trafikvolymer någon form av sekvenseringsverktyg. Systemet hjälper till att redan långt innan slutlig inflygning sekvensera en grupp flygplan som är på väg mot flygplatsen för landning. Systemet som används på Arlanda heter MAESTRO. Syftet med MAESTRO är att minimera förseningar i luften genom att balansera ankomsterna till varje landningsbana i ett jämt flöde. Hänsyn tas till flygplanskategori, separationsminima, beräknad ankomsttid etc (Hansen, 2004). MAESTRO som används på Arlanda ser i princip ut som figuren nedan där ankomsterna till en landningsbana representeras som en tidsstapel med den närmsta tiden framåt. I figur 1 visas en bana med inflygning från två olika punkter exempelvis en för all trafik norr ifrån och en för all trafik söder ifrån som ska landa på samma bana. Varje ankomst presenteras som en horisontell rad med information om aktuellt luftfartyg i form av callsign, flygplanstyp, kategori, dess försening och av stapeln ges beräknad landningstid. De ankomster som har grå text har fått en fast position i landningssekvensen medan de i grön text fortfarande befinner sig ganska långt bort och bara har fått en preliminär ordning som kan komma att ändras. Det inses snabbt att ett sådant verktyg är ovärderligt för att hantera det pärlband av ankommande luftfartyg som ska hanteras av flygtrafikledaren. Figur 2Sekvenseringsverktyget MAESTRO 8

På ATCC (Air Traffic Control Centre) i Stockholm har både ATC (Area Control Centre) och TMC (Terminal Control Centre) tillgång till detta instrument vilket innebär att arbetet med att sekvensera ankomsterna kan ske redan i ett tidigt skede innan de når fram till inflygningskontrollen. Fördelen är att det blir ett jämt flöde utan att någon trafik behöver hamna i onödiga väntlägen. Genetiska algoritmer Den genetiska algoritmen har sitt ursprung i Darwins evolutionära teorier om att det naturliga urvalet och tanken att använda evolutionen som en analogi för att lösa problem applicerades först av John Holland. Algoritmen bygger på att populationen transformeras över generationer där varje individ för varje generation utvärderas med hjälp av en fitnessfunktion och där de individer som är starkast kan reproducera en ny avkomma med genetiska operationer som överkorsning och mutation. Målet för processen är att nå en så bra lösning som möjligt till problemet genom att låta en initial population växa sig starkare över flera generationer. (Koza et al, 1999) Algoritmen kan översiktligt beskrivs i pseudokod GA // starta med en initial tid, generation 0 t := 0; // initiera en slumpmässig population initpopulation P (t); // utvärdera fitness hos alla individer i populationen evaluate P (t); // testa om termineringskriterium har uppnåtts (tid, fitnessvärde, etc) while not done do // öka tiden med en generation t := t + 1; // välj en en subpopulation för reproduktion P' := selectparents P; // utför genetiska operationer på utvald subpopulation cross-over P'; mutate P'; // evaluate it's new fitness 9

evaluate P'; end GA. // skapa en ny population med de individer som har bäst fitness P := survive P,P'; Det finns några grundläggande steg som behöver beaktas innan en genetisk algoritm kan appliceras på ett problem. (Norvig & Russel, 1999; Koza et al, 1999) - Hur ska en individ representeras? - Hur ska fitnessfunktionen fungera, hur mäts lämpligheten hos en individ? - Hur väljs individer ut? - Hur ska reproduktion ske? Individens representation Vanligtvis representeras en individ som en bitsträng i likhet med vårt DNA som består av AGCT gener. I genetiska algoritmer är det vanligt att använda binära strängar där varje gen i strängen kan bestå av en 1 eller en 0 men andra former av bitsträngar är fullt möjliga. Andra representationer är också möjliga men vissa författare har valt att använda termen genetisk algoritm enbart i de fall då individen utgörs av en bitsträng och i andra fall valt att använda termen genetisk programmering där representationen är mer komplicerad.(norvig & Russel, 1999) I tillämpningen på slutet av denna rapport består en individ av en dubbel uppsättning bitsträngar vilket baseras på problemets natur. Det är värt att notera att även om valet av representation är relativt fritt finns det både för och nackdelar med det. En bitsträng tar mindre plats i beräkningssammanhang men kan också försvåra avkodningen av den vilket avspeglas i de antal funktioner och beräkningar som krävs. Fitnessfunktionen Fitnessfunktionen är den funktion som beräknar hur pass lämplig en individ är som lösning på ett problem och alltså den funktion som driver evolutionen framåt. Syftet med funktionen är att välja ut de individer som är bäst lämpade enligt principen för survival of the fittest. Urval Det lämplighetsvärde som beräknas av fitnessfunktionen används för urvalet av individer. Urvalet i sig kan ske på olika sätt men baseras på följande tre principer. - Bättre individer har större chans att bli utvalda än sämre. - En individ kan bli vald fler än en gång vilket innebär att en stark individ kan reproducera sig flera gånger. - Urvalet är probabilistiskt vilket innebär att den bästa individen i populationen inte nödvändigtvis behöver bli vald även om sannolikheten är större. (Koza et al, 1999) Genetiska operationer De genetiska operationerna svarar för reproduktionen, att skapa nya individer i populationen. Gemensamt för dem är att det ändrar om det genetiska innehållet i en individ. De starkaste 10

individerna som valts ut för reproduktion genomgår en överkorsning motsvarande fortplantning där avkomman får gener från bägge föräldrarna. På så sätt förs de starkaste generna vidare till nästa generation. Detta är en ordnad form av förändring hos genuppsättningen som innebär att en del av bitsträngen från den ena föräldern kombineras med en del av bitsträngen från den andra föräldern (Koza et al, 1999) som i exemplet nedan. Överkorsningspunkten, vart strängarna ska delas, väljs ut slumpmässigt. Överkorsningspunkt på mitten xxxx xxxx Del1 del2 Förälder 1 01101111 -> 0110 Avkomman: 0110 0101 Förälder 2 01010101 ->0101 Mutation är en annan form av genetisk förändring som är slumpmässig till skillnad från överkorsning. Med mutation kan en bit i strängen anta ett slumpmässigt värde vilket gör att egenskaper som inte finns hos någon individ i populationen kan uppstå (ibid). I likhet med överkorsning väljs en slummässig position i strängen ut för att muteras. Förälder 111 -> position 2 slumpas ut! -> avkomma 101 Det finns avarter av mutation som sker på lite annorlunda sätt om det finns särskilda restriktioner i individens struktur som i tillämpningen i slutet av rapporten. Denna typ av mutation kallas i viss litteratur för inversion. För att förklara vad som menas kan exemplet tas med en sträng bestående av 10 bitar och som har restriktionen att den ska innehålla siffrorna 0-9 för det är så valet av representation ser ut. En mutation kan då inte slumpas fram, istället består mutationen av att slumpmässiga positioner i strängen byter plats internt. Exempel: Muteringsfunktion baserat på tre bitars rotation. De positioner som väljs ut flyttar sitt värde bakåt i strängen till nästa position som ska bytas. Sista biten flyttas till första bytespositionen. Mall: xx0xx00xxx -> 256 roteras -> 652 och sätts tillbaka xx6xx52xxx Sträng: 0123456789 0163452789 ny sträng Tillämpningar från tidigare studier Det finns en hel del studier gjorda på den här typen av sekvenseringsproblem och konflikthanteringsproblem, både för planeringshänseende (görs i förväg mer än 20 min) och för realtidslösningar (typiskt kortare än 10 min). REF Olika metoder och algoritmer har använts men även om trial-and-error eller cut-and-try metoder för att hitta lösningar på komplexa problem är accepterade i de flesta vetenskaper är dessas prestanda enligt Cheng et al (1999) beroende av erfarenheten hos den som utför analysen. Istället argumenterar han för att genetiska sökmetoder utgör en formell lösning för att optimera dessa strategier. 11

De argumenterar också för att genetiska algoritmer lämpar sig generellt väl för TMA (traffic management advisor) problem pga sin robusthet i domäner som är diskontinuerliga, ickekonvexa, icke-linjära och icke-analytiska. De gör i sin artikel en utvärdering av fyra olika typer av genetiska sökalgoritmer. 1. Individen består av två kromosomer; en med flygplanssekvensen och en med tilldelad landningsbana. Urvalet för reproduktion sker slumpmässigt men individer med högre fittnessvärde premieras. Komplexitet 12!x3^12 (12 flygplan och 3 landningsbanor). 2. Individen består av en kromosom som representerar de ankommande flygplanen. Landningsbanan är inte del av individen utan tilldelas utifrån vilken som ger tidigast landningstid. Urvalet för reproduktion är helt slumpmässigt. Komplexitet 12! 3. Variant av (2) där urvalet sker slumpmässigt men högre fitnessvärde premieras. Komplexitet 12! 4. Individen består av algebraiska uttryck och bygger snarare på genetisk programmering. Slutsatsen från Chengs olika algoritmer var att valet av presentation är viktigt liksom urvalskriteriet. Den algoritm som snabbast kom fram till en individ med högst fitnessvärde var algoritm nummer tre. En kompakt presentation som håller nere sökrymden i kombination med ett urval som premierar högt fitnessvärde. Cheng uttrycker i sina slutsatser att det finns skäl att anta att det schema som applicerades i algoritm nummer fyra kan förbättras för att uppnå bättre resultat. Han nämner att algoritmer som bygger på genetisk programmering har potentialen att utveckla program med långt mycket bättre lösningar. En uppföljning på ovan nämnda algoritmer gjordes av Hansen (2004) med speciellt intresse i att jämföra GA metoder med GP metoder. I dessa experiment uppvisade GP metoderna konsekvent bättre resultat än GA metoderna i överrensstämmelse med Cheng et al (1999). Exempel på genetisk algoritm för sekvensering I denna del av rapporten presenteras en praktiskt tillämpad algoritm som bygger på den första algoritmen beskriven i Cheng et al (1999). Problemdefinition Problemet består av att skapa en så effektiv landningsordning som möjligt mellan flygplan ankommande till en flygplats. Det primära syftet är att detta ska ske på ett tillfredsställande säkert sätt samt att det ska iaktta önskemål från flygplansoperatören om att hålla nere förseningarna. Således kan vi beskriva ett antal begränsningar som ramar in problemet. 12

Figur 3: Schematisk bild av inflygningsmönster - Alla flygningar har enligt sin färdplan en beräknad ankomsttid ETA (estimated time of arrival). Syftet är att planera trafiken så att alla kan landa så nära sin beräknade landningstid som möjligt. - För att upprätthålla säkerhetskraven krävs att alla flygplan separeras från varandra med tillfredsställande separation enligt bestämmelserna. Efterföljande flygplan ska när framförvarande flygplan passerar tröskeln för landning vara på betryggande avstånd. Separation sker utifrån vilken viktkategori flygplanen tillhör, vi antar här tre stycken. Light (L), medium (M) och heavy (H). Efterföljande\framförvarande L M H L 1 1.5 2 M 1 1.5 1.5 H 1 1 1 Tabell 1: Separation i minuter mellan flygplan - Förseningen är skillnaden mellan ETA och STA (scheduled time of arrival) och den ska vara så liten som möjlig. - Antalet tillgängliga banor på den aktuella flygplatsen utgör ytterligare en restriktion. I detta specifika fallet finns tre av varandra oberoende rullbanor (de är separerade banor som inte korsar eller påverkar varandra genom att ligga för nära). 13

- Ingen hänsyn tas till inflygningsvägar eller inflygningsfix (fig. 3) vilket skulle vara ytterligare begränsningar till problemet liksom en rad andra parametrar exempelvis väder, flygplansprestanda och ekonomi i form av förbrukat bränsle och förseningar. Orsaken till detta är att problemet inte ska bli för komplext. Den genetiska algoritmen Förutom problemdefinitionen ovan kommer här en kort beskrivning av de viktiga delarna i själva algoritmen enligt Norvig & Russel (1999) och Koza et al (1999). Individens representation Individen består av två kromosomer, den ena representerar flygplanssekvensen och den andra representerar tilldelad landningsbana. Detta kan se ut på följande sätt. Individ (en landningssekvens & tilldelad bana) = [(1 3 2 5 4) (1 2 3 1 2)] Flygplanspark = [(ALFA 10 L)(BRAVO 9 H)(CHARLIE 8 M)(DELTA 9 M)(ECHO 11 H)] Ex. (ALFA 10 L) => callsign: ALFA, ETA: 10, kategori: L. Från denna information kan vi nu räkna ut vilken ordning varje flygplan har tilldelats att landa samt från deras flygplansinformation i databasen räkna ut deras försening respektive när efterföljande flygplan tidigast får landa baserat på viktkategorin. Fitnessfunktionen Fitnessfunktionen är den funktion som talar om hur effektiv landningssekvensen är i termer av den totala förseningen för alla flygplan i sekvensen. Med hjälp av den kan vi jämföra vilken landningsordning som är mest fördelaktig. Fitnessvärdet används sedan för att välja ut de individer som uppvisar bäst potential. Värdet beräknas utifrån den ETA som finns angiven i flygplanets identitet och den STA som flygplanet tilldelas före landning. Urval Urvalet baseras i nuläget enbart på principen om att de starkaste individerna får reproducera sig. Antalet som väljs för reproduktion bestäms av en variabel som är möjlig att justera. För varje iteration väljs ett antal för reproduktion, dessa kopieras och får skapa en avkomma som sedan har en viss procents chans att mutera. Slutligen läggs dessa till i populationen. För att inte populationen ska växa och bli för stor dör ett antal individer i varje iteration. Detta sker samtidigt som ett antal individer väljs för reproduktion. Ytterligare en begränsnings på populationen är att den inte får innehålla några dubbletter, det håller bland annat algoritmen borta från att snabbt konvergera mot en lösning som inte är särskilt optimal. Genetiska operationer De genetiska operationer som används är en form av överkorsning som utförs på den kromosom som representerar bantilldelningen. Två individer väljs ut för att korsas. I grundinställningarna finns en variabel som talar om hur många bitar som ska överkorsas, sedan väljs en position i strängen slumpmässigt varifrån bitarna ska börja tas. 14

Slumpmässig position Överkorsning Avkomma Förälder 1 (1 2 3 2 3) xx xxx 12 323 12xxx 12231 Förälder 2 (3 1 2 3 1) 31 231 xx 231 Mutation är den andra operatorn i den genetisk algoritmen. Den i sin tur opererar på flygplanssekvensen och är beroende av att bibehålla varje bit om än inte deras position för att utgöra en giltig individ. Orsaken är naturligtvis att varje flygplan inte kan landa mer än en gång till skillnad från kromosomen med landningsbanor där varje landningsbana kan förekomma flera gånger som landningsalternativ. Alltså finns det 12 flygplan i en individ ska alla nummer finnas med exakt en gång. Tilldelningen av landningsbanor får bestå av endast bana 1 även om det alternativet skulle bli väldigt ineffektivt pga de förseningar som skulle uppstå. Mutationen tar en individ och istället för att slumpmässigt byta värde på en bit byter det istället ordning på ett antal positioner i strängen. Skiftandet av bitar bygger på den rotation som beskrevs tidigare. Antalet som roteras bestäms av en variabel som går att ändra i grundinställningarna till algoritmen. Resultat Nedan presenteras ett exempel från en körning med 15 landande flygplan på 3 banor. Alla flygplan har önskemål att landa inom ett 5 minuters fönster (ETA 7-12). Den totala förseningen för alla flygplan är 11.5 minuter och den flygning som får längst försening är Lima som har en försening på 3 min i förhållande till beräknad landningstid. Max antal generationer: 200 Antal landande flygplan: 15 Antal individer i populationen vid start: 12 Antal elitgener för reproduktion: 8 Antal individer som dör varje iteration: 2 Överkorsande gener: 2 Procents chans för mutering: 50 Antalet bitar som muteras: 2 Fitnessvärde (totala förseningar i tid): 11.5 Bana 1 Bana2 Bana 3 Ident ETA ATL Delay Ident ETA ATL Delay Ident ETA ATL Delay India 9 9 0 Charlie 8 8 0 Kilo 7 7 0 November 9 10 1 Bravo 9 9 0 Delta 9 9 0 Foxtrot 10 11.5 1.5 Juliett 10 10 0 Golf 10 10.5 0.5 Lima 10 13 3 Echo 11 11 0 Alfa 10 11.5 1.5 Oskar 12 12 0 Mike 11 12.5 1.5 Hotel 11 13.5 2.5 Givet följande landande flygplan. (("ALFA" 10 L)("BRAVO" 9 H)("CHARLIE" 8 M) ("DELTA" 9 M)("ECHO" 11 H) ("FOXTROT" 10 M) ("GOLF" 10 L)("HOTEL" 11 M)("INDIA" 9 H) ("JULIETT" 10 H)("KILO" 7 H)("LIMA" 10 M) ("MIKE" 11 L)("NOVEMBER" 9 H)("OSKAR" 12 H))) Generellt tycks algoritmen fungera som tänkt. Det är svårt att avgöra hur optimal den är men precis som påpekas i Cheng et als (1999) artikel är sökrymden för en algoritm bestående av 15

två kromosomer större än om det bara varit en kromosom. I det här fallet med 15 flygplan med 3 alternativa landningsbanor ge sökrymden av 15!x3^15 = 1307674368000 x 14348907 = 18763697892715776000. Sökrymden hade varit betydligt mindre om tilldelning av bana i istället hade gjorts med en heuristik där varje flygplan tilldelas den bana som är tillgänglig med minsta möjliga försening. På sätt hade inte bantilldelningen varit del av sökrymden och därför hade sökrymden blivit enbart 15!. Å andra sidan kräver varje beräkning extra tid i sig vilket inte syns i ekvationen. Det kan argumenteras att den tiden är kortare än tiden som krävs för att söka i sökrymden vilket inte är något jag har för avsikt att gå närmare in på. 16

Referenser Cheng V, Crawford L, Menon P (1999). Air traffic control using genetic search techniques. Proceedings of the IEEE International Conference on Control Applications. Hansen J (2004). Genetic search methods in air traffic control. Computers and Operations Research archive Volume 31, Issue 3 (March 2004) John R. Koza, Forrest H. Bennett, III, David Andre (1999). Genetic programming III Darwinian invention and problem solving. Morgan Kaufmann Publishers. Kuwata Y & Oohama H (1997). A Case Study of a Real-Time Problem Solving Strategy in an Air Traffic Control Problem. Expert Systems with Applications, Vol. 12, No. 1, pp. 71-79, 1997 Russell, S & Norvig, P (1995). Artificial Intelligence: A Modern Approach. Prentice Hall. Nätresurser: AIP [www]. Aeronautical Information Publication. Tillgänglig på nätet. <http://www.lfv.se/templates/lfv_infosida_70_30 2555.aspx> Hämtat mellan 20070301-20070402 BCL [www]. Bestämmelser för Civil Luftfart. Tillgänglig på nätet. <http://www.lfs.luftfartsstyrelsen.se/irisext/gallande/bcl/> Hämtat mellan 20070301-20070402 EUROCONTROL [www] <http://www.eurocontrol.int> Hämtat mellan 20070301-20070402 LFV [www] <http://www.lfv.se/templates/lfv_lfistart 2341.aspx> Hämtat mellan 20070301-20070402 17