<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Automatic Generation of Dispatching Rules for Large Job Shops by Means of Genetic Algorithms</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Erich C. Teppan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Giacomo Da Col</string-name>
          <email>giacomo.dag@aau.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Alpen-Adria Universitat Klagenfurt</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Generating optimized large-scale production plans is an important open problem where even small improvements result in signi cant savings. Application scenarios in the semiconductor industry comprise thousands of machines and hundred thousands of job operations and are therefore among the most challenging scheduling problems regarding their size. In this paper we present a novel approach for automatically creating composite dispatching rules, i.e. heuristics for job sequencing, for makespan optimization in such large-scale job shops. The approach builds on the combination of event-based simulation and genetic algorithms. We introduce a new set of benchmark instances with proven optima that comprise up to 100000 operations to be scheduled on up to 1000 machines. With respect to this large-scale benchmark, we present the results of an experiment comparing well-known dispatching rules with automatically created composite dispatching rules produced by our system. It is shown that the proposed system is able to come up with highly e ective dispatching rules such that makespan reductions of up to 38% can be achieved, and in fact, often near optimal or even optimal schedules can be produced.</p>
      </abstract>
      <kwd-group>
        <kwd>job shop scheduling</kwd>
        <kwd>optimization</kwd>
        <kwd>dispatching rules</kwd>
        <kwd>sim- ulation</kwd>
        <kwd>large-scale</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The scheduling of jobs [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is an important task in almost all production systems
in order to optimize various objectives such as resource consumption, makespan
(time to nish all products), tardiness (lateness of products), or ow time. Driven
by the demands of the semiconductor industry, our general aim is the design of
practically applicable algorithms for job shop scheduling problems for domains
comprising thousands of machines and hundred thousands of job operations.
      </p>
      <p>
        In real world domains like semiconductor manufacturing, common problem
instances for a weekly workload are of the order of 104 operations on 102
machines in the back-end, i.e. where the products are made ready for shipping, and
105 operations on 103 machines in the front-end, i.e. where the chips are
actually produced. To the best of our knowledge, the size of such large-scale job shop
scheduling problem instances go beyond existing benchmarks. For example, the
well-known benchmark targeting on makespan optimization from [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] comprises
up to 50 jobs and 20 machines, which results in 1000 job operations in total.
The famous Taillard benchmark [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] contains job shop instances of sizes up to
100 jobs on 20 machines which results in 2000 job operations. When focusing
on tardiness optimization, somewhat bigger instances can be found. For
example, the benchmark described in [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] comprises up to 20000 job operations. In
this paper we introduce a benchmark comprising instances with up to 100000
operations to be scheduled on up to 1000 machines.
      </p>
      <p>
        Many approaches have been used to solve scheduling problems. Aiming at
optimal solutions, constraint based approaches (e.g. [
        <xref ref-type="bibr" rid="ref1 ref22">1, 22</xref>
        ]), branch and bound
(e.g. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]), branch and cut (e.g. [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]) or mixed integer programming (e.g. [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ])
have a long and successful history. Another declarative solving approach that
was tried with so far limited success is answer set programming [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ].
However, hybridized approaches between answer set- and constraint programming
(see e.g. [
        <xref ref-type="bibr" rid="ref25 ref27">27, 25</xref>
        ]) show some potential for dealing even with large-scale
scheduling instances [
        <xref ref-type="bibr" rid="ref26 ref8">26, 8</xref>
        ]. Calculating optimal schedules is typically far out of reach
for large-scale domains. For near optimum solutions, current state of the art
approaches are based on tabu and large neighborhood search (e.g. [
        <xref ref-type="bibr" rid="ref10 ref28 ref3">28, 3, 10</xref>
        ]),
