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 Project Scheduling Problem with Minimal and Maximal Time Lags (RCPSP/max)
  • Resource-Constrained Multi Project Scheduling Problem (RCMPSP)

psplib has no dependencies and can be installed in the usual way:

pip install psplib

Example usage

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

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

>>> instance.num_activities
32

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

See this notebook for a slightly longer example demonstration of PSPLIB.

Instance formats

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

  1. psplib: The PSPLIB format is used by the PSPLIB library to describe RCPSP and MMRCPSP instances.
  2. patterson: The Patterson format: used for RCPSP instances, mostly used by the OR&S library. See this website for more details.
  3. rcpsp_max: The RCPSP/max format is used for RCPSP/max instances from TU Clausthal.
  4. mplib: The MPLIB format is 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.

  • TU Clausthal provides RCPSP/max benchmark instances.

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.2.0.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

psplib-0.2.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for psplib-0.2.0.tar.gz
Algorithm Hash digest
SHA256 11f589b5318ccb39a3c47ed4fe37c69771931249701e44f05570c451db11d381
MD5 80f25ebf005380057500320b978c69a7
BLAKE2b-256 189de9fec641e039cdbb31c49af6837b384f217a0085a2e686ff9f611d0a4602

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for psplib-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37cc4033db3eb9842bf1ff14a34c621593b232508176f55859e1e4d06fc137fa
MD5 c7477e2436f75795f1a8285171761380
BLAKE2b-256 d024bb8014a42508f2dade6772811d929b299674f4922775fac178cd8b4ab5e6

See more details on using hashes here.

Supported by

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