Skip to main content

A parser for project scheduling instances.

Project description

PyPI version CI

PSPLIB

This library implements parsers for various project scheduling benchmark instances, including:

  • Resource-Constrained Project Scheduling Problem (RCPSP)
  • Multi-Mode Resource-Constrained Project Scheduling Problem (MMRCPSP)
  • Resource-Constrained Multi Project Scheduling Problem (RCMPSP)

psplib only depends on numpy and can be installed in the usual way:

pip install psplib

Example usage

>>> from psplib import parse
>>> instance = parse("j301_1.sm", instance_format="psplib") 
>>> instance.num_resources
4

>>> instance.resources
[Resource(capacity=12, renewable=True), ..., Resource(capacity=12, renewable=True)]

>>> instance.num_projects
1

>>> instance.projects
[Project(activities=[0, 1, ..., 31], release_date=0)]

>>> instance.num_activities
32

>>> instance.activities
[Activity(modes=[Mode(duration=0, demands=[0, 0, 0, 0])], successors=[1, 2, 3], name=''), 
 Activity(modes=[Mode(duration=8, demands=[4, 0, 0, 0])], successors=[5, 10, 14], name=''),
 ...,
 Activity(modes=[Mode(duration=0, demands=[0, 0, 0, 0])], successors=[], name='')]

All parsers return an instance of the ProjectInstance class, which is an instance representation of the multi-project, multi-mode, resource-constrained project scheduling problem (MP-MM-RCPSP).

Instance formats

psplib implements parsers for three commonly used instance formats, listed below. To parse a specific instance format, set the instance_format argument in parse.

  1. PSPLIB format: used by the PSPLIB library to describe RCPSP and MMRCPSP instances.
  2. Patterson format: used for RCPSP instances, mostly used by the OR&S library. See this website for more details.
  3. MPLIB format: used for RCMPSP instances from the MPLIB library.

Instance databases

The following websites host widely-used project scheduling benchmark instances.

  • PSPLIB contains different problem sets for various types of resource constrained project scheduling problems as well as optimal and heuristic solutions.

  • OR&S project database is the research data website of the Operations Research and Scheduling (OR&S) Research group of the Faculty of Economics and Business Administration at Ghent University (Belgium). OR&S is very active in the field of project scheduling and has published instances for many project scheduling variants.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

psplib-0.1.1.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

psplib-0.1.1-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file psplib-0.1.1.tar.gz.

File metadata

  • Download URL: psplib-0.1.1.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.27

File hashes

Hashes for psplib-0.1.1.tar.gz
Algorithm Hash digest
SHA256 107f7ef30a0ab66c0af319d3c32b0165b7b946e8c1f97fcec443e8ac7d25672a
MD5 9817891ab0f616fb51ec5eac7cd3edc5
BLAKE2b-256 45f0b3f98388dad15b60dea566e16232fbd287513d6cdac5e5a0684d5d0e6f94

See more details on using hashes here.

File details

Details for the file psplib-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: psplib-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.27

File hashes

Hashes for psplib-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9def68d7ec09854f200a0cc9628bbf90bc67ac05b9c216e3d939dafb5fa5dfc6
MD5 72a3ba37fcf1ff295ca6382751174a83
BLAKE2b-256 eb20f9536d4850a4e35fab2d6cc7795ba1458bc286314c49821159a43a700f03

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page