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 pyjobshop

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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for psplib-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dac8728c3d8a41af1dfb9cf7c7dbe65ae0d6f9d475479ad4748796ff227ae825
MD5 8d34b891981cff8c81aa3ba2b9c2d74f
BLAKE2b-256 b68f3089f628ac9dcb2ebbeb0728ce0380eae64ccdccbd29d411802cfa87fe79

See more details on using hashes here.

File details

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

File metadata

  • Download URL: psplib-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a38575dc0590bb945f76de544181340bc1870f65d8a3e6d56fc3da3d1824b627
MD5 60f5e885197190871569d458096a5a9b
BLAKE2b-256 20dfd4b2325dcc8f1ee9a51cb11fe4905b79481ab534adc6daffc573ab4e550b

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