Decision Optimization

 View Only
Expand all | Collapse all

How to model the transit time of the same job in an open shop scheduling using CP Optimizer

  • 1.  How to model the transit time of the same job in an open shop scheduling using CP Optimizer

    Posted Tue December 20, 2022 01:41 PM
    Hi,
    I try to apply cp model in integrated process planning and shop scheduling problem. There is a set of n jobs, a set of m machines, and each job is associated with a set of operations. Each job can be processed only at one machine at a time, and each machine can process only one job at a time. Unlike the job-shop problem, the order in which the job operations happen can vary freely (not predefined). The transmission time of job on different machines is considered in the model, and the following constraint requirements are expressed in OPL language.
    1. The operations on the same machine cannot overlap.
    forall(i in m)
        noOverlap(Q[i]);​

    2. The operations of the same job cannot overlap.
    forall(j in n)
        noOverlap(Q[j]);​

    3. The transmission time of the same job on different machines is considered. Here the transmission time is machine-dependent, and the transmission time from machine i1 to machine i2 is given TT[i1,i2]. How can I model the transmission time between adjacent operations  <Vu,Vu'> of job j ?
    endOf(Vu) + TT(typeofPrev(Vu'), typeofNext(Vu)) <= startOf(Vu')​


    ------------------------------
    chen zhen
    ------------------------------

    #DecisionOptimization


  • 2.  RE: How to model the transit time of the same job in an open shop scheduling using CP Optimizer

    Posted Sat December 24, 2022 07:44 AM
    Hi Chen Zhen

    Please have a look to the transition distance notion. The transition matrix is to be passed as second argument of the noOverlap Constraint. To make an OPL transition Matrix, you have to declare a tuple set whose tuple is of the form <I, j, value> where I and j are the line and column type and value a non negative transition distance between type i  and j interval variable (the matrix is sparse so the 0 value distance can be ignored in the declaration

    ------------------------------
    Jerome Rogerie
    ------------------------------