ÐÏࡱá>þÿ þÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿ*0_šîÏ»òÀð^ÀY9—äÎÄþÿÿÿContentsÿÿÿÿÿÿÿÿÿÿÿÿ EÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿ*0_šîÏ»òÀð^@.9ù¦ÂþÿÿÿContentsÿÿÿÿÿÿÿÿÿÿÿÿIÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿýÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì‹{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss\fprq2 System;}{\f3\fmodern Courier New;}} {\colortbl\red0\green0\blue0;\red0\green175\blue0;\red0\green0\blue255;} \deflang1046\pard\plain\f3\fs20\cf2 MODEL\plain\f3\fs20\cf0 : \par \par \plain\f3\fs20\cf1 ! Problema de Roteamento de Ve\'edculos com frota homog\'eanea;\plain\f3\fs20\cf0 \par \par \plain\f3\fs20\cf1 !************************************;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf1 ! ATEN\'c7\'c3O: Formula\'e7\'f5es com mais do ;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf1 ! que 12 cidades poder\'e3o n\'e3o ser ;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf1 ! resolvidas em um tempo razo\'e1vel! ;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf1 !************************************;\plain\f3\fs20\cf0 \par \par \plain\f3\fs20\cf2 SETS\plain\f3\fs20\cf0 : \par \plain\f3\fs20\cf1 ! Q(I) \'e9 a quantidade de um produto requerido na cidade I;\plain\f3\fs20\cf0 \par CIDADE/ D C1 C2 C3 C4 C5 C6 C7/: Q; \par \par \plain\f3\fs20\cf1 ! D(I,J) \'e9 a dist\'e2ncia da cidade I \'e0 cidade J \par X(I,J) \'e9 uma vari\'e1vel 0-1: Ela vale 1 se o ve\'edculo faz a \par viagem da cidade I \'e0 cidade J e vale 0 caso contr\'e1rio \par Y(I,J) \'e9 a quantidade de fluxo da cidade I \'e0 cidade J;\plain\f3\fs20\cf0 \par MATRIZ(CIDADE, CIDADE): D, X, Y; \par \plain\f3\fs20\cf2 ENDSETS\plain\f3\fs20\cf0 \par \par \plain\f3\fs20\cf2 DATA\plain\f3\fs20\cf0 : \par \plain\f3\fs20\cf1 ! Cidade 1 representa o dep\'f3sito;\plain\f3\fs20\cf0 \par Q = 0 6 3 7 7 18 4 5; \par \par D = \par 0 996 2162 1067 499 2054 2134 2050 \par 0 0 1167 1019 596 1059 1227 1055 \par 0 1167 0 1747 1723 214 168 250 \par 0 1019 1747 0 710 1538 1904 1528 \par 0 596 1723 710 0 1589 1827 1579 \par 0 1059 214 1538 1589 0 371 36 \par 0 1227 168 1904 1827 371 0 407 \par 0 1055 250 1528 1579 36 407 0; \par \par \plain\f3\fs20\cf1 ! VCAP \'e9 a capacidade de um ve\'edculo;\plain\f3\fs20\cf0 \par VCAP = 18; \par \plain\f3\fs20\cf2 ENDDATA\plain\f3\fs20\cf0 \par \par \plain\f3\fs20\cf1 ! Minimize a dist\'e2ncia total percorrida;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 MIN\plain\f3\fs20\cf0 = FO; \par FO = \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (MATRIZ(I,J): D(I,J) * X(I,J)); \par \par \plain\f3\fs20\cf1 ! Um ve\'edculo n\'e3o viaja de uma cidade para ela mesma....;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @FOR\plain\f3\fs20\cf0 (CIDADE(J)| J #NE# 1: \par X(J,J) = 0; \par ); \par \par \plain\f3\fs20\cf1 ! As var\'e1veis X s\'e3o bin\'e1rias;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @FOR\plain\f3\fs20\cf0 (MATRIZ(I,J): \plain\f3\fs20\cf2 @BIN\plain\f3\fs20\cf0 (X(I,J))); \par \par \plain\f3\fs20\cf1 ! C\'e1lculo do n\'famero m\'ednimo requerido de ve\'edculos;\plain\f3\fs20\cf0 \par VEHCLF = \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (CIDADE(I) | I #NE# 1: Q(I))/ VCAP; \par VEHCLR = \plain\f3\fs20\cf2 @FLOOR\plain\f3\fs20\cf0 (VEHCLF - 0.001) + 1 ; \par \par \plain\f3\fs20\cf1 ! A uma cidade J s\'f3 chega um \'fanico ve\'edculo;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @FOR\plain\f3\fs20\cf0 (CIDADE(J) | J #NE# 1: \par \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (CIDADE(I): X(I,J)) = 1 \par ); \par \par \plain\f3\fs20\cf1 ! De uma cidade J s\'f3 sai um \'fanico ve\'edculo;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @FOR\plain\f3\fs20\cf0 (CIDADE(J) | J #NE# 1: \par \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (CIDADE(I): X(J,I)) = 1 \par ); \par \par \plain\f3\fs20\cf1 ! Ao passar por uma cidade I o ve\'edculo deve atender sua demanda, \par isto \'e9, deve deixar Q(I) unidades de produto na cidade I;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @FOR\plain\f3\fs20\cf0 (CIDADE(I) | I #NE# 1: \par \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (MATRIZ(I,J): Y(I,J)) - \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (MATRIZ(I,J): Y(J,I)) = Q(I) \par ); \par \par \plain\f3\fs20\cf1 ! A quantidade de fluxo de I para J n\'e3o pode superar a capacidade \par do ve\'edculo;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @FOR\plain\f3\fs20\cf0 (MATRIZ(I,J): Y(I,J) <= VCAP*X(I,J)); \par \par \plain\f3\fs20\cf1 ! O n\'famero de ve\'edculos que saem do dep\'f3sito deve ser VEHCLR;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cì‹{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss\fprq2 System;}{\f3\fmodern Courier New;}} {\colortbl\red0\green0\blue0;\red0\green175\blue0;\red0\green0\blue255;} \deflang1046\pard\plain\f3\fs20\cf2 MODEL\plain\f3\fs20\cf0 : \par \par \plain\f3\fs20\cf1 ! Problema de Roteamento de Ve\'edculos com frota homog\'eanea;\plain\f3\fs20\cf0 \par \par \plain\f3\fs20\cf1 !************************************;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf1 ! ATEN\'c7\'c3O: Formula\'e7\'f5es com mais do ;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf1 ! que 12 cidades poder\'e3o n\'e3o ser ;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf1 ! resolvidas em um tempo razo\'e1vel! ;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf1 !************************************;\plain\f3\fs20\cf0 \par \par \plain\f3\fs20\cf2 SETS\plain\f3\fs20\cf0 : \par \plain\f3\fs20\cf1 ! Q(I) \'e9 a quantidade de um produto requerido na cidade I;\plain\f3\fs20\cf0 \par CIDADE/ D C1 C2 C3 C4 C5 C6 C7/: Q; \par \par \plain\f3\fs20\cf1 ! D(I,J) \'e9 a dist\'e2ncia da cidade I \'e0 cidade J \par X(I,J) \'e9 uma vari\'e1vel 0-1: Ela vale 1 se o ve\'edculo faz a \par viagem da cidade I \'e0 cidade J e vale 0 caso contr\'e1rio \par Y(I,J) \'e9 a quantidade de fluxo da cidade I \'e0 cidade J;\plain\f3\fs20\cf0 \par MATRIZ(CIDADE, CIDADE): D, X, Y; \par \plain\f3\fs20\cf2 ENDSETS\plain\f3\fs20\cf0 \par \par \plain\f3\fs20\cf2 DATA\plain\f3\fs20\cf0 : \par \plain\f3\fs20\cf1 ! Cidade 1 representa o dep\'f3sito;\plain\f3\fs20\cf0 \par Q = 0 6 3 7 7 18 4 5; \par \par D = \par 0 996 2162 1067 499 2054 2134 2050 \par 0 0 1167 1019 596 1059 1227 1055 \par 0 1167 0 1747 1723 214 168 250 \par 0 1019 1747 0 710 1538 1904 1528 \par 0 596 1723 710 0 1589 1827 1579 \par 0 1059 214 1538 1589 0 371 36 \par 0 1227 168 1904 1827 371 0 407 \par 0 1055 250 1528 1579 36 407 0; \par \par \plain\f3\fs20\cf1 ! VCAP \'e9 a capacidade de um ve\'edculo;\plain\f3\fs20\cf0 \par VCAP = 18; \par \plain\f3\fs20\cf2 ENDDATA\plain\f3\fs20\cf0 \par \par \plain\f3\fs20\cf1 ! Minimize a dist\'e2ncia total percorrida;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 MIN\plain\f3\fs20\cf0 = FO; \par FO = \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (MATRIZ(I,J): D(I,J) * X(I,J)); \par \par \plain\f3\fs20\cf1 ! Um ve\'edculo n\'e3o viaja de uma cidade para ela mesma....;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @FOR\plain\f3\fs20\cf0 (CIDADE(J)| J #NE# 1: \par X(J,J) = 0; \par ); \par \par \plain\f3\fs20\cf1 ! As var\'e1veis X s\'e3o bin\'e1rias;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @FOR\plain\f3\fs20\cf0 (MATRIZ(I,J): \plain\f3\fs20\cf2 @BIN\plain\f3\fs20\cf0 (X(I,J))); \par \par \plain\f3\fs20\cf1 ! C\'e1lculo do n\'famero m\'ednimo requerido de ve\'edculos;\plain\f3\fs20\cf0 \par VEHCLF = \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (CIDADE(I) | I #NE# 1: Q(I))/ VCAP; \par VEHCLR = \plain\f3\fs20\cf2 @FLOOR\plain\f3\fs20\cf0 (VEHCLF - 0.001) + 1 ; \par \par \plain\f3\fs20\cf1 ! A uma cidade J s\'f3 chega um \'fanico ve\'edculo;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @FOR\plain\f3\fs20\cf0 (CIDADE(J) | J #NE# 1: \par \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (CIDADE(I): X(I,J)) = 1 \par ); \par \par \plain\f3\fs20\cf1 ! De uma cidade J s\'f3 sai um \'fanico ve\'edculo;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @FOR\plain\f3\fs20\cf0 (CIDADE(J) | J #NE# 1: \par \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (CIDADE(I): X(J,I)) = 1 \par ); \par \par \plain\f3\fs20\cf1 ! Ao passar por uma cidade I o ve\'edculo deve atender sua demanda, \par isto \'e9, deve deixar Q(I) unidades de produto na cidade I;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @FOR\plain\f3\fs20\cf0 (CIDADE(I) | I #NE# 1: \par \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (CIDADE(J): Y(J,I)) - \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (CIDADE(J): Y(I,J)) = Q(I) \par ); \par \par \plain\f3\fs20\cf1 ! A quantidade de fluxo de I para J n\'e3o pode superar a capacidade \par do ve\'edculo;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @FOR\plain\f3\fs20\cf0 (MATRIZ(I,J): Y(I,J) <= VCAP*X(I,J)); \par \par \plain\f3\fs20\cf1 ! O n\'famero de ve\'edculos que saem do dep\'f3sito deve ser VEHCLR;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (f0 (CIDADE(J)| J #NE# 1: X(1, J)) = VEHCLR; \par \par \plain\f3\fs20\cf1 ! O n\'famero de ve\'edculos que retornam ao dep\'f3sito deve ser VEHCLR;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (CIDADE(J)| J #NE# 1: X(J, 1)) = VEHCLR; \par \par \plain\f3\fs20\cf2 END\plain\f3\fs20\cf0 \par } CIDADE(J)| J #NE# 1: X(1, J)) = VEHCLR; \par \par \plain\f3\fs20\cf1 ! O n\'famero de ve\'edculos que retornam ao dep\'f3sito deve ser VEHCLR;\plain\f3\fs20\cf0 \par \plain\f3\fs20\cf2 @SUM\plain\f3\fs20\cf0 (CIDADE(J)| J #NE# 1: X(J, 1)) = VEHCLR; \par \par \plain\f3\fs20\cf2 END\plain\f3\fs20\cf0 \par }