Lugvaartskedulering met behulp van intelligente agente

213
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

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

Opgedra aan my gunsteling Intelligente agent, Marlize.

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