Strategiebeschrijving van R2-DReizen agent in de VM-Trading Agent Competition



Vergelijkbare documenten
Virtuele Markten Trading Agent Competition

Strategie van de WhaaaAgent in de TAC

Trading Agent Competition

hippie agent strategie voor de tac competitie

Eindrapport. 5 November 2007

TAC-Agent. Grasmaaier I. Virtuele markten Tac Agent opdracht Deadline: 18 juni 2004

Tactics of the kokhoorn & hoornkok TAC agents

Algemene voorwaarden

Concept introductie 4-7. Verdere inhoud. Concept in detail Concept scenario Concept rewards 46. Concept visuals 47-69

Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten

Verslag van de verschillende vragen en antwoorden tussen UPC en COAX NL.

Inspiratiereis Zweden

7.7 BEHEER VAN DE BROCHURES

In 9 stappen ondernemer. Tips & tricks bij het starten van je eigen onderneming

Werkinstructie voor het online boeken van een vlucht inclusief het online boeken van hotel.

Revenue managementgame bungalowpark Joop Lengkeek, 7 maart

AFO 491 Up-to-date kasoverzichten

Hoofd voeding. Hulp voeding (*)

Een reis plannen via internet

Eindexamen wiskunde A1-2 havo 2007-I

iphone app - Roll Call

Ik krijg een IVA-uitkering Wat betekent dat?

Ik krijg een IVA-uitkering Wat betekent dat? Wat u moet weten als u een IVA-uitkering krijgt

Q & A. Aangepaste KLM- en Air France-tarievenstructuur voor. Economy Class-reizen binnen Europa (inclusief Noord-Afrika) LIGHT - STANDARD - FLEX

Examen HAVO. tijdvak 2 dinsdagdinsdag uur

Six Sigma. Wat is Six Sigma?

Functie centraal depot bij het optimaliseren van collecties

De basiselementen van Markov-ketens zijn:

Examen HAVO. wiskunde A (pilot) tijdvak 1 woensdag 25 mei uur. Bij dit examen hoort een uitwerkbijlage.

RBS pensioen update. Van premie tot pensioen

Revenue managementgame MTT Joop Lengkeek Kamer H Ready for the Game?

Handleiding De Biedwedstrijd

Een eigen inkomen met de Wajong

Meer succes met je website

Algemene voorwaarden. Mobiel abonnement

White paper Cross-sell & Upsell

2. Optellen en aftrekken van gelijknamige breuken

AANNEMERS- PRESTATIELADDER WATERBEDRIJF GRONINGEN

Bottleball Onderzoeksverslag MovingMonsters. Uitgevoerd door Arno Classens

VERSCHILLENDE TARIEVEN VOOR MEER WINST

Hoofdstuk 14 Prijsbeleid

Periode 1 t/m 4. Leerjaar: 2 Vak: Economie

Handleiding Deposito

Gebruikers handleiding Andix Wizard Technische Analyse

In deze handleiding kunt je de stappen vinden die je kunt uitvoeren om de foto s in Sportlink te zetten.

1. Reis je wel eens met het vliegtuig?

Commerciële calculaties

M&S Breda. M&S Toetsingskader. Een reflectie- en leerinstrument voor welzijn- en zorg

s Werelds eerste social media platform met een RevShare programma.

Hoeveel klanten wint en verliest Arke aan zijn concurrenten? Hoe zit het met de klantentrouw van de afnemers van Kras en Sunweb?

Start up Case. Sendcloud. Remi van Buul Soufian Touil Ellen Burghoorn

Handleiding. Z factuur Archief

Hoe ouder, hoe trouwer Switchen & behouden in de 50-plusmarkt

Handleiding Mooy Logistics Servicedesk

Toeslagverlening Uitgave mei 2015

Hoofdstuk 3: Arbitrage en financiële besluitvorming

Als u buiten Nederland woont of werkt: vrijwillige verzekering voor AOW en Anw

Opdracht Levensbeschouwing Hoe los ik iets op?

Succesvol onderhandelen

Duidelijke voorwaarden

Als u buiten Nederland woont of werkt: vrijwillige verzekering voor Anw

Handleiding VX670 Lidkaart waarmee je spaart

Inleiding Speltheorie - 29 januari 2003, uur

