todo
Project description
About The Project
This provides an implementation OpenAi Gym Environment of the Job Shop Scheduling Problem (JSP) using the disjunctive graph approach. The environment offers multiple visualisation options, some of which are shown below
Project Structure
This project is still in development and will have some significant changes before version 1.0.0. This project ist structured according to James Murphy's testing guide.
Built With
This project uses (among others) the following libraries
Getting Started
In this Section describes the used Setup and Development tools.
Hardware
All the code was developed and tested locally on an Apple M1 Max 16" MacBook Pro (16-inch, 2021) with 64 GB Unified Memory.
The code should run perfectly fine on other devices and operating Systems (see Github tests).
Python Environment Management
Mac
On a Mac I recommend using Miniforge instead of more common virtual environment solutions like Anacond or Conda-Forge.
Accelerate training of machine learning models with TensorFlow on a Mac requires a special installation procedure, that can be found here. However, this repository provides only the gym environment and no concrete reinforcement learning agents. Todo: example project with sb3 and rl
Setting up Miniforge can be a bit tricky (especially when Anaconda is already installed). I found this guide by Jeff Heaton quite helpful.
Windows
On a Windows Machine I recommend Anacond, since Anacond and Pycharm are designed to work well with each other.
IDEA
I recommend to use Pycharm. Of course any code editor can be used instead (like VS code or Vim).
This section goes over a few recommended step for setting up the Project properly inside Pycharm.
PyCharm Setup
- Mark the
src
directory asSource Root
.
right click on the 'src' -> 'Mark directory as' -> `Source Root`
- Mark the
resources
directory asResource Root
.
right click on the 'resources' -> 'Mark directory as' -> `Resource Root`
- Mark the
tests
directory asTest Source Root
.
right click on the 'tests' -> 'Mark directory as' -> `Test Source Root`
afterwards your project folder should be colored in the following way:
- (optional) When running a script enable
Emulate terminal in output console
Run (drop down) | Edit Configurations... | Configuration | ☑️ Emulate terminal in output console
### Usage
Development
To run this Project locally on your machine follow the following steps:
- Clone the repo
git clone https://github.com/Alexander-Nasuta/graph-jsp-env.git
- Install the python requirements_dev packages.
requirements_dev.txt
includes all the packages of specifiedrequirements.txt
and some additional development packages likemypy
,pytext
,tox
etc.pip install -r requirements_dev.txt
- Install the modules of the project locally. For more info have a look at
James Murphy's testing guide
pip install -e .
Testing
For testing make sure that the dev dependencies are installed (requirements_dev.txt
) and the models of this
project are set up (i.e. you have run pip install -e .
).
Then you should be able to run
mypy src
flake8 src
pytest
or everthing at once using tox
.
tox
PyPi
This guide was used for the PypPi publishing process.
License
Distributed under the MIT License. See LICENSE.txt
for more information.
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 graph-jsp-env-0.0.2.tar.gz
.
File metadata
- Download URL: graph-jsp-env-0.0.2.tar.gz
- Upload date:
- Size: 23.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01acb77024cf23cae8d86ccecd7ed21e14c911c015134a46f1bee55ee1ff4d9a |
|
MD5 | ac1a1864519a3d1e0d6fdf78d540bc83 |
|
BLAKE2b-256 | 4967586e5de1cd9efd5ae50be56db5493639df2258386bacd8df516e60880dc7 |
File details
Details for the file graph_jsp_env-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: graph_jsp_env-0.0.2-py3-none-any.whl
- Upload date:
- Size: 21.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b8ee44eb6682f96d4a3cab02f328278d52cc2d1a873ed5dba849f3659c9bb92 |
|
MD5 | 3b309e3e4880102a3bfaf1e6d3bdeb08 |
|
BLAKE2b-256 | 3716cfb1a111b933efa3caacc41fa74138a129fb501b47092b871ab3890e8236 |