A parser for project scheduling instances.
Project description
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
.
psplib
: The PSPLIB format is used by the PSPLIB library to describe RCPSP and MMRCPSP instances.patterson
: The Patterson format: used for RCPSP instances, mostly used by the OR&S library. See this website for more details.rcpsp_max
: The RCPSP/max format is used for RCPSP/max instances from TU Clausthal.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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
11f589b5318ccb39a3c47ed4fe37c69771931249701e44f05570c451db11d381
|
|
MD5 |
80f25ebf005380057500320b978c69a7
|
|
BLAKE2b-256 |
189de9fec641e039cdbb31c49af6837b384f217a0085a2e686ff9f611d0a4602
|
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
37cc4033db3eb9842bf1ff14a34c621593b232508176f55859e1e4d06fc137fa
|
|
MD5 |
c7477e2436f75795f1a8285171761380
|
|
BLAKE2b-256 |
d024bb8014a42508f2dade6772811d929b299674f4922775fac178cd8b4ab5e6
|