PENSIOENREGLEMENT. Stichting Pensioenfonds ABP. Pensioenreglement Stichting Pensioenfonds (versiedatum: ) 1

sportadministratie Hoe werken met lidgelden

Het platform gaat binnenkort commerciële trainingen aanbieden, speciaal voor masseurs die een succesvolle praktijk willen starten.

Een model voor een lift

GRATIS Marketing & Sales Scan

Qlik Sense Healthcare. Document 16052

Praktische toepassing van functies

KITEACTIVE REISVOORWAARDEN BEDRIJFS INFORMATIE ANNULEREN

Overzicht uitgeschreven huisartsen NIVEL Lud van der Velden Daniël van Hassel Ronald Batenburg

Showtime! Theater. Mobiel Reserveringssysteem voor de Entertainment en Theaterwereld

Instructie online boeking systeem

Marketing Mix. Template & voorbeeld. Gebruik van de tool

smart meeting solutions

Het verband tussen het tevredenheidsgevoel van de klant en zijn loyaliteit is als volgt schematisch weer te geven.

Klant stapt onverwacht op

Revenue Management Game Touroperator

Handleiding Zakelijk Deposito

Veel veranderingen m.b.t. het EGA-handicapsysteem

Toeslag- verlening Uitgave mei 2015

VEILING REGLEMENT. van de S-HERTOGENBOSSCHE FILATELISTENVERENIGING. Pagina 1

Voorwaarden voor deelname

Hier volgen enkele situaties die zich zouden kunnen voordoen.

Schattend rekenen Maatkennis over gewichten Gebruik van referentiematen. Per tweetal: kopieerblad Lift een groot vel papier

Dienstbeschrijving Servicedesk

Vragen en antwoorden over WoonEnergie

Commerciële calculaties

1. Klik op de foto om de standaard foto te kiezen: 2. U kunt op de titel klikken om de eigen referentie of titel bij te werken:

Praktische opdracht Wiskunde A Patience

Normering en schaallengte

Protocol Werktijdvermindering Senioren

Privacybeleid Winterbergbus Snow Included

Examen VWO. Wiskunde A (oude stijl)

Modelleren C Appels. Christian Vleugels Sander Verkerk Richard Both. 2 april Inleiding 2. 3 Data 3. 4 Aanpak 3

Klachtenreglement Beste Kinderopvang

VIP SELECTION BELOFTES

Netwerkdiagram voor een project. AOA: Activities On Arrows - activiteiten op de pijlen.

Algemene voorwaarden 2009

Transcriptie:

Strategiebeschrijving van R2-DReizen agent in de VM-Trading Agent Competition Virtuele Markten, februari 2002 Rob van Geel, 0053473 Rudy Negenborn, 9807837

