job-shop-lib 0.1.2__py3-none-any.whl → 0.1.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {job_shop_lib-0.1.2.dist-info → job_shop_lib-0.1.3.dist-info}/METADATA +30 -39
- {job_shop_lib-0.1.2.dist-info → job_shop_lib-0.1.3.dist-info}/RECORD +4 -4
- {job_shop_lib-0.1.2.dist-info → job_shop_lib-0.1.3.dist-info}/LICENSE +0 -0
- {job_shop_lib-0.1.2.dist-info → job_shop_lib-0.1.3.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: job-shop-lib
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.3
|
4
4
|
Summary: An easy-to-use and modular Python library for the Job Shop Scheduling Problem (JSSP)
|
5
5
|
License: MIT
|
6
6
|
Author: Pabloo22
|
@@ -16,7 +16,7 @@ Requires-Dist: imageio (>=2,<3)
|
|
16
16
|
Requires-Dist: matplotlib (>=3,<4)
|
17
17
|
Requires-Dist: networkx (>=3,<4)
|
18
18
|
Requires-Dist: ortools (>=9,<10)
|
19
|
-
Requires-Dist: pyarrow (>=
|
19
|
+
Requires-Dist: pyarrow (>=15.0.0,<16.0.0)
|
20
20
|
Requires-Dist: pygraphviz (>=1.12,<2.0) ; extra == "pygraphviz"
|
21
21
|
Description-Content-Type: text/markdown
|
22
22
|
|
@@ -37,9 +37,19 @@ Description-Content-Type: text/markdown
|
|
37
37
|
|
38
38
|
An easy-to-use and modular Python library for the Job Shop Scheduling Problem (JSSP) with a special focus on graph representations.
|
39
39
|
|
40
|
-
It provides intuitive data structures to represent instances and solutions, as well as solvers and visualization tools
|
40
|
+
It provides intuitive data structures to represent instances and solutions, as well as solvers and visualization tools.
|
41
41
|
|
42
|
-
|
42
|
+
See the [this](https://colab.research.google.com/drive/1XV_Rvq1F2ns6DFG8uNj66q_rcowwTZ4H?usp=sharing) Google Colab notebook for a quick start guide!
|
43
|
+
|
44
|
+
## Installation
|
45
|
+
|
46
|
+
You can install the library from PyPI:
|
47
|
+
|
48
|
+
```bash
|
49
|
+
pip install job-shop-lib
|
50
|
+
```
|
51
|
+
|
52
|
+
## Quick Start :rocket:
|
43
53
|
|
44
54
|
### Create a Job Shop Instance
|
45
55
|
|
@@ -79,40 +89,22 @@ manually. The instances are stored in [benchmark_instances.json](job_shop_lib/be
|
|
79
89
|
|
80
90
|
The contributions to this benchmark dataset are as follows:
|
81
91
|
|
82
|
-
- `abz5-9`:
|
83
|
-
al. (1988).
|
92
|
+
- `abz5-9`: by Adams et al. (1988).
|
84
93
|
|
85
|
-
- `ft06`, `ft10`, `ft20`:
|
86
|
-
Fisher and Thompson, as detailed in their 1963 work.
|
94
|
+
- `ft06`, `ft10`, `ft20`: by Fisher and Thompson (1963).
|
87
95
|
|
88
|
-
- `la01-40`:
|
89
|
-
Lawrence, as referenced in his 1984 report.
|
96
|
+
- `la01-40`: by Lawrence (1984)
|
90
97
|
|
91
|
-
- `orb01-10`:
|
92
|
-
Cook, as seen in their 1991 study.
|
98
|
+
- `orb01-10`: by Applegate and Cook (1991).
|
93
99
|
|
94
|
-
- `swb01-20`:
|
95
|
-
Storer et al., as per their 1992 article.
|
100
|
+
- `swb01-20`: by Storer et al. (1992).
|
96
101
|
|
97
|
-
- `yn1-4`: Yamada and Nakano
|
98
|
-
in this group, as found in their 1992 paper.
|
102
|
+
- `yn1-4`: by Yamada and Nakano (1992).
|
99
103
|
|
100
|
-
- `ta01-80`:
|
101
|
-
made by Taillard, as documented in his 1993 paper.
|
104
|
+
- `ta01-80`: by Taillard (1993).
|
102
105
|
|
103
106
|
The metadata from these instances has been updated using data from:
|
104
|
-
|
105
|
-
Thomas Weise. jsspInstancesAndResults. Accessed in January 2024.
|
106
|
-
Available at: https://github.com/thomasWeise/jsspInstancesAndResults
|
107
|
-
|
108
|
-
It includes the following information:
|
109
|
-
- "optimum" (`int` | `None`): The optimal makespan for the instance.
|
110
|
-
- "lower_bound" (`int`): The best lower bound known for the makespan. If
|
111
|
-
optimality is known, it is equal to the optimum.
|
112
|
-
- "upper_bound" (`int`): The best upper bound known for the makespan. If
|
113
|
-
optimality is known, it is equal to the optimum.
|
114
|
-
- "reference" (`str`): The paper or source where the instance was first
|
115
|
-
introduced.
|
107
|
+
https://github.com/thomasWeise/jsspInstancesAndResults
|
116
108
|
|
117
109
|
```python
|
118
110
|
>>> ft06.metadata
|
@@ -124,7 +116,7 @@ It includes the following information:
|
|
124
116
|
|
125
117
|
### Generate a Random Instance
|
126
118
|
|
127
|
-
You can also generate a random instance with the `
|
119
|
+
You can also generate a random instance with the `BasicGenerator` class.
|
128
120
|
|
129
121
|
```python
|
130
122
|
from job_shop_lib.generators import BasicGenerator
|
@@ -138,7 +130,7 @@ random_instance = generator.generate()
|
|
138
130
|
This class can also work as an iterator to generate multiple instances:
|
139
131
|
|
140
132
|
```python
|
141
|
-
generator =
|
133
|
+
generator = BasicGenerator(iteration_limit=100, seed=42)
|
142
134
|
instances = []
|
143
135
|
for instance in generator:
|
144
136
|
instances.append(instance)
|
@@ -227,6 +219,9 @@ plt.show()
|
|
227
219
|

|
228
220
|
|
229
221
|
|
222
|
+
> [!WARNING]
|
223
|
+
> This plot function requires having the optional dependency [PyGraphViz](https://pygraphviz.github.io/) installed.
|
224
|
+
|
230
225
|
The `JobShopGraph` class provides easy access to the nodes, for example, to get all the nodes of a specific type:
|
231
226
|
|
232
227
|
```python
|
@@ -288,13 +283,9 @@ plt.show()
|
|
288
283
|
|
289
284
|
For more details, check the [examples](examples) folder.
|
290
285
|
|
291
|
-
## Installation
|
292
|
-
|
293
|
-
In the future, the library will be available on PyPI. For now, you can install it from the source code.
|
294
|
-
|
295
|
-
### For development
|
286
|
+
## Installation for development
|
296
287
|
|
297
|
-
|
288
|
+
### With Poetry
|
298
289
|
|
299
290
|
1. Clone the repository.
|
300
291
|
|
@@ -315,7 +306,7 @@ or equivalently:
|
|
315
306
|
make poetry_install_all
|
316
307
|
```
|
317
308
|
|
318
|
-
|
309
|
+
### With PyPI
|
319
310
|
|
320
311
|
If you don't want to use Poetry, you can install the library directly from the source code:
|
321
312
|
|
@@ -29,7 +29,7 @@ job_shop_lib/visualization/agent_task_graph.py,sha256=G-c9eiawz6m9sdnDM1r-ZHz6K-
|
|
29
29
|
job_shop_lib/visualization/create_gif.py,sha256=3j339wjgGZKLOyMWGdVqVBQu4WFDUhyualHx8b3CJMQ,6382
|
30
30
|
job_shop_lib/visualization/disjunctive_graph.py,sha256=feiRAMxuG5CG2naO7I3HtcrSQw99yWxWzIGgZC_pxIs,5803
|
31
31
|
job_shop_lib/visualization/gantt_chart.py,sha256=OyBMBnjSsRC769qXimJ3IIQWlssgPfx-nlVeSeU5sWY,4415
|
32
|
-
job_shop_lib-0.1.
|
33
|
-
job_shop_lib-0.1.
|
34
|
-
job_shop_lib-0.1.
|
35
|
-
job_shop_lib-0.1.
|
32
|
+
job_shop_lib-0.1.3.dist-info/LICENSE,sha256=9mggivMGd5taAu3xbmBway-VQZMBzurBGHofFopvUsQ,1069
|
33
|
+
job_shop_lib-0.1.3.dist-info/METADATA,sha256=eHS0PpOAZqCUNW0-eWPOydr_l4CQ_VpkTWBJhN6be9w,12622
|
34
|
+
job_shop_lib-0.1.3.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
35
|
+
job_shop_lib-0.1.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|