Lugvaartskedulering met behulp van intelligente agente
-
Upload
khangminh22 -
Category
Documents
-
view
0 -
download
0
Transcript of Lugvaartskedulering met behulp van intelligente agente
LUG VAARTSKEDULERING MET BEHULP VAN
INTELLIGENTE AGENTE
deur
JOSEF JACOBUS LANGERMAN
VERHANDELING
voorgele ter vervulling van die vereistes vir die graad
MAGISTER IN DIE NATUURWETENSKAPPE
in
REKENAARWETENSKAP
in die
FAKULTEIT NATUURWETENSKAPPE
aan die
RANDSE AFRIKAANSE UNIVERSITEIT
STUDIELEIER: PROF. E.M. EHLERS
JANUARIE 1997
ABSTRACT
This thesis investigates how intelligent agents can be used to solve airline scheduling
problems. It is divided into three parts. The first states what airline scheduling consists
of; the second discusses the results of a literature study; and the third consists of solutions
to the problem.
Airline scheduling consists of three major activities viz. market-driven flight generation,
crew assignment and operational problem management. The market schedulers first
create a flight set based on a forecast of passenger numbers and passenger preferences.
The crew schedulers attempt to crew the flights generated by the market schedulers
(subject to safety and rest regulations). The operational schedulers maintain the flights
from seven days prior to the day of operation to one day after the end of the flight.
Finding a global solution to this three-phase operation is the airline scheduling problem.
An agent-based solution to the airline scheduling problem was the focus of this thesis.
Agents encapsulate many useful artificial intelligence solution strategies. For the
proposed solution to the market driven scheduling problem a distributed negotiation
scheme using agents was used. A routing and an assignment agent were defined to assist
the crew scheduler. Finally an operational scheduling agent was defined to solve the
operational scheduling problem. The routing and assignment agents make use of FIFO-
queues and genetic algorithms. The operational scheduling agent makes use of a
traditional expert system combined with a learning algorithm to give it more flexibility.
A prototype, developed in Java, was used to demonstrate how agents could solve the
market driven scheduling problem. This distributed negotiation scheme was
implemented on Sun SPARC workstations running the Solaris operating system. A
prototype developed in Delphi was also developed to show how learning algorithms
could be applied to the scheduling environment.
UITTREKSEL
In hierdie verhandeling gaan ons ondersoek instel na hoe intelligente agente gebruik kan
word om die probleem van skedulering in lugrederye op te los. Hierdie verhandeling is in
drie dele verdeel: die eerste bespreek die probleem van skedulering in lugrederye, die
tweede evalueer resente literatuur oor die onderwerp en die derde bespreek oplossings vir
hierdie probleme.
Skedulering in lugrederye bestaan uit drie primere aktiwiteite nl: bemarkingsgedrewe
skedulering, die toekenning van bemanning en operasionele skedulering. Die
bemarkingskeduleerders skep 'n skedule wat op die vooruitskouing van passasiersgetalle
en die gemak van passasiers gebaseer is. Die bemanningskeduleerders probeer dan om
hierdie rooster te beman, onderhewig aan die veiligsheid- en rusvereistes van die
bemanning. Die operasionele skeduleerders onderhou dan die skedule vanaf sewe dae
voor die vertrek van die vlug tot en met een dag na die die aankoms van die vlug.
Hierdie verhandeling fokus op die gebruik van intelligente agente vir die oplossing van
skeduleringsprobleme in die lugredery. Vir die bemarkingsgedrewe skedulerings-
probleem is daar van agente wat met mekaar onderhandel gebruik gemaak. 'n
Roeterings-, sowel as 'n plasingsagent is gedefinieer om die bemanningskeduleerder by te
staan. 'n Operasionele skeduleringsagent is ook gedefinieer om die operasionele
skeduleringsprobleem op te los. Die roeteringsagent maak van FIFO-toue en genetiese
algoritmes gebruik. Die operasionele skeduleringsagent maak van 'n tradisionele
ekspertstelsel gekombineerd met 'n leeralgoritme gebruik.
`n Prototipe is in Java ontwikkel om aan te toon hoe agente die bemarkingsgedrewe
skeduleringsprobleem kan oplos. Hierdie prototipe is geimplementeer op SUN
werkstasies wat van die Solaris bedryfstelsel gebruik maak. 'n Prototipe is in Delphi
ontwikkel om aan te toon hoe leeralgoritmes gebruik kan word in skedulering.
INHOUDSOPGAWE
INLEIDING TOT DIE VERHANDELING 1
1.1 PROBLEEMSTELLING 1
1.2 AFBAKENING VAN DIE STUDIEGEBEED 1
1.3 BELANGRIKHEID VAN HIERDIE NAVORSING 2
1.4 UITLEG VAN DIE VERHANDELING 3
SKEDULERING DEUR LUGREDERYE 7
2.1 SKEDULERING IN 'N LUGREDERY 7
2.2 AREAS VAN SKEDULERING 9
2.2.1 Toerustinginstandhouding 9
2.2.2 Skedulering van bemanning 10
2.2.3 Fasiliteite 11
2.3 BEMARKINGSFAKTORE 12
2.4 SAMEVATTING 13
TOERUSTINGINSTANDHOUDING 14
3.1 INSTANDHOUDING 14
3.2 INSTANDHOUDINGSTASIES 14
3.3 VLAKKE VAN INSTANDHOUDING 16
3.3.1 Eenvoudige toetsing 16
3.3.2 Terminerendevoorvlug-toets 16
3.3.3 Algemene diens 16
3.3.4 Algehele diens en opknapping 17
3.4 EFFEKTIWITEITSDOELWITTE VAN INSTANDHOUDING 17
3.5 SAMEVATTING 18
DIE ROL VAN BEMARKINGSFAKTORE BY DIE OPSTEL VAN 'N VLUGSKEDULE 19
4.1 Dm ROL VAN BEMARKING IN DIE LUGREDERY 19
4.2 BEMARKINGGELEENTHEIDSANALISE 20
4.2.1 Die makro-omgewing 20
4.2.2 Inligting 22
4.2.3 Markgrootte 22
4.2.4 Marksegmentasie 23
4.2.5 Markpenetrasie 24
4.3 VOORUITSKATTING 25
4.3.1 Tydreeksanalise 25
4.3.2 Kategorie-analise 26
4.3.3 Meervoudigeregressie-analise 26
4.4 DIE VERKOOPBAARHEID VAN DIE PRODUK 27
4.5 VERKEERSVLOEI 28
4.6 SAMEVATTING 28
DIE SKEDULERING VAN BEMANNING 29
5.1 INLEIDING 29
5.2 WERKBEPERKINGE 29
5.2.1 Staatsregulasies 30
5.2.2 Werkkontrakte 30
5.3 DIE KALIBER VAN DIE PERSONEEL 30
5.4 BEMANNINGSBENUTFING 31
5.5 SENIORITEIT EN OPLEIDING 32
5.5.1 Stuurkajuitpersoneel 32
5.5.2 Kajuitpersoneel 32
5.6 VERLOF 33
5.7 TUISSTASIES 33
5.8 SAMEVATTING 34
DIE SKEDULERING VAN LUGHAWEFASILITEITE EN VLIEGTUIGTOERUSTING 37
6.1 FASILITEITSBEPERKINGS 37
6.1.1 Stasiekaarte 38
6.1.2 Kaartjiepunte 39
6.1.3 Grondtoerusting 39
6.1.4 Hekke 39
6.2 TOERUSTINGBEPERKINGS 40
6.3 SAMEVATTING 41
PROSESVLOEI VAN SKEDULERING 42
7.1 REKURSIEWE AARD VAN SKEDULERING 42
7.2 PROSESVLOEI 42
7.3 OPERASIONELE SKEDULERING 43
7.4 SAMEVATTING 44
SKEDULERING 48
8.1 INLELDING TOT SKEDULERING 48
8.2 SKEDULERINGSKATEGORIEE 49
8.2.1 Toekenningsprobleme 50
8.2.2 Opeenvolgingsprobleme 51
8.2.3 Vervoerprobleme 53
8.2.4 Samevatting van'skeduleringskategoriee 53
8.3 OPERASIONELE NAVORSINGSMETODES (LUGREDERYGEORIENTEERDE) 53
8.3.1 Skedulekonstruksie 55
8.3.2 Skedule-evaluasie 56
8.4 KUNSMATIGE-INTELLIGENSIE-BENADERINGS 56
8.4.1 Objekgeorienteerde benadering 56
8.4.2 Genetiese algoritmes 57
8.4.3 Neurale netwerke 59
8.5 SAMEVATTING 60
INTELLIGENTE AGENTE 61
9.1 DIE OPTREDE VAN AGENTE 62
9.2 STRUKTUUR VAN 'N AGENT 64
9.2.1 Kennis 67
9.2.2 Funksies 67
9.3 DIE OMGEWING WAARIN 'N AGENT FUNKSIONEER 73
9.4 AGENTE WAT BEPLAN 74
9.4.1 Pro bleemoplossingsagent 75
9.4.2 Kennisgebaseerde agente 77
9.4.3 Beplanningsagente 78
9.5 ANDER VELDE SE BYDRAE TOT AGENTTEORTE 80
9.6 SAMEVATTING 82
KOMMUNIKASIE EN SAMEWERKING TUSSEN AGENTE 83
10.1 INLEIDING 83
10.2 BOODSKAPPE 84
10.3 KOMPONENTE VAN KOMMUNIKASIE 85
10.4 ARGITEKTUUR VIR MULTI-AGENT-STELSELS 87
10.5 AGENTE WAT ONDERHANDEL 90
10.5.1 Die hulpbrontoekenningsprobleem 91
10.5.2 Die werkverdelingsprobleem 91
10.5.3 Kriteria vir die evaluasie van onderhandelingsprotokolle 92
10.6 DIE KONTRAKNETWERK-ONDERHANDELINGSPROTOKOL 92
10.6.1 Kommunikasie tussen agente 93
10.6.2 Semantiek 94
10.7 SAMEVATTING 97
AGENTE WAT LEER 98
1 1.1 INLEIDING TOT DIE LEERTEORIE 98
11.2 STRUKTUUR VAN 'N AGENT WAT LEER 99
11.3 INDUKTIEWE (EMPIRIESE) LEER 102
11.3.1 Lerende besluitnemingsbome 102
11.3.2 Afleiding van besluitnemingsbome uit voorbeelde 104
11.3.3 Berekening van die prestasie van 'n lerende algoritme 105
11.4 DIE TOEPASSING VAN DIE INFORMASIETEORIE 106
11.5 VERSTERICINGSLEERALGORTTMES 108
11.5.1 Die omgewing 109
11.5.2 Die lerende outomaat 110
11.6 VOORKEURE (BEVOORDELING) 113
11.7 ANDER LEERBENADERINGS 114
11.8 SAMEVATTING 114
'N OORSIG VAN BESTAANDE LUGREDERY-SKEDULERINGSTELSELS 115
12.1 ICAPS 115
12.2 DIE COSYTEC-REEKS VAN PRODUKTE 116
12.2.1 CHIP 116
12.2.2 DAYSY 117
12.3 MOVEMENT CONTROL SYSTEM (MCS) 118
12.4 DIE GENESIS-REEKS VAN PRODUKTE 119
12.4.1 SPS ("Schedule Planning System") 121
12.4.2 PFS ("Passenger Forecasting System") 121
12.4.3 MCS ("Movement Control System") 122
12.4.4 CRS ("Crew Rostering System") 122
12.4.5 CPS ("Crew Pairing System") 123
12.5 PROBLEME MET BESTAANDE STELSELS 123
12.6 SAMEVATTING 124
'N AGENTGEBASEERDE OPLOSSING VIR BEMARKINGGEDREWE SKEDULERING 126
13.1 KOMPONENTE VAN 'N SKEDULERINGSAGENT 126
13.2 BEHOEFTEGEDREWE SKEDULERING 127
13.3 DINAMIKA VAN SKEDULERINGSAGENTE 129
13.3.1 Struktuur van 'n skeduleringsagent 129
13.4 IMPLEMENTERING 131
13.4.1 Voorbeeld 131
13.5 SAMEVATTING 134
'N AGENTGEBASEERDE OPLOSSING VIR DIE SKEDULERING VAN BEMANNING 135
14.1 VOORAFPROSESSE 135
14.2 OPLOSSINGSMETODES 136
14.2.1 Groeperingsbenadering 136
14.2.2 Roeteringsbenadering 139
14.2.3 Verskille tussen die benaderings 142
14.3 DIE ROL VAN AGENTE 142
14.3.1 Die roeteringsagent 143
14.3.2 Die plasingsagent 144
14.3.3 Die lerende plasingsagent 145
14.4 KOPPELING MET DIE BEMARKINGSKEDULEERDER
146
14.5 SAMEVATTING 147
AGENTGEBASEERDE OPERASIONELE SKEDULERING 148
15.1 OPERASIONELE SKEDULERING 148
15.2 EKSPERTSTELSEL-BENADERING 149
15.3 OPERASIONELE SKEDULERINGSEKSPERTSTELSEL 151
15.3.1 Plaaslike wereld 151
15.3.2 Probleemversameling 152
15.3.3 Fokus op die probleem 153
15.3.4 Keuse van 'n oplossing 153
15.3.5 Skep van 'n nuwe toestand 154
15.3.6 Beperkingstoetsing 154
15.3.7 Toets van 'n oplossing 154
15.3.8 Keuse van 'n nuwe toestand 156
15.3.9 Herhaling 156
15.3.10 Gebruikersinteraksie 156
15.4 DIE LERENDE AGENT 157
15.5 SAMEVATTING 160
IMPLEMENTERING VAN DIE Q-LERENDE ALGORITME 161
16.1 PROBLEEMSTELL1NG EN AFBAKENING VAN WERK 161
16.2 AANPASSING VAN DIE Q-LEERPROSES VIR OPERASIONELE SKEDULERING 162
16.3 DEMONSTRASIESTELSEL 165
16.3.1 Hoofskerm 165
16.3.2 Statistiekskerm 166
16.3.3 Parameterskerm 168
16.4 SAMEVATTING 169
IMPLEMENTERING VAN 'N VERSPREIDE SKEDULEERDER 170
17.1 ARGITEKTUUR 170
17.1.1 Hardeware 170
17.1.2 Sagteware 171
17.1.3 Kommunikasieprotokolle 173
17.1.4 Voorbeeld van die implementering van netwerkprotokolle 174
17.2 HoEVLAK-ONTWERP
176
17.2.1 Agentstruktuur 176
17.2.2 Skeduleringsagent 179
17.2.3 Boodskapformaat 182
17.3 DINAMIKA 185
17.3.1 Dinamika van die koordineerder 185
17.3.2 Dinamika van die skeduleerder 186
17.4 GEHALTE VAN OPLOSSINGS 188
17.5 SAMEVATTING 189
SAMEVATTING 190
18.1 GEVOLGTREKKING 190
18.2 EFFEKTIWITEIT 191
18.3 NAVORSINGSGELEENTHEDE 192
18.4 SLOTOPMERKING 193
LYS VAN GERAADPLEEGDE WERKE 194
Lys van figure
Figuur 2.1: Die verband tussen politieke en bemarkingsfaktore en die getal passasiers 12
Figuur 4.1: Die Box-Jenkins-tegniek 27
Figuur 5.1 Vlugpatrone van bemanning (sig-sag kaart) 35
Figuur 5.2: Vlugpatrone van bemanning (Gantt kaart) 36
Figuur 7.1: Teenswoordige skeduleringsproses 45
Figuur 7.2: Voorbeeld van 'n kaart wat deur 'n operasionele skeduleerder gebruik word 46
Figuur 8.1: Voorbeeld van 'n Gantt-kaart 50
Figuur 8.2: Diagrammatiese voorstelling van genetiese algoritmes 58
Figuur 9.1: Struktuur van hierdie hoofstuk 61
Figuur 9.2: Agentinteraksie met die omgewing 62
Figuur 9.3: Komponente van 'n intelligente agent 65
Figuur 9.4: Notasie om 'n skeduleringsagent te beskryf 66
Figuur 9.5: Die struktuur van 'n eenvoudigerefleks-agent 69
Figuur 9.6: Struktuur van 'n agent wat van die stand van sake rekord hou 70
Figuur 9.7: Struktuur van 'n mikpuntgebaseerde agent 71
Figuur 9.8: Struktuur van 'n bruikbaarheidsgebaseerde agent 72
Figuur 9.9: Voorbeeld van 'n soekboom 76
Figuur 10.1: Kommunikasieprosesse 86
Figuur 10.2: Twee agente wat 'n voorstellingstaal deel 87
Figuur 10.3: Twee agente wat kommunikeer d.m_v. taal 88
Figuur 10.4: Federasie van agente 89
Figuur 10.5: Boodskappe in die kontraknetwerk rondgestuur 97
Figuur 11.1: Samehang van hierdie hoofstuk 98
Figuur 11.2: 'n Algemene model vir 'n agent wat leer 100
Figuur 11.3: Besluitnemingsboom om te besluit of 'n bemanningslid mag vlieg 103
Figuur 11.4: Die omgewing 109
Figuur 11.5: Die outomaat 111
Figuur 12.1: Uitleg van DAYSY 118
Figuur 13.1: Roetenetwerk 128
Figuur 13.2: Vraaggrafiek 128
Figuur 13.3: Komponente van 'n skeduleringsagent 130
Figuur 14.1: Samehang van hierdie hoofstuk 135
Figuur 14.2: Bemanningskedulering 1 136
Figuur 14.3: Bemanningskedulering 2 138
Figuur 14.4: Struktuur van 'n roeteringsagent 143
Figuur 14.5: Struktuur van 'n plasingsagent 145
Figuur 14.6: Samehang tussen bemarking- en bemanningskedulering 147
Figuur 15.1: 'n Besluitnemingsboom 150
Figuur 15.2: Soekstrategie om 'n oplossing vir 'n operasionele probleem to vind 152
Figuur 15.3: Rol van 'n lerende agent in operasionele skedulering 157
Figuur 15.4: Interaksie van die agent met sy omgewing 158
Figuur 15.5: Diagrammatiese voorstelling van 'n Q-lerende agent 159
Figuur 16.1: Hoofskerm 165
Figuur 16.2: Statistiekskerm 167
Figuur 16.3: Statistiekskerm II 168
Figuur 16.4: Parameterskerm 168
Figuur 17.1: Agente op die netwerk 175
Figuur 17.2: Struktuur van 'n tydagent 177
Figuur 17.3: Struktuur van 'n koordineerderagent 178
Figuur 17.4: Struktuur van die skeduleringsagent 179
Figuur 17.5: Voorbeeld van 'n vlugskedule 188
Lys van tabelle
Tabel 4.1: Tydreeksontledingstegnieke 26
Tabel 8.1: Skeduleringskriteria 52
Tabel 8.2: Verskille tussen tradisionele en objekgeorienteerde programmering 11 56
Tabel 9.1: Tabel vir die Boolese OF-funksie 64
Tabel 9.2: Ander velde se bydrae tot agentteorie 81
Tabel 13.1: Sektore en vliegtuigtipes 129
Tabel 15.1: Voorstelle om sekere tipes probleme op to los 155
Tabel 18.1: Praktiese toepassing van hierdie navorsing 190
1. Inleiding tot die verhandeling
1.1 Probleemstelling
Die doel van hierdie verhandeling is om die rol wat intelligente agente in
lugrederyskedulering kan speel, te ondersoek.
Die probleemstelling wat in bostaande paragraaf gestel is, kan opgedeel word in sub-
probleme, wat insluit
die aard van lugrederyskedulering
die aard en struktuur van intelligente agente
die wyse waarop agente gebruik kan word om spesifieke
lugrederyskeduleringsprobleme op te los.
Agente was die afgelope paar jaar die brandpunt van navorsing [1]. Die deurbrake
wat op hierdie navorsingsgebied gemaak is, is besig om in 'n wye reeks toepassings te
kulmineer. In die sagteware-wereld is daar aansienlike diversiteit en rykdom. Daar
bestaan reeds duisende sagteware-produkte wat die gebruiker voorsien van 'n groot
verskeidenheid inligting en dienste oor 'n wye spektrum van platforms versprei.
Hierdie sagteware is van groot waarde vir die gebruiker wanneer dit in isolasie
gebruik word. Die vraag na sagteware wat in staat is om inligting en dienste met
ander programme uit te ruil, groei nog vinniger. Wanneer programme egter met
mekaar in wisselwerking tree, kan 'n baie groter verskeidenheid van probleme opgelos
word — probleme wat gewoonlik nie in isolasie opgelos kan word nie. Agente beskik
ook oor die vermod om 'n wye reeks oplossingsmetodologied te enkapsuleer en kan
oor 'n aantal heterogene platforms versprei word [1]. Agente is dus 'n uitstekende
hulpmiddel in lugrederyskedulering, aangesien daar 'n groot mate van interaksie is,
sodat die kompleksiteit baie hoog is.
1.2 Afbakening van die studiegebied
Slegs die volgende areas van lugrederyskedulering gaan opgelos word:
Die gebruik van bemarkingsfaktore om 'n vlugskedule uit te werk.
Die skedulering van bemanning vir 'n gegewe vlugskedule.
Inleiding tot die verhandeling 1
• Die skedulering van operasionele gebeurlikhede.
Kwessies wat wel in die uitbreiding van die probleemstelling (Afdeling A van hierdie
verhandeling) aangevoer sal word, nl. toerustingskedulering en die skedulering van
lughawefasiliteite, gaan nie aangepak word nie. Laasgenoemde twee kwessies word
slegs ter wille van volledigheid aangeroer. In hierdie verhandeling gaan prakties
aangetoon word hoe agente d.m.v. onderhandeling die bemarkinggedrewe
skeduleringsprobleem kan oplos. Die resultate van 'n prototipe wat vir die oplossing
van die bemarkinggedrewe skeduleringsprobleem ontwikkel is, sal ook behandel
word. 'n Prototipe is ook ontwikkel om te toon hoe lerende algoritmes in die
operasionele skeduleringsomgewing gebruik kan word. Daar sal ook aangetoon word
hoe genetiese algoritmes, tesame met lerende algoritmes, in die skedulering van
bemanning gebruik kan word.
1.3 Belangrikheid van hierdie navorsing
'n Vlugskedule is die produk wat 'n lugredery verkoop. Die skedule het naamlik sowel
'n regstreekse as 'n onregstreekse uitwerking op die winsgewendheid van 'n lugredery.
Die regstreekse uitwerking daarvan sluit aspekte soos koste van bemanning en
brandstof in. Onregstreekse koste behels aspekte soos die prys van kaartjies en die
gedrag van mededingers.
Inligtingstelsels is deesdae oor 'n reeks heterogene platforms versprei. Bestaande
skeduleringstelsels poog egter om slegs enkele aspekte van skedulering aan te spreek.
Daar bestaan dus nie 'n holistiese, geIntegreerde benadering tot lugrederyskedulering
nie. Hierdie verhandeling is daarom daarop gemik om aan te toon hoe geintegreede
agente gebruik kan word om 'n oplossing vir die lugrederyskeduleringsprobleem te
vind. Hierdie oplossing het dan ook 'n regstreekse uitwerking op die winsgewendheid
van 'n lugredery. Agente is uitstekende hulpmiddels om aspekte soos
onderhandelingsprotokolle, genetiese algoritmes en lerende algoritmes te kombineer.
Inleiding tot die verhandeling 2
1.4 Uitleg van die verhandeling
Hierdie verhandeling bestaan uit drie afdelings. Afdeling A is 'n uitbreiding van die
probleemstelling. Elke hoofstuk in hierdie afdeling handel oor 'n afsonderlike
gedeelte van die lugrederyskeduleringsprobleem. Afdeling B behels 'n deeglike
literatuurstudie oor skedulering en intelligente agente. Afdeling C handel oor die
toepassing van die teorie. Afdeling C bevat hierbenewens 'n omskrywing van die
wyse waarop intelligente agente gebruik kan word om die
lugrederyskeduleringsprobleem mee op to los.
Afdeling A: Die probleemstelling
Hoofstuk 1: Inleiding tot die verhandeling. Hierdie hoofstuk bevat 'n beskrywing van
die aspekte waaroor hierdie verhandeling handel, die belangrikheid van die navorsing,
asook oplossings vir die lugrederyskeduleringsprobleem..
Hoofstuk 2: Skedulering deur lugrederye. Hierdie hoofstuk gee 'n oorsigtelike
bespreking van die lugrederyskeduleringsprobleem. Hoogtepunte van hierdie
hoofstuk word in die opeenvolgende hoofstukke in diepte bespreek.
Hoofstuk 3: Toerustinginstandhouding. Hierdie hoofstuk brei uit op die probleem
van die instandhouding van vliegtuigtoerusting en die effek daarvan op die lugredery.
Hoofstuk 4: Die rol van bemarkingsfaktore in die opstel van '12 vlugskedule. Hierdie
hoofstuk bevat 'n bespreking van die rol wat bemarking in die opstel van die
vlugrooster speel. Onderwerpe wat in die hoofstuk in studie geneem word, sluit in
temas soos bemarkinggeleentheidsanalise, die verkoopbaarheid van die produk en die
konsep van verkeersvloei.
Hoofstuk 5: Die skedulering van bemanning. Hierdie hoofstuk bevat 'n bespreking
van die vereistes vir die effektiewe skedulering van bemanning. Die skedulering van
albei tipes bemanningslede, nl. stuurkajuit- en kajuitbemanning, word bespreek.
Hoofstuk 6: Die skedulering van lughawefasiliteite en vliegtuigtoerusting. Hierdie
hoofstuk bevat 'n bespreking van die fasiliteite wat op lughawens benodig word, sowel
as van die toerusting wat op 'n vliegtuig geskeduleer moet word.
Hoofstuk 7: Prosesvloei van skedulering. In hierdie hoofstuk word die soeklig
gewerp op die proses waarvolgens skedulering vanaf die beplanningsproses tot by die
operasionele bestuur van die rooster plaasvind.
Inleiding tot die verhandeling 3
Afdeling B: Die literatuurstudie
Hoofstuk 8: Skedulering. Hierdie hoofstuk verskaf die teoretiese grondslag vir
skedulering in die algemeen. Verskeie skeduleringstegnieke word in hierdie hoofstuk
bespreek. Tegnieke wat bier genoem word, bestryk 'n groot verskeidenheid van velde,
soos die van kunsmatige intelligensie, operasionele navorsing en fabriekskedulering.
Hoofstuk 9: Intelligente agente. In hierdie hoofstuk word verduidelik wat agente is,
die omgewings waarin hulle funksioneer en hoe hulle saamgestel kan word. Verskeie
tipes agente word ook in die hoofstuk onder die loep geneem.
Hoofstuk 10: Kommunikasie en samewerking tussen agente. In hierdie hoofstuk
word daar ondersoek ingestel na die wyse waarop agente in groepe kan funksioneer,
hoe hulle kan kommunikeer en hoe hul onderlinge samewerking verseker kan word.
Hoofstuk 11: Agente wat leer. In hierdie hoofstuk word daar gefokus op die wyse
waarop agente uit hul vorige ondervinding kan leer. Die doel hiervan is dat
ondervinding gebruik kan word om soortgelyke probleme op to los.
Hoofstuk 12: 'n Oorsig van bestaande lugrederyskeduleringstelsels. In hierdie
hoofstuk word daar gekyk na die bestaande skeduleringstelsels wat tans oor die wereld
heen in gebruik is.
Afdeling C: Oplossingsmetodologie en -toepassing
Hoofstuk 13: 'n Agentgebaseerde oplossing vir bemarkinggedrewe skedulering. In
hierdie hoofstuk word die raamwerk vir die oplossing van die bemarkinggedrewe
skeduleringsprobleem uiteengesit.
Hoofstuk 14: 'n Agentgebaseerde oplossing vir die skedulering van bemanning. In
hierdie hoofstuk word die raamwerk vir die oplossing van die
bemanningskeduleringsprobleem uiteengesit.
Hoofstuk 15: Agentgebaseerde operasionele skedulering. In hierdie hoofstuk word
die raamwerk vir die oplossing van die operasionele skeduleringsprobleem
uiteengesit.
Hoofstuk 16: Implementering van die Q - lerende algoritme. In hierdie hoofstuk word
die Q-lerende algoritme geImplementeer as deel van die raamwerk van die oplossing
van die operasionele skeduleringsprobleem.
Inleiding tot die verhandeling 4
Hoofstuk 17: Implementering van 'n verspreide skeduleerder. In hierdie hoofstuk
word 'n verspreide skeduleerder geimplementeer om die bemarkinggedrewe
skeduleringsprobleem mee op to los.
Hoofstuk 18: Samevatting. In hierdie hoofstuk kyk ons na wat in hierdie navorsing
bereik is, asook na die verdere navorsing wat nodig is.
Inleiding tot die verhandeling 5
Afdeling A
In hierdie afdeling gaan daar in detail na die probleem van lugrederyskedulering gekyk
word.
Hoofstuk 2 dien as 'n inleiding tot die probleem van skedulering in 'n lugredery.
Hoofstuk 3 bespreek toerusting instandhouding as deel van die skeduleringsproses.
Hoofstuk 4 bespreek die rol van bemarkingsfaktore by die opstel van 'n vlugrooster.
Hoofstuk 5 bespreek die skedulering van bemanning.
Hoofstuk 6 bespreek die skedulering van fasiliteite en toerusting.
Hoofstuk 7 bespreek operasionele skedulering.
Hierdie afdeling verskaf die agtergrondkonteks vir die verhandeling.
6
Skedulering deur lugrederye
In hierdie hoofstuk word daar 'n bred oorsig gegee van die skeduleringsprobleme wat
lugrederye tans ondervind. Daar word vir die doeleinde ondersoek ingestel na die
basiese definisie van skedulering in 'n lugredery, asook na die areas waarin
skedulering plaasvind.
21 Skedulering in 'n lugredery
Ons kan onsself, as aanvoring tot die onderhawige studie, afvra wat die hoofdoel van
skedulering in 'n lugredery is. Die antwoord op hierdie vraag is egter so wyd as wat
die doelwitte van die verskillende lugrederye is. Skedulering in 'n lugredery kan tog
in die algemeen gedefinieer word as die kuns om stelselwye vlugpatrone te ontwerp
wat 'n optimum diens aan die publiek lewer, sowel in kwantiteit as in kwaliteit [2].
Hierdie diens moet op een lyn met die finansidle welvaart van die lugredery wees.
Hierdie definisie se vir ons dat die skep van vlugpatrone alleen nie genoeg is nie, en
dat sowel die kwantiteit as die kwaliteit daarvan uiters belangrik is.
Die stelselwye vlugpatrone wat in voorgaande definisie genoem word, is al die vlugte
wat 'n lugredery oor die wereld heen bedryf. In die "IATA Standard Schedules
Information Manual" [3] word die begrip "vlug" omskryf as synde die bedryf van een
of meer vlugbene met dieselfde vlugidentifikasie. Die vlugidentifikasie wat
gewoonlik deur lugrederye gebruik word is, 'n vlugnommer, by. SA238. Die "IATA
Standard Schedules Information Manual" vervolg dan deur die begrip "vlugbeen" te
omskryf as synde die bedryf van 'n diens tussen 'n vertrek- en 'n aankomsstasie. 'n
"Stasie" word op sy beurt omskryf as 'n plek waaraan 'n sekere stasie-identifiseerder
toegeken is. Stasie-identifiseerders is die lughawekodes wat IATA gebruik.
Voorbeelde van sodanige kodes is "LHR" ("Londen-Heathrow"-lughawe), "JFK"
("John F. Kennedy"-lughawe in New York), ens.
In die "IATA Standard Schedules Information Manual" [3] word die begrip "skedule"
omskryf as die beplande vlugte wat 'n lugredery gereeld bedryf. Die begrip "rooster"
Skedulering deur lugrederye 7
word op sy beurt informeel omskryf as daardie skedule waaraan mense toegeken is om
bepaalde take uit te voer, by. kajuit- en stuurkajuitbemanning [3].
In vandag se gebruikersgeorienteerde samelewing is alle lugrederye in 'n onverpoosde
en dikwels hewige geveg om behoud gewikkel. Die tyd van nasionale lugrederye is
vir alle doeleindes vir altyd verby. Vandat daar in 1978 met deregulering in die
Amerikaanse vliegbedryf begin is, het hierdie tendens wereldwyd uitgekring [4, 5].
Selfs in Suid-Afrika geniet die tradisionele nasionale lugredery — die Suid-Afrikaanse
Lugredery (S.A.L.) — nie die beskerming wat dit voorheen gehad het nie [6]. .
Oral die wereld oor smelt lugrederye saam in 'n poging om immer beter diens aan hul
kliente te lewer en so meer passasiers te werf. Danksy sodanige samesmeltings kan 'n
beter vlugrooster, wat meer plekke bedien, aan kliente verskaf word. Baie passasiers
verkies dan ook om van 'n lugredery gebruik te maak wat oor 'n uitgebreide
internasionale vlugnetwerk beskik. Hierdie vlugnetwerke versamel en versprei
passasiers tussen 'n groot aantal punte regoor die wereld. So 'n netwerk kanaliseer ook
passasiers vanaf die kleiner roetes na die groter en uiters winsgewende roetes. Hierdie
tendens het ook al in Suid-Afrika posgevat, waar die S.A.L. 'n
samewerkingsooreenkoms met die Duitse lugredery Lufthansa gesluit het [7], en waar
Comair met British Airways saamwerk [8].
Die vlugnetwerk moet ook van 'n hoe gehalte wees. Een uiters gesogte eienskap van
die gehalte van die netwerk is passasiers se gemak. Passasiers wil gerieflik van een
punt na 'n ander punt beweeg, sonder om lank vir aansluitingsvlugte te wag, sonder
oponthoude, ens.
As die vlugnetwerk bogenoemde aspekte van gehalte en kwantiteit in ag neem, kan
die lugredery seker wees dat by passasiers sal trek.
Volgens voorgaande definisie moet die vlugskedule ook op een lyn met die finansiele
welvaart van die maatskappy wees. 'n Lugredery kan 'n uitstekende vlugskedule
maar as dit nie vliegtuie en bemanning kan bekostig om daardie vlugnetwerk te bedryf
nie, baat dit hom niks.
Skedulering deur lugrederye 8
Die vlugskedule moet dus 'n gesonde balans vind tussen die kwantiteit, die gehalte en
die bekostigbaarheid van die vlugrooster.
2.2 Areas van skedulering
Skedulering in 'n lugredery word nie net in een area of net deur een afdeling uitgevoer
nie, maar deur al die operasionele afdelings van 'n lugredery.
2.2.1 Toerustinginstandhouding
Die hoofdoel van instandhoudingsbestuur in 'n lugredery is om 'n veilige, verkoopbare
vliegtuig vir elke skedule te verskaf [2]. Dit sou maklik gewees het indien elke
lugredery oor 'n oneindige aantal vliegtuie, onbeperkte fasiliteite en ontelbare
personeellede wat op elke punt in die vlugnetwerk gestasioneer is, beskik het. Dit sou
ook baie maklik gewees het indien 'n vliegtuig nooit kon breek of verouder nie.
Bogenoemde is egter nie moontlik nie, met die gevolg dat elke redery die volgende
aantal instandhoudingseffektiewe doelstellings moet probeer bereik:
Daar moet gepoog word om die tyd wat 'n vliegtuig nie in gebruik of bruikbaar is
nie, sover moontlik te beperk (bv. wanneer die vliegtuig gediens word). Wanneer
'n vliegtuig nie vir vlugte beskikbaar is nie, verloor 'n redery uit die aard van die
saak baie geld. Die instandhoudingstelsel moet dus 'n hoe graad doeltreffendheid
handhaaf en vliegtuie se staantyd sover moontlik beperk.
Daar moet maksimaal van die instandhoudingstyd gebruikgemaak word. Om 'n
vliegtuig te diens, is 'n baie duur onderneming. Die lugredery betaal gewoonlik vir
'n vaste tydperk waarin hierdie diens moet geskied, met die gevolg dat die tyd ten
beste benut moet word. As daar byvoorbeeld vir die diens van 'n vliegtuig vyf ure
toegeken word, moet die vyf ure optimaal benut word.
Personeel- en werkverdeling. Wanneer enige inspeksie, diens of herstelwerk ten
opsigte van 'n vliegtuig gedoen moet word, moet daar minstens een of twee
spesialiste teenwoordig wees. Eweredige werkverdeling moet ook nagestreef word
sodat tegnici in een sentrum net soveel werk soos tegnici in 'n ander sentrum verrig
(bv. Heathrow en Johannesburg Internasionale Lughawe). Die S.A.L.
vereenvoudig hierdie probleem deur al sy instandhoudingswerk op vliegtuie in een
sentrum te verrig, nl. by die Johannesburg Internasionale Lughawe. Dit is egter nie
Skedulering deur lugrederye 9
die geval met groter lugrederye soos by. Lufthansa en American Airlines nie. Die
lugrederye het versieningsentrums regoor die wereld.
Die gebruik van bestaande toerusting moet geoptimaliseer word. Miljoene rande
word aan geboue en gespesialiseerde gereedskap bestee. Die ideaal sou dus wees
om hierdie toerusting ten voile to benut.
Die instandhoudingshandelinge wat in verskillende stadiums van die vliegtuig se
leeftyd uitgevoer moet word, sluit in
nd elke stop
nd die beeindiging van 'n siklus (bv. JHB-CPT-JHB)
nd 'n bepaalde aantal ure
nd 'n sekere aantal siklusse (maatstaf van die hoeveelheid kere wat die vliegtuig
opgestyg en geland het)
instandhouding as iets onklaar sou raak.
2.2.2 Skedulering van bemanning
Een van die belangrikste en mees komplekse faktore wat vlugte beInvloed, is die
toekenning van bemanning aan vlugte. Hierdie werkbeperkings van die bemanning
word deur dienskontrakte en algemene lugvaartbepalings bepaal. Voorbeelde van
sodanige beperkings is soos volg:
Daaglikse beperking van 10 uur in die lug vir vliedniers, buiten in gevalle waar die
betrokke vlieenier langer as 10 uur voor die vlug gems het. Dit beteken dat
wanneer 'n skedule met 'n paar minute verleng word, dit 'n verandering van
bemanning sal noodsaak. Dit beteken verder dat hierdie bemanning iewers sal
moet oorslaap, wat weer beteken dat die lugredery bykomende koste sal moet
aangaan.
Bemanning mag vir elke opeenvolgende sewe dae nie vir langer as 40 uur vir diens
in die lug wees nie.
'n Rustydperk van minstens 16 uur moet tussen enige twee opeenvolgende
diensbeurte vir die bemanning verstryk.
Skedulering deur lugrederye 10
Senioriteit moet ook in ag geneem word. Die meer senior personeel moet vir die
groter vliegtuie geskeduleer word. As bemanningslede almal by 'n sekere sentrum
gestasioneer is, is skedulering aansienlik makliker. Die probleem neem egter in
kompleksiteit toe wanneer bemanningslede by 'n hele aantal sentra (domicilies)
gestasioneer is.
2.2.3 Fasiliteite
Die fasiliteite op 'n lughawe beskikbaar sou nie die vlugskedule beinvloed het indien
elke lugredery oor 'n oneindige aantal hekke en oor onbeperkte toerusting,
diensfasiliteite en personeel beskik het nie. Dit is egter nie die geval nie.
Indien daar slegs 10 hekke op 'n lughawe is, kan slegs 10 vliegtuie passasiers op enige
gegewe tydstip laai. Daar moet ook 'n sekere aantal bufferhekke wees ten einde
voorsiening te maak vir vliegtuie wat of te vroeg of te laat arriveer.
Daar moet genoeg tyd wees vir passasiers om van een vliegtuig na 'n ander oor te klim
in gevalle waar passasiers van aansluitingsvlugte moet gebruikmaak.
Daar moet ook genoeg toerusting van 'n sekere tipe op 'n lughawe wees, soos by.
bagasievoertuie, vliegtuigsleeptrokke, ens.
Die voorgestelde skedule mag ook nie die voedseldienste oorlaai nie.
Sekere lughawens vereis dat vliegtuie sekere toerusting aan boord moet he.
Lughawens wat in mistige gebiede gelee is, vereis dat alle vliegtuie wat daar sou wou
land, bepaalde outomatieselanding-toerusting aan boord moet he. Vliegtuie w- at oor
water vlieg, het weer ander bykomende veiligheidstoerusting nodig. Sekere
lughawens kan net die kleiner vliegtuie hanteer, terwyl ander lughawens weer gebou is
om net groter vliegtuie te kan akkommodeer.
Skedulering deur lugrederye 11
S.A.L. se binnelandselaai-faktore vir 1991
1
5 9 13 17 21 25 29 33 37 41 45
Week van die Jaar
80
75
70
% 65
60
55
50
2.3 Bemarkingsfaktore
'n Goeie skedule maak voorsiening daarvoor dat passasiers kan kies om op sekere tye
van die dag, sekere dae van die week en sekere tye van die jaar te vlieg. 'n Skedule
moet noukeurig met die oog op passasiers se voorkeure opgestel word. Vlugte moet
dus geskeduleer word op die tye waarop die meeste passasiers verkies om te vlieg.
Eksterne faktore soos die Olimpiese Spele en die Wereldbeker Rugby-toernooi vereis
byvoorbeeld dat daar veel meer vlugte geskeduleer moet word.
Dit baat 'n lugredery ook nie om sentra te bedien waarin die passasiers nie belangstel
nie. 'n Deeglike markontleding moet daarom gedoen word om te sien waarheen
mense wil vlieg en op watter tye van die dag of nag. Die laaifaktor (aantal passasiers
per vlug) moet dus geoptimaliseer word. 'n Groter laaifaktor beteken groter wins vir
die lugredery.
Omdat die besigheidsklaspassasiers die grootste winsmarge vir 'n lugredery beteken,
weeg die klas passasiers se voorkeure die swaarste. Indien 'n vliegtuig dus as gevolg
van sekere omstandighede op 'n ander lughawe moet gaan land, moet 'n lughawe
gekies word waar die besigheidsklaspassasiers, en nie noodwendig die ekonomiese- of
eersteklaspassasiers nie, die meeste aansluitingsvlugte kan kry. Vooruitskatting is
gevolglik 'n baie belangrike hulpmiddel by die opstel van die vlugrooster.
Figuur 2.1: Die verband tussen politieke en bemarkingsfaktore en die getal passasiers
Bostaande grafiek is deur die S.A.L vir hierdie navorsing beskikbaar gemaak. [9].
Skedulering deur lugrederye 12
Soos in Figuur 2.1 gesien kan word, het die politieke situasie in 'n land 'n groot
uitwerking op die laaigemiddelde van sy vliegtuie. Figuur 2.1 toon naamlik die
laaigemiddelde vir binnelandse vlugte aan. Dit blyk duidelik uit die figuur hoe die
uitwerking van die sosiaal-ekonomiese toestand in 'n land die vlugpatrone van sy
binnelandse reisigers beInvloed. Die Boipatong-slagting, asook die groeiende aantal
massa-aksies, het byvoorbeeld veroorsaak dat mense nie meer wou vlieg nie. Hoe
slegter dit met die ekonomie van 'n land gaan, hoe minder vlieg sy mense. Hierdie
tendens geld nie net vir die land waar 'n lugredery gestasioneer is nie, maar ook vir al
die lande waarheen die erdery vlugte sou onderneem. Die getal passasiers wat vlieg,
wissel dus na gelang van en in simpatie met 'n wye spektrum van politieke en
bemarkingsfaktore.
2.4 Samevatting In hierdie hoofstuk is die soeklig grotendeels gewerp op dit wat skedulering in 'n
lugredery hoofsaaklik behels. Daar is vir die doeleinde 'n definisie vir hierdie tipe
skedulering gegee. Daar is ook aangetoon dat skedulering nie alleen in een area
gedoen word nie, maar dat dit ook in veskillende areas gedoen word. Saarn
verteenwoordig gemelde areas die operasionele sy van die werking van 'n lugredery.
In die volgende hoofstuk gaan daar meer in besonderhede na een van hierdie areas,
naamlik die van toerustinginstandhouding, ondersoek ingestel word.
Skedulering deur lugrederye 13
3. Toerustinginstandhouding
In die vorige hoofstuk het ons gesien wat skedulering . in 'n lugredery behels, asook in
welke verskillende areas geskeduleer kan word. In hierdie hoofstuk val die klem op een
van hierdie areas, nl. die skedulering van die instandhouding van vliegtuie.
Hierbenewens bevat hierdie hoofstuk 'n bespreking van wat instandhouding behels,
asook van die komponente waaruit hierdie instandhouding bestaan. Daar word verder
ondersoek ingestel na waar en hoe instandhouding plaasvind. Die doelwitte van
toerustinginstandhouding word ook kortliks bespreek.
3.1 Instandhouding
Die doel met toerustinginstandhouding is om die lugredery se toerusting in 'n toestand to
hou wat veilige, asook billike lugvervoer sal verskaf [2].
Instandhouding moet veilig wees in die sin dat dit aan al die bedryfspesifikasies van die
vliegtuig sal voldoen, asook aan al die reels en regulasies van die organisasie wat in 'n
sekere land na lugvervoer omsien. In Suid-Afrika is die organisasie die Buro vir
Burgerlike Lugvaart. Elke lugredery het gewoonlik ook sy eie interne reels oor
instandhouding. Baie lugrederye spog daarmee dat hul vlak van instandhouding baie
hoer as die van ander rederye is.
Instandhouding moet ook verkoopbaar wees in die sin dat dit 'n vinnige en betroubare
diens met moderne toerusting verskaf. Dit moet dus baie koste-effektief wees. Daar
word gereken dat die instandhoudings- en ingenieursafdelings ongeveer 'n kwart van die
totale arbeidsmag van 'n lugredery uitmaak. Ongeveer 'n vyfde van elke rand word aan
toerusting en toerustingverwante sake bestee [2].
3.2 Instandhoudingstasies
Instandhouding van vliegtuie geskied by instandhoudingstasies. Die verskillende stasies
waar die vliegtuie in stand gehou word, kan op hul beurt weer in verskillende klasse
verdeel word. Die klasse is soos volg:
Toerustinginstandhouding 14
Groot instandhoudingstasies
Hoofstasies
Diensstasies
Kleiner stasies
Groot instandhoudingstasies is, soos die naam tereg aandui, die grootste, mees buigsame
en bes toegeruste stasies. Hier word die opknapping, die algehele aftakeling en die
nagaan van die redery se hele vloot onderneem. Hier kan byna al die komponente ook
reggemaak word. Wat nie by hierdie groot instandhoudingstasies herstel kan word nie,
kan slegs deur die vervaardigers van die spesifieke vliegtuie herstel word. Hierdie
stasies hou uit die aard van die saak 'n baie groot voorraad van onderdele en toerusting
aan. Vliegtuie word ook hier opgeknap, deur byvoorbeeld die sitplekke volgens 'n nuwe
kleurskema oor te trek. Wanneer vliegtuie byvoorbeeld aan ander rederye verhuur word,
word hulle by die groot instandhoudingstasies in die kleure van die ander lugrederye
oorgeverf en word die hele binneversiering dienooreenkomstig oorgedoen.
Hoofstasies is gewoonlik by die grootste sentra gelee. Hierdie stasies het ook 'n groot
aantal toerusting en tegnici. 'n Groot deel van vliegtuigherstelwerk kan hier gedoen
word. Onderdele word gewoonlik vanaf die groot instandhoudingstasies bestel.
Die diensstasies is kleiner as voormelde hoofstasies. Waar hoofstasies gelee is by groot
sentra wat as die middelpunt vir baie vlugte dien, is die diensstasies by kleiner sentra
gelee. Die stasies beskik oor baie van die funksionaliteit van die hoofstasies, maar is net
'n bietjie in grootte afgeskaal.
Die kleiner stasies kan as Klas 1-, Klas 2- en Klas 3-stasies geklassifiseer word. -Klas 1-
stasies se personeel is gewoonlik gelisensieer om seker te maak dat 'n vliegtuig
lugwaardig of vliegveilig is net voordat dit opstyg. By hierdie stasies is slegs 'n klein
gedeelte vervangingsonderdele beskikbaar. Klas 2-stasies se personeel kan slegs '
roetinediens verrig, soos byvoorbeeld om die ys te verwyder of die vliegtuig se enj ins op
te warm. Klas 3-stasies is die kleinste van al die verskillende diensstasies. Hierdie tipe
stasie se personeel is gewoonlik nie gelisensieer om aan enigiets te werk wat die vlietuig
Toerustinginstandhouding 15
se lugwaardigheid mag beinvloed nie. Die personeel word meestal gebruik om
passasiers en vrag te hanteer.
3.3 Vlakke van instandhouding
Die spesifieke lugredery, asook die spesifieke land se buro vir burgerlike lugvaart,
spesifiseer die verskillende vlakke van instandhouding en die frekwensies waarteen
instandhouding uitgevoer moet word.
3.3.1 Eenvoudige toetsing
Hierdie tipe toetsing word uitgevoer wanneer 'n vlug deur enige van die Klas 1-
diensstasies beweeg. Hierdie toets sluit 'n visuele nagaan van die vliegtuig in. Daar
word byvoorbeeld seker gemaak dat daar geen olie- of petrollekke of enige ander
opvallende beskadiging aan die vliegtuig is nie. Indien daar grondtyd beskikbaar is, kan
dit die skoonmaak van die binne- en buitekant van die vliegtuig insluit. ("Grondtyd" is
die geselstaalterm wat gebruik word om te verwys na daardie tydperk wat tussen die
landing en die opstyg van 'n vliegtuig beskikbaar is.)
3.3.2 Terminerendevoorvlug-toets
Hierdie tipe toets word geskeduleer wanneer 'n vlug by enige hoofstasie, diensstasie of
Klas 1-stasie eindig. Die tipe toets sluit alle eenvoudige toetsprosedures in, asook die
toets van enjinolietoevoer, die toets vir verwering van enjininvoere en -uitlate en die
nagaan van die wiele en die onderstel. Dit sluit ook toetse in van die watertoevoer, die
toilette, vlugopnemers en krageenhede. Laasgenoemde stel toetse neem gewoonlik
tussen 10 en 12 werkure in beslag. Hierdie toets moet minstens eenmaal elke 24 uur
uitgevoer word.
3.3.3 Algemene diens
Hierdie tipe toets word by hoofstasies, diensstasies en by sekere Klas 1-stasies
uitgevoer. In die V.S.A. moet hierdie tipe toets vir 'n sekere tipe vliegtuig deur die
Federale Lugvaartadministrasie ("FAA") goedgekeur word. Hierdie tipe toets word
verder na elke 150 vliegure geskeduleer. Dit sluit al die vorige toetse in, plus nog 'n
Toerustinginstandhouding 16
aantal ander. Die struktuur van die vliegtuig word onder meer tydens hierdie toets
nagegaan. 'n Algemene diens neem tussen 35 en 60 werkure in beslag.
3.3.4 Algehele diens en opknapping
Hierdie toets verteenwoordig die mees intensiewe van al die toetse. Dit neem enigiets
vanaf 400 tot 1 300 werkure in beslag, afhangend van die tipe vliegtuig wat aan die toets
onderwerp word. Bykans elke onderdeel word nagegaan en met die spesifikasies van
die vervaardiger vergelyk. Hierbenewens word alle tydbeheerde instrumente summier
vervang. Daar kan ook van hierdie geleentheid gebruikgemaak word om die bekleedsel
van die sitplekke te vervang of om die sitplekke volgens 'n nuwe kleurskema oor te trek.
Lugrederye verdeel gewoonlik hierdie tipe diens in twee dele, naamlik in 'n enjin- en 'n
struktuuropknapgedeelte. Hierdie twee toetse, wat saam steeds die algehele nagaan en
opknappingstoets behels, kan clan op verskillende tye uitgevoer word. Hierdie twee
toetse kan op hul beurt weer in 'n aantal kleiner dele opgebreek en oor 'n tydperk
versprei word. Hierdie kleiner gedeeltes van die groot toets kan ook met die ander tipe
toetse saamval, soos byvoorbeeld met 'n algemene diens.
EMAC ("Engineering and Maintenance Control System") is 'n stelsel wat gebruik kan
word om al die inligting aangaande die diens van 'n vliegtuig te bestuur. Ingevolge
hierdie stelsel kan daar byvoorbeeld tred gehou word met watter komponente vervang
moes word en wanneer hulle vervang is [2]. Die MEMIS-stelsel van die S.A.L. bied
ongeveer 'n soortgelyke funksie [10].
3.4 Effektiwiteitsdoelwitte van instandhouding
Die toerustinginstandhoudingsafdeling moet 'n veilige en bemarkbare vliegtuig vir 'n
vlugskedule beskikbaar stel. Dit sou weer eens 'n maklike taak gewees het indien elke
lugredery oor 'n oneindige aantal vliegtuie, onbeperkte fasiliteite en ontelbare
personeellede by elke punt in die stelsel beskik het. Dit is egter nie moontlik nie, en
daarom is lugrederye almal genoop om die volgende effektiwiteitsdoelwitte na te streef
[2]:
Toerustinginstandhouding 17
Beperk die tyd waartydens die vliegtuig nie in gebruik is nie.
Benut al die tyd wat vir die verskillende inspeksie- en instandhoudingstoetse
toegewys word.
Optimaliseer die benutting van personeel.
Optimaliseer die benutting van fasiliteite.
Die winsgewendheid van 'n vliegtuig word grootliks bepaal deur sy beskikbaarheid vir
insluiting by die vlugskedule. Die lugredery moet daarom poog om 'n hoe standaard van
instandhouding te handhaaf, asook om die tye wat vliegtuie nie in gebruik is nie, sover
moontlik te beperk.
Die inspeksie- en instandhoudingstoetse maak 'n groot deel van die bedryfskoste van 'n
lugredery uit. Die tyd wat vir instandhouding toegewys word, moet dus ten beste benut
word. Dit moet gedoen word deur die eerste van die effektiwiteitsdoelwitte wat vroeer
genoem is, nl. die beperking van die tyd wat die vliegtuig nie in gebruik is nie, te
probeer bereik.
Die personeel wat vir die instandhouding verantwoordelik is, is gewoonlik spesialiste op
hul gebied. Kostes kan egter beperk word indien die personeel optimaal benut word.
Dit is ook belangrik om die werk eweredig onder al hierdie personeellede te verdeel.
Personeel van een sentra mag nie oorwerk wees terwyl personeel in ander sentra
rondluier nie.
3.5 Samevatting
In hierdie hoofstuk het ons gesien wat toerustinginstandhouding behels, asook waar en
hoe dit gedoen word. Daar is ook gekyk na die effektiwiteitsdoelwitte w- at die
toerustinginstandhoudingskeduleerders probeer bereik. 'n Verdere area van skedulering,
naamlik die rol wat bemarkingsfaktore in lugrederye speel, sal in die volgende hoofstuk
bespreek word. Hierdie hoofstuk het verduidelik hoe die produk, naamlik die
vlugskedule, veilig en betroubaar gemaak kan word. Die volgende hoofstuk sal gewy
word aan 'n besprelcing van die wyse waarop hierdie produk bemaric kan word sodat die
publiek graag met 'n betrokke lugredery sal wil vlieg.
Toerustinginstandhouding 18
4. Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule
Hierdie hoofstuk word gewy aan 'n bespreking van die wyse waarop die produk wat 'n
lugredery lewer, naamlik sy vlugskedule, vir die publiek aantreklik gemaak kan word.
Daar sal vir die doeleinde eerstens ondersoek ingestel word na wat die
bemarkingsfunksie van 'n lugredery behels. Verskillende tegnieke sal bespreek word
om te bepaal watter bemarkingsgeleenthede daar vir lugrederye geskep kan word.
Verskillende tegnieke van vooruitskatting wat besonder nuttig is vir 'n lugredery sal ook
bespreek word. Hierdie tegnieke toon wat die kwantitatiewe voordele van die
bemarkingsgeleenthede is. Die hoofstuk word met 'n bespreking van die
verkoopbaarheid van die produk en 'n kort oorsig van die verkeersvloeikonsep afgesluit.
4.1 Die rol van bemarking in die lugredery
Bemarking is een van die belangrikste besigheidsfunksies in enige maatskappy. Peter
Drucker het vier dekades gelede geskryf dat bemarking nie 'n afsonderlike
besigheidsfunksie is nie, maar dat dit die totale besigheid, sons uit die oogpunt van die
finale produk gesien, behels [11].
Bemarking poog om die behoeftes van 'n bepaalde groep verbruikers te antisipeer, asook
te meet. Bemarking verskaf so 'n vloei van behoeftevoorsienende produkte en dienste.
In soverre dit 'n lugredery aangaan, is die vlugskedule die produk wat gelewer word.
Bemarkers poog om 'n skedule te verskaf wat in die behoeftes van die lugreisiger sal
voorsien. Om dit te kan doen, moet die maatskappy:
die markte identifiseer wat met die beskikbare hulpbronne bedien kan word
markte skep wat beter in die gebruiker se behoefte sal voorsien as die van die
mededinger
die produkte so you moontlik beskikbaar stel
terugvoering oor die sukses van sy vlugskedule van sy gebruikers verkry.
Peters en Austin het in hul navorsing bevind dat daar slegs twee maniere is om oor die
lang termyn suksesvol te wees: behou jou kliente deur Of voortreflike diens te lewer of 'n
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 19
uitstekende produk te verskaf [12]. Die vlugskedule poog om laasgenoemde, naamlik 'n
uitstekende produk, te verskaf.
4.2 Bemarkinggeleentheidsanalise
Voordat 'n lugredery besluit watter tipe skedule hy gaan opstel, moet hy ondersoek instel
na daardie geleenthede wat reeds bestaan om 'n sekere doelwit te bereik. Doelwitte sluit
in wins, politieke oogmerke, ens.
4.2.1 Die makro-omgewing
Voordat daar enigsins na die opstel van die vlugskedule gekyk kan word, moet die
bemarker eers ondersoek instel na die omgewing waarin die lugredery funksioneer.
Buite die onderneming en die markomgewing bestaan 'n makro-omgewing, wat op sy
beurt uit ses afsonderlike subomgewings bestaan, naamlik [13]
die tegnologiese omgewing, wat vir die pas van vernuwing en verandering
verantwoordelik is
die ekonomiese omgewing, wat deur aspekte soos inflasie, resessies, wisselkoerse
en die monetere en fiskale beleid, die welvaart van die onderneming en sy
gemeenskap beInvloed word
die sosiale of maatskaplike omgewing, ingevolge waarvan die mens se
lewenswyse, gebruike en standaarde deur sy of haar kultuur gevorm word, wat weer
bepaalde eise aan die onderneming stel
die fisiese omgewing, wat uit natuurlike hulpbronne bestaan
die institusionele omgewing, met die owerheid en sy politieke gemoeidheid en
wetgewing as vernaamste komponente
die internasionale omgewing, ingevolge waarvan sowel plaaslike as internasionale
politieke neigings en gebeurde die onderneming en sy markomgewing beInvloed.
Die waarneming van hierdie omgewing is egter moeilik, aangesien [2]
die makro-omgewing grensloos is. Dit moet dus voortdurend en in diepte gemonitor
word as die bemarker 'n belangrike nuwe element sou wou bemerk
die seine wat die omgewing uitstuur, baiekeer swak en moeilik interpreteerbaar is.
Een voorbeeld hiervan was die stigting van OPEC, wat oliepryse laat styg het en so
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 20
weer veroorsaak het dat brandstofpryse styg. Bitter min mense was dit egter te wagte
of daarop voorbereid. 'n Styging in die olieprys beInvloed op sy beurt weer die
vlugrooster, omdat minder hulpbronne (brandstof) beskikbaar is.
omgewingsfaktore van nature moeilik te beheer is. 'n Lugredery oefen uit die aard
van die sank nooit voile beheer oor sy omgewing uit nie. Die beste wat 'n lugredery
kan doen, is om guide geleenthede te benut of om risiko's te beperk.
Vanuit die bemarkingsoogpunt gesien, is die volgende vier komponente van die makro-
omgewing veral krities: die demografiese/ekonomiese omgewing, die
politieke/geregtelike omgewing, die tegnologiese omgewing en die sosiokulturele
omgewing. Hierdie komponente maak saam die dryfveer van elke lugredery uit, by.:
Teen die jaar 2000 sal die ouderdomsgroep 35 tot 54 jaar die sleutelmark vir rederye
wees. Die mense in hierdie ouderdomsgroep reis graag en dit beteken dat meer
mense sal wil viieg [2].
Met die afskaffing van Apartheid het al meer buitelanders na Suid-Afrika begin vlieg.
Groter en beter vliegtuie maak dat meer mense vervoer kan word.
Noudat die geleenthede en bedreigings in die mark geklentifiseer is, kan 'n
reaksiestrategie uitgewerk word. Die reaksiestrategie kan, wat die vlugrooster betref,
een van die volgende wees:
Opposisiestrategie. Staan die markverandering tee. Moenie die skedule aanpas om
byvoorbeeld grotendeels vir ouer mense voorsiening te maak nie, maar maak eerder
vir jonger mense voorsiening en hoop jou optrede gaan die mark beInvloed.
Aanpassingstrategie. Die lugredery kan byvoorbeeld sy skedule aanpas om ouer
mense te akkommodeer.
Aanvallende strategie. Span die markfaktore in om die redery se aanvalspOsisie te
verbeter. Die vlugskedule kan byvoorbeeld baie vlugte bevat wat minder vol is, met
die uitsluitlike doel om die mark te destabiliseer. Kleiner lugrederye sal dan nie 'n
behoorlike wins kan lewer nie, aangesien daar 'n ooraanbod van sitplekke is.
Herontplooiingstrategie. Omgewingsfaktore kan die lugredery dwing om uit 'n
sekere mark te tree.
Passiewe strategie. Die lugredery reageer glad nie op markfaktore nie.
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 21
4.2.2 Inligting
Alvorens enige nuwe vlug geIdentifiseer word, moet daar eers twee punte gekies word
waartussen passasiers, goedere of albei vervoer moet word. Ten einde 'n nuwe roete te
kan identifiseer, verlang 'n mens inligting. Hierdie inligting gee vir ons 'n aanduiding
van wat die behoeftes van die publiek is. Die vlugskedule is die produk wat 'n lugredery
aan die publiek wil verkoop. Om hierdie produk te kan verkoop, is dit egter noodsaaklik
dat dit in die behoeftes van die publiek sal voorsien. Die probleem le dus daarin dat
groot brokke inligting oor die behoeftes van die publiek ingewin moet word.
Die volgende verteenwoordig 'n paar moontlike bronne waaruit die inligting verkry kan
word [2]:
Publikasies
Persoonlike opnames
'n Buro vir statistiek
Vorige navorsing
Toetsbemarking (dit wil se, toets die produk aan 'n klein groepie gebruikers)
Gebruikersforums.
Indien die behoeftes van die publiek deeglik bepaal is, kan daar begin word om 'n
skedule op te stel wat in hierdie behoeftes voorsien. Die lugredery het nou 'n
verkoopbare produk.
4.2.3 Markgrootte
Ten einde die markgrootte van 'n sekere roete te bepaal, moet daar begin word deur
inligting in te win oor die aantal passasiers wat daardie roete sal wil vlieg. Indien dit 'n
nuwe roete is wat geen ander lugredery tevore bedryf het nie, kan ons van die
inligtingsbronne wat onder punt 4.2.2 vermeld is, gebruikmaak. Indien ander lugrederye
hierdie roete egter wel vantevore bedryf het, kan hul gepubliseerde passasiersgetalle
gebruik word. Die hoofdoel van hierdie stap is om 'n vooruitskatting van die totale mark
op 'n spesifieke roete te kan maak.
Faktore wat die markpotensiaal van 'n vlugroete beInvloed, is die volgende:
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 22
Eienskappe van die omgewing. Dit sluit in faktore soos die grootte van die
bevolking, die beskikbaarheid van fasiliteite, ens.
Per capita-inkomstes van die teikengroep en die industriele struktuur van die
omgewing. Indien die klem in 'n bepaalde omgewing op produksie sou val, sal dit 'n
goeie bron van inkomste wees vir sowel internasionale as interstreekvlugte. Per
capita-inkomste bepaal grootliks of die mense in daardie area vlugte vir plesier (bv.
vir vakansies) sal bespreek.
Die prys van die vliegtuigkaartjies.
Die eienskappe van die omgewing waarheen gevlieg word.
Eienskappe van die mededingende vervoermetodes, by. pad-, spoor- en seevervoer.
Daar moet ook gekyk word na hoe nuwe mededingers die mark gaan beinvloed. Nuwe
mededinging kan die vliegkaartjies goedkoper maak, sodat meer mense dit kan bekostig
om te vlieg.
4.2.4 Marksegmentasie
Gebruikers se behoeftes is nie almal dieselfde nie. Markte is selde homogeen wat betref
die diens, produkte en pryse wat verlang word. Die begrip "marksegmentasie" kan
omskryf word as die proses waardeur die totale heterogene mark in homogene
marksegmente verdeel word [11]. Marksegmentasie verteenwoordig 'n baie belangrike
hulpmiddel in die beplanning van 'n skedule. 'n Suksesvolle marksegmentasie se
resultaat is dat die variasies binne 'n segment kleiner as die variasies tussen die segmente
is. Vir elke segment moet die grootte van die segment bepaal word, asook die
produkvereistes, wat weer sal bepaal of daar aan die kriteria van die segment voldoen sal
word al dan nie en of die passasiers bereid sal wees om vir 'n segment te betaal.
Om 'n segment te bepaal, moet daar eers besluit word wat die beweegrede van die
passasiers is om te reis. Twee kategoriee van passasiers kan geIdentifiseer word,
naamlik passasiers wat vlieg a.g.v. sake en passasiers wat vir plesier vlieg. Die duur van
die reis is ook 'n bepalende faktor.
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 23
Sakereise kan gedefinieer word as reise wat regstreekse uitvloeisels van 'n persoon se
werk is. Sakepassasiers betaal nie die vliegkaartjies uit hul eie inkomste nie. Omdat die
passasiers nie self hul kaartjies betaal nie, is hulle bereid om 'n hoer prys te betaal as die
persone wat 'n kaartjie uit hul eie sak moet koop.
Mense wat vir plesier reis, betaal egter self vir hul kaartjies. Baie van hierdie tipe
passasiers vlieg dan saam met hul gesinne as deel van by. 'n jaarlikse vakansie. Die
vraag na plesiervlugte is altyd prys- en inkomste-elasties.
Indien die analis nou bepaal het watter tipe mense graag wil vlieg, moet hy of sy nog
bepaal watter vliegklasse die lugredery aan die passasiers wil bied. Die duurste klas is
gewoonlik "eersteklas". 'n Goedkoper klas is "besigheidsklas". Laasgenoemde is
goedkoper as "eersteklas", maar duurder as die goedkoopste klas, nl. "ekonomiese klas".
Soms word daar ook van 'n "standaardklas" gebruikgemaak. Die prysklas hiervan le
tussen die van "besigheidsklas" en "ekonomiese klas". Indien 'n kombinasie van die
Masse gebruik word, moet die lugredery bepaal hoeveel sitplekke aan elke klas toegeken
moet word.
'n Ander aspek wat nou met marksegmentasie saamhang, is die tipe maaltye wat tydens
'n vlug bedien gaan word. Die tipe maaltyd hang gewoonlik of van die klas waarin die
passasier wil vlieg. Beter of meer gereelde maaltye en drankies kan maak dat meer
passasiers 'n sekere lugredery sal verkies. Die tipe maaltye wat aangebied word, is
ontbyt, middagete, aandete, versnaperings en drankies. Die lugredery kan nou ook
besluit watter van hierdie etes of watter gedeelte van die etes gratis aangebied gaan
word. Die passasier kan by. sy of haar ete en koffie na die ete vemiet kry, terwyl hy of
sy vir enige wyn wat bedien word, moet betaal.
4.2.5 Markpenetrasie
Nadat 'n vooruitskatting van die hele mark gedoen is, moet die analis 'n vooruitskatting
doen van die persentasie van die deel van die totale mark waarop die lugredery kan
beslag le. Een van die beste metodes om die mark diep binne te dring, is die gebruik
van promosiekaartjies. Ander metodes is programme soos gereeldereisigerprogramme
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 24
(bv. die "Frequent Flyer"-program van die S.A.L.). Die gebruik van hierdie tipe
hulpmiddels kan maak dat meer mense vlieg en dat meer vlugte geskeduleer word.
4.3 Vooruitskatting
Vooruitskatting is een van die belangrikste hulpmiddels wat by die opstel van 'n
vlugrooster deur die bemarker gebruik kan word. Vooruitskatting help die bemarker om
toekomstige gebeure en toestande te antisipeer. Die vlugskedule word tussen ses
maande en 'n jaar vooruit gepubliseer. Die vlugskedule moet dan poog om die mark tot
'n jaar vooruit te weerspieel. Hoe die bemarker dit kan regkry, is om vooruit te skat.
Daar bestaan verskillende metodes van vooruitskatting, wat in die volgende paar
paragrawe bespreek sal word [14].
4.3.1 Tydreeksanalise
Een van die metodes van vooruitskatting wat gebruik word, is groei-analise. Hierdie
metode het ten doel om 'n tydreeks ("time series") van die vorige jare se
passasiersgetalle saam te stel. Dit word dan geekstrapoleer om die toekoms se
markgroei of -krimping te bepaal. 'n Tydreeks kan gedefinieer word as daardie reeks
waarnemings van 'n spesifieke veranderlike wat op verskillende dog gelyke
tydsintervalle gemaak is. Die tydreeksanalise is veral geskik vir lugrederye, omdat groot
hoeveelhede historiese waarnemingstot rederye se beskikking is. Tabel 4.1 illustreer
watter tipe tydreeksontledingstegnieke vir watter tipe data geimplementeer kan word.
'n Lugredery is 'n sikliese bedryf, met seisoenale kenmerke. Gedurende resessies vlieg
baie minder mense as gedurende 'n ekonomiese oplewing. Gedurende sekere seisoene
van die jaar vlieg baie meer mense as gedurende ander seisoene. Desember is
byvoorbeeld een van die besigste tye van die jaar. Die metode wat die Suid-Afrikaanse
Lugdiens gebruik, is die Box-Jenkins-metode [15]. Figuur 4.1 hieronder bied 'n
diagrammatiese voorstelling van die metode.
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 25
AIR() et6de
Konstante Tendens Seisoenaal Siklies
Gemiddeldes x x
Tendensanalise x
Eksponensiele gladstryking x
Brown se metode x x
Holt se metode x
Winter se metode x x
Dekomposisie x x x
Box-Jenkins-metode x x x x
Tabel 4.1: Tydreeksontledingstegnieke [16]
Die analis pas eers 'n aantal modelle op die historiese data toe. Uit hierdie groep
modelle word dan een gekies wat die data die beste beskryf. Indien die geIdentifiseerde
model die tydreeks akkuraat genoeg beskryf, word die parameters van die model
bereken. Indien die model geskik is, word die vooruitskatting gedoen, andersins word
die model verder verfyn. Die Box-Jenkins-metode verteenwoordig egter 'n
ingewikkelde proses wat slegs met behulp van 'n rekenaar uitgevoer kan word.
4.3.2 Kategorie-analise
'n Ander metode is om die stand van die mark to bepaal. Hierdie metode word die
"kategorie-analisemetode" genoem. Daar word ingevolge hierdie metode gekyk na die
mate waarin die faktore in paragraaf 4.2 genoem, die mark beInvloed. Hiema word
bepaal hoe die stand van die mark in die toekoms daar gaan uitsien. Uit die toekomstige
stand van die mark word die aantal passasiers bepaal wat in die toekoms daardie mark
mag benut.
4.3.3 Meervoudigeregressie-analise
Nog 'n metode is 'n meervoudigeregressie-analise. Ingevolge hierdie metode word die
verhouding bepaal tussen veranderings in die vraag na 'n produk en die faktore wat
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 26
Identifiseer 'n tentatiewe model
Postuleer 'n algemene groep modelle
Bereken die para-meters van die gekose model
1 I Is die model geskik?
Nee Ja
Skat vooruit
daardie veranderings in die vraag meebring. Meervoudigeregressie-analise word
toegepas wanneer die afhanklike veranderlike deur meer as een verldarende veranderlike
beskryf kan word.
Figuur 4.1: Die Box-Jenkins-tegniek
[1 1]
4.4 Die verkoopbaarheid van die produk
Een van die groot kompleksiteite van lugrederyskedulering is die feit dat die skedule se
verkoopbaarheid hoogs sensitief is vir selfs die kleinste veranderinge in vertrek- en
aankomstye.
Die "gemaklikheid" van 'n skedule is dus een van die belangrikste faktore wat 'n
passasier se keuse van 'n lugredery beinvloed. Lojaliteit jeens 'n spesifieke lugredery
gaan daarom nie verseker dat 'n passasier 'n uur Langer op 'n lughawe wag, 'n sake-
afspraak misloop of vroeer as gewoonlik opstaan om betyds te wees vir 'n vlug nie.
Vlugte moet dus vertrek op tye wat passasiers pas en ook by bestemmings aankom op
tye wat passasiers pas.
Om skedulebeplanning nog moeiliker te maak, hang die verkoopbaarheid van die
vlugskedule nie alleen of van die tyd van die dag en die roete nie, maar ook van variasie
tussen die twee rigtings op dieselfde roete. So, byvoorbeeld, kan 'n lugredery op 'n vlug
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 27
tussen Johannesburg en Kinshasha 'n groter volume van passasiers kry op 'n later vlug
vanaf Johannesburg na Kinshasha as op 'n later vlug vanaf Kinshasha na Johannesburg.
Die verkoopbaarheid van die vlugskedule hang hierbenewens of van die lughawe wat
bedien word. 'n Lugredery kan byvoorbeeld 'n 20% groter laaifaktor kry deur na
Heathrow in plaas van Gatwick te vlieg, desondanks die feit dat albei hierdie lughawens
in Londen gelet is.
4.5 Verkeersvloei
Die konsep van verkeersvloei, naamlik die aantal oorsprongpassasiers en die getal
aansluitingspassasiers, word wyd erken [2]. Kom ons neem as voorbeeld 'n vlug vanaf
Kaapstad na Johannesburg na New York na San Fransico. Die laaifaktor op die
Johannesburg-New York-segment is omtrent 90%. Dit is egter alleen moontlik danksy
die vier afsonderlike en bykans gelyke verkeersvloeie. Dieselfde vlug kan nie sy
Johannesburg-stop kanselleer nie, want dan is daar te min passasiers vir die res van die
roete. Die skeduleerder moet dus deeglik kyk wat die verkeersvloeipatrone is en die
roete daarvolgens uitwerk.
4.6 Samevatting
In hierdie hoofstuk het ons gesien hoe lugrederye marknavorsing ondemeem om
bemarkingsgeleenthede te skep, hul produk daarby aan te pas en vooruitskattings te doen
om te bepaal hoe die mark in die toekoms daar gaan uitsien. Daar is ook gekyk na die
verkoopbaarheid van die vlugskedule, asook na die konsep van verkeersvloei. In
hoofstuk 14 word 'n model voorgehou vir die oplossing van die bemarkinggedrewe
skeduleringsprobleem, waarvan die praktiese implementering in hoofstuk 16 bespreek
word. In die volgende hoofstuk gaan daar gekyk word na die wyse waarop bemanning
geskeduleer moet word. Die bemanning verteenwoordig die mannekragkomponent van
die produk (die vlugskedule) wat ontwikkel is.
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 28
5. Die skedulering van bernanning
In hierdie hoofstuk gaan aandag gesken word aan die skedulering van die
mannekragkomponent van die operasionele sy van die lugredery, nl. die bemanning.
Twee groepe bemanning gaan gidentifiseer word, nl. stuurkajuitpersoneel en
kajuitpersoneel. Hierdie personeel moet geskeduleer word, onderhewig aan 'n aantal
werkbeperkinge. Personeel moet ook so geskeduleer word dat die bemanning optimaal
benut word. Faktore wat skedulering beInvloed, soos by. senioriteit, opleiding en verlof,
sal ook bespreek word. Die begrip van tuisstasies word ook in hierdie hoofstuk
bespreek.
5.1 Inleiding
Een van die belangrikste en mees komplekse aspekte van die skeduleerder se taak is die
van die toekenning van bemanning aan sekere vlugte. Enige lugredery maak gebruik
van bemanning. Twee klasse van bemanning kan onderskei word, nl. die wat gebruik
word om die vliegtuig to beheer (die stuurkajuitpersoneel) en die wat 'n diens aan die
passasiers lewer (die kajuitpersoneel). Die bemanningslede wat die vliegtuig beheer,
sluit persone in soos kapteins, eerste offisiere en vlugingenieurs. Stuurkajuitpersoneel
kan op hul beurt verdeel word volgens die onderskeie senioriteitsvlakke. 'n Personeellid
met 'n lae senioriteit mag by. slegs die kleiner vliegtuie beheer, terwyl 'n personeellid
met 'n hoe senioriteit groter vliegtuie mag hanteer.
Die persone wat gewoonlik aan die publiek diens lewer, is die kelners en kelnerinne.
Kajuitpersoneel kan, net soos in die geval van stuurkajuitpersoneel, op grond van hul
ondervinding en bekwaamhede in verskillende senioriteitsvlakke verdeel word. Slegs
die topklas-kelners en -kelnerinne sal by. gedurende 'n internasionale vlug drankies aan
eersteklas-passasiers bedien.
5.2 Werkbeperkinge
Die omstandighede waaronder bemanning moet werk, word beheer deur staatsregulasies
(bv. die "Federal Aviation Regulations" in die V.S.A. en Burgerlike Lugvaart in Suid-
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 29
Afrika) en die werkkontrak wat die betrokke bemanningslid met die lugredery gesluit
het.
5.2.1 Staatsregulasies
Voorbeelde van staatsregulasies is soos volg [17]:
Daaglikse beperking van tien uur in die lug vir vliedniers van 'n tweebemanningslid-
vliegtuig, behalwe waar die vliednier 'n rustydperk van nie minder nie as tien uur
gehad het voordat die tien uur in die lug verstryk. 'n Verandering van slegs 'n paar
minute aan die skedule, of die byvoeging van een ekstra stasie, kan dus veroorsaak
dat die bemanning 'n russessie moet he of op 'n plek moet oorslaap, wat andersins nie
nodig sou wees nie.
Bemanning wat vir 'n vlug verantwoordelik is, moet minstens 16 uur nd voltooiing
van hul laaste vlug rus.
Bemanning wat vir 'n vlug verantwoordelik is, mag nie meer as 40 vliegure
gedurende enige sewe opeenvolgende dae vlieg nie.
5.2.2 Werkkontrakte
Die kontrak wat die bemanningslid met die lugredery aangegaan het, kan sake verder
kompliseer. Die meeste kontrakte maak voorsiening daarvoor dat een uur se salaris
betaal word vir elke vier ure wat die vliednier van sy tuisstasie weg is. Baiekeer word
hierdie tyd egter nie eens gevlieg nie, en word vlieeniers dus betaal vir tyd wat hulle nie
gevlieg het nie. Die meeste lugrederye het egter 'n tagtiguur-vliegtydlimiet gedurende
enige maand vir vliedniers.
5.3 Die kaliber van. die personeel
Een van die grootste dryfvere agter die reels en regulasies deur die regering en
lugrederye gestel, is dat die personeel van 'n baie goeie stoffasie moet wees. Dit is in
landsbelang dat vliedniers ervare en goed gekwalifiseerd sal wees. Dit kan byvoorbeeld
die land se beeld ernstig knou indien sy lugrederye nie voortreflike diens aan sowel sy
nasionale as internasionale passasiers lewer nie.
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 30
Veral stuurkajuitbemanning se gesondheid moet uitstekend wees. Hulle moet
hierbenewens oor 'n bepaalde gesigskerpte beskik en nie geneig wees om you moeg te
word nie. As gevolg van hierdie eise moet vlieeniers hulself gereeld aan streng mediese
toetse en ondersoeke onderwerp. Die toetse en ondersoeke moet ook geskeduleer word,
aangesien die personeellid nie 'n vlug mag meemaak tensy hy of sy die mediese toetse
geslaag het nie.
Die kaliber van die vlieenier moet ook baie goed wees. Selfs al hou 'n vlieenier 'n
lisensie vir 'n sekere tipe vliegtuig, is dit nie vir 'n onbepaalde tyd geldig nie. Die
lisensie moet gereeld hernu word. Hierdie hernuwing van lisensies moet natuurlik ook
geskeduleer word. Ingeval 'n personeellid sou versuim om sy of haar geskeduleerde
hernuwingstoets af te le, sal sy of haar lisensie onmiddellik verval, waarna hy of sy glad
nie mag vlieg nie.
5.4 Bemanningsbenutting
Dit sou baie goed vir die lugredery gewees het indien bemanning na 'n vlug op 'n
volgende vlug na hul tuisstasie kon terugkeer. Daar sou dan geen onkoste ten opsigte
van hul oornagverblyf aangegaan hoef te word nie. Vir bemanning wat moet oorslaap
om te wag vir 'n volgende vlug terug, moet die lugredery al die onkostes ten opsigte van
verblyf betaal. Die vervoer van bemanning op vlugte waarop hulle glad nie werk nie,
kan ook bale duur wees. Sodanige vlugte geskied waar 'n bemanningslid na 'n ander
lughawe vervoer moet word om van daar af diens te doen. Die bemanningslid moet ook
betaal word vir die tyd wat hy of sy van sy of haar tuisstasie weg is — ongeag daarvan of
hy of sy diens doen al dan nie. 'n Groep bemanningslede wat uitgevlieg moet word
vanaf Boston na New-York om 'n vlug vanaf New York na Denver te hanteer en dan
weer terug na Boston via New York, moet betaal word vir die tyd wat dit hulle neem om
na en vanaf New York te reis. Die vervoeronkostes moet ook betaal word. Om die
bemanning optimaal te gebruik en ook om ekonomiese redes moet die oorslaaptyd en
vervoerkostes sover moontlik bekamp word.
Gemiddelde bemanningsbenutting vir sekere groot lugrederye met baie komplekse
roetes kan so laag as 55 uur per bemanningslid per maand wees.
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 31
Skeduleerders gebruik twee tipes diagramme om die vlugpatrone van die bemanning
voor te stel. Die figure aan die einde van hierdie hoofstuk is voorbeelde hiervan. Die
sigsagkaart (Figuur 5.1) toon lughawens aan die linkerkant en datums bo-aan. Vlugte
word aangedui as lyne tussen twee lughawens. Bemanning kan nou op hierdie vlugte
geplaas word. Uit die diagram kan die skeduleerder dan aflei wanneer bemanning moet
oorslaap, ens. Figuur 5.2 toon 'n Gantt-diagram aan. Vliegtuigtipes word op die
vertikale as aangedui, terwyl datums en tye bo-aan vertoon word. Vlugte word vertoon
as gekleurde stawe wat by die vertrektyd begin en by die viug se aankomstyd eindig.
5.5 Senioriteit en opleiding
Senioriteit is ook 'n belangrike aspek wat die skeduleerder in ag moet neem. Die
bemanning word gewoonlik opgelei om slegs een tipe vliegtuig te vlieg. Bemanning
wat vir 'n Boeing 727 opgelei is, mag glad nie 'n Boeing 747 vlieg nie. Die mees ervare
vliedniers vlieg gewoonlik die grootste en vinnigste vliegtuie, terwyl die minder ervare
vliedniers die kleiner vliegtuie hanteer. Dieselfde geld vir die kajuitpersoneel.. Die
kajuitpersoneel moet ook sekere kursusse bywoon ten einde 'n bepaalde vlak van
senioriteit te behaal.
5.5.1 Stuurkajuitpersoneel
Stuurkajuitpersoneel moet vir kursusse geskeduleer word om hulle op 'n sekere vlak van
bekwaamheid te hou, asook om hul senioriteit te verhoog. 'n Tipiese vliednier vlieg
slegs klein vliegtuigies wanneer hy begin. Indien hy 'n groter vliegtuig wil vlieg, moet
hy geskeduleer word om 'n aantal uur in die vliegtuigsimuleerder deur te bring. Hy moet
verder geskeduleer word om die kursusse by te woon wat vereis word om 'n sekere tipe
vliegtuig te vlieg. Sodra hy sy kursusse geslaag en die vasgestelde aantal uur in die
vliegtuigsimuleerder deurgebring het, word hy bekwaam verklaar om die groter tipe
vliegtuie te vlieg. Die stuurkajuitpersoneellid moet dus vir sowel kursusse as vlugte
geskeduleer word.
5.5.2 Kajuitpersoneel
Die kajuitpersoneel word, net soos in die geval van stuurkajuitpersoneel, vir kursusse
geskeduleer. Die kajuitpersoneellede kry opleiding in vakke soos etiket, velversorging
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 32
en menseverhoudings. Sekere kursusse word ook slegs aan personeellede met 'n sekere
senioriteit aangebied. 'n Gevorderde kennis van wyne is by. 'n kursus wat alleen vir
personeellede wat op internasionale vlugte diens doen, aangebied word. Personeel wat
op sekere internasionale roetes diens doen, word soms touwys gemaak in die tale wat op
daardie roetes gebesig word. Dit doen baie vir die beeld van 'n lugredery as die
lugwaardin byvoorbeeld 'n paar woorde in Duits met 'n Duitse passasier kan wissel.
5.6 Verlof Verlof moet deur die jaar geneem word deur sowel die stuurkajuit- as die
kajuitpersoneel. Indien almal op dieselfde tyd van die jaar met vakansie sou gaan, kan
sekere vlugte uit die aard van die saak erg benadeel word. Om hierdie probleem te
oorkom, word daar gewoonlik gebie vir watter tyd van die jaar 'n persoon op vakansie
mag gaan. Aan elke personeellid word 'n aantal vakansiepunte toegeken, na gelang van
sy of haar senioriteit. Aan sekere dae van die jaar word verder 'n gewig toegeken. Sodra
'n personeellid vir 'n sekere dag bie en dit word goedgekeur, word daardie dag se gewig
van sy of haar vakansiepunte afgetrek. Deur aan besige dae 'n swaarder gewig as ander
toe te ken, kan voorkom word dat meer mense op daardie spesifieke dag met vakansie
wil gaan. S6 is Kersdag se gewig byvoorbeeld baie swaarder as die van 15 Januarie.
Die skeduleerder moet dus ook in ag neem wanneer personeellede met vakansie gaan en
die vlugrooster daarvolgens opstel. Soms moet mense se verlofaansoeke selfs geweier
word om te kan verseker dat daar genoeg personeel sal wees om al die vlugte te beman.
5.7 Tuisstasies
As at die bemanning by 'n enkele tuisstasie gestasioneer was, sou die skeduleerder se
taak ook 'n baie makliker een gewees het. Dit is egter a.g.v. fisiese en ekonomiese redes
nie moontlik om al die bemanning by een tuisstasie te stasioneer nie. Groot lugrederye
het dus bemanning wat by 'n hele paar tuisstasies gestasioneer is. 'n Groot lugredery het
by. sewe tuisstasies vir sy bemanning op die 40 stasies wat by bedien. Watter vlugte in
so 'n geval deur watter bemanningslede gevlieg moet word, word beinvloed deur faktore
soos watter toerusting die bemanning voor bekwaam is en vir watter groep bemanning
die onkostes die laagste gaan wees as die vlug van 'n sekere tuisstasie of sou vlieg,
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 33
vergeleke met die kostes as dit van 'n ander stasie sou vlieg. Die senioriteit van die
bemanning by 'n tuisstasie moet ook met die van die bemanning by 'n ander stasie
vergelyk word.
5.8 Samevatting Die skedulering van bemanning maak 'n integrerende deel van die skeduleringsproses
uit. Beperkinge wat geoptimaliseer moet word, is werkbeperkinge, bemannings-
benutting, senioriteit en die begrip "tuisstasies". Daar sal in hoofstuk 14 gekyk word na
maniere waarop die bemanningskeduleringsprobleem opgelos kan word. In die
volgende hoofstuk gaan egter eers na die skedulering van fasiliteite en toerusting op
lughawens ondersoek ingestel word.
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 34
'fillEINEW111111 1111111111ECENI El Ili
111Milial lin
111 111MIN11 INSTSIME01111111M11 MiligierMISMI1111 PI NMI MEMO II CH II
111119Mil 111111111111
SE EMS liv
511119,111111181111 111111611111111111
IMIIREMIE
Figuur 5.1 Vlugpatrone van bemanning (sig-sag kaart)
[18]
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 35
Figuur 5.2: Vlugpatrone van bemanning (Gantt kaart)
[14]
Die rol van bemarkingsfaktore by die opstel van 'n vlugskedule 36
60 Die skedulering van lughawefasiliteite en viiegtuigtoerusting
Lugdienste moet nie alleen seker maak dat daar genoeg personeel en dienste op hul
vliegtuie beskikbaar is nie, maar ook op die grond. Dienste op die grond sou vir elke
denkbare vlugrooster gereel kon word indien daar geen beperkings op hekposisies,
grondtoerusting, passasiersdienste of personeel was nie. So 'n toestand bestaan egter nie
in die praktyk nie. Sekere sektore (vlug tussen twee lughawens) vereis dat slegs sekere
tipes vliegtuie sekere roetes mag vlieg. Kleiner vliegtuie moet byvoorbeeld met ekstra
toerusting gelaai word om langer roetes te kan vlieg. Die feit dat sekere sektore sekere
tipes vliegtuie noodsaak, kompliseer natuurlik die skeduleerder se taak verder.
In hierdie hoofstuk gaan bespreek word wat die verskillende fasiliteitsbeperkings is en
watter hulpmiddels deur fasiliteitskeduleerders ingespan kan word. Die hoofstuk word
daarna met 'n bespreking van verskillende toerustingbeperkings afgesluit.
6.1 Fasiliteitsbeperkings
Die twee grootste probleme t.o.v. lughawens is om ekstra hekke te kry en, tweedens, die
hoe koste daaraan verbonde. Die vlugbeplanner moet daarom sy of haar bes doen om, in
die lig van bepaalde kostebeperkings [2], opeenhoping by die lughawe te vermy:
1. $250 000 vir ondersteuningstoerusting op 'n lughawe. Hierdie bedrag kan verdubbel
word vir twee vlugte op dieselfde tyd. Ondersteuningstoerusting is die toerusting
wat by die lughawe gebruik word om passasiers na en van vliegtuie te vervoer,
asook daardie toerusting wat vir die hantering van bagasie gebruik word.
1. $1 500 000 vir die bou van 'n ekstra hek op 'n lughawe.
Die doel van gronddienste is dan om soveel vlugte moontlik so doeltreffend moontlik,
op een lyn met fisiese beperkings en die optimale benutting van personeel en toerusting,
te skeduleer [2]. 'n Skeduleerder moet horn- of haarself dus altyd die volgende vrae ten
opsigte van elke punt op 'n roete afvra:
Die skedulering van lughawefasiliteite en vliegtuigtoerusting 37
Is daar genoeg hekke vir die getal vliegtuie op die grond beskikbaar? Van hierdie hekke
moet ook dien as 'n buffer indien daar vroed aankomste of vertraagde vertrekke sou
wees.
Is daar genoeg kaartjiepunte waar die passasiers hul instapkaartjies kan afhaal en waar
hulle hul bagasie kan inweeg?
Is daar genoeg tyd vir passasiers van aansluitingsvlugte om oor te klim?
Is daar grondtoerusting van die regte tipe, by. bagasiekarweiers en -hyskrane?
Oorlaai die voorgestelde skedule nie die voedseldienste nie?
Sal die voorgestelde skedule dit nodig maak om 'n tweede of 'n derde diensskof in te
stel?
Hierdie en baie ander tipe vrae moet ten opsigte van elke stasie in die vlugnetwerk gestel
en beantwoord word. Enige poging om die vlugskedule by gronddienste aan te pas,
moet oor en oor getoets word ten einde te bepaal watter uitwerking die poging op die fyn
balans tussen kaartjieverkope, instandhouding en operasionele behoeftes gaan he. Die
skeduleerder moet ook versigtig wees dat sy of haar handelinge by een stasie nie die
handelinge op 'n ander gaan beInvloed nie.
6.1.1 Stasiekaarte
Die skeduleringsafdeling maak gewoonlik gebruik van stasiekaarte om die probleem van
grondoperasies visueel voor te stel. Dit toon gewoonlik die hoeveelheid tyd aan wat 'n
vliegtuig nodig het om in 'n hekposisie te kom, die geskeduleerde aankomstyd, die tyd
wat die vliegtuig by die hek bestee, die tyd wat dit geskeduleer is om te vertrek en die
tyd wat dit benodig om die hek te verlaat.
Nadat al die inligting op hierdie kaart aangebring is, sal die skeduleerder kan sien of
daar probleme gaan ontwikkel al dan nie, by. opeenhoping gedurende spitsure.
Die skedulering van lughawefasiliteite en vliegtuigtoerusting 38
Veranderinge kan nou op hierdie punt aan die rooster aangebring word ten einde die
hekke meer optimaal te benut.
6.1.2 Kaartjiepunte
Skedulering word soms deur die aantal beskikbare kaartjiepunte bemoeilik. Gestel 'n
lugredery beskik slegs oor vier kaartjiepunte op 'n sekere lughawe en dat een
kaartjiebeampte slegs 20 persone per uur kan inweeg. Dit beteken dat die lugredery
slegs een Boeing 727 per uur sou kon hanteer. Indien daar baie meer passasiers sou
wees, kan die lugredery nou een van 'n aantal opsies uitoefen. Die redery kan eerstens
meer vlugte op verskillende tye skeduleer of die passasiers in rye laat staan, welke opsie
natuurlik die passasiers erg sou verontrief.
6.1.3 Grondtoerusting
Die grondtoerusting op 'n lughawe kan ook vir 'n lugredery groot kostes op die hals haal.
Voorbeelde van grondtoerusting is die trappies waarmee passasiers aan boord gaan, die
busse om die passasiers mee te vervoer, voedseldienste, ens. Die koste gedurende
spitsure aan hierdie tipe toerusting verbonde, kan miljoene rande beloop. Lugrederye
poog daarom om hierdie beperkings te oorkom sonder om hul diens, winsmarge of
kostes negatief te beInvloed. Baiekeer mask lugrederye op hul tuisstasies van hul eie
grondtoerusting gebruik, aangesien hulle dan nie die lughawe se toerusting hoef te huur
nie.
6.1.4 Hekke
Hekke is een van die belangrikste ruimtebeperkings op 'n lughawe. Hekke bied die
enigste manier waarop die passasiers vanaf die lughawe tot by die vliegtuig kan kom.
Daar is net 'n sekere aantal hekke beskikbaar en lugrederye regoor die wereld ding om
hierdie hekke mee. Indien 'n lugredery sy vlug op 'n sekere tyd sou wou skeduleer en 'n
hek is nie beskikbaar nie, moet daardie vlug eenvoudig vir 'n ander tyd geskeduleer
word. Hierdie beperking kan 'n groot impak uitoefen op die aantal passasiers wat van
daardie vlug wil gebruikmaak.
Die skedulering van lughawefasiliteite en vliegtuigtoerusting 39
Jaarliks word daar 'n konferensie gehou by geleentheid waarvan alle lugrederye hul
tydgleuwe en hekprobleme kan bespreek [19]. Tydens hierdie konferensie poog al die
lugrederye om tot 'n vergelyk te kom oor die aantal tydgleuwe wat op elke lughawe
beskikbaar is. ('n Tydgleuf is daardie tyd wat die lugredery tot sy beskikking het om te
land en al sy passasiers of te laai.)
6.2 Toerustingbeperkings
Roetes wat deur 'n lugredery gevlieg word, kan gewoonlik in twee hoofklasse verdeel
word, nl. lang en kort roetes. Lang roetes vereis uit die aard van die saak baie meer
brandstof as kort roetes. Slegs vliegtuie met die nodige brandstofkapasiteit sal die lang
roetes kan aanpak. Die ander alternatief is om kleiner vliegtuie met ektra brandstoftenks
te laai.
Lang roetes is ook baie duur indien daar slegs 'n handjievol passasiers gevlieg kan word.
Die ideaal is dus om lang roetes met groot vliegtuie te bedien wat genoeg
brandstofkapasiteit het en groot getalle passasiers kan vervoer. 'n Voorbeeld hiervan is
toe die Suid-Afrikaanse Lugdiens in November 1995 nuwe vliegtuie van Boeing bestel
het [20]. Een van die nuwe vliegtuie wat bestel is, was 'n Boeing 744. Hierdie tipe
vliegtuig sou dan spesifiek op die besige Johannesburg-Londen-roete gebruik word,
aangesien baie passasiers vervoer moes word en die roete baie lank was. Hekke is ook
beperk in Londen, met die gevolg dat soveel moontlik passasiers op een slag vervoer
moes word.
Sekere tipes toerusting moet ook gelaai word wanneer vliegtuie oor water heen vlieg of
op besonder mistige lughawens moet land. Op lughawens wat vir mistige toestande
bekend is, moet vliegtuie met 'n gevorderde outomatieselanding-meganisme toegerus
word. Hierdie meganisme kan egter nie op van die ouer vliegtuie gepas word nie, met
die gevolg dat ouer vliegtuie nie daardie roetes kan vlieg nie.
Dieselfde geld vir lughawens met baie kort aanloopbane (byvoorbeeld die van
Hongkong). Vliegtuie moet 'n meganisme aan boord he ingevolge waarvan die vliegtuig
Die skedulering van lughawefasiliteite en vliegtuigtoerusting 40
baie vinnig tot stilstand kan kom. Dit is egter moeilik om ouer vliegtuie met hierdie
meganisme toe te rus.
6.3 Samevatting
Skeduleerders het die reusetaak en twyfelagtige voorreg om 'n klomp teenstrydige
doelwitte te probeer bereik. So moet skeduleerders byvoorbeeld, die beperkte ruimte op
lughawens ten spyt, hekposisies vir al hul belangrike vlugte beding. Van hulle word
verder verwag om personeelkostes te bekamp, maar terselfdertyd maksimum diens aan
die publiek te lewer. Elke situasie moet afsonderlik beskou word en elke koste-item
moet opgeweeg word teen die beraamde wins wat afgewerp kan word. Geen besluit kan
egter gemaak word alvorens elke gevolg nie behoorlik deurdink is nie.
Die skedulering van lughawefasiliteite en vliegtuigtoerusting 41
7. Prosesvloei van skedulering
In hierdie hoofstuk gaan ons kyk na die prosesvloei van skedulering, asook na
operasionele skedulering. Die prosesvloei beskryf die pad wat 'n skedule moet loop
vanaf ontwerp totdat die vliegtuig vlieg. Dit is 'n logiese ordening van die tegnieke wat
in die vorige hoofstuk bespreek is om te verseker dat 'n skedule wel geproduseer word.
Nadat die skedule opgestel is, is dit die operasionele skeduleerders se taak om die
rooster "vliegbaar" te hou.
7.1 Rekursiewe aard van skedulering
Soos ons in die vorige vyf hoofstukke gesien het, betrek skedulering in 'n lugredery nie
slegs een afdeling nie, maar verskeie. Die doel is om 'n skedule op te stel wat nie alleen
vir een afdeling nie, maar vir al die afdelings optimaal is.
'n Lugredery publiseer gewoonlik sy skedule ses maande of langer vooruit. In die tyd
wat die publikasie van die skedule voorafgaan, moet daar egter 'n aantal tentatiewe
skedules opgestel word. Hierdie skedules word aan 'n komitee voorgele, wat dan besluit
of 'n spesifieke rofwerkskedule aan die vereistes van al die betrokke partye voldoen al
dan nie. Hierdie komitee bestaan gewoonlik uit bemarking-, bumming-,
instandhouding- en toerustingskeduleerders. In geval die partye nie konsensus kan
bereik nie, moet veranderings aangebring word en moet die komitee weer eens daaroor
vergader. Hierdie proses word herhaaldelik uitgevoer totdat 'n geskikte skedule gevind
is. Hierdie skedule kan dan gepubliseer word. Die vorige rooster bied altyd 'n
beginpunt waarvolgens die nuwe rooster te gegenereer kan word. Figuur 7.1 op bladsy
45 gee 'n diagrammatiese voorstelling van die proses ingevolge waarvan 'n skedule
opgestel word.
7.2 Prosesvloei
Die nuwe skedule het sy ontstaan by die bemarkingsafdeling. Indien die analiste nuwes
roetes wil ontwikkel (Hoofstuk 4), word die skeduleerder versoek om 'n vlug op 'n
bepaalde tyd op die nuwe roete te skeduleer. Indien daar voldoende hulpbronne (aantal
vliegtuie) beskikbaar is, word die vlug geskeduleer. Die nuwe rofwerkskedule word dan
Prosesvloei van skedulering 42
na die kajuitpersoneelbeplanning verwys, sodat hulle kan besluit of daar genoeg loodse
is om die nuwe vlug te hanteer al dan nie. Gelyktydig hiermee besluit die aanboord-
dienste of daar genoeg kajuitpersoneel vir daardie rooster beskikbaar is al dan nie.
Die tegniese afdeling baseer die skedulering van die diens van vliegtuie op historiese
syfers. Indien dit 'n bestaande vlug is waarvan die frekwensie verander, kan dit wees dat
die vliegtuig te veel of te min instandhouding gaan ondergaan. Die skedule moet
verander word as daar te min instandhouding plaasvind. In geval van 'n heel nuwe
vliegtuig en roete, moet die instandhoudingskeduleerders seker maak dat daar genoeg
hulpbronne vir die instandhouding van daardie vliegtuig beskikbaar is.
Die fasiliteitskeduleerders moet seker maak dat daar 'n tydgleuf beskikbaar is op die
lughawe waar daar geland moet word. Hulle moet ook daarvan seker maak dat daar
genoeg fasiliteite vir die passasiers beskikbaar is.
7.3 Operasionele skedulering
Operasionele skedulering geskied nadat 'n skedule goedgekeur is. Soms maak die weer
dit onmoontlik om 'n sekere roete op 'n sekere tyd te vlieg, en dan moet daardie vlug
herskeduleer word. In Oktober 1996 het 'n aantal tegnici van die Suid-Afrikaanse
Lugdiens vir meer as een week lank gestaak. Die staking het tot gevolg gehad dat 'n
hele paar vlugte of gekanselleer of vertraag is. Die skedule moes toe vinnig verander
word om hierdie veranderings te akkommodeer. Hierdie herskedulering word op die
oomblik deur operasionele kontroleerders behartig. Die mense se taak behels naamlik
om al die vliegtuie te monitor en te verseker dat die skedule so na moontlik nagekom
word.
Indien daar 'n probleem sou opduik, moet die operasionele kontroleerder poog om die
volgende te beperk of te voorkom [2]:
• Operasionele probleme. Algehele vlugvertraging, asook die aantal vertraagde
vlugte moet geminimeer word.
Prosesvloei van skedulering 43
Kommersiele probleme. Die totale aantal passasiers wat hul aansluitingsvlugte
verpas, moet beperk word. (Die totale aantal passasiers word per klas geweeg.
Eersteklas-passasiers word dus baie belangriker as ekonomieseldas-passasiers geag.)
Finansiele probleme. Die lugredery betaal gewoonlik vir passasiers wat op 'n
lughawe gestrand sit. Hierdie kostes moet beperk word. Indien 'n groter vliegtuig
gebruik sou word, moet daar meer brandstof gelaai word, wat ook meer geld kan
kos.
Operasionele skeduleerders maak gebruik van kaarte wat wys hoe laat vlugte vertrek en
aankom, asook waarheen hulle vlieg. Figuur 7.2 bied 'n voorbeeld van so 'n kaart.
Vlugte op hierdie kaart kan dan rondgeskuif word indien veranderinge nodig sou blyk to
wees.
Operasionele skedulering is 'n uiters dinamiese proses. Wanneer een vlug se vertrek- of
aankomstyd met 'n paar minute verander word, is die uiteindelike uitwerking daarvan
dat 'n groot aantal ander vlugtedienooreenkomstig verander moet word. Rekenaars en
veral kunsmatige-intelligensie-tegnieke kan 'n deurslaggewende rol in die oplos van
hierdie probleem speel.
7.4 Samevatting
In hierdie hoofstuk het ons gesien dat skedulering 'n interaktiewe proses is wat deur 'n
aantal afdelings van 'n lugredery uitgevoer moet word. Dit is hierbenewens 'n proses
wat in een afdeling begin en deur ander afdelings afgehandel word. Hierdie tipe
skedulering berus op die beginsel dat konsensus tussen die verskillende afdelings bereik
moet word. Operasionele skeduleerders verseker op hul beurt dat die skedule wat deur
hierdie afdelings geproduseer is, ten spyte van verskeie operasionele pr- obleme
"vliegbaar" bly.
Prosesvloei van skedulering 44
Bemarking Roete -ontwikkeling
Aanboord-dienste Bemanning- skeduleerder
Vlugoperasies Bemanning- skeduleerder
Komitee
I Tegnies
Instandhouding- skeduleerder
SESMAANDE- ROOSTER
Operasionele beheer Toerusting- skeduleerder
Figuur 7.1: Teenswoordige skeduleringsproses
Prosesvloei van skedulering 45
X ti !J 1L/
cc
•
z
z O
Vf a) CY ••
NU- /
CY •• LL U)
la •• uj LL U. CO CO -I -I Q a
LU
COLLW
a-j
LU
COLLW
LL1(X
COIL
1 116 111111 161 J 111111 1111111111111111 11111111 111 111111111111111111111111 MI 1111111 1111111111111111 lio rum ommmool
7 11111 1111M11111111111111 1111111111111111111111 III 111111111111111110 II
11111111111111111 I I 1111111111111111
1111111111111111111 1111111111111111111 11111111111111111
11111111111111111i 110111111111111111110 111 111111111111
z u_ Jzzoa.or-2,--...,-, amuLu>2><>-0 LI-C46(-7CXXDE aaaaacac-aa4a.a.a.aaaa)-1',-icazzepa.v.
CY12C4C4C4C4C4CY 1./.1 1/1 11.1 UJ UJ LL1 1.11 LLI
CO CO CO
•
CO CO
•
CO CO
▪
0) -J -J -J
a
-
aaaaaaa
12 a CY CY CY CY a CY 04 a CY CY C4 •• 4'. •• .. •• •• ••• •• •• •• •• •• •• ... 1.1.1 ILI LU 11/ Ul UJ 11.1 LLI Ul ILI 1.11 CU 1.1.1 •• •• •• •• •• •• •• .•• •• 4• •• •• •• •• • LL U. LL LL 1.1- LL L.I. U. U. U. U. U. LL •• •• •• •• •• •• •• •• •
.:•• •• •• .4 •....
CO CO 0) (1) CO CO CO CO CO V/ CO U) 0) lo• ••• •••• •• ..• •• •• •• .4 .. •• • • ..• •• .J -I -J .-1 .J -I ..J --I .J -.1 _J .J -J •• •• 0. •• •• •• . • •• .. •• •• •• •• 4. .2 a •CC a a a a a a a a a a •. •• ••• •• •• •• •. ".• 0. •• .• •• •• •• •••• •
•• • •
Figuur 7.2: Voorbeeld van n kaart wat deur 'n operasionele skeduleerder gebruik word
46 Prosesvloei van skedulering
Afdeling B
• a tzurs u
Die doel van hierdie afdeling is om 'n opsomming van die resente literatuur oor
skedulering en agente te gee. Die afdeling word afgesluit met 'n bespreking oor stelsels
wat tans gebruik word om die lugrederyskeduleringsprobleem mee die hoof te bied.
Hoofstuk 8 bespreek algemene skedulering, asook lugrederyskedulering.
Hoofstuk 9 bevat 'n bespreking van die aard en struktuur van intelligente agente.
Hoofstuk 10 toon aan hoe agente met mekaar kommunikeer. Hierdie hoofstuk le ook die
grondslag vir samewerking tussen agente.
Hoofstuk 11 verduidelik hoe agente kan leer.
Hoofstuk 12 gee 'n oorsig van bestaande lugrederyskeduleringstelsels.
Hierdie afdeling verskaf die teorie en hulpmiddels vir Afdeling C, wat hoofsaaklik handel
oor die oplossing van die probleem wat in Afdeling A gestel is.
47
8. Skedulering
In die vorige hoofstukke het ons die spesifieke probleem van skedulering vir 'n lugredery
bespreek. In hierdie hoofstuk gaan ons kyk na die teorie van algemene skedulering, wat
enige skedulering ten grondslag le. Die hoofstuk behels grootliks 'n kort oorsig van die
literatuur wat reeds rondom die onderwerp van skedulering gegenereer is. Operasionele
navorsingstegnieke word bespreek, asook tegnieke uit die veld van kunsmatige
intelligensie. Die tegnieke uit die veld van kunsmatige intelligensie sluit in
objekgeorienteerdheid, genetiese algoritmes en neurale netwerke. In hierdie hoofstuk
word daar ook gepoog om die teorie so in to span dat dit op die probleem van
lugrederyskedulering sal lig were.
8.1 Inleiding tot skedulering
In die konteks van 'n organisasie behels skedulering daardie regulering van die gebruik
van die spesifieke hulpbronne van daardie organisasie. Skedulering het dus betrekking op
die gebruik en benutting van toerusting, fasiliteite en menslike aktiwiteite. Skedulering
geskied in enige maatskappy, ongeag die aard van die onderneming. Fabrieke skeduleer
by. produksie,asook die werkroosters van die werknemers. Hospitale moet teaters,
verpleegsters en hulpdienste skeduleer. Opleidingsentrums moet klaskamers, instrukteurs
en studente skeduleer. Daar is dus 'n duisternis van aktiwiteite wat op skedulering berus
[21].
In die besluitnemingshierargie word skeduleringsbesluite gewoonlik laaste geneem. Baie
besluite oor die ontwerp en bedryf van 'n taak word gewoonlik lank yoor die
skeduleringsbesluite geneem. Ontwerps- en bedryfsbesluite handel oor by. die kapasiteit
van 'n stelsel, die keuse van toerusting, die opleiding van werkers, ens., met die gevolg
dat skeduleringsbesluite aan die hand van en binne die beperkings van ontwerps- en
bedryfsbesluite geneem moet word.
Skedulering 48
In die algemeen beskou, is die doelstellings van skedulering om 'n kompromis te maak
tussen teenstrydige doelwitte, wat insluit die optimale benutting van personeel, toerusting
en fasiliteite, asook die beperking van die wagtyd vir gebruikers, voorraad en
verwerkingstyd [211.
By die ondersoek van die skeduleringsprobleem word daar van die standpunt af uitgegaan
dat die skeduleerder oor 'n versameling hulpbronne beskik en dat daar 'n groep gebruikers
bestaan wat volgens 'n vaste skedule van die versameling hulpbronne gebruikmaak [221
'n Skeduleringsprobleem bestaan dus uit
'n versameling gebruikers
'n versameling hulpbronne
'n skeduleringsbeleid.
"Gebruikers" kan byvoorbeeld wissel van take wat by die fabriek verrig moet word tot
kliente wat in 'n ry moet staan. Die hulpbronne in die gevalle sal dan die masjien in die
fabriek wees wat die taak verrig en die supermarkassistent wat na die kliente se behoeftes
moet omsien. Die skeduleringsbeleid wat in alle waarskynlikheid in die gevalle gevolg
sal word, is die een van "wie eerste kom, die eerste maal"("first come first serve).
Hoewel hierdie tipe beleid goed in 'n bankdeug, werk dit nie noodwendig in 'n fabriek nie.
Die skeduleringsbeleid hang dus grootliks van die werkomgewing af.
8.2 Skeduleringskategoriee
Ons het in die vorige paragraaf gesien dat skedulering 'n baie groot veld bestryk.
Vervolgens gaan ons poog om die grootste skeduleringsprobleme te kategoriseer. Ons
gaan na drie tipes skeduleringsprobleme kyk, naamlik toekenningsprobleme,
opeenvolgingsprobleme en vervoerprobleme. Al drie hierdie kategoriee is egter van die
uiterste belang in lugrederyskedulering.
Skedulering 49
8.2.1 Toekenningsprobleme
Toekenningsprobleme handel oor hoe om die werklading eweredig tussen 'n aantal
werksentrums te versprei. Formeel kan die toekenningsprobleem soos volg beskryf word:
veronderstel die probleem om m take (of werkers) aan n masjiene toe te ken. 'n Taak
i(=1, 2, ..., m) as dit aan 'n masjien j(=1, 2, ..., n) toegeken word, loop 'n koste van c u op.
Die doelwit is om take teen die goedkoopste totale koste aan die masjiene toe te ken (een
taak per masjien) [23].
Indien 'n taak slegs op een masjien uitgevoer kan word, is die skeduleringsprobleem nie te
groot nie. Probleme ontstaan egter wanneer daar twee of meer take is wat uitgevoer kan
word en daar is 'n aantal werksentrums (masjiene) wat die take kan uitvoer. Die uitkoms
van voormelde definisie kan ook uitgebrei word deur te stel dat skeduleerders nie alleen
koste wil bespaar nie, maar ook die tyd wat die werksentrum nie produktief is nie, asook
die voltooiingstyd van 'n taak.
Daar bestaan 'n paar metodes waarvolgens die toekenningsprobleem opgelos kan word.
Hierdie metodes wissel van intuIsie tot lineere programmering. Een baie handige
hulpmiddel is egter die Gantt-kaarte. Figuur 8.1 bied 'n voorstelling van so 'n Gantt-
kaart. Hierdie kaart toon watter vliegtuie gedurende watter tydgleuwe aan watter take
toegeken gaan word. Die doel van 'n Gantt-kaart is om die gebruik van hulpbronne in 'n
tydsraamwerk te orden.
Viliegbutig Tydgleuf
08:00 09:00 10:00 11:00 12:00
AC752 Vlug 101 Vlug 101 Vlug 102 Vlug 103 Vluk 104
AC753 Versiening Versiening Versiening Versiening Versiening
AC754 Vlug 105 Vlug 108 Vlug 108 Vlug 108 Vlug 109
AC755 Vlug 106 Vlug 110 Vlug 111 Vlug 112 Vlug 113
Figuur 8.1: Voorbeeld van 'n Gantt -kaart
Lineereprogrammering-tegnieke sal later in hierdie hoofstuk onder die loep geneem word.
Skedulering 50
8.2.2 Opeenvolgingsprobleme
Hoewel toekenningsbesluite bepaal watter werksentrums gebruik gaan word om
spesifieke take by te verrig, bepaal dit nie die orde waarin die take by die werksentrum
verrig gaan word nie. Opeenvolgingsprobleme handel dus oor die bepaling van die orde
waarin take verrig moet word [21].
As die werksentrums nie baie swaar belaai is nie en die take almal omtrent dieselfde
prosesseringstyd verg, is die opeenvolgingsprobleem nie baie moeilik om op te los nie.
Sou die werksentrums egter baie swaar belaai wees en die take baie lang verwerkingstye
verg, is die orde waarin hulle verrig word, baie belangrik, sowel ten opsigte van die koste
van die take wat wag om verrig te word as ten opsigte van die staantyd van die
werksentrums [21].
Prioriteitsreels is eenvoudige heuristieke wat gebruik kan word om te bepaal watter take
wanneer verrig moet word. Van die meer bekende prioriteitsreels is soos volg [24, 21]:
Wie eerste kom, die eerste maal: Take word in die orde van hul aankoms by die
werksentrum verrig. Die responstyd van hierdie prioriteitsreel kan kort wees indien
daar 'n groot variansie tussen die tye is wat dit neem om 'n taak te verrig
(verwerkingstye). Die nadeel van hierdie prioriteitsreel is egter dat take met kort
verwerkingstye "gepenaliseer" word.
Kortste verwerkingstyd: Take word op grond van hul verwerkingstye by 'n
werksentrum gerangskik. Die taak met die kortste verwerkingstyd word dus eerste
verrig. Die nadeel van hierdie prioriteitsreel is dat tydrowende take "gepenaliseer"
word. 'n Verdere nadeel van die prioriteitsreel is dat sekere take letterlik nooit verrig
sal word nie, aangesien daar heeltyd ander take met korter verwerkingstye inkom. Die
aantal take wat ingevolge hierdie prioriteitsreel verrig kan word, is egter baie groot.
Spertye: Take word op grond van hul spertye georden. Take met die vroegste spertye
word dus eerste verrig. Hierdie prioriteitsreel poog om te voorkom dat take nd die
sperdatum eers afgehandel word. Die nadeel van hierdie reel is egter dat dit nie
Skedulering 51
verwerkingstyd in ag neem nie. Die gevolg hiervan is dat sekere take vir 'n baie lang
tyd moet wag en dat dit opeenhoping in die werkwinkel tot gevolg kan he.
Kritiese verhouding: Take word volgens die kleinste verhouding tussen die sper- en
die verwerkingstyd verrig. In gevalle waar die spertye van take belangrik is, is die
kritieseverhouding-prioriteitsreel die beste keuse.
Noodgevalle: Noodgeval- en voorkeurtake word eerste verrig.
Daar bestaan in werklikheid 'n groot hoeveelheid prioriteitsreels ingevolge waarvan take
georden kan word. Elkeen van hierdie reels pas spesifiek by 'n gegewe stel toestande.
Die vraag ontstaan egter nou hoe 'n mens die uitkoms van 'n ordeningsprobleem evalueer.
Tabel 8.1 hieronder lys 'n paar van die kriteria wat gebruik kan word om die uitkoms van
'n ordeningsprobleem aan te meet [24]:
Tabel 8.1: Skedulerin skriteria Kriterium Beskrywing
Responstyd Vir 'n interaktiewe proses is dit die tyd tussen die inhandiging
van 'n proses totdat die terugvoer daaroor begin ontvang word.
Omkeertyd Hierdie is die interval tussen die inhandiging van 'n proses
totdat dit heeltemal afgehandel is.
Spertye Wanneer spertye gespesifiseer is, moet die skeduleerder die
persentasie take maksimeer wat hul spertye nagekom het.
Voorspelbaarheid 'n Gegewe taak moet in ongeveer dieselfde tyd en teen
dieselfde koste verrig word, ongeag die belading op die stelsel.
Deurvoer Die skeduleerder moet poog om die aantal take wat verrig
word, per tydeenheid te maksimeer.
Regverdigheid Alle take moet eenders hanteer word en geen taak mag
uitgesluit word nie.
Prioriteite As take prioriteite het, moet die skeduleerder toesien dat die
take met hoer prioriteite eerste verrig word.
Hulpbronbalansering Die skeduleerder moet soveel moontlike hulpbronne gelyktydig
benut.
Skedulering 52
8.2.3 Vervoerprobleme
Die vervoerprobleem behels die vind van die goedkoopste plan vir die verspreiding van
goedere vanaf 'n aantal verskaffers na 'n aantal verbruikers en gebruikers onder wie daar
'n vraag na die goedere bestaan [23]. 'n Voorbeeld hiervan is 'n onderneming wat oor drie
fabrieke beskik wat identiese produkte vervaardig, met vier pakhuise waarin hierdie
produkte gestoor word of waarna daar 'n vraag bestaan. Die vervoerprobleem behels
verder die wyse waarop die produkte na die pakhuise vervoer word sodat die totale
vervoerkoste geminimeer is. Hierdie probleem word ook ondervind in lugrederye
waarvan die passasiers vanaf verskillende vertrekpunte na bepaalde aankomspunte
vervoer moet word.
8.2.4 Samevatting van skeduleringskategoriee
Al die tipes probleme wat in hierdie paragraaf genoem is, nl. toekenningsprobleme,
ordeningsprobleme en vervoerprobleme, word in lugrederye ondervind. Bemanning moet
toegeken word aan vlugte wat aan 'n aantal beperkings onderhewig is, vlugte moet so
georden word dat dit die toekenning van personeel en versieningsdienste vergemaklik en
passasiers moet so goedkoop moontlik van 'n aantal vertrek- na aankomspunte vervoer
word. In die volgende paragrawe gaan ons na algemene tegnieke kyk aan die hand
waarvan hierdie probleme, of variasies daarvan, opgelos kan word.
8.3 Operasionele navorsingsmetodes (Iugrederygeorienteerde)
Hierdie afdeling bevat 'n oorsig van die bydrae wat operasionele skeduleerders die
afgelope paar jaar gelewer het om die probleem rondom skedulering in 'n lugredery op te
los. Volgens Etschmaier en Mathaisel [25] is die vlugrooster die sentrale element van die
lugredery se beplanningsproses. Hierdie proses is gemik op die optimalisering van die
lugredery se hulpbronne, om in die behoeftes van die gebruiker te voorsien en om die
wins van die lugredery te maksimeer.
Skedulering 53
Baie van die vroegste navorsingsprojekte wat in die verband van stapel gestuur is, was
gerig op modelle wat maklik wiskundig formuleerbaar was en wat dan met 'n
optimeringsalgoritme opgelos kon word. Hierdie model kan soos volg beslcryf word:
'n Versameling van aanvraagfunksies en geassosieerde winste vir elke passasier en
vertrek- en aankomstelughawe-paar. Aanvraag word ingevolge tydgleuwe gedurende
die dag en vir elke dag van die week gedefinieer.
Roetekenmerke, by. afstande, tye en operasionele beperkings.
Vliegtuigkarakteristieke en operasionele kostes.
Operasionele en beleidsbeperkings.
Wiskundige programmering was die manier waarop hierdie probleem aangepak is. Die
meeste van die modelleringsoefeninge was basies 'n uitbreiding van die
lineereprogrammering-tegnieke van Dantzig [26]. Dantzig kan daarom met reg as die
vader van modeme operasionele navorsing beskou word. Navorsers het egter agtergekom
dat meer en meer detail in die modelle ingebou moes word om realistiese oplossings to
vind. Die kompleksiteit van die algoritmes en die getal veranderlikes het hand oor hand
toegeneem. Rekenaars kon nie die probleme oplos nie a.g.v. die groot hoeveelhede
bewerkings wat gedoen moes word. Die persepsie was egter dat rekenaars die
kompleksiteitsprobleem met verloop van tyd sou kon oplos.
Vandag is die algemene konsensus egter dat lugrederyskeduleringsprobleme nooit met
behulp van kwantitatiewe-optimering-tegnieke opgelos sal kan word nie. Doeltreffende
lugrederyskedulering beteken dat bykans elke afdeling in die lugredery geoptimeer moet
word.
Dit word daarom algemeen aanvaar dat die lugrederyskeduleringsprobleme die beste
opgelos sal kan word deur 'n gestruktureerde beplanningsproses waarby al die afdelings
van die lugredery betrokke is. Ingevolge hierdie metode word die meeste van die werk
wel deur die rekenaar gedoen, maar word eweveel van die belangrikste besluite en keuses
deur die mens geneem en uitgeoefen [25].
Skedulering 54
Kwantitatiewe modelle word gebruik vir die konstruksie van skedules en die evaluasie
daarvan ooreenkomstig die kriteria van die betrokke afdelings.
8.3.1 Skedulekonstruksie
Rooster- of skedulekonstruksie neem slegs die belangrikste faktore in ag, soos by.
passasiers wat d.m.v. 'n aanvraagvektor voorgestel word, vliegtuie se operasionele
kenmerke en die een of ander kostefunksie. Die geografie van die roetenetwerk en selfs
die gedrag van mededingers kan ook in ag geneem word.
Twee metodes bestaan om 'n rooster op te stel, nl. 'n direkte benadering en 'n stapsgewyse
benadering. Die direkte benadering maak van die een of ander heuristieke prosedure
gebruik om die rooster mee op te stel. Hierdie benadering kies vlugte sekwensieel en
bring miskien geringe veranderings in vlugte aan wat vooraf gekies is. Die oudste stelsels
was geheel en al rekenaargebaseerd, maar die meer moderne stelsels berus op mens-
masjien-interaksie [25]. Stapsgewyse benaderings begin deur 'n roete te selekteer wat
bedien moet word en deur dan die frekwensie van die diens op elke roete te bepaal. Die
tweede stap bepaal dan die vertrektye volgens die vraag. In die derde stap word die
vertrektye vir operasionele haalbaarheid getoets. Vliegtuigrotasies word dan beplan om
te bepaal of daar genoeg vliegtuie is om die skedule mee te vlieg.
Die keuse van die benadering hang van die kenmerke van die betrokke lugredery af.
Faktore wat hierin 'n rol speel, is die roetestruktuur (bv. linear of sentraal) en die
markstruktuur (digtheid, volume en elastisiteit). 'n Lugredery wat by. in 'n afgeled plek
bedryf word, sonder mededinging met grondvervoer en ander rederye en met 'n vraag wat
nie sensitief vir vertrektye is nie, sal betekenisvolle resultate met die stapsgewyse
benadering verkry. 'n Lugredery wat egter in 'n mark funksioneer waar moordende
mededinging aan die orde van die dag is en waarvan die vraag uiters sensitief vir
vertrektye is, sal die beste resultate d.m.v. 'n direkte benadering verkry. Voorbeelde van
voormelde modelle word deur Simpson bespreek [27].
Skedulering 55
8.3.2 Skedule-evaluasie
Modelle vir rooster- of skedule-evaluasie word meer in besonderhede deur Etschmaier en
Mathaisel bespreek [25]. Die evaluasie van die rooster behels die volgende:
Om die kostes verbonde aan die rooster en die winste wat gelewer kan word deur die
voorgestelde rooster te vlieg, te evalueer.
Om gedeeltes van die rooster te identifiseer wat, vanuit elke afdeling se oogpunt
gesien, duur sal wees om te implementeer.
Die volgende operasionele faktore moet eksplisiet ondersoek word, te wete
instandhoudingsvereistes
grondbemanning en -fasiliteite
kajuitbemanning.
8.4 Kunsmatige -intelligensie -benaderings
8.4.1 Objekgeorienteerde benadering
Objekgeorienteerdheid verteenwoordig 'n moderne manier om oor inligting, prosedures
en die interaksie tussen hulle te dink. Die objekgeorienteerde ontwerpsmetodiek ag sowel
die beskrywende as die prosedurele eienskappe van 'n objek as synde inherent met 'n
individuele objek geassosieer te wees. Elke objek kan boodskappe stuur en ontvang en
onafhanklike handelinge uitvoer [28].
Tabel 8.2: Verskille tussen tradisionele en objekgeorienteerde programmering [29] Tradisioneel Objekgeorienteerd
Data Instansies (Objekte)
Prosedures Boodskapper
Datatipes Klasse
Geen oorerwing nie Oorerwing
Programmeerder besluit watter handelinge Stelsel besluit watter handelinge om uit te
om uit te voer voer
Invokasie d.m.v. prosedures Metodes
Skedulering 56
Van Rensburg [30] het d.m.v. sy IDS-model ("Interactive Dynamic Scheduling Tool")
aangetoon hoe 'n objekgeorienteerde benadering op fabriekskedulering toegepas kan
word. Hartman [31] het op sy beurt aangetoon hoe objekorientering op die skedulering
van treine toegepas kan word.
Die IDS-model hou die volgende voordele bo tradisionele stelsels in:
Al die prosesse in die fisiese omgewing kan as generiese hulpbronne voorgestel word.
'n Objekgeorienteerde voorstelling kan van die verwantskap tussen die hulpbronne (die
hulpbronnetwerk) gemaak word.
Die beperkings kan voorgestel en geklassifiseer word.
'n Tipiese objekgeorienteerde skeduleringsklas bestaan dus uit die volgende objekte:
Taakobjekte
Boodskapobjekte
Konfigurasie-objekte
'n Hoofskeduleringsobjek.
Objekgeorienteerdheid is dus 'n baie belangrike modelleringshulpmiddel vir
skeduleerders. 'n Ander baie belangrike gebruik van objekte is dat hulle die grondslag vir
agente le. 'n Agent is 'n objek. Al die voordele van objekte geld dus ook vir agente.
Agente sal in die volgende hoofstuk die onderwerp van bespreking wees.
8.4.2 Genetiese algoritmes
As daar van heuristieke metodes gebruikgemaak word om te skeduleer, moet een of meer
kenners eers die reels en beperkings spesifiseer. Die heuristieke metode sal nou poog om
hierdie reels te gebruik om te skeduleer. Een nadeel van hierdie benadering is dat dit
moeilik is vir kenners om hul kennis in terme van reels voor te stel. Genetiese algoritmes
kan dan in sodanige gevalle gebruik word, aangesien dit nie soveel eksplisiete kennis verg
oor hoe om 'n oplossing te vind nie.
Skedulering 57
Fiksheids- : evoiusie
Nasaat- individue
Gedvalueerde individue
Bevolking
\ Hoefiksheid-
individue
inisialisaste Seteksie -QV
Genetiese algoritmes verg slegs kennis oor hoe doeltreffend 'n oplossing (skedule) is.
Slegs die gehalte van die resultaat is vir 'n genetiese algoritme belangrik. 'n Voorbeeld
hiervan is 'n stelsel wat hulp aan gebruikers moet verleen. Baie versoeke om hulp word
ontvang en die stelsel moet hierdie versoeke aan hulpbronne toewys sodat daar so spoedig
moontlik aan die kliente diens gelewer kan word. So 'n tipe stelsel vereis dus 'n groot
hoeveelheid reels a.g.v. die verskillende tipes take en hulpbronne. Toegang tot
ekspertkennis is ook baie beperk. Die reels is verder uiters dinamies en verander na
gelang van 'n gegewe situasie. 'n Genetiese algoritme kan dus met groot vrug op hierdie
tipe probleem toegepas word. Die genetiese algoritme evalueer dus elke stap in die
evolusionere proses met 'n fiksheidsfunksie. Die fiksheidsfunksie probeer in hierdie
geval om die wagtyd van die gebruikers te verkort. Die fiksheid van elke chromosoom
word bepaal deur die tyd wat die lede van die gebruikersgemeenskap sou verloor terwyl
hulle sou moes wag vir take om, volgens die skedule gedefinieer, deur die chromosoom
afgehandel te word [32].
Genetiese algoritmes is al ook ten opsigte van ordeningsprobleme gebruik. Genetiese
algoritmes is sterk kandidate vir statiese skedulering, maar gedurende die afgelope vyf
jaar is daar ook groot vordering gemaak met probleme wat van stochastiese
verwerkingstye (dinamiese skedulering) gebruikmaak [33]. Sien asseblief Hoofstuk 13
vir 'n voorbeeld van 'n genetiese algoritme vir bemanningskedulering.
Figuur 8.2: Diagrammatiese voorstelling van genetiese algoritmes [34]
Skedulering
58
Genetiese algoritmes is reeds met groot sukses ten opsigte van skeduleringsprobleme
geimplementeer. Die probleem om vliegtuie aan vlugte toe te ken, is met genetiese
algoritmes opgelos. Meer as 100 vliegtuie kon in minder as vyf sekondes aan 'n paar
honderd vlugte toegeken word. Die implementering van die genetiese algoritme is op 'n
gewone persoonlike rekenaar uitgevoer [35]. Genetiese algoritmes is ook suksesvol ten
opsigte van die treinskeduleringsprobleem geImplementeer. In geval van laasgenoemde
probleem moet treine vir sekere peronne op stasies geskeduleer word. Genetiese
algoritmes is ingespan om die treinskeduleringsprobleem op die Shenyang-stasie in China
suksesvol op te los [36].
Genetiese algoritmes kan ook suksesvol saam met ander tegnologiee ingespan word. Een
so 'n tegnologie is die neurale netwerk, wat vervolgens bespreek sal word.
8.4.3 Neurale netwerke
Neurale netwerke is nog 'n studieveld van kunsmatige intelligensie wat op
skeduleringsprobleme toegepas kan word. Hierdie afdeling verteenwoordig egter
hoegenaamd nie 'n dieptestudie van neurale netwerke nie, aangesien blote
agtergrondsinligting omtrent die gebruik daarvan vir die oplos van skeduleringsprobleme
hier verstrek word.
Neurale netwerke is deur die meganisme van en die wisselwerking tussen die brein en die
senuweestelsel geInspireer [37]. 'n Netwerkstruktuur wat vir skedulering geskik is, is die
Hopfield-netwerk. Die Hopfield-netwerk is 'n enkelvlaknetwerk wat die kollektiewe
eienskappe van die netwerk en 'n minimeringsfunksie gebruik om invoere mee te
klassifiseer. Om 'n optimeringsprobleem op te los, moet twee stappe gedoen word [38]:
'n Hopfield-energiefunksie moet gekonstrueer word wat by die probleem pas.
'n Rekursiewe meganisme moet ontwerp word om die energiefunksie te minimeer.
Hopfield en Tank [39] het die rondreisendeverkoopsman-probleem op 'n neurale netwerk
gesimuleer en verkennende numeriese studies ten opsigte van mediumgrootte probleme
Skedulering 59
onderneem deur die minimering van die Hopfield-energiefunksie met die netwerk te
assosieer.
In 'n Hopfield-netwerk is die afvoer van elke neuron die waarde een as die geweegde som
van die invoere groter as 'n drumpelwaarde wjo is; andersins is dit nul. Hierdie procedure
kan wiskundig soos volg beskryf word:
Ej = wuSi + wio, waar i*;
Si = { 1, as Ei >0,-1, andersins}
Ei word gedefinieer as die jde komponent van die energiefunksie, wii as die
gewigskonneksie tussen neuron i en neuron j en Si as die toestand waarin neuron j
verkeer.
Neurale netwerke is al ook vir die oplos van die ordeningsprobleem gebruik. 'n
Voorbeeld hiervan is die Boltzman-neuralenetwerk-implementering deur Kim en Kuroda
[40], wat ten opsigte van die ordeningsprobleem in fabrieke toegepas is. Li, Ida, Gen en
Kobuchi [41] het getoon hoe neurale netwerke gebruik kan word om die algemene
vervoerprobleem op te los. Die vervoerprobleem wat hulle op die manier opgelos het, is
daardie vervoerprobleem wat gewoonlik as gevolg van die gebruik van verskillende
vervoermiddele, by. busse, motors, treine, ens., ontstaan.
8.5 Samevatting
In hierdie hoofstuk het ons ondersoek ingestel na wat die skeduleringsprobleem in
werklikheid behels. Daar is ook bevind dat daar drie hoofgroepe van
skeduleringsprobleme te onderskei is, naamlik toekennings-, ordenihgs- en
vervoerprobleme. Operasionele navorsingstegnieke, asook kunsmatige-intelligensie-
tegnieke kan gebruik word om di6 skeduleringsprobleme op te los. Operasionele
navorsing maak in werklikheid van variasies van lineere programmering gebruik, terwyl
kunsmatige-intelligensie-tegnieke tegnieke soos genetiese algoritmes, neuralenetwerk- en
objekgeorienteerde programmering insluit.
Skedulering 60
Bruikbaarheids- gebaseerde
agente
Die optrede van agente
Struktuur van 'n agent
Kennis Funksies
Omgewing
Agente wat "beplan"
Bydraes tot agentteorie
Eenvoudige- refleks-agente
Agente wat "boekhou"
Mikpunt- gebaseerde
agente
Probleem- oplossingsagent
Kennisgebaseerde agent
Beplanningsagent
9. Intelligente agente
In die vorige hoofstuk het ons uit die literatuur 'n oorsig van skedulering gekry.
Hierdie hoofstuk volg dieselfde aanslag. Die verskil is egter dat ons hier na die
konsep van intelligente agente gaan kyk. In hierdie hoofstuk gaan ons naamlik
ondersoek instel na die wyse waarop agente funksioneer, hoe hul struktuur daar
uitsien, asook die omgewing waarin hulle funksioneer. Daar gaan ook gekyk word na
hoe agente "beplan". Die hoofstuk sal met 'n bespreking van ander velde se bydraes
tot die agentteorie afgesluit word. Figuur 9.1 hieronder dui die struktuur van hierdie
hoofstuk aan. Uit hierdie figuur blyk dit reeds duidelik dat agente op twee maniere
geklassifiseer kan word, naamlik volgens die funksies wat hulle uitoefen of volgens
die manier waarop hulle "beplan".
Figuur 9.1: Struktuur van hierdie hoofstuk
Intelligente agente
61
9.1 Die optrede van agente
Met die koms van die Internet en verspreide verwerking het 'n nuwe
modelleringstegniek ook die lig gesien. Hierdie tegniek, wat amper Al die
oplossingsmetodologiee van kunsmatige intelligensie enkapsuleer, word "agentteorie"
genoem. Min navorsing het nog die verbeelding van jan en alleman so aangegryp
soos die wat rondom die agentteorie onderneem is. Agente is naamlik in staat om die
omgewing waar te neem, te beplan en aksies in reaksie op die omgewing uit te voer.
Hierdie aksies stem verder baie met die van menslike optrede ooreen [42].
Ons gaan agente definieer as synde enige objek wat sy omgewing deur middel van
sensors kan waarneem en dan deur middel van affekteerders ("effectors") daarop kan
reageer [43]. In 'n onlangse uitgawe van die nuustydskrif "Time" [42] is 'n artikel oor
agente gepubliseer waarin verskeie navorsers gepoog het om die begrip "agent" te
definieer. Een van hierdie navorsers, ene Leonard Foner, se definisie van die begrip
lui dat 'n agent 'n objek is wat oor gespesialiseerde kennis beskik en wat onafhanklik
kan optree. Daniel C. Dennett stel op sy beurt weer dat 'n agent enige stelsel is wat
waardes "naleer, "begeertes" het en oor vermoe beskik om rasioneel waar te neem.
Die "waardes", "begeertes" en "rasionele waarneming" van agente sal in hierdie
hoofstuk en die res van die verhandeling meer in besonderhede bespreek word.
Diagrammaties kan eersgenoemde definisie soos volg voorgestel word:
Figuur 9.2: Agentinteraksie met die omgewing
Intelligente agente 62
'n "Intelligente" agent kan beskou word as 'n surrogaat vir 'n persoon of proses wat in
'n bepaalde behoefte voorsien [44]. Hierdie surrogaatentiteit verskaf die
besluitnemingsvaardighede wat in 'n hoe mate sterk met die van die mens ooreenstem.
Hierdie surrogaat kan met genoeg van die persona van 'n gebruiker of die kern van 'n
proses toegerus word om 'n goed uiteengesette of afgebakende taak te verrig. 'n
Intelligente agent kan hierbenewens sy werk binne die grense van of algemene Of
afgebakende behoeftes en die grense van 'n gegewe informasieruimte verrig. Hierdie
informasieruimte behels die hele versameling van brokke inligting wat die agent
benodig om sy taak suksesvol te vervul.
Die eerste voorvereiste vir agente is dat hulle hul aktiwiteite in die praktyk intyds
moet kan uitvoer [45]. Ons sal graag wil sien dat die agent met die "regte" aksies op
die omgewing moet reageer. S6 'n agent word 'n "rasionele agent" genoem. Om te
kan bepaal of die regte aksie uitgevoer word al dan nie, moet daar op die een of ander
manier bepaal kan word of die aksie suksesvol was. Ons het dus die een of ander
vorm van prestasiemeting nodig. Die prestasiemeting moet verder objektief wees.
Dit beteken dat die een of ander standaard deur buitewaarnemers gestel moet word om
die sukses van die aksies van die agent op sy omgewing te bepaal. 'n
Skeduleringsagent moet by. roosters ter voldoening aan al die beperkings van die
betrokke lugredery gegenereer. Dit is ook belangrik om daarop te let dat hierdie
evaluasie op 'n sekere gesette tydstip moet plaasvind. Dit help nie om die evaluasie
van die skeduleringsagent binne die eerste drie minute van die skeduleringsproses te
laat plaasvind nie. Die agent kon byvoorbeeld op daardie oomblik nog besig gewees
het om die rooster te genereer. Ander agente kan miskien baie vinniger roosters
genereer, maar ten koste van die gehalte daarvan.
Die rasionaliteit van 'n agent op enige oomblik hang dus van die volgende faktore af:
'n Prestasie-evaluasie wat die mate van sukses bepaal.
Alles wat die agent tot op hede waargeneem het (waarnemingsreeks).
Alles wat die agent van die omgewing "weet" (afgelei het, ens.).
Die aksies wat die agent kan uitvoer.
Intelligente agente 63
Uit bogenoemde kan ons dus 'n definisie van 'n ideale rasionele agent aflei, nl.: "Vir
elke moontlike waarnemingsreeks moet 'n ideale rasionele agent enige aksie uitvoer
wat hy verwag sy prestasie-evaluasie sal optimaliseer op grond van die bewyse deur sy
waarnemingsreeks gelewer en ander ingeboude kennis waaroor hy mag beskik [43].
Die waarnemingsreeks waarna hier verwys word, is 'n versameling van waarnemings
wat vanaf 'n sekere tydstip tot op hede plaasgevind het.
Die agent se gedrag hang dus slegs van sy waarnemingsreeks tot op hede af. Daar kan
gevolglik 'n tabel opgestel word met elke moontlike waarnemingsreeks en die aksies
wat daarmee geassosieer word. Die aksies wat 'n agent in antwoord op enige gegewe
waarnemingsreeks moet uitvoer, verskaf die ontwerp vir 'n ideale rasionele agent. 'n
Voorbeeld van 'n baie eenvoudige waarnemingsreeks is die Boolese tabel, wat in
Tabel 9.1 hieronder aangedui word. Die X- en Y-kolom stel die waarnemings voor,
terwyl die Boolese "of -funksie die aksie verteenwoordig. Die resultaat van die aksie
word in die derde kolom aangedui.
Dit is nie altyd moontlik om 'n eksplisiete tabel met inskrywings vir elke moontlike
waarnemingsreeks op te stel nie. Ons kan egter 'n spesifikasie verskaf vir hoe die
transformasie van waarnemingsreekse na aksies moet plaasvind. Ons hoef by. nie die
vlugtyd tussen elke moontlike stad vir elke moontlike tipe vliegtuig te spesifiseer nie.
Dit is slegs 'n funksie van die afstand en die enjinkapasiteit van die vliegtuig.
Tabel 9.1: Tabel vir die Boolese OF-funksie X Y ' XotY
0 0 0
0 1 1
1 0 1
1 1 1
9.2 Struktuur van 'n agent
'n Intelligente agent bestaan uit kennis en funksies. Die kennis word beskryf in die
vorm van mikpunte en prosesse wat weer die mikpunte van die agent uiteensit, asook
die manier waarop die agent sy taak kan uitvoer. In Figuur 9.3 kan ons die rol
Intelligente agente 64,
Gebruiker 4--
Gebruikers-voorkeur Kennisbasis
Intelligente agent Doelwit: Koop
Wat: Goudaandele Prys: Prys op wins doetwitte
gebaseer Eienaar: Josef Langerman
Netwerk
geIllustreer sien wat sowel kennis as funksies by die ontwerp van 'n intelligente agent
speel.
Gedragsmodel en afleidingsenjin Domein-
kennisbasis
Figuur 9.3: Komponente van 'n intelligente agent
'n Agent kan uit die volgende moontlike komponente bestaan [44]:
Eienaar: Gebruikersnaam, meesteragent se naam of prosesnaam. Intelligente
agente kan baie moontlike eienaars he, by. gebruikers wat agente skep, prosesse
wat agente skep of meesteragente. 'n Meesterskeduleerder, oftewel 'n taktiese
agent, kan take in fabriekskedulering na operasionele agente delegeer. As daar iets
geskeduleer moet word, skep die taktiese agent 'n operasionele agent om die taak te
verrig [46].
Outeur: Ontwikkelaar, diens of meesteragent se naam. Intelligente agente kan deur
persone of prosesse geskep word. Hierdie agente kan dan aan gebruikers verskaf
word as 'n basis ("templates") waarvolgens hul eie voorkeur aangepas kan word.
Skeppingsdatum: Datum waarop die agent geskep is.
Rekening: Rekeninginligting of elektroniese adres. Elke agent behoort vir
rekeningdoeleindes 'n adres te he. Hierdie adres kan 'n wyser na die eienaar van die
agent of die agent se eie rekening wees.
Doelwitte: Mikpunte en maatstawwe vir sukses. Elke agent moet 'n doelwit he wat
as aanduiding dien dat 'n taak afgehandel is. Daar moet ook maatstawwe wees wat
aandui wanneer 'n taak afgehandel is en wat die waarde van die opbrengs is.
Maatstawwe vir sukses kan die afhandel van 'n transaksie binne sekere grense of 'n
meer komplekse maatstaf, soos by. die waarde van die inligting wat teruggegee is
(die nutswaarde), aandui [47].
Intelligente agente 65
Onderwerpsbeskrywing: Onderwerpsnaam en onderwerpskenmerke. Die
onderwerpsbeskrywing gee detail oor die mikpunt(e) se kenmerke. Hierdie
kenmerke of attribute definieer die grense vir die agent se taak, moontlike
hulpbronne wat benut kan word en die tipe behoefte, by. die prys van
vliegtuigkaartjies, 'n roete-aanvraag, ens.
Responstyd: Antwoord voor 'n sekere tyd verwag.
Agtergrond: Ondersteuningsinligting. Intelligente agente behoort nie enige
"bewegende dele" of algemene dienste nodig te he om hul take te verrig nie, maar
moet eerder vir hierdie dienste op hul verwerkingsomgewing staatmaak. Met
"bewegende dele" en "algemene dienste" word daardie funksies bedoel wat
algemeen beskikbaar is, soos by. kommunikasiedienste, drukkersdienste,
skermvertoondienste, ens. Hierdie dienste sal die intelligensie vir die agent se
aksies, die prosesse van agentinteraksie en die kommunikasie met die res van die
wereld verskaf. Die intelligensie kan in vele vorms verskaf word, by. as
gebruikersvoorkeur, kennisbasisse en domeinkennisbasisse.
Ons gaan 'n notasie vir agente definieer wat op voormelde. eienskappe gebaseer is.
Hierdie notasie sal dan ook in Hoofstuk 17 gebruik Word om die skeduleringsagente te
definieer. Figuur 9.4 toon die struktuur van die agent aan. Elke afdeling dui 'n
afsonderlike komponent van die agent aan. Al die komponente wat met 'n * aangedui
word, is opsioneel. Dit is verder belangrik om daarop te let dat die notasie wat hier
gebruik word, baie eie aan skeduleringsagente is. Voorbeelde van die wyse waarop
hierdie notasie gebruik word, kan in Hoofstuk 17 bestudeer word.
Naam van die agent
Onderwerpsattribute
Metodes
Elektroniese adres *
Doelwitte
Responstyd *
Ondersteuningsdienste *
Figuur 9.4: Notasie om 'n skeduleringsagent te beskryf
Intelligente agente 66
9.2.1 Kennis
Daar bestaan twee moontlike definisies van die begrip "kennis" in die literatuur.
Ingevolge die bondige benadering ("sentential approach") word gestel dat 'n agent
elke stelling ken wat in sy kennisbasis gestoor is [48]. Die
moontlikewereldbenadering stel weer dat 'n agent elke stelling wat waar is, in al die
werelde ken wat hy moontlik ag [49]. Hierdie verskillende werelde word egter nie
afsonderlik gekarakteriseer nie, maar eerder deur die agent se kennis. Dit beteken dat
'n agent elke stelling ken wat waar is in al die werelde wat met sy kennis versoenbaar
is.
Elkeen van hierdie benaderings het egter sy nadele. Die bondige benadering neem nie
modelle van die wereld in ag nie en kan gevolglik nie semantiese inhoud aan sy
kennis gee nie. Die moontlikewereld-benadering het inherent baie duidelike
semantiek. Die koste hiervan is die validasie van 'n gevolgtrekking soos dat 'n agent
by. al die logiese konsekwensies van sy kennis moet ken. By "modelle van die
wereld" bedoel ons modelle van hoe ons die wereld sien. Voorbeelde van hierdie
modelle is monoIsme (daar is slegs een werklikheid), dualisme (daar is twee vorme
van werklikheid), pluralisme (die werklikheid bestaan uit 'n versameling van
verskillende tipes werklikhede) en nihilisme (daar is niks wat werklik is nie). Hierdie
is egter ontologiese begrippe wat nie hier in nader besonderhede bespreek gaan word
nie [50].
9.2.2 Funksies
Die agentprogram is 'n funksie wat die waarnemings ((lit wat die agent waargeneem
het in die omgewing waarin hy funksioneer) in aksies omsit. Hierdie agentprogram
word op die een of ander tipe masjien uitgevoer. Die masjien voer die instruksies van
die agentprogram uit en word die "argitektuur" genoem. Dit is dus vanselfsprekend
dat hierdie argitektuur in staat moet wees om die agentprogram uit to voer.
Voorbeelde van argitekture is 'n gewone rekenaar (persoonlike rekenaar, hoofraam,
ens.) of spesiale hardeware soos hartmonitormasjiene, ens. Ons kan daarom stel dat
agent = argitektuur + program [43].
Intelligente agente 67
Ons het nou reeds gesien dat agente waarnemingsreekse gebruik om aksies uit te voer.
Die agentprogram is daarvoor verantwoordelik om hierdie waarnemingsreeks in sy
geheue op te bou. Gewoonlik ontvang 'n agent slegs een waarneming (invoer) en
voeg dit dan by sy waarnemingsreeks. In sekere omgewings is dit ook heel moontlik
dat die agent nie 'n waarnemingsreeks hoef op te bou nie. 'n Voorbeeld hiervan is 'n
agent wat van Markov-besluitnemingsprosesse gebruikmaak. Die Markov-
besluitnemingsproses het geen geheue van sy waarnemings nie [23].
Die prestasie-evaluasie maak egter nie deel van die agentprogram uit nie, aangesien
prestasie ekstern geevalueer moet word.
Daar bestaan basies vier tipes agentprogramme, nl. [43]
eenvoudigerefleks-agente
agente wat "rekord hou" van dit wat in die wereld aangaan
mikpuntgebaseerde agente
bruikbaarheidsgebaseerde agente.
Elkeen van bostaande tipes agente sal in die volgende aantal paragrawe meer in
besonderhede bespreek word.
9.2.2.1 Eenvoudigerefleks -agente
Eenvoudigerefleks-agente maak gebruik van as-dan-reels, by. as iets waar is, voer dan
die een of ander reaksie uit. 'n Voorbeeld van s6 'n reel is: as daar 'n
grondtydprobleem is, vertraag dan die volgende vlug wat van hierdie vliegtuig
gebruikmaak. As daar 'n waarneming gemaak word, gaan die agent deur al sy reels.
As die reel gevind word wat met die waarneming ooreenstem, dan word die
ooreenstemmende aksie uitgevoer. 'n Voorbeeld hiervan is wanneer 'n operasionele
skeduleringsagent sien dat daar 'n grondtydprobleem bestaan, en dat die agent die
vliegtuig met 'n ander uitruil om die probleem op te los. Die agent interpreteer eers
die invoer, kies dan 'n reel om toe te pas en voer dan die aksie uit wat die reel
aanbeveel. Figuur 9.5 behels 'n diagrammatiese voorstelling van 'n
eenvoudigerefleks-agent.
Intelligente agente 68
1 Aksie-reaksie-reels (bv. As-dan-reels)
Agent
Hoe die wereld tans daar uitsien.
Watter aksies moet ek nou uitvoer?
Atfekt niers
Omgewing
Omdat eenvoudigerefleks-agente maklik is om te implementeer, word hulle nogal
geredelik in die praktyk gebruik. 'n Goeie voorbeeld hiervan is die "Autonomouse
IV" van Dorigo, et al. [45]. Hierdie agent simuleer 'n regte muis soos dit in die natuur
sou voorkom. Die ontwerpers van hierdie stelsel beskou eenvoudigerefleks-agente,
net soos Autonomouse IV, as oplossings vir fragmente van die Animat-probleem [45].
Die Animat-probleem is deur S. Wilson geformuleer en die doel daarvan is om 'n
kunsmatige stelsel (bv. 'n agent wat 'n dier voorstel) te laat realiseer wat in 'n
natuurlike omgewing sal kan oorleef. Die probleem het naamlik ten doel om
kunsmatige ewebeelde of weergawes vir basiese, natuurlike prosesse soos jag,
voeding, voortplanting en die wegvlug van agressors te vind.
Een van die probleme met hierdie tipe agent is dat die doeltreffendheid van die
algoritme drasties daal namate die aantal werkende geheue-elemente (stellings)
toeneem. Een oplossing vir hierdie probleem is dat agente hul reels in parallel moet
deursoek [51]. Voorbeelde van sodanige reels om by. 'n opstel te evalueer, is soos
volg [52]:
As die aantal regmerke < 4 en die opstel nie die vraag beantwoord nie, gee 'n F as
resultaat.
As die aantal regmerke < 4 en die opstel beantwoord die vraag, gee 'n C as
resultaat.
As die aantal regmerke >3 en die aantal regmerke < 7, gee 'n B as resultaat.
As die aantal regmerke >6, gee 'n A as resultaat.
Figuur 9.5: Die struktuur van 'n eenvoudigerefleks-agent [43]
Intelligente agente 69
Aksie-reaksie- reels
Agent
Watter aksies moet ek nou uitvoer?
Affekteerders
Hoe die wereld ontwikkel.
Die gevolg van my aksies.
Toestand Sensors
Hoe die wereld tans daar uitsien.
Omgewing
Sien Hoofstuk 15 vir 'n voorbeeld van die wyse waarop 'n produksiestelsel ingespan
kan word om operasionele skeduleringsprobleme mee op te los.
9.2.2.2 Agente wat van die stand van sake rekord hou
Die probleem met die eenvoudigerefleks-agent is dat dit slegs sal werk as die korrekte
besluit op grond van die teenswoordige waarneming geneem kan word. Soms moet
besluite op grond van 'n interne toestand van die agent, asook op grond van die
huidige waarneming geneem word. Voordat hierdie tipe agent 'n besluit kan neem,
moet dit eers die interne toestand bepaal, of hoe die omgewing waarin dit funksioneer,
moontlik kan verander, of hoe sy aksies die wereld kan beInvloed. Sodra al hierdie
inligting ingewin is, kan die agent deur al die reels gaan en kyk watter met hierdie
inligting verenigbaar is. As 'n reel gevind word, kan die aksie wat daarmee
geassosieer word, uitgevoer word. Figuur 9.6 hieronder illustreer die struktuur van 'n
agent wat rekord hou van dit wat in die wereld aangaan.
Figuur 9.6: Struktuur van 'n agent wat van die stand van sake rekord hou [43]
9.2.2.3 Mikpuntgebaseerde agente
Soms is 'n interne toestand ook nie genoeg vir 'n agent om 'n probleem op te los nie.
Die agent kan alleen rasionele besluite neem as by weet wat sy mikpunt is. As 'n
skeduleringsagent by. 'n keuse het om sy vliegtuie so vol moontlik te kry
(hoe laaifaktor) of om soveel moontlik passasiers op te laai (meer vliegtuie, met
Intelligente agente 70
Sensors
Hoe die wereld tans daar uitsien.
Omgewing
Toestand
Hoe die wereld ontwikkel.
Die gevolg van my aksies.
Mikpunte
Agent
Watter aksies moet ek nou uitvoer?
Affekteerders
Wat sal gebeur as ek aksie A uitvoer?
moontlike lae laaifaktore), sal sy uiteindelike keuse grootliks van sy mikpunt, by.
passasiersgemak of wins vir die lugredery, afhang. Die agent kan nou sy inligting oor
die resultate van sy aksies kombineer met die huidige interne toestand om die regte
aksies te kies om sy mikpunt te bereik. Die mikpuntgebaseerde agent moet dus die
regte aksievolgordes vind ten einde sy mikpunte te bereik.
Figuur 9.7 hieronder stel die struktuur van 'n mikpuntgebaseerde agent voor.
Figuur 9.7: Struktuur van 'n mikpuntgebaseerde agent [43]
9.2.2.4 Bruikbaarheidsgebaseerde agente
Mikpunte is nie altyd genoeg vir hoegehalte-gedrag nie. 'n Agent kan byvoorbeeld
baie roosters opstel, maar sekere roosters sal goedkoper as ander wees, of een rooster
sal miskien meer passasiersbewus as 'n ander wees. Elke mikpunt kan dus 'n
bruikbaarheidswaarde he (oftewel 'n graad van "gelukkigheid") wat bepaal hoe
bruikbaar daardie mikpunt is.
Rasionele gedrag kan dus op 'n groot aantal maniere gegenereer word, maar sommige
maniere is meer doeltreffend as ander. Figuur 9.8 toon die struktuur van 'n
bruikbaarheidsgebaseerde agent aan.
Intelligente agente 71
Sensors
Watter aksies moet ek nou uitvoer?
Agent Affektoerder
Hoe die wereld tans daar uitsien.
Die gevolg van my aksies.
Wat sal gebeur as ek aksie A uitvoer? Omgewing
Toestand
Bruikbaarheids-waarde
Hoe gelukkig sal ek in so 'n toestand
wees?
Figuur 9.8: Struktuur van 'n bruikbaarheidsgebaseerde agent [43]
9.2.2.5 Samevatting
Uit die voorgaande bespreking kan afgelei word dat daar basies twee groepe van
gedrag bestaan, nl. die stimuli-respons-gedrag (refleksagent) en dan 'n agent wat in die
een of ander interne toestand verkeer. Hierdie interne toestand hoef volgens Agre
[53], nie eens 'n een-tot-een-voorstelling van enigiets in die werklike wereld to wees
nie. Daar sal egter wel altyd interne voorstellings wees, soos kaarte, prente,
datastrukture, ens. Die probleem met 'n interne toestand is dat die ontwerpers van 'n
agent moet besluit wat gestoor moet word, hoe lank dit gestoor moet word en hoe dit
gestoor moet word. Sodanige besluite kan egter nie geneem word sonder dat al die
relevante eienskappe van die omgewing begryp word nie.
Ons het reeds daarop gewys dat Dorigo, et al. [45], goeie resultate met 'n gewone
eenvoudigerefleks-agent gekry het. Nadat hulle 'n geheue vir die muis ingebou het
waarin vorige waarnemings gestoor kon word, het die "Autonomouse IV" wel baie
moeiliker geleer, maar is die gedrag van sy sluipaksie (daardie aksie ingevolge
waarvan 'n muis sy prooi bekruip) mettertyd verbeter. Lerende agente word volledig
in die volgende hoofstuk bespreek.
Intelligente agente 72
In hierdie afdeling het ons gesien hoe die struktuur van 'n agent daar uitsien.
Vervolgens sal ons ondersoek instel na die omgewing waarin die agent funksioneer.
9.3 Die omgewing waarin 'n agent funksioneer
Agente funksioneer in omgewings. Die omgewings verskaf invoere aan agente,
waarna die agente hierdie invoere verwerk. Agente kan nou ook sekere aksies op hul
omgewings uitvoer. Die omgewing is dus die bron van invoere vir die agente en die
omgewing is ook dit waarop die aksies van agente toegespits word. Daar bestaan 'n
hele aantal kategoriee waarin ons die omgewings waarin agente funksioneer, kan
klassifiseer [43]:
Toeganklik vs. ontoeganklik
As 'n agent se sensors tot die volledige toestand van die omgewing toegang het, is
daardie omgewing toeganklik, so nie is dit ontoeganklik. Dit beteken dat wanneer
die agent se sensors al die aspekte van die omgewing kan waarneem wat vir 'n
aksie van toepassing is, die omgewing as toeganklik beskou kan word.
Deterministies vs. nie-deterministies
As die volgende toestand van die omgewing ten voile van die vorige toestand van
die omgewing en die aksies van die agent op daardie toestand afhang, dan se ons
die omgewing is "deterministies". As die agent onseker is oor hoe om in 'n
toeganklike omgewing op te tree, is die omgewing nie-deterministies.
Episodies vs. nie-episodies
In 'n episodiese omgewing word die agent se ondervinding in episodes opgedeel.
Elke episode bestaan uit die agent se waarneming en sy daaropvolgende
handeling. Die gehalte van die aksie hang slegs van die episode af, want
opeenvolgende episodes hang nie af van aksies wat in vorige episodes uitgevoer is
nie. Episodiese omgewings is eenvoudiger as nie-episodiese omgewings,
aangesien agente nie vooruit hoef te dink nie.
Staties vs. dinamies
As die omgewing verander terwyl die agent besluit oor watter aksie om uit te voer,
kan ges8 word dat die omgewing vir die agent dinamies is. Statiese omgewings is
makliker om te hanteer, want die omgewing verander nie terwyl die agent oor 'n
aksie nadink nie.
Intelligente agente 73
Diskreet vs. kontinu
'n Omgewing is diskreet indien daar 'n beperkte aantal goedgedefinieerde
waarnemings en aksies is.
Daar kan aanvaar word dat die meeste realistiese omgewings nie statiese, episodiese,
toeganklike of deterministiese omgewings is nie. Omgewings is onvoorspelbaar,
veranderlik, kompleks en wisselvallig [54]. Agre [53] voer in sy navorsing aan dat
die meeste omgewings so onmoontlik en onvoorspelbaar is dat geen organisme b6 'n
sekere primitiewe vlak daarin sal kan oorleef nie. Geen organisme kan naamlik die
wereld in al sy volheid modelleer nie. Dit sou dus nie vir 'n agent moontlik wees om
'n besluit, in 'n ten voile gemodelleerde wereld te neem nie, want terwyl die agent nog
oor 'n aksie nadink, verander die wereld reeds. Organismes beskou die wereld in
werklikheid slegs in bred trekke. Die primitiefste organismes kyk na die mees
algemene eienskappe van 'n omgewing, terwyl die meer intelligente organismes Al
meer op detail fokus. Die ontwerp van 'n plan van aksie ('n plan van aksie om
probleme op te los) word baie vinnig onhandelbaar ("intractable") na gelang die
kwalitatiewe kompleksiteit van die agent se omgewing toeneem. Die kenmerke wat in
'n omgewing uitstaan, sluit in: gebruike, tekens, fisiese dinamika, praktiese
beperkings, lokaliteit, stabiliteit, geometrie, tempo van verandering, ens. Hierdie lys
is geensins volledig nie, maar kan as 'n beginpunt dien vir agente om hulself ten
opsigte van bepaalde omgewings te orienteer.
Noudat ons gesien het hoe die omgewing lyk waarin 'n agent funksioneer en optree,
gaan ons in die volgende paragraaf kyk na hoe agente kan beplan om 'n probleem of
probleme op te los.
9.4 Agente wat beplan
Probleemoplossingsagente beskik oor die vermod om vooruit te beplan en om die
gevolge van 'n reeks aksies te antisipeer. Kennisgebaseerde agente kan aksies op
grond van eksplisiete, logiese voorstellings van die teenswoordige toestand en die
gevolge van die aksies kies. Dit stel so 'n agent in staat om, ondanks komplekse,
ontoeganklike omgewings wat die probleemoplossingsagent sal baasraak, in sy doel te
Intelligente agente 74
slaag. Hierdie twee idees kan saamgevoeg word om 'n beplanningsagent te skep [43].
Die kategorisering van agente, wat in hierdie paragraaf gegee word, verskil van die
wat in paragraaf twee genoem is, in die sin dat die kategoriee in hierdie paragraaf
subkategoriserings van sowel mikpuntgebaseerde as bruikbaarheidsgebaseerde agente
is. Slegs mikpuntgebaseerde en bruikbaarheidsgebaseerde agente beskik egter oor die
vermoe om te kan beplan.
9.4.1 Pro bleemoplossingsagent
'n Probleemoplossingsagent besluit watter aksies om uit te voer deur sistematies al die
uitkomste van verskillende reekse van aksies te oorweeg. Die eerste stap in die
oplossingsproses sal wees om die mikpunt te formuleer. Die mikpunte in ons geval is
ál die toestande wat oplossings vir die probleem bied wat die agent wil oplos. Die
aksies van die agent kan dus gesien word as dit wat 'n verandering in 'n toestand sal
teweegbring. Die agent moet dus besluit watter aksies horn in staat gaan stel om sy
mikpunt te bereik.
Nadat die mikpunt geformuleer en in die visier gekry is, moet die probleem
geformuleer word. Tydens die probleemformuleringsproses word besluit watter
aksies en toestande in ag geneem behoort te word. Die verskillende probleemtipes
wat in ag geneem moet word, is soos volg:
Enkeltoestand -probleem: As die agent se sensors inligting kan inwin wat die
agent in sal staat stel om met sekerheid te kan se in watter toestand die omgewing
is en wat elkeen van die uitkomste van die reaksies op daardie toestand gaan wees,
kan gese word dat die agent 'n enkeltoestand-probleem ('n "single-state problem")
kan oplos.
Meervoudigetoestand -probleem: As die wereld nie ten volle toeganklik is nie,
moet die agent dit oorweeg om inligting oor stelle gegewens en toestande eerder as
oor 'n enkele toestand in te win. Die agent se sensors kan miskien nie alle inligting
oor die wereld inwin en weergee nie, met die gevolg dat die agent nie presies weet
in watter toestand dit verkeer nie. Daar is dus 'n hele aantal moontlike toestande
waarin die wereld kan verkeer.
Intelligente agente 75
Toevalligheidsprobleem: Baie probleme in die fisiese wereld kan as synde
toevalligheidsprobleme beskou word. As 'n agent nie presies weet wat die
uitkomste van 'n aksie op 'n toestand gaan wees nie, word dit as 'n
"toevalligheidsprobleem" geklassifiseer.
Verkenningsprobleem: As 'n agent oor hoegenaamd geen inligting aangaande die
uitwerking of gevolg van sy aksies beskik nie, word dit 'n "verkenningsprobleem"
genoem. Die agent moet in so 'n geval eksperimenteer en stadig maar seker
ontrafel wat die uitwerking van sy aksies gaan wees en watter tipe toestande
bestaan. Pasgebore babas moet byvoorbeeld hierdie einste probleem oplos.
As ons 'n probleemdefinisie het en weet hoe om vir 'n oplossing te toets, is al wat
oorbly om hierdie toestandruimte vir oplossings te deursoek. Hierdie soekproses kan
as die opbou van 'n "soekboom" beskou word. Die beginnode kom met die
oorspronklike toestand ooreen. Soekboom lyk by. so:
Figuur 9.9: Voorbeeld van 'n soekboom
Figuur 9.9 stel die toestande voor wat uit die "Johannesburg"-toestand, asook uit die
Kaapstad-toestand gegenereer kan word. 'n Mens kan by. van Johannesburg na
Durban, Bloemfontein en Kaapstad vlieg. Vanaf Kaapstad kan 'n mens weer na
George of Upington vlieg.
'n Soekboom soos die een in Figuur 9.9 kan nou op verskillende maniere deursoek
word. In Hoofstuk 14 word 'n soekboom soos die een gebruik om die probleem van
operasionele skedulering mee aan te pak. Die hoofstuk bevat ook 'n meer volledige
bespreking oor die wyse waarop bome soos in Figuur 9.9 deursoek kan word.
Intelligente agente 76
9.4.2 Kennisgebaseerde agente
'n Kennisgebaseerde agent begin met slegs 'n bietjie kennis van die wereld en sy eie
aksies. Hierdie agent gebruik dan logiese redenering om, in die eerste plek, 'n
beskrywing van die wereld te handhaaf na gelang nuwe waarnemings arriveer en om,
tweedens, 'n plan van aksie te ontwerp wat horn sal help om sy mikpunte te bereik.
Die sentrale komponent van 'n kennisgebaseerde agent is sy kennisbasis. Informeel
beskou, kan 'n kennisbasis as 'n versameling voorstellings van die wereld beskryf
word. Elke individuele voorstelling word 'n "sin" genoem. Hierdie sinne word in 'n
kennisvoorstellingstaal uitgedruk. Nuwe sinne kan by die kennisbasis gevoeg word,
en die kennisbasis kan "uitgevra" word oor watter kennis dit beskik. Agente kan ook
van afleidingsmeganismes gebruikmaak. Die afleidingsmeganisme help die agent om
logiese afleidings uit die sinne in die kennisbasis te maak.
'n Kennisvoorstellingstaal bestaan uit twee aspekte, nl.:
Sintaks. Die sintaks van 'n taal beskryf al die moontlike konfigurasies waaruit
sinne kan bestaan.
Semantiek. Die semantiek van 'n taal beskryf die feite in die wereld waarna sinne
verwys. Sonder sematiek is 'n sin slegs 'n versameling merke op papier —
semantiek gee betekenis aan die merke.
Afleidings kan uit sinne gemaak word. Ons se dat 'n sin geldig is as dit onder alle
moontlike interpretasies, in alle moontlike werelde, ongeag wat dit veronderstel is om
te beteken, waar is. 'n Sin word "bevredigbaar" ("satisfiable") genoem indien daar 'n
afleiding in enige wereld is wat daardie sin waar sal maak. Deur die semantiek van 'n
taal te bestudeer, kan ons 'n bewysteorie omtrent die taal aflei. Hierdie bewysteorie
spesifiseer watter afleidings geldig is en watter nie. Met hierdie konsep onder die knie
kan ons nou se dat logika uit die volgende bestaan:
'n Formele stelsel om die wereld mee te beskryf, wat uit die sintaks en semantiek
van die taal bestaan.
'n Bewysteorie wat uit 'n stel reels bestaan oor hoe afleidings uit 'n versameling
sinne gemaak kan word.
Intelligente agente 77
Basies twee tipes logika word in kunsmatige intelligensie gebruik, nl. Boolese-logika
(proporsionele logika) en eerste-orde-logika (predikaatlogika). Albei tipes
verteenwoordig 'n studieveld uit eie reg, maar die studievelde sal nie bier in
besonderhede bespreek word nie. Eerste-orde-logika gebruik al die konsepte en reels
in Boolese-logika vervat. Eerste-orde-logika maak dit in werklikheid moontlik om
kennis in baie fyner detail voor te stel. Eerste-orde-logika laat 'n mens verder toe om
'n sin in komponente op te breek, nl. 'n voorwerp, die karakteristieke van 'n voorwerp
en die een of ander stelling omtrent 'n voorwerp [37]. In Hoofstuk 12 word 'n spesiale
vorm van eerste-orde-logika, te wete "modale logika", gebruik om die
kontraknetwerkprotokol mee te beskryf.
9.4.3 Beplanningsagente
Die beplanningsagent verskil van die probleemoplossingsagent in die sin dat die
beplanningsagent ander voorstellings van mikpunte, toestande en aksies het. Hulle
verskil ook wat die konstruksie van hul aksieplanne betref. Die probleem met
beplanningsagente is dat die aantal nodes binne-in 'n soekboom so vinnig kan
vermeerder dat dit maklik 'n hele paar miljoen kan wees. Daar is eenvoudig net te
veel aksies en toestande om in ag te neem. Die ander probleem is dat die
probleemoplossingsagent by die begintoestand moet begin, en al die aksies op die
toestand moet uitvoer. 'n Voorbeeld van hierdie probleem is 'n skaakspel. Om elke
gevoig van 'n skuif in 'n soekboom voor te stel, is fisies onmoontlik. Daar is bloot te
veel kombinasies van skuiwe wat uitgevoer kan word. Die agent moet dus meer
buigsaam wees, sodat dit op daardie deel van die probleem kan begin werk wat,
gegewe die beskikbare informasie die maklikste sal wees om op te los.
Die hoofidee agter beplanning is om die toestande, mikpunte en aksies op sh ander
manier voor te stel. Die formele taal wat gewoonlik vir die doel gebruik word, is
eerste-orde-logika, of die een of ander deelversameling daarvan. Toestande en
mikpunte word as 'n versameling sinne voorgestel. Aksies word deur logiese
beskrywings van die toestande en die uitwerking daarvan beskryf. Die beplanner kan
dus regstreekse verbande tussen toestande en aksies trek. 'n Voorbeeld hiervan is as
Intelligente agente 78
die mikpunt Besit(melk) is en Koop(x) die gevolg Het(x) het, dan weet die agent dit is
die moeite werd om 'n plan te ondersoek wat Koop(melk) insluit [43].
Die tweede sleutelidee van beplanningsagente is dat hulle vry sal wees om aksies by
die plan te voeg waar hulle ook al benodig word, eerder as 'n inkrementele reeks
aksies wat in 'n begintoestand begin. 'n Agent mag by. besluit hy wil 'n sin Koop(x)
he, nog voordat hy besluit waar om dit te koop, of hoe om daar uit te kom. Dit is nie
die geval met beplanningsagente nie, omdat hulle eers 'n geldige toestand moet he om
die aksie op uit te voer.
Die derde sleutelidee van beplanningsagente is dat die meeste dele van die wareld
onafhanklik van die ander dele is. As ons dus 'n sin het sons "skeduleer
bemanningslid" en "skeduleer 'n vliegtuig" en "skeduleer instandhouding vir 'n vloot
vliegtuie", kan die agent dit met behulp van 'n verdeel-en-oplos-strategie oplos. 'n
Probleem kan dus opgelos word deur dit in subprobleme op te deel en dit dan op te
los.
Beplanningsagente het ook inherente probleme. Beplanningsagente gee nie 'n presiese
beskrywing van hul oomblik-tot-oomblik-interaksie met die wereld nie, terwyl
refleksagente nie waarborge kan gee of die agent se aksies rasionele oplossings sal
verteenwoordig nie. In die tagtigerjare is 'n nuwe konsep bedink, ni. die van reaksie-
beplanning [55]. Navorsers het toe met 'n groot aantal gemengde argitekture vorendag
gekom wat ontwerp is met die oog daarop om beplanning en die reaksieteorie met
mekaar te versoen [56].
Om beplanning en die reaksieteorie met mekaar te versoen, moet daar op die strukture
van interaksie tussen agente en hul omgewings gefokus word. Elke agent wat aksies
in 'n omgewing uitvoer, het 'n struktuur van interaksie met sy omgewing. Hierdie
struktuur van interaksie kan m.b.v. 'n interne toestand voorgestel word. Dit hoef egter
nie noodwendig die geval te wees nie. Daar is basies twee metodes om by 'n
oplossing uit te kom, nl. die konsensusmetode en die konvergerende metode.
Intelligente agente 79
9.4.3.1 Die konsensusmetode
Die konsensusmetode het basies ten doel om die raamprobleem op te los. Die raam-
probleem is 'n lemma wat bewys moet word gedurende enige poging om 'n
plankonstruksieprogram te ontwerp. Die raamprobleem vra of 'n agent korrek kan
antisipeer hoe die wereld tot op 'n sekere punt daar sal uitsien en of dit kan aflei hoe
die wereld daar sal uitsien nadat 'n sekere aksie uitgevoer is. Anders gestel, sal die
agent se interne voorstelling van die wereld ooreenstem met dit hoe die wereld regtig
daar sal uitsien nadat 'n bepaalde aksie uitgevoer is [53].
9.4.3.2 Die konvergerende metode
Die konvergerende metode fokus op die agent se gedrag, eerder as op die interne
toestande. Hierdie metode fokus op sekere verwantskappe tussen die agent en sy
omgewing en hoe om hierdie verwantskappe op 'n gedissiplineerde manier te
karakteriseer en aannames oor hul evolusie te maak. 'n Voorbeeld hiervan is lerende
agente wat poog om na 'n oplossing te konvergeer. Hoofstuk 15 beskryf hoe so 'n
konvergerende metode (lerende algoritme) gebruik kan word om 'n gebruiker se
voorkeure aan te leer.
9.5 Ander velde se bydrae tot agentteorie
Agente is nie bloot 'n studieveld van kunsmatige intelligensie nie. Baie van die
eienskappe wat ons graag sal wil he agente moet besit, word in ander dissiplines
aangetref. S6 is baanbrekerswerk byvoorbeeld gedoen by. deur Jean Piaget ('n
kindersielkundige) oor die wyse waarop kinders leer. Hierdie raamwerk van Piaget
kan dus met groot vrug deur die ontwerpers van agente gebruik word. Drescher [57]
het by. Piaget se teorie gebruik om agente te maak leer. Danksy hierdie benadering
het sy agente baie maklik geleer en het by selfs 'n paar aanbevelings gemaak oor hoe
Piaget se teorie uitgebrei en verfyn sou kon word.
Die les wat hieruit te leer is, is dat rekenaarwetenskaplikes nie moet probeer om die
wiel weer oor uit te vind nie, maar dat hulle in ander velde moet gaan delf om te sien
watter bydrae hulle tot agentteorie kan lewer. Tabel 9.2 dien in die verband as 'n
verwysing na die bydrae wat ander velde tot agentteorie kan lewer.
Intelligente agente 80
Tabel 9.2: Ander velde se bydrae tot agentteorie
53 Veld Bydkae gelewerfy
Dinamiesestelsel -teorie Wiskundige teorie. Stelsels wat van hierdie teorie
gebruik kan maak, is die ingevolge waarvan die
ontwikkeling van die stelsel oor tyd deur die toepassing
van dieselfde beginsel gedryf word, by. meganika,
natuurlike seleksie en ekonomiese keuses.
Robotika en visie Hierdie veld bou die liggame van agente. Hul bydrae is
op die laer konseptuele vlakke van ontwerp gelewer,
waar die hoof analitiese hulpmiddels fisiese kinematika
en dinamika is, by. hoe robotte loop, of watter fisiese
prosesse nodig is om te kan sien. Dit is egter nie nodig
dat agente liggame moet he nie.
Biologie Die grootste bydrae wat die biologie gelewer het, is ten
opsigte van die wyse waarop organismes by hul
omgewings aanpas. Biologie het, histories gesproke,
redelik eenvoudige konsepte waarmee beskryf word hoe
organismes by hul omgewings aanpas. Hierdie konsepte
kon redelik maklik deur rekenaars geimplementeer
word.
Aktiwiteitsteorie Hierdie teorie verteenwoordig 'n sub-veld van
sosiologiesgeorienteerde sielkunde en opvoeding.
Hierdie teorie poneer dat menslike kognisie deur kultuur
gevorm word. Kognitiewe prosesse word deur die
inflame van patrone van sosiale interaksie tussen mense
in werking gestel. Lerende agente kan ook hierdie
tegnieke toepas.
Europese fenomenologie Fenomenologie het ten doel om 'n woordeskat te
ontwikkel waarmee alledaagse ondervindings beskryf
kan word. Die bydrae wat die Europese fenomenologie
kan lewer, is om alternatiewe maniere daar te stel waarin
kunsmatige intelligensie gekonseptualiseer kan word.
Intelligente agente 81
Veld (vervolg) Bydrae gelewervervolg)
Boeddhistiese fenomenologie Die Boeddhistiese fenomenologie is veel ouer as die
Europese weergawe en gevolglik meer gevestig. Hierdie
veld berus op die aanname dat kognisie en die struktuur
van die werklikheid tegelykertyd ontwikkel. Kognisie is
die validasie van die werklikheid, terwyl die werklikheid
die validasie van kognisie is.
Sosiologie Hierdie veld se bydrae behels dat dit metodes daargestel
het waarvolgens mense kan improviseer ten einde hul
aksies te stuktureer (te beplan) en hul aksies op een lyn
met alledaagse oomblik-tot-oomblik-interaksie te bring.
Antropologie Hierdie studieveld bied 'n versameling kategoriee
waaraan mense se interaksies met hul omgewings op
verskillende vlakke gemeet kan word.
9.6 Samevatting
In hierdie hoofstuk het ons die teoretiese grondslag van agente in studie geneem, soos
in die literatuur beskryf word. Daar is verder ondersoek ingestel na die struktuur van
agente, die optrede van agente, die omgewing waarin 'n agent funksioneer en die wyse
waarop 'n agent beplan om sy mikpunte te bereik. Die hoofstuk is afgesluit met die
gevolgtrekking dat daar meer navorsing oor 'n holistiese beskouing van agente gedoen
moet word. Dit beteken natuurlik dat agente nie alleen die domein van een studieveld
is nie, maar van 'n hele aantal. In die volgende hoofstuk gaan ons kyk na die wyse
waarop agente met mekaar kommunikeer en metodes waarvolgens samewerking
tussen hulle bewerkstellig kan word.
Intelligente agente 82
10. Kommunikasie en samewerking tussen agente
In die vorige hoofstuk het ons gesien wat 'n agent is, hoe dit lyk en hoe die omgewing
lyk waarin 'n agent optree. In hierdie hoofstuk gaan ons kyk na hoe agente met
mekaar kan kommunikeer om by. saam 'n probleem op te los. Die hoofgedagtes wat
in hierdie hoofstuk bespreek gaan word, is die komponente van kommunikasie en
spesifiek van taal, sowel as bestaande modelle van interaksie tussen agente.
10.1 Inleiding
Taal en kommunikasie is byna so oud soos die mens self. Die vraag ontstaan nou
noodwendig of ons danksy taal intelligente wesens is en of taal danksy ons
intelligensie ontwikkel het. Protagoras het meer as 2000 jaar gelede reeds die stelling
gepostuleer dat daar basies vier tipes sinne bestaan, nl. die in 'n gebed, 'n vraag, 'n
antwoord en 'n tussenwerpsel.
Taal is egter nie die enigste manier waarop mense kommunikeer nie. Die begrip
"kommunikasie" kan daarom gedefinieer word as die beplande uitruiling van inligting
wat voortgebring word deur die produksie en persepsie van tekens wat hul basis in 'n
gedeelde sisteem van konvensionele tekens het [43]. Mense gebruik 'n wye spektrum
van konvensionele tekens, soos by. die glimlag, die handdruk, ens. Mense beskik
egter ook oor 'n komplekse, gestruktureerde versameling van tekens wat "taal"
genoem word en wat hulle in staat stel om baie van dit wat hulle van die wereld weet,
weer te gee.
Die aanvanklike idee was dat taal in 'n spesifieke gedeelte van die brein setel, by. in 'n
soort taalmodule. Die Brocka-area is as een van hierdie areas voorgestel [58]. Daar
word egter vandag algemeen aanvaar dat taal deur 'n groot verskeidenheid van
verskillende vemoens moontlik gemaak word. Hierdie vermoens het egter nie in
isolasie van ander verstandelike vermoens ontwikkel nie. Daar is naamlik 'n
regstreekse verband tussen verstandelike vermod en taal te trek. Baie van die
vermoens wat vir taal nodig is, kan in die ander primate gesien, asook in die
Kommunikasie en samewerking tussen agente 83
fossielrekord nagespeur word. Leaky beweer dat Homo Erectus (ongeveer 20 miljoen
jaar gelede) reeds oor die biologiese vermoe beskik het om al die klanke wat die
moderne mens kan voortbring, te uiter [59]. Vir agente wat doeltreffend wil
kommunikeer, is dit dan miskien nodig om 'n evolusionere benadering te volg.
In hierdie hoofstuk gaan ons ondersoek instel na wat die komponente van
kommunikasie en spesifiek van taal is, asook na die modelle van interaksie tussen
agente.
10.2 Boodskappe
Voordat daar egter na die komponente van taal ondersoek ingestel kan word, is dit
nodig om die grondbeginsels van boodskappe duidelik te formuleer. 'n Vraag wat met
reg in die verband gevra kan word, is: Wanneer is 'n boodskap 'n boodskap? 'n
Voorbeeld van die toepassing van hierdie vraag is wanneer die mens 'n plaat met
musiek die ruimte instuur in die hoop dat die een of ander beskawing die plaat sal
vind. Hoe gaan "die mense" van daardie beskawing weet dat daardie stuk plastiek
met groewe op 'n boodskap, nl. musiek, bevat? Ons eie eter en atmosfeer kan, ironies
genoeg, op hierdie einste oomblik oorlaai wees van soortgelyke boodskappe van ander
planete af, sonder dat ons eens weet dat hulle boodskappe is.
Op grond van voormelde argument kan ons drie vlakke in 'n boodskap onderskei, nl.
[60]
die raam van die boodskap
die buiteboodskap
die binneboodskap.
Die raam van die boodskap dra die idee aan die ontvanger oor van "Ek is 'n boodskap,
dekodeer my". As daar 'n brief in 'n bottel op die strand uitspoel, weet die persoon
wat die bottel optel dat die boodskap in die bottel gedekodeer moet word. Die bottel
dien dus as raam. Die probleem met rame is dat die raam van 'n boodskap in soveel
vorms kan manifesteer dat daar nie geklassifiseer kan word wat nou eintlik rame is en
wat nie. In Rekenaarwetenskap is daar baie voorbeelde van rame. So is
Kommunikasie en samewerking tussen agente 84
kommunikasieprotokolle ook voorbeelde van rame. Boodskappe word op so 'n
manier in die protokol verpak dat die ontvanger weet daar is 'n boodskap in wat
ontsyfer moet word.
Die buiteboodskap is die sintaks van die boodskap. Die buiteboodskap gee 'n
aanduiding van hoe om die korrekte dekoderingsmeganisme vir die binnetaal te bou.
Die binneboodskap is die semantiek van die boodskap, nl. die proses ingevolge
waarvan die betekenis van die boodskap, soos deur die sender bedoel, onttrek word.
In Hoofstuk 12 word al drie hierdie vlakke van die boodskap ingespan om
kommunikasie tussen agente te bewerkstellig. Die begrippe wat hier gemeld word, sal
dan meer in besonderhede behandel word en ook in die oplossing van die
bemarkinggedrewe skeduleringsprobleem toegepas word.
10.3 Komponente van kommunikasie
Gedurende 'n tipiese kommunikasie-episode, waartydens spreker S proposisie P aan
hoorder H wil oordra deur van woorde W gebruik te maak, word daar van sewe stappe
gebruikgemaak. Hierdie stappe is [43] soos volg:
Intensie: S wil he H moet P glo (S glo P).
Generasie: S kies die woorde W (want hulle druk die betekenis P uit).
Sintese: S uiter die woorde W (H word met hierdie woorde aangespreek).
Persepsie: H neem W waar (die ideaal is W= W).
Analise: H lei af dat W die moontlike betekenisse Pi,...,Pr, inhou (woorde en
frases kan verskillende betekenisse he).
Ondubbelsinnigheid: H lei af dat S beoog het om Pi oor te dra (die ideaal is Pi =
P).
Inkorporasie: H besluit om Pi te glo (hy of sy kan dit natuurlik ook verwerp as dit
nie strook met wat H reeds glo nie).
Kommunikasie en samewerking tussen agente 85
Sin Analise: Persepsie: "Die vliegtuig is vol"
WS SS Ondubbelsinnigheid:
Vol(vliegtuig)
Bw
vol
Inkorporasie: se (KB, (Vol(vliegtuig))
Lidwd Snw Ww
Die vliegtuig is
In Figuur 10.1 stel die konstruk Se(KB, Vol(vliegtuig)) die aksie voor waar die agent
aan sy eie kennisbasis die proposisie oordra dat die vliegtuig vol is. SS is die
afkorting vir "selfstandigenaamwoord-sin" en WS die afkorting vir "werkwoordsin".
SPOTICtg' Intensie: Generasie: Sintese:
Weet(H,Vol(vliegtuig)) "Die vliegtuig is vol" "dievliegtuigisvol"
Figuur 10.1: Kommunikasieprosesse
Met Figuur 10.1 as hulpmiddel kan ons nou begin om die kommunikasiekomponente
in nader besonderhede te bespreek:
Intensie: Die spreker besluit dat daar iets is wat die moeite werd is om aan die
hoorder oor te dra. Hierdie aksie het op die mikpunte van die agent betrekking.
Die agent hoop ook dat hierdie aksie die gewenste uitwerking sal he (m.a.w., dat
een van sy mikpunte bereik sal word). In die voorbeeld wil die agent die feit
oordra dat die vliegtuig vol is.
Generasie: Die gebruiker gebruik sy kennis van taal om te besluit wat om te
Die spreker besluit om te se: "Die vliegtuig is vol."
Sintese: Die spreker moet nou klanke vir woorde sintetiseer. Hierdie klanke
verskil van die woorde wat gegenereer word.
Persepsie: Die hoorder neem nou die klanke waar en sit hulle weer in woorde om.
Die ideale toestand sou wees as die waargenome woorde dieselfde as die geuiterde
woorde was. Dit is egter nie altyd die geval nie, omdat faktore soos geraas
byvoorbeeld kan veroorsaak dat klanke verwring word.
Analise: Die analisestap kan in twee dele verdeel word, nl. in 'n sintaktiese analise
en 'n sematiese interpretasie. Ingevolge 'n sintaktiese analise word 'n gedeelte van
spraak, by. 'n selfstandige naamwoord, 'n werkwoord, ens., aan elke woord in die
sin toegeken. Hierdie woorde word dan op hul beurt weer aan frases toegeken. 'n
Sintaktiese analise kan met behulp van 'n boomdiagram voorgestel word. 'n
Semantiese interpretasie is daardie proses waartydens die betekenis van 'n
Kommunikasie en samewerking tussen agente 86
boodskap ontrafel en in die een of ander voorstellingstaal uitgedruk word. 'n
Boodskap kan op een of vele maniere geInterpreteer word. Die sin "Die vliegtuig
is vol" is slegs een semantiese interpretasie van die boodskap; 'n ander semantiese
interpretasie sou byvoorbeeld wees "Die vliegtuig is tjokkenblok."
Ondubbelsinnigheid: As 'n boodskap op meer as een manier geInterpreteer kan
word, word daar gese dat dit "dubbelsinning" is. Die hoorder moet self een van
die interpretasies kies. Dit kan met behulp van waarskynlikheid gedoen word. 'n
Sin het ingevolge hiervan by. 'n 90%-kans om op een manier en 'n 10%-kans om
op 'n ander manier geInterpreteer te word.
Inkorporasie: 'n Agent kan nie enigiets glo wat hy "hoor" nie. Die agent moet dus
besluit of sy interpretasie strook met dit wat hy reeds glo. As die agent die
boodskap glo, word dit by sy kennisbasis gevoeg.
10.4 Argitektuur vir multi -agent-stelsels
Agente kommunikeer basies op twee maniere met mekaar. Eerstens kan twee agente
dieselfde interne voorstellingstaal deel — hulle het dus geen eksterne taal nodig nie.
Tweedens kan agente met mekaar kommunikeer deur juis geen aannames omtrent
mekaar se interne voorstellingstaal te maak nie. Hierdie tipes agente deel byvoorbeeld
'n kommunikasietaal soos Engels, Afrikaans of die een of ander rekenaartaal.
Voormelde twee benaderings word vervolgens grafies in Figuur 10.2 en Figuur 10.3
voorgestel.
AGENT Waarnemings
Aksies
AGENT
I 10enering
Waarnemings
Aksies
Figuur 10.2: Twee agente wat 'n voorstellingstaal deel [43]
Soos uit Figuur 10.2 blyk, word daar regstreeks met die kennisbasis van 'n agent
gekommunikeer. Hierdie benadering stuit egter op die volgende drie probleme:
Kommunikasie en samewerking tussen agente 87
► Waarnemings
AGENT ti ►
Waarnemings
Aksie
AGENT
Reclottnng Aksie
-Is
Daar moet 'n benamingskonvensie tussen die kennisbasisse bestaan sodat agent A
nie miskien 'n simbool gebruik wat agent B reeds op 'n ander manier gebruik nie.
Hierdie probleem kan egter oorkom word deur die agent se naam vooraan die
simbool te heg.
Daar moet een of ander meganisme bestaan om die verwantskap tussen simbole
wat deur verskillende agente gebruik word, te vind. 'n Voorbeeld hiervan is of
agent A van dieselfde vliegtuig as agent B praat.
Daar moet ook 'n manier gevind word om die verskillende kennisbasisse met
mekaar te versoen.
TAAL
Figuur 10.3: Twee agente wat kommunikeer d.m.v. taal [43]
Soos in Figuur 10.3 aangedui word, kan daar nou 'n taal gebesig word met behulp
waarvan agente met mekaar kan kommunikeer. Die aksie van agent B is 'n boodskap,
wat dan deel van die waarnemings van agent B uitmaak. Die internevoorstelling-tale
van die agente kan egter verskil, net soos die kommunikasietaal van die
voorstellingstaal kan verskil.
As agente met mekaar "praat", kan hulle of regstreeks of deur medium van 'n
tussenganger met mekaar kommunikeer. Die voordeel van regstreekse kommunikasie
is dat daar nie op die bestaan, vaardighede of voorkeure van ander programme gesteun
hoef te word nie. Twee gewilde argitekture wat van regstreekse kommunikasie
gebruikmaak, is
die kontraknetwerk
spesifikasiedeling.
Ingevolge die kontraknetwerkbenadering rig agente wat dienste verlang, navrae aan
ander agente om hierdie dienste te lewer. Die ontvangers van hierdie navrae evalueer
Kommunikasie en samewerking tussen agente 88
Agent
Agent
Fasiliteerder
Agent
Agent
Fasiliteerder
Fasiliteerder
Agent
Agent
Agent
die navrae en bie dan vir die dienste wat gelewer moet word. Die agent wat die diens
verlang, evalueer al die botte wat gedoen is en ken dan kontrakte toe aan die agente
wat die beste botte gegee het. (Sien Figuur 10.5 aan die einde van hierdie hoofstuk vir
'n skematiese voorstelling van die kontraknetwerkbenadering.)
Ingevolge die spesifikasiedelingbenadering verstrek agente aan ander agente inligting
oor hul bekwaamhede, asook oor hul behoeftes. Agente kan dan hierdie inligting
gebruik om hul aktiwiteite mee te koordineer. Hierdie benadering is soms meer
doeltreffend as die kontraknetwerkbenadering.
Die nadeel van regstreekse kommunikasie is die hoe kommunikasiekoste. Indien daar
'n groot aantal agente ter sprake is, sal daar bloot te veel boodskappe vir die
beskikbare bandwydte wees. Indien daar slegs 'n handjievol agente ter sprake is, skep
getalle en hoeveelhede boodskappe nie 'n wesenlike probleem nie.
Een manier om hierdie probleem die hoof te bied, is om van 'n tussenganger gebruik
te maak. Agente wat van tussengangers gebruikmaak, kan in 'n federasie gegroepeer
word, coos wat in Figuur 10.4 aangedui word:
Figuur 10.4: Federasie van agente [1]
In hierdie argitektuur kommunikeer die agente nie regstreeks met mekaar nie, maar
maak hulle eerder van 'n fasiliteerder gebruik. Die fasiliteerder kommunikeer op sy
beurt weer met 'n ander fasiliteerder. Elke agent dokumenteer sy behoeftes by 'n
Kommunikasie en samewerking tussen agente 89
fasiliteerder. Die fasiliteerder is dus daarvoor verantwoordelik om in die behoeftes
van die agent te voorsien. Die fasiliteerder kan by. met ander fasiliteerders in
verbinding tree om uit te vind of hul agente geregistreer het wat die verlangde diens
kan lewer.
Die voordele wat fasiliteerders vir agente inhou, kan soos volg opgesom word:
Danksy fasiliteerders hoef agente nie self aan sekere adresse boodskappe te stuur
nie, maar stuur hulle bloot hul boodskappe aan die fasiliteerder. Die
verantwoordelikheid berus dus by die fasiliteerder om die boodskappe na die regte
bestemming te stuur. Die fasiliteerder tree daarom in hierdie hoedanigheid as 'n
soort makelaar op.
Die fasiliteerder kan 'n vertalingsfunksie vervul, by. die vertaling van 'n boodskap
in een formaat na 'n boodskap in 'n ander formaat. Hierdie fisiese vertaling
verteenwoordig die transformasie van een simboolversameling na 'n ander.
Logiese vertaling kan ook gedoen word, ingevolge waarvan boodskappe van een
logiese struktuur na 'n ander omgesit moet word, by. SQL-tipe boodskappe
(atomiese formules) na PROLOG-tipe boodskappe (Horn-frases). Nog 'n
vertalingsfunksie wat deur fasiliteerders uitgeoefen kan word, is die van
bufferwerking. Die proses behels naamlik dat boodskappe versamel en later
bymekaargevoeg kan word.
Die fasiliteerder kan laastens ook die skeduleringsfunksie oorneem. S6 kan die
fasiliteerder besluit watter prosesse op die masjien se verwerker uitgevoer moet
word, in welke volgorde die prosesse uitgevoer moet word, ens.
In die voorgaande paragraaf het ons gesien hoe die verskillende argitekture van 'n
multi-agent-stelsel daar kan uitsien. In die volgende gedeelte gaan ons spesifiek
ondersoek instel na hoe onderhandeling in 'n multi-agent-stelsel kan lyk.
10.5 Agente wat onderhandel
Onderhandeling is 'n manier waarop agente met mekaar kan kommunikeer om
gemeenskaplik voordelige ooreenkomste te bereik. Onderhandeling is 'n belangrike
komponent van samewerking tussen agente, omdat agente tans gebou kan word wat in
Kommunikasie en samewerking tussen agente 90
staat. is om hul onderskeie wense aan mekaar te kommunikeer en kompromisse te
maak wat al die betrokke partye tot voordeel strek.
Een van die potensiele probleme van onderhandeling is egter dat die
onderhandelingsproses baie duur en tydrowend kan wees (kommunikasiekoste, ens.).
Die gevolg hiervan is dat die oorhoofse kompleksiteit van die stelsel hand oor hand
kan toeneem. Onderhandeling vind gewoonlik op twee gebiede, nl.
hulpbrontoekenning en werkverdeling, plaas.
10.5.1 Die hulpbrontoekenningsprobleem
'n Groep agente deel 'n hulpbron, uit welke hulpbron slegs een agent op 'n keer kan
put. Onderhandeling vind egter nou plaas in 'n poging om te verseker dat al die agente
in staat sal wees om die hulpbron te deel. Die ooreenkoms wat bereik word,
manifesteer in 'n rooster wat die hulpbron onderling tussen die agente verdeel.
Die koordinasiemeganisme kan of 'n statiese verdeling van frekwensies en tye
verteenwoordig of dit kan uit 'n dinamiese-onderhandeling-meganisme bestaan wat
konfliksituasies op 'n dinamiese wyse sal probeer ontlont.
10.5.2 Die werkverdelingsprobleem
'n Groep agente het 'n gemeenskaplike mikpunt wat hulle so you moontlik wil bereik.
Om hierdie mikpunt te bereik, moet duur aksies uitgevoer word wat 'n agent nie
sonder die samewerking van die ander agente kan uitvoer nie. Elkeen van die agente
wil egter sy eie koste minimeer, m.a.w. elke agent wil so min moontlik doen. Hoewel
die agente dieselfde doel voor od het, verskil hulle tog onderling, soos by. oor wie nou
eintlik wat moet doen.
In die voorgaande twee paragrawe is daar na twee onderhandelingsprotokolle
ondersoek ingestel. Die volgende paragraaf bevat 'n verduideliking van die kriteria
waarvolgens onderhandelingsprotokolle geevalueer kan word.
Kommunikasie en samewerking tussen agente 91
10.5.3 Kriteria vir die evaluasie van onderhandelingsprotokolle
Die kriteria vir onderhandelingsprotokolle is daardie stel voorwaardes wat deur al die
ontwerpers van agente vir 'n spesifieke domein aanvaar moet word. Dit sluit die
volgende voorwaardes in [61]:
Verspreidheid: Die besluitnemingsproses moet verspreid wees. Daar moet geen
sentrale agent wees wat hierdie proses bestuur nie.
Onmiddellikheid ("Immediacy"): Konfliksituasies moet sonder verwyl ontlont
word.
Effektiwiteit: Konfliksituasies moet sover moontlik vermy word en daar mag geen
ooreenkoms bestaan wat die ander ooreenkomste ophef nie, by. 'n ooreenkoms wat
vir sommige agente voordelig is, maar op die ander nadelig werk.
Eenvoud: Die onderhandelingsproses moet eenvoudig dog doeltreffend wees. Dit
moet hierbenewens in 'n relatief kort tydperk uitgevoer kan word en slegs van 'n
relatief klein hoeveelheid stelselhulpbronne gebruikmaak.
Simmetrie: Die koordinasiemeganisme mag agente nie a.g.v. nie-relevante
attribute verskillend behandel nie. Simmetrie impliseer dat, in 'n gegewe situasie,
die vervanging van een agent deur 'n ander wat m.b.t. die relevante attribute
identies is, nie die onderhandelingsproses mag beInvloed nie.
Stabiliteit: Daar moet 'n onderskeibare ekwilibriumpunt in die
onderhandelingsprotokol wees. Gegewe 'n spesifieke situasie, wil ons graag
strategies bedink wat ons by al die agentontwerpers kan aanbeveel om by hul
agente in te bou.
Toeganklikheid of uitvoerbaarheid: Wat die hulpbrontoekenningsprobleem betref,
sal ons graag wou sien dat die agent in die een of ander stadium toegang tot die
hulpbron moet verkry. In soverre dit die werkverdelingsprobleem aangaan, sal ons
weer graag wou he dat die taak op die een of ander tydstip verrig sal word.
10.6 Die kontraknetwerk-onderhandelingsprotokol
In hierdie afdeling gaan ons poog om die kommunikasie tussen die agente wat van die
kontraknetwerk gebruikmaak, formeel te definieer. In paragraaf 10.6.1 word die
kontraknetwerkprotokol vanuit 'n konseptuele oogpunt bespreek, terwyl die teoretiese
model (paragraaf 10.6.2) poog om die semantiek van hierdie protokol vas te le.
Kommunikasie en samewerking tussen agente 92
10.6.1 Kommunikasie tussen agente
Daar bestaan tans twee metodes waarvolgens kommunikasie tussen agente
bewerkstellig kan word. Voorbeelde van die metodes is soos volg [1]:
Regstreekse kommunikasie tussen die agente, ingevolge waarvan hulle self vir die
kommunikasie en koordinasie met mekaar verantwoordelik is.
Agente gebruik spesiale stelselprogramme om die koordinasie te bewerkstellig.
Die voordeel van regstreekse kommunikasie is dat dit nie afhanklik is van programme
met spesifieke bevoegdhede nie. Die nadeel is egter dat die kommunikasiekoste baie
hoog is wanneer die agente vermeerder. Die probleem vererger in 'n stelsel soos die
Internet, waar daar miljoene agente teenwoordig kan wees. Die ander probleem is die
kompleksiteit daaraan verbonde om dit te implementeer. Agente moet nou met
spesiale meganismes toegerus word ten einde met mekaar te kan kommunikeer. 'n
Gewilde manier is dat agente aan die ander agente bekendmaak watter behoefte hulle
bevredig wil he. Die ander agente bie dan om hierdie "kontrak" te verwerf. 'n Ander
manier is dat agente aan mekaar bekendmaak wat hul behoeftes is en oor watter
hulpbronne hulle beskik. Die agente kan dan hierdie inligting gebruik om hul
aktiwiteite te koordineer [1].
Agente wat nie van die regstreekse kommunikasie-argitektuur gebruikmaak nie, is
gewoonlik in 'n federasie georganiseer. In so 'n federasie kommunikeer die agente nie
regstreeks met mekaar nie, maar eerder deur 'n mediator, oftewel 'n fasiliteerder. Die
agente dokumenteer hul bevoegdhede en behoeftes by die fasiliteerder. Die
fasiliteerder moet dan seker maak dat daar in die agente se behoeftes voorsien word,
by. deur van stelseldienste gebruik te maak. Die agente boet dan 'n groot deel van hul
outonomie ten gunste van die fasiliteerder in. Die fasiliteerder kan dan op sy beurt
met ander fasiliteerders in ander stelsels kommunikeer. Die fasiliteerder tree dus as
makelaar vir die agente op [1].
Albei kommunikasiewyses toon sterk ooreenkomste met aspekte in die ekonomie en
die speleteorie.
Die kommunikasiemodel wat ons gaan gebruik, is die van die kontraknetwerk
("Contract Net"). Die kontraknetwerkprotokol van Davis en Smith [62] is die
Kommunikasie en samewerking tussen agente 93
bekendste en belangrikste protokol vir multi-agent-stelsels. Ons veronderstel 'n stelsel
met 'n aantal agente. Een van die agente het 'n taak om te verrig. In ons
skeduleringsvoorbeeld is dit om boetes te minimeer. Die agent kan egter nie hierdie
taak alleen en in isolasie verrig nie. Die taak word derhalwe in kleiner take
opgebreek en aan 'n ander agent toegeken. Die agent wat graag sy boetes wil
minimeer, word nou die "bestuurder" genoem. Die bestuurder rig nou 'n uitnodiging
aan die ander agente om vir hierdie taak te bie. Die ander agente maak dan 'n bod as
hulle die taak kan en wil uitvoer. Die bestuurder evalueer al die botte en kies een.
Die bestuurder stuur nou die taak om verrig te word aan die agent (kontrakteur) op
wie die bod toegeslaan is. Die kontrakteur verrig nou die taak en gee aan die
bestuurder terugvoering oor die resultaat of uitkoms daarvan. Hierdieproses sal in die
volgende paragraaf formeel gedefinieer word. In Figuur 10.5 word 'n diagrammatiese
voorstelling van hierdie proses gemaak.
10.6.2 Semantiek
Die semantiese model wat ons hier gaan definieer, is op die werk van Munindar P.
Singh gegrond [63]. Die model is op moontlike werelde gebaseer wat uit die teorie
van modale logika ("modal logic") goed bekend is. Die werelde in ons bespreking is
oomblikke in tyd. Die meeste van die werk in verspreide kunsmatige intelligensie het
gefokus op die kennis waaroor 'n agent beskik. Die teorie oor die bekwaamhede van
agente fokus egter nie alleen op dit wat agente dink of weet nie, maar eerder op dit
wat hulle kan en wil doen.
Die notasie wat gebruik gaan word, lyk baie soos proporsionele logika, met die
uitbreidings van modale logika. Ekstra konstrukte wat nie deur bg. teorie gedek word
nie, is konstrukte van die vorm
xlp, wat beteken x het die intensie om p te bevredig
xKnp, wat beteken x het die kennis ("know-how") om p te bevredig
Ml=teP, wat beteken M bevredig P op tydstip te .
W is die modale operateur.
se-vir is 'n geparameteriseerde kommunikasiehandeling, by. se-vir(y, m).
Kommunikasie en samewerking tussen agente 94
[S;tb ,te] E [[se-vir (y, m)]] X beteken dat, vir scenario S, agent x die
kommunikasiehandeling m vir agent y in die tyd vanaf tb tot to se. Dit beteken ook dat
die kommunikasiehandeling suksesvol uitgevoer is.
Komm is 'n predikaat wat op twee agente en 'n kommunikasiehandeling betrekking
het. Komm(x, y, m) is waar, gedurende S,t slegs as y, m aan x gese (of begin het om to
se) het.
Daar is basies ses gesagsvorme van kommunikasie. nl. [64]
bevestigend
opdraggewend
uitvoerend
toestemmend
verbiedend
verklarend.
Slegs die bevestigende, opdraggewende en uitvoerende vorm word egter in die
kontrak-netwerk gebruik. Formeel gesien, kan hierdie vorme soos volg gedefinieer
word:
Bevestigend
M1=5, 1 W(komm(x, y, (bevestigend, p))), as en slegs as
(ate : [S;t,te] E Use -vir(x, y, (bevestigend, p))]]x en M l=s,te p).
Dit beteken dat bevestigende kommunikasie slegs bevredig word as die proposisie
waar is op die oomblik waarop dit gemaak word.
Opdraggewend
Ml=s,, W(komm(x, y, (opdraggewend, p))), as en slegs as
(3te : [S;t,te] E Use-vir(x, y, (opdraggewend, p))]f en M 1=s, te (yKbp A ylp) Up)).
'n Opdraggewende sin word slegs bevredig indien
sy proposisie, p, in die toekoms gaan waar word en
Kommunikasie en samewerking tussen agente 95
die hoorder, gedurende die scenario van nou tot wanneer die proposisie in die
toekoms waar word, oor die kennis beskik en van voorneme is om dit te bevredig.
Uitvoerend
Ml=s, t W(komm(x, y, (uitvoerend, p))) , as en slegs as
(3te : [S;t,te] E [[se-vir(x, y, (uitvoerend, Mr en M 1=s, t, (xKhp n xlp) Up))
'n Opdraggewende sin word slegs bevredig indien
sy proposisie, p, in die toekoms gaan waar word en
die spreker, gedurende die scenario van nou tot wanneer die proposisie in die
toekoms waar word, oor die kennis beskik en van voorneme is om dit te bevredig.
Kontraknetwerksemantiek
Laat x(x, y, 7) die stel voorwaardes wees waaronder 'n agent y sal reageer op 'n
uitnodiging van x om vir taak T te bie.
Laat
r(x, y, 7) die afkorting wees vir komm(y, x, (bevestigend, resultaat(7))) (resultaat)
a(x, y, 7) die afkorting wees vir komm(x, y, (opdraggewend), r(x, y, 7)) (toekenning)
b(x, y, 7) die afkorting wees vir komm(y, x, (uitvoerend, Pa(x, y, T) Fr(x, y, 7)))
(bod).
Die aanvanklike uitnodiging aan kontrakteurs om te bie, het die uitwerking van die
volgende skematiese boodskap:- (opdraggewend), x(x, y, T) ---> b(x, y, 7).
Bostaande formalisme kan gebruik word om aan te toon dat die kontraknetwerk-
protokol werk, mits die onderstaande aannames natuurlik gemaak word:
Minstens een van die agente moet vir die taak bie.
Van al die agente wat vir die taak bie, moet minstens een deur die bestuurder
gekies word om die taak te verrig.
Figuur 10.5 hieronder illustreer die proses waarvolgens boodskappe in die
kontraknetwerkprotokol heen en weer gestuur word. Die proses, coos hierbo, kan in
die volgende stappe opgesom word:
Kommunikasie en samewerking tussen agente 96
Die bestuurder rig 'n uitnodiging om vir 'n taak te bie. Hierdie uitnodiging
verteenwoordig 'n opdragsin.
Minstens een van die kontrakteurs bie vir die taak. Die kontrakteur moet oor die
kennis beskik, asook van voorneme wees, om die taak te verrig. Hierdie
verteenwoordig 'n uitvoerende sin.
Die bestuurder slaan die bod op een van die kontrakteurs toe. Hierdie "handeling"
verteenwoordig 'n opdragsin.
Die kontrakteur stuur die resultaat van die taak aan die bestuurder terug. Hierdie
verteenwoordig 'n bevestigende sin.
Bestuurder (x)
Kontrakteur (y)
Uitnodiging om te bie
Bie
Taaktoekenning
Resultaat
Figuur 10.5: Boodskappe in die kontraknetwerk rondgestuur
10.7 Samevatting
In hierdie hoofstuk het ons gesien wat kommunikasie behels en hoe agente d.m.v.
boodskappe met mekaar kan kommunikeer. As daar egter 'n aantal agente is wat moet
saamwerk om 'n gemeenskaplike doel te bereik, of daar is agente wat om 'n hulpbron
moet meeding, is blote kommunikasie nie voldoende nie. Agente moet naamlik in
sodanige gevvalle met mekaar kan onderhandel om hul doel te bereik. Daar is
hierbenewens ondersoek ingestel na die wyse waarop sodanige onderhandeling
plaasvind en wat die kriteria vir die evaluasie van agente is. Die hoofstuk is ten laaste
met 'n bespreking van die kontraknetwerkprotokol afgesluit.
Kommunikasie en samewerking tussen agente 97
I Inleiding tot die leerteorie
Struktuur van 'n agent wat leer
Versterkingsleerbenadering I lAnder benaderings IInduktieweleer-benadering
Besluitnemingsbome Informasieteorie IBevoordeling
Agente wat leer
In die vorige hoofstukke het ons gesien hoe agente lyk, funksioneer en kommunikeer.
Die doel van hierdie hoofstuk is om to kyk hoe agente kan leer. Lerende agente is
belangrik omdat agente nou hul ondervinding van die oplos van vorige probleme vir die
oplos van nuwe probleme kan gebruik. In hierdie hoofstuk gaan ons kyk na wat die
leerteorie behels en hoe agente lyk wat kan leer. Daar gaan ook gekyk word na twee
denkrigtings in die leerteorie, nl. induktiewe leer en versterkingsleer. Informasieteorie en
bevoordeling sal ook ter ondersteuning van induktiewe leer bespreek word. Die
oorsigtelike struktuur van hierdie hoofstuk word in Figuur 11.1 hieronder weergegee.
Figuur 11.1: Samehang van hierdie hoofstuk
11.1 Inleiding tot die Ieerteorie
In Sielkunde word die leerproses gesien as die formulering van konsepte, gedagtes en
beelde, asook die verwantskap tussen ondervinding en die organisasie van die verstand.
In Sielkunde word basies twee benaderings gevolg, nl. die rasionele benadering en die
empiriese benadering.
Ingevolge die empiriese benadering is ondervinding die enigste bron van kennis en
bestaan alle komplekse idees uit eenvoudiger idees. Die komplekse idees word d.m.v.
ondervinding met mekaar verbind. Filosowe soos Mill, Hume, Locke en Hobbes het die
empiriese benadering in hul werk onderskryf. Die leerteoriee van by. Pavlov en
Agente wat leer 98
Thorndike is ook op die empiriese benadering gebaseer. Thorndike beweer dat, deur een
taak te bemeester, dit iemand kan help om 'n tweede, soortgelyke taak veel makliker baas
te raak. Ivan Pavlov kan as die vader van kondisionering beskou word. Hy het op sy
beurt beweer dat 'n mens deur kondisionering geleer kan word [65]. Dit is interessant om
daarop te let dat mense, vergeleke met diere, 'n verlengde kindertyd het, waarskynlik
omdat hulle deur kultuur leer [59].
Die rasionele benadering poneer, reelreg in teenstelling met die voorgaande benaderings,
dat die interaksie tussen elementere idees net so fundamenteel as die idees self is.
Ondervinding, tesame met assosiatiewe leer, is volgens hierdie benadering dus gewoonlik
nie genoeg om 'n gebeurtenis te interpreteer nie.
Verskille tussen die empiriese teoried sluit onder meer in die konflik tussen stimuli-
respons-teoriee en die kognitiewe teoriee. In die 1930's en 1940's het B.F. Skinner sy
idees oor behaviourisme uiteengesit. Volgens hierdie teorie word beweer dat dit nie
nodig is om 'n gedetailleerde begrip van die interne werking van 'n organisme te he om 'n
teorie oor sy gedrag uiteen te sit nie [66]. Sielkunde het egter in die vyftigerjare hierdie
benadering grootliks ten gunste van die kognitiewe benadering verwerp [71]. Die fokus
van Kognitiewe Sielkunde val op die insameling, oordrag en onttrekking van inligting.
Met die ontwikkeling van die rekenaar kon die informasieverwerking van menslike
kognisie veel deegliker ondersoek word. Kognisiemodelle kan nou d.m.v. 'n rekenaar
gemodelleer word om te sien hoe doeltreffend hulle is.
Teoriee uit die Sielkunde en ander studievelde kan nou gebruik word om agente te skep
wat leer. Baie van die wiskundige benaderings wat in die agentteorie gevolg word ten
einde leerprosesse voor te stel, is bloot wiskundige formulerings van voormelde begrippe.
11.2 Struktuur van 'n agent wat leer
'n Agent wat kan leer, bestaan basies uit vier konseptuele komponente, soos in Figuur
11.2 aangedui:
Agente wat leer 99
Terugvoer
Leerdoelwitte
Sensors -am
Veranderinge
Kennis Omgewing
Affekteerders
Agent
Figuur 11.2: 'n Algemene model vir 'n agent wat leer [43]
Die twee belangrikste elemente in hierdie figuur is die leerelement en die prestasie-
element. Die leerelement is naamlik daarvoor verantwoordelik om verbeteringe aan te
bring, terwyl die prestasie-element daarvoor verantwoordelik is om sekere aksies te kies.
Die kritikus se funksie is om die leerlement te vertel hoe goed die agent besig is om te
presteer. Hierdie komponent is noodsaaklik omdat die waarnemings op sigself geen
aanduiding van die agent se sukses al dan nie gee nie. Dit is ook belangrik dat die
prestasiestandaard 'n vaste waarde sal wees wat konseptueel buite die agent gedefinieer
word. As dit nie die geval is nie, kan die agent sy prestasiemaatstaf aanpas om sy
mikpunte makliker te bereik. Die funksie van die probleemgenerator is om aksies voor te
stel wat tot nuwe en insiggewende ondervindings sal lei. Hierdie komponent is nodig
omdat die prestasie-element slegs aksies sal uitvoer wat die beste is, gegewe die inligting
waaroor die agent beskik. As die agent gewillig is om 'n bietjie te waag, m.a.w. om soms
sub-optimale oplossings op die kort termyn te kies, kan goeie oplossings op die lang
termyn verseker word [43].
Daar bestaan 'n groot aantal tipes leerelemente. Hul ontwerp word egter grootliks
beInvloed deur die konteks waarin hulle funksioneer. Die ontwerp van die leerelement
hang dus grootliks of van [43]
e watter komponente van die prestasie-element verbeter moet word
Agente wat leer 100
watter voorstelling vir daardie komponente gebruik word
watter terugvoer beskikbaar is
watter kennis vooraf beskikbaar is.
Komponente van die prestasie-element bestaan onder meer uit
'n omsetting van die bestaande toestande in aksies
'n manier om relevante eienskappe van die wereld uit die waarnemingsreeks of te lei
inligting oor hoe die wereld ontwikkel
inligting oor die gevolge van die aksies wat 'n agent kan uitvoer
bruikbaarheidsinligting, wat aandui of 'n bepaalde toestand wenslik is al dan nie.
Elkeen van hierdie komponente kan geleer word, opvoorwaarde dat geskikte terugvoering
gegee word. Vir lerende agente beteken dit dat die prestasiestandaard gesien kan word as
die definisie van 'n versameling waarnemings wat as regstreekse terugvoering oor die
gehalte en aard van hul gedrag geInterpreteer word.
Die komponente van die prestasie-element kan op 'n verskeidenheid van maniere
voorgestel word. Lerende algoritmes is al vir onder meer die volgende
logikavoorstellings nl. eerste-orde-logika, predikaatlogika, waarskynlikheids-
besluitneming, ens., geImplementeer.
Vir sommige komponente, sons by. die komponent wat die uitkomste van 'n aksie moet
voorspel, sal die beskikbare terugvoer die agent vertel wat die korrekte uitkomste is.
Enige situasie waar sowel die invoer as die afvoer van 'n komponent waargeneem kan
word, word toesighoudende leer genoem (die korrekte uitvoere word soms deur 'n
vriendelike onderwyser verskaf). As die toestand-aksie-element 'n tipe evaluasie van sy
aksies terugkry, word dit versterkingsleer ("reinforcement learning") genoem. In
Hoofstuk 14 pas ons versterkingsleer toe om die gebruiker se akies te voorspel. As daar
geen idee bestaan oor wat die korrekte afvoere is nie, word dit geen -toesig -leer genoem.
Agente wat leer 101
Die verskil tussen toesighoudende leer en versterkingsleeris dat toesighoudende leer die
regte antwoord verskaf, terwyl versterkingsleer 'n maatstaf van korrektheid verskaf.
Die grootste gedeelte van die kunsmatige-intelligensie-literatuur berus op die aanname
dat geen kennis vooraf beskikbaar is nie. Dit is egter nie altyd die geval nie. Die meeste
sielkundiges en taalkundiges gaan van die veronderstelling uit dat pasgebore babas wel
oor kennis van die wereld beskik, al is die kennis ook hoe oppervlakkig [67]. Sodanige
"voorkennis" kan 'n leeue-aandeel in die leerproses he.
In die volgende paragraaf gaan ons die induktiewe benadering tot leer bestudeer.
Induktiewe leer, asook versterkingsleer, kan in die leerelement van 'n lerende agent
gebruik word.
11.3 Induktiewe (empiriese) leer
Die taak van suiwer induksie is om uit 'n versameling voorbeelde f 'n funksie h of te lei
wat f benader. Die funksie h word dan 'n "hipotese" genoem. Enige voorkeur van een
hipotese bo 'n ander word "bevoordeling" genoem. Daar is gewoonlik 'n groot aantal
konsekwente hipoteses, en daarom het lerende algoritmes gewoonlik die een of ander
voorkeur. Inkrementele lerende algoritmes werk hul ou hipoteses by sodra 'n nuwe
voorbeeld aan hulle voorgehou word. Nie-inkrementele algoritmes vind 'n nuwe
konsekwente hipotese sodra nuwe voorbeelde opduik [43].
'n Diepgaande studie is van logika as synde die taal van lerende algoritmes gemaak,
omdat die semantiek daarvan goed verstaan word. Die bekendste benadering wat gevolg
word om logiese sinne te leer, is die besluitnemingsboom.
11.3.1 Lerende besluitnemingsbome
'n Besluitnemingsboom neem as invoer 'n objek of situasie wat deur 'n versameling
kenmerke beskryf word en gee as afvoer 'n Ja- of 'n Nee-antwoord. Besluitnemingsbome
stel dus Boolese funksies voor. Elke interne node in die boom kom ooreen met 'n toets
Agente wat leer 102
[ Het die lid sy minimum rustyd
gehad?
Nee Ja
Is die vlugtyd van so 'n aard dat die bemanningslid nie sy
maksimum vliegure oorskry nie?
Nee
Is die bemanningslid gekwalifiseerd vir die
vlug?
van die waarde van een van die kenmerke en die takke van die nodes word met die
moontlike waardes van die toets gemerk. Elke blaarnode in die boom spesifiseer die
Boolese waarde wat teruggegee moet word as die blaar bereik word.
Die volgende figuur illustreer 'n lerende besluitnemingsboom:
Figuur 11.3: Besluitnemingsboom om to besluit of 'n bemanningslid mag vlieg
Die besluitnemingsboom in Figuur 11.3 kan ook soos volg as 'n logiese sin uitgedruk
word: Vr MinimumRus(r,Ja) A MaksVliegure(r,Ja) A Kwalifiseer (r, Ja) KanVlieg(r).
Die vraag ontstaan nou of 'n besluitnemingsboom enige versameling sinne kan voorstel.
Die antwoord is nee, omdat besluitnemingsbome implisiet tot die beskrywing van 'n
enkele voorwerp beperk word. Die besluitnemingsboom se taal is basies proposisionele
logika, met elke attribuuttoets synde 'n proposisie ("proposition") [43]. Ons kan nie
besluitnemingsbome gebruik as daar na twee of meer voorwerpe verwys word nie [43].
Dit is 'n basiese beperking van proposisionele logika. Die kern van die saak is egter dat
besluitnemingsbome ten voile beskrywend is vir die klas van probleme wat in
proposisionele logika uitgedruk kan word.
Agente wat leer 103
Soms word die boom te groot om te deursoek, wat dit vir sekere probleme ongeskik
maak. 'n Voorbeeld hiervan is die pariteitsfunksie wat 'n een teruggee as en slegs as 'n
ewe aantal van die invoerfunksies een is. Vir hierdie probleem is 'n eksponensiele groot
besluitnemingsboom nodig. Ons kan dus nie besluitnemingsbome vir alle tipes probleme
gebruik nie [43]. Voorbeelde van gevalle waarin besluitnemingsbome nie gebruik kan
word nie, is optimeringsprobleme soos die toekenning van fisiese vliegtuie aan vlugte.
11.3.2 Afleiding van besluitnemingsbome uit voorbeelde
As ons 'n versameling voorbeelde het, sal ons graag 'n algoritme wil vind wat vir ons 'n
besluitnemingsboom sal bou. Ons sal egter nie enige boom wil bou nie, maar spesifiek
die eenvoudigste een. Hierdie is 'n algemene beginsel in induktieweleer-benadering, wat
"Ockham se skeermes" genoem word. Die beginsel onderliggend aan Ockham se
skeermes is dat die mees waarskynlike hipotese ook die eenvoudigste een is wat is met al
die waarnemings strook [43].
1D3 is 'n algoritme wat gebruik kan word om besluitnemingsbome te leer [68]. 1D3
produseer 'n besluitnemingsboom deur dit van bo na onder te laat groei. Op elke punt
word die toetsattribuut gekies wat die voorbeeld ten beste klassifiseer. Die algoritme kan
soos volg opgesom word:
funksie Groei-boom(voorbeeld)
As eindig-kondisie(voorbeeld)
gee gepaste blaarnode terug
Anders
beste = Kies-die-beste-eienskap(voorbeeld)
boom = 'n Nuwe besluitnemingsboom met die wortel "beste"
Vir elke waarde Vi van beste, doen
sub-voorbeeld = (elemente van voorbeeld met beste = V i)
Heg die tak boom aan Groei-Boom(sub-voorbeeld)
einde
Gee boom terug.
Agente wat leer 104
Die "eindige kondisie" word waar wanneer al die instansies in dieselfde sub-voorbeeld tot
dieselfde klas behoort, m.a.w. as al die voorbeelde dieselfde klassifikasie het. 'n Gepaste
blaarnode wat dan teruggee kan word, is die klassifikasie.
Soos 1D3 die boom van bo na onder laat groei, kies die algoritme 'n eienskap vir die
volgende node in die boom. Dit kies 'n eienskap wat dubbelsinnigheid minimeer (m.a.w.
dit vermeerder suiwerheid). ID3 kry 'n beraming van die suiwerheid van die voorbeeld
deur die entropie daarvan te bereken. In 'n tweeklas-voorbeeld, gegewe 'n voorbeeld T
met n instansies, ci wat aan klas 1 behoort en c2 wat aan klas 2 behoort, is die entropie
soos volg:
E(T) = (cl/n)log2(cl/n) - (c2/n)log2(c2/n).
E(T) benader 0 of meer instansies wat tot een klas behoort en bereik sy maksimum
waarde van 1 wanneer al die instansies eweredig tussen die twee klasse versprei is [69].
ID3 kies die eienskap wat die meeste informasiewins sal oplewer. Informasiewins kan
gedefinieer word as die verskil tussen die oorspronklike informasievereiste en die nuwe
vereiste [43]. Informasiewins word in paragraaf 11 bespreek.
Dit is goed en wel om 'n induktiewe algoritme te ontwerp wat kan leer. Ons wil egter nie
alleen kan sien dat die algoritme leer nie, maar ook hoe goed (doeltreffend) dit kan leer.
Die volgende paragraaf word aan 'n bespreking van hierdie probleem gewy.
11.3.3 Berekening van die prestasie van 'n lerende algoritme
'n Lerende algoritme presteer goed as dit hipoteses produseer wat goeie resultate lewer
wanneer hulle aan die hand van 'n battery toetse (voorbeelde) gemeet word. 'n Goeie
metodologie waaraan die prestasie getoets kan word, is die volgende [43]:
Versamel 'n groot aantal voorbeelde.
Verdeel die voorbeelde in twee versamelings, nl. 'n opleidingsversameling en 'n
toetsversameling.
Agente wat leer 105
Gebruik die leeralgoritme met die opleidingsversameling as voorbeeld om sodoende
'n hipotese H te genereer.
Bereken die persentasie van die voorbeelde in die toetsversameling wat korrek deur H
geklassifiseer is.
Herhaal stappe 1 tot 4 vir verskillende groottes van die opleidingsversamelings.
11.4 Die toepassing van die informasieteorie
Die informasieteorie (die "Information Theory") kan gebruik word om die beste attribuut
in die data te vind. Die idee is om die attribuut te kies wat die bes moontlike klassifikasie
van die data sal gee. Die informasieteorie kan gebruik word om te bepaal wat die
verwagte omvang van informasie gaan wees wat 'n attribuut kan verskaf. 'n Ideale
attribuut verdeel die voorbeelddata in versamelings wat of algeheel positief Of algeheel
negatief is. Ons gaan in hierdie paragraaf kyk na die informasieteorie, soos uit 'n kwasi-
wiskundige oogpunt beskou. Die wiskundige benadering tot die informasieteorie is vir
die eerste keer deur Shannon en Weaver [70] gedefinieer. Informasie kan ingevolge
hierdie teorie as 'n antwoord op 'n vraag beskou word. 'n Voorbeeld hiervan is die vraag
of 'n vliegtuig betyds is. Die waarde van hierdie informasie is redelik hoog as 'n mens in
ag neem dat vliegtuie sowat 50% van die tyd betyds is. As ons egter geweet het dat
vliegtuie 99% van die tyd betyds is, sou die waarde van die informasie redelik laag
gewees het, omdat ons omtrent heeltemal seker sou kon wees wat die antwoord op die
vraag is.
Ingevolge die informasieteorie word die waarde van informasie in bisse gemeet. Een bis
informasie is genoeg om 'n Ja- of Nee-vraag te beantwoord waarvan 'n mens geen idee
van die uitkoms het nie. Oor die algemeen kan ons stel dat, as die moontlike antwoorde
vi die waarskynlikhede P(vi) het, die informasiewaarde I van die werklike antwoord dan
gegee word deur
I(P(vi), P(vfl)) = - P(vi)log2P(vi)• i=1
Agente wat leer 106
Ons kan hierdie vergelyking aan ons voorbeeld toets. As die aankomstye 50% van die tyd
korrek is, dan is die vergelyking soos volg:
1(0.5, 0.5) = -0.51og20.5 - 0.51og20.5 = 1 bis.
As vlugte 99% van die tyd betyds was, sou die informasiewaarde maar 0.08 bisse gewees
het.
Ons kan hierdie teorie op lerende besluitnemingsbome toepas. Die vraag wat beantwoord
moet word, is wat die korrekte klassifikasie vir 'n gegewe voorbeeld is. Gestel 'n
opleidingsversameling bevat p positiewe voorbeelde en n negatiewe voorbeelde. Die
beraamde informasie in 'n korrekte antwoord sal dan wees:
I( P , )= lo g2 log2 [43]. p+n p+n p+n p+n p+n p+n
'n Toets op 'n gewone attribuut A sal normaalweg nie al hierdie informasie aan ons
verstrek nie, maar slegs 'n gedeelte daarvan. Ons kan egter die presiese waarde bepaal
deur te kyk hoeveel informasie ons nd die attribuuttoets nodig het. Enige attribuut A
verdeel die opleidingsversameling E in deelversamelings E l , ... volgens hul waardes
vir A, waar A v verskillende waardes kan he. Elke deelversameling E i het pi positiewe
voorbeelde en ni negatiewe voorbeelde. Ons het dus 'n bykomende l(pil(pi+ni),ni(pi+ni))-
bisse informasie nodig ten einde die vraag te kan beantwoord. 'n Willekeurige voorbeeld
het die ide waarde vir die attribuut, met die waarskynlikheid (pi + n;)/(p + n). Die
gemiddelde waarde, nd die toetsing van A, wat ons gaan nodig he om die voorbeeld te
klassifiseer, is dus:
Reswaarde(A) = pi +ni pi , ni j .
Die informasiewins van die attribuuttoets kan dan gedefinieer word as die verskil tussen
die oorspronklike informasiebehoefte en die nuwe behoefte:
i=1 p+n pi+ni pi+ni
Agente wat leer 107
Wins(A) /( p n )
-Reswaarde(A). p+n p-Frz
Die algoritme wat die besluitnemingsboom bou, kan dus die attribuut kies wat die
hoogste informasiewins tot gevolg sal he. Informasieteorie is baie belangrik in die
induktieweleer-benadering, aangesien dit by die bou van besluitnemingsbome van
deurslaggewende belang is. Informasieteorie help dat besluitnemingsbome gebou kan
word wat die diepte van die finale boom minimeer. Informasie kan ook gebruik word om
die geraas ("noise") in die data te minimeer [43].
11.5 Versterkingsleeralgoritmes
In versterkingsleer ("reinforcement learning") word belonings gebruik om 'n agent sekere
funksies te laat leer. Versterkingsleermetodes word gebruik in omgewings waar die agent
geen voorbeelde het nie. Die agent het hierbenewens nog 'n model van die wereld nog
enige bruikbaarheidsfunksie. Die leertaak kan op die volgende maniere wissel:
Die omgewing kan of toeganklik of ontoeganklik wees. As 'n agent se sensors tot die
volledige toestand van die omgewing toegang het, is die omgewing toeganklik; so nie
is dit ontoeganklik. Dit beteken dat, as die agent se sensors al die aspekte van die
omgewing kan waarneem wat vir 'n aksie relevant is, die omgewing toeganklik is.
Die agent kan oor voorkennis van die omgewing beskik, asook weet wat die gevolge
van sy aksies gaan wees. Die agent kan egter tog hierdie model, tesame met die
bruikbaarheidsinformasie, leer.
Belonings kan in terminaaltoestande (eindtoestande) of in enige ander toestand
ontvang word.
Belonings is komponente van die bruikbaarheidsfunksie wat die agent probeer
maksimeer.
Die agent kan of 'n passiewe Of 'n aktiewe leerling wees. 'n Passiewe leerling neem
die wereld waar en probeer die bruikbaarheid van die verskillende toestande te leer.
'n Aktiewe leerling moet ook met die geleerde informasie handel. Dit kan die
Agente wat leer 108
probleemgenerator gebruik om verkennings van die onbekende dele van die wereld te
doen.
• Die agent leer 'n aksie-waarde-funksie, gegewe die verwagte bruikbaarheid om 'n
sekere aksie op 'n gegewe toestand uit te voer. Dit word Q-lering genoem. [73]
11.5.1 Die omgewing
Die begrip "omgewing" verwys gewoonlik na die gemiddelde van al die eksterne
toestande en invloede wat die lewe en ontwikkeling van 'n organisme beinvloed [71].
Daar moet nou, uit 'n hele versameling moontlike aksies, 'n optimale aksie gekies word.
Die omgewing reageer op die invoeraksie deur 'n afvoer te produseer wat tot 'n
versameling van toelaatbare afvoere behoort.
Aksies
a= {a1,a2,••,a3}
Omgewing c = {c 1 ,c2 , cr }
Uitvoer /3= {0,1}
Figuur 11.4: Die omgewing
Ons kan die omgewing, soos in Figuur 11.4 voorgestel, wiskundig as synde die
versameling {a,c,fi} voorstel, waar a = 'n eindige-invoer-versameling
voorstel. /3 = (0,1) is 'n binere-afvoer-versameling en c = {ci,c2, Cr) is 'n versameling
beloningswaarskynlikhede waarvan elke element c, van c met 'n invoeraksie a,
ooreenkom.
Die aksie a(n) op die omgewing behoort aan a en word op 'n diskrete tydstip t = n (n=0,
1 ,2, ...) toegepas. Die afvoer /3(n) van die omgewing behoort aan /3 en kan een van twee
waardes aanneem, nl. /31 en /3 2. Eenvoudigheidshalwe is hierdie waardes as 0 of 1
geneem. 'n Afvoer /3(n) = 1 word as 'n mislukking geidentifiseer, terwyl /3(n) = 0 geag
word 'n sukses te wees. Die element c1 van c wat die omgewing karakteriseer, kan dan
gedefinieer word deur
Pr(13(n)= 11a(n) = (xi) = ci ( i = 1,2, ...,r).
Agente wat leer 109
Die notasie Pr(•) stel die waarskynlikheid van die gebeurtenis tussen die hakies voor. ci
stel dus die waarskynlikheid voor dat die toepassing van 'n aksie ai op die omgewing 'n
mislukking as afvoer sal he.
Voormelde gee 'n formele beskrywing van die omgewing waarin 'n lerende outomaat
funksioneer. In die volgende paragraaf word die konsep van 'n lerende outomaat formeel
bespreek.
11.5.2 Die lerende outomaat
Die konsep van outomatisasie, soos onder die outomaatteorie verstaan, is 'n baie
algemene een en beskryf 'n groot verskeidenheid van abstrakte sisteme. In hierdie
paragraaf gaan ons kyk na hoe 'n lerende outmaat lyk. As cD die versameling van interne
toestande en /3 'n versameling invoeraksies is, a die vesameling van afvoere, F(•,•):D x
p cD 'n funksie wat die huidige toestand en aksie op die volgende toestand afbeeld en
H(•,•) : c x /3 —› a 'n funksie wat die huidige toestand en invoer op die huidige afvoer
afbeeld, is die outomaat gedefinieer as die versameling {cD,a43,F(•,•),H(•,•)}. In hierdie
outomaat bepaal die invoer, tesame met die huidige afvoer, sowel die volgende toestand
as die afvoer. As die afvoer egter slegs van die huidige toestand afhang, word dit 'n
toestand-afvoer-outomaat genoem. Die funksie H(•,•) van voormelde definisie kan nou
deur 'n afvoerfunksie G(*):cDa vervang word.
Voormelde outomate word "stogastiese sekwensiele masjiene" genoem en kan presies ten
opsigte van die volgende entiteite beskryf word [72]:
Die toestand van enige outomaat op enige tydstip n, voorgestel deur 0(n), is 'n element
van die eindige versameling (1) = 01, 05.1.
Die afvoer of aksie van 'n outomaat op 'n tydstip n, voorgestel deur a(n), is 'n element
van die eindige reeks a = { aboc2, a,.).
Agente wat leer 110
Die invoer van 'n outomaat op 'n tydstip n, voorgestel deur fl(n), is 'n element van die
versameling /3. Hierdie versameling kan of eindigend of oneindig wees; dus: 13 =
/32,..., fini } of = {(a,b)}.
Die oorgangsfunksie F(•,•) bepaal die toestand op die oomblik (n + 1) t.o.v. die
toestand en invoer op die oomblik n. 0(n + 1) = F[0(n), /3(n)], of F is 'n afbeelding van
(1), wat Of stogasties Of deterministies kan wees.
Die afvoerfunksie G(•) bepaal die afvoer van die outomatisasie op enige tydstip n ten
opsigte van die toestand op daardie oomblik. a(n) = G[0(n)], of G(•) is 'n afbeelding
0—> a, wat ook Of stogasties of deterministies kan wees.
Invoerversameling
P= (Ph P2,... Ani of {(a,b)}
Die toestand
0= NI, 02, 051
Uitvoer
a = {abct2,
Figuur 11.5: Die outomaat
Die outomaat in Figuur 11.5 kan nou aan die hand van die versameling
(013,a,13,F(0,•),G(*)} gedefinieer word.
Die outomaat neem 'n versameling van invoere en verskaf 'n versameling van aksies. Die
werking van die outomaat soos die waarnemingstyd n opeenvolgende waardes van die
versameling nie-negatiewe heelgetalle 0, 1, 2, ..., n aanneem, kan soos volg beskryf word:
Gegewe die oorspronklike toestand 0(0), word die aksie a(0) deur G(•) gedefinieer. Met
die kennis /3(0) van die invoer en die oorgangsfunksie F(•,•) kan die volgende toestand
0(1) bepaal word. As hierdie bewerkings rekursief uitgevoer word, kan die toestandreeks
en die aksiereeks vir enige gegewe invoersin gevind word. Die toestand en die aksie op
enige tydstip n hang slegs of van die toestand en die invoer gedurende die vorige tydstip
n-1, en van geen ander toestande of invoere in die verlede nie.
Die voorgaande bespreking het 'n stewige grondslag vir die versterkingsleer gel&
Bogenoemde beginsels kan selfs verder vir 'n verskeidenheid van toepassings uitgebrei
Agente wat leer 111
word. 'n Toepassing wat konsepte van bogenoemde teorie gebruik, is die Q-lerende
algoritme, wat in Hoofstuk 14 bespreek word.
Van die kwessies wat egter nog nie in die literatuur aangepak is om versterkingsleer
grootskaals te gebruik nie, sluit in [73]
leer van voorkeure (bevoordeling): Versterkte leer kan as 'n tipe soektog deur 'n
versameling moontlike beheerbeleide beskou word. As die soektog in 'n gepaste
rigting kan oorleun, kan die leerproses baie vinniger deurloop word as wat tans die
geval is. Een manier om 'n voorkeur in te bou, kan wees dat die agent meer interaksie
met ander agente kan he wat dieselfde tipe take uitvoer. Ander agente kan miskien as
rolmodelle, instrukteurs of kritici optree.
Vinnige, doeltreffende toekenning van krediet: Die toekenning van krediet is 'n
fundamentele probleem in die versterkteleer-benadering, nl. gegewe 'n beloning van
die omgewing, watter aksies was vir die generering van die beloning verantwoordelik?
As bykomende kennis oor die kousale struktuur (saak-oorsaak-verhoudings in die
omgewing) van die omgewing beskikbaar is, kan baie meer doeltreffende krediet-
toekenningsmeganismes ontwikkel word.
Veralgemening: 'n Versterkteleer-agent moet uit sy ondervindings kan veralgemeen.
As die totale toestandruimte so groot is dat daar nie 'n volledige soektog onderneem
kan word nie, dan moet die agent, gebaseer op vorige ondervinding, raaiskote omtrent
nuwe situasies waag.
Hierargiese leer: Meeste van die werk wat tot op hede op die gebied van versterkte
leer gedoen is, het gefokus op probleme wat, vergeleke met werklike robotiese stelsels,
in werklikheid nietig is. Die kombinatoriese moontlikhede van baie werklikewereld-
stelsels is so groot dat hulle die eenvoudigste versterkteleer-algoritmes tot stilstand kan
dwing. Hierargiese leer is 'n metode wat onberekenbare probleme in berekenbare
probleme verander. In die eerste plek word 'n komplekse taak in kleiner, eenvoudiger
take opgebreek wat wel doeltreffend opgelos kan word. Die kontrolebeleid wat geleer
word om elementere take op te los, kan nou geintegreer word om die oorspronklike
komplekse taak op te los.
Agente wat leer 112
Een van die probleme wat hierbo genoem word, nl. die aanleer van voorkeure, word in
die volgende paragraaf bespreek.
11.6 Voorkeure (Bevoordeling)
Histories gesproke, was die ontwikkeling van induktieweleer-algoritmes 'n tweeledige
proses:
Kies 'n voorstellingskema (bv. 'n besluitnemingsboom).
Vind 'n algoritme om instansies van die skema te vind wat met die versamelings van
opleidingsdata strook.
'n Nadeel van hierdie benadering is egter dat daar geen onderskeid tussen die spesifikasie
van die beoogde leergedrag van die algoritme en die implementering daarvan getref word
nie. Die voorkeur van die algoritme word dus implisiet aanvaar. Dit is gewoonlik 'n
neweproduk van die tweede stap. Dit is gevolglik moeilik om vooruit te bepaal of 'n
voorkeur vir 'n nuwe leerprobleem geskik sal wees at dan nie [74].
'n Groep navorsers [75] het egter met 'n ander prosedure vorendag gekom, nl.:
Aanvaar 'n voorkeur ten opsigte van 'n versameling hipoteses (kies 'n voorafbepaalde
waarskynlikheidsverdeling oor die ruimte).
Kies 'n skema om die hipoteses in die ruimte voor te stel.
Ontwerp 'n algoritme wat hierdie hipoteses implementeer.
Almuallim en Dietterich [74] het hierdie metode toegepas om die FOCUS-algoritme te
implementeer. Die probleem met die ID3-algoritme is egter dat dit nie baie goed presteer
in situasies waar daar groot brokke irrelevante inligting is nie. Almuallim en Dietterich
se benadering lewer egter 'n baie beter prestasie as lD3 in hierdie tipe gevalle, omdat
hulle van 'n voorkeur genaamd "MIN-FEATURES" gebruikmaak. Die MIN-
FEATURES-voorkeur verkies konsekwente hipoteses wat ten opsigte van so min
moontlike eienskappe van die inligting gedefinieer is.
Agente wat leer 113
11.7 Ander leerbenaderings
'n Paar ander interessante benaderings tot die leerprobleem wat nie in detail in hierdie
hoofstuk bespreek is nie, sluit in
neurale netwerke
evolusionere algoritmes
verduidelikingsgebaseerde logika.
Diepgaande navorsing is op die gebied van lerende neurale netwerke gedoen. Dorigo et
al.[45] het neurale netwerke as die leermodel vir hul "Autonomouse" gebruik.
Gewoonlik word 'n neurale netwerk saam met genetiese algoritmes gebruik. Die "brein"
in Autonomouse, genaamd ALECSYS ("A Learning Classifier System"), was 'n neurale
netwerk wat van genetiese algoritmes gebruikgemaak het.
Verduidelikingsgebaseerde leer is 'n tegniek wat gebruik word om die doeltreffendheid
van probleemoplossingstelsels te verhoog. 'n Verduidelikingsgebaseerde algoritme begin
met 'n afleiding wat in die loop van die probleemoplossingsproses gemaak is. Dit
verander dan die verduideliking om dit meer algemeen te maak en die veranderde
verduideliking word dan in 'n nuwe brokkie probleemoplossingskennis getransformeer
[76]. Hierdie benadering kan die doeltreffendheid van die leerproses dramaties verhoog,
omdat die agent nou reeds oor voorkennis beskik.
11.8 Samevatting
In hierdie hoofstuk het ons gesien hoe 'n agent lyk wat in staat is om te leer. Daar is in
die verband gekyk na induktiewe leer, asook na versterkingsleer. Daar is ook ondersoek
ingestel na die informasieteorie — 'n veld wat gebruik kan word om induktiewe leer te
ondersteun. Die mate waarin bevoordeling die leerproses kan vergemaklik, is ook in
studie geneem.
Agente wat leer 114
12. n Oorsig van bestaande lugredery- skeduleringstelsels
Wereldwyd is daar 'n magdom van skeduleringstelsels wat deur 'n groot aantal
verskaffers versprei word. Daar is skeduleringstelsels vir bemanning, versiening,
roete-ontwikkeling, ens. Die probleem met al hierdie stelsels is dat hulle geensins
geIntegreerd is nie. Elke pakket ontwikkel 'n oplossing wat optimaal (of bykans
optimaal) vir 'n spesifieke probleem is, maar nie vir die hele probleem van
lugrederyskedulering nie.
Die enigste stelsel wat 'n mate van integrasie van die verskillende stelsels bied, is die
Genesis-projek, wat as 'n spanpoging deur I.C.L. en die Suid-Afrikaanse Lugdiens
ontwikkel is. Aangesien die projek nog nie voltooi is nie, is dit nog baie moeilik om
die doeltreffendheid daarvan te evalueer [Genesis Kontrak].
Hierdie hoofstuk sal dus 'n oorsig gee van 'n paar van die beter skeduleringstelsels,
asook van die vordering wat daar reeds met die Genesis-projek gemaak is.
12.1 ICAPS
American Airlines Decision Technologies (AADT) het die ICAPS-model ontwikkel
wat hul kapasiteitbeplanningsafdeling help om vliegtuigroeterings te skep en te
bestuur [77]. American Airlines het hierdie proses oorspronklik vanaf hul hoofraam
bestuur. Die lugredery het toe besluit om sy rekenaarfasiliteite of te skaal van
hooframe na die van 'n verspreidewerkstasie-omgewing. Die ICAPS-model is toe
ontwerp om hiervoor voorsiening te maak. Die program prosesseer meer as 90
verskillende skedules vir American Airlines se 40 verskillende vliegtuigtipes. Hierdie
program het maandelikse besparings van meer as $40 000 meegebring.
Voor die koms van ICAPS is die skedulering op 'n hoofraamstelsel gedoen. Die
skedule is op American Airlines se IBM 3090-hoofraam in 'n IMS-databasis gestoor.
Toe American Airlines besluit het om vir die skep van vliegtuigroeterings van sy
hoofraam ontslae te raak, is besluit om die proses vanaf 'n lokale-area-netwerk te
'n Oorsig van bestaande lugredery-skeduleringstelsels 115
bestuur. Die stelsel is op Unix-masjiene geimplementeer en gebruik 'n
vierdegenerasie-relasionele databasis (Oracle) om die skedules en verwante inligting
te stoor. Die programmeringstale is die van C en Fortran. Die gebruikerskoppelvlak
is "X-Windows"-gebaseer. Die gebruiker het dus 'n goeie grafiesegebruiker-
koppelvlak.
Die skeduleringsevaluasiegedeelte van ICAPS help die analis om sowel die
vlugskedule as die vliegtuigroeterings te manipuleer. Die vliegtuigroeterings word
met of die eerste-in-eerste-uit-benadering of die laaste-in-eerste-uit-benadering
gegenereer. 'n Aantal haalbaarheidtoetse stel die analis in staat om 'n skedule aan die
hand van 'n aantal beperkings en ander parameters te evalueer. Hierdie toetse sluit in
grondtydtoetse, versieningsparameters, hekbeperkings, ens. 'n Lys van probleme word
gegee, en soms ook moontlike oplossings.
Die optimering van die skedule kan nou m.b.v. 'n aantal operasionele
navorsingsmodelle gedoen word. Hierdie modelle sluit in die "Fleet Assignment
Model", die "Through-Assignment Model", die "Schedule Balancing Model" en die
"Aircraft Routing Model".
Die probleem met hierdie stelsel is egter dat dit optimale skedules vir 'n spesifieke
probleem gee; dit bereken by. optimale roeterings vir die vliegtuie, maar dit ken nie
bemanning toe nie. Die vliegtuigroeterings kan by. optimaal wees, maar die skedule
kan nie gevlieg word nie omdat daar nie genoeg bemanning is nie.
12.2 Die COSYTEC-reeks van produkte
Die COS YTEC-maatskappy het 'n reeks produkte op die mark gebring wat
skedulering in 'n lugredery vergemaklik. Al hierdie produkte maak van die CHIP-
biblioteek gebruik, wat fasiliteite verskaf om beperkingslogika-algoritmes te gebruik.
12.2.1 CHIP
CHIP ("Constraint Handling in Prolog") is 'n beperkingslogika-programmeertaal wat
ontwerp is om beperkingsoektogprobleme in 'n baie kort tydperk op te los en steeds
'n Oorsig van bestaande lugredery-skeduleringstelsels 116
goeie resultate te lewer. Hierdie pakket kombineer Prolog met die
beperkingsoplossingstegnieke. Dit brei die konvensionele Prolog-tipe logika uit deur
die volgende drie nuwe konsepte in te bou:
Eindige domeins.
Boolese veranderlikes.
Redle veranderlikes.
Vir elkeen van voormelde gebruik CHIP gespesialiseerde tegnieke, soos by.
konsekwentheidstoetse vir eindige domeine, vergelykingoplossings vir Boolese
veranderlikes en simpleksmetodes vir reele veranderlikes [78]. CHIP is op 'n
kombinasie van kunsmatige intelligensie, operasionele navorsing en diskrete
wiskunde gebaseer. Die eindige domein is die mees fundamentele deel van CHIP. 'n
Domeinveranderlike is 'n veranderlike wat oor 'n eindige versameling van heelgetalle
strek. Van die beperkings in hierdie domein sluit in rekeningkundige beperkings,
simboliese beperkings en "branch-and-bound"-soektogte [79].
CHIP is meer 'n programmeertaal as wat dit 'n lugrederyskeduleringsproduk is. Dit
word egter wyd gebruik om beperkingsprobleme mee op te los. Beperkingsprobleme
sluit skeduleringsprobleme in, waar daar by. onderhewig aan bepaalde beperkings
geskeduleer moet word.
12.2.2 DAYSY
Die koste van bemanning maak 'n groot deel van die operasionele koste van 'n
lugredery uit. Bemarkingsbeplanners poog om hul beskikbare bemanning baie meer
doeltreffend te gebruik. Onvoorspelbare gebeurtenisse veroorsaak egter altyd
probleme met die skedulering van bemanning.
DAYSY herbou die roeterings en rooster met behulp van beperkingslogika-
tegnologie. As daar 'n onvoorsiene gebeurtenis plaasvind, word die rooster vir hierdie
probleem aangepas deur al die fisiese en regsbeperkings van die bemanning in ag te
neem. Die stelsel poog ook om kostefaktore soos bystandbemanningslede en
bykomende oornagverblyf te minimeer.
'n Oorsig van bestaande lugredery-skeduleringstelsels 117
Gebeurtenisse/ Data
Kommunikasie- module/In
Reel integreerder
Gebeurtenis- hanteerder
y
Oplosser
Navraag- genereerder
Kommunikasie- module/Uit
Boodskappe/Data A
Die DAYSY-pakket word reeds sedert 1996 deur Lufthansa se operasionele
bemanningsafdeling gebruik. Elke beplanner gebruik die DAYSY-pakket, wat alle
aspekte van bemanningskedulering en -administrasie behartig. Die stelsel is ook ten
voile geintegreer met die hoofraamstelsels en die stelsels wat die bemanningsrooster
genereer. DAYSY win inligting uit die roeteringsgeneratorpakket en die
bemanningstoekenningpakket van Lufthansa in. DAYSY is deur Lufthansa AG, die
Sema-groep en die Universiteit van Patras as deel van die ESPRIT-projek nommer
8402 ontwikkel [80].
Figuur 12.1 hieronder bied 'n diagrammatiese voorstelling van die DAYSY-stelsel:
Figuur 12.1: Uitleg van DAYSY
12.3 Movement Control System (MCS)
Hierdie stelsel is deur ICL vir die Cathay Pacific-lugredery ontwikkel [81]. Die doel
van 'n bewegingskontrolestelsel is om die operasionele skeduleerder to wys waar elke
vliegtuig van die lugredery horn op 'n gegewe oomblik bevind. Hierdie stelsel maak
die hart van die operasionele skeduleringsafdeling in 'n lugredery uit.
Die MCS-stelsel wys al die vlugte in die gepubliseerde rooster. Die operasionele
afdeling oefen egter slegs oor vlugte in die "sewedag"-periode beheer uit. Die
"sewedag"-periode verwys na die tydperk vanaf die teenswoordige dag plus die
opeenvolgende ses dae. Die MCS-stelsel maak van 'n grafiese koppelvlak gebruik,
sodat die skeduleerder maklik in een oogopslag die hele dag se vlugte kan sien. Daar
is egter baie vlugte wat vertoon moet word en daarom maak die stelsel van 'n
dubbelskermsisteem gebruik. Die dubbelskermsisteem vertoon die helfte van die dag
'n Oorsig van bestaande lugredery-skeduleringstelsels 118
se vlugte op die een skerm en die ander helfte op die ander skerm. Die grafika kan
ook geskaleer word, sodat meer of minder vlugte vertoon word. Op die grootste skaal
kan 'n hele week se vlugte vertoon word.
Die doel van die MCS is om operasionele skeduleerders in staat te stel om maklik die
vliegtuig se werklike opstyg- en landingstyd te verander. Sodra een skeduleerder die
detail van 'n vlug verander, word die verandering na al die ander gebruikers
deurgegee. As 'n skeduleerder 'n verandering op sy eie skerm aanbring, word die
skerms van al die ander gebruikers bygewerk.
Hierdie stelsel maak ook voorsiening vir die versending van telekse. 'n Lugredery se
hoofkommunikasiemiddel is steeds die teleks. As 'n vliegtuig by die vertreklughawe
met vyf minute vertraag word, moet 'n teleks aan die aankomslughawe gestuur word
om aan te dui dat die vliegtuig vyf minute laat sal wees. Om telekse te versend, moet
daar met die hoofraam gekommunikeer word. Die stelsel het die
kommunikasiekoppelvlakke ingebou om dit te bewerkstellig.
Die MCS het ook 'n herskeduleerder ingebou wat die skeduleerder kan aktiveer as die
vertraging van een vlug 'n domino-effek op die ander vlugte het. Hierdie
herskeduleerder herskeduleer dan die vlugte om die minimum uitwerking op die
passasiers te he.
Die MCS-stelsel gebruik UNIX as bedryfstelsel en Ingres as databasis. Die
programmering is in Prolog en C gedoen. Die grafikastandaard wat gebruik is, is
Motif [81].
12.4 Die GENESIS-reeks van produkte
"Genesis" is 'n projek wat deur die S.A.L. en ICL van stapel gestuur is om 'n
geIntegreerde skeduleringsisteem te skep. Hierdie projek is tot op hede nog die
enigste van sy soort in die wereld. Daar word met hierdie projek beoog om
bemannings-, versienings- en operasionele skedulering te integreer.
'n Oorsig van bestaande lugredery-skeduleringstelsels 119
Die projek maak gebruik van die Unix- (Solaris-) bedryfstelsel, en die databasis wat
gebruik word, is die van Ingres. Data word uitgeruil met die DB2-databasis, wat op
die hoofraam is, deur middel van die DIM- ("Data Interchange Module") pakket.
"Genesis" maak van 'n klientbedienerargitektuur ("client-server architecture")
gebruik. Die databasisbediener is 'n SPARC 2000-masjien en die toepassingbedieners
is die klient se eie werkstasie, of 'n SPARC 10 of 'n 80486 DX2 persoonlike rekenaar.
Die projek is in 1989 van stapel gestuur en die totale werkjare wat daaraan gewy is,
was 150. Die stelsel maak van 60 terminate en ongeveer 120 gebruikers gebruik. In
totaal is daar 3200 programmodules en 1.3 miljoen lyne kode [82].
Die doelstellings van die Genesis-projek is soos volg:
Buigsaamheid. Die stelsel moet die S.A.L. help om gedurende veranderende
marktoestande vinnig op te tree.
Die minimering van die impak op die passasier wanneer daar onvoorsiene
onderbrekings in die skedule voorkom.
Die minimering van die koste van die skedule.
Die stelsel moet die S.A.L. in staat stel om steeds meer klientgedrewe, eerder as
hulpbrongedrewe, te wees.
Die verskaffing van ekspert besluitsteunstelsels om operasionele probleme te help
oplos.
Om integrasie tussen beplanning- en operasionele stelsels te bewerkstellig.
Om 'n enkele bron van die S.A.L. se skeduleringsinligting daar te stel.
Die verhoging van die bemanningslede se lewensgehalte deur voorkeur- en billike
skedulering. Met "billike skedulering" word bedoel dat een bemanningslid by. nie
baie meer vlugte as 'n ander mag hanteer nie.
Die lys van stelsels wat hier verskaf word, is egter nie die volledige reeks produkte
wat beskikbaar is nie. Die produkte wat hier genoem word, vorm wet die ruggraat van
die Genesis-projek. Stelsels wat nie genoem word nie, sluit stelsels in soos CLS
("Crew Leave System"), RSS ("Renewal Scheduling System"), ens.
'n Oorsig van bestaande lugredery-skeduleringstelsels 420
12.4.1 SPS ("Schedule Planning System")
Hierdie stelsel word gebruik om die aanvanklike vlugskedule te skep. Hierdie stelsel
versprei die vlugrooster vir hulpbrontoekenning aan die ander Genesis-stelsels.
Hierdie stelsel versprei ook die skedule aan die buitewereld.
Hierdie stelsel stel die skeduleerder in staat om 'n aantal skedules te ontwerp. Die
verskillende stelsels kyk dan water een van hierdie planne die haalbaarste vir elke
afdeling is. Een van hierdie ontwerpskedules word dan deur al die belanghebbende
afdelings goedgekeur, waana die rooster na die res van die wereld versprei word.
Scenarios word dus gebruik om die verskillende moontlikhede van roosters te
ondersoek. Om konsensus tussen al die betrokke afdelings in die lugredery te bereik,
word die veto-meganisme gebruik.
SPS word deur die passasiersgetalvooruitskouings gedryf. Hierdie data word deur die
PFS ("Passenger Forecasting System") versamel. SPS bestuur ook die hulpbronne
wat die rooster nodig het. As 'n vliegtuig op 'n lughawe land, moet 'n hek aan horn
toegeken wees. SPS stuur telekse aan die betrokke lughawens om vir hekke te vra
sodra die rooster goedgekeur is. SPS kan ook roosters vergelyk om analiste te help
om te sien hoe een rooster van 'n ander een verskil. Dele van 'n rooster kan onttrek
word sodat analiste slegs op een deel van 'n rooster kan werk, sonder om die res van
die rooster te beInvloed.
SPS maak van eerste-in-eerste-uit- en laaste-in-eerste-uit-algoritmes gebruik om die
roeterings van die vliegtuie te genereer. SPS poog dan om die tyd tussen versienings
binne die reels en regulasies van versiening te maksimeer [83].
12.4.2 PFS ("Passenger Forecasting System")
Hierdie stelsel verskaf 'n passasiersvooruitskouing wat die heersende ekonomiese
neigings in ag neem. Hierdie vooruitskouing dien as een van die invoere vir die SPS-
stelsel. PFS is in die SAS-programmeringstaal geskryf en op 'n Pentium persoonlike
rekenaar geImplementeer. Die data word via die lokale netwerk aan die SPS-stelsel
verskaf. Die belangrikste vooruitskouingstegniek wat die stelsel gebruik, is die
Arima- model wat reeds in Hoofstuk 4 bespreek is [15].
'n Oorsig van bestaande lugredery-skeduleringstelsels 121
12.4.3 MCS ("Movement Control System")
Hierdie stelsel is gebaseer op die MCS van Cathay Pacific wat in paragraaf 4 van
hierdie hoofstuk bespreek is. Hierdie stelsel stel die operasionele skeduleerders in
staat om vlugte aktief teenoor die tydlyn te monitor. Operasionele kontroleurs word
ook van 'n aftellys voorsien. Die aftellys bevat die dinge wat in volgorde gedoen moet
word voordat die vliegtuig opstyg, by. trek vliegtuig op laaiblad, laai kos en laai
bagasie.
Die stelsel beskik ook oor 'n intelligente herskeduleerder. Die herskeduleerder maak
van 'n besluitnemingsboom gebruik om oplossings vir bepaalde probleme te vind. Die
skeduleerder kan probleme met of die rooster self of met die intelligente
herskeduleerder oplos.
Wat die intelligente herskeduleerder baie meer buigsaam as by. die MCS van Cathay
Pacific maak, is die feit dat die heuristieke taal uiters buigsaam is. Die taal lyk baie
sons gewone Engels [84]. Die voordeel hiervan is dat operasionele skeduleerders nou
op 'n maklike manier self hul kennis in die herskeduleerder kan invoer. 'n Ander
voordeel hiervan is dat die gebruiker nou by die ontwikkeling van die stelsel betrek
word. Die herskeduleerder sal net so goed presteer as wat die heuristieke horn toelaat.
Die gebruikers is nou regstreeks verantwoordelik vir die gehalte van die oplossings
wat gegenereer word.
12.4.4 CRS ("Crew Rostering System")
Hierdie stelsel maak die sentrale deel van al die bestaande bemanningstelsels uit. Die
stelsel het as invoer al die verskillende aktiwiteite wat bemanning kan uitvoer. Die
stelsel poog verder om die aktiwiteite eweredig tussen al die bemanningslede te
verdeel. Die rooster moet egter nog betroubaar uitgevoer kan word.
Die toekenning van bemanning word op basies drie maniere gedoen [85]:
Ken eers al die tydrowendste take aan die bemanning toe.
Ken die take in tydvolgorde aan die bemanning toe.
Ken soveel moontlike take aan elke bemanningslid toe.
'n Oorsig van bestaande lugredery-skeduleringstelsels 122
Die derde keuse sal by. uitgeoefen word as daar soveel take is dat die bemanning byna
te min is.
12.4.5 CPS ("Crew Pairing System")
Hierdie stelsel poog om roeterings te skep wat aan die regs-, industriele en
maatskappyregulasies voldoen. Hierdie roeterings moet ook die totale koste van die
roeterings minimeer. Die stelsel genereer roeterings vir sowel die kapteine en
vlugingenieurs as vir die kelners. 'n Roetering stel die kortste opeenvolging van
vlugte voor wat aan dieselfde groep bemanning toegeken kan word. 'n Roetering begin
en eindig by dieselfde basisstasie. Hierdie stelsel genereer ook multivlak-roeterings,
wat beteken dat 'n roetering uit meer as een vliegtuigtipe bestaan. Die stelsel genereer
ook statistiek oor die roeterings self en die koste daaraan verbonde. Gedetailleerde,
asook oorsigtelike verslae word vir sowel die hotel- sowel as die vervoervereistes na
en van die lughawe gegenereer [86].
Roeterings word, soos in 'n vorige hoofstuk bespreek, deur die eerste-in-eerste-uit-
beginsel gegenereer. Die roeterings wat met behulp van die beginsel gegenereer word,
word nou met behulp van 'n genetiese algoritme verfyn. Hierdie genetiese algoritme
maak van gesimuleerdestolling-tegnieke ("simulated-annealing techniques") gebruik
[87]. Hierdie oplossing kombineer die deterministiese eerste-in-eerste-uit-beginsel
met die patroonvergelykingsvaardighede van die genetiese algoritme en die
globalesoektog eienskappe van die gesimuleerdestolling-benadering ("simulated-
annealing approach").
12.5 Probleme met bestaande stelsels
In die vorige paragraaf het ons gesien dat daar 'n verskeidenheid van lugredery-
skeduleringsprodukte bestaan. Baie van hierdie produkte is uiters geskik vir 'n
spesifieke probleem, maar nie vir die skeduleringsprobleem in sy geheel nie. Die
"Genesis"-reeks van produkte poog om hierdie "Heilige Graal" van skedulering, nl.
algemene skedulering, te vind.
'n Oorsig van bestaande lugredery-skeduleringstelsels 123
Geeneen van hierdie stelsels maak egter vir bemarkinggedrewe skedulering
voorsiening nie. Dit beteken dat die passasiers se behoeftes nie regstreeks by die
skeduleringsproses ingesluit word nie. Die oplossing van die skeduleringsprobleem in
hierdie navorsing maak egter wel vir bemarkinggedrewe skedulering voorsiening.
Nog 'n nadeel van al voormelde stelsels is dat hulle ook nie inkrementeel die
voorkeure van die skeduleerder of bemanning aanleer nie. Al die kennis in die stelsels
is a priori, m.a.w. kennis wat in die program vasgele is. In die oplossing van sowel
die bemanningskeduleringsprobleem as die operasionele skeduleringsprobleem wat in
hierdie navorsing voorgestel word, leer die stelsel aan wat die skeduleerders en die
bemanning se voorkeure is. Die kennis in die voorgestelde oplossings is dus a priori,
sowel as a posteriori (kennis danksy waarneming verwerf) [88].
12.6 Samevatting
In hierdie hoofstuk is die soeklig gewerp op verskillende skeduleringstelsels wat
wereldwyd gebruik word. Spesiale aandag is egter aan die "Genesis"-projek geskenk,
aangesien dit die enigste stelsel is wat ontwerp is met die spesifieke doel om 'n
geIntegreerde oplossing te vind. In hierdie hoofstuk is ook getoon dat daar 'n hele
aantal tegnieke gebruik word om te skeduleer, by. operasionele navorsingstegnieke,
genetiese algoritmes, besluitnemingsbome, ens.
'n Oorsig van bestaande lugredery-skeduleringstelsels 124
Afdeling C
Hierdie afdeling bespreek die oplossing van die lugrederyskeduleringsprobleem.
Hoofstuk 13 bevat 'n bespreking van die wyse waarop bemarkinggedrewe agente
ingespan kan word om met 'n rooster vorendag te kom.
Hoofstuk 14 bespreek verskillende maniere waarop agente gebruik kan word om 'n
rooster te beman.
Hoofstuk 15 bespreek wyses waarop agente operasionele skeduleerders kan bystaan
om operasioneleskedulering-probleme te oorbrug.
Hoofstuk 16 implementeer die metodes wat in Hoofstuk 15 genoem is. Hierdie
hoofstuk bevat hierbenewens 'n beskrywing van 'n prototipe wat ontwikkel is om aan
te toon hoe lerende algoritmes in die operasioneleskedulering-arena gebruik kan word.
Hoofstuk 17 implementeer die metodes wat in Hoofstuk 13 gelys is om die
bemarkingskeduleringsprobleem mee op te los. In hierdie hoofstuk word daar ook 'n
beskrywing gegee van 'n prototipe wat ontwikkel is om die probleem op te los.
125
13. 'n Agentgebaseerde oplossing vir bemarldnggedrewe skedulering
In hierdie hoofstuk gaan ons die teorie wat in Afdeling B bespreek is, toepas om die
bemarkinggedrewe skeduleringsprobleem mee op te los. Die bemarkinggedrewe
skeduleringsprobleem is naamlik volledig in Hoofstuk 4 bespreek. Ons sal baie van
die teorie wat in Hoofstuk 10 bespreek is, nl. samewerking en kommunikasie tussen
agente, gebruik om 'n oplossing vir die bemarkinggedrewe skeduleringsprobleem te
vind. Die spesifieke samewerkingsprotokol wat gebruik sal word, is die
kontraknetwerk.
13.1 Komponente van 'n skeduleringsagent
In hoofstuk 9 het ons gesien dat agente rekenaarsurrogate vir persone of prosesse is.
Hierdie persoon of proses voorsien in 'n behoefte van die samelewing. Die
surrogaatentiteit voer besluitnemingsaksies uit wat met die van die mens ooreenstem.
Ons kan so 'n surrogaat met genoeg persona van 'n gebruiker toerus om 'n duidelik
uiteengesette taak te verrig. Die agent funksioneer binne die beperkings van 'n
gegewe informasieruimte. Die informasieruimte in hierdie geval is die kennisbasisse
wat beskikbaar is vir die agent om sy rasionele besluite op te baseer.
'n Agent bestaan uit die kennis wat sy funksies dryf. Hierdie kennis word ten opsigte
van doelwitte en prosesse beskryf. Die doelwit is die bestaansrede van die agent,
terwyl die prosesse die funksies is wat beskryf hoe daardie doelwit bereik gaan word.
'n Agent beskik dus oor die volgende:
'n Eienaar.
'n Outeur.
'n Ontstaandatum.
'n Rekening.
Doelwitte.
'n Onderwerpsbeskrywing.
Responstyd.
'n Agentgebaseerde oplossing vir bemarkinggedrewe skedulering 126
e Ondersteuningsinligting.
Hierdie eienskappe word volledig in Hoofstuk 8 in die afdeling "Komponente van 'n
agent" bespreek. Dit word egter hier genoem omdat dit die grondslag van hierdie hele
hoofstuk vorm.
13.2 Behoeftegedrewe skedulering
Elke lugredery word deur die behoeftes van die publiek gedryf. Die doel van die
bemarkingskeduleerder is om 'n vlugrooster op te stel wat in al hierdie behoeftes sal
voorsien. Dit moet egter ook haalbaar wees om hierdie netwerk te vlieg. Gewoonlik
word 'n netwerk opgestel wat in die behoeftes van die publiek voorsien en later word
dit verfyn deur dit te verander om aan die operasionele vereistes (bv. instandhoudings-
en operasionele faktore) van die lugredery te voldoen.
Besluite wat die menslike skeduleerder gewoonlik neem, is om te besluit hoeveel keer
'n vlug 'n sekere roete moet vlieg, watter tye van die dag die vlug moet vertrek en
watter tipe vliegtuig vir elke roete gebruik moet word. Figuur 13.1 toon al die roetes
aan wat in 'n gegewe geografiese gebied beskikbaar is. Wat nie aangetoon word nie,
is dat daar ook 'n regstreekse roete vanaf CPT na JNB is en dat die vliegtuig nie op
BFN aandoen nie. Figuur 13.2 toon die vraag vanaf Johannesburg na al die ander
bestemmings gedurende sekere tye van die dag aan. Die skeduleerder gebruik nou die
roetenetwerk (Figuur 13.1) en die vraaggrafiek (Figuur 13.2) om te bepaal wanneer
passasiers graag sou wou vlieg.
Figuur 13.2 stel die grafiek voor wat die vraag vanaf JHB na drie ander stasies aandui.
Uit hierdie grafiek kan die skeduleerder nou aflei dat dit miskien nie lewensvatbaar
sou wees om 06:00 'n vlug vanaf JHB na BFN te skeduleer nie, aangesien die vraag na
so 'n vlug eenvoudig te klein is. Dit maak wel sin om 'n vlug om 08:00 vanaf JHB na
CPT te skeduleer. Die skeduleerder moet dus besluit hoeveel van die vraag by of sy
wil bevredig, want die lugredery beskik nie oor oneindige hulpbronne nie. Die
skeduleerder poog gewoonlik om al die vlugte so vol moontlik te kry (maksimering
van die laaifaktor).
'n Agentgebaseerde oplossing vir bemarkinggedrewe skedulering 127
Figuur 13.1: Roetenetwerk
Vraag vanaf JHB na ander bestemmings
El DBN
El CPT
0 BFN
08:00 09:00 10:00
Tyd van die dag
Figuur 13.2: Vraaggrafiek
In Tabel 13.1 hieronder word aangetoon watter vliegtuie vir die onderskeie sektore
verkies word. 'n Sektor bestaan uit 'n vertrek- en 'n aankomslughawepaar. Dit is nie
moontlik om met 'n klein Boeing 737 vanaf Johannesburg na Londen to vlieg nie,
aangesien die vliegtuig eenvoudig nie genoeg brandstof vir so 'n lang vlug kan inneem
nie. 'n Vliegtuig van die Boeing 747-kaliber sal dus eerder gebruik word. 'n Ander
faktor wat bier in ag geneem moet word, is dat slegs tipes vliegtuie oor water heen
mag vlieg, aangesien hulle met noodsaaklike reddingstoerusting toegerus is.
'n Agentgebaseerde oplossing vir bemarkinggedrewe skedulering 128
Tabel 13.1: Sektore en vlie tui ti es JHB CPT BFN NYC LHR
JHB B737
B747
B737 B747
B747A
B747
B747A
CPT B737
B747
B737 B747
B747A
B747A
BFN B737 B737 B747
B747A
B747A
NYC B747
B747A
B747
B747A
B747
B747A
B747
LHR B747
B747A
B747A B747A B747
Die skeduleerder gebruik so 'n tabel om te bepaal watter vliegtuig vir watter vlug
gebruik moet word.
13.3 Dinamika van skeduleringsagente
Om die skeduleringsproses te outomatiseer, gaan daar van intelligente agente
gebruikgemaak word. Hierdie agente gaan naamlik vir die skedulering by elke punt in
die voorgestelde netwerk verantwoordelik wees. Die agent by elke punt gaan poog
om sy boetes te minimeer. "Boetes" kan beskryf word as dit wat in 'n skedule nadelig
is, by. onderbenutte vliegtuie, vraag waaraan nie voldoen word nie, ens. Die agente
gaan dan met mekaar meeding vir hulpbronne. Met die regte hulpbronne kan die
boetes geminimeer word. Agente in hierdie netwerk kommunikeer d.m.v. 'n
kommunikasietaal met mekaar.
13.3.1 Struktuur van 'n skeduleringsagent
Vervolgens gaan 'n agent aan die hand van die eienskappe in Hoofstuk 9 gelys,
beskryf word:
Eienaar: Die eienaar van die agent is die persoon wat die agent oproep.
Outeur: Die outeur van die skeduleringsagent is die programmeerder wat vir die
stelsel verantwoordelik is.
'n Agentgebaseerde oplossing vir bemarkinggedrewe skedulering 129
Gebruikers-/voorkeur
Gedrags- model
Ander agente (skedulerings-agente)
Doel: Minimeer boetes. NETWERK Wat: Minimeer vraag.
Minimeer vliegtuie wat nie gebruik word nie. Minimeer lee sitplekke. GEBRUIKER
Ontstaandatum: Datum waarop en tyd wanneer die skeduleringsagent opgeroep is.
Rekening: Word nie geImplementeer nie. Daar is nie op die oomblik
kommunikasie met ander stelsels buite die lugredery nie en daarom is dit nie
noodsaaklik dat daar 'n rekening vir elke agent gehou sal word nie.
Doelwit: Minimeer boetes.
Onderwerpsbeskrywing: Drie tipes boetes is vir die doeleindes van hierdie projek
geklentifiseer, nl.: 'n boete vir elke passasier wat nie op 'n vlug gelaai word nie en
'n boete vir elke ongebruikte vliegtuig.
Responstyd: By die implementering word die agente d.m.v. 'n tydpuls
gesinchroniseer. Die agente moet binne die bestek van die tydpuls 'n resultaat
lewer. By die implementering word daar elke sekonde 'n tydpuls gegenereer. Die
agent moet dus binne een sekonde met 'n antwoord vorendag kom, sodat die ander
agente hierdie resultaat of uitkoms ten opsigte van die volgende tydpuls kan
gebruik.
Ondersteuningsinligting: Daar word gepoog om agente to skep wat baie min
"bewegende" komponente het. Daar sal meer op die omgewing waarin die agent
werk, gesteun word. 'n Voorbeeld van ondersteuningsdienste of -inligting wat deur
die omgewing verskaf word, is kommunikasieprotokolle.
Figuur 13.3: Komponente van 'n skeduleringsagent
Figuur 13.3 toon die komponente van die skeduleringsagent aan. Die figuur toon ook
aan watter doelwitte die agent wil bereik.
'n Agentgebaseerde oplossing vir bemarkinggedrewe skedulering 130
13.4 Implementering
Die kommunikasiemodel wat ons gaan gebruik, is die kontraknetwerk ("Contract
Net"). Hierdie paragraaf is 'n herhaling van konsepte wat reeds in Hoofstuk 10
behandel is. Die kontraknetwerkprotokol is die bekendste en belangrikste protokol vir
multi-agent-stelsels. Ons het dus 'n stelsel met 'n aantal agente. Een van die agente
het 'n taak om te verrig. In ons skeduleringsvoorbeeld behels die taak om boetes te
minimeer. Die agent kan nie hierdie taak alleen en in isolasie verrig nie. Die taak
word dus in kleiner take opgebreek en aan 'n ander agent toegeken. Die agent wat
graag sy boetes wil minimeer, word nou die "bestuurder" genoem. Die bestuurder rig
'n uitnodiging aan die ander agente om vir hierdie taak te bie. Die ander agente maak
'n bod as hulle die taak kan en wil uitvoer. Die bestuurder evalueer nou al die botte en
kies een. Die bestuurder gee nou aan die agent op wie die bod toegeslaan is (die
kontrakteur) opdrag om die taak te verrig. Die kontrakteur verrig dan die taak en gee
aan die bestuurder terugvoering oor die uitkoms daarvan.
Om bogenoemde na skedulering in 'n lugredery deur te trek, kan die bestuurder as 'n
lughawe, by. Kaapstad, beskou word. Die Kaapstad-agent moet nou poog om sowel 'n
hulpbron (vliegtuig) in die hande te kry om sodoende soveel moontlik passasiers op te
laai as om te verseker dat die vliegtuig nie te leeg is nie. Die kontrakteur bie nou met
sy hulpbronne (vliegtuie). Die bestuurder kies nou die vliegtuigtipe wat ten beste by
sy vraagvektor sal pas. In hierdie sin probeer sowel die bestuurder as die kontrakteur
hul boetes minimeer; die bestuurder om al sy passasiers vervoer te bied, asook om die
aantal lee sitplekke op die vliegtuig te minimeer (hoe laaifaktor), terwyl die
kontrakteur probeer om soveel moontlik van sy ekstra hulpbronne ontslae te raak,
asook om aan soveel moontlik passasiers vervoer te bied.
13.4.1 Voorbeeld
Dit sou miskien die maklikste wees om die model aan die hand van 'n voorbeeld te
illustreer. In die voorbeeld is daar slegs drie agente, nl. "Kaapstad", "Durban" en
"Johannesburg". Hierdie agente kom met die werklike lughawens ooreen. Die
Johannesburg-lughawe sal as basis optree (al die vliegtuie sal oorspronklik
daarvandaan vertrek).
'n Agentgebaseerde oplossing vir bemarkinggedrewe skedulering 131
Die volgende drie tabelle toon die vraag vanaf een lughawe na 'n ander op 'n gegewe
tydstip aan. Die linkerkantse vertikale kolom dui die vertreklughawe aan en die ander
vertikale kolomme dui die bestemmings aan. Die snypunt tussen die vertrek- en
aankomslughawe dui die aantal passasiers aan.
Die vraag gedurende 'n klein gedeelte van die dag sien soos volg daar uit:
07:00
Johannesburg Kaapstad Durban
Johannesburg 0 100 50
Kaapstad 150 0 75
Durban 80 80 0
08:00
Johannesburg Kaapstad Durban
Johannesburg 0 120 70
Kaapstad 170 0 105
Durban 100 100 0
09:00
Johannesburg Kaapstad Durban
Johannesburg 0 110 60
Kaapstad 150 0 95
Durban 90 90 0
Vanaf 12:00 die vorige nag is daar die volgende vliegtuie op Johannesburg-lughawe
beskikbaar:
1 X 200-sitplek
2 X 150-sitplek
2 X 100-sitplek
1 X 50-sitplek.
'n Agentgebaseerde oplossing vir bemarkinggedrewe skedulering 132
Vir die doeleindes van hierdie studie word aanvaar dat al die vliegtuie ewe vinnig
vlieg en dat die vlugtyd tussen die stede telkens een uur lank duur.
Elke agent poog eers om sy eie boetes te minimeer. Nadat die boetes uit eie
hulpbronne geminimeer is, gaan die agent na die mark om die res te minimeer. 'n
Agent gaan ook nie van hulpbronne (vliegtuie) gebruikmaak as hulle nie 'n laaifaktor
van minstens 60% kan behaal nie. Dit verseker dat vliegtuie nie met lee sitplekke
vlieg nie.
In ons voorbeeld skeduleer al die agente eers die beskikbare hulpbonne (sewe uur).
Die enigste agent wat oor hulpbronne beskik, is Johannesburg. Die volgende vlugte
word dan om 07:00 geskeduleer:
JHB-CPT (100)
JHB-DBN (50)
Die getal in hakies dui die getal sitplekke op die vliegtuig aan.
Geen ander lughawe beskik oor hulpbronne nie. Hulle rig nou 'n uitnodiging aan al
die ander agente om te bie. Die tydstip waarvoor gebie word, is 06:00, want 'n vlug
tussen die lughawens duur een uur lank. Nadat Johannesburg sy vlugte vir 07:00
geskeduleer het, kan Johannesburg nou bie om na ander bestemmings te vlieg, om
sodoende van hierdie ekstra hulpbronne ontslae te raak. Johannesburg bie nou met die
volgende vliegtuie:
150 : want daar is 'n 07:00-vlug vanaf CPT na JHB.
80 : want daar is 'n 07:00-vlug vanaf DBN na JHB.
80 : want daar is 'n 07:00-vlug vanaf DBN na CPT.
75 : want daar is 'n 07:00-vlug vanaf CPT na DBN.
Die Kaapstad-agent ken die vlug aan die 150 sitplek-vliegtuig toe, terwyl Durban twee
vlugte aan 'n 100 sitplek-vliegtuig en 'n 50 sitplek-vliegtuig van Johannesburg toeken.
Die vlugte wat dan vir 06:00 geskeduleer word, is soos volg:
JHB-CPT (150)
JHB-DBN (100)
JHB-DBN (50).
'n Agentgebaseerde oplossing vir bemarkinggedrewe skedulering 133
Wanneer die agente klaar gebie het, word die oorblywende vliegtuie vir 07:00
geskeduleer, nl.:
CPT-JHB (150)
DBN-JHB (100)
DBN-CPT (50).
Hierdie hele proses word nou weer om 08:00 herhaal. Soms is dit egter nie nodig om
vir vlugte te bie nie, aangesien agente uit eie hulpbronne vlugte kan skeduleer.
In hierdie afdeling het ons nie die fisiese formaat van die boodskappe wat rondgestuur
word, gedefinieer nie. Dit sal in Hoofstuk 17 gedoen word, waar daar meer in
besonderhede na die implementering van die oplossing gekyk sal word.
13.5 Samevatting
In hierdie hoofstuk het ons gesien hoe die kontraknetwerkteorie toegepas is ten einde
die bemarkinggedrewe skeduleringsprobleem op te los. Daar is ook 'n voorbeeld
gegee van hoe die oplossingsproses presies verloop. Die oplossingsmetodologie kom
dus op verspreide skedulering neer. In Hoofstuk 17 sal daar vervolgens aangetoon
word hoe hierdie verspreide skeduleringsoplossing gdmplementeer is, asook wat die
gehalte van die resultate was wat verkry is.
'n Agentgebaseerde oplossing vir bemarkinggedrewe skedulering 134
Roetering Oplossingsverskille
Die rol van agente Metodes van oplossing
Koppeling met bemarkingskeduleerder
Voorafprosesse
Roeteringsagent
IPlasingsagent
Groepering
Skep van roeterings IPlasing van bemanning Kajuitpersoneel I Stuurkajuitpersoneel
•
14. 'n Agentgebaseerde oplossing vir die skedulering van bemanning
In hierdie hoofstuk gaan die teorie uit Afdeling B toegepas word om 'n
agentgebaseerde oplossing vir die skedulering van bemanning te vind. Veral die
teorie uit Hoofstuk 11 gaan ingespan word om hierdie probleem op te los. Agente,
evolusionere algoritmes, asook lerende algoritmes vorm die grondslag van hierdie
hoofstuk. Hierdie hoofstuk begin deur te stipuleer watter prosesse in plek moet wees
alvorens ons bemanning kan begin skeduleer. Hierna word daar twee
oplossingsmetodologiee bespreek, nl. die groeperingsbenadering en die
roeteringsbenadering. Sodra die bespreking van hierdie twee benaderings afgehandel
is, vergelyk ons die twee benaderings. Die hoofstuk word afgesluit met 'n bespreking
van die wyse waarop agente hierdie twee benaderings kan gebruik om bemanning te
skeduleer.
Figuur 14.1: Samehang van hierdie hoofstuk
14.1 Voorafprosesse
Alvorens die bemanning geskeduleer word, moet daar eers 'n paar hulpbronne in plek
wees. Die belangrikste hiervan is sekerlik die vlugskedule. Bemanning kan nie
geskeduleer word sonder dat daar 'n vlugskedule bestaan nie. As hierdie vlugskedule
bestaan, kan daar dan gepoog word om die vlugskedule te beman. In omgangstaal word
'n vlugskedule wat beman is, 'n "vlugrooster" genoem. Hierdie begrippe word soms as
'n Agentgebaseerde oplossing vir die skedulering van bemanning 135
Vlugrooster
Bemanning- skeduleerder
synde uitruilbaar gebruik. As die vlugskedule nie beman kan word nie, kan die
vlugskedule verander word om dit meer "vliegbaar" te maak. Hierdie proses word
rekursief uitgevoer totdat daar 'n aanvaarbare vlugskedule gevind kan word wat albei
aan die vereistes van die bemanning, sowel as aan die vereistes van die operasionele
personeel, voldoen.
'n Ander hulpbron wat tot die bemanningskeduleerder se beskikking gestel moet wees, is
die reels en regulasies wat die vlugpatrone van bemanning beheer. Hierdie reels is reeds
in Hoofstuk 5 bespreek. Die maatskappy-, vakbond- en nasionale reels is die beperkinge
waarbinne die skedulering van bemanning moet plaasvind. Hierdie reels is daar om
sowel die passasier as die bemanningslid te beskerm. Die kajuitbemanning, asook die
stuurkajuitbemanning, word deur hierdie reels beheer.
Figuur 14.2: Bemanningskedulering 1
14.2 Oplossingsmetodes
Daar is basies twee metodes waarop die skedulering van bemanning kan plaasvind.
Die eerste metode is om bemanning in funksionele groepe op te deel en dan die
groepe aan vlugte toe te ken. Die tweede metode behels die skep van roeterings van
vlugte en die toekenning van bemanning aan posisies op daardie roeterings. Albei
metodes sal bespreek word, waarna een metode vir die implementering gekies sal
word.
14.2.1 Groeperingsbenadering
Die eenvoudigste metode wat gevolg kan word om vliegtuie te beman, is om die
bemanning in funksionele groepe te verdeel. Sodra hierdie groepe gevorm is, kan hulle
aan verskille vlugte toegeken word.
'n Agentgebaseerde oplossing vir die skedulering van bemanning 136
Daar is basies twee groepe van bemanning, nl. die stuurkajuit- en die kajuitpersoneel.
Gewoonlik word hierdie twee groepe se skedulering afsonderlik gedoen. Die rede
hiervoor is dat die reels waaronder die twee groepe bemanning geskeduleer word, nie
dieselfde is nie. Kajuitpersoneel kan by. langer diens doen as stuurkajuitpersoneel.
In die volgende twee paragrawe gaan ons kyk hoe die groeperingsbenadering vir
sowel stuurkajuit- as kajuitpersoneel gevolg kan word.
14.2.1.1 Kajuitpersoneel
Kajuitpersoneel word so gegroepeer om die maksimum diens aan die klient te lewer en
terselfdertyd koste-effektief te wees. Gewoonlik bestaan 'n vliegtuig uit drie klasse
—eersteklas, besigheidsklas en ekonomiese klas. Besigheidsklas het by. meer
kajuitbemanning nodig as ekonomiese klas. Aan elke klas op 'n vliegtuig moet daar 'n
senior personeellid toegeken word. Hierdie persoon neem verantwoordelikheid vir
daardie betrokke klas. Die persoon staan gewoonlik bekend as 'n "kajuitbestuurder". 'n
Getal personeellede word dan aan die persoon toegeken, afhangende van die klas en die
tipe vliegtuig. Hierdie groeperings bly redelik konstant oor 'n aantal jare heen, met die
gevolg dat vorige groeperings met 'n redelike mate van sukses gebruik kan word.
Dit is gevolglik nie nodig om groeperings presies volgens die bestaande rooster op te
stel nie. Vorige groeperings kan ook gebruik word, en eers wanneer leemtes in die
rooster blootgele word, kan verstellings gemaak en die leemtes aangevul word.
14.2.1.2 Stuurkajuitpersoneel
Stuurkajuitpersoneel word baie anders as kajuitbemanning gegroepeer. Senioriteit en
bekwaamheid speel hierin 'n deurslaggewende rol. Slegs die mees senior personeel
vlieg by. 'n groot Boeing 747. 'n Loods vlieg ook nie alleen nie; daar vlieg altyd 'n
tweede-in-bevel saam, sowel as een of meer vlugingenieurs. Die tweede-in-bevel ("boy
pilot") hoef egter nie dieselfde senioriteit as die kaptein te he nie.
'n Agentgebaseerde oplossing vir die skedulering van bemanning 137
Vlugrooster
Skedulering van stuurkajuitpersoneel
Skedulering van kajuitpersoneel
Die maklikste manier om die loodse te groepeer, is om hulle eerstens in
senioriteitsgroepe te verdeel. Groep A bestaan by. net uit loodse wat 'n Boeing 747 mag
vlieg, terwyl Groep B uit loodse bestaan wat 'n Boeing 737A mag vlieg.
Sodra hierdie senioriteitsgroepe gevestig is, kan hulle gebruik word om die vlieggroepe
mee op te stel. 'n Vlieggroep bestaan dus uit bemanning van dieselfde senioriteitsgroep.
14.2.1.3 Wisselwerking tussen afdelings
Uit die vorige bespreking blyk dit dat daar wisselwerking tussen die afdelings moet
wees. Figuur 14.2 kan dus soos volg uitgebrei word:
Figuur 14.3: Bemanningskedulering 2
Die viugrooster word vrygestel sodra dit vir sowel die stuurkajuitpersoneel as die
kajuitpersoneel vliegbaar is.
14.2.1.4 Roetering van bemanning
Sodra die groeperings gedoen is, moet hulle aan vlugte toegeken word. Roeterings moet
nou vir die groeperings geskep word. Roeterings moet by 'n basisstasie begin en by
dieselfde basisstasie eindig. Die roetering hoef ook nie die heeltyd op dieselfde fisiese
vlug te wees nie. Hierdie konsep is reeds in 'n vorige hoofstuk bespreek.
Die roetering van bemanning word op die lees van die eerste-in-eerste-uit-beginsel
geskoei. In soverre dit roetering aangaan, beteken dit dat die eerste groep bemanning
wat op 'n lughawe arriveer, die eerste groep sal wees wat die lughawe gaan verlaat.
Sodra daar 'n vliegtuig arriveer wat aan al die reels en regulasies van 'n groep voldoen,
'n Agentgebaseerde oplossing vir die skedulering van bemanning 138
sal die groep wat eerste daar aangekom het, die eerste groep wees wat die lughawe sal
verlaat. Hulle sal dan op hierdie vlug uit diens doen.
Roeterings wat volgens hierdie proses werk, is gewoonlik nagenoeg 70% suksesvol. Dit
is egter die taak van menslike operateurs om te bepaal waar probleme is, en om hulle op
te los. Hierdie metode word op die oomblik deur die S.A.L. gevolg [86].
14.2.2 Roeteringsbenadering
Hierdie metode word tans deur die meeste lugrederye gebruik [86]. Die beginsel
onderliggend hieraan is om eers 'n lys van alle moontlike roeterings op te stel. Hierdie
roeterings word geskep onderhewig aan die reels waaraan kajuitpersoneel en die loodse
moet voldoen. Die roeterings word gestoor en van hulle sal dan gebruik word om die
bemanning mee te plaas.
14.2.2.1 Skep van roeterings
Roeterings begin en eindig by 'n basisstasie. Dieselfde groep bemanningslede word
gedurende die hele roetering gebruik. Hierdie roetering kan 'n hele aantal vlugte bedien.
Die rol van die intelligente agente is om roeterings te genereer in ooreenstemming met
die reels en regulasies waaraan die bemanning moet voldoen.
'n Voorbeeld van hoe die agent die roetering skep, is soos volg:
Die agent kies 'n vlug van die vlugrooster vanaf die basisstasie na die een of ander
bestemming, by. vanaf Johannesburg Internasionale Lughawe na Heathrow in
Londen.
Die agent Ides nou die eerste vlug uitwaarts vanaf hierdie punt na enige bestemming.
Die eerste-in-eerste-uit-beginsel word toegepas. Die eerste vlug uitwaarts wat aan
die reels en regulasies voldoen, sal gekies word. Die roete word nou Johannesburg,
Londen, New York.
In New York word dieselfde prosedure as in stap 2 gevolg. Omdat die bemanning
nou al 'n paar dae van die huis of weg is, sal die volgende vlug terug Johannesburg
'n Agentgebaseerde oplossing vir die skedulering van bemanning 139
toe gekies word. Die roete word nou voltooi en lyk dus so: Johannesburg, Londen,
New York, Johannesburg.
Hierdie FIFO-proses kan aansienlik verbeter word deur van 'n genetiese algoritme
gebruik te maak (sien paragraaf 14.2.2.2 van hierdie hoofstuk in die verband).
Al die verskillende roeterings word nou in 'n roeteringsdatabasis gestoor.
14.2.2.2 Verbetering van roeterings danksy genetiese algoritmes
Hierdie paragraaf brei uit op aspekte van genetiese algortimes wat reeds in Hoofstuk 8
bespreek is. Turban [37] definieer die begrip "genetiese algoritmes" as 'n iteratiewe
prosedure wat 'n populasie van strukture onderhou. Hierdie strukture is
kandidaatoplossings vir probleme van 'n spesifieke domein. Gedurende elke inkrement
(generasie) word die strukture in die bestaande populasie beoordeel n.a.v. die
effektiwiteit van die domeinoplossings. Op grond van hierdie evaluasies word 'n nuwe
populasie van kandidaatoplossings gevorm deur van genetiese operatore soos
voortplanting, omruiling en mutasie gebruik te maak.
Die meeste genetiese algoritmes gebruik die volgende drie operatore:
Voortplanting: Genetiese algoritmes vorm nuwe generasies van verbeterde
oplossings deur ouers met die hoogste geskiktheidsgradering te kies.
Omruiling: Genetiese algoritmes maak gewoonlik gebruik van 'n string van binere
simbole om oplossings voor te stel. Omruiling beteken om 'n ewekansige posisie in
die string te kies en dan die segmente of links of regs van hierdie punt om te ruil met
'n ander string wat op dieselfde wyse verdeel is.
Mutasie: Mutasie is 'n arbitrere verandering in die binere string. Hierdie prosedure
verander 'n 1 na 'n 0, of in 0 na 'n 1, in plaas daarvan om dit net so te kopieer. Hierdie
tipe verandering het 'n baie lae waarskynlikheid, by. een uit 'n 1000.
Die roeteringsagent kan 'n genetiese algoritme gebruik om die 1-11-0-oplossing te
verbeter. Die probleem met die FIFO-oplossing is dat dit altyd die eerste vlug uit 'n
'n Agentgebaseerde oplossing vir die skedulering van bemanning 140
lughawe kies wat aan al die reels voldoen. Daar kan egter vlugte wees wat wel nie
eerste vlieg nie, maar wat tog beter oplossings bied.
Die FIFO-oplossing word gebruik om 'n voorlopige oplossing te vind. Die genetiese
algoritme word dan hierteen gemeet. Dit word soos volg gedoen:
Die probleem word i.t.v. binere stringe beskryf. Vlugte word as 'n reeks ene en nulle
beskryf. 'n Een stel voor dat die vlug in die roetering gebruik gaan word, terwyl 'n nul
voorstel dat daardie vlug nie gebruik gaan word nie.
Algoritme
Stap 1: Genereer 'n oplossing. Die FIFO-oplossing word as die voorlopige oplossing
aanvaar. Die oplossing bestaan uit 'n reeks binere stringe. Hierdie oplossing
word nou aan kostefunksies gemeet. As die oplossing goed genoeg is, word die
proses beeindig en die oplossing aan die gebruiker vertoon.
Stap 2: Elimineer vlugte wat hoe kostes bedra. Kies eerder vlugte waarvan die kostes
laag is. Hierdie vlugte sal nou as ouers optree.
Stap 3: Pas omruiling toe om nuwe kinders te genereer. Die nuwe kinders maak nou
deel van die oplossing uit. Gaan na stap 1.
Sodra die roeterings bereken is, moet bemanning daaraan toegeken word. Die
toekenning van bemanning aan posisies op 'n roetering word in die volgende paragraaf
bespreek.
14.2.2.3 Plasing van bemanning
Elke vlug het 'n aantal posisies waarin bemannning optree. Vir kajuitpersoneel kan
die posisies wees: Aanboord-bestuurder, Kelner 1, Kelner 2 of Kelner 3. Vir die
loodse lyk die posisies ietwat anders: Kaptein, Assistent of Vlugingenieur.
Elke vlug sal sy eie unieke versameling posisies he, welke posisies weer van die grootte
van die vliegtuig, die aantal klasse, ens., afhang. Die toekennings moet egter steeds die
senioriteit van die bemanning in ag neem, soos in geval van Metode 1.
'n Agentgebaseerde oplossing vir die skedulering van bemanning 141
Die intelligente agent gaan nou deur die databasis van roeterings en kies die mees koste-
effektiewe roeterings. Dit bereken ook nou die posisies van bemanning op die
verskillende vlugte en ken bemanningslede daaraan toe. In paragraaf 6 van hierdie
hoofstuk sal die rol wat agente kan speel, meer in besonderhede bespreek word.
14.2.3 Verskille tussen die benaderings
Een van die nadele van Metode 1 is dat personeel die hele tyd in dieselfde groep moet
beweeg. Dit beteken dat die groep die hele tyd op dieselfde tipe vliegtuig moet diens
doen, omdat die groep opgestel is om aan die vereistes van 'n sekere tipe vliegtuig (vlug)
te voldoen. Die voordeel hieraan verbonde is egter dat die skedulering baie makliker
geskied, hoewel nie noodwendig so effektief nie.
Volgens Metode 2 hoef die personeel nie noodwendig in dieselfde groepe te beweeg nie.
'n Aantal bemanningslede kan byvoorbeeld op Vlug SA235 vanaf Johannesburg na
Londen diens doen. In Londen kan hierdie groep opgebreek word om kleiner vlugte te
bedien, by. die vanaf Londen na Parys, of vanaf Londen na Frankfurt.
Nog 'n voordeel van Metode 2 is dat die intelligente agent nou uit 'n hele aantal
moontlike roeterings kan kies en dan bemanning aan die mees koste-effektiewe
roetering kan toeken. Dit is byvoorbeeld nie volgens Metode 1 moontlik nie. In die lig
hiervan is daar toe besluit om 'n agentgebaseerde metodiek op Metode 2 toe te pas.
14.3 Die rol van agente
Twee agente gaan gebruik word om Metode 2 te implementeer. Die roeteringsagent is
vir die vind van roeterings verantwoordelik. Die plasingsagent is verantwoordelik vir
die toekenning van bemanning aan posisies op roeterings. 'n "Posisie" kan gedefinieer
word as "n taak waarvoor 'n bemanningslid op 'n vliegtuig toegeken moet word", by. die
van Kelner 1, Kelner 2 of Aanboord-bestuurder. Die menslike skeduleerder het ook 'n
beslissende rol hierin te speel. Die menslike skeduleerder moet naamlik die roeterings
goedkeur wat die roeteringsagent voorstel. Hierdie agent moet ook by die menslike
skeduleerder leer watter roeterings geskik is en watter nie.
'n Agentgebaseerde oplossing vir die skedulering van bemanning 142
14.3.1 Die roeteringsagent
Soos reeds gesien, moet hierdie agent die roeterings vind en hulle in 'n roeterings-
databasis stoor. Uit hierdie databasis moet die agent dan die mees geskikte roeterings
kies. Die heuristieke wat die agent gebruik, kan of die koste-effektiwiteit of die gemak
van die bemanning, ens., wees.
Die meganiese deel van die agent werk soos volg: die agent begin die eerste roetering by
die eerste vlug van die vlugrooster. By die punt van aankoms kyk die agent vir die
eerste uitgaande vlug vanaf hierdie lughawe wat aan die reels en regulasies van die
bemanning voldoen. Sodra die vlug by die aankomslughawe arriveer, word die eerste
vlug gekies wat aan die vereistes van die bemanning voldoen. Hierdie proses word
herhaal totdat die roetering by die basisstasie eindig. Die roetering word nou in die
databasis gestoor. Hierdie proses word herhaal totdat al die moontlike roeterings
roeterings) gevind is.
Die intelligente deel van die agent gaan dan deur die databasis en kies die beste
roeterings. Die agent rapporteer die roeterings wat hy dink die beste sal wees aan die
menslike skeduleerder. Die menslike skeduleerder kan nou besluit of hy met die agent
saamstem of nie. Figuur 14.4 hieronder gee 'n diagrammatiese voorstelling van 'n
roeteringsagent. Die diagram volg die notasie vir agente wat in Hoofstuk 9 gedefinieer
is.
Roeteringsagent
Vlugskedule
Diensreels van bemanning
Kostes van hotelle, etes en vervoer
Voorkeure van skeduleerder
Vind eerste vlug uit lughawe
Stoor roetering
Vind goeie roeterings
Minimeer koste van bemanning
Figuur 14.4: Struktuur van 'n roeteringsagent
'n Agentgebaseerde oplossing vir die skedulering van bemanning 143
14.3.2 Die plasingsagent
Die taak van die plasingsagent is om personeel aan posisies op 'n roetering toe te ken.
Daar is 'n paar metodes wat die agent sou kon volg om personeel aan posisies toe te ken,
nl.:
Ewekansige.
Die een of ander heuristiek.
Veiling.
'n Kombinasie van voormelde metodes.
Die agent kan in die eerste plek personeel ewekansig toeken. Die probleem met hierdie
metode is egter dat sekere personeellede dan moontlik vir weke niks doen nie, terwyl
hulle op ander tye hulself doodwerk. Hierdie is dus nie 'n baie goeie manier om
personeel toe te ken nie.
Die ander metode wat die agent sou kon volg, is om personeel deur die een of ander
heuristiek toe te ken. Voorbeelde van heuristieke is soos volg:
Personeel wat vir lang tye nie gewerk het nie, kry voorkeur.
Personeel wat onlangs toegeken is, mag vir 'n sekere tydperk nie weer gekies word
nie.
Heuristieke werk redelik goed. 'n Nadeel hiervan is egter dat personeel geen se in die
toekenning van 'n roetering het nie.
Om roeterings oop te stel sodat personeel vir die roeterings kan bie waarin hulle
belangstel, is 'n redelik gewilde opsie. Personeel kan hiervolgens vir die Hong Kong-
vlug bie as hulle by. daar wil gaan inkopies doen. Die manier waarop gebie word, hang
van die senioriteit van die personeellid of en die aantal kere wat die persoon reeds op
daardie roetering gewerk het.
'n Persoon word by. nie toegelaat om meer as een keer per maand op sekere van die
gewilde vlugte diens te doen nie. Die probleem met hierdie metode is naamlik dat
niemand meer op die minder gewilde vlugte wil diens doen nie, by. op die vanaf
Johannesburg na Bloemfontein.
'n Agentgebaseerde oplossing vir die skedulering van bemanning 144
Daar kan ook 'n kombinasie van metodes gebruik word. Een kombinasie is om
personeel te laat bie vir 'n roetering en dan die minder belangrike roeterings te vul deur
van 'n heuristiek gebruik te maak. Hierdie is die metode wat ons met agente gaan
implementeer.
14.3.3 Die lerende plasingsagent
Die doel van 'n lerende plasingsagent is om die voorkeure van die skeduleerder aan te
leer. Die gebruiker verander baiemaal die plasings deur sekere personeellede altyd op 'n
sekere roetering te sit. 'n Voorbeeld hiervan is dat Duitssprekende personeellede
baiemaal gevra word om op die Frankfurt-vlug diens te doen. Chu [89] beskryf 'n
interessante benadering, ingevolge waarvan 'n heuristieke taal gebruik kan word om
reserwebemanning volgens taalvereistes aan sekere posisies op 'n vlug toe te ken.
Die agent kan leer watter tipe personeellede aan sekere vlugte toegeken word en kan dan
baie van hierdie plasings outomaties doen. Dieselfde tegnieke wat in Hoofstuk 11
behandel is, kan toegepas word.
Die agent kan ook uit die biepatrone van die personeel aflei in watter vlugte hulle by. nie
belangstel nie. Indien 'n personeellid by. nooit vir 'n sekere vlug gebie het nie, sal die
plasingsagent poog om die personeellid nie aan 'n sekere roetering toe te ken nie.
Plasingsagent
Vlugrooster (skedule wat beman is)
Heuristieke
Lys van bemanningstoekennings
Biemeganisme
Toekenningsmeganisme
Verseker dat elke posisie op alle
roeterings gevul is
Relasionele databasis
Figuur 14.5: Struktuur van 'n plasingsagent
'n Agentgebaseerde oplossing vir die skedulering van bemanning
145
In die volgende paragraaf gaan ons kyk hoe die roeterings wat deur die eerste-in-eerste-
uit-benadering (111-0) geskep is, verbeter kan word. Figuur 14.5 toon 'n moontlike
voorstelling van 'n plasingsagent. Die diagram volg die notasie vir agente wat in
Hoofstuk 9 gedefinieer is.
14.4 Koppeling met die bemarkingskeduleerder
Die vraag kan nou met reg gevra word wat sal gebeur as 'n rooster nie "vliegbaar" is nie,
m.a.w. as daar nie genoeg bemanningslede is om die vlugte te beman nie. 'n Meer
spesifieke vraag sal wees: "Wafter vlugte moet gekanselleer word as daar nie genoeg
bemanning is nie?"
Voordat daar probeer word om roeterings te genereer, kan die agente eers 'n
vooruitskatting maak om te sien of daar hoegenaamd genoeg personeel vir die rooster is.
Dit is egter nie 'n maklike taak nie. As daar 3 000 posisies is wat gevul moet word,
beteken dit nie dat daar 3 000 bemanningslede moet wees nie. Veranderlikes wat
hierdie proses beInvloed, sluit die volgende in:
Die tipe bemanning — studente, nuwe bemanning, ens.
Bemanningsveranderings.
Vakansieperiodes.
Kwartaallikse rusperiodes.
Ander reels wat op die plasing van personeel betrekking het, is by. die feit dat studente
slegs 8% van die kajuitpersoneel mag uitmaak. Operasionele navorsingsmetodes word
gebruik om hierdie probleem op te los. 'n Voorbeeld hiervan is die
lineereprogrammeringoplossing wat by Air France geinstalleer is [90]. Hierdie stelsel
kombineer simulasie en optimering om by 'n goeie oplossing uit te kom. Die
plasingsagent kan by. hierdie metode gebruik voordat daar gepoog word om bemanning
te plaas. Die lineereprogrammering-model kan ook 'n aanduiding gee van hoeveel
bemanning nodig is. Baiekeer is dit meer winsgewend om meer personeel in diens te
neem as om die rooster te verander.
'n Agentgebaseerde oplossing vir die skedulering van bemanning 146
Bemarking- skeduleerder
Roeteringsagent
Plasingsagent
Vliegbaar?
Ja
Vlugrooster
Nee
Een van die metodes is om die lughawens wat die laagste wins genereer, te verwyder en
vir die ander lughawe-agente te vra om weer van voor of te bie. Die roeteringsagent
moet dan weer roeterings genereer en bemanning moet weer toegeken word. As daar
weer eens nie genoeg bemanning is nie, word die proses herhaal.
Ons sien dus dat daar die hele tyd wisselwerking tussen die bemanningskeduleerder
(roeterings- en plasingsagent) en die bemarkingskeduleerders is (sien ook Hoofstuk 13
in die verband). Sodra daar 'n kompromis tussen die bemanningskeduleerder en die
bemarkingskeduleerder bereik is, word 'n rooster vrygestel wat gepubliseer kan word.
Hierdie proses word in Figuur 14.6 voorgestel.
14.5 Samevatting
In hierdie hoofstuk het ons gesien hoe die bemanningskeduleringsprobleem opgelos kan
word met behulp van agente wat van FIFO- en genetiese algoritmes gebruikmaak. Die
hoofstuk het ook uitgewys dat bemarkingskedulering uit basies twee prosesse bestaan,
nl. die skep van roeterings en die toekenning van bemanning aan posisies binne die
roetering.
Figuur 14.6: Samehang tussen bemarking- en bemanningskedulering
'n Agentgebaseerde oplossing vir die skedulering van bemanning 147
15. Agentgebaseerde operasionele skedulering
In hierdie hoofstuk gaan die teorie uit Afdeling B op die operasionele
skeduleringsprobleem toegepas word. Die teoriee wat veral gebruik gaan word, is die van
die agentteorie, die ekspertstelselteorie en die versterkingsleer. Ons gaan egter eers kyk
wat operasionele skedulering behels. Daarna gaan ons kyk hoe ekspertstelsels werk,
gevolg deur die toepassing van die ekspertstelselteorie op die operasionele
skeduleringsprobleem. Die hoofstuk word dan afgesluit met 'n bespreking van hoe
lerende algoritmes, tesame met ekspertstelsels, gebruik kan word om die operasionele
skeduleringsprobleem op te los.
15.1 Operasionele skedulering
Soos reeds gemeld, is operasionele skedulering daardie skedulering wat plaasvind in die
48 uur-tydperk voordat die vliegtuig vertrek tot nadat dit weer geland het. Operasionele
skedulering het te make met probleme wat opduik, soos ongure weersomstandighede,
tegniese foute, breuke by metale, weiering deur masjiene en menslike nalatigheid, en wat
die uitwerking daarvan op die rooster sal wees.
'n Voorbeeld van bostaande probleem was die industriele aksie wat gedurende November
1995 by die S.A.L. plaasgevind het. Kajuitpersoneel het in Durban gestaak. Dit het
beteken dat sekere vlugte nie kon vlieg nie, omdat hulle onbeman sou wees. Die effek
hiervan op die res van die rooster was dat sekere vlugte van ander lughawens nie op
Durban kon land nie, aangesien die vliegtuie wat nie kon wegkom nie, die laaiblad
volgestaan het. Aansluitingsvlugte se passasiers het ook hul vlugte verpas, --en ander
vlugte moes herskeduleer word om die situasie te akkommodeer. Ons kan dus sien dat
iets kleins soos die vertraging van slegs een vliegtuig, 'n kettingreaksie ten opsigte van al
die ander vlugte in die rooster aan die gang kan sit.
Die skaal van hierdie effek is afhanklik van die volgende sake [91]:
Agentgebaseerde operasionele skedulering 148
Afhanklikheid tussen hulpbronne. Afhanklikheid beskryf die mate van interaksie wat
daar tussen die hulpbronne is.
Robuustheid van hulpbronne, m.a.w. hoe buigsaam is die hulpbronne om
veranderings in die rooster te kan hanteer?
'n Hulpmiddel is nodig om hierdie probleem op te los a.g.v.
die hoe mate van interaksie tussen probleme en die aksies om die probleme op te los
die dinamiese aard van operasionele skedulering.
15.2 Ekspertstelsel -benadering
Een van die beter maniere om hierdie probleem mee op te los, is om van 'n ekspertstelsel
gebruik te maak. Ekspertstelsels word al 'n hele aantal jaar in die praktyk gebruik, met die
gevolg dat die implementeringsrisiko redelik laag is [37]. Die risiko is nie so hoog sons
vir ander kunsmatige-intelligensie-tegnieke wat so nuut is dat hulle nog nie omvattend
aan die praktyk getoets is nie.
Ekspertstelsels maak van reels en soekbome gebruik. Die boom het 'n begintoestand wat
die stand van die stelsel op daardie oomblik aandui. Aksies kan nou op hierdie toestand
uitgevoer word om nuwe toestande (kinders) uit die hooftoestand te genereer. 'n Aantal
aksies kan nou op hierdie nuwe toestande uitgevoer word om nog toestande in hierdie
boom te genereer. Nodes waaruit daar nie nog nuwe toestande gegenereer kan word nie,
word "blare" genoem.
Hierdie besluitnemingsboom kan gebruik word om die keuses wat 'n gebruiker sou
uitoefen, voor te stel. In ons voorbeeld beteken dit dat die begintoestand in die boom die
rooster met 'n probleem is. Van die aksies wat uitgevoer kan word om die probleem op te
los, is by. om 'n paar vlugte te vertraag. Nuwe nodes word nou geskep om hierdie
toestande voor te stel. Die effek van die vertraagde vlugte kan nou weer nuwe probleme
oplewer. 'n Aantal oplossingsaksies kan nou weer op elkeen van hierdie nodusse
uitgevoer word.
Agentgebaseerde operasionele skedulering 149
Om 'n oplossing vir die probleem te vind, moet die boom nou deursoek word.
Eindnodusse of blare stel dan oplossings voor. Die "beste" van hierdie oplossings word
dan aan die gebruiker vertoon. Daar is basies twee maniere om die boom te deursoek, nl.
of eers in diepte Of eers in breedte. By die diepte-eerste-soektog word die eerste tak
geneem en tot by die laaste node deursoek wat uit daardie tak voortspruit. By die wydte-
eerste-soektog word die eerste vlak van nodusse eers deursoek en dan die tweede vlak,
totdat die laaste vlak bereik word.
Toestand 1
Toestand
2.1
Toestand
2.2
Toestand .
Toestand
Toestand
Toestand
3.2
3.1
3.3
3.4
Figuur 15.1: °n Besluitnemingsboom
In Figuur 15.1 hierbo sou 'n diepte-eerste-soektog soos volg verloop het:
Toestand 1 - 2.1 - 3.1 - 2.2 - 3.2 - 3.3 - 3.4
'n Breedte-eerste-soektog sou op sy beurt weer soos volg verloop het:
Toestand 1 - 2.1 - 2.2 - 3.1 - 3.2 - 3.3 - 3.4
Omdat dit onmoontlik is om al die moontlike scenarios voor te stel, word daar van
heuristieke gebruikgemaak. 'n Heuristiek verklein die grootte van die boom, asook die
soektog. Die domeinekspert ('n senior skeduleerder) het gewoonlik klaar 'n redelik vaste
manier waarop by of sy 'n oplossing vind. 'n Voorbeeld hiervan is wanneer 'n lughawe
a.g.v. van guur weer gesluit word. Die vliegtuie word dan na 'n ander lughawe weggewys
("divert"), of hulle moet in die lug omdraai en na die basisstasie terugkeer. Die aksies
wat gekies word, hang van baie omstandighede af, soos by. die afstand na die naaste
Agentgebaseerde operasionele skedulering 150
lughawe, ens. Die metodes wat die domeinekspert gebruik om probleme op te los, word
"heuristieke" genoem.
Die heuristieke wat die gebruiker gedefinieer het, word nou gebruik om die boom te
deursoek. Die rekenaar verskaf nou 'n lys van moontlike oplossings aan die gebruiker.
Die gebruiker kies nou self watter oplossing die beste blyk te wees. Die gebruiker kan
ook nou ides of by sekere nodusse op die boom wil uitbrei wat as gevolg van die
heuristieke nie uitgebrei en deursoek is nie. Agente kan veral ten opsigte van hierdie stap
handig gebruik word.
Gebruikers kan nooit al hul kennis in terme van heuristieke weergee nie. Baiekeer word
besluite geneem bloot omdat hulle reg "voel". Agente scam met goed gedefinieerde
heuristieke verteenwoordig egter 'n stap in die regte rigting om hierdie probleem op te los.
Sodra die ekspertstelsel 'n aantal moontlike oplossings gee, kan 'n agent gebruik word om
te leer watter oplossings die gebruiker onder sekere omstandighede kies. Die agent leer
dus watter oplossings by welke omstandighede pas. Senior operasionele skeduleerders
kan dus hierdie agente leer en junior skeduleerders sal dan oor die toerusting beskik om
goeie besluite te neem indien die senior mense afwesig sou wees. Daar is gewoonlik 'n
groot tekort aan senior operasionele skeduleerders in enige lugredery.
15.3 Operasionele skeduleringsekspertstelsel
Die eerste stap in die oplossingsmetodologie is 'n ekspertstelsel. Die rol van die
ekspertstelsel is om 'n versameling oplossings vir 'n gegewe operasionele
skeduleringsprobleem te vind. Figuur 15.2 hieronder stel die soekstrategie van die
ekspertstelsel voor.
15.3.1 Plaaslike wereld
Die ekspertstelsel werk op 'n stel invoerdata. Die invoerdata in hierdie geval is die
rooster soos 48 uur voor die vertrek van 'n vlug. Die rooster word gewoonlik ses maande
Agentgebaseerde operasionele skedulering 151
Gebruiker- interaksie
Oplossing
Nee
Kies nuwe toestand
Vertoon oplossings
Stoor oplossing
Nog oplossings?
Nee
Probleem- versameling
• V Kies van S oektog-
probleem parameters
Plaaslike wereld
Keuse van 'n aksie
Nuwe toestand
Beperkings- toetsing
voor die tyd gepubliseer en aan die publiek bekendgestel. Die ekspertstelsel het dan
toegang tot 'n rooster wat vir ses maande konstant sal bly.
Figuur 15.2: Soekstrategie om 'n oplossing vir 'n operasionele probleem te vind
15.3.2 Pro bleemversameling
Die operasionele skeduleerder hou die rooster op datum deur operasionele veranderings
in die plaaslike wereld aan te bring. As 'n vlug by. met vyf minute vertraag sou word,
moet dit in die plaaslike wereld ook aangedui word. Die operasionele skeduleerder kan
Agentgebaseerde operasionele skedulering 152
nou vlugte wat by as probleme sien, kies. Hierdie vlugte maak dan die
probleemversameling uit. Dit is belangrik om daarop te let dat die plaaslike wereld die
huidige rooster en vliegtuigbewegings met al hul probleme aandui.
15.3.3 Fokus op die probleem
Die ekspertstelsel moet nou op 'n probleem fokus. As daar meer as een probleem gekies
is, moet die ekspertstelsel een van die probleme kies om eerste op te los. Die keuse van
die probleem moet so uitgeoefen word dat, deur een probleem op te los, dit ook 'n aantal
ander probleme oplos. Die ekspertstelsel kan ook besluit om slegs die onmiddellike,
ernstige probleme op te los. Die ekspertstelsel maak hoofsaaklik van 'n heuristiek
gebruik om te besluit watter probleem opgelos moet word. 'n Voorbeeld van so 'n
heuristiek is om gewigte aan die verskillende probleme toe te ken [92]. 'n
Grondtydprobleem het by. die grootste gewig en word gevolglik eerste opgelos.
15.3.4 Keuse van 'n oplossing
Hierdie is seker die belangrikste deel van die stelsel. Vir elke probleemkategorie moet
daar nou 'n aantal aksies aan die hand gedoen word om die probleem op te los. Die keuse
van hierdie aksies word gedryf deur heuristieke wat van die senior operasionele
kontroleur verkry word. Daar is twee kategoriee van aksies wat uitgevoer kan word, nl.:
Aksies wat onder die gebruiker se beheer is, by. vertraag 'n vliegtuig, ruil vliegtuig-
tipes, ens.
Aksies wat nie onder die gebruiker se beheer is nie, by. die verlenging van staantyd
op die laaiblad (hierdie is streng gesproke nie aksies nie, maar eerder voorstelle wat
die stelsel verskaf).
Tabel 15.1 toon 'n lys van alle moontlike aksies.
Sodra daar op 'n aksie besluit is, moet daar nou besluit word watter vlugte die aksie op
uitgevoer moet word. Vir 'n grondtydprobleem kan 'n moontlike aksie wees om twee
Agentgebaseerde operasionele skedulering 153
vliegtuigtipes om te ruil. Nadat besluit is watter aksie om uit te voer (ruil vliegtuie om),
moet daar ook besluit word watter fisiese vliegtuie om om te ruil.
15.3.5 Skep van 'n nuwe toestand
Sodra daar vir 'n probleem 'n aksie gevind is, moet die aksie op die bestaande toestand
uitgevoer word. Die resultaat hiervan is 'n nuwe toestand. 'n Nuwe toestand word dus vir
elke aksie gegenereer.
15.3.6 Beperkingstoetsing
Sodra 'n nuwe toestand gegenereer is, moet daar gekyk word of die nuwe toestand aan al
die vereistes van die stelsel voldoen. Sommige aksies sal nuwe probleme genereer, wat
dan van vooraf opgelos moet word. Die stelsel gee ook waarskuwings terug.
Waarskuwings genereer nie nuwe probleme nie. Die IPOS-stelsel ("Interactively Usable
Problem Solver") [93] van Lufthansa volg dieselfde benadering. IPOS onderskei tussen
harde en sagte reels, wat met ons probleme en waarkuwings ooreenkom.
15.3.7 Toets van 'n oplossing
Sodra 'n nuwe toestand gegenereer en al die beperkings getoets is, moet die ekspertstelsel
toets of 'n oplossing gevind is. 'n Oplossing is 'n toestand wat met geen probleme
geassosieer word nie. 'n Oplossing word gewoonlik met die volgende inligting
geassosieer:
'n Aksielys, m.a.w. 'n lys van al die aksies wat uitgevoer is om by 'n oplossing uit te
kom.
Objektiewe waarde. 'n Objektiewe funksie bereken 'n numeriese waarde_ van hoe
"goed" 'n oplossing is. Die objektiewe funksie neem by. in ag hoeveel passasiers
beInvloed en hoeveel waarskuwings gegenereer is.
Lys van waarskuwings (probleme wat aanvaar is).
Agentgebaseerde operasionele skedulering 154
Tabel 15.1: Voorstelle om sekere tipes probleme op te los
[94]
Probleem Probleembeskrywing Aksie Aksiebeskrywing
Geografiese
probleem
'n Vliegtuig het twee
opeenvolgende toe-
kennings aan 'n vlug en die
bestemming van die eerste
vlug is verskillend van die
vertrekpunt van die tweede
vlug.
Kanselleer. Kanselleer een of meer
van die toekennings.
Voeg by. Skeduleer 'n ekstra vlug
tussen die twee probleem-
vlugte om die vliegtuig
van die een lughawe na 'n
ander te beweeg.
Passasiers -
totaal
Een of meer klasse op 'n
vliegtuig het meer
passasiers as wat verwag is.
Ruil om. Ruil die vliegtuig met 'n
ander tipe vliegtuig om
wat die nuwe aantal
passasiers sal
akkommodeer.
Laai af. Laai passasiers af.
Verander
kl as .
Indien moontlik, verander
passasiers se bespreking
na 'n hoer of 'n laer klas.
Vlug wat nie
toegeken is nie
'n Vlug het nie 'n vliegtuig
wat daaraan toegeken is
nie.
Ruil. Ken die vlug aan 'n
vliegtuig toe. Dit mag
beteken dat aktiwiteite
omgeruil moet word.
Kanselleer Kanselleer die vlug.
Agentgebaseerde operasionele skedulering 155
15.3.8 Keuse van 'n nuwe toestand
As die teenswoordige toestand nie 'n oplossing bied nie, moet die ekspertstelsel 'n nuwe
toestand kies om te evalueer. Hierdie keuse hang van onder meer die volgende af:
Watter toestande die naaste aan 'n oplossing is.
Watter toestande die minste probleme skep en waarskuwings het.
Watter toestande "maklike" probleme het om op te los.
Operasionele boetes (bv. totale vlugvertraging en aantal vertraagde vlugte).
Kommersiele boetes (bv. passasiers wat aansluitingsvlugte verpas het — per klas
geweeg).
Finansiele boetes (bv. ekstra brandstof vir 'n groter vliegtuig).
Heuristieke word gebruik om hierdie keuse uit te oefen.
15.3.9 Herhaling
Sodra 'n nuwe toestand gekies is, moet die ekspertstelsel teruggaan in die proses om weer
'n probleem te kies om vir die huidige toestand op te los. Hierdie proses hou aan totdat
daar 'n sekere aantal oplossings gevind is (gebruikergedefinieerd) of totdat al die
oplossings ondersoek is.
15.3.10 Gebruikersinteraksie
Die gebruiker het beheer oor die volgende aksies:
Keuse van die probleemversameling.
Verandering van die soekparameters.
Keuse van die beperkings.
Keuse van die aantal oplossings.
Deur die soekparameters en die aantal oplossings te verander, kan die gebruiker die
responstyd van die ekspertstelsel beheer. As die aantal nodusse in die boom baie hoog
gestel is, sal die ekspertstelsel nodusse genereer totdat daar 'n oplossing bereik is, of
Agentgebaseerde operasionele skedulering 156
Heuristieke
Ekspert- stelsel
Veriameiing l oplossings
LnGebmiker kie,S
i oplossing
Agent leer gebruiker se
keuse Serende'Y
agent Stelsel doen
voorstelle oor watter oplossing
die beste is
Probleem
totdat die maksimum aantal nodusse bereik is. As die gebruiker net in vyf oplossings
belangstel, sal die ekspertstelsel stop nadat vyf oplossings verkry is.
15.4 Die lerende agent
Die bespreking in hierdie paragraaf volg op die teorie wat reeds in Hoofstuk 11 bespreek
is. Konsepte gaan nie hier verduidelik word nie, omdat dit reeds gedoen is.
Die rol van die agent is om die gebruiker met die keuse van oplossings by te staan. Die
ekspertstelsel gee aan die gebruiker 'n lys van 'n aantal moontlike oplossings. Die
gebruiker moet nou een van die opsies uitoefen. Die agent se rol is om te leer watter
oplossings die gebruiker gewoonlik kies en dan hierdie oplossings vir die gebruiker uit te
lig. In scenario's met tien of meer oplossings is dit baie handig as die agent kan wys
watter een in die oe van die gebruiker die beste is.
Hierdie proses word in Figuur 15.3 voorgestel:
Figuur 15.3: Rol van 'n lerende agent in operasionele skedulering
Die interaksie tussen hierdie agent en sy omgewing kan soos volg beskryf word:
Die agent neem die lys van moontlike oplossings waar (nuwe toestand).
Die agent kies een van die oplossings, op die nuwe toestand gebaseer (aksie).
Agentgebaseerde operasionele skedulering 157
Die omgewing genereer 'n beloning, gegrond op die toestand en die aksie. As die
aksie met die van die keuse van die gebruiker ooreenkom, word 'n beloning
gegenereer.
Die beloning word na die agent deurgegee.
Omgewing
Toestande
Aksie: kies 'n
oplossing
Beloning
Agent
Figuur 15.4: Interaksie van die agent met sy omgewing
Die omgewing word as 'n Markov-besluitnemingsproses gemodelleer. 'n Markov-
besluitnemingsproses word beskryf deur die versameling (S, A, T, R), waar S die
versameling toestande, A die versameling moontlike aksies, T die
toestandoorgangsfunksie en R die beloningsfunksie is [73].
Die algoritme begin deur die Q-waarde to inisialiseer. Q is die aksiewaardefunksie.
Hierdie funksie is die agent se raming van die optimale aksiewaardefunksie. In ons geval
is dit 'n waarde wat se wat die waarskynlikheid is dat die gebruiker 'n gegewe toestand sal
Ides. As van hierdie waardes reeds beskikbaar is, kan Q daarmee geInisialiseer word; so
nie kan Q met nul-waardes gelaai word.
Q -lerende algoritme
Q 'n versameling aanvangswaardes (gewoonlik uniform 0)
Herhaal vir altyd:
x huidige toestand
Kies 'n aksie a wat konsekwent met f(x), maar soms 'n alternatief is.
Agentgebaseerde operasionele skedulering 158
Voer aksie a uit en laat r die beloning wees wat ontvang word.
Evalueer Q(x,a):
Q(x,a) (1-a)Q(x,a) + a[r + yU(y)],
waar U(y) = &VOW.
Vir elke xE S: f(x) <— a, sodat Q(x,a) = maxbea Q(z,b).
a is die leertempo. Die leertempo neem teen 'n gegewe tempo of [95].
Die eerste stap sal wees om die bestaande toestand waar te neem. Die ekspertstelsel
lewer 'n aantal oplossings en die agent moet in hierdie stap die oplossings met een van S
se toestande koppel. Die agent kies nou 'n aksie om uit te voer, by. kies 'n oplossing met
die laagste koste. Die meeste van die tyd sal hierdie aksie op een lyn met f(x) (beleid)
wees. Die agent moet ook ander alternatiewe verken en daarom word daar soms 'n aksie
gekies wat lyk asof dit sub-optimaal is. Byvoorbeeld., die agent volg f en kies aksie a,
met waarskynlikheid p, of anders kies die agent 'n willekeurige aksie [96]. Die agent voer
nou die aksie uit en verkry sy beloning r. Toestand y is die volgende versameling
oplossings. Hierna word die aksiewaarderaming vir toestandaksiepaar (x,a) bereken. Die
som r + yU(y) word 'n "eenstap-korrigeerder" genoem.
Lerende agent
Lys van oplossings
Toestand/Aksiewaardes
Neem omgewing waar en genereer
'n toestand.
Kies 'n aksie.
Evalueer die aksie.
Verkry 'n uitkiesbeleid wat met die
uitkiesbeleid van die skeduleerder
ooreenstem.
Figuur 15.5: Diagrammatiese voorstelling van 'n Q-lerende agent
Agentgebaseerde operasionele skedulering 159
Ons kan die Q-lerende algoritme ook in 'n agent enkapsuleer. Figuur 15.5 hierbo bied 'n
diagrammatiese voorstelling van 'n Q-lerende agent:
15.5 Samevatting
Die vraag kan met reg gevra word waarom kan 'n lerende agent nie gebruik word om die
hele proses van operasionele skedulering aan te leer nie. Die agent kyk hoe die
skeduleerder sy keuses uitoefen en leer hierdie aksies aan. Die agent kan dan 'n
besluitnemingsboom opstel na gelang dit leer. Dit is al voorheen in ander moeilike
omgewings gedoen waar die aantal toestande en aksies baie hoog was. In plaas daarvan
om heuristieke op te stel wat 'n groot aantal werkj are kan neem (die toestande en
moontlike aksies is baie groot), leer die agent die aksies vir 'n gegewe toestand by die
gebruiker. Sammut et al. het hierdie benadering gevolg om 'n vliegtuigsimuleerder te leer
om 'n Cessna te vlieg [97].
Die rede waarom lerende algoritmes as die laaste stap in die proses ingebring is, is omdat
die heuristieke reeds goed gedefinieer is. Die S.A.L., SwissAir en Cathay Pacific het
reeds hierdie oefening gedoen, met die gevolg dat die heuristieke maklik verkrygbaar is.
Die tradisionele benadering tot ekspertstelsels is ook goed gevestig en die risiko van
implementering is nie so hoog nie. Baie hulpmiddels bestaan om hierdie proses te
vergemaklik.
Om risiko's te verlaag, is daar op 'n tradisionele ekspertstelsel met die uitgebreide
buigsaamheid van 'n lerende agent besluit.
Agentgebaseerde operasionele skedulering 160
16. Implementering van die Q-lerende algoritme
In sy boek "Politiek" het Aristoteles die volgende opmerking gemaak: "As 'n werktuig
sy werk kan doen deur sy eie bevele of gevoel te volg..., het die eksperts nie meer
assistente of die meesters slawe nodig nie" [98]. In hierdie hoofstuk gaan daar gepoog
word om hierdie waarheid op die gebied van lugrederyskedulering toe te pas. Die Q-
lerende algoritme gaan as die leerskema gebruik word. Hierdie hoofstuk gaan toon
hoe die Q-leerproses geImplementeer kan word om te probeer uitwerk watter van 'n
aantal roosters die beste een is.
16.1 Probleemstelling en afbakening van werk
Die probleem wat opgelos moet word, is om die Q-lerende algoritme aan te pas om by
'n menslike ekspert te leer watter een van 'n aantal moontlike roosters die mees
geskikte een in 'n gegewe situasie is.
Die doel van die oplossing wat in hierdie hoofstuk voorgehou word, is suiwer om aan
te toon hoe die Q-lerende algoritme aangepas kan word om te leer watter skedules 'n
menslike gebruiker sou kies. Met die feit in gedagte, sluit hierdie oplossing die
volgende aspekte van skedulering uit:
Die generasie van moontlike roosters. Hierdie aspek word in diepte in vorige
hoofstukke behandel. Die leeraspek moet as afsonderlik van die generasie van
roosters gesien word. Dit verseker dat die implementering soos voorgehou in
hierdie hoofstuk gebruik kan word, in samewerking met enige van die
roostergenereringstegnieke.
Die inkorporasie in 'n produksie-omgewing. Hiermee word bedoel dat hierdie
oplossing gaan aantoon hoe die Q-leerproses vir algemene skedulering aangepas
kan word. Dit beteken dat die gebruiker self kan besluit hoe by of sy hierdie
tegnologie wil implementeer. Voorbeelde van hierdie implementering is dat dit
deel van 'n besluitnemingsagent, funksionele programmering, ens., kan uitmaak
Implementering van die Q-lerende algoritme 161
Die voordeel van die implementering in hierdie hoofstuk voorgehou, is dat die Q-
leerproses nou gebruik kan word vir die leer van watter roosters in watter
omstandighede gebruik kan word. Dit staan apart van die generering van roosters en
die metode van implementering. Laasgenoemde twee kenmerke gee aan hierdie
implementering die grootste moontlike buigsaamheid.
16.2 Aanpassing van die Q -Ieerproses vir operasionele skedulering
Die Q-lerende algoritme wat in paragraaf 15.4 van Hoofstuk 15 bespreek is, gaan in
hierdie paragraaf aangepas word om skeduleherkenning te doen. Hierdie paragraaf
kan as 'n meer gedetailleerde uiteensetting van paragraaf 15.4 gesien word. In die
praktyk word die skeduleerder van 'n aantal roosters voorsien. Al hierdie roosters kan
gebruik word om 'n probleem mee op te los. Die gebruiker kies een van hierdie
roosters as die oplossing vir 'n probleem. Die Q-lerende algoritme moet nou leer
watter tipe skedule gedurende hierdie proses gekies word.
Die omgewing word gemodelleer sons benodig deur die Markov-
besluitnemingsproses in paragraaf 15.4 gedefinieer. Die Markov-
besluitnemingsproses word deur die versameling (S, A, T, R) beskryf waar S die
versameling toestande, A die versameling moontlike aksies, T die
toestandsoorgangsfunksie en R die beloningsfunksie is [95]. In ons voorbeeld lyk die
versamelings so:
'n Versameling numeriese waardes tussen 1 en 70. SE 1,..,70 } .
A: Kies die oplossing wat die minste probleme en waarskuwings inhou.
Kies die oplossing wat die kortste totale vertraging het.
Kies die oplossing wat die minste vlugte het wat vertraag word.
Kies die oplossing wat die minste kommersiele boetes het.
Hierdie funksie verkry die volgende aantal oplossings.
Implementering van die Q-lerende algoritme 162
R: Die beloning is 1 as die agent 'n oplossing kies wat met die keuse van die gebruiker
ooreenstem; so nie is dit 0. R E 0,1
Die versameling oplossings moet op die een of ander manier aan 'n toestand gekoppel
word. Hierdie toestand is 'n numeriese waarde wat deel van versameling S uitmaak.
Een manier om dit te doen, is om elke oplossing (rooster) as 'n versameling attribute te
sien. Die attribute van 'n toestand is soos volg:
T - Totale vertraging.
V - Getal vertraagde vlugte.
K -Koste.
Om 'n kombinatoriese ontploffing te voorkom, kan elkeen van hierdie waardes slegs
Of 'n 0- Of 'n 1-waarde aanneem. Dus:
T E [0,1]
e [0,1]
K E [0,1].
Met 'n gepaste heuristiek kan die werklike waardes van T, V en K nou na Of 0 Of 1
geprojekteer word. Elke rooster kan dus nou in slegs een van agt toestande (j) wees,
aangesien j=2 3.8. Die toestandswaarde B i van 'n rooster word nou soos volg opgestel:
B, = T, + 1017i + 100Ki ,waar i die indeks van die rooster is.
Hierdie toestandswaardes B, word nou weer eens gesommeer om die toestandswaarde
S te verkry. Waar Bi die toestandswaarde van 'n enkele rooster voorstel, stel S die
toestandswaarde van die totale aantal roosters voor. Daar mag geen B-waarde wees
wat dieselfde as 'n ander B-waarde is nie. Die rede hiervoor is dat die twee roosters
dan presies dieselfde attribute in die oe van die algoritme sal he. Laat n die aantal
oplossings wees:
S = 11 0' - ` B i • i=1
Implementering van die Q-lerende algoritme 163
'n Verdere verfyning om 'n kombinatoriese oplossing te vermy, is om die waardes van
S uniek te maak in die sin dat 1234 dieselfde as 4321 is. Met die feit in gedagte, kan
daar nou beteken word wat die totale aantal toestande is wat S kan aanneem. Siende
dat elke B-waarde uniek is en dat daar geen herhaling mag wees nie, is die aantal
waardes k wat S kan aaneem: k = jPn• = (j — n)!n!
Gestel daar is vier roosters, dan sal die aantal toestande wat S kan aanneem, 70 wees.
Op enige gegewe oomblik is die omgewing in slegs een toestand van S en ontvang dit
slegs een aksie A vanaf die agent.
Die algoritme begin deur die Q-waarde te inisialiseer. Q is die aksiewaardefunksie.
Hierdie funksie is die agent se raming van die optimale aksiewaardefunksie. In ons
geval is dit 'n waarde wat se wat die waarskynlikheid is dat die gebruiker 'n gegewe
toestand sal kies. As van hierdie waardes reeds beskikbaar is, kan Q daarmee
geinisialiseer word; so nie kan Q met nul-waardes gelaai word.
Die evalueringsfunksie Q(x,a) (1-a)Q(x,a) + ot[r + yU(y)], waar U(y) = Q(y,f(y)), is
die kruks van die Q-leeralgoritme. Die waarde van a is die leertempo. Watkins en
Dayan het bewys dat die waarde van Q sal konvergeer as
2
Eai=-, [ai] <- • i=.
'n Gepaste reeks wat waardes vir a kan verskaf en wat aan bogenoemde vereistes
voldoen, is die hiperharmoniese reeks E 1- wat as q>1 konvergent en as 4?.1 k k
divergent is [99].
Die y is 'n diskontowaarde. Hierdie waarde beteken dat belonings wat s-stappe van
nou of aanvaar, minder werd gaan wees as op daardie oomblik, met 'n faktor van y c
(0<y<l).
CCI
164 Implementering van die Q-lerende algoritme
16.3.1 Hoofskerm
Q Learning
ffelp
A
ser Choice-
OChoiceik
°Choice B
164Choice.0
()Choice D
he set of colours represent state: 14
MF1
71kily Choice
,Choice A
0,Choice B
0 Choice C
OChoice D
16.3 Demonstrasiestelsel
In hierdie afdeling gaan die skermuitleg van die demonstrasiestelsel gegee word, met
'n kort bespreking van die funksionaliteit daarvan.
Figuur 16.1: Hoofskerm
Die hoofskerm bestaan uit drie dele, nl.:
'n Versameling kleure.
Verskillende keuses ten opsigte van kleure.
'n Keusestaat.
Die versameling kleure stel verskillende tipes roosters voor. Vir die doeleindes van
die demonstrasie is daar besluit om, eerder as om 'n rooster te vertoon, 'n kleur te
vertoon. As 'n rooster vertoon word, is dit moeilik om die vertragingsattribuut aan te
toon. 'n Kleur stel dus 'n versameling attribute voor. In die vorige paragraaf het ons
gesien dat 'n rooster in een van slegs agt toestande kan verkeer. Elkeen van hierdie
Implementering van die Q-lerende algoritme 165
toestande het 'n spesifieke kleur. Eerder as om die rooster te vertoon, word die kleur
vertoon. In hierdie demonstrasie word die gebruiker van vier roosters (kleure)
voorsien. Die roosters is van A tot D genommer.
In die tweede deel van die skerm oefen die gebruiker nou een van hierdie opsies uit.
Elke versameling van vier kleure stel een toestand voor. Soos reeds in die vorige
paragraaf gesien, is daar 'n moontlikheid van 70 toestande. Vir elke toestand kies die
gebruiker nou 'n kleur. Dit beteken dat as 'n gebruiker van vier roosters voorsien
word, hy een daarvan as sy rooster van keuse sal kies. Die rekenaar leer nou in watter
omstandighede hy watter kleur verkies. Die tweede kolom van keuses dui aan watter
een van die keuses die rekenaar sou kies. In ons voorbeeld kies die gebruiker keuse C,
terwyl die rekenaar keuse A kies. In hierdie stadium is die rekenaar nog verkeerd,
maar met verloop van tyd sal dit leer om die regte keuse uit te oefen.
Die derde deel van die skerm dien as keusestaat.
16.3.2 Statistiekskerm
Hierdie skerm toon aan hoe die rekenaar besig is om te leer. In ons voorbeeld moet
die rekenaar leer dat antwoord C die korrekte een is. Op die statistiekskerm kan ons
sien dat die nutswaarde van "Action 3" wat met keuse C ooreenkom, besig is om te
styg. Die rekenaar sal die aksie met die hoogste nutswaarde 90% en 'n willekeurige
antwoord 10% van die tyd as die korrekte antwoord kies. Dit verseker dat die hele
oplossingsruimte verken word.
Implementering van die Q-lerende algoritme 166
Zit Perfoiinance Statistics Statistics for Last State:
Show statistics for state: (Utility, Learn Rate)
0.500 :1 0.701 : 2 1.061 :10 0.000 : 0
11
r-.) Lt. EillllilECII ......
_ AC1ibiil , A2- 3- •.Aciion4
'''P
1
0.00
0.00
El Action
.. . .. _
Action 4 , '
-0.50 -0.50
-0.50
-0.50 -0.50
-0.50
-0.50
-0.50
-0.50
-0.50
-0.50 -0.70
-0.50
-0.50
-0.50
-0.70
-0.70
-0.70
-0.70
-0.70
0.50 1.01
0.94
0.99
1.01
1.03
1.04
1.05
1.06
1.06
0.00 0.00
0.00
0.00
0.00
0.00
0.00
0.00
2.-- 3
4 - 5
.67- --&-...:. 7.„ ,..,
g ,FO
1 ,
Quit,
Figuur 16.2: Statistiekskerm
Die stelsel kan ook die nutswaardes in tabelvorm weergee. Figuur 16.3 toon aan dat
die nutswaarde van "Action 3" vir toestand 11 tot 1.01 toeneem en dan weer tot 0.94
afneem, waarna dit weer stadig toeneem en begin om te konvergeer. Die rede
hiervoor is die 10%-kans dat die rekenaar 'n verkeerde besluit mag neem.
Implementering van die Q-lerende algoritme 167
-0.500 :1 -0.500 :1 1.044 :10 0.000 : 0
Utility Values For State 7
1.00
To 0* SD > -
P_ 0.00
-0.50 0 0-0 .
-1.00 2 3 4.:.? 5 'S 7 8 9- 10 -
.„ ,.Number of iteredions 2, ,t,
El Action 1
Action 2
Action
0 Action
Performance Statistics
Show statistics for state: Statistics for Last State: (Utility, Learn Rate)
4
rT Quit.
Value for Alpha
Value for Gamma
Number of Epochs
Correct Answer
0.10
1000
C
Cancel I
Help ;
Figuur 16.3: Statistiekskerm II
16.3.3 Parameterskerm
Figuur 16.4: Parameterskerm
Op die parameterskerm kan die gebruiker die verskillende parameters van die Q-leer-
algoritme invoer. Die eerste waarde is die Alpha-waarde, wat die leertempo voorstel.
Implementering van die Q-lerende algoritme 168
Die leertempoparameter is groter en gelyk aan 0 en kleiner as 1. Hierdie waarde
bepaal hoe vinnig die nutswaarde gaan konvergeer.
Die tweede parameter is die Gamma-parameter. Hierdie is die diskontowaarde wat in
die vorige paragraaf bespreek is. Hierdie waarde beteken dat belonings wat s-stappe
van nou of aanvaar, minder werd as op die huidige oomblik gaan wees. Verskillende
waardes van hierdie parameter bepaal hoe vinnig 'n oplossing in die toekoms
"afgeleer" kan word. Gewoonlik wil ons he dat, soos die algoritme leer, hy moeiliker
afleer. Dit beteken dat as 'n gebruiker baie lank dieselfde keuse uitoefen, die rekenaar
dit sal onthou en dit moeilik sal afleer as die gebruiker sy keuse sou verander. Dit is
veral handig as keuses wat senior skeduleerders maak, onthou moet word wanneer
nuwe skeduleerders in diens geneem word.
Die laaste twee parameters, nl. die "Epochs" en die "Correct Answer"-parameter het
met die beheer oor die simulasie te make. Die simulasie is voorsien van 'n "Auto"-
keuse wat 'n gebruiker simuleer. Die "Epochs"-waarde bepaal hoeveel keer die
simulasie uitgevoer gaan word en die "Correct Answer"-parameter dui aan watter
keuse die gebruiker gaan uitoefen. In ons voorbeeld gaan 'n denkbeeldige gebruiker
1000 keer verskillende roosters getoon word en hy gaan elke keer keuse C uitoefen.
Met hierdie outomatiese opsies kan die Q-leeralgoritme uiters doeltreffend deur
simulasie geevalueer word.
Die "Manual"-opsie op die hoofskerm word gebruik as die gedrag van 'n werklike
gebruiker vasgele moet word. Elke keer as hy die "Manual"-knoppie druk, word hy
van 'n nuwe versameling roosters voorsien.
16.4 Samevatting
In hierdie hoofstuk het ons gesien hoedat die Q-leeralgoritme toegepas kan word om
te sien watter van 'n aantal roosters die beste een vir 'n gegewe situasie sal wees. 'n
Demonstrasiestelsel is gdmplementeer om te toon dat die teorie wel haalbaar is en
goeie resultate lewer.
Implementering van die Q-lerende algoritme 169
17. Implementering van 'n verspreide skeduleerder
In hierdie hoofstuk gaan ons bespreek hoe die oplossing vir die bemarkinggedrewe
skeduleringsprobleem wat in Hoofstuk 13 bespreek is, prakties toegepas word. Die
bemarkinggedrewe skeduleringsprobleem word as 'n verspreideskedulering-probleem
gesien. Die metodes wat in hierdie hoofstuk, asook in Hoofstuk 12 genoem word, kan
ook vir ander skeduleringsprobleme uitgebrei word. Hierdie hoofstuk open met 'n
bespreking van die argitektuur wat gebruik is om die oplossing te implementeer. Onder
die argitektuur word die hardeware, die sagteware en die kommunikasieprotokolle wat
geImplementeer is, bespreek. Hierna gaan ons na die hoevlak-ontwerp en die formaat van
die boodskappe wat rondgestuur word, kyk. Die hoofstuk word afgesluit met 'n
ondersoek na die oplossings, asook na die gehalte van die oplossings, wat gegenereer is.
17.1 Argitektuur
In hierdie paragraaf gaan ons kyk na die argitektuur wat gebruik is om die verspreide
skeduleerder te implementeer. Die argitektuur gaan onder drie hoofde behandel word, nl.
hardeware, sagteware en kommunikasieprotokolle.
17.1.1 Hardeware
Die hardeware waarop die oplossing gdmplementeer is, is SUN SPARC 10-werkstasies.
Die bedryfstelsel wat gebruik word, is SUN Solaris 4.2, wat met die AT&T 5.4 Unix-
standaard ooreenkom. Die leerbediener is 'n SUN Enterprise Server 2000-masjien. Die
applikasie is op die leerbediener geInstalleer. Die leerstelsel waarop die applikasie
geInstalleer is, is d.m.v. NFS ("Network File System") aan al die werkstasies sigbaar
gemaak. Die werkstasie sien die applikasie as lokaal tot die werkstasie, eerder as lokaal
tot die leerbediener.
Implementering van 'n verspreide skeduleerder 170
Die netwerkprotokol wat die werkstasies, asook die leerbediener gebruik, is IBM se 16M
Token Ring-protokol. Daar is ongeveer 30 werkstasies op hierdie netwerk geinstalleer.
Die hardeware wat gebruik is, word in Tabel 17.1 opgesom.
Tabel 17.1: Hardeware Profiel Masjien Geheue Verwerkers
Enterprise Server 1GG 8
Sun Sparc 10 48 MG 1
17.1.2 Sagteware
Die applikasie is ontwikkel in die programmeertaal "Java" wat deur Sun Microsystems
ontwikkel is. Sun Microsystems se amptelike definisie van Java is [100]:
Java: 'n Eenvoudige, objekgeorienteerde, verspreide, geInterpreteerde,
robuuste, veilige, argitektuuronafhanklike, oordraagbare, hoe
werkverrigting-, multiproses-, dinamiese taal.
In hierdie definisie word sekere aspekte aangespreek. Hulle sluit in:
Eenvoudig: Java is op die C++ taal gebaseer. Die rede hiervoor is dat 90% van die
wereld se programmeerders C gebruik en omtrent alle objektgeorienteerde
programmering in C++ gedoen word. Dit is dus redelik eenvoudig vir 'n
programmeerder om Java aan te leer as by reeds oor C of C++ ondervinding beskik.
Java vereenvoudig C++ deur nie dinamiese wysers ("pointers"), strukture,
multidimensionele matrikse, ens., toe te laat nie [101].
Objekgeorienteerd: Java is deel van 'n familie programmeringstale wat daarop fokus
om data te sien as objekte met metodes wat gebruik word om die objekte te
manipuleer. Om Java eenvoudig te hou, is daar besluit om nie meervoudige
oorerwing in Java toe te laat nie. "Meervoudige oorerwing" is 'n objekgeorienteerde
term wat gebruik word om aan te dui dat 'n objek van meer as een objek eienskappe
kan erf.
Verpreid: Java maak dit moontlik om informasie, asook werklading tussen 'n aantal
masjiene te versprei.
Implementering van 'n verspreide skeduleerder 171
Argitektuuronafhanklik: Java is 'n taal wat geInterpreteer word. Die voordeel hiervan
is dat 'n Java-applikasie op enige argitektuur wat die Java-interpreteerder geInstalleer
het, uitgevoer kan word. Java is in 'n sekere sin ook saamgestel ("compiled") in die
sin dat kode eers nd greepkode saamgestel word. Hierdie greepkode word dan
geInterpreteer.
Robuust: Java is robuust in die sin dat dit 'n betroubare taal is. 'n Groot hoeveelheid
toetsings word gedurende samestelling ("compile time") uitgevoer, sodat foute
vroegtydig blootgele kan word.
Veilig: Java word gesien as 'n redelik veilige taal. Sommige eienskappe, soos die feit
dat dit geInterpreteer, asook saamgestel word, bevorder sekuriteit. Een van die
eienskappe wat Java veilig maak, is die feit dat Java-programme nie direk geheue
kan lees of skryf nie. Java verseker ook dat programme virusvry sal wees [102].
Oordraagbaar: Aangesien Java argitektuuronafhanklik is, is dit ook maklik
oordraagbaar.
Multiproses: Java maak dit moontlik om 'n hele aantal prosesse gelyktydig uit te
voer. Wat dit vir Java-gebruikers beteken, is dat hulle nie hoef te wag dat een taak
afgehandel word voordat hulle met die volgende een begin nie.
Dinamies: Omdat Java geInterpreteer is, maak Java dit maklik om sagteware-
biblioteke op te gradeer sonder om die applikasies óór saam te stel ("compile").
In Java kan applikasies op twee maniere geImplementeer word, nl. as 'n "applet" of 'n
"application". Om "Applet" te sien uitvoer, het mens 'n "World Wide Web"-navigeerder
nodig. 'n Java-"application" het egter nie 'n navigeerder nodig nie. Daar is besluit om
die verspreide skeduleerder as 'n Java-"application" te implementeer. Die rede hiervoor
is dat 'n Web-navigeerder dan nie nodig is nie. 'n Java-"Application" is ook baie meer
buigsaam as 'n "applet". 'n "Applet" moet sekere eienskappe van die "Applet"-klas erf.
Vir 'n "application" is dit nie nodig nie. 'n Java-"application" het dieselfde
buigsaamheid as enige derdegenerasie-taal, by. C, C++, Smalltalk, Ada, ens.
Implementering van 'n verspreide skeduleerder 172
17.1.3 Kommunikasieprotokolle
Java het dieselfde Unix-wortels as die Internet. Java is van die begin of as 'n netwerktaal
ontwerp [100]. Ons gaan van die TCP/IP ("Transmission Control Protocol/Internet
Protocol") vir kommunikasie gebruikmaak. Ons gaan in hierdie paragraaf aanvaar dat
die leser oor 'n basiese kennis van die TCP/IP-protokol beskik.
'n Belangrike konsep in TCP/IP-kommunikasie is die konsep van diensverskaffer. 'n
Diensverskaffer lewer 'n aantal dienste wat 'n gebruiker kan gebruik. Voorbeelde van
sodanige dienste is Mail, wat 'n elektroniesepos-hulpmiddel is, en FTP, wat vir
leeroordragte gebruik word, ens.
Elkeen van hierdie dienste kom met 'n poort ("port") ooreen. 'n Poort is 'n numeriese
adres waardeur dienste aangevra word (bv. om 'n Web-bladsy aan to vra) [100].
Ingevolge 'n Unix-stelsel word al die dienste wat aangebied word, in die /etc/services-
leer aangedui. 'n Paar lyne uit hierdie leer lyk soos volg:
daytime 13/udp
ftp 21/tcp
telnet 23/tcp
www 80/tcp
Die eerste kolom dui die diens aan wat gelewer word. Die tweede kolom dui die poort
en protokol aan. Uit hierdie voorbeeld kan ons sien dat "World Wide Web"-toegang
deur poort 80 geskied en dat TCP die protokol is wat gebruik word.
Die Java-, asook die Unix-konsep wat baie belangrik is, is die konsep van "socket". Ons
verspreide skeduleerder gaan uitsluitlik van "sockets" gebruikmaak vir kommunikasie.
"Sockets" is op die klient/bediener-model gebaseer. Een program (bediener) lewer 'n
diens by 'n spesifieke Internet-adres en -poort. Die bediener luister vir diensaanvrae deur
Implementering van 'n verspreide skeduleerder 173
die gespesifiseerde poort. Enige program wat 'n diens verlang, moet die Internet-adres,
asook die poort waardeur die diens gelewer word, van die bediener ken.
Een voorbeeld van die "socket"-model is dat die bediener nie hoef te weet waar die
diensaanvraag vandaan kom nie. Solank die klient sy navrae volgens die TCP/TP-
protokol stuur, sal die navrae by die bediener uitkom. Dit beteken ook dat die klient
enige tipe rekenaar kan wees. Enige rekenaar wat TCP/IP ondersteun, kan met enige
ander rekenaar kommunikeer wat die "socket"-model ondersteun.
In ons kommunikasie gaan ons van datagramme gebruikmaak. 'n "Datagram" is 'n tipe
"socket". Die gewone "socket"-kommunikasie maak vir 'n virtuele konneksie tussen die
klient en die bediener voorsiening. Dit beteken dat wanneer 'n klient met die bediener
konnekteer, daar 'n kommunikasiesessie geskep word. Hierdie kommunikasiesessie bly
in stand totdat die kommunikasieverbinding verbreek word. Datagramme is baie
vinniger as die gewone "socket"-kommunikasie, aangesien daar nie 'n sessie geskep
word nie. Die klient stuur slegs 'n stroom van grepe na 'n spesifieke poort op die
bediener. Die bediener luister dan op die poort en verwerk die stroom data wat inkom.
As die bediener inligting aan die klient wil stuur, stuur die bediener slegs 'n stroom grepe
na die Internet-adres en -poort waarop die klient luister.
Die voorgaande paragrawe verteenwoordig 'n hoogs teoretiese inleiding tot Internet-
kommunikasie. Daar is egter so baie om nog in die verband te se, dat dit bykans
onmoontlik is om al die aspekte van kommunikasie te bespreek. In die volgende
paragraaf gaan ons aan die hand van 'n voorbeeld aantoon hoe die kommunikasie vir die
verspreide skeduleerder geskied.
17.1.4 Voorbeeld van die implementering van netwerkprotokolle
In hierdie paragraaf gaan ons aan die hand van 'n voorbeeld kyk hoe Internet-
kommunikasie werk.
Implementering van 'n verspreide skeduleerder 174
Elkeen van die blokkies in Figuur 17.1 hieronder stel 'n agent voor. Die eerste lyn toon
die agent se naam, die tweede lyn die masjiennaam, die derde lyn die Internet-adres en
die vierde lyn die poort waarop die agent luister.
Agent 1
ROYSTON
192.9.202.72
Agent 2
SUMMERVILLE
192.9.202.80
Agent 3
ROYSTON
192.9.202.72
Figuur 17.1: Agente op die netwerk
Gestel Agent 1 wil aan Agent 2 die volgende boodskap stuur: "Stuur vir my die
vlugnommer vir die vlug om 08:00." Die kommunikasie sal dan soos volg verloop:
Agent 1: Agent 1 stel 'n datagram op wat soos volg lyk: "10:0800:1:1000". Die
dubbelpunt dui 'n veldskeiding aan. Die eerste veld dui die tipe boodskap
aan. In hierdie geval, tipe 10. 'n Tipe 10-boodskap is 'n boodskap wat
vra dat 'n vlugnommer gestuur moet word vir die tydstip in veld 2 van die
datagram genoem. Veld 2 in die datagram is 0800. Die datagram vra
dus: Stuur vir my die vlugnommer van die vlug wat om agtuur die oggend
vertrek. Die derde veld dui die naam van die senderagent aan en die
vierde veld dui die poort aan waarop die agent luister. Die agent stuur
dan daardie datagram aan Agent 2 by die Internet-adres 192.9.202.80 en
poort 1000.
Agent 2: Agent 2 luister die heeltyd op poort 1000. Sodra Agent 2 'n datagram
ontvang, kyk hy na die eerste veld om to sien watter tipe boodskap dit is.
As Agent 2 die datagram van Agent 1 ontvang, sien hy dat dit 'n navraag
na 'n vlug om agtuur die oggend is. Die agent bou nou 'n nuwe datagram
Implementering van 'n verspreide skeduleerder 175
op om aan Agent 1 te stuur. Hierdie datagram lyk soos volg:
"11:SA204:0800". Agent 2 stuur nou hierdie datagram aan die Internet-
adres van Agent 1, wat op poort 1000 luister. Die 11 in die eerste veld
van die datagram dui aan dat dit 'n boodskap is wat 'n vlugnommer op 'n
sekere tyd van die dag aandui. Die tweede veld stel die vlugnommer voor
en die derde veld stel die tyd van die vlug voor.
In hierdie voorbeeld is Agent 3 en Agent 1 by dieselfde Internet-adres. Dit beteken dat
hulle op verskillende poorte moet luister. Dit is ook belangrik om daarop te let dat
wanneer 'n agent 'n boodskap aan 'n ander agent wil stuur, by nie noodwendig die ander
agent se Internet-adres benodig nie. Die Agent wat 'n boodskap stuur, hoef dus slegs te
weet wat die naam van die masjien is waar die ontvanger is. Die rede hiervoor is dat
daar 'n diens op die Internet gelewer word, genaamd DNS ("Domein Naming Service")
wat die naam van 'n masjien in 'n Internet-adres vertaal. As mens by. vir die DNS-diens
vra wat die Internet-adres van die masjien "royston" is, sal dit met die antwoord
192.9.202.72 terugkom.
Noudat ons gesien het hoe die argitektuur lyk waarop ons stelsel geImplementeer is,
gaan ons na die ontwerp van die oplossing kyk.
17.2 Hoevlak-ontwerp
In hierdie paragraaf gaan ons na die hoevlak-ontwerp in die stelsel kyk. Ons gaan in die
verband basies drie onderwerpe in hierdie paragraaf bespreek, nl. die struktuur van die
agente, die dinamika van die agent en die formaat van die boodskappe wat rondgestuur
word.
17.2.1 Agentstruktuur
In ons dinamiese skeduleerder gaan daar drie tipe agente optree, naamlik 'n tydagent, 'n
koordineerder en 'n skeduleringsagent. Die notasie wat gebruik gaan word om 'n agent te
definieer, kom ooreen met die notasie wat in Hoofstuk 9 is vir agente gedefinieer.
Implementering van 'n verspreide skeduleerder 176
17.2.1.1 Tydagent
Die doel van die tydagent is om al die agente in die stelsel te sinchroniseer. Die agente
stuur elke sekonde 'n tyddatagram aan die koOrdineerder, wat dit dan weer aan at die
ander agente stuur. Die frekwensie van die puls kan ook verstel word. In ons toepassing
word daar elke sekond 'n puls uitgestuur. Die puls kom met 'n uur van die dag ooreen.
Puls 0 is 06:00, puls 1 is 07:00, puls 2 is 08:00, ens. Daar word vir
demonstrasiedoeleindes elke sekonde 'n puls uitgestuur.
Tydagent • Koordineerdermasjien • Koordineerderpoort • Frekwensie van puls • Stuur puls • Om 'n tydboodskap aan die
koordineerder te stuur • Responstyd kom met
"frekwensie van puls"- attribuut ooreen
• DNS. "Socket"-klas van Java
Figuur 17.2: Struktuur van 'n tydagent
Die tydagent beskik oor inligting aangaande die naam van die masjien waar die
koordineerder horn bevind, asook aangaande die poort waarop die koordineerder luister.
Die enigste metode van die tydagent is om 'n tydpuls na die koordineerder te stuur.
17.2.1.2 KoOrdineerderagent
Die taak van die koordineerder is om sentraal inligting te stoor, asook om die
middelpunt van kommunikasie tussen die agente te wees. Die take van die
koordineerderagent behels die volgende:
Registreer agente.
Stuur tydpuls aan geregistreerde agente.
Stuur inligting aangaande at die agente wat reeds geregistreer het, aan die agent wat
registreer.
Stuur inligting aangaande die agent wat geregistreer het, aan al die agente wat
geregistreer is.
Implementering van 'n verspreide skeduleerder 177
• Teken 'n Gantt-kaart om aan te dui watter vlugte reeds geskeduleer is.
Indien 'n agent aan die skedulering wil deelneem, moet hy by die koordineerder
registreer. Sodra die agent geregistreer het, gebeur daar drie dinge. Die eerste een is dat
die registrerende agent die naam van die masjien waar hy horn bevind, asook die poort
waarop hy luister, van al die ander agente wat aan die skedulering deelneem, ontvang.
Dit beteken dat wanneer die agent by 'n ander agent wil bie, hy die naam het van die
masjien waar die agent horn bevind, asook die poort waarop die agent luister. Die
tweede ding wat gebeur, is dat die koordineerder die naam van die masjien, asook die
poort waarop hy luister, van die agent wat besig is om te registreer aan al die ander
agente in die netwerk stuur. Die derde ding wat gebeur, is dat die agent wat registreer,
nou gereeld 'n tydpuls van die koordineerder ontvang.
Sodra agente begin skeduleer, stuur hulle die vlugbesonderhede van al die vlugte wat
suksesvol geskeduleer is, aan die koordineerder, wat dan die grafiese Gantt-kaart
bywerk.
Figuur 17.3 hieronder toon 'n diagrammatiese voorstelling van die koordineerderagent.
Hierdie diagram is gebaseer op die notasie wat in Hoofstuk 9 gedefinieer is.
Koordineerderagent •
o
Lys van alle geregistreerde agente (agent se naam, masjiennaam, poort) Gantt-kaart van vlugte
•
•
• •
Stuur details van geregistreerde agente aan agent wat besig is om te registreer Stuur details van registrerende agent aan al die geregistreerde agente Stuur tydpuls aan alle geregistreerde agente Werk Gantt-kaart by
• 192.9.202.72 • Dien as sentrale punt van inligting
• Alle verwerking moet binne die tydperk geskied wat tussen twee opeenvolgende tydpulse verloop
• DNS- en "Socket"-klas van Java
Figuur 17.3: Struktuur van 'n koordineerderagent
Implementering van 'n verspreide skeduleerder 178
17.2.2 Skeduleringsagent
'n Skeduleringsagent behartig al die skedulering in die stelsel. Die hoofdoel van die
skeduleringsagent is om met ander agente te kommunikeer en so 'n goeie skedule op te
stel. Om hierdie doelwit te bereik, poog die agent om die aantal lee sitplekke op 'n
vliegtuig te minimeer, asook om soveel moontlik van die passasiers te vervoer. Die
onderhandelingsprotokol wat gebruik word, is die kontraknetwerk.
Van al die agente in die stelsel is die skeduleringsagent seker die mees komplekse ten
opsigte van die funksies wat dit moet vervul. In Figuur 17.4 word 'n diagrammatiese
voorstelling van 'n skeduleringsagent gegee. Die diagram is gebaseer op die notasie vir
agente wat in Hoofstuk 9 gedefinieer is. Die res van hierdie afdeling sal aan besprekings
van elke afsonderlike metode van die agent gewy word.
Skeduleringsagent • Vraagmatriks • Aanbodmatriks (beskikbare hulpbronne) • Tyd • Lys van geregistreerde agente • Gantt-kaart • Registreer • Verwerk registreerboodskap • Verwerk tydboodskap • Stuur aanbod om te bie • Verwerk aansoek-om-te-bie-boodskap • Verwerk bodboodskap • Ken bod toe • Verwerk bodtoekenningsboodskap • Stuur vlug aan koordineerder • Werk aanbodmatriks by boodskap • Verskaf vervoer aan soveel moontlik passasiers en
minimeer lee sitplekke • Alle verwerking moet binne die tydperk geskied wat
tussen twee opeenvolgende tydpulse verloop • DNS- en "Socket"-klas van Java
Figuur 17.4: Struktuur van die skeduleringsagent
Registreer: Die registreermetode word geroep as die agent aan die skedulering wil
deelneem. Die effek hiervan is dat die skeduleringsagent 'n boodskap aan die
Implementering van 'n verspreide skeduleerder 179
koordineerder stuur wat die agent se naam bevat, die masjiennaam waar die agent horn
bevind, asook die poort waarop die agent luister.
Verwerk registreerboodskap: Sodra 'n agent by die koordineerder registreer, stuur die
koordineerder 'n registreerboodskap aan al die agente in die netwerk. Die
registreerboodskap bestaan uit die masjiennaam en die poort van die registrerende agent.
Die "Verwerk registreerboodskap"-metode van die skeduleringsagent verwerk hierdie
boodskap en werk sy lys van geregistreerde agente by.
Verwerk tydboodskap: Hierdie metode lees die tydboodskap, sien wat die tyd is en
werk die tydattribuut van die skeduleringsagent by.
Stuur aanbod om to bie: 'n Agent skeduleer alle vlugte op 'n gegewe tydstip eers uit
eie hulpbronne. Dit beteken dat wanneer die Kaapstad-skeduleringsagent 'n vlug vanaf
Kaapstad na Johannesburg wil skeduleer, die agent eers sal kyk of daar vliegtuie op die
Kaapstad-lughawe beskikbaar is. Indien daar nie is nie, stuur die Kaapstad-agent 'n
"aanbod-om-te-bie"-boodskap na al die ander agente in die netwerk uit. Die "aanbod-
om-te-bie"-boodskap bestaan uit die volgende brokke inligting, nl. die skeduleringsagent
se naam, die tyd van die dag wanneer die hulpbron benodig word en die getal passasiers
wat vervoer moet word. Die agent stuur dus 'n boodskap uit wat soos volg lees: "Ek
(Senderagent) het 50 passasiers wat om 08:00 vanaf Kaapstad vervoer moet word; het jy
(ontvangeragent) miskien 'n hulpbron beskikbaar?"
Verwerk aansoek -om-te-bie -boodskap: Hierdie metode ontvang die "aansoek-om-te-
bie"-boodskap en kyk dan of die agent moet bie. Wat in werklikheid gebeur, is dat die
metode kyk of daar enige hulpbronne beskikbaar is. As daar hulpbronne beskikbaar is,
kies hierdie metode dan die mees geskikte een. As die agent by. 'n boodskap ontvang
wat vra of hy nie wil bie vir die agtuur vlug uit Kaapstad vir 50 passasiers nie, kyk die
agent of hy om 07:00 'n vliegtuig beskikbaar het al dan nie. Gestel daar is 'n 50 sitplek-
asook 'n 100 sitplek-vliegtuig beskikbaar, kies hy die 50 sitplek-vliegtuig. Die rede
Implementering van 'n verspreide skeduleerder 180
waarom die vlug vir 07:00 geskeduleer word, is omdat die vliegtyd na Kaapstad een uur
is. Daar word aangeneem dat in die vlugnetwerk al die lughawens een uur se vlieg
uitmekaar is, ongeag die afstand tussen die lughawens of die vliegtuigtipe wat gebruik
word. Wanneer die agent 'n hulpbron gevind het, stuur hy 'n bodboodskap aan die
sender van die "aansoek-om-te-bie"-boodskap. Die bodboodskap bevat die naam van
die agent wat bie, die vliegtuigtipe wat beskikbaar is en die tyd wanneer die agent die
vliegtuig kan skeduleer.
Verwerk bodboodskap: Hierdie metode verwerk al die botte wat inkom. Dit kies dan
die bod waarvan die hulpbron beloof die naaste aan die hoeveelheid passasiers te wees.
Nadat die skeduleringsagent op 'n bod besluit het, stuur hy 'n toekenningsboodskap aan
die sender van die bod. Die toekenningsboodskap bestaan uit die vliegtuigtipe, die naam
van die agent (die agent wat die bod toeken) en die tyd van die dag wanneer die vlug
geskeduleer moet word.
Ken bod toe-boodskap: Hierdie metode stuur 'n boodskap aan die agent op wie die bod
toegeslaan is. Die boodskap bestaan uit die vliegtuig wat vir die skedulering gebruik
moet word, die tyd waarop die vliegtuig geskeduleer moet word, asook die agent wat die
bod toegeken het.
Verwerk bodtoekenningsboodskap: Hierdie metode verwerk die toekennings-
boodskap deur te kyk watter vliegtuig hy gedurende watter tyd na watter lughawe moet
stuur.
Stuur vlug aan koordineerder: Sodra 'n vlug geskeduleer word, hetsy deur eie
hulpbronne of deur bodtoekenning, word die "stuur-vlug-aan-koordineerder"-boodskap
aan die koordineerder gestuur. Die koordineerder werk dan die Gantt-kaart by wat die
skedule van die hele netwerk voorstel.
Implementering van 'n verspreide skeduleerder 181
Werk aanbodmatriks by-boodskap: Sodra 'n vlug geskeduleer word, moet die
aanbodmatriks van die ontvanger bygewerk word. As ek by. om 08:00 'n vlug vanaf
Kaapstad na Johannesburg skeduleer, beteken dit dat daar om 08:00 een vliegtuig minder
in Kaapstad sal wees, terwyl daar om 09:00 een vliegtuig in Johannesburg sal bykom.
In hierdie paragraaf het ons gekyk na die struktuur van al die agente wat deelneem aan of
by die skeduleringsproses betrokke is. In die volgende paragraaf gaan ons kyk na die
spesifieke struktuur van die boodskappe wat rondgestuur word.
17.2.3 Boodskapformaat
In hierdie paragraaf gaan ons ,kyk na die formaat van die boodskappe wat tussen die
agente rondgestuur word. Die notasie kan soos volg voorgestel word:
0 1 2 3 4 5 6 7 .. n
ABCDEF GH..X
In hierdie formaat dui die eerste ry die posisie in die boodskap aan, terwyl die tweede ry
die waardes aandui wat by die posisie gestoor word. Die boodskap word as 'n stroom
grepe saamgestel. Elke posisie is dus die verwysing na een greep. Posisie 0 in die stroom
dui altyd die tipe boodskap aan.
Tydboodskap
0
100 Tyd
Posisie 0 dui aan dat hierdie 'n tipe 100-boodskap (tydboodskap) is, terwyl posisie 1 'n
greep is wat die tyd van die dag aamdui.
Implementering van 'n verspreide skeduleerder 182
"Stuur besonderhede van registrerende agent aan at die ander agente"-boodskap
0
20
99 Masjiennaam
Poort
Posisie 0 dui aan dat hierdie 'n tipe 99-boodskap is ("stuur besonderhede van
registrerende agent aan al die ander agente"-boodskap). Posisie 1 tot 20 dui die naam van
die masjien aan waar die registrerende agent horn bevind. Die masjiennaam word vanaf
posisie 1 as 'n string gestoor. Die string word deur 'n NULL ('\0)-karalcter getermineer.
By posisie 20 word 'n greep gestoor wat die poortnommer is waarop die agent luister.
"Stuur besonderhede van at die ander agente aan die registrerende agent"-
boodskap
0
1
20
95 Masjiennaam
Poort
Posisie 0 dui aan dat hierdie 'n tipe 99-boodskap is ("stuur besonderhede van al die ander
agente aan die registrerende agent"). Posisie 1 tot 20 dui die naam van die masjien aan
waar die ander agent horn bevind. Die masjiennaam word vanaf posisie 1 as 'n string
gestoor. Die string word deur 'n NULL ('\0')-karakter getermineer. By posisie 20 word 'n
greep gestoor wat die poortnommer verteenwoordig waarop die agent luister.
"Werk Gantt -kaart by" -boodskap
0 1 2 3 4
90 Vertreklughawe Aankomslughawe Tyd Hulpbron
Posisie 0 dui aan dat hierdie 'n tipe 90-boodskap ("Werk Gantt-kaart by"-boodskap) is.
Posisie 1 dui die nommer van die agent aan wat die vertreklughawe voorstel, posisie 2 dui
die nommer van die agent aan wat die aankomslughawe voorstel en posisie 3 dui die tyd
Implementering van 'n verspreide skeduleerder 183
van die dag aan wanneer die vlug geskeduleer moet word. Posisie 4 dui die tipe vliegtuig
aan wat vir die vlug gebruik gaan word.
Registreer boodskap
0 1 2 .. n
89 Agentnaam Masjiennaam .. Poort
Posisie 0 dui aan dat hierdie 'n tipe 89-boodskap (registrasie) is. Posisie 1 dui die
agentnaam as 'n greep aan. Die masjiennaam word vanaf posisie 2 as 'n string gestoor.
Die string word deur 'n NULL ('\0)-karakter getermineer. By posisie 20 word 'n greep
gestoor wat die poortnommer verteenwoordig waarop die agent luister.
"Werk aanbodmatriks by" -boodskap
0 1 2
94 Tyd Vliegtuig
Posisie 0 dui aan dat hierdie 'n tipe 94-boodskap ("Werk aanbodmatriks by"-boodskap)
is. Posisie 1 dui die tyd van die dag aan wanneer die ontvanger se aanbodmatriks
bygewerk moet word. Posisie 2 dui die vliegtuignommer aan wat bygewerk moet word.
"Stuur aansoek om te bie" -boodskap
0 1 2 3
98 Naam Tyd Pax
Posisie 0 dui aan dat hierdie 'n tipe 98-boodskap (aansoek om te bie) is. Posisie 1 dui die
agentnaam as 'n greep aan. Posisie 2 dui die tyd aan vir wanneer gebie word en posisie 3
dui die getal passasiers aan vir wie 'n hulpbron gevind moet word.
Implementering van 'n verspreide skeduleerder 184
Toekenningsboodskap-formaat
0 1 2 3
96 Vliegtuig Agentnaam Tyd
Posisie 0 dui aan dat hierdie 'n tipe 96-boodskap (toekenning) is. Posisie 1 dui die tipe
vliegtuig aan, posisie 2 die agent se naam en posisie 3 die tydstip toe die bod toegeslaan
is.
In hierdie paragraaf het ons gekyk na die hoevlak-ontwerp van die verspreide
skeduleerder. In die volgende paragraaf gaan ons na die dinamika van die stelsel
ondersoek instel.
17.3 Dinamika
In hierdie paragraaf gaan ons d.m.v. pseudo-kode aandui hoe die programvloei verloop.
Die tydagent se dinamika sal egter nie bespreek word nie, aangesien dit 'n baie
eenvoudige agent is wat slegs 'n tydpuls stuur. Die ko6rdineerder en skeduleringsagent se
dinamika sal egter volledig gespesifiseer word.
17.3.1 Dinamika van die koordineerder
Pseudo-kode vir die koordineerder
Doen vir ewig:
Wag vir 'n boodskap op die poort.
Indien dit 'n tydboodskap is:
Stuur die nuwe tyd aan al die agente wat op die oomblik geregistreer is.
Indien dit 'n registrasieboodskap is:
Onttrek die masjiennaam, agentnaam en die poort uit die boodskap.
Stuur besonderhede van alle geregistreerde agente aan die agent wat op die
oomblik registreer.
Implementering van 'n verspreide skeduleerder 185
Stuur besonderhede van registrerende agent aan al die agente wat op die
lys van geregistreerde agente figureer.
Voeg registrerende agente se besonderhede by die van die lys
geregistreerde agente.
Indien dit 'n Gantt-kaart bywerkboodskap is:
Onttrek die vertreklughawe, die aankomslughawe, die tipe vliegtuig en die
tyd van die dag uit die boodskap.
Dui die nuwe vlug op die Gantt-kaart aan.
Werk nuwe laaifaktor vir die rooster uit.
Einde van doen-vir-ewig-lus.
17.3.2 Dinamika van die skeduleerder
Vervolgens gaan ons na die pseudo-kode kyk wat die skeduleerder beheer.
Pseudo-kode vir die skeduleerder
Stuur registrasiebesonderhede. Die agent stuur 'n boodskap aan die koordineerder wat
aandui wat sy naam, masjien en poort is.
Doen vir ewig:
Wag vir 'n boodskap op die poort.
Indien dit 'n tydboodskap is:
Die skedulering vir die huidige tydstip word nou gedoen. Die agent
skeduleer eers at die vlugte uit beskikbare hulpbronne. Dit word gedoen
deur die vliegtuigkapasiteit so na moontlik by die passasiersvraag aan te
pas. Nadat 'n vlug geskeduleer is, word die aanbodmatriks van die
ontvangeragent bygewerk. 'n Boodskap word ook aan die koordineerder
gestuur om die Gantt-kaart by te werk.
Indien daar nog passasiers oor is nadat al die hulpbronne geskeduleer is,
word daar 'n "aanbod om te bie"-boodskap vir hierdie tydstip vir die getal
passasiers wat nog nie geskeduleer is nie, aan al die ander agente gestuur.
Indien dit 'n "verwerk registrasie"-boodskap is:
Implementering van 'n verspreide skeduleerder 186
Die agent se naam, masjiennaam en poort word uit die boodskap onttrek.
Die agent voeg nou hierdie inligting by die lys van geregistreerde agente
wat bygehou word.
Indien dit 'n "verwerk aansoek om te bie"-boodskap is:
Die agent onttrek nou die bestemming, die tyd van die dag en die vraag uit
die boodskap.
Die agent kyk of daar hulpbronne beskikbaar is om mee te bie. Indien
daar is, word die hulpbron met die kapasiteit naaste aan die vraag gekies.
Die agent stuur nou sy bod aan die bestemming. Die bod bestaan uit die
naam van die agent, die vliegtuigtipe en die tyd van die dag.
Indien dit 'n bod is:
Die bod word in 'n lys van botte gestoor.
Indien dit 'n toekenningsboodskap is:
Die agent onttrek die vliegtuigtipe, die bestemming en die tyd van die dag
uit die boodskap.
Die vlug word geskeduleer en die agent se aanbodmatriks word bygewerk.
Indien dit 'n "bywerk van aanbod"-boodskap is:
Onttrek die vliegtuigtipe en die tyd uit die boodskap.
Werk die aanbodmatriks by.
Verwerk nou die botte:
Tydens hierdie stap gaan die agent deur al die botte in die lys van botte.
Die agent kies nou die bod waarvan die hulpbron in die bod se kapasiteit
die naaste is aan die getal passasiers wat geskeduleer moet word.
Nadat die beste bod gekies is, word 'n toekenningsboodskap aan die agent
gestuur wat die bod gewen het.
'n Vlug word nou met behulp van die nuwe hulpbron geskeduleer.
Die aankomslughawe se aanbodmatriks word bygewerk.
'n Boodskap word aan die koordineerder gestuur om die Gantt-kaart by te
werk.
Einde van doen-vir-ewig-lus.
Implementering van 'n verspreide skeduleerder 187
In hierdie paragraaf het ons gekyk na baie hoevlak-algoritmes van die verskeie agente. In
die volgende paragraaf gaan ons ondersoek instel na die oplossings wat gegenereer word.
17.4 Gehalte van oplossings
In hierdie paragraaf gaan ons kyk na die gehalte van die oplossings wat gegenereer is.
Twee maatstawwe word gedefinieer om aan te toon wat die gehalte van die skedule is.
Die eerste maatstaf is die laaifaktor en die twee is passasiers wat nie opgelaai is nie.
Elke lugredery wil graag he sy vliegtuie moet so vol moontlik wees. Elke lee sitplek is
verlore inkomste vir die lugredery. Vir elke oplossing wat gegenereer word, word daar
aangedui wat die laaifaktor vir die spesifieke skedule is. Hoe hoer die laaifaktor is, hoe
beter rooster is dit.
Dit help ook nie dat al die vliegtuie vol is, maar vele passasiers word nie opgelaai nie.
Ander lugrederye sal dan hierdie passasiers wil vervoer, wat beteken dat die markaandeel
van die lugredery verlaag omdat daar nou so baie lugrederye betrokke is. Elke lugredery
wil dus poog om soveel moontlik passasiers te vervoer. Vir elke oplossing wat deur die
stelsel gegenereer word, word daar ook aangedui hoeveel passasiers nie vervoer is nie.
Die skeduleerder moet dus poog om soveel moontlik passasiers op te laai, maar
terselfdertyd sy laaifaktor so hoog moontlik te hou. Dit baat 'n lugredery nie as by ál die
beskikbare passasiers oplaai, maar sy laaifaktor baie laag is nie.
06:00 07:00 08:00 09:00 10:00 11:00
ZA123 JNB-CPT CPT-JNB JNB-CPT CPT-JNB JNB-CPT CPT-JNB
ZA124 JNB-DBN DBN-PLZ PLZ-CPT CPT-JNB JNB-DBN DBN-JNB
ZA125 JNB-PLZ PLZ-CPT CPT-JNB JNB-CPT CPT-JNB JNB-CPT
ZA126 JNB-PLZ PLZ-JNB JNB-PLZ PLZ-JNB JNB-PLZ PLZ-JNB
Figuur 17.5: Voorbeeld van 'n vlugskedule
Implementering van 'n verspreide skeduleerder 188
Al die oplossings wat gegenereer word, word deur 'n Gantt-kaart voorgestel. Die
horistontale as dui die tyd van die dag aan, terwyl die vertikale as die hulpbron aandui.
Figuur 17.5 hierbo toon 'n voorbeeld van 'n Gantt-kaart wat die stelsel genereer.
Dit blyk duidelik uit Figuur 17.5 hierbo watter vliegtuie watter vlugte gaan onderneem.
Saam met elke skedule wat gegenereer word, word daar ook aangetoon wat die laaifaktor
is en ook hoeveel passasiers nie opgelaai is nie. Hierdie twee waardes gee 'n aanduiding
van die mate waarin die skedule aan die vereistes van die passasiers, asook die van die
lugredery, voldoen.
17.5 Samevatting
In hierdie hoofstuk het ons 'n verspreide skeduleerder voorgestel om die
bemarkingskeduleringsprobleem mee op te los. Die kontraknetwerkprotokol is as
onderhandelingsprotokol gebruik. Die stelsel is op SUN SPARC-masjiene
geImplementeer en maak van die Solaris-bedryfstelsel gebruik. Java is as
programmeringstaal gebruik om die stelsel te implementeer. Die keuse van Java as
programmeringstaal was 'n goeie besluit, want Java beskik oor reeds ingeboude funksies
om kommunikasie te behartig. Java verseker ook dat die projek oordraagbaar is na enige
platform wat die Java-interpreteerder ondersteun. Die hoofstuk is afgesluit met 'n
bespreking van die formaat van die resultaat, asook van metodes ingevolge waarvan
bepaal kan word hoe goed die resultaat is wat gelewerr is.
Implementering van 'n verspreide skeduleerder 189
18. Samevatting
In hierdie hoofstuk gaan ons kyk of die doelwitte wat in Hoofstuk 1 van hierdie
verhandeling gestel is, bereik is. Daar gaan ook na moontlike verdere
navorsingsgeleenthede gekyk word.
18.1 Gevolgtrekking
Die doelwit van hierdie verhandeling was om die rol wat intelligente agente in
lugrederyskedulering kan speel, te ondersoek. Ten einde die grondslag te kon le om
hierdie doelwit te bereik, het ons gekyk na wat skedulering in 'n lugredery nou eintlik
behels, wat die aard en struktuur van agente is en hoe agente gebruik kan word om die
skeduleringsprobleme van 'n lugredery op te los.
Hierdie verhandeling sou egter hoegenaamd nie in sy doel geslaag het as ons nie ook
kon aantoon hoe die navorsing toegepas kan word om die probleem van
lugrederyskedulering op te los nie. Die onderstaande tabel gee 'n opsomming van die
praktiese toepassing van die navorsing.
Tabel 18.1: Praktiese toepassing van hierdie navorsing
Probleem Oplossing m.b.v. agente Prototipe
Bemarkingskedulering
(Hfst. 4)
Verspreide skedulering
(Hfst. 13)
Verspreide skeduleerder
(Hfst. 17)
Bemanningskedulering
(Hfst. 5)
Roeteringsagent (Hfst. 14)
Plasingsagent (Hfst. 14)
Lerende plasingsagent
(Hfst. 14)
Dieselfde tegnologie as die
van die lerende agent.
GeIntegreerde skedulering
(samewerking tussen
bemarking- en bemanning-
skedulering)
Iteratiewe proses (Hfst. 14)
Operasionele skedulering
(Hfst. 7)
Lerende agent (Hfst. 15) Lerende agent (Hfst. 16)
Samevatting 190
Die tegnologiee wat gebruik is om die probleem op te los, sluit die volgende in:
lerende algoritmes, genetiese algoritmes, produksiestelsels, onderhandelingsprotokolle
en "eerste-kom, eerste-maal"-toue. Daar is gesien dat die gebruik van agente die
modelleerder, oftewel die probleemoplosser, in staat stel om in werklikheid enige
probleemoplossingstrategie in 'n agent te enkapsuleer.
In hierdie navorsing het ons getoon hoe die bemarkinggedrewe skeduleringsprobleem
opgelos kan word met 'n agent wat op 'n netwerk versprei is. Hierdie agente los die
bemarkinggedrewe skeduleringsprobleem op deur met mekaar te onderhandel. In
beginsel word die bemarkinggedrewe skeduleringsprobleem d.m.v. verspreide
skedulering opgelos.
Daar is voorts getoon hoe die bemanningskeduleringsprobleem met sowel 'n
roeterings- as 'n plasingsagent opgelos kan word. Die roeteringsagent maak van
FIFO-toue en genetiese algoritmes gebruik om die skeduleringsprobleem te oorkom,
terwyl die plasingsagent van bie-meganismes en heuristieke gebruikmaak om
bemanning te plaas.
Die operasioneleskedulering-probleem kan m.b.v. 'n hibriede stelsel opgelos word wat
uit 'n produksiestelsel en 'n lerende agent bestaan. Die produksiestelsel maak van
tradisionele ekspertstelsel-tegnologie gebruik, terwyl die lerende agent van die Q-
leeralgoritme gebruikmaak.
18.2 Effektiwiteit
Die implementering van die teorie en toepassings wat in hierdie verhandeling
vermeld is, kan 'n groot impak op die winsgewendheid van lugrederye he. Van die
voordele wat hierdie navorsing vir lugrederye inhou, is die volgende:
* Passasiersvriendelike skedulering: Bitter min (indien enige) stelsels maak van
geoutomatiseerde bemarkinggedrewe skedulering gebruik. Die navorsing in
hierdie verhandeling oor bemarkingskedulering kan as beginpunt in baie lugrederye
se bemarkinggedrewe skedulering dien.
Samevatting 191
Goedkoper bemanningsroeterings: Die gebruik van genetiese algoritmes vir die
skedulering van bemanning het verreikende gevolge vir enige lugredery. Die
S.A.L. se bemanningskoste vir die 767-vloot was byvoorbeeld 20% goedkoper as
die handgedrewe stelsel.
Kennisvaslegging: Lerende algoritmes yang die kennis van ervare skeduleerders
vas. Daar is getoon hoe lerende agente die deskundigheid van operasionele
skeduleerders kan vasvang.
Vinniger skedulering: Waar dit voorheen weke geneem het om te skeduleer, kan
skedules en bemanningsroosters nou in 'n fraksie van daardie tyd gedoen word.
18.3 Navorsingsgeleenthede
Die vraag wat seker nou gevra kan word, is wat hou die toekoms vir
lugrederyskedulering in? Wat is die probleme met bestaande tegnieke en hoe kan
hulle oorkom word? Hierdie verhandeling verteenwoordig die aanvoorwerk om na
die probleme en moontlike oplossings te begin ondersoek instel. Daar is egter nog
vele probleme wat nie opgelos is nie. Van hierdie probleme sluit in:
Ten voile bemarkinggedrewe skedulering. In hierdie verhandeling het ons 'n
oplossing vir hierdie probleem voorgestel deur slegs die tyd van die dag in ag te
neem wanneer 'n passasier wil vlieg. 'n Ander gebied van navorsing is om vas te
stel wat passasiers se voorkeure in die verband is. Daar is egter baie ander
moontlikhede. Passasiers wil graag net met sekere vliegtuie vlieg, passasiers kies
vlugte wat hul aansluitingsvlugte vergemaklik, passasiers kies slegs vlugte wat bo-
aan die CRS-skerms ("Computer Reservation Systems") staan. Laasgenoemde
verteenwoordig slegs 'n paar aspekte van bemarkinggedrewe skedulering.
Bestaande skeduleringsmodelle moet uitgebrei word om hierdie aspekte in ag te
neem.
Prysgebaseerde skedulering. Passasiers is uit die aard van die saak uiters
pryssensitief. Die vraag kan nou gevra word oor hoe die skedules daar sou uitsien
indien die prys van 'n vliegtuigkaartjie verander word. Nog 'n vraag is hoe die
kompetisie hierop sou reageer.
Ooreenkomskedulering. Baie lugrederye het ooreenkomste met ander lugrederye
gesluit om by. mekaar se skedules te gebruik. 'n Passasier kan by. met die S.A.L.
Samevatting 192
tot in Frankfurt vlieg en dan met dieselfde kaartjie met Lufthansa na Berlyn
deurvlieg. Die vraag is nou hoe kan 'n lugredery sy skedule manipuleer om by 'n
ander lugredery se skedule aan te pas sonder om geld te verloor.
• Billike bemanningskedulering. Bemanning dring veral daarop aan dat die roosters
baie billik moet wees. By "billik" word bedoel dat bemanning nie dieselfde roetes
oor en oor wil doen nie, maar dat die rooster ook so gerieflik moontlik vir die
bemanningslede moet wees. Die vraag is egter wat is billik en hoe 'n balans tussen
passasiersgemak en bemanningsgerief gevind kan word.
18.4 Slotopmerking
Die navorsing in hierdie verhandeling het getoon wat die probleem van
lugrederyskedulering in werklikheid behels. Dit het ook 'n aantal oplossings vir
hierdie probleem voorgestel. Daar is hierbenewens getoon dat daar nog 'n paar
probleme bestaan wat opgelos moet word.
Samevatting 193
19. Lys van geraadpieegde werke
1 Genesereth, M.R., Ketchpel, S.P, Software Agents, Communications of the ACM, July 1994/Vol. 37, No. 7, pp. 48 - 53.
2 Shaw, S., Airline Marketing and Management 3rd Edition, Pitmann, London, 1992.
3 International Air Transport Association, Standard Schedules Information Manual, International Air Transport Association, Montreal - Geneva, 1996.
4 Oum, T.H., Taylor, A.J., Zhang, A., Strategic Airline Policy in the Globalizing Airline Networks, Transportation Journal, Spring, 1993, pp. 14 - 30.
5 Tannen, M.B., Deregulation and Airline survival. The case of Braniff Airways, Journal of Economics and Bussiness, v. 46, pp. 55 - 63.
6 De Villiers, L., Slow to take off: Government deregulation at centre of renewed SAA/Flitestar row, Finance Week, Vol. 58, Iss. 3, p. 2.
7 Grube, L., Network Dogfight, Chief Executive, Iss. 110, Jan/Feb 1996, pp. 24 -28.
8 Anonymous, BA Franchise in South Africa, Air Transport World, Vol 33, Iss. 8, p.102.
9 Grafiek goedgunstiglik deur die S.A.L. se passasiersbemarkingsafdeling beskikbaar gestel.
10 Quagliani, L., Functional Requirement Specification: Maintenance & Engineering Management Information System, Interne S.A.L.-dokument, 1988.
11 Boyd, H.W. e.a., Marketing Management: A strategic approach, Irwin, 1990.
12 Tom Peters en Nancy Austin, A Passion for Excellence, Fortune, 13 May 1985, p. 20.
13 Marx, S., Van der Walt, A., Bemarkingsbestuur, Juta & Kie, 1989.
14 Pearce, J.A., Robinson, R.B., Formulation, Implementation and Control of Competitive Strategy, Irwin, Homewood, 1991.
15 Jordi, K., Passenger Forecasting System: Design Document, SAA/ICL Genesis Project, 1995.
16 Greyling, L., De Wet M., Kwantitatiewe Ekonomie, RAU, 1993.
Samevatting 194
17 S.A.L. Interne dokument, South African Airways scheme for the regulation of flight and duty times and minimum rest periods, 8 April 1995.
18 Skermfvoer van die "Crew Pairing System" van die S.A..L.
19 Goosen, C., Functional Requirement Specification - Interactive Slot Scheduling System, ICL/SAA Genesis Project, 1994.
20 Chalmers, T., SAA's R4 billion spending spree: the recent announcement by the South-African flag carrier, World Air News, Vol. 23, Iss. 2, p. 45.
21 Stevenson, W.J., Production/Operations Management, Fourth Edition, Irwin, 1993.
22 El-Rewini, H., Ali, H.H., Task Scheduling in Multiprocessing Systems, Computer, December 1995, pp. 27 - 36.
23 Taha, H.A., Operational Research: An Introduction, Fourth Edition, Macmillan Publishing Company, 1987.
24 Stallings, W., Operating Systems, Macmillan Publishing Company, 1992.
25 Etschmaier, M.M., Mathaisel, D.F.X., Airline Scheduling: An Overview, Transportation Science, 19(2), 1985, pp. 127 - 138.
26 Dantzig, G.B., Linear Programming and Extensions, Princeton University Press, Princeton, 1963, soos aangehaal in: Etschmaier, M.M., Mathaisel, D.F.X., Airline Scheduling: An Overview", Transportation Science 19(2), 1985
27 Simpson, R.W., A review of Scheduling and Routing Models for Airline Scheduling, AGIFORS, 8, 1968.
28 Coad, P., Yourdon, E., Object Orientated Analysis, Yourdon Press, Englewood Cliffs, 1991.
29 Hinsch K., et al., Object-orientated Programming: Its role in computing, Library Software Review, Jan.-Feb. 1990.
30 Van Rensburg, E., Die gebruik van objekgeorienteerde skedulering in vervaardigingsprosesse, M.Sc. Informatika, RAU, 1990.
31 Hartman, J., Die gebruik van objekgeorienteerde programmering in die moderne sneltreinomgewing, M.Sc. Rekenaarwetenskap, RAU, 1989.
32 Stein, R., Dhar, V., Scheduling High-Volume Service Requests, AI Expert, December 1994, pp. 20 - 27.
33 Reeves, C.R., Karatza, H., Dynamic Sequencing of a multi-processor system: A genetic Algorithm approach, in: Artificial Neural Nets and Genetic Algorithms —Proceedings of the Inernational Conference in Innsbruck, Austria, 1993.
Samevatting 195
34 Hill, R.A., Genetic Algorithms, PC AI, May/June, 1996, pp. 27 -33.
35 Matthews, R., Hard Maths? No problem, New Scientist, 28 October 1995, pp. 40 - 43.
36 Huang, X.Y., Xiao, S.H., Zhang, Q., Application of genetic algorithms in train line holding scheduling, Proceedings of the 20th International Conference on Computers and Industrial Engineering, October 6-9, Kyongju, Korea, 1996, pp. 125 - 128.
37 Turban, E., Expert Systems and Applied Artificial Intelligence, Maxmillan, 1992.
38 Ansari, N., Zhang, Z.Z., Hou., H.E.S., Scheduling Computation tasks on a Multiprocessor System by Mean Field Annealing of a Hopfield Neural Network in Neural Networks in Design and Manufacturing, Eds. Wang J. and Takefuji Y, World Scientific, Singapore, 1993.
39 Hopfield, J.J., Tank, D.W. Neural computation of decisions in optimization problems, Biological Cybernetics, 52(4), 1985, soos aangehaal in: Neural Networks in Design and Manufacturing, Eds. Wang J. and Takefuji Y., World Scientific, Singapore, 1993.
40 Kim, M., Kuroda, M., Neural Network Model for Sequencing in a Mixed Model Assembly Line, Proceedings of the 260 International Conference on Computers and Industrial Engineering, October 6-9, Kyongju, Korea, 1996, pp. 551 - 554.
41 Li, Y., Ida, K., Gen, M., Kobuchi, R., Neural Network Approach for Multicriteria Solid Transportation Problem, Proceedings of the 20th International Conference on Computers and Industrial. Engineering, October 6-9, Kyongju, Korea, 1996, pp.769 - 722.
42 Dibbel, J., Smart Magic, Time, Vol 148, No. 1, pp. 13 - 17.
43 Russel, S., Norvig, P., Artificial Intelligence —A modern approach, Prentice Hall, Englewood Cliffs, 1995.
44 King, A., Intelligent Agents: Part 2, AI Expert, March, 1995, pp. 10 - 12.
45 Dorigo, M., Colombetti, M., Robot Shaping: developing autonomous agents through learning, Artificial Intelligence, 71, 1994, pp. 321 - 370.
46 Burke, P., Prosser, P., Distributed Asynchronous Scheduling, in: Applications of Artificial Intelligence in Engineering V, Vol. 2, Manufacture and Planning, Proceedings of the Fifth International Conference, Boston, USA, July, 1990, Computational Mechanics Publications, South-Hampton, 1990.
47 Howard, R.A., Information Value Theory, IEEE Transactions On System Science and Cybernetics, SSC-2:22-26, 1986.
Samevatting 196
48 Konolige, K., A Deduction Model of Belief, Morgan Kaufmann, 1986.
49 Hintikka, J., Knowledge and Belief: An introduction to the Logic of the two Notions, Cornell University Press, Ithaca, 1962.
50 Palmer, D., Does the Center Hold? An introduction to Western Philosophy, Second Edition, Mayfield Publishing Company, 1996.
51 Ishida, T., Parallel, Distributed and Multiagent Production Systems, Lecture Notes in Artificial Intelligence 878, Springer-Verlag, 1994.
52 Smith, P., Expert System Development in Prolog and Turbo-Prolog, Sigma Press, 1990.
53 Agre, P.E., Computational research on interaction and agency, Artificial Intelligence, 72, 1995, pp.1 - 52.
54 Hanks, S., McDermott, D., Modeling a dynamic and uncertain world I: Symbolic and probabilistic reasoning about change, Artificial Intelligence, 66(1), 1994, pp. 1 - 55.
55 Georgeff, M.P., Lansky, A.L. Reactive Reasoning and planning, in: Proceedings AAAI-87, Seattle (1987), pp. 672 - 682.
56 Payton, D.W., Rosenblatt, J.K., Keirsey, D.M., Plan guided reaction, IEEE Trans. Syst. Man Cybern. 20(6), 1990, pp. 1370 - 1382.
57 Drescher, G.L., Made-Up minds: A constructivist Approach to Artificial Intelligence, MIT Press, Cambridge, MA, 1991, soos aangehaal in: Agre, P.E., Computational research on interaction and agency, Artificial Intelligence, 72, 1995, pp.1 - 52.
58 Sagan, C., Broca's Brain: Reflections on the Romance of Science, Penguin Books, 1980.
59 Leaky R., Origins reconsidered, Little Brown Book Company, 1992.
60 Hofstadter, D.R., Godel, Escher and Bach: An Eternal Golden Braid, Penguin Books, 1979.
61 Kraus, S., Wilkenfield, J., Zlotkin, G., Multiagent negotiation under time constraints, Artificial Intelligence, 75, 1995, pp. 297 - 345.
62 Davis, R., Smith R.G., Negotiation as a metaphor for distributed problem solving., Artificial Intelligence, 20:63 - 109, 1983. Reprinted in Readings in Distributed Artificial Intelligence, A.H. Bond en L. Gassser, eds., Morgan Kaufmann, 1988.
Samevatting 197
63 Singh, M.P., Multiagent Systems: A theoretical Framework for Intentions, Know-How and Communications, Lecture Notes in Artificial Intelligence 799, Springer-Verlag, 1994.
64 Burkhardt, A., Speech acts, meaning and intensions: Critical approaches to the philosophy of John A. Searle, Berlin: Gruiter, 1990.
65 Biehler, R.F., Snowman, J., Psychology applied to teaching, Houghton Mifflin Company, Boston, 1993.
66 Skinner, B.F., How to teach animals, Scientific American, 1951, 185(6), pp. 26 -29.
67 Grove, S., Die dans van die brein, Human & Rousseau, Kaapstad, 1994.
68 Quinlan, J.R., Induction of decision trees, Machine LEarning 1, 1 (1986), pp. 81 -106.
69 Mitchell, T., Caruana, R., Freitag, D., McDermott, J., Zabowski, D., Experiences with a Learning Personal Assistant, Communications of the ACM, July 1994, Vol. 37(7), pp. 81 - 91.
70 Shannon, C.E., Weaver, W., The Mathematical Theory of Communication, University of Illinois Press, Urbana, 1949, soos aangehaal in: Russel, S., Norvig, P. Artificial Intelligence: A modern Approach, Prentice Hall, 1995.
71 Narendra, K.S., Thathachar, M.A.L., Learning Automata: An Introduction, Prentice Hall International, Englewood Cliffs, 1989.
72 Paz, A., Introduction to Probabilistic Automata, New-York: Academic Press, 1971.
73 Whitehead, S.D., Lin, L.J., Reinforcement learing of non-Markov decision processes, Artificial Intellligence, 73, 1995, pp. 271 - 306.
74 Almuallim, H., Dietterich, T.G., Learning Boolean concepts in the presence of many irrelevant features, Artificial Intelligence, 69, 1994, pp. 279 - 305.
75 Buntine, W.L., Myths and legends in learning classification rules, in: Proceedings AAAI-90, Boston, MA, 1990, pp. 736 - 742.
76 Segre, A., Elkan, C., A high-performance explanation-based learning algorithm, Artificial Intelligence, 69, 1994, pp. 1 - 50.
77 Sapountzis, T., Using Distributed Processing to Generate Aircraft Rotations at American Airlines, Proceedings of the 33rd AGIFORS Annual Symposium, Evanston, Illinois, 1993.
Samevatting 198
78 Aggoun, A., Beldiceanu, N., Extending CHIP in order to solve comlex scheduling and placement problems, Mathematical and Computer Modelling, Vol. 17, No. 7, pp. 57 - 73, 1993.
79 Beldiceanu, N., Contejean, E., Introducing Global Constraints in CHIP, Publikasie van COSYTEC SA, Parc Club Orsay Universite, 4 rue Jean Rostand, 91893 Orsay Cedex, Frankryk, 1995.
80 DAYSY/AR: Intelligent Crew Rescheduling, Publikasie van COSYTEC SA, Parc Club Orsay Universite, 4 rue Jean Rostand, 91893 Orsay Cedex, Frankryk, 1995.
81 Elder, S., MCS Application Design Overview, International Computers Limited, Interne Dokument, 1992.
82 Inside Bussiness Column, SAA develops internationally marketable system, Flight Path, Februarie, 1996.
83 Watson, A., Schedule Planning System: Design Document, SAA/ICL Genesis Project, 1995.
84 Langerman, J.J., Syntax of IRS Heuristic Language, SAA/ICL Genesis Project, 1996.
• 85 Benest, J., Crew Rostering System: High Level Design Document, SAA/ICL
Genesis Project, 1995.
86 Benest, J., Crew Pairing System: Functional Requirement Specification, SAA/ICL Genesis Project, 1995.
87 Kirkpatrick, S., Gelatt, C.D., Vecchi, M.P., Optimization by Simulated Annealing, Science, Volume 220, No. 4598, 1983, pp. 671 - 680.
88 Langerman, J.J., Ehlers, E.M., The use of learning algorithms in the operational scheduling environment, Proceedings of the 25th International AGIFORS Operational Scheduling and Ground Handling Study Group, Sun City, South Africa, 1996.
89 Chu, H.D., A network model for Reserve Crew assignment, Proceedings of the AGIFORS Crew Management Study Group, Dallas/Fort Worth, Texas, April 1995.
90 Rouge, 0., Cabin Crew Manpower Forecasts, 33rd AGIFORS Annual Symposium, Chicago, Illinois, October 1993.
91 Davidson, G., Tee, J., Day to day disruption — Assessing Susceptibility, Proceedings of the 33rd AGIFORS annual simposium, Chicago, Illinois, October 1993.
Samevatting 199
92 Maddrachia, J., Wylie D., A systematic approach to Airline Operations Systems Modernization, Proceedings of the AGIFORS Ground Resources and Operations Control Study Groups, Dallas/Fort Worth, Texas, October 1995.
93 Melzer, J., Decision Support in OPS Schedule Optimization at Lufthansa, Proceedings of the AGIFORS Ground Resources and Operations Control Study Groups, Dallas/Fort Worth, Texas, October 1995.
94 I.C.L. & Swissair, Heuristieke by SwissAir-skeduleerders verkry.
95 Watkins, C.J., Dayan P., Technical Note: Q-learning, Machine Learning. 82, (1992), pp. 39 - 46.
96 D.W. Aha, D. Kibler, Noise-Tolerant instance-based learning algorithms, Proceedings IJCAI-89, Detroit, MI (1989), pp. 794 - 799.
97 Sammut, S., Hurst, S., Kedzier, D., Michie, D., Learning to fly, Proceedings of the Ninth International Conference on Machine Learning, Aberdeen,. Kauffman, 1992.
98 Aristotle, Politics, soos aangehaal in Aristotle: On Poetry and Style, G.M.A. Grube, Liberal Arts Press, New York, 1963.
99 Engelbrecht, J.C. et al., Analise 1 Differensiaal- en integraalrekening, Uitgewers Mathematicae, 1986.
100 Newman, et al, Special Edition — Using Java, Que, 1996.
101 Van Hoff, A., Shaio, S., Starbuck, 0., What is this thing called Java?, Datamation, 1 Maart 1996.
102 The Java Language: A White Paper. Verkrygbaar by Internet-adres: [email protected] .
Samevatting 200