1. Introductie Dit document beschrijft de uiteindelijke strategie, zoals geïmplementeerd in de trading agent R2-DReizen. Deze strategie is ontstaan na verschillende strategieën uitgeprobeerd te hebben. Aanvankelijk was het doel om geen verlies te maken. Het leek waarschijnlijk dat het tijdens de competitie lastig zou zijn om die kamers te krijgen die in het ideale geval nodig zijn om de klanten tevreden te stellen, voornamelijk vanwege de concurrentie die ook die kamers wil. Het doel van deze agent is zo min mogelijk uit te geven met behulp van het bepalen van het aantal feasible packages op elk moment in het spel. De opbouw van dit document is als volgt: de strategie wordt eerst vanaf hoog niveau beschreven, waarna dieper wordt ingegaan op de verschillende onderdelen: entertainment, invluchten, uitvluchten, hotels, feasible packages en feasible potential packages. 2.1. De strategie De agent herhaalt vanaf het begin van een game totdat alle veilingen gesloten zijn de volgende stappen: Download de nieuwste veilinginformatie. Construeer en pas boden aan en verstuur deze naar de TAC server. Het downloaden van de nieuwste veilinginformatie wordt afgehandeld door de standaard Trading Agent Bidder classes. Het construeren, het aanpassen en het versturen van de boden wordt in de volgende stappen gedaan: Vraag en bied entertainment tickets aan. Als de tijd die het spel geduurd heeft meer dan 3 minuten is, bepaal dan het aantal feasible packages dat er is en het aantal potentieel feasible packages dat gemaakt kan worden door uitvluchten bij te boeken. Als het aantal feasible en potentieel feasible kleiner dan 8 is, bied dan voor invluchten en bied voor uitvluchten. Anders, als het aantal feasible en potentieel feasible packages groter is dan 8, maar het aantal feasible kleiner dan 8, bied dan alleen op uitvluchten om de potential feasible packages te maken. Tenslotte, als de tijd die het spel geduurd heeft meer dan 3 minuten is, verhoog de boden in de hotelveilingen. Als eerste worden boden voor vraag naar en aanbieding van entertainmenttickets geplaatst. Dit gebeurt zo snel mogelijk na het opstarten van een spel om mogelijk gebruik te kunnen maken van agents die bij aanvang van een spel entertainmenttickets aanbieden voor 0,00. Nadat de ticketboden geplaatst zijn, wordt gekeken hoelang het spel al bezig is. Pas in de 3 e minuut van het spel wordt begonnen met het bieden op hotelkamers. Aangezien de eerste hotelveiling toch pas na de 4 e minuut sluit, kan het handig zijn om niet te vroeg met bieden te beginnen om zo te voorkomen dat de prijs van de hotelveilingen al voor de 4 e minuut snel omhoog gaat. Als eenmaal begonnen is met bieden in hotelveilingen, vanaf de 3 e minuut, wordt in iedere ronde berekend hoeveel feasible packages er op dat moment gemaakt kunnen worden. Bij het

berekenen van de feasible packages worden vluchten en hotels die gebruikt worden voor de packages gemarkeerd als gebruikt. Naast het aantal feasible packages dat op dat moment gemaakt kan worden wordt ook berekend hoeveel potential feasible packages er gemaakt kunnen worden. Een potential feasible package is een package dat bestaat uit een invlucht en een hotelovernachting, maar nog zonder uitvlucht. Door het bijboeken van een uitvlucht kan een potential feasible package omgezet worden in een feasible package. Nadat het aantal feasible en potential feasible packages berekend is, wordt bepaald of er invluchten en uitvluchten bijgeboekt moeten worden. Als het aantal feasible en potential packages samen kleiner is dan 8, dan moet er sowiezo gekeken worden of er nog invluchten en uitvluchten nodig zijn om de mogelijkheid te creëren voor meer packages. Als het aantal feasible packages kleiner is dan 8, maar de som van potential feasible en feasible groter dan 8, dan zijn er genoeg potential feasible packages om tot 8 feasible packages te komen door slechts een aantal uitvluchten bij te boeken. Er zijn in dat geval al genoeg invluchten. Als de uit- en eventueel invluchtboden geplaatst zijn worden tenslotte de hotelboden geconstrueerd en verzonden. 2.2. Het vragen en aanbieden van entertainmenttickets De strategie wat betreft de entertainmenttickets is straight-forward: als er geen kamers op een bepaalde dag binnen zijn gehaald en er zijn wel entertainmenttickets voor die dag, verkoop ze dan; als er wel kamers zijn of de veilingen zijn nog niet gesloten, biedt dan alle tickets voor een prijs aan die hoger is dan de maximale preferentie van een van de klanten voor een bepaald ticket. Vraag daarnaast naar goedkope tickets: 4 voor 10,00 per dag per tickettype. Loop dagen 1 t/m 4 langs. Als de kamerveilingen voor een dag gesloten zijn, en als er geen kamers voor die dag gekocht zijn in een van de hotels, dan worden entertainmenttickets die er eventueel voor die dag zijn te koop aangeboden: voor een prijs die begint bij 200,00 en gedurende het verloop van het spel afneemt, zodat 2 minuten voor het einde van het spel de tickets voor een prijs van 50,00 worden aangeboden. Als er nog wel kamerveilingen voor een dag open zijn, en als er entertainmenttickets voor die dag zijn, dan worden die entertainmenttickets aangeboden voor een hogere prijs dan de hoogste preferentie van de klanten voor een bepaald entertainmenttype en worden daarnaast vraagboden voor de tickets geplaatst: 4 voor 10,00. Bij het aanbieden van entertainmenttickets wanneer de agent ze zelf niet nodig heeft voor klanten, wordt voor het bepalen van de prijs gebruik gemaakt van de tijd die het spel nog duurt. De tickets worden aanvankelijk voor 200,00 aangeboden en nemen daarna per ronde met een factor ((eindtijd van spel huidige tijd) / 720) * 350,00 af. Hierdoor komt de prijs van de aangeboden tickets rond de 10 e minuut van het spel op 50,00 te liggen, wat de minimum prijs is waarvoor ze worden aangeboden.

