job-shop-lib 0.1.1__py3-none-any.whl → 0.1.3__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: job-shop-lib
3
- Version: 0.1.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
@@ -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
- ## Quick Start
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`: This subset, comprising five instances, was introduced by Adams et
83
- al. (1988).
92
+ - `abz5-9`: by Adams et al. (1988).
84
93
 
85
- - `ft06`, `ft10`, `ft20`: These three instances are attributed to the work of
86
- Fisher and Thompson, as detailed in their 1963 work.
94
+ - `ft06`, `ft10`, `ft20`: by Fisher and Thompson (1963).
87
95
 
88
- - `la01-40`: A collection of forty instances, this group was contributed by
89
- Lawrence, as referenced in his 1984 report.
96
+ - `la01-40`: by Lawrence (1984)
90
97
 
91
- - `orb01-10`: Ten instances in this category were provided by Applegate and
92
- Cook, as seen in their 1991 study.
98
+ - `orb01-10`: by Applegate and Cook (1991).
93
99
 
94
- - `swb01-20`: This segment, encompassing twenty instances, was contributed by
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 are credited with the addition of four instances
98
- in this group, as found in their 1992 paper.
102
+ - `yn1-4`: by Yamada and Nakano (1992).
99
103
 
100
- - `ta01-80`: The largest contribution, consisting of eighty instances, was
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 `InstanceGenerator` class.
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 = InstanceGenerator(iteration_limit=100, seed=42)
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
  ![Example Disjunctive Graph](images/example_disjunctive_graph.png)
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
- #### With Poetry
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
- #### With PyPI
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.1.dist-info/LICENSE,sha256=9mggivMGd5taAu3xbmBway-VQZMBzurBGHofFopvUsQ,1069
33
- job_shop_lib-0.1.1.dist-info/METADATA,sha256=gJD54rgc8fstqo8eIYqpMBDA2GbO8oRlaTe9P_nQkCk,13467
34
- job_shop_lib-0.1.1.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
35
- job_shop_lib-0.1.1.dist-info/RECORD,,
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,,