5 de dingo gebruikerscommissie beheerraadzaal @ kaho sint-lieven gent

45
5 de DINGO Gebruikerscommissi e Beheerraadzaal @ KaHo Sint-Lieven Gent http:// ingenieur.kahosl.be /projecten/dingo

Upload: esmee-bosman

Post on 14-Jun-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

5de DINGO Gebruikerscommissie

Beheerraadzaal @ KaHo Sint-Lieven Gent

http://ingenieur.kahosl.be/projecten/dingo

Page 2: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 2

Agenda

Welkom Status Bespreking vorderingen Discussie

Page 3: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Welkom

Page 4: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Status van het project

Page 5: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 5

Periode 1 december 2004 – 14 april 2005

WP 4: testen van algoritmen WP 7: onderhandelingsmodel WP 8: Modelleren van gebruikers WP 9: Testen Onderhandelingsmodel

Page 6: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 6

Mijlpalen

Planningscomponenten in Java Onderhandelingsmodel in Mozart/Oz Prototype agententoepassing (DistriMedia case)

Page 7: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 7

Page 8: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Bespreking

Page 9: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 9

Agenda

Architectuur Onderhandelingsmodel in Mozart/Oz

Mozart/Oz? Zoekalgoritme

Gebruikte evaluatiemethode (nummeringen) Communicatie tussen model en algoritme

XML-RPC Gui Demo: DistriMedia case

Page 10: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 10

Architectuur (1)OmbudsAgent

DepartementsAgent

Moz

art/

Oz

Java

DepartementsAgent

DepartementsAgent

DepartementsAgent

Lokaal zoekalgoritme

XM

L-R

PC

Page 11: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 11

Architectuur (2)DepartementsAgent

Moz

art/

Oz

Java

XM

L-R

PC

PersoneelsAgent

PersoneelsAgent

Lokaal zoekalgoritme

Page 12: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 12

Uiteindelijke oplossing

Initiële toekenning van personeel

Onderhandeling

Taak 1

Tabu Search

Eerste Oplossing

Taak 2

Tabu Search

Eerste Oplossing

Taak 3

Tabu Search

Eerste Oplossing

Uiteindelijke oplossing

Uiteindelijke oplossing

Page 13: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 13

OmbudsAgent DepartementsAgenti

CFP Elk stuurt kost + duurste kwalificatie en tijdstip. Resultaat van lokaal zoek-algoritme

(Kost, Q, T)i

Evalueren elk de voorgestelde wijziging

en genereren bijhorende kost

ACCEPT PROPOSAL

REJECT PROPOSAL

De betrokken Departe-mentsAgenten

wisselen personeel uit en passen het

departementsroos-ter voor die shift aan.

CNP

CFP

(Kost, Q, T)i

CNP

PersoneelsAgentj

Doorgeven van werkschema aan

initieel toegewezen personeel

CFP: T, Plaats

Kost

ACCEPT PROPOSAL

Elke betrokken agent evalueert zijn eigen beper-kingen en gene-reert een kost

REJECT PROPOSAL

Neem de hoogste kost

Stuur de anderen een REJECT

Kosti + extra informatie

ACCEPT PROPOSAL

REJECT PROPOSAL

CFP, Qmax, Tmax

CNP

Als Kosti < drempel-waarde, dan wordt

de verandering aan-vaard

Anders niet

Stuur de agenten die aanpassingen

hebben gedaan een nieuwe CFP

Herhaling: Onderhandelingsmechanisme

Enkel de agenten die aanpassingen hebben

gedaan sturen hun kost terug

Page 14: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 14

Implementatiekwesties

Jade: De facto agentenomgeving voor Java Enkele faciliteiten voor CNP (Initiator & Responder) Niettemin: complexe programmacode problemen met grote aantallen agenten

Mozart/Oz: multi-paradigma, gedistribueerd programmeertaal Functionaliteit voor agenten

Page 15: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 15

Mozart/Oz

Mozart Programming System constraint-based inference distributed computing human-computer interfaces platformonafhankelijk (Unix, Windows, MacOs,... )

Oz language declarative programming object-oriented programming constraint programming concurrency

