Topic
  • 2 replies
  • Latest Post - ‏2013-10-08T12:21:05Z by pickup
pickup
pickup
19 Posts

Pinned topic how can i introduce the constraints of elimination of subtours ???

‏2013-09-30T13:02:18Z |

 

Hi 

I found a problem with the introduction of constraints of elemination of subtours. I don't know if I must defined " Fiv: departure time from node i with the vehicule v " as tuple or what. So it'll prohibit visiting each customer before his supplier. 

we have defined TIJ as a tuple hwo represent the necessary time to pass from node i to node j. 

so:  1) Fiv + tijv <= Fjv

         2) Fiv <= Fjv (i noeud customer and j node supplier)

         3) F0v = 0; depart from node " 0 : dépôt" is 0

Attachments: model PDP :

constraints 13,14 and 15 in the file PDF

constraints 12,13 and 14ine the file MOD

Best Regards

Updated on 2013-10-29T18:59:02Z at 2013-10-29T18:59:02Z by pickup
  • AlexFleischer
    AlexFleischer
    1719 Posts
    ACCEPTED ANSWER

    Re: how can i introduce the constraints of elimination of subtours ???

    ‏2013-09-30T18:22:19Z  

    Hi,

     

    c12 :  forall (i in I, j in J, v in V)
       
     (Xijv[i][j][v] == 1) => (/*F[i][v] +*/ item (TIJ,<i.i,j.j>).temp <= 0 /*+ F[j][v]*/);
     

    would work.

    But F[j][v] is not correct since F is not an array but a set

     

    Regards

  • AlexFleischer
    AlexFleischer
    1719 Posts

    Re: how can i introduce the constraints of elimination of subtours ???

    ‏2013-09-30T18:22:19Z  

    Hi,

     

    c12 :  forall (i in I, j in J, v in V)
       
     (Xijv[i][j][v] == 1) => (/*F[i][v] +*/ item (TIJ,<i.i,j.j>).temp <= 0 /*+ F[j][v]*/);
     

    would work.

    But F[j][v] is not correct since F is not an array but a set

     

    Regards

  • AlexFleischer
    AlexFleischer
    1719 Posts

    Re: how can i introduce the constraints of elimination of subtours ???

    ‏2013-10-01T06:35:17Z  
    This reply was deleted by pickup 2013-10-29T18:59:11Z. Reason for deletion: is ok

    hi,

     

    in the decision variable section you could write

    dvar int+ F[I][V];

    regards