Introduction

This site is a follow-up on the paper "Vanhoucke, Mario; Coelho, José. 2018. "A tool to test and validate algorithms for the resource-constrained project scheduling problem", Computers & Industrial Engineering 118, 1: 251 - 265. doi: 10.1016/j.cie.2018.02.001", that materializes a procedure that was proposed to facilitate the reporting of best known solutions for the well-known single- and multi-mode resource-constrained projectscheduling problem to minimize the project makespan.

Current problems addressed:

  • RCPSP - Resource Constrainted Project Scheduling Problem - m,1|cpm|Cmax,  PS|prec|Cmax
  • MMRCPSP - Multi-Mode Resource Constrainted Project Scheduling Problem - m,1T|cpm,disc,mu|Cmax, MPS|prec|Cmax

The tool involves 3 roles, the creator that is a researcher who wants to upload new dataset and share it with other researchers, the user that is a researcher that want to send new results, and the mantainers that guaranties that all is working ok. The tool have a client version (Windows and Mac) and an online version (this site). The following figure resume all interactions:

Figure 3 taken from the paper

Normally results are reported in the scientific comunity in papers, and sometimes the new UB are verified if submited to the website of the instance set. The LBs are not tested, and UBs that are not new are not validated. This way, if a bug exist in the researcher code, that does not provide invalid UBs neither new UBs, the researcher may report the results of the new procedure with the bug, without validate it. This is likely to occur in case of not new UBs are found, but also could encorage less serious researchers, to invent results to get the paper published. 

In SolutionsUpdate you can submit results and get them check it. Also, all performance indicators are calculated, that became ready to report in a paper, without the fear of behing contaminated with a bug. In a presense of a bug, the tool report the restriction violated, that can be used to find and remove the bug. A reviewer may ask for the results for a not identified set of instances, and check if the results are coerent with the reported ones, since the authors, even if are less serious researchers, cannot invent results for unknown instances. The LBs are tested against UB values. If a LB record became invalid after an update of a UB, the results of LBs of the author should be removed before any other update, since the code used contains a bug or the procedure used does not provide valid LBs. This way the LBs can also be checked, against current UBs, but also against future UBs.

Other Related Libraries:

  • OR-LIBRARY - provides instances of several problems 
  • PSPLIB - provides instances and record UB/LB on some scheduling project problems
  • MPSPLIB - provides instances and record results on multi-project RCPSP instances
  • MMLIB (offline, link from web.archive) - provides instances and record results on multi-mode RCPSP instances
  • SATLIB - provides instances and record results and solvers on SAT instances
  • SOA - provides instances and results on several problems done in the research group