Page 16: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 16

meth behavior(M) case M of msg(_ Zender shiftKost(Shift Avgr Poort)) then self.poort = Poort local S K ShiftP KostP in

_|S|_|K|_ = {XmlRpcClient.execute "http://"#'10.11.0.12'#":"#self.poort#"/RPC2" "test3"#"."#"evaluatePersoneel" [self.name Shift Avgr] }

ShiftP = {String.toInt {ByteString.toString S}} KostP = {String.toFloat {ByteString.toString K}}

{@connector send(msg(Zender self.name personeelsKost(ShiftP KostP Avgr)))} end [] msg(_ _ opdrachten(_ Shift Avgr)) then _ = {XmlRpcClient.execute

"http://"#'10.11.0.12'#":"#self.poort#"/RPC2" "test3"#"."#"voerVeranderingPersoneelUit" [self.name Shift Avgr]

} else

{C.cshow watTeDoenMet(M self.name)} end

end

Page 17: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 17

Zoekalgoritme

Nieuwe evaluatiemethode: Nummeringen Beschreven in XML bestand GUI om XML bestand automatisch te genereren

Demo

Page 18: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 18

Nummeringen: voorbeeld• planningsperiode 1 week

• zachte beperkingen:• maximum aantal toekenningen 6• minimum 2• maximum aantal opeenvolgende vrije dagen 8• minimum 2• maximum aantal opeenvolgende toekenningen 4• minimum 2• maximum per dag 1• maximum aantal nachtdiensten 3• minimum aantal opeenvolgende nachtdiensten 2• volledige weekends werken

van tot M vroege shift 06:45 14:45 L late shift 14:30 22:00 N nacht shift 22:00 07:00

N1

N2

N3

Page 19: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 19

Nummeringen

* * * * * N1 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 N2 U U 0 U U 1 U U 2 U U 3 U U 4 U U 5 U U 6 N3 U U U U U U U U U U U U U U U 0 0 0 1 1 1

rooster P1

constraints N1

max-total = 6

min-total = 2

max-between = 8

min-between = 2

max-consecutive = 4

min-consecutive = 2

max-pert = 1

tellers

last

total

consecutive

constante

max

constraints N2

max-total = 3

min-consecutive = 2

constraints N3

min-consecutive = 2

Ma Di Wo Do Vr Za Zo P1 M M L L N P2 N N L L P3 M M M M M M M P4 M L N N N P5 M L L L L

Page 20: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 20

P1 * * * * * N1 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 N2 U U 0 U U 1 U U 2 U U 3 U U 4 U U 5 U U 6 N3 U U U U U U U U U U U U U U U 0 0 0 1 1 1

constraints N1

max-total = 6

min-total = 2

max-between = 8

min-between = 2

max-consecutive = 4

min-consecutive = 2

max-pert = 1

kost N1

cost-max-total = 0

cost-min-total = 0

cost-max-between = 0

cost-min-between = 0

cost-max-consecutive = 1

cost-min-consecutive = 0

cost-max-pert = 0

constraints N2

max-total = 3

min-consecutive = 2

kost N2

max-total = 0

min-consecutive = 1

constraints N3

min-consecutive = 2

kost N3

min-consecutive = 0

totale kost

(kostparameter * kost)

tellers

last

total

consecutive

Kostfunctie P1

Page 21: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 21

Startvoorwaarden

Ma Di Wo Do Vr Za Zo Ma Di Wo Do Vr Za Zo P1 M M M M L L N P2 M L L N N N L L P3 L L M M M M M M M P4 L L M L N N N P5 N N N N N M L L L L

Page 22: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 22

Kostfunctie P1P1 * * * * * * * N1 -3 -3 -2 -2 -2 -1 -1 -1 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 N2 U -3 U U -2 U U -1 U U 0 U U 1 U U 2 U U 3 U U 4 U U 5 U U 6 N3 U U -3 -3 -3 -2 -2 -2 U U U U U U U U U U U U U U U 0 0 0 1 1 1

constraints N1

max-total = 6

min-total = 2

max-between = 8

min-between = 2

max-consecutive = 4

min-consecutive = 2

max-pert = 1

kost N1

cost-max-total = 0

cost-min-total = 0

cost-max-between = 0

cost-min-between = 0

cost-max-consecutive = 3

cost-min-consecutive = 0

cost-max-pert = 0

constraints N2

max-total = 3

min-consecutive = 2

kost N2

max-total = 0

min-consecutive = 1

constraints N3

min-consecutive = 2

kost N3

min-consecutive = 0

tellers N1

last = -1

total = 0

consecutive = 2

tellers N2

last = U

total = 0

consecutive = U

tellers N3

last = -2

total = 0

consecutive = 2

Page 23: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 23

Evaluatiealgoritme• Initialisatie: rekening houdend met wat vroeger gepland was

• Planning in de periode voor de planningsperiode staat vast

• Beeld de nummeringen af op de voorgaande planningsperiode

• Zoek waarden voor de tellers: initialiseer• Geen kosten aanrekenen voor het verleden

• Tussentijdse evaluatie: tellers aanpassen en kosten berekenen indien nodig

• Finale evaluatie: kosten berekenen aan het einde van de planningsperiode

per iteratie worden de algoritmen 1 x uitgevoerd per persoon in de planning; onafhankelijk van het aantal en het type van de zachte beperkingen

Page 24: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 24

-2-2002200000000000000

UU002200000000000000

-1-1000000000000000000

Page 25: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 25

*-2-2002200000000000000

UU113311000000000000

00000000000000000000

3311

Page 26: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 26

Corresponderend XML bestand (1)<constraint ID="1">

<numberingId>1</numberingId><variables>

<max_total weight="1">6</max_total><min_total weigh="1">-oneindig</min_total><max_pert weight="1">1</max_pert><min_pert weight="1">-oneindig</min_pert><max_between weight="1">8</max_between><min_between weight="1">2</min_between><max_consecutive weight="1">4</max_consecutive><min_consecutive weight="1">2</min_consecutive>

</variables></constraint>…

Page 27: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 27

<day ID="4"><shift ID="1">3</shift><shift ID="2">3</shift><shift ID="3">3</shift>

</day><day ID="5">

<shift ID="1">4</shift><shift ID="2">4</shift><shift ID="3">4</shift>

</day><day ID="6">

<shift ID="1">5</shift><shift ID="2">5</shift><shift ID="3">5</shift>

</day><day ID="7">

<shift ID="1">6</shift><shift ID="2">6</shift><shift ID="3">6</shift>

</day></numbering>…

Corresponderend XML bestand (2)

…<numbering ID="1">

<day ID="1"><shift ID="1">0</shift><shift ID="2">0</shift><shift ID="3">0</shift>

</day><day ID="2">

<shift ID="1">1</shift><shift ID="2">1</shift><shift ID="3">1</shift>

</day><day ID="3">

<shift ID="1">2</shift><shift ID="2">2</shift><shift ID="3">2</shift>

</day>

Page 28: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 28

Communicatie

Zoekalgoritme in Java Onderhandelingsmechanisme in Mozart/Oz Hoe met elkaar communiceren?

Via webservice: Eerste idee: SOAP? Alternatief: XML-RPC?

Page 29: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 29

XML-RPC? “It's a spec and a set of implementations that allow software

running on disparate operating systems, running in different environments to make procedure calls over the Internet.

It's remote procedure calling using HTTP as the transport and XML as the encoding. XML-RPC is designed to be as simple as possible, while allowing complex data structures to be transmitted, processed and returned.”

Page 30: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 30

XML-RPC

Page 31: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 31

Toegelaten types in XML-RPC

Boolean String Double Date HashTable Vector byte[]

Page 32: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 32

SOAP

Service Requester

Service Provider

HTTP Server

SOAP Dispatc

h

?SOAP request/response messages

Underlying implementation

Page 33: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 33

SOAP?

SOAP is een “loosely coupled” protocol Lightweight (veroorzaakt minimale overhead),

eenvoudig (om te gebruiken, niet noodzakelijk om te schrijven)

Over HTTP & SMTP, geen problemen met firewalls

SOAP is een minimale verzameling van conventies om code aan te roepen gebruikmakend van XML en HTTP

Eenvoudig om zelfgemaakte objecten te encoderen (in tegenstelling tot XML-RPC)

Page 34: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 34

SOAP structuur

SOAP Message

HTTP HEADER

Envelope

Header

Body XML

Page 35: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 35

GUI voor personeelsplanning

Grafische User Interface voor personeelsplanning Koppeling tussen GUI en planningssoftware

gebeurt via SOAP Eindwerkopdracht van Koen Vangheluwe Demonstratie

Page 36: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Case Study

DistriMedia

Page 37: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 37

Case study

Distributiebedrijf, magazijn Gedistribueerd:

Werknemers zijn polyvalent (verschillende kwalificaties)

Rotatiesysteem

Ideale test case! In ons model:

Elke taak = department Elk department = voorgesteld door een

agent

Page 38: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 38

Kwalificatiematrix

Ontvangst

Opzet

Retour

Eindstation

Wikkel

Magazijn

Boodschappen

Inpakken

Administratie

Page 39: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 39

Historische gegevensDatum Werknemer Uren Taak

6/01/2004 SV 0,50 administratieVV 8,00 administratieVS 1,00 boodschapenJD 8,00 eindstationEL 8,00 ontvangstEV 2,00 ontvangstMA 8,50 ontvangstMV 7,00 ontvangstCV 2,00 transportEV 1,00 transportIM 4,00 transportTD 6,50 transportJC 6,00 magazijn

Werknemer uren TaakCM 0,50 magazijnMV 1,00 magazijnVS 1,00 magazijnRD 8,50 opzetCM 7,50 pickingCV 6,00 pickingEV 5,00 pickingIM 4,00 pickingJC 2,00 pickingKC 8,00 pickingLD 8,00 pickingRV 4,00 pickingSV 5,50 pickingVS 5,00 pickingSV 2,00 rejectKG 6,50 retourTD 1,50 wikkel

Page 40: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 40

Werkbelasting voor elke taak/dag ontvangst: 25 uren -> 3 werknemers (? 1 uur) picking: 55 uren -> 7 werknemers (! 1 uur) opzet: 9 uren -> 1 werknemer (? 1uur) reject: 2 uren -> 0 werknemers (? 2 uren) eindstation: 8 uren -> 1 werknemer (ok) wikkel: 2 uren -> 0 werknemers (? 2 uren) magazijn: 8 uren -> 1 werknemer (ok) transport: 14 uren -> 2 werknemers (! 2 uren) retour: 6 uren -> 1 werknemer (! 2 uren) administratie: 9 uren -> 1 werknemer (? 1 uur) boodschappen: 1 uur -> 0 werknemers (? 1 uur)

Page 41: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 41

Resulten: toekenning van personeel ontvangst: EL,MA, MV picking: CM, CV, EV, KC, LD, RV, SV opzet: RD reject: niemand eindstation: JD wikkel: niemand magazijn: JC transport: IM, TD retour: KG administratie: VV boodschappen: niemand

Page 42: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 42

Resultaat

maan dins woens donder vrijontvangst - EV - - EVopzet CM - SV CM -reject KG KG KG KG KG

- - - - -wikkel TD IM TD TD TD

- - IM IM TDboodschappen KG IM KG KG KGadmin - - - - -

Page 43: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 43

Commentaar

We maken geen onderscheid tussen departementen, kwalificaties en taken

Gebruiken geen werknemer agenten gedurend tabu search Voortdurende communicatie tussen agenten veroorzaakt

bottleneck

Werknemer agenten worden gecreëerd na tabu search

Als er heel veel personeel is: Werknemer agenten pas creëren als ze nodig zijn

Page 44: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Vakgroep IT KaHo Sint-Lieven 44

Toekomst

Testen op: Langere planningsperiode, Meer personeel Andere soorten bedrijven Andere onderhandelingsmechanismes

Initiële toekenning automatiseren

Page 45: 5 de DINGO Gebruikerscommissie Beheerraadzaal @ KaHo Sint-Lieven Gent

Discussie