2.3. Bieden op invluchten De strategie voor de invluchten bekijkt per ronde of eventuele actieve boden in prijs verhoogd moeten worden en, als er geen actieve boden zijn, of er boden geplaatst moeten worden. Hierbij wordt rekening gehouden met het aantal feasible packages en het aantal potential feasible packages. Als het niet noodzakelijk is om meer invluchten bij te boeken omdat er toch al genoeg (potential) feasible packages zijn, wordt dit ook niet gedaan. Daarnaast wordt er in elk spel sowiezo voor elke dag een vast aantal invluchten aan het begin van het spel geboekt. Dit aantal is 1 per dag. Deze functionaliteit is toegevoegd om gebruik te maken van de relatief lage prijzen van vluchten aan het begin van het spel. Loop dagen 1 t/m 4 langs. Als er geen actief bod is in de invluchtenveiling voor een dag, bepaal dan: - hoeveel invluchten er zijn gekocht voor die dag, - hoeveel invluchten er sowiezo geboekt moeten worden (dat is één), - hoeveel hotelkamers er zijn gekocht voor die dag, - hoeveel hotelkamers en invluchten er al door feasible packages gebruikt worden, en bepaal aan de hand van deze gegevens hoeveel invluchten er eventueel bijgeboekt moeten worden: Als het aantal invluchten dat er sowiezo geboekt moet worden groter is dan het aantal invluchten dat er tot nu toe gekocht is, dan wordt het aantal dat geboekt moet worden het verschil tussen wat er sowiezo moet zijn en het aantal dat er al is. Als dat niet het geval is, bepaal hoeveel extra invluchten er nodig zijn, rekening houdend met het aantal hotelkamers, dat nog beschikbaar is en niet gebruikt wordt in een (potentieel) feasible package. Als het aantal vluchten dat bijgeboekt moet worden groter is dan nul, zorg er dan voor dat het aantal niet meer is dan nodig om de 8 feasible packages te creëren. Als het aantal invluchten dat geboekt moet worden uiteindelijk groter is dan 0, Als er wèl een actief bod is, bepaal dan de prijs als de huidige vraagprijs + 10,00, en plaats het bod. Als een aantal hotelkamers nog niet in (potential) packages werd gebruikt en er zijn nu invluchten voor bijgeboekt, dan kan het aantal feasible packages met dit aantal verhoogd worden. en het aantal feasible en potential feasible packages kleiner dan 8 is, verhoog dan de prijs naar de huidige vraagprijs plus 10,00. Als er geen actief bod is en als alle invluchten die sowiezo geboekt moeten worden, geboekt zijn, dan wordt gekeken of er nog extra invluchten nodig zijn om nieuwe feasible packages te kunnen maken. Hiervoor wordt berekend hoeveel hotelkamers er nog niet gebruikt worden voor packages en nog niet gebruikt worden voor potential packages. Als dit aantal groter dan nul is, worden er extra invluchten bijgeboekt om gebruik te kunnen maken van die kamers.