simulated annealing or genetic algorithms (e.g. [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]). Such local search methods
have shown to be e ective whilst exhibiting low memory consumption. Though,
for the successful application of local search methods on large-scale production
environments the quality of the initial schedule that is iteratively optimized by
some local search methodology is most important. Starting with, for example,
a random schedule that is 200% o the optimum would not be su cient since
it would take much too long to reach a near optimum schedule that is
acceptable. Note that because of the highly dynamic production regimes and the often
occurring changes (e.g. machine break down) in nowadays production
environments rescheduling is needed every few minutes. Yet, if starting with a schedule
of good quality, local search methods can be applied to squeeze out the still
remaining potential of the production environment.
      </p>
      <p>
        One widely employed state-of-the-art technique for dealing with large and
complex scheduling problems in nowadays manufacturing environments is the
application of dispatching rules (e.g. [
        <xref ref-type="bibr" rid="ref15 ref17 ref19">15, 17, 19</xref>
        ]). Dispatching rules are greedy
heuristics for step-wise deciding which is the operation to be processed next by
a machine. One big advantage of dispatching rules is that they can be computed
typically in linear time. There are basically four ways for using dispatching rules:
1. Dispatching rules are directly applied by operator sta for steering the
production process. As soon as a machine becomes idle, the operator decides
which of the runnable operations in the dispatch list of the machine is to be
loaded next.
2. Schedules are built by doing simulations based on di erent dispatching rules.
      </p>
      <p>A schedule, which is found to be good enough, is then carried out.
3. An initial schedule of good quality is created by means of dispatching rules
and iteratively optimized by local search methods. The optimized schedule
is then carried out.
4. In a search framework dispatching rules can be used as search heuristics.</p>
      <p>Hence, a deep understanding of dispatching rules is crucial for many di erent
scheduling approaches and scenarios. Furthermore, the fully automatic
generation of e ective dispatching rules is a highly important open question. In this
paper we focus on the automatic creation of dispatching rules for the
optimization of the makespan (i.e. minimization of time needed for accomplishing all
operations) in very large job shops.</p>
      <p>
        The job shop scheduling problem (JSP) is among the most famous N P-hard
