Suche senden
Hochladen
Drools Planner Chtijug 2010
•
Als ODP, PDF herunterladen
•
0 gefällt mir
•
430 views
Nicolas Heron
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 69
Jetzt herunterladen
Empfohlen
Drools Cylande Chtijug 2010
Drools Cylande Chtijug 2010
Nicolas Heron
Mnemonic And Illustration
Mnemonic And Illustration
phew_artwork
Phew Artwork
Phew Artwork
phew_artwork
Sctrach Card,Reminder Card,Promotional Ads
Sctrach Card,Reminder Card,Promotional Ads
phew_artwork
Uber git workflow
Uber git workflow
Glenn Roberts
Bulletin
Bulletin
phew_artwork
Visual Aid
Visual Aid
phew_artwork
Pushing the rule engine to its limits with drools planner (parisjug 2010-11-09)
Pushing the rule engine to its limits with drools planner (parisjug 2010-11-09)
Geoffrey De Smet
Empfohlen
Drools Cylande Chtijug 2010
Drools Cylande Chtijug 2010
Nicolas Heron
Mnemonic And Illustration
Mnemonic And Illustration
phew_artwork
Phew Artwork
Phew Artwork
phew_artwork
Sctrach Card,Reminder Card,Promotional Ads
Sctrach Card,Reminder Card,Promotional Ads
phew_artwork
Uber git workflow
Uber git workflow
Glenn Roberts
Bulletin
Bulletin
phew_artwork
Visual Aid
Visual Aid
phew_artwork
Pushing the rule engine to its limits with drools planner (parisjug 2010-11-09)
Pushing the rule engine to its limits with drools planner (parisjug 2010-11-09)
Geoffrey De Smet
Teaching Constraint Programming, Patrick Prosser
Teaching Constraint Programming, Patrick Prosser
Pierre Schaus
Monte Carlo on a Blackpool Budget
Monte Carlo on a Blackpool Budget
Paul Briërley
Monte Carlo on a Blackpool Budget - Paul Brierly - HOlink2016
Monte Carlo on a Blackpool Budget - Paul Brierly - HOlink2016
HOlink
Drools Planner webinar (2011-06-15): Drools Planner optimizes automated planning
Drools Planner webinar (2011-06-15): Drools Planner optimizes automated planning
Geoffrey De Smet
Algorithm Design and Complexity - Course 1&2
Algorithm Design and Complexity - Course 1&2
Traian Rebedea
Search-Based Software Project Scheduling
Search-Based Software Project Scheduling
jfrchicanog
1_MachineLearning.ppt
1_MachineLearning.ppt
ssuserd27779
Optimized Classroom Scheduling at LaGrange College
Optimized Classroom Scheduling at LaGrange College
Jon Ernstberger
ADOVH Continuous Assessment.pdf
ADOVH Continuous Assessment.pdf
ADOVH-University of South Africa
Next Generation “Treatment Learning” (finding the diamonds in the dust)
Next Generation “Treatment Learning” (finding the diamonds in the dust)
CS, NcState
Satisfaction And Its Application To Ai Planning
Satisfaction And Its Application To Ai Planning
ahmad bassiouny
Lecture 2
Lecture 2
chandsek666
Introduction to Optimization revised.ppt
Introduction to Optimization revised.ppt
JahnaviGautam
UNIT-V.ppt
UNIT-V.ppt
rajinooka
Thermal Expansion Lab ProjectThe data listed in Table 1 be
Thermal Expansion Lab ProjectThe data listed in Table 1 be
GrazynaBroyles24
Recursion, debugging in c
Recursion, debugging in c
Saule Anay
counting techniques
counting techniques
Unsa Shakir
problem solve and resolving in ai domain , probloms
problem solve and resolving in ai domain , probloms
SlimAmiri
Learning to Search Henry Kautz
Learning to Search Henry Kautz
butest
Learning to Search Henry Kautz
Learning to Search Henry Kautz
butest
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Zilliz
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
Weitere ähnliche Inhalte
Ähnlich wie Drools Planner Chtijug 2010
Teaching Constraint Programming, Patrick Prosser
Teaching Constraint Programming, Patrick Prosser
Pierre Schaus
Monte Carlo on a Blackpool Budget
Monte Carlo on a Blackpool Budget
Paul Briërley
Monte Carlo on a Blackpool Budget - Paul Brierly - HOlink2016
Monte Carlo on a Blackpool Budget - Paul Brierly - HOlink2016
HOlink
Drools Planner webinar (2011-06-15): Drools Planner optimizes automated planning
Drools Planner webinar (2011-06-15): Drools Planner optimizes automated planning
Geoffrey De Smet
Algorithm Design and Complexity - Course 1&2
Algorithm Design and Complexity - Course 1&2
Traian Rebedea
Search-Based Software Project Scheduling
Search-Based Software Project Scheduling
jfrchicanog
1_MachineLearning.ppt
1_MachineLearning.ppt
ssuserd27779
Optimized Classroom Scheduling at LaGrange College
Optimized Classroom Scheduling at LaGrange College
Jon Ernstberger
ADOVH Continuous Assessment.pdf
ADOVH Continuous Assessment.pdf
ADOVH-University of South Africa
Next Generation “Treatment Learning” (finding the diamonds in the dust)
Next Generation “Treatment Learning” (finding the diamonds in the dust)
CS, NcState
Satisfaction And Its Application To Ai Planning
Satisfaction And Its Application To Ai Planning
ahmad bassiouny
Lecture 2
Lecture 2
chandsek666
Introduction to Optimization revised.ppt
Introduction to Optimization revised.ppt
JahnaviGautam
UNIT-V.ppt
UNIT-V.ppt
rajinooka
Thermal Expansion Lab ProjectThe data listed in Table 1 be
Thermal Expansion Lab ProjectThe data listed in Table 1 be
GrazynaBroyles24
Recursion, debugging in c
Recursion, debugging in c
Saule Anay
counting techniques
counting techniques
Unsa Shakir
problem solve and resolving in ai domain , probloms
problem solve and resolving in ai domain , probloms
SlimAmiri
Learning to Search Henry Kautz
Learning to Search Henry Kautz
butest
Learning to Search Henry Kautz
Learning to Search Henry Kautz
butest
Ähnlich wie Drools Planner Chtijug 2010
(20)
Teaching Constraint Programming, Patrick Prosser
Teaching Constraint Programming, Patrick Prosser
Monte Carlo on a Blackpool Budget
Monte Carlo on a Blackpool Budget
Monte Carlo on a Blackpool Budget - Paul Brierly - HOlink2016
Monte Carlo on a Blackpool Budget - Paul Brierly - HOlink2016
Drools Planner webinar (2011-06-15): Drools Planner optimizes automated planning
Drools Planner webinar (2011-06-15): Drools Planner optimizes automated planning
Algorithm Design and Complexity - Course 1&2
Algorithm Design and Complexity - Course 1&2
Search-Based Software Project Scheduling
Search-Based Software Project Scheduling
1_MachineLearning.ppt
1_MachineLearning.ppt
Optimized Classroom Scheduling at LaGrange College
Optimized Classroom Scheduling at LaGrange College
ADOVH Continuous Assessment.pdf
ADOVH Continuous Assessment.pdf
Next Generation “Treatment Learning” (finding the diamonds in the dust)
Next Generation “Treatment Learning” (finding the diamonds in the dust)
Satisfaction And Its Application To Ai Planning
Satisfaction And Its Application To Ai Planning
Lecture 2
Lecture 2
Introduction to Optimization revised.ppt
Introduction to Optimization revised.ppt
UNIT-V.ppt
UNIT-V.ppt
Thermal Expansion Lab ProjectThe data listed in Table 1 be
Thermal Expansion Lab ProjectThe data listed in Table 1 be
Recursion, debugging in c
Recursion, debugging in c
counting techniques
counting techniques
problem solve and resolving in ai domain , probloms
problem solve and resolving in ai domain , probloms
Learning to Search Henry Kautz
Learning to Search Henry Kautz
Learning to Search Henry Kautz
Learning to Search Henry Kautz
Kürzlich hochgeladen
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Zilliz
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
apidays
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Dropbox
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
The Digital Insurer
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
WSO2
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Juan lago vázquez
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Orbitshub
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
sammart93
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
MIND CTI
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
apidays
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Zilliz
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Jeffrey Haguewood
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
Nanddeep Nachan
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Kürzlich hochgeladen
(20)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Drools Planner Chtijug 2010
1.
Jboss Drools &
Drools Planner 21 janvier 2010
2.
3.
4.
Création en 1986
5.
35 M€ de
CA en 2008 (+20 %/an en moyenne depuis 5 ans)
6.
34 % à
l’International
7.
8.
Effectifs :
430 collaborateurs dans le monde, 360 en France, 300 r essources basées à Roubaix
9.
Storeland pilote l’ensemble
de votre supply chain étendue
10.
Cylande a accompagné
l’équipe de France de Judo à Pékin Le judo véhicule des valeurs CYLANDE partenaire de la FFJ
11.
Lauréat du
Prix PME France CHINE ACFCI / CCIFC Une croissance résolument tournée vers l’international
12.
Mark's slides here
13.
Q&A
14.
Automated planning with
Drools Planner Geoffrey De Smet Drools Planner lead "Do more with less."
15.
16.
Bin packaging
17.
Employee shift rostering
18.
19.
20.
Bin packaging
21.
Employee shift rostering
22.
23.
24.
No 2 queens
can attack each other
25.
26.
N queens: an
optimal solution Score = 0
27.
28.
29.
30.
Not the largest
size
31.
Not the largest
side
32.
33.
34.
35.
36.
Not all fireworks
in the same container
37.
...
38.
39.
40.
41.
42.
43.
44.
Forward rotation: weight
10
45.
46.
Beth dislikes Wednesday
afternoon shifts
47.
48.
49.
C is
the best solution
50.
51.
52.
Room capacity: A
room's seating capacity should suffice at all times.
53.
Period duration: A
period's duration should suffice for all of its exams.
54.
55.
Exclusion: 2 exams
should not use the same period.
56.
57.
58.
2 exams in
a day.
59.
Period spread: 2
exams that share students should be a number of periods apart.
60.
Mixed durations: 2
exams that share a room should not have different durations.
61.
Front load: Large
exams should be scheduled earlier in the schedule.
62.
Period penalty: Some
periods have a penalty when used.
63.
Room penalty: Some
rooms have a penalty when used.
64.
65.
66.
7 soft constraints
67.
68.
Appointment and resource
scheduling
69.
70.
Machine queue planning
71.
...
72.
73.
74.
75.
Blog & twitter
(#droolsplanner)
76.
77.
Bin packaging
78.
Employee shift rostering
79.
80.
Brute force for
(periodOfExam1 : periodList) { exam1 .setPeriod(periodOfExam1); for (roomOfExam1 : roomList) { exam1 .setRoom(roomOfExam1); for (periodOfExam2 : periodList) { exam2 .setPeriod(periodOfExam2); for (roomOfExam2 : roomList) { exam2 .setRoom(roomOfExam2); ... for (periodOfExamN : periodList) { examN .setPeriod(periodOfExamN); for (roomOfExamN : roomList) { examN .setRoom(roomOfExamN); Score score = calculateScore(solution); cloneIfScoreIsBetter(solution, score); } } } }…} }
81.
82.
80 periods
83.
84.
85.
80 periods
86.
87.
88.
80 periods
89.
90.
91.
80 periods
92.
93.
94.
95.
2240^1096 =
a little over 10^3671
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
Still too many
for loops
109.
Still takes forever
for (periodOfExam2 : periodList) { exam2 .setPeriod(periodOfExam2); if ( exam1 .shareStudentWith( exam2 ) && periodOfExam1.equals(periodOfExam2)) { c ontinue ; // bug: best solution might break a hard constraint } ...
110.
111.
112.
More time =
better score
113.
114.
115.
Deterministic: examination List<Exam>
sortedExamList = sortExamsOnDifficulty(examList); for (exam : sortedExamList) { // Determine best remaining spot Score bestScoreOfExam = - INFINITY; for (period : periodList) { exam .setPeriod(period); for (room : roomList) { exam .setRoom(room); Score score = calculateScore(solution); if (score > bestScoreOfExam) { bestScoreOfExam = score; ... store bestPeriod, bestRoom } } } … assign exam to bestPeriod, bestRoom }
116.
117.
118.
Great deluge
119.
120.
Ant colony optimization
121.
...
122.
123.
Give 2 queens
each others rows
124.
...
125.
126.
Metaheuristic: local search
127.
128.
129.
2) Simple
local search
130.
3) Stuck in
local optimum! Source: Wikipedia
131.
132.
Drool planner configuration
<selector> <selector> <moveFactoryClass>...PeriodChangeMoveFactory</...> <relativeSelection>0.002</relativeSelection> </selector> ... <selector> <moveFactoryClass>...ExamSwitchMoveFactory</...> <relativeSelection>0.002</relativeSelection> </selector> </selector> <accepter> <completeSolutionTabuSize>1000</completeSolutionTabuSize> <completeMoveTabuSize>7</completeMoveTabuSize> </accepter> <forager> <foragerType>MAX_SCORE_OF_ALL</foragerType> </forager>
133.
134.
Score attained
135.
Max step count
136.
137.
Double time !=>
double score Soft score Time (hours:minutes) Examination test data 7
138.
139.
Different moves
140.
141.
142.
143.
Bin packaging
144.
Employee shift rostering
145.
146.
JAVA vs SQL
vs DRL for ( q1 : queenList) { for ( q2 : queenList) { if ( q1 .getId() < q2 .getId() && q1.getY() == q2.getY() ) { ... } } } select * from Queen q1 , Queen q2 where q1 .id < q2 .id and q1.y = q2.y ; rule "multipleQueensHorizontal" when $q1 : Queen($id : id, $y : y ); $q2 : Queen(id > $id, y == $y );
147.
N queens: score
rule rule "multipleQueensHorizontal" when $q1 : Queen($id : id, $y : y); $q2 : Queen(id > $id, y == $y); then insertLogical( new IntConstraintOccurrence( "multipleQueensHorizontal" , ConstraintType.NEGATIVE_HARD, 1 , $q1 , $q2 )); end
148.
Score rule isolation
rule "multipleQueensHorizontal" when $q1 : Queen($id : id, $y : y); $q2 : Queen(id > $id, y == $y ); then ... end rule "multipleQueensAscendingDiagonal" when $q1 : Queen($id : id, $ascendingD : ascendingD); $q2 : Queen(id > $id, ascendingD == $ascendingD ); then ... end rule "multipleQueensDescendingDiagonal" when $q1 : Queen($id : id, $descendingD : descendingD); $q2 : Queen(id > $id, descendingD == $descendingD ); then ... end
149.
150.
151.
152.
Adding constraints is
easy and scalable
153.
Switching/combining algorithms is
easy
154.
155.
156.
157.
158.
Pas d'Utilisation Commerciale
159.
160.
161.
Merci à Cylande
pour son sponsoring
Jetzt herunterladen