Giter Site home page Giter Site logo

compacter's Introduction

Two java approaches to solve the allocation of lectures to rooms are available in this repository. The solution maximizes the number of students seated and minimizes the number of gaps in a room's timetable.

The first approach is a greedy algorithm, with a cost function which is proved to be monotone, positive and sub-modular. The second approach uses the IBM's CPLEX solver to solve the problem in java.

NEW: A GRASP: GREEDY RANDOMIZED ADAPTIVE SEARCH PROCEDURES where Local search based on neighborhoods (lectures assigned to rooms with the same capacity).

Course Timetabling Data Sets The data sets consists on the data from the timetables of Instituto Superior Tecnico of the academic year of 2016/2017. This data sets are separated in two semesters and in two campi (Alameda and Taguspark). The data sets for Alameda are considerably larger.

These data sets have three types of files containing the data for the classrooms, timetables and curricula of each IST campus (Alameda or Taguspark).

Space

The space files contain the data about the classrooms: Name, capacity, id and type (hall/normal/Lab) The files containing the word Lab on the file name contain only Laboratories, otherwise the file do not contain any Laboratories.

Timetable

The timetables file contains the data about the scheduled lectures: Acronym, starting hour, starting minutes, ending hour, ending minutes, day of the week, number of students enrolled, type (theoretical, problems), room id and room name

Consider, for example, a theoretical class of Algebra course that is lectured on Monday from 9:30 to 10:00. This class has 45 students enrolled and it is taught in the FA1 hall. The timetable file would have the following line AL, 9, 30, 10, 0, 2, 45, theoretical, 1, FA1

compacter's People

Contributors

addalemos avatar

Stargazers

 avatar

compacter's Issues

Question

Hello ๐Ÿ‘‹.
Thank you very much for making this project available for free.

Please, what does the 'normal' and 'content' tab represent in the classroom.txt files.
What does the 'type_1' and 'nameR' tab represent in the Timetable.txt files

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.