2.4. Bieden op uitvluchten Net als bij de invluchten wordt bij de strategie van de uitvluchten als eerste gekeken of er een actief of geen actief bod is. Als er wel een actief bod is wordt gekeken of dit bod verhoogd moet worden. Als er geen actief bod is wordt gekeken of er uitvluchten bijgeboekt moeten worden om potential feasible packages om te kunnen zetten naar feasible packages. Loop dagen 2 t/m 5 langs. Als er geen actief bod is voor de uitvluchtenveiling van een dag, bepaal dan: - hoeveel uitvluchten er voor die dag zijn gekocht, - hoeveel uitvluchten er sowiezo moeten zijn, - hoeveel uitvluchten er teveel zijn, gegeven het aantal uitvluchten dat al in feasible packages wordt gebruikt, en bepaal met behulp van deze aantallen hoeveel uitvluchten er eventueel bijgeboekt moeten worden: Als het aantal uitvluchten dat al gekocht is kleiner is dan het aantal uitvluchten dat er sowiezo moet zijn, boek dan het verschil tussen het aantal dat er moet zijn en het aantal dat er is bij. Als dit niet het geval is en het aantal potential feasible packages verminderd met het aantal uitvluchten dat in deze ronde al geplaatst is, groter is dan 0, dan zijn er dus nog meer uitvluchten nodig en wordt het aantal dat nodig is gelijk aan het aantal uitvluchten dat berekend is om potential feasible packages te kunnen vervullen. Als het aantal vluchten dat bijgeboekt moet worden groter is dan nul, zorg er dan voor dat het aantal niet meer is, dan nodig is om de 8 feasible packages te creëren. Als de hoeveelheid uiteindelijk groter dan nul is, bepaal dan de prijs als de huidige vraagprijs + 10,00, en plaats het bod. Verhoog vervolgens het aantal bijgekochte uitvluchten in deze ronde met het aantal waarvoor geboden is. Anders, als er wèl een actief bod is, en het aantal feasible en potential feasible packages kleiner dan 8 is, verhoog dan de prijs naar de huidige vraagprijs plus 10,00. Als eenmaal uitvluchten bijgeboekt zijn om potential feasible packages om te zetten naar feasible, dan wordt bijgehouden hoeveel feasible packages er om gezet zijn om te voorkomen dat er teveel uitvluchten bijgeboekt worden. Naast de uitvluchten die geboekt worden om feasible packages te maken, wordt er aan het begin van het spel sowiezo 1 uitvlucht per uitvluchtdag geboekt. Dit wordt gedaan om gebruik te maken van de relatief lage vluchtprijzen aan het begin van het spel.

2.5. Bieden op hotelkamers Het bieden op hotelkamers begint vanaf de 3 e minuut van het spel om te voorkomen dat de prijzen van de veilingen te vroeg beginnen te stijgen. In elke hotelveiling voor elke dag wordt een vooraf bepaald aantal kamers gevraagd voor de huidige vraagprijs + 5,00. Elke ronde wordt per veiling bekeken of er een actief bod is dat mogelijk vervangen moet worden door een hoger bod. Loop de dagen 1 t/m 4 langs, één keer Shanties en één keer Towers hotel. Als de hotelveiling nog niet gesloten is, bepaal de prijs en hoeveelheid waarvoor je gaat bieden: Als de kamers nog wel nodig zijn om genoeg feasible packages te maken, dan wordt de prijs gelijk aan de huidige vraagprijs + 5,00, met een maximum van 150,00, en de hoeveelheid gelijk aan de hoeveelheid die er van het hoteltype voor deze dag moet zijn. Als de kamers nìet meer nodig zijn om feasible packages te maken, dan wordt de prijs gelijk aan de huidige vraagprijs + 5,00 en de hoeveelheid gelijk aan 40,00 / de prijs. Als de hoeveelheid te boeken kamers groter dan nul is, dan wordt het bod geplaatst, waarbij voorgaande boden genegeerd worden. Als de kamers die gevraagd worden nog nodig zijn om feasible packages te creëren, dus als het aantal feasible en potential feasible kleiner dan 8 is, dan is de prijs die de agent voor de kamers aanbiedt gelijk aan de vraagprijs + 5,00, met een maximum van 150,00. Als de kamers die gevraagd worden niet meer nodig zijn om feasible packages te maken, dan wordt toch (tot op zekere hoogte) doorgegaan met bieden op de hotelkamers. Aan de ene kant om gebruik te kunnen maken van extra hotelkamers die mogelijk zorgen voor extra inkomsten door verlenging van het aantal dagen dat een klant kan blijven. Aan de andere kant om te zorgen dat concurrenten minder kamers tot hun beschikking krijgen. De prijs die geboden wordt voor kamers die niet meer nodig zijn voor het maken van feasible packages is gelijk aan de vraagprijs van dat moment + 5,00. Het aantal kamers dat de agent daarvoor wil hebben is gelijk aan 40,00 / de geboden prijs. Deze methode is gekozen om de kosten van de extra kamers, die niet persé nodig zijn, te beperken. 1 2 3 4 5 1 - + + + + 2 - - + + + 3 - - - + + 4 - - - - + 5 - - - - - mogelijke trips: 10 Het van tevoren bepaalde aantal kamers waarvoor op de verschillende dagen wordt geboden is afgeleid van de kansen dat klanten op een bepaalde dag in TACTown willen verblijven. Er zijn een aantal mogelijke aankomst/vertrekcombinaties voor de verschillende reizen. Gegeven deze combinaties kan bepaald worden in hoeveel gevallen een bepaalde dag in een reis valt, waarbij de vertrekdagen niet meegeteld worden, aangezien er dan geen hotelkamer nog is. Door de gevonden kansen met 8 te vermenigvuldigen worden de verwachte aantallen benodigde kamers gevonden. Voor deze aantallen worden per hotel kamers geboekt. dag 1 2 3 4 5 aantal 4 6 6 4 0 kans 4/10 6/10 6/10 4/10 0 aantal 3 5 5 3 0

