Publications

  • A. Lemos, P.T. Monteiro, I. Lynce (2021) Introducing UniCorT: A University Course Timetabling Tool
    Journal of Scheduling

  • A. Lemos, P.T. Monteiro, I. Lynce (2021) ITC-2019: A MaxSAT approach to solve university timetabling problems
    Working notes of the International Timetabling Competition (ITC 2019)

  • A. Lemos, P.T. Monteiro, I. Lynce (2020) ITC 2019:University Course Timetabling with MaxSAT
    in Proc. of the 13th Intl. Conf. on the Practice and Theory of Automated Timetabling (PATAT'20), Volume I, 105-128

    Details

  • A. Lemos, P.T. Monteiro, I. Lynce (2021) Disruptions in Timetables: A Case Study at Universidade de Lisboa
    Journal of Scheduling

    Details

  • A. Lemos, P.T. Monteiro, I. Lynce (2020) Minimal Perturbation in University Timetabling with Maximum Satisfiability
    in Proc. of the 17th Intl. Conf. on Constraint Programming, Artificial Intelligence, and Operations Research (CPAIOR'20), LNCS 12296, 317-333

    Details PDF

  • A. Lemos, I. Lynce, P.T. Monteiro (2019) Repairing Boolean logical models from time-series data using Answer Set Programming Algorithms
    Molecular Biology, 14:9

    Details PDF

  • A. Lemos, F.S. Melo, P.T. Monteiro, I. Lynce (2019) Room usage optimization in timetabling: A Case Study at Universidade de Lisboa
    Operations Research Perspectives, 6:100092

    Details PDF

  • M.C. Teixeira, P.T. Monteiro, M. Palma, C. Costa, C.P. Godinho, P. Pais, M. Cavalheiro, M. Antunes, A. Lemos, T. Pedreira, I. Sá-Correia (2018) YEASTRACT: an upgraded database for the analysis of transcription regulatory networks in Saccharomyces cerevisiae Nucleic
    Acids Research, 46(D1): D348-D353

    Details PDF

  • A. Lemos (2016) Inference in Biological Regulatory Networks
    Master Thesis

    Details PDF Abstract

  • A. Lemos, P.T. Monteiro, I. Lynce (2016) Repairing Boolean regulatory networks using Answer Set Programming
    Poster and oral presentation at 8th INForum - Simpósio de Informática (INForum'16), Lisboa, Portugal

    Details PDF Poster

  • A. Lemos, P.T. Monteiro, I. Lynce (2016) Repairing Boolean regulatory networks using Answer Set Programming
    Technical Report n° 5/2016, INESC-ID, Lisboa, Portugal

    Details PDF

Conference and Schools

Projects

UniCorT: University Course Timetabling tool

The tool developed to solve ITC-2019 instances. The tool is in the top 5 of the competition.

ASP based tool to Repair Boolean Networks from time-series data

Boolean logical models of biological regulatory and signalling networks are increasingly used to formally describe and understand complex biological processes. Such models often need to be repaired whenever new observations become available, rendering the model inconsistent with the new observations. Although many studies have focuses on inferring new models (or classes of models) from data, the automation of model repair is still in its infancy, often still being a manual process and therefore prone to errors. In this work, a tool is provided to suggest possible repair operations to inconsistent models based on changing the model logical functions. The tool uses Answer Set Programming to identify possible repair operations to the models following both synchronous or asynchronous updating schemes. The tool was validated using both Boolean models of randomly generated networks and data sets of Escherichia coli at steady state. The limitations of the implemented tool for each of the updating schemes are discussed. The impact of the minimization algorithm is also addressed.

Room Usage Optimization in Timetabling: A Case Study at Universidade de Lisboa

This paper discusses the problem of room usage usage optimization for university timetables. Given a timetable, the goal is to optimize the room occupation by changing the events allocated to each room. The methods proposed do not solve the problem from scratch and so no curriculum constraints are handled. The main objective is to optimize the timetable scheduled for each room without changing the already defined time slots for each lecture. This type of optimization is important since room space is a precious commodity. The proposed algorithms optimize the space allocation in terms of capacity (seating students) and compactness (reducing the number of gaps in the timetable for each room). This problem is analysed and discussed for the case study of Instituto Superior Técnico (IST), the engineering school from Universidade de Lisboa. At IST, the generation of timetables is still hand-made and therefore prone to optimization. This paper proposes a two-stage Integer Linear Programming (ILP) method to optimize the room usage. In the first stage, the goal is to assign lectures to rooms respecting their capacity. The second stage minimizes the gaps by reassigning the lectures to rooms (ensuring the same quality in terms of seated students found in the first stage). This implementation is able, in one hand, to prove optimality in both stages; on the other hand, it is quite time consuming. To address this issue, in this paper we also propose a greedy algorithm. The best cost function used to guide the algorithm is proved to be monotone, positive and sub-modular. Therefore, the results obtained are guaranteed to be within 63 percente of the optimal. The proposed solutions are tested using data from the lectures of Instituto Superior Técnico taught on the Taguspark and Alameda campus in the academic year of 20162017. The greedy algorithm is two orders of magnitude faster than ILP when considering large data sets. In terms of seated students, the best cost function is on average 2 percente below the optimal value. The timetable for a given room can be evaluated in terms of compactness (the number of transitions from free to occupied). Considering this metric, the solution provided by a greedy algorithm is only 1.2x worse than the optimal value for the Taguspark data sets. For the Alameda data sets, the solution obtained by ILP implementation is 0.7x better (optimal solution) than the greedy algorithm. However, the ILP implementation is, in the worst case, 5 orders of magnitude slower. Overall, both implementations provide significant gains for both optimization criteria when compared with the current hand-made approaches.

ASP and MaxSAT encodings for Repairing steady state Boolean Networks

Models of biological regulatory networks are increasingly used to formally describe and understand complex biological processes. Such models are often repaired whenever new observations become available, because the model cannot generate behaviours consistent with the new observations, or because the behaviours are contradictory. This process of model repair is often manual and therefore prone to errors. In this work, we describe biological regulatory networks using the Boolean logical formalism, where nodes are represented by Boolean variables denoting biological components and edges denote regulatory interactions between components. The evolution of each variable is defined by a Boolean logical function depending on the values of the regulators of the component. Here, we propose to repair the model by changing inconsistent functions, with four types of atomic repairs which can be further combined. The goal is to find the cardinality minimal set of repairs allowing the model to satisfy all available observations.

BARISTA - Interactive Bar Table

Interactive Bar Table implemented for the Machine-Human interaction course. The project was made in collaboration with Cristina Verdasca and Pedro Moniz

IST Wallet

A secure mobile payment system implemented in Android for the Network and Computer Security course. his work was developed in collaboration with João Luís e João Carraquico.

NASC

ToBeNamed Games: Not A Scrabble Clone

PADI Map No Reduce

A simplified implementation of the Map Reduce middleware and programming model in C# for the Design and Implementation of Distributed Applications course. his work was developed in collaboration with João Luís e João Carraquico.

Teaching

  • 2019-2020 (Spring Semester) - practical classes of Object-Oriented Programming at the Department of Computer Science and Engineering of IST (Alameda campus)
  • 2019-2020 (Spring Semester) - practical classes of Logic for Programming at the Department of Computer Science and Engineering of IST (Alameda campus)
  • 2018-2019 (Fall Semester) - practical classes of Object-Oriented Programming at the Department of Computer Science and Engineering of IST (Alameda campus)
  • 2017-2018 (Spring semester) - practical classes of Compilers at the Department of Computer Science and Engineering of IST (Alameda campus)

Previous Experience

  • Reviewer Mathematical Problems in Engineering 2020-2021.
  • Reviewer Computers & Operations Research 2020-2021.
  • Sub-reviewer Principles and Practice of Constraint Programming 2018.
  • Sub-reviewer Iberoamerican Journal of Artificial Inteligence 2017.
  • Sub-reviewer EPIA 2017.
  • 09 2020 - Present day: Research grant from FCT.
  • 04 2017 - 08 2019: Research grant from ULisboa, IST and DEI.
  • 10 2016 - 03 2017: Research grant in the project Deciphering the mechanisms of transcriptional regulation that control anti-fungal drug resistance in pathogenic yeast Candida glabrata: aiming at the development of improved diagnosis and therapeutic.
  • 10 2015 - 12 2015: Research grant in the project DataStorm Large-Scale Data Management in Cloud Environments.