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 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
.
- PSPLIB format: used by the PSPLIB library to describe RCPSP and MMRCPSP instances.
- Patterson format: used for RCPSP instances, mostly used by the OR&S library. See this website for more details.
- 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
Release history Release notifications | RSS feed
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.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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 107f7ef30a0ab66c0af319d3c32b0165b7b946e8c1f97fcec443e8ac7d25672a |
|
MD5 | 9817891ab0f616fb51ec5eac7cd3edc5 |
|
BLAKE2b-256 | 45f0b3f98388dad15b60dea566e16232fbd287513d6cdac5e5a0684d5d0e6f94 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9def68d7ec09854f200a0cc9628bbf90bc67ac05b9c216e3d939dafb5fa5dfc6 |
|
MD5 | 72a3ba37fcf1ff295ca6382751174a83 |
|
BLAKE2b-256 | eb20f9536d4850a4e35fab2d6cc7795ba1458bc286314c49821159a43a700f03 |