In deze presentatie (thesis) wordt onderzoek gevoerd naar oplossingsmethodes voor een online afspraken systeem. Eigen aan dit afsprakensysteem is dat de zaak tot bij de klant reist. De zoekmethodes worden ontwikkeld en getest. Met als bedoeling deze na afloop te implementeren in het afsprakensysteem dat Cornelis ICT ontwikkeld heeft.
3. 1.1 Cornelis ICT
• Gestart met een schoolproject: kapper-reservatie
• Actief sinds 2009
• Online afsprakenwebsites
• kappers, schoonheids-, wellness-, zonnecentra, ...
• huisdokters, radiologen, tandartsen, rugspecialisten, ...
• boekhouders, sportzalen, garages, ...
• Meer informatie: www.cornelis-ict.be
3
maandag 14 februari 2011
4. 1.1 Cornelis ICT
Hoe ziet een online afspraken website eruit?
• Eenvoudige GUI (Grafische User Interface)
• Zoeken naar vrije tijdstippen in het agenda van de zaak
• De klant reist naar de zaak
korte demonstratie, om de context v/d thesis te begrijpen
4
maandag 14 februari 2011
5. 1.2 Algemene probleemstelling
• Basis idee: de zaak reist naar de klant
• Toepassing:
• bv. sales team
• bedrijf dat boekhoudkundige software verkoopt
• demonstratie bij klanten
• verschillende tijdsduur voor elk type product
• planning vandaag? niet gemakkelijk & inefficiënt!
- Wanneer kan ik deze klant plannen?
- Heb ik voldoende tijd om te demonstreren?
- Heb ik voldoende tijd om naar de klant te rijden?
- Kan ik nog op tijd bij de volgende klant geraken?
5
maandag 14 februari 2011
6. 1.3 Voorbeeld
• Voorbeeld:
- Bart vertegenwoordiger, woont in Antwerpen
- Start om 8u ‘s morgens
- Heeft reeds 2 afspraken: In Brussel & Gent
- Demo v/d softwarepakketten geven
6
maandag 14 februari 2011
8. 1.3 Voorbeeld
• Geïnteresseerde klant uit Dendermonde
2 mogelijkheden:
-Telefoneert naar Bart voor een afspraak
-Maak zelf een afspraak via de website
Tijdstippen voorstellen die zo weinig mogelijk extra
kosten introduceren.
o.a. afstand per dag minimaliseren. Goed voor milieu!
CO2 uitstoot: 150 gr/km
8
maandag 14 februari 2011
9. 1.3 Voorbeeld
• locatie gerelateerde afspraak tussen Antwerpen & Brussel
extra afstand: 182 - 160 = 22 km
22km x 150gr/km = 3300 gr CO2 9
maandag 14 februari 2011
10. 1.3 Voorbeeld
• locatie gerelateerde afspraak tussen Brussel & Gent
extra afstand: 175 - 160 = 15 km (d.i. BETER)
slechts 15km x 150gr/km = 2250 gr CO2 10
maandag 14 februari 2011
11. 1.3 Voorbeeld
• plannings gerelateerde
nieuwe afspraak tussen Antwerpen en Brussel
nieuwe afspraak tussen Brussel en Gent
MAAR!
tijdscriteria:
- voldoende tijd om te demonstreren?
- voldoende tijd om van Brussel naar Gent te rijden?
- voldoende tijd om van Dendermonde naar Gent te rijden?
11
maandag 14 februari 2011
12. 1.4 Doel
Zoekmethodes nodig
1) Als de klant via de site een afspraak wil maken
2) Als de vertegenwoordiger een afspraak moet plannen
3) Geplande afspraken, nog verbetering mogelijk?
12
maandag 14 februari 2011
13. 1.4 Doel
Zoekmethodes nodig
1) Als de klant via de site een afspraak wil maken
2) Als de vertegenwoordiger een afspraak moet plannen
3) Geplande afspraken, nog verbetering mogelijk?
12
maandag 14 februari 2011
14. 1.4 Doel
Wetenschappelijke literatuur
Zoekmethodes nodig
1) Als de klant via de site een afspraak wil maken
2) Als de vertegenwoordiger een afspraak moet plannen
3) Geplande afspraken, nog verbetering mogelijk?
12
maandag 14 februari 2011
15. 2. Literatuurstudie
• Boeken rond optimalisatietechnieken
[1] Edmund K. Burke, Graham Kendall, SEARCH METHODOLOGIES:
Introductory Tutorials in Optimization and Decision Support Techniques
[2] Wayne L. Winston, Opertions Research: Applications and Algorithms
• Boeken rond datastructuren & algoritmen
[3] Veerke Fack, Algoritmen en datastructuren, 2007
[4] Robert Lafore, Data structuren & algorithms in Java, 2003
13
maandag 14 februari 2011
16. 2. Literatuurstudie
• Papers
- Traveling Salesmen Problem (TSP)
[1] Christian Nilsson, “Heuristics for the Travelling Salesman Problem”, http://www.ida.liu.se/~TDDB19/reports_2003.html
[2] Christine L. Valenzuela, Antonia J. Jones, “Estimating the Held-Karp lower bound for geometric TSP”, 21 July 2001
- Scheduling
[4] A.T. Ernst, H. Jiang, M.Krishnamoorthy *, D. Sier, 2003, “Staff scheduling and rostering: A review of applications, methodes and models”
[5] B. Dodin, A.A. Elimam, E. Rolland, 1998, “Tabu search in audit scheduling”
- Vehicle and Crew Scheduling Problem (VCSP)
[6] Sebastiaan W. de Groot, Dennis Huisman, “Vehicle and Crew Scheduling: Solving Large Real-world Instances with an Integrated Approach”
[7] Benoït Laurent, Jin-Kao Hao, 2007, “Simultaneous vehicle and driver scheduling: A case study in a limousine rental company”
[8] Marta Mes,Ana Paias, Ana Respicio, 2006, “Branching approoaches for the integrated vehicle and crew scheduling”
- Datastructuren TSP
[9] M.L Fredman, D.S Johnson, L.A. McGeoch, G. Ostheimer, “Data Stuctures For Travelling Salesmen”, J. ALGORITHMS 18, 1995, pp.432-479
...
14
maandag 14 februari 2011
17. 2. Literatuurstudie
• Besluit:
-Combinatie planning & routering niet rechtstreeks in
wetenschappelijke literatuur beschreven
• Dus ook geen klant en klare zoekmethode
-Scheduling literatuur?
• Takenverzameling vooraf gekend
- Vehicle Routing and Crew Scheduling Problem (VCSP)?
• bv. buschauffeurs:
- Routes worden eerst berekend
- Daarna chauffeurs toekennen
15
maandag 14 februari 2011
18. 2. Literatuurstudie
• Besluit:
- Travelling Salesman Problem (TSP)
• Sterk gerelateerd probleem
• Maar:
- Locaties zijn vooraf gekend
- Houdt geen rekening met planning
• Wel: interessante oplossingsmethodes (heuristieken)
- Probleemstelling: Interactief karakter
• Taken niet vooraf gekend
• Taken direct plannen
16
maandag 14 februari 2011
19. 3.1 Uitwerking: onderdelen
3 onderdelen:
• Afstand reduceren is niet de enige doelstelling!
• Model opstellen met alle doelstellingen, beperkingen,
input en output (useability, gebruikerservaring)
• Geen kant en klare oplossingsmethode
• Oplossingsmethodes ontwerpen en ontwikkelen
• Proof-of-concept programmatie (JAVA)
• Testen & optimaliseren
17
maandag 14 februari 2011
20. 3.2 Uitwerking: model
• Doelstellingen
- Afstand per dag minimaal houden
- Zo weinig mogelijk onbenutte tijd
- Door te vroeg aan te komen
- Eerste afspraak niet aansluitend op begin werkuren
- Deadhead minimaliseren
- Gelijkmatige verdeling
• Beperkingen (hard/zacht)
- harde: afspraken mogen niet overlappen
- harde: binnen de werkuren
- harde: niet tijdens vakantieperiodes
- harde: voldoende capaciteiten vereist
- zachte: afspraken sluiten best aan op het begin of het einde van werkuren
- zachte: nieuwe afspraken sluiten best aan op het einde van een andere afspraak
18
maandag 14 februari 2011
21. 3.3 Uitwerking: specifiek model 1
• Vertegenwoordiger moet in eigen agenda zoeken naar een goed tijdstip
• Input:
- Agenda met reeds geplande afspraken
- Nieuwe afspraak op een locatie + product(en)
- Tijdshorizon 2 weken
• Output:
- Tijdstippen die minimale kosten introduceren per dag, 2 weken ver, 1
vertegenwoordiger zijn agenda
- Beste resultaten eerst, daarop volgend minder goede resultaten
19
maandag 14 februari 2011
22. 3.4 Uitwerking: specifiek model 2
• Klant zoekt via de website naar een tijdstip voor afspraak
• Input:
- Agenda’s van alle vertegenwoordigers met geplande afspraken
- Nieuwe afspraak op locatie + product(en)
- Tijdshorizon: #dagen geselecteerd door gebruiker en VM of NM
• Output:
- Tijdstippen die minimale kosten introduceren voor elke dag (VM of NM)
- Alle vertegenwoordigers hun agenda doorzoeken
- Enkel de beste resultaten
20
maandag 14 februari 2011
23. 3.5 Uitwerking: zoekmethode 1&2
• Zoekmethodes 1 en 2 zijn gelijkaardig op tijdshorizon na
• Initiële aanpak exhaustief
- Exacte oplossingsmethode
- Nieuwe afspraak @ begin werkdag starten, evalueren, +15min, evalueren, enz.
- Nadeel:
- Tijdens het zoeken veel harde beperkingen overtreden (overlap)
- Dit is veel nutteloos rekenwerk
- Veel Google Maps API aanvragen (zijn beperkt tot 2500 per dag)
• Intelligente aanpak, zoeken in gebieden waar beste oplossingen zich bevinden
- Enkel proberen invullen waar gaten zijn (harde beperkingen niet overtreden)
- Systematisch werken (minder API aanvragen)
- Gat > demotijd?
- Gat > demotijd + rijtijd naar afspraak
- Gat > demotijd + rijtijd naar afspraak + rijtijd van afspraak naar volgende
- Datastructuur voor de afspraken (LinkedList)
21
maandag 14 februari 2011
24. 3.6 Uitwerking: zoekmethode 3
• Weet niet zeker als er wel verbeteringen zullen mogelijk zijn
• Zware beperkingen
• Alle mogelijke verwisselingen detecteren en berekenen als de verwisselingen
verbeteringen opleveren?
• Of slechts beperkt aantal detecteren en berekenen?
• Wanneer laten we deze methode uitvoeren?
• TODO
22
maandag 14 februari 2011
26. 3.8 Testen
• Hoe presteren de zoekalgoritmen best? Gerichte marketing of niet?
• Testbank met verschillende scenario’s
• Resultaten op komst
http://www.geomidpoint.com/random/
24
maandag 14 februari 2011
27. 4 Besluit
Status:
- Literatuurstudie gevoerd & gedocumenteerd
- Model is opgesteld, gedocumenteerd & geïmplementeerd in JAVA
- Bezig met de implementatie, optimalisatie & testen v/d zoekmethodes
Interessant project, andere toepassingsdomeinen?
dynamisch (interactief) versus statische aanpak
bv. rostering: personeel moet een aantal uren werken
kunnen zelf hun uren invullen door te interageren met het
systeem
25
maandag 14 februari 2011
28. 5 Toekomst
• Implementatie als webservice
• Webservice kan gebruikt worden
• Customer Relationship Management (CRM) pakketten
• Bestaande online afspraken module (bv. thuiszorg)
• ...
• IETF (Internet Engineering Task Force)
• iTIP (iCalendar Transport-Independent Interoperability Protocol)
• iMIP (iCalendar Message-Based Interoperability Protocol)
• Protocol in volle ontwikkeling
• Gelijkaardig aan e-mail, maar voor afspraken
• Aanvraag tot afspraak op bepaalde locatie versturen naar meerdere
deelnemers
• Interessant: vooraf controleren als de deelnemers de afspraak kunnen halen
• Onderdelen van deze zoekmethodes zijn bruikbaar
• Voorstellen aan IETF a.d.h.v. Internet Draft (I-D)
• http://www.ietf.org/rfc/rfc2446.txt (iTIP)
• http://www.ietf.org/rfc/rfc2447.txt (iMIP)
26
maandag 14 februari 2011
29. 6 Vragen
Bedankt voor uw aandacht!
www.cornelis-ict.be/presentatie.pdf
27
maandag 14 februari 2011