To contribute:
- Fork this repo.
- Clone the forked repo.
- Make the changes in a branch.
- Push to your forked repo.
- Create a pull request to this repo.
Install dependencies and activate conda development environment
conda env create -n GeCO --file conda-dev-env.yml
Then activate the created conda environment.
conda activate GeCO
- First, look through the list of generator types already implemented in the readme, and add your code to the corresponding module/package if the same type is implemented, if not create a new module.
- Your module should ideally contain two public functions:
- one that generates the parameters required for the instance with the signature
FIRSTAUTHOR_params
. - another one that takes these params as an input and returns an instance with the signature
FIRSTAUTHOR_instance
.
- one that generates the parameters required for the instance with the signature
- Your code should be documented, prefereably following NumPy's standards.
- We are very proud of our 100% test coverage, so your code should be very well tested! we have created this checklist for you:
- The instance generated should be tested that it has the expected number of variables, number of constraints, objective sense.
- The solution of some simple instances should be tested.
- Different seeds should create different instances.
- The same seed should create the same instance.
Adding an issue is still a contribution! If you find something wrong or that can be added and you don't have the time to do it create an issue and we will try our best to solve it.