job shop schedulingga modifi

Upload: kingsly-usha

Post on 04-Jun-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 Job Shop SchedulingGA Modifi

    1/48

    Genetic Algorithms ForJob Shop Scheduling

  • 8/13/2019 Job Shop SchedulingGA Modifi

    2/48

    Scheduling

    Scheduling: Establishes the timing of theuse of equipment, facilities and humanactivities in an organization

  • 8/13/2019 Job Shop SchedulingGA Modifi

    3/48

    Scheduling

    Effective scheduling can yield Cost savings

    Increases in productivity

    Improved customer satisfaction

  • 8/13/2019 Job Shop SchedulingGA Modifi

    4/48

    Measures to EvaluatePerformance of a Scheduling

    Method Job Flow Time: Time elapsed from the

    release of a job until it is completed.

    Lateness: Difference between completiontime and due date of a job (may benegative).

    Tardiness: The positive difference betweenthe completion time and the due date of a

    job. Makespan: Flow time of the job completed

    last.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    5/48

    Job Shop Scheduling

    Job : A piece of work that goes through series of

    operations.

    Shop : A place for manufacturing or repairing of

    goods or machinery.

    Scheduling : Decision process aiming to deduce the

    order of processing.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    6/48

    Job Shop Scheduling

    J M JSSP: J jobs with M machines. Each job has M operations, each operation

    requires a particular machine to run. A job j visits in a specified sequence a

    subset of the machines

    Precedence Constraint; each job has exactordering of operations to follow. Non-preemptible.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    7/48

    A typical Job Shop Problem

    ObjectivesMinimization of make span

    Minimization of cost

    Minimization of delays

    Parameters Number of jobs

    Number of operations within each job

    Processing time of each operation within each job

    Machining sequence of operations within each job

  • 8/13/2019 Job Shop SchedulingGA Modifi

    8/48

    Job Shop

  • 8/13/2019 Job Shop SchedulingGA Modifi

    9/48

    Job Shop

    set of n jobs which is to be processed on a set of m machines

  • 8/13/2019 Job Shop SchedulingGA Modifi

    10/48

    Job Shop

  • 8/13/2019 Job Shop SchedulingGA Modifi

    11/48

    Disjunctive graph

    The JSSP can be formally described by adisjunctive graph G = (VC UD ), where

    V is a set of nodes representing operationsof the jobs together with two special nodes,a source (0) and a sink * , representing the

    beginning and end of the schedule,respectively.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    12/48

    Disjunctive graph

    C is a set of conjunctive arcs representingtechnological sequences of the operations.

    D is a set of disjunctive arcs representing pairs of operations that must be performedon the same machines.

    The processing time for each operation isthe weighted value attached to thecorresponding nodes.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    13/48

  • 8/13/2019 Job Shop SchedulingGA Modifi

    14/48

    Disjunctive graph

    The processing of job Jj on machine Mr is called the operation Ojr .

    Operation Ojr requires the exclusiveuse of Mr for an uninterrupted duration

    pjr , its processing time.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    15/48

    Disjunctive graph

    Job-shop scheduling can also be viewed asdefining the ordering between all operations

    that must be processed on the samemachine, i.e. to fix precedences betweenthese operations.

    In the disjunctive graph model, this is done by turning all undirected (disjunctive) arcsinto directed ones.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    16/48

    Disjunctive graph

    A selection is a set of directed arcs selectedfrom disjunctive arcs.

    A selection is complete if all thedisjunctions are selected.

    It is consistent if the resulting directedgraph is acyclic.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    17/48

  • 8/13/2019 Job Shop SchedulingGA Modifi

    18/48

    Disjunctive graph

    path P is called a critical path and iscomposed of a sequence of critical

    operations . A sequence of consecutive critical

    operations on the same machine is called a critical block .

  • 8/13/2019 Job Shop SchedulingGA Modifi

    19/48

    Disjunctive graph

    The distance between two schedules S and Tcan be measured by the number of

    differences in the processing order ofoperations on each machine

    It can be calculated by summing the

    disjunctive arcs whose directions aredifferent between S and T . This distance thedisjunctive graph (DG) distance

  • 8/13/2019 Job Shop SchedulingGA Modifi

    20/48

  • 8/13/2019 Job Shop SchedulingGA Modifi

    21/48

    Active schedules

    An optimal schedule is clearly active so it issafe and efficient to limit the search space to

    the set of all active schedules. An active schedule is generatedby the GT

    algorithm proposed by Giffler and

    Thompson which is described in Algorithm

  • 8/13/2019 Job Shop SchedulingGA Modifi

    22/48

    Disjunctive graph

    In the algorithm, the earliest starting time ES (O) and earliest completion time EC (O)

    of an operation O denote its starting andcompletion times when processed with thehighest priority among all currently

    schedulable operations on the samemachine.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    23/48

    Disjunctive graph

    An active schedule is obtained by repeatingthe algorithm until all operations are

    processed.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    24/48

  • 8/13/2019 Job Shop SchedulingGA Modifi

    25/48

    Disjunctive graph

  • 8/13/2019 Job Shop SchedulingGA Modifi

    26/48

    A 3 job 3 machine problem

    J1 M1 M2 M3

    J2 M1 M3 M2

    J3 M3 M2 M1

    Machining Sequence

    Jobs Operations

    Processing time

    Jobs Operations

    J1 6 5 3

    J2 4 3 4

    J3 10 5 2

  • 8/13/2019 Job Shop SchedulingGA Modifi

    27/48

    Why Nature Inspired Algorithms

    Evaluation on a set of points. Better search.

    Better chances for globaloptimal solution.

    Suitable for Multi-objective optimisation.

    Flexibility, becauseconstraints can be taken

    care of.

    Evaluation on a pointeach time.

    Often terminate intolocal optima.

    Not suited for multi-objective optimisation.

    Not flexible, driven byheuristics, constraints

    not handled easily.

    GAs vs Other methods

  • 8/13/2019 Job Shop SchedulingGA Modifi

    28/48

    Issues in Genetic Algorithms when

    applied to job shop problemsRepresentation of schedule(phenotype) by suitablegenotype.

    Conversion of genotype to phenotype

    Choice of Schedule Builder

    Type of Crossover and Mutation to be used

    Avoiding Premature convergence.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    29/48

    Schedule Builder!! Whats That

    J1 M1 M2 M3

    J2 M1 M3 M2

    J3 M3 M2 M1

    J1 6 5 3

    J2 4 3 4

    J3 10 5 2

  • 8/13/2019 Job Shop SchedulingGA Modifi

    30/48

    Representations of JSSP

    Direct Chromosome represents a schedule.

    e.g. list of starting times. Indirect

    A chromosome represents a scheduling

    guideline. e.g. list of priority rules, job permutation with

    repetition. Risk of false competition

  • 8/13/2019 Job Shop SchedulingGA Modifi

    31/48

    Priority Rules

    First come, first served (FCFS) Last come, first served (LCFS) Earliest due date (EDD) Shortest processing time (SPT) Longest processing time (LPT) Critical ratio (CR):

    (Time until due date)/(processing time) Slack per remaining Operations (S/RO)

    Slack /(number of remaining operations)

  • 8/13/2019 Job Shop SchedulingGA Modifi

    32/48

    Indirect Representations

    Binary representation Each bit represent orientation of a

    disjunctive arc in the disjunctive graph. Job permutation with repetition

    Indicate priority of a job to break conflictin GT.

    3 3 2 2 1 2 3 1 1

  • 8/13/2019 Job Shop SchedulingGA Modifi

    33/48

    Indirect Representations (cont.)

    Job sequence matrix Similar to permutation, but separated to each

    machine.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    34/48

    JSSP-specific Crossover

    Operators Chromosome level

    Work directly on chromosomes.

    Schedule level Work on decoded schedules, not directly

    on chromosomes. Not representation-sensitive

  • 8/13/2019 Job Shop SchedulingGA Modifi

    35/48

    Chromosome-level Crossover

    Subsequence Exchange Crossover (SXX) Job sequence matrix representation. Search for exchangeable subsequences, then

    switch ordering. Job-based Ordered Crossover (JOX)

    Job sequence matrix representation. Separate jobs into two set, derive ordering

    between one set of job from a parent

  • 8/13/2019 Job Shop SchedulingGA Modifi

    36/48

    Chromosome-level Crossover

    (cont.) Precedence Preservative Crossover (PPX)

    Permutation with repetition representation.

    Use template.

    Order-based Giffler and Thompson (OBGT) Uses order-based crossover and mutation

    operators, then use GT to repair the offspring

  • 8/13/2019 Job Shop SchedulingGA Modifi

    37/48

    Schedule-level Crossover

    GT Crossover Use GT algorithm.

    Randomly select a parent to derive prioritywhen breaking conflict. Time Horizon Exchange (THX)

    Select a point in time, offspring retain orderingof operations starting before that point from one

    parent, the rest from another.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    38/48

  • 8/13/2019 Job Shop SchedulingGA Modifi

    39/48

    1. Binary Representation

    Genotype is binary matrix ofRows = Number of job pairs

    Columns = Number of machines

    InterpretationM ij = 0 / 1 depending on whether job1is executed later or prior to job2.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    40/48

    Crossover

    The crossover applied is simple one point

    crossover.

    DemeritsRedundancy in representation.

    2mj(j-1)/2 bits are required for (!j) m schedules.

    Forcing techniques required for replacement of

    illegal schedules.

    Forcing means the replacement of the original stringwith a feasible one.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    41/48

    2. Job Based RepresentationTypical chromosome [ J i J j Jk ]

    For [ J 2 J1 J3 ]

    All operations of job 2 folllowed by 1 and then by 3are scheduled in the available processing times .

  • 8/13/2019 Job Shop SchedulingGA Modifi

    42/48

    Demerits

    Approach is very constrained Not many possibilities are explored

    Merits

    Scheduling is very easyAlways yields a feasible schedule, hence forcing

    not required.

  • 8/13/2019 Job Shop SchedulingGA Modifi

    43/48

    3. Permutation Representation(Partitioned)

    Chromosome is set of permutation of jobs on

    each machine.M1 M2 M3

    1 3 2 3 2 1 3 1 2

    Cross Over (SXX)Subsequence Exchange Crossover

    Searches for exchangeable subsequence pairs

    in parents, and swaps them.

    Job sequence matrix for 3 X 3 problem

  • 8/13/2019 Job Shop SchedulingGA Modifi

    44/48

    Subsequence Exchange Crossover

    M1 M2 M3

    P0

    1 2 3 6 4 5 3 2 1 5 6 4 2 3 5 6 1 4

    P 1 6 2 1 3 4 5 3 2 6 4 5 1 6 3 5 4 2 1

    C 0 2 1 3 4 6 5 3 2 5 1 6 4 2 6 3 5 1 4

    C 1 6 1 2 3 4 5 3 2 6 4 1 5 3 5 6 4 2 1

  • 8/13/2019 Job Shop SchedulingGA Modifi

    45/48

    Merits

    Demerits

    GA operators used for TSP can be applied here

    Simple representation

    Does not always give active schedules

    Robust Schedule builder is requiredSXX does not always guarantee a crossover

  • 8/13/2019 Job Shop SchedulingGA Modifi

    46/48

    4. Permutation Representation

    (Repetitive)Also known as operation based representation

    Typical genotype is a unpartitioned permutation

    with m repetitions for each job.

    1 2 2 3 1 3 2 1 3

    M1 1 3 2

    M2 2 3 1

    M3 2 1 3

  • 8/13/2019 Job Shop SchedulingGA Modifi

    47/48

  • 8/13/2019 Job Shop SchedulingGA Modifi

    48/48

    MeritsVery simple representation

    All decoding leads to active schedules

    Schedule building is straightforward

    Crossover results in passing of characteristics from

    both parents in most cases.

    DemeritsProblem of Premature convergence