3.1. Bepalen van het aantal feasible packages De strategie van de R2-DReizen agent hangt voor een groot deel af van de mogelijkheid om het aantal feasible packages te berekenen en de mogelijkheid om te voorspellen hoeveel feasible packages er potentieel zijn. Het berekenen van het aantal feasible packages gebeurt door achtereenvolgens alle invluchten die nog niet gemarkeerd zijn als zijnde gebruikt door een feasible package langs te lopen en te kijken of er één of meerdere hotelovernachtingen gevolgd door een uitvlucht gevonden kunnen worden. Aangezien vluchten en hotels die gebruikt worden voor feasible packages gemarkeerd worden als gebruikt, hoeft niet elke ronde de hele feasible packages berekening vanaf het begin uitgevoerd te worden. Als het aantal feasible packages groter of gelijk aan 8 is, dan wordt het aantal packages niet berekend. Als dit niet het geval is, loop dan de dagen 1 t/m 4 langs, en bepaal hoeveel invluchten er op die dag voor feasible packages gebruikt worden. Zolang het aantal gebruikte invluchten kleiner is dan het aantal invluchten dat er voor die dag gekocht is, zoek een nog niet gebruikt hotelkamer en uitvlucht om een feasible package mee te maken. Als hotel en uitvlucht gevonden zijn, verhoog dan het aantal gebruikte invluchten voor deze dag met één en verhoog het aantal feasible packages met één. Een invlucht die nog niet gebruikt werd voor een package wordt als gebruikt gemarkeerd door een teller van het aantal gebruikte invluchten voor een bepaalde dag te verhogen. Op deze manier kan snel bepaald worden of er nog invluchten niet gebruikt worden. Deze manier van markeren wordt ook gebruikt bij het markeren van hotels en uitvluchten, waardoor de hele berekening van het aantal feasible packages snel verloopt. 3.2. Zoeken van een nog niet gebruikte hotelkamer en uitvlucht voor dag Per beschikbare invlucht op een dag wordt een bijpassend hotelkamer en een uitvlucht op de volgende dag gezocht. Het hotel is bij voorkeur het Tower hotel aangezien dit meer oplevert in een package dan het Shanties hotel. Zoek een Tower hotelkamer en uitvlucht voor de gevraagde dag. Als deze niet gevonden is, zoek een Shanties hotelkamer en uitvlucht voor de gevraagde dag. Als deze gevonden is, Als deze wel gevonden is, geef het door aan de aanroepende functie. geef het door aan de aanroepende functie.

