Ledelse og Erhvervsøkonomi/Handelsvidenskabeligt Tidsskrift/Erhvervsøkonomisk Tidsskrift, Bind 35 (1971)BesætningsplanlægningArtiklen er et koncentrat af en del af forfatterens afhandling udarbejdet til cand. mere. eksamen 1969 f7O ved Handelshøjskolen i København. Afhandlingens faglige formal var for et af Europas største charterselskaber at udvikle en besætningsplanlægningsmetods for cockpitbesætninger. På basis af afhandlingens emne., er det denne artikels formål at vise en operationel måde at formulere en problemstilling verbalt, dernæst at vise hvordan denne problemstilling kan beskrives i en matematisk model og herunder definere modellens elementer. Måling af visse .modelelementer og algoritmen til løsning af modellen er af pladsmæssige hensyn udeladt. Per H. Ellervik *) Side 47
1. Problemstillingen for charterselskabets besætningsplanlægningCharterselskabets
målsætninger for den funktion i selskabet, der vedrører
1) vi onsker at
minimere lenomkostnmgerne til vor stab af
cockpitbesaetninger 2) vi onsker pa.
en hurtig og eiikel made at tildele ruter i et givet
flyveprogram En analyse af relationen mellem den faste årlige gage og de maksimalt forventede årlige dagpenge for hver stillingskategori (luftkaptajn, 2.-pilot, first-officer og flight-engineer) for hver af selskabets flytyper viste, at målsætning nr. 1) var synonym med at minimere antallet af cockpitbesætningsmedlemmer på årsbasis. Det minimale
antal af cockpitbesætningsmedlemmer på årsbasis skulle
*) Forskningsstipendiat, cand. mere., Metodeforskningsgruppen, Handelshøjskolen i København. Side 48
Side 49
sætningsstyrkevilvære for stor for at gennemføre de øvrige af årets sæsoners flyveprogrammer, men ved dels at henlægge den maksimalt tilladte del af alle medlemmers årlige ferie, og dels ved at henlægge al omskoling og træning af besætninger i nye flytyper til sæsonerne udenfor højsæsonen vil man opnå en jævn og rigelig beskæftigelse hen over hele året for samtlige medlemmer i den minimale besætningsstyrke, som højsæsonensflyveprogram vil kræve. For højsæsonens flyveprogram gælder der den meget vigtige egenskab, at programmet gentages uge for uge. Denne egenskab betyder nemlig, at målsætning nr.l ) nu er ensbetydende med at minimere antallet af medlemmer til at gennemføre én uges flyveprogrami Det ugentlige
flyveprograms principielle opbygning er vist i figur 1.
En besætningsplanlægning i et luftfartselskab må og skal tage hensyn til en lang række restriktioner, hvoraf nogle er stærkt kompliceret. Det drejer sig bl. a. om samlingen af alle de sikkerhedsregler, som luftfartsmyndighederne har udarbejdet. Det vil føre alt for vidt at komme ind på disse komplicerede regler i dette indlæg, men den grundlæggende idé i regler kan kort skitseres på følgende måde: Reglerne er udformet som et system af points, hvis funktion er at indikere graden af træthed hos et besætningsmedlem. Systemet er standardiseret forstået på den måde, at systemet har den samme virkning for alle besætningsmedlemmer uafhængig af deres individuelle fysiske modstandskraft mod træthed. Den standardtilstand af træthed et besætningsmedlem befinder sig i til et givet tidspunkt betegnes som hans Fatique Level (F) i dette tidspunkt. For F gælder: 1. Negative
vaerdier af F er ikke defineret. 2. F= 0 points
indikerer den fuldstaendige udhvilede tilstand hos
besaetningsmedl 3. F = 100 points indikerer det maksimalt tilladte Fatique Level »under normale beti.ngelser«. Mar F kommer op pa denne vaerdi, skal bessetningsmedleinmet indtage en hvileperiode af en sadan laengde, at F reduceres med ganske bestemte minimale vaerdier alt afhaengig af reduktionen af F i den sidst foregaende hvileperiode. Under en flytjeneste vokser F proportionalt med varigheden af flytjenesten og antallet af landinger efter forskellige formlier afhængig af flytype, og under hvileperioder aftrappes F proportionalt med varigheden af hvileperioden med 2 forskellige timesatser, én gældende for nattetimerne og den anden gældende for dagtimerne (lokale tider). Side 50
Man kan sige, at disse sikkerhedsregler, som luftfartsmyndighederne har udarbejdet, indikerer en række forskellige tilladelige intervaller, i hvilke Fatique Level (F) skal befinde sig i for ethvert besætningsmedlem, og dermed at intervallernes øvre grænser (under flytjeneste) og nedre grænser (under hvileperioder) udgør de restriktioner, der på intet tidspunkt må overskrides (»under normale betingelser«). Ud over disse regler for Fatique Level (F) omhandler luftfartsmyndighedernes sikkerhedsregler bl. a. bestemmelser for maksimalt tilladte varigheder af besætningsmedlemmets flytjenester. Bortset fra disse bestemmelser eksisterer der ingen bestemmelser om varigheden for en flytjeneste, hvilket betyder, at der ikke eksisterer nogen »fast arbejdsdag« for et besætningsmedlem. De øvrige
restriktioner, som besætningsplanlægningen må og skal
tage 1) Sociale goder:
Ethvert medlem har krav pa enten 2 adskilte eller 2 sammenhcengende ugentlige fridage. De minimale varigheder for disse 2 alternative former for ugentlige fridage er angivet ved nogle komplicerede formler, hvis indhold og forudssetninger det vil fore for vidt at komme ind pa. her. I perioden 15. maj til 1. September har ethvert medlem krav pa minimum 1 uges ferie uafhsengig af medlemmets alder, mens antallet af ugers ferie i den ovrige del af aret er determineret af medlemmets alder efter naermere angivne regler. 2) Minimale besætninger og regler for forstærkning af besætninger: De minimale besætninger er afhængig af flytype. Et fly, der skal til at gennemføre en rute i flyveprogrammet, hvor ruten har et Fatique Level, der er 100 points (incl. en række tillæg), kan og bør bemandes med den for flytypen fastsatte minimale besætning. Hvis en rutes Fatiqe Level (incl. en række tillæg) overstiger 100 points, så skal den minimale besætning forstærkes efter nærmere fastsatte regler, der ligeledes er afhængig af flytype. Ved at forstærke en minimal besætning til at gennemføre de ruter, hvis Fatique Level overstiger 100 points, opnår man, at de enkelte medlemmer skiftevis kan hvile sig (efter fastsatte regler) og således holde deres respektive Fatique Levels under de 100 points. Konsekvensen af denne restriktion for problemstillingen er, at vi må minimere antallet af medlemmer i de respektive stillingskategorier i stedet for at minimere antallet af besætninger. Side 51
3) Bescetninger og jlytyper: Af sikkerhedsmaessige grunde skal besaetningsmedlemmerne specialisere sig i en flytype. Denne restriction far den konsekvens for problemstillingen, at vi ma minimere antallet af bescetningsmedlemmer i de forskellige stillingskategorier jor hver flytype for iig. 4) Sværhedsgrader for landingspladserne på de respektive destinationer: Samtlige verdens lufthavne er klassificeret i én af 3 sværhedsgrader, i hvilke særheden at lande en maskine er det afgørende kriterium. For hver sværhedsgrad kræves visse fastsatte mmimumskvalifikationer hos alle medlemmer i en besætning, der skal lande en maskine i en lufthavn af den pågældende sværhedsgrad. Besætningsplanlægningen må derfor tage højde for de øjeblikkelige kvalifikationer, som de enkelte medlemmer besidder. 5) Samtlige ruter i flyveprogrammet skal gennemf&res: Charterselskabet er kontraktmaessigt forpligtet overfor rejsebureauerne at gennemfgre alle ruter i flyveprogrammet. (Jin rige belaegningsprocent pa en rute eller afbud fira et besaetningsmedlem er saledes ulovlige argumenter for at aflyse ruten). 6) Antallet af baser og deres geografiske placeringer: Charterselskabet opererede kun med 1 base, som var en af Europas storste lufthavne. Generelt er antallet af baser og deres geografiske placeringer bestemt af bopaslsforhold for savel cockpitbesaetningsmedlemmer som for kabinebesaetningsmedlemmer. Betydningen af antallet af baser og deres geografiske placeringer for besaetningsplanlaegningen er bl. a. dels en rsekke tillseg til medlemmernes Fatique Level, og dels en rsekke omkostninger ved at tnnisportere medlemmerne til og fra basen f. eks. med rutefly. Ud over de her meget summarisk gennemgåede restriktioner samt et par til, som af pladshensyn ikke er medtaget her, må og skal besætningsplanlægningen også tage hensyn til den risiko, der ligger I at besætningsmedlemmer kan sende afbud til ruter, som de ellers var sat til at gennemføre. (En årsag til afbud kan være sygdom). Det vil føre for vidt at komme ind på hvordan man statistisk kan »beregne« risikoen og hvordan besætningsplanlægningen skal tage hensyn til denne risiko. Den hiditidige behandling af problemstillingen har bestået deri, at vi først har gjort rede for selskabets målsætninger for den funktion i selskabet,der vedrører besætningsplanlægningen af cockpitgruppen, dernæst har vi gjort rede for flyveprogrammet (figur 1), og endelig har vi redegjort for de restriktioner, som besætningsplanlægningen må og skal tage hensyn Side 52
til. På basis af
denne fremstilling af problemstillingen, kan
problemstillingennu Delproblem 1:
Vi betragter her kun de restriktioner, der har nøjagtig den samme indflydelse på ethvert medlems muligheder for at gennemføre en eller flere ruter i løbet af én uge. De medtagne restriktioner er således alle regler for medlemmernes Fatique Levels samt de sociale goder, idet vi dog ser helt bort fra alle ferier. Vi skal nu under hensyntagen til disse og kun disse restriktioner for hver flytype for sig danne alle de kombinationer af ruter, som de respektive flytyper (flytype A og B i figur 1) gennemfører i løbet af en uge ifølge det givne flyveprogram. Disse kombinationer af ruter, som hver især vil blive benævnt »en mulig Round-Trip«, er for det første karakteriseret derved, at der kræves ét og kun ét besætningsmedlem af en given stillingskategori til den givne flytype (f. eks. kategorien luftkaptajner til flytype A) til at gennemføre én kombination = én mulig Round-Trip, og for det andet at hver af disse mulige Round- Trips opfylder de her opstillede restriktioner. Vi vil få 2 sæt mulige Round- Trips, nemlig ét sæt for flytype A og ét sæt for flytype B. Betragter vi eksempelvis sættet af mulige Round-Trips for flytype A, kan vi med sikkerhed sige, at disse mulige Round-Trips gælder for såvel luftkaptajner som for 2.-piloter (idet vi tænker os at flytype A kun skal besættes med luftkaptajner og 2.-piloter), fordi vi kun har betragtet de restriktioner, som har nøjagtig den samme indflydelse på de muligheder en kaptajn har for at gennemføre ruterne i en vilkårlig mulig Round-Trip som på de muligheder en 2.-pilot har for at gennemføre de samme ruter i den pågældende mulige Round-Trip. Problemet her i delproblem 1 består således i hvordan vi kan danne de mulige Round-Trips for de 2 flytyper. Delproblem 2:
Lad os først betragte sættet af mulige Round-Trips for flytype A, og lad os dernæst betragte luftkaptajnerne til denne flytype. Da flyveprogrammet er givet og da reglerne for de minimale og forstærkede besætninger er kendte, ved vi hvilke behov for luftkaptajner, som de enkelte ruter for flytype A vil kræve. For de fleste flytyper vil det gælde, at såfremt rutens Fataque Level er 100 points er behovet kun 1 luftkaptajn, og såfremt en rutes Fatique Level er > 100 points, skal den minimale besætning kun forstærkes med 1 luftkaptajn d. v. s. for sådanne ruter er behovet 2 luftkaptajner. Lad os tænke os at disse regler gælder for flytype Side 53
Med denne information om de enkelte rutens behov for luftkaptajner skal vi blandt sættet af mulige Round-Trips for flytype A udtage så få mulige Round-Trips som overhovedet muligt, men dog således, at for det første restriktionen om, al; alle ruter skal gennemføres, bliver tilfredsstillet (hvilket betyder, at alle de ruter, som flytype A gennemfører i løbet af ugen, får tildelt det antal kaptajner, som disse ruter hver især kræver), for det andet at der blandt de udvalgte mulige Round-Trips forekommer en eller flere, i hvilke hvileperioderne er af sådanne varigheder, at vi lige præcis kan få indbygget så mange såkaldte stand-by vagter*) med de varigheder og med den fordeling hen over ugen, som risikoen for afmeldinger blandt luftkaptajner til flytype A betinger, og for det tredie at der blandt de udvalgte mulige Round-Trips indgår netop den filler de mulige Round-Trips, der hver indeholder alle eller næsten alle de vanskeligste landingspladser (det minimale antal af disse mulige Round-Trips er determineret af antallet af luftkaptajner., der i øjeblikket besidder de nødvendige kvalifikationer for at lande på de pågældende: landingspladser). Det må bemærkes, at de restriktioner vi så bort fra i delproblem 1, indgår som restriktioner her i delproblem 2, dog stadig med undtagelse af feriekravene. Problemet med at tage hensyn til feriekravene vil jeg ikke komme ind på her, men blot sige at dette problem er uafhængig af de her formulerede delproblem 1 og 2, samt at problemet er ganske enkelt at løse. Herefter kunne vi betragte 2.-piloterne til flytype A. Vi skal da blandt sættet af mulige Round-Trips for flytype A udtage så få som overhovedet muligt, men under hensyntagen til de samme restriktioner vi lige ovenfor betragtede for luftkaptajnerne. Naturligvis kan disse restriktioner have forskellige værdier for stillingskategorierne luftkaptajner og 2.-piloter. F. eks. kan det for flytype A gælde, at hver rute kræver én og kun én 2.-pilot uafhængig ar rutens Fatique Level, mens vi ovenfor så at såfremt en rutes Fatique Level oversteg 100 points skulle besætningen bestå af 2 kaptajner, og for ruter med et Fatique Level 100 points behøvede vi kun én luftkaptajn. Antallet af stand-by vagter kan også være forskelligt for kaptajner og 2.-piloter. For flytype B antager delproblem 2 en helt analog formulering. Givet flytype og
stillingskategori består delproblem 2 således i hvordan
*) En »stand-by vagt« er en vagt selskabet kan tildele et besætningsmedlem med en nærmere angiven minimal hhv. maksimal varighed, i løbet af hvilken medlemmet har pligt til at indtræde i en besætning til hvilken et andet besætningsmedlem har sendt afbud f. eks. på grund af sygdom. Der eksisterer faste regler for beregning af Fatique Level for et medlem under stand-by vagt. Side 54
vi kan finde
frem til de Round-Trips, der kan udtages på den her
beskrevnemåde. Det skal nu pointeres, at såfremt vi kan løse de 2 delproblemer samt ferieproblemet, opnår vi for det første at minimere antallet af besætningsmedlemmer i respektive stillingskategorier for de 2 flytyper (f. eks. er det minimale antal luftkaptajner til flytype A lig det minimale antal udtagne mulige Round-Trips i delproblem 2 plus det antal, som hensyntagen til ferierestriktionen vil medføre; som nævnt på side 52 kræves der ét og kun ét besætningsmedlem af den betragtede stillingskategori til at gennemføre én mulig Round-Trip), og for det andet ved vi straks hvilke ruter hvilke besætningsmedlemmer i de respektive stillingskategorier til de 2 flytyper skal flyve i og med, at vi kender de udvalgte Round-Trips' konkrete indhold af realiserede ruter i løbet af ugen. Vi vil kunne se, at en løsning på disse 2 delproblemer samt ferieproblemet vil imødekomme selskabets opstillede målsætninger for besætningsplanlægningen. 2. Modelstruktura) IndledningUden her at komme ind på en diskussion om model valg (f. eks. om modellen skal være stokastisk eller deterministisk og da hvilken) skal det straks siges, at den model, der måske bedst afbilder problemstillings problem er en deterministisk model, som er et specialtilfælde af den generelle heltallige lineære model. Modellen kaldes i den engelsksprogede litteratur for »All Zero-On Integer Linear Model« (på dansk: »nul-eet heltallig lineær model«), og er bl. a. karakteriseret derved, at modellens variable, xj, kun kan antage værdierne 0 eller 1, deraf navnet. Den nul-eet
heltallige lineære models generelle struktur kan
algebraisk Minimer under hensyn til
og under hensyn
til at xj = 0 eller 1, hvor j=1,2,. ..,
n I
matrix-terminologien kan modellen formuleres saledes:
Side 55
og hvor C er en (n X 1) matrix, altså en søjlevektor, og C er den transponeredematrix af G d. v. s. en rækkevektor, X er ligeledes en søjlevektor af dimensionen (n X 1), A er en (m X n) matrix, og endelig B er en søjlevektor af dimensionen (m X 1). Z bliver af dimensionen ((1 X n) X (nX 1)) = (1 X 1), altså et tal. For at bringe de 2
formuleringer i overensstemmelse med hinanden har vi:
Ifølge
multiplikationsreglen for matricer har vi da: under hensyn til
AX = B, d.v.s.: I den generelle
formulering af den nul-eet heltallige lineære model kan
Side 56
b) Modellens specielle struktur ved afbildning af problemstillingens problem i den generelle model:Lad os betragte en
vilkårlig søjle i A-matricen i den generelle nul-eet
Hvis vi nu lader
rækkenumrene i = 1, 2, . . . , m betyde rutenumrene
I denne søjle er aij = 1 d.v.s. rute nr. i = 1 skal indgå i round-trip nr. j, asj = 0 d.v.s. rute nr. i = 2 ikke indgår i round-trip nr. j, o.s.v. ned til amj hvor amj =1 d.v.s. den sidste rute for flytype A rute nr. i=m skal indgå i round-trip nr. j. Dernæst lader vi bi betyde det behov for besætningsmedlemmer af en bestemtstillingskategori, som ruten r. i kræver. Hvis vi som eksempel betragter2.-piloterne til flytype A, og vi ved at behovet er én 2.-pilot til hver af de ialt m ruter, d. v. s. bi = 1 for i = 1, 2, .. m. Havde vi i stedet for betragtet luftkaptajnerne til flytype A, ville bi være lig 1 for alle de Side 57
ruter, der har et Fatique Level (ind. alle tillæg) på max. 100 points, fordi behovet af luftkaptajner til hver af disse ruteir er én kaptajn, mens bi vil antage værdien 2 for de ruter, som har et Fatique Level (incl. alle tillæg), der overstiger værdien 100 points. Hvis vi endelig
tillægger koefficienterne cj i kriteriefunktionen
værdien Da kriteriefunktionen Z skal mininieres, og da xj kun kan antage værdien 1 eller 0 (at xj =1 betyder at søjle nr. jd.v. i;, round-trip nr. j skal indgå i en løsning, mens xj = 0 betyder at søjle nr. j d. v. s. round-trip nr. j ikke skal indgå i en løsning), skal kriteriefunktionen nu tolkes således, efter at vi har sat cj = 1 for j = 1, 2, . . . , n: Vi ønsker at tillægge xj værdien 1 for så få værdier af j som overhovedet muligt, d. v. s. at vi ønsker, at så få round-trips blandt de ialt n mulige skal blive realiseret (og dermed tillægge xj værdien 0 for så mange værdier af j som overhovedet muligt:, d. v. s. at så mange round-trips som overhovedet muligt ikke skal blive realiseret)., men under hensyntagen til at højresiderne bi for de ialt m rakker, d. v. s. for de ialt m ruter, bliver tilfredsstillet. Denne fortolkning af Z betyder jo netop, at vi ønsker at minimere Z, og vi vil konstatere., at denne fortolkning af Z er identisk med formuleringen af delproblem 2 på side 52-54. Hvis vi f. eks. betragter 2.-piloterne til flytype A, betyder en minimering af Z en minimering af antal 2.-piloter, fordi der til én round-trip kræves én og kun én 2.-pilot, og denne minimering skal jo bl. a. netop tage hensyn til, at hver rute i flyveprogrammet skal gennemføres, d. v. s. at hver rute får tildelt bi = 1 2.-pilot. Hvis vi kan lose
modellen, d. v. s. finde vaerdierie for xj for j = 1, 2,
Side 58
Lad os resumere den nul-eet heltallige lineære models specielle struktur ved afbildning af problemstillings problem i den generelle model, og lad os denne gang betragte luftkaptajnerne til flytype A, og lad os endvidere tænke os, at der blandt de ruter, som flytype A flyver i løbet af ugen, kun forekommer én rute, der kræver 2 luftkaptajner nemlig rute nr. k, mens alle øvrige ruter kun kræver 1 kaptajn. Modellens specielle struktur bliver da: Minim er Z=xi+X2+.
..+xn (=(= minimer antallet af realiserede
Af modellens
specielle struktur kan vi endvidere se at Havde vi betragtet
2.-piloterne skulle alle højresider antage værdien 1,
Når vi vil benytte modellen på de rent faktiske data, vil vi erfare, at antallet af søjler i A-matricen er betydeligt større end antallet af rækker (d. v. s. n m), idet antallet af mulige roud-trips, som vi kan danne af et givet antal ruter i et givet flyveprogram, vil vise sig at være betydeligt større end det givne antal ruter. Modellens
specielle struktur er vist i følgende figur: Side 59
Referencer1. R. L. Ackoff,
Scientific Method - Optimizing Applied Research
Decisions, John 2. R. L. Ackoff
& M. W. Sasieni, Fundamentals of Operations
Research, John Wiley 3. AGIFORS Proceedings
nr. VI, 1966, nr. VII, 1967 og nr. VIII, 1968 fig.
afsnit: 1) J. P. Arabeyre,
Methods of Crew Scheduling, nr. VI. 2) J. P. Arabeyre,
Combinatorial Algorithms for Crew Scheduling, nr. VII.
3) J. Fearnley,
Crew Scheduling in AIR CANADA, nr. VI. 4) R. Griesshaber,
A Heuristic Model for the Impersonel Phase of Crew
Scheduling, 5) J. Agard, The
AIR FRANCE TARAGE Plan, nr. VIII. 6) T. K. Kolner, Some
Highlights of A Scheduling Matrix Generator System, nr.
VI. 7) F. Steiger,
Activity Report of the AGIFORS Studygroup »Crew
Scheduling«, 8) J. Taylor, A
Common Approach to Aircraft and Aircrew Scheduling, nr.
VI. 4. Egon Balas,
»An Additive Algorithm for Solving Linear Programs with
Zero-One 5. M. L.
Balinski, »Integer Programming: Methods, Uses,
Computation^ s. 253-313 6. Fred Glover,
»A Multiphase-Dual Algorithm for Zero-One Integer
Programming«, 7. Erik Johnsen,
»Analyseprocessen«, s. 95-114 i Erhvervsokonomisk
Tidsskrift, nr. 2, 8. John F.
Pierce, »Application of Combinatorial Programming to a
Class of All-Zero- 9. John F.
Pierce, »Direct Search Algorithms for Truck-Dispatching
Problems - Part I |