Skip to content

Meeting scheduler for groups of people in mobilities at different places. It includes the analysis of flights and lodging prices to return the better date and place for everyone to travel together.

License

Notifications You must be signed in to change notification settings

xbreu/mobility-meeting-scheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mobility Meeting Scheduler

Usage

SICStus

To run the SICStus program, execute the following command in the root directory of the project:

</path/to/sicstus> -l source/sicstus/main.pl --goal "<run_predicate>."

run_predicate is one of:

  1. run('/path/to/input/folder');
  2. run('/path/to/input/folder', SearchParameters);
  3. run('/path/to/input/folder', SearchParameters, Statistics).

The parameters for the predicates are:

  • SearchParameters is a list of parameters for labelling of the clpfd library, which means it can include:
    • One of [leftmost (default), min, max, ff, ffc];
    • One of [step (default), enum, bisect];
    • One of [up (default), down];
    • Running the first command is equivalent of running the second with [min, bisect, down].
  • Statistics is one of false, fd or all.
    • Running the second command is equivalent of running the third one with false.

In the input folder the program will expect two files:

  • flights.json;
  • students.json.

To test it with our input files and default search parameters, run:

</path/to/sicstus> -l source/sicstus/main.pl --goal "run('data/new')."

And, to execute it with the same files, fd statistics and [min, step, up] as the search parameters run:

</path/to/sicstus> -l source/sicstus/main.pl --goal "run('data/new', [min], fd)."

OR-Tools

To run the OR-Tools version of the program you first need to install OR-Tools on your computer

Then just use the following command on the "or-tools" folder:

python main.py

To run the other implementation of a solution to this problem just use the same command but in the "old" sub-folder.

DOcplex

To run the DOcplext version of the program, execute the Jupyter Notebook on source/cplex/model.ipynb.

Context

This project was made by Alexandre Abreu, Pedro Seixas and Xavier Pisco for the Constraint logic programming course at FEUP in 2021/2022.

About

Meeting scheduler for groups of people in mobilities at different places. It includes the analysis of flights and lodging prices to return the better date and place for everyone to travel together.

Topics

Resources

License

Stars

Watchers

Forks