job-shop-generator
A machine-agnostic fixed-length job-shop data generator for generating massive timelines.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (5.5%) to scientific vocabulary
Repository
A machine-agnostic fixed-length job-shop data generator for generating massive timelines.
Basic Info
- Host: GitHub
- Owner: HokyeeJau
- Language: Python
- Default Branch: master
- Size: 10.7 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Machine-agnostic Fixed-length Job-Shop Data Generator
To deal with the limited datasets related to Job-Shop Scheduling Problem, a machine-agnostic job-shop data generator is developed.
This data generator considers several conditions as follows: - length of timeline - number of empty blocks - length of job-shop - times of repetition of timelines
Arguments of Generator
dataset_num: the number of datasets, each of which is generated based on independently sampled job-shops.data_root: the root directory for saving generated data.timeline_length: the number of job-shops in each timeline.schedule_pool_size: the size of job-shop pool where sampletimeline_lengthjob-shops.timeline_pool_size: the size of timeline pool.empty_space_maxima: the maximal number of empty spaces in each timeline.timeline_repeat_time: the times of repetition of timelines.timeline_maxima: the total time span of each timeline.schedule_digit_num: the number of digit of each job-shop. Each job-shop is accurate to two decimal places.
Pseudo code of Workflow
```python data_set = list()
for datasetidx in range(datasetnum): for emptylength in range(emptyspacemaxima): schedulepool = generateschedulepool(schedulepoolsize, scheduledigitnum) timelinepool = generatetimelinepool(schedulepool, timelinelength, timelinemaxima)
for timeline in timeline_pool:
for rep_idx in range(timeline_repeat_time):
empty_indexes = sample_index_from_timeline(timeline, empty_length)
empty_label = generate_one_hot_label_from(empty_indexes, timeline)
vacated_timeline = vacate_timeline_with_empty_label(empty_label, timeline)
_data_rows = fill_timeline_with_each_job_shop(vacated_timeline, timeline_pool)
data_set += _data_rows
```
Requirements
scikit-learnnumpy
Usage
bash
python main.py --timeline_length 10 --empty_space_maxima 1
Owner
- Login: HokyeeJau
- Kind: user
- Repositories: 2
- Profile: https://github.com/HokyeeJau
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." title: "Machine-agnostic Fixed-length Job-Shop Data Generator" authors: - family-names: "Zhou" given-names: "Xueyi" orcid: "https://orcid.org/0000-0003-0703-2446" version: 1.0.0 date-released: "2023-10-28" license: Apache-2.0 url: "https://github.com/HokyeeJau/job-shop-generator"