job-shop-generator

A machine-agnostic fixed-length job-shop data generator for generating massive timelines.

https://github.com/hokyeejau/job-shop-generator

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
Last synced: 10 months ago · JSON representation ·

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
Created over 2 years ago · Last pushed over 2 years ago
Metadata Files
Readme Citation

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 sample timeline_length job-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-learn
  • numpy

Usage

bash python main.py --timeline_length 10 --empty_space_maxima 1

Owner

  • Login: HokyeeJau
  • Kind: user

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"

GitHub Events

Total
Last Year