Constraint Programming
Total Page:16
File Type:pdf, Size:1020Kb
Planning Individual Activities through an Intelligent Calendar by Anastasios Alexiadis B.Sc. Computer Science, Brunel University (2003) M.Sc. Intelligent Systems, University of Sunderland (2005) M.Sc. Applied Informatics, University of Macedonia (2009) Submitted to the Department of Applied Informatics School of Information Sciences In Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy in Applied Informatics at the University of Macedonia, Economic & Social Sciences ©2015 University of Macedonia. All rights reserved. Signature of Author............................................................................... Department of Applied Informatics, School of Information Sciences Nov 27, 2015 Certified by...................................................................................... Ioannis Refanidis, Associate Professor of Department of Applied Informatics University of Macedonia, Economic & Social Sciences Thesis Supervisor Certified by...................................................................................... Ioannis Vlahavas, Professor of Department of Informatics Aristotle University of Thessaloniki Thesis Committee Certified by...................................................................................... Amedeo Cesta, Senior Research Scientist in Artificial Intelligent and Group Lead Institute for Cognitive Science and Technology, Italian National Research Council Thesis Committee Planning Individual Activities through an Intelligent Calendar by Anastasios Alexiadis Submitted to the Department of Applied Informatics School of Information Sciences In Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy in Applied Informatics Abstract A common use of calendars is the organization of an individual’s time. While electronic cal- endars offer many benefits to their users, little work has been done to produce an Intelligent Calendar capable of managing the user’s activities on his behalf. Towards the goal of produc- ing the electronic calendar of the future, a calendar that will not only remind the user of his activities, but will also schedule them on his behalf, according to his preferences and the na- ture of the activities themselves (as well as their geographical locations), this thesis explores a model for this task. The problem explored is a complex Constraint Optimization Problem and various methods are applied on this problem (such as Constraint Logic Programming and Genetic Algorithms). An algorithm is presented, that produces the best results, based on a com- bination of the Squeaky Wheel Optimization Framework and a modified Simulated Annealing empowered with Tabu Search and backtracking, and coupled with in-domain heuristics, that manages to produce excellent results in a short amount of time. In addition, the problem of producing multiple plans is tackled, by defining a formal model for the quantification of the differences between plans. The scheduler presented utilizes this model to produce multiple plans for the user, while also attempting to learn his qualitative preferences from the user’s plan choice. Moreover, we present SelfPlanner 2.7, a prototype of our vision for the electronic calendar of the future, which is built on top of the scheduler. SelfPlanner can be used either as a stand-alone electronic calendar application or through an Application Programming Inter- face (API) from other electronic calendars or applications, so as to plan individual activities through an intelligent calendar. Thesis Supervisor: Ioannis Refanidis Title: Associate Professor Typeset in Hoefler Text by Anastasios Alexiadis using X LE ATEX Acknowledgments I would like to thank my advisor, Associate Professor Ioannis Refanidis, for all his guidance during those years. I have learned much from him. I would also like to thank my family— and especially my father—for their encouragement and patience during those long years the research presented in this thesis was conducted. Part of this work was supported by the European Union and the Greek Ministry of Educa- tion, Lifelong Learning and Religions, under the program “Competitiveness and Enterprising” for the areas of Macedonia–Thrace, action “Cooperation 2009,” project “A Personalized Sys- tem to Plan Cultural Paths (myVisitPlannerGR),” code: 09SYN-62-1129. Contents 1 Introduction 15 1.1 Problem Formulation ................................ 17 1.2 An Example ..................................... 21 1.3 Contributions of This Thesis ............................ 23 1.4 Structure of This Thesis ............................... 25 2 Background 27 2.1 Planning ....................................... 27 2.2 Scheduling ...................................... 29 2.3 Constraint Satisfaction Problems .......................... 30 2.3.1 Propositional Satisfiability Problems .................... 32 2.4 Mathematical Optimization ............................. 33 2.5 Constraint Programming .............................. 35 2.5.1 Branch and Bound .............................. 37 2.6 Local Search ..................................... 38 2.7 Metaheuristic Optimization ............................ 39 2.7.1 Tabu Search ................................. 40 2.7.2 Genetic Algorithms ............................. 40 2.7.3 Simulated Annealing ............................ 40 2.8 Squeaky Wheel Optimization ............................ 41 3 Considering Various Methods for Optimization 45 3.1 Constraint Logic Programming ........................... 46 3.1.1 Defining Custom Heuristics ........................ 48 3.1.2 Applying Local Search ........................... 49 3.2 Genetic Algorithm .................................. 50 3.3 Non-Monotonic Temporal Utilities ........................ 51 3.4 Optimizing Individual Activity Personal Plans through Local Search ...... 52 3.5 Applying Local Search Methods to Improve SWO Output ........... 53 3.5.1 Computing the Best Neighbor ....................... 54 7 Planning Individual Activities through an Intelligent Calendar 3.5.2 Avoiding Local Optima ........................... 58 3.6 Evaluation ...................................... 59 3.6.1 Comparing to SWO ............................. 60 3.6.2 On the Size of the Neighborhood ..................... 63 3.6.3 Contribution of Individual Transformations ............... 64 3.6.4 A Realistic Scenario ............................. 67 3.6.5 On the Contribution of Trimming and Backtracking in Over-Constrained Problems ................................... 71 3.6.6 Discussion .................................. 72 3.7 Summary and Future Work ............................. 72 4 Multiple Plans & Machine Learning 75 4.1 Introduction ..................................... 75 4.2 Generating Alternative Plans ............................ 76 4.2.1 Hybrid Evaluation Function ........................ 77 4.2.2 Running Example .............................. 77 4.2.3 Quantifying the Degree of Deviation Between Two Plans ........ 79 4.2.4 Plan Difference Between Two Plans .................... 82 4.3 Online Learning ................................... 82 4.4 Evaluation ...................................... 85 4.4.1 Generating Alternative Plans ........................ 85 4.4.2 Online Learning ............................... 87 4.5 Conclusions and Future Work ........................... 90 5 Deployment and Evaluation of SelfPlanner 93 5.1 Introduction ..................................... 93 5.2 The System ...................................... 95 5.2.1 Architecture ................................. 95 5.2.2 Main Innovations .............................. 96 5.2.3 Use Cases .................................. 99 5.3 Evaluation ...................................... 100 5.3.1 Analytic Evaluation ............................. 101 5.3.2 Exploratory Evaluation ........................... 103 5.4 Related Work ..................................... 106 5.5 Conclusions and Future Work ........................... 107 6 The Current Version of SelfPlanner 111 6.1 SelfPlanner Protocol ............................... 111 6.2 Periodic Activities .................................. 112 6.3 Real World Locations ................................ 112 6.4 Memory of Past Activities .............................. 114 8 Contents 6.5 Domain Representation ............................... 114 6.5.1 Computational Issues ............................ 117 6.6 Multiple Plan Support in SelfPlanner ...................... 119 6.7 Plan Generation Process .............................. 120 6.8 Object-Oriented Model ............................... 120 6.9 myVisitPlanner .................................. 122 6.10 Traveling Time Minimization ............................ 124 6.11 Joint Activity Scheduling .............................. 125 6.11.1 Central Authority Protocol ......................... 126 6.11.2 Peer-to-Peer Protocol ............................ 128 7 Conclusions 131 7.1 Future Directions .................................. 132 References 133 A Code & Setup Instructions 143 A.1 Contents of thesis-code.tar.gz ............................. 143 A.2 Setting up the Client ................................. 144 A.3 Setting up the Server ................................ 144 A.4 Setting up the API .................................. 145 B Using SelfPlanner through its API—An Example 147 C The Complete Solver in ECLiPSe Prolog 151 D Problem Definition of “ARealistic Scenario” 165 E Scheduler Options 169 Index 171 9 Planning Individual Activities through an Intelligent Calendar 10 List of Figures 1-1 A possible plan