3.3. Zoeken van een Tower of Shanties hotelkamer en uitvlucht voor dag Het vinden van een Tower of Shanties hotelkamer voor een bepaalde dag en een uitvlucht voor de dag erop gebeurt door eerst te kijken of er een kamer nog niet gebruikt wordt voor een feasible package op die dag en door daarna te kijken of er op de volgende dag een uitvlucht is. Als dit het geval is, dan is er een feasible package gevonden, kan de hotelkamer gemarkeerd worden en kan aan de aanroepende functie door worden gegeven dat een hotel en uitvlucht gevonden zijn. Als er geen uitvlucht voor de volgende dag is gevonden, dan wordt recursief de zoek een hotelkamer en uitvlucht aangeroepen voor de volgende dag. Dit gebeurt net zolang, totdat er of een uitvlucht is gevonden, of er geen hotel meer gevonden is, of de dag waarvoor een hotel gevonden moet worden dag 5 is. Als een hotelkamer voor dag 5 gevonden moet worden, kan gestopt worden met zoeken. Als de veiling voor de hotelkamers voor deze dag gesloten is, en als de hoeveelheid gekochte kamers groter is dan het aantal in feasible packages gebruikte kamers tot nu toe, zoek dan een uitvlucht voor de volgende dag. Als deze uitvlucht is gevonden, verhoog dan het aantal gebruikte hotelkamers met één en geef door aan aanroepende functie dat hotel en vlucht gevonden zijn. Anders, als er geen uitvlucht is gevonden voor de volgende dag, zoek een Tower (of Shanties) hotelkamer en uitvlucht voor de volgende dag. Als deze zijn gevonden, verhoog dan het aantal gebruikte hotelkamers met één en geef het succes door aan aanroepende functie. Voor het markeren van hotelkamers als gebruikt wordt net zoals bij de invluchten gebruik gemaakt van een teller die per dag per hotel bijhoudt hoeveel er gebruikt zijn voor feasible packages. 3.4. Zoeken van een uitvlucht voor een dag De laatste schakel in het vinden van een feasible package is het vinden van een beschikbare uitvlucht. Een uitvlucht is beschikbaar als hij nog niet voor een feasible package wordt gebruikt. Er is tenminste één beschikbare uitvlucht als het aantal uitvluchten wat reeds gekocht is door de agent groter is dan het aantal reeds gebruikte uitvluchten. Als het aantal gekochte uitvluchten voor de gegeven dag groter is dan het aantal in feasible packages gebruikte uitvluchten, Verhoog dan het aantal gebruikte uitvluchten voor deze dag met één en geef het succes door aan aanroepende functie.

3.5. Bepalen van aantal potential feasible packages Nadat bepaald is hoeveel feasible packages er zijn en bijgewerkt is welke in-, uitvluchten en hotels er gebruikt worden voor die packages kan bekeken worden of er potential feasible packages zijn: packages die bestaan uit een invlucht en een hotelovernachting, maar nog geen uitvlucht. Door te berekenen hoeveel potential feasible packages er zijn en door bij te houden hoeveel uitvluchten er op welke dagen bijgeboekt moeten worden om de potential feasible om te zetten in feasible packages kan snel het aantal feasible packages van 8 worden gehaald. Zet het aantal potential feasible packages en de aantallen extra uitvluchten nodig per dag op 0. Loop de dagen 1 t/m 4 af. Als het aantal invluchten dat gekocht is groter is dan het aantal invluchten dat gebruikt wordt voor feasible packages, en als de veiling van de Tower hotelkamers gesloten is op deze dag, kijk dan of het aantal gekochte hotelkamers groter is dan het aantal gebruikte hotelkamers. Als dit het geval is, boek dan zoveel uitvluchten bij, dat er voor elke te boeken uitvlucht een invlucht en een hotelovernachting is. Verhoog het aantal potential feasible packages met het aantal extra te boeken uitvluchten. Als er nu nog steeds invluchten niet gebruikt zijn voor een feasible package, en als de veiling van de Shanties hotelkamers gesloten is op deze dag, kijk dan of het aantal gekochte hotelkamers groter is dan het aantal gebruikte hotelkamers. Als dit het geval is, boek dan zoveel uitvluchten bij, dat er voor elke te boeken uitvlucht een invlucht en een hotelovernachting is. Verhoog het aantal potential feasible packages met het aantal extra te boeken uitvluchten. Per dag wordt gekeken hoeveel invluchten nog niet gebruikt worden door feasible packages. Vervolgens wordt gekeken of er nog een hotelkamer is die niet gebruikt wordt. Is die kamer gevonden, dan is er een potential feasible package gevonden. Door nu het aantal extra te boeken uitvluchten voor de volgende dag met één te verhogen kan aan de uitvluchtenbiedstrategie doorgegeven worden dat er door het plaatsen van een extra uitvlucht op die dag een nieuw feasible package ontstaat.