[
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] combinatorial problems and can be de ned as follows:
{ Given is a set M = fmachine1; : : : ; machinemg of machines and a set J =
fjob1; : : : ; jobj g of jobs.
{ Each job j 2 J consists of a sequence of operations Oj = fj1; : : : ; jlj g
whereby jlj is the last operation of job j.
      </p>
      <p>Practically, jobs can be interpreted as products and operations can be
interpreted as their production steps. With respect to a job j and its operation
ji, the operation ji+1 is called successor and the operation ji 1 is called
predecessor.
{ Each operation o has an operation length lengtho 2 N.
{ Each operation o is assigned to a machine machineo 2 M by which it is
processed.
{ A (consistent and complete) schedule consists of a starting time starto for
each operation o such that:</p>
      <p>An operation's successor starts after the operation has been nished,
i.e. with respect to a job j and the operations ji and ji+1:</p>
      <p>startji+1 startji + lengthji
Operations processed by the same machine are non-overlapping,
i.e. with respect to two operations o1 6= o2 with machineo1 = machineo2:
starto1 6= starto2
starto1 &lt; starto2 ! starto1 + lengtho1 starto2
{ Makespan, i.e. the time period needed for processing all operations, is
minimized. I.e.:</p>
      <p>j2mJ;oa2xOjfstarto + lengthog ! min</p>
      <p>The JSP is a special case of scheduling in manufacturing lines, in particular
wafer fab scheduling in the semiconductor domain (see Figure 1). The exible
JSP is a direct generalization of the JSP. In the exible JSP for an operation
type there can be many machines. Yet, for the exible JSP it still holds that
a machine can only perform one operation type. Allowing also that a machine
can perform various operation types, as it is possible to change the setup of
machines, leads to the exible JSP with sequence dependent setup times. Wafer
fab scheduling introduces further concepts and constraints. For example, in wafer
fabs it is common to have di erent types of machines. 'Single' machines only
allow to perform one operation at a time. In ( exible) JSPs there are only 'single'
machines. In wafer fabs there are also other types of machines, for example, batch
machines that allow to perform a set of operations of the same type at the same
time.</p>
      <p>From the theoretical point of view, wafer fab scheduling is not more complex
than the classic JSP. To see this, it is convenient to look at the decision problem
versions of the optimization problems. The corresponding decision problems are
about answering the question whether a solution below a certain makespan is
existing. Having an oracle in N P to guess a solution it is obviously possible to
check correctness of the solution in polynomial time. Thus, the corresponding
decision problems are both in N P1. Consequently, coping with the complexity
of the JSP is the key for coping with large-scale wafer fab scheduling.</p>
      <p>
        In the following, we present a novel approach for fully automatic generation
of composite dispatching rules. Composite dispatching rules are based on
underlying basic dispatching rules, like for example 'shortest-job rst', and thus
can be seen as hyper-heuristics [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The approach uses genetic algorithms, but in
contrast to the approaches like [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] where genetic algorithms are used to directly
nd good schedules, in our approach the genetic algorithm is used to nd a good
dispatching rule, that in turn is used to produce the schedule. The proposed
1 We can easily de ne an optimization procedure on top of the decision problems that
calculates the optimal makespan by applying binary search that has only logarithmic
complexity.
approach is conceptually similar to our previous work in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], where we propose
a genetic algorithm for learning hyper-heuristics for con guration problems.
      </p>
      <p>After discussing the architecture of the proposed approach, we report on
the design and the results of a large-scale job shop experiment in which we
investigated the performance of our prototype system. The novel benchmark
incorporates job shop problem instances that have proven optimal makespans
and comprise up to 100000 operations to be scheduled on up to 1000 machines.
Furthermore, they di er in the average number of operations per job, which has
a big impact on the practical hardness of the problem instances. For all cases, we
can show that the proposed approach outperforms any tested basic dispatching
rule known from literature, and in fact, often (near-) optimal solutions can be
found even for extremely large job shop problems.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Architecture</title>
      <p>The event-based simulation engine implements a simulation model in which each
machine possesses one queue. Initially, only the starting operations, i.e. those
without predecessors, are enqueued. After nishing an operation on a machine,
the successor operation is enqueued on its machine. As soon as a machine
becomes idle and its queue is not empty the next operation to be run is selected
among the operations in the queue. This selection is based on a priority value
calculated by a (composite) dispatching rule.</p>
      <sec id="sec-2-1">
        <title>Basic Dispatching Rules</title>
        <p>Composite dispatching rules in our system basically constitute weighted
combinations of 12 basic rules. These basic dispatching rules are:
1. shortest processing time (SPT): Prefer the operation with the shortest
processing time.
2. longest processing time (LPT): Prefer the operation with the longest
processing time.
3. shortest job rst (SJF): Prefer the operation of which the job possesses the
shortest total processing time.
4. longest job rst (LJF): Prefer the operation of which the job possesses the
longest total processing time.
5. least total work remaining (LTWR): Prefer the operation for which the sum
of the operation length and successor operations' lengths is the least.
6. most total work remaining (MTWR): Prefer the operation for which the sum
of the operation length and successor operations' lengths is the most.
7. relative least total work remaining (RLTWR): As LTWR but normalized by
total job length.
8. relative most total work remaining (RMTWR): As MTWR but normalized
by total job length.
9. shortest waiting time (SWT): Prefer the operation that was enqueued as the
last.
10. longest waiting time (LWT): Prefer the operation that was enqueued as the
rst.
11. urgency next (UN): Prefer the operation of which the successor operation's
machine becomes idle as the rst (based on the current queues).
12. urgency any (UA): Prefer the operation of which one of the successor
operation's machine becomes idle as the rst (based on the current queues).</p>
        <p>
          SPT, LPT, SJF, LJF, LTWR, MTWR, SWT and LWT are well known (see,
e.g. [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]). RLTWR and RMTWR are variants of LTWR and MTWR
respectively. In RLTWR and RMTWR the total work remaining (TWR) is divided by
the total job length. Hence, TWR is interpreted as the share of the remaining
processing time of the operation's job relative to the total processing time of the
job.
        </p>
        <p>
          Also UN and UA are rule variants based on the well known WINQ rule [
          <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
          ].
WINQ selects the operation of which the next successor operation will go on to
the machine that has currently the least workload in the queue. The idea is to
prevent idle times because of empty queues. UN follows the same idea but also
takes into account the currently running operation of the successor's machine.
Thus, with respect to some operation, UN calculates the nearest time point when
the successor operation's machine can become idle.
        </p>
        <p>UA is a generalization of UN calculating the earliest time point when one
of the successor machines can become idle. I.e. whereas UN only considers the
machine of the direct successor operation, UA takes all machines of the direct
and indirect successor operations into account.</p>
        <p>In order to purposefully combine the basic dispatching rules, every
dispatching rule is implemented by a function that returns normalized priority values
between 0 and 1. The semantic is: the higher the priority value the earlier an
operation is processed by a machine.
2.3</p>
      </sec>
      <sec id="sec-2-2">
        <title>Genetic Algorithm</title>
        <p>For producing the di erent weight combinations the composite dispatching rules
are based on, our system uses a genetic algorithm implemented with the Java
Jenetics2 library. The algorithm operates on genomes consisting of only a
single chromosome that is composed of 12 integer genes. Each gene represents the
weight for a basic dispatching rule and, thus, each genome represents the set of
weights for a composite dispatching rule. The tness value for a genome is
determined by testing the resulting composite dispatching rule within the simulation
engine with respect to some input problem instance. Hence, the simulation engine
produces a schedule on the basis of the dispatching rule and the corresponding
makespan represents the tness value.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Experimental Setup</title>
      <p>The goal of the experiment is to show the e ectiveness of genetic algorithms in
nding good composite dispatching rules for very large job shops. Hereby, we
compare the composite dispatching rules generated by our system to each basic
dispatching rule run on its own.
3.1</p>
      <sec id="sec-3-1">
        <title>Algorithmic Con guration</title>
        <p>The used genetic algorithm for producing the weights for the composite rules
can be considered more or less standard. We use a 6-point crossover operator
and a mutation rate of 10%. Genes (i.e. the weights) are restricted to integers
between 0 and 10 (inclusive). The population size is set to 100 and the o spring
fraction is 60%. For selecting genomes for recombination a tournament selector
(tournament size = 10) is used. In the experiment we allowed a maximum of 100
generations.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Problem Instances</title>
        <p>The problem instances used for the experiments described herein are on the one
hand patterned on real world production scheduling problems, in particular in
terms of size. On the other hand, the instances have known optimal makespans.</p>
        <p>The creation process is as follows: First produce an optimal solution without
(idle) holes for (1) a given number of job operations to be scheduled, (2) the
2 jenetics.io
number of machines and (3) the desired optimal makespan. This is done by
randomly partitioning the machines' time continuum into the prede ned number of
partitions. Each partition corresponds to the processing period of one operation.
Consequently, the optimal makespan, average operation length (avg(length)),
number of operations (#ops) and number of machines (#machines) relate
conforming to makespan = #ops avg(opLength) . Based on such a partitioning,
suc#machines
cessor relations are randomly generated. Each partition has maximally one
successor and/or predecessor such that the successor's starting time is greater than
the predecessors nishing time. Figure 3 shows the principle.</p>
        <p>We applied two di erent procedures for generating random successor
relations based on a pre-calculated solution:</p>
        <p>The two di erent generating approaches result in benchmark instances that
are di erent in nature: (1) produces many jobs consisting of a small number of
operations. We refer to this set of instances as the 'short-jobs' benchmark instances.
In contrary, (2) produces fewer jobs but with a larger number of operations per
job. We refer to this set of instances as the 'long-jobs' benchmark instances.
Table 1 and 2 show the statistics for the long-jobs benchmark instances. Table 3 and
4 show the statistics for the short-jobs benchmark instances. All instances have
a minimal makespan of 600000. This roughly constitutes one week in seconds,
which is a common planning horizon in semiconductor manufacturing.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>RESULTS AND DISCUSSION</title>
    </sec>
    <sec id="sec-5">
      <title>CONCLUSIONS</title>
      <p>In this paper we present an approach based on event-based simulation and
genetic algorithms for automatically generating composite dispatching rules for job
shop scheduling problems. Hereby, we focus on very large job shops like found in
semiconductor industry where exact methods are totally out of reach. We
furthermmore report on an experiment investigating the e cacy of the proposed
approach for makespan optimization of very large job shop problem instances.
To this end, we describe a new benchmark incorporating problem instances with
proven optima that comprise up to 100000 operations to be scheduled on up to
1000 machines. To the best of our knowledge, these instances are bigger than any
benchmark instances found in literature so far. Summarizing, we can state that
for many problem instances we could nd highly e ective composite dispatching
rules resulting in near optimum schedules.
#ma-#ops- le best basic generated reduction
100-10000-1 1040217 (MTWR) 853879 18%
100-10000-2 1033087 (MTWR) 754355 27%
100-10000-3 1073028 (RMTWR) 1000130 7%
avg 1048777 869455 17%
1000-10000-1 600000 (LJF)
1000-10000-2 600000 (LJF)
1000-10000-3 893222 (UA)
avg 697741
100-100000-1 1077736 (RMTWR) 1013399
100-100000-2 1040606 (UA) 1006303
100-100000-3 1072846 (RMTWR) 1013414
avg 1063729 1011039
600000
600000
600000
600000
0%
0%
33%
11%
6%
3%
6%
5%</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bartk</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salido</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rossi</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>New trends in constraint satisfaction, planning, and scheduling: a survey</article-title>
          .
          <source>The Knowledge Engineering Review</source>
          <volume>25</volume>
          (
          <issue>3</issue>
          ),
          <volume>249</volume>
          {
          <fpage>279</fpage>
          (
          <year>2010</year>
          ). https://doi.org/10.1017/S0269888910000202
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Blazewicz</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ecker</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pesch</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weglarz</surname>
          </string-name>
          , J.:
          <source>Handbook on Scheduling: Models and Methods for Advanced Planning (International Handbooks on Information Systems)</source>
          . Springer-Verlag New York, Inc., Secaucus, NJ, USA (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Boejko</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gnatowski</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pempera</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wodecki</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>Parallel tabu search for the cyclic job shop scheduling problem</article-title>
          .
          <source>Computers and Industrial Engineering</source>
          <volume>113</volume>
          , 512 {
          <fpage>524</fpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Brucker</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jurisch</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sievers</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A branch and bound algorithm for the job-shop scheduling problem</article-title>
          .
          <source>Discrete Applied Mathematics</source>
          <volume>49</volume>
          (
          <issue>1</issue>
          ),
          <volume>107</volume>
          {
          <fpage>127</fpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Burke</surname>
            ,
            <given-names>E.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gendreau</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hyde</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kendall</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ochoa</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , Ozcan, E.,
          <string-name>
            <surname>Qu</surname>
          </string-name>
          , R.:
          <article-title>Hyper-heuristics: a survey of the state of the art</article-title>
          .
          <source>J. of the Operational Research Society</source>
          <volume>64</volume>
          (
          <issue>12</issue>
          ),
          <volume>1695</volume>
          {
          <fpage>1724</fpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Conway</surname>
            ,
            <given-names>R.W.:</given-names>
          </string-name>
          <article-title>An experimental investigation of priority assignment in a job shop</article-title>
          . RM-3789
          <string-name>
            <surname>-PR</surname>
          </string-name>
          (
          <year>1964</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Conway</surname>
          </string-name>
          , R.W.:
          <article-title>Priority dispatching and work-in-process inventory in a job shop</article-title>
          .
          <source>Journal of Industrial Engineering</source>
          <volume>16</volume>
          , 228{
          <fpage>237</fpage>
          (
          <year>1965</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Da</given-names>
            <surname>Col</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Teppan</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.C.</surname>
          </string-name>
          :
          <article-title>Declarative decomposition and dispatching for largescale job-shop scheduling</article-title>
          .
          <source>In: Joint German/Austrian Conference on Arti cial Intelligence (Kunstliche Intelligenz)</source>
          . pp.
          <volume>134</volume>
          {
          <fpage>140</fpage>
          . Springer, Cham (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Da</given-names>
            <surname>Col</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Teppan</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.C.</surname>
          </string-name>
          :
          <article-title>Learning constraint satisfaction heuristics for con guration problems</article-title>
          .
          <source>In: 19th International Con guration Workshop</source>
          . pp.
          <volume>8</volume>
          {
          <issue>11</issue>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Danna</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perron</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Structured vs. unstructured large neighborhood search: A case study on job-shop scheduling problems with earliness and tardiness costs</article-title>
          . In: Rossi,
          <string-name>
            <surname>F</surname>
          </string-name>
          . (ed.)
          <article-title>Principles and Practice of Constraint Programming { CP 2003</article-title>
          . pp.
          <volume>817</volume>
          {
          <fpage>821</fpage>
          . Springer Berlin Heidelberg (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Demirkol</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mehta</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Uzsoy</surname>
          </string-name>
          , R.:
          <article-title>Benchmarks for shop scheduling problems</article-title>
          .
          <source>European Journal of Operational Research</source>
          <volume>109</volume>
          (
          <issue>1</issue>
          ),
          <volume>137</volume>
          {
          <fpage>141</fpage>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Falkner</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Friedrich</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schekotihin</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taupe</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Teppan</surname>
            ,
            <given-names>E.C.</given-names>
          </string-name>
          :
          <article-title>Industrial applications of answer set programming</article-title>
          .
          <source>KI-Kunstliche Intelligenz</source>
          pp.
          <volume>1</volume>
          {
          <issue>12</issue>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Friedrich</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , Fruhstuck,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Mersheeva</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Ryabokon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Sander</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Starzacher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Teppan</surname>
          </string-name>
          , E.:
          <article-title>Representing production scheduling with constraint answer set programming</article-title>
          .
          <source>In: Operations Research Proceedings</source>
          <year>2014</year>
          , pp.
          <volume>159</volume>
          {
          <fpage>165</fpage>
          . Springer, Cham (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Garey</surname>
            ,
            <given-names>M.R.</given-names>
          </string-name>
          , Johnson, D.S.:
          <article-title>Computers and Intractability; A Guide to the Theory of NP-Completeness</article-title>
          .
          <string-name>
            <given-names>W. H.</given-names>
            <surname>Freeman</surname>
          </string-name>
          &amp; Co., New York, NY, USA (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Hildebrandt</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goswami</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Freitag</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Large-scale simulation-based optimization of semiconductor dispatching rules</article-title>
          .
          <source>In: Proceedings of the 2014 Winter Simulation Conference</source>
          . pp.
          <volume>2580</volume>
          {
          <fpage>2590</fpage>
          . WSC '14, IEEE Press, Piscataway, NJ, USA (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>K.</given-names>
            <surname>Kaban</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Othman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            ,
            <surname>Rohmah</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          :
          <article-title>Comparison of dispatching rules in jobshop scheduling problems using simulation: A case study</article-title>
          .
          <source>Int. J. of Simulation Modelling</source>
          <volume>11</volume>
          ,
          <issue>129</issue>
          {
          <volume>140</volume>
          (09
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Kaban</surname>
            ,
            <given-names>A.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Othman</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rohmah</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          :
          <article-title>Comparison of dispatching rules in jobshop scheduling problem using simulation: a case study</article-title>
          .
          <source>Int. Journal of Simulation Modelling</source>
          <volume>11</volume>
          (
          <issue>3</issue>
          ),
          <volume>129</volume>
          {
          <fpage>140</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Ku</surname>
          </string-name>
          , W.Y.,
          <string-name>
            <surname>Beck</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          :
          <article-title>Mixed integer programming models for job shop scheduling: A computational analysis</article-title>
          .
          <source>Computers and Operations Research</source>
          <volume>73</volume>
          ,
          <volume>165</volume>
          {
          <fpage>173</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Panwalkar</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Iskander</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>A survey of scheduling rules</article-title>
          .
          <source>Oper. Res</source>
          .
          <volume>25</volume>
          (
          <issue>1</issue>
          ),
          <volume>45</volume>
          {61 (Feb
          <year>1977</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Pezzella</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morganti</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ciaschetti</surname>
          </string-name>
          , G.:
          <article-title>A genetic algorithm for the exible jobshop scheduling problem</article-title>
          .
          <source>Computers and Operations Research</source>
          <volume>35</volume>
          (
          <issue>10</issue>
          ),
          <volume>3202</volume>
          {
          <fpage>3212</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Sadegheih</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Scheduling problem using genetic algorithm, simulated annealing and the e ects of parameter values on ga performance</article-title>
          .
          <source>Applied Mathematical Modelling</source>
          <volume>30</volume>
          (
          <issue>2</issue>
          ),
          <volume>147</volume>
          {
          <fpage>154</fpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Sadeh</surname>
            ,
            <given-names>N.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fox</surname>
            ,
            <given-names>M.S.</given-names>
          </string-name>
          :
          <article-title>Variable and value ordering heuristics for the job shop scheduling constraint satisfaction problem</article-title>
          .
          <source>Arti cial Intelligence</source>
          <volume>86</volume>
          ,
          <issue>1</issue>
          {
          <fpage>41</fpage>
          (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Stecco</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cordeau</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moretti</surname>
          </string-name>
          , E.:
          <article-title>A branch-and-cut algorithm for a production scheduling problem with sequence-dependent and time-dependent setup times</article-title>
          .
          <source>Comput. Oper. Res</source>
          .
          <volume>35</volume>
          (
          <issue>8</issue>
          ),
          <volume>2635</volume>
          {
          <fpage>2655</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Taillard</surname>
          </string-name>
          , E.:
          <article-title>Benchmarks for basic scheduling problems</article-title>
          .
          <source>European Journal of Operational Research</source>
          <volume>64</volume>
          (
          <issue>2</issue>
          ),
          <volume>278</volume>
          {
          <fpage>285</fpage>
          (
          <year>1993</year>
          ), project Management anf Scheduling
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Teppan</surname>
            ,
            <given-names>E.C.</given-names>
          </string-name>
          :
          <article-title>Solving the partner units con guration problem with heuristic constraint answer set programming</article-title>
          .
          <source>In: Con guration Workshop</source>
          . pp.
          <volume>61</volume>
          {
          <issue>68</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Teppan</surname>
            ,
            <given-names>E.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Friedrich</surname>
          </string-name>
          , G.:
          <article-title>Heuristic constraint answer set programming for manufacturing problems</article-title>
          .
          <source>In: Advances in Hybridization of Intelligent Methods</source>
          , pp.
          <volume>119</volume>
          {
          <fpage>147</fpage>
          . Springer (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Teppan</surname>
            ,
            <given-names>E.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Friedrich</surname>
          </string-name>
          , G.:
          <article-title>Heuristic constraint answer set programming</article-title>
          .
          <source>In: ECAI</source>
          . pp.
          <volume>1692</volume>
          {
          <issue>1693</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Watson</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beck</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Howe</surname>
            ,
            <given-names>A.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Whitley</surname>
          </string-name>
          , L.D.:
          <article-title>Problem di culty for tabu search in job-shop scheduling</article-title>
          .
          <source>Artif. Intell</source>
          .
          <volume>143</volume>
          (
          <issue>2</issue>
          ),
          <volume>189</volume>
          {217 (Feb
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>A hybrid approach to large-scale job shop scheduling</article-title>
          .
          <source>Applied Intelligence</source>
          <volume>32</volume>
          (
          <issue>1</issue>
          ),
          <volume>47</volume>
          {59 (Feb
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>