Despite all the advancements in Artificial Intelligence, we still do not have a broadly available application for automated scheduling of personal activities. The main difficulty in creating such an application is satisfying user’s diverse expectations about time organization. In this study we focused on creating a tool that can help users with organizing their time. We designed a model for describing personal activities with user preferences. We formulated scheduling of personal activities as an optimization problem for which we designed and implemented a solving algorithm, aiming to schedule activities with precision of seconds.
We created a prototype of web-calendar application powered by this model and an algorithm which we designed with the focus on ability to clearly display user’s time and easily insert activities for automated scheduling. The web application is backed by RESTful API which enables implementing application on various platforms.
How it works
Instead of placing tasks to fixed time as you can do in classical calendar, here you have to in what time window you want to do that task. This information is then available for all tasks in calendar and so when you want to add new one, it was searched how other tasks can be reorganized in order to make time for the new one. During search it is trying to maintain time of already scheduled tasks.
It uses variation of local search techniques used in artificial intelligence field.