ÐÏࡱá>þÿ þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿ*0_šîÏ»òÀð^  ËdŒ¶Â @ Contentsÿÿÿÿÿÿÿÿÿÿÿÿ ÊÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿýÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿ*0_šîÏ»òÀð^ ÔmŒ¶Â @ ContentsÿÿÿÿÿÿÿÿÿÿÿÿÊÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿýÿÿÿþÿÿÿ ÿÿÿÿþÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì‹{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fmodern\fprq2 Courier New;}{\f3\fswiss\fprq2 System;}} {\colortbl\red0\green0\blue0;\red0\green0\blue255;\red0\green175\blue0;} \deflang1046\pard\plain\f2\fs20\cf1 MODEL\plain\f2\fs20\cf0 : \par \par \plain\f2\fs20\cf2 ! Problema de Roteamento de Ve\'edculos com frota homog\'eanea;\plain\f2\fs20\cf0 \par \par \plain\f2\fs20\cf2 !************************************;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 ! ATEN\'c7\'c3O: Formula\'e7\'f5es com mais do ;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 ! que 12 cidades poder\'e3o n\'e3o ser ;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 ! resolvidas em um tempo razo\'e1vel! ;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 !************************************;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 SETS\plain\f2\fs20\cf0 : \par \plain\f2\fs20\cf2 ! Q(I) \'e9 a quantidade de um produto requerido na cidade I;\plain\f2\fs20\cf0 \par \par \plain\f2\fs20\cf2 ! CIDADE/c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c23 c24 c25 c26 \par c27 c28 c29 c30 c31 c32 c33 c34 c35 c36 c37 c38 c39 c40 c41 c42 c43 c44 c45 c46 c47 c48 c49 c50/:Q;\plain\f2\fs20\cf0 \par CIDADE/1 .. 51/:Q; \par \par \plain\f2\fs20\cf2 ! C(I,J) \'e9 o custo 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\f2\fs20\cf0 \par MATRIZ(CIDADE, CIDADE): C, X, Y; \par \plain\f2\fs20\cf1 ENDSETS\plain\f2\fs20\cf0 \par \par \plain\f2\fs20\cf1 DATA\plain\f2\fs20\cf0 : \par \plain\f2\fs20\cf2 ! Cidade 1 representa o dep\'f3sito;\plain\f2\fs20\cf0 \par C = @file('custo50.txt'); \par Q = @file('demanda50.txt'); \par \par \par \plain\f2\fs20\cf2 ! VCAP \'e9 a capacidade de um ve\'edculo;\plain\f2\fs20\cf0 \par VCAP = 160; \par \plain\f2\fs20\cf1 ENDDATA\plain\f2\fs20\cf0 \par \par \plain\f2\fs20\cf2 ! Minimize a dist\'e2ncia total percorrida;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 MIN\plain\f2\fs20\cf0 = FO; \par FO = \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (MATRIZ(I,J): C(I,J) * X(I,J)); \par \par \plain\f2\fs20\cf2 ! Um ve\'edculo n\'e3o viaja de uma cidade para ela mesma....;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @FOR\plain\f2\fs20\cf0 (CIDADE(J)| J #NE# 1: \par X(J,J) = 0; \par ); \par \par \plain\f2\fs20\cf2 ! As var\'e1veis X s\'e3o bin\'e1rias;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @FOR\plain\f2\fs20\cf0 (MATRIZ(I,J): \plain\f2\fs20\cf1 @BIN\plain\f2\fs20\cf0 (X(I,J))); \par \par \plain\f2\fs20\cf2 ! C\'e1lculo do n\'famero m\'ednimo requerido de ve\'edculos;\plain\f2\fs20\cf0 \par VEHCLF = \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (CIDADE(I) | I #NE# 1: Q(I))/ VCAP; \par VEHCLR = \plain\f2\fs20\cf1 @FLOOR\plain\f2\fs20\cf0 (VEHCLF - 0.001) + 1 ; \par \par \plain\f2\fs20\cf2 ! A uma cidade J s\'f3 chega um \'fanico ve\'edculo;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @FOR\plain\f2\fs20\cf0 (CIDADE(J) | J #NE# 1: \par \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (CIDADE(I): X(I,J)) = 1 \par ); \par \par \plain\f2\fs20\cf2 ! De uma cidade J s\'f3 sai um \'fanico ve\'edculo;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @FOR\plain\f2\fs20\cf0 (CIDADE(J) | J #NE# 1: \par \plain\f2\fs20\cì‹{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fmodern\fprq2 Courier New;}{\f3\fswiss\fprq2 System;}} {\colortbl\red0\green0\blue0;\red0\green0\blue255;\red0\green175\blue0;} \deflang1046\pard\plain\f2\fs20\cf1 MODEL\plain\f2\fs20\cf0 : \par \par \plain\f2\fs20\cf2 ! Problema de Roteamento de Ve\'edculos com frota homog\'eanea;\plain\f2\fs20\cf0 \par \par \plain\f2\fs20\cf2 !************************************;\plain\f2\fs20\cf0 \par \plainì‹{\rtf1\ansi\deff0\deflang1046{\fonttbl{\f0\fmodern\fcharset0 Courier New;}} {\colortbl ;\red0\green0\blue255;\red0\green0\blue0;\red0\green175\blue0;} \viewkind4\uc1\pard\cf1\f0\fs20 MODEL\cf2 : \par \par \cf3 ! Problema de Roteamento de Ve\'edculos com frota homog\'eanea;\cf2 \par \par \cf3 !************************************;\cf2 \par \cf3 ! ATEN\'c7\'c3O: Formula\'e7\'f5es com mais do ;\cf2 \par \cf3 ! que 12 cidades poder\'e3o n\'e3o ser ;\cf2 \par \cf3 ! resolvidas em um tempo razo\'e1vel! ;\cf2 \par \cf3 !************************************;\cf2 \par \cf1 data\cf2 : \par \tab Q = 51; \par \tab \par \cf1 enddata\cf2 \par \par \cf1 SETS\cf2 : \par \cf3 ! Q(I) \'e9 a quantidade de um produto requerido na cidade I;\cf2 \par \cf3 ! CIDADE = 50;\cf2 \par CIDADE/51/; \par \par \cf3 ! 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;\cf2 \par MATRIZ(CIDADE, CIDADE): C, X, Y; \par \cf1 ENDSETS\cf2 \par \par \cf1 DATA\cf2 : \par \cf3 ! Cidade 1 representa o dep\'f3sito;\cf2 \par Q,C =\cf1 @ole\cf2 ('dados.xls','demanda','custo'); \par \par \cf3 ! VCAP \'e9 a capacidade de um ve\'edculo;\cf2 \par VCAP = 160; \par \cf1 ENDDATA\cf2 \par \par \cf3 ! Minimize a dist\'e2ncia total percorrida;\cf2 \par \cf1 MIN\cf2 = FO; \par FO = \cf1 @SUM\cf2 (MATRIZ(I,J): C(I,J) * X(I,J)); \par \par \cf3 ! Um ve\'edculo n\'e3o viaja de uma cidade para ela mesma....;\cf2 \par \cf1 @FOR\cf2 (CIDADE(J)| J #NE# 1: \par X(J,J) = 0; \par ); \par \par \cf3 ! As var\'e1veis X s\'e3o bin\'e1rias;\cf2 \par \cf1 @FOR\cf2 (MATRIZ(I,J): \cf1 @BIN\cf2 (X(I,J))); \par \par \cf3 ! C\'e1lculo do n\'famero m\'ednimo requerido de ve\'edculos;\cf2 \par VEHCLF = \cf1 @SUM\cf2 (CIDADE(I) | I #NE# 1: Q(I))/ VCAP; \par VEHCLR = \cf1 @FLOOR\cf2 (VEHCLF - 0.001) + 1 ; \par \par \cf3 ! A uma cidade J s\'f3 chega um \'fanico ve\'edculo;\cf2 \par \cf1 @FOR\cf2 (CIDADE(J) | J #NE# 1: \par \cf1 @SUM\cf2 (CIDADE(I): X(I,J)) = 1 \par ); \par \par \cf3 ! De uma cidade J s\'f3 sai um \'fanico ve\'edculo;\cf2 \par \cf1 @FOR\cf2 (CIDADE(J) | J #NE# 1: \par \cf1 @SUM\cf2 (CIDADE(I): X(J,I)) = 1 \par ); \par \par \cf3 ! 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;\cf2 \par \cf1 @FOR\cf2 (CIDADE(I) | I #NE# 1: \par \cf1 @SUM\cf2 (MATRIZ(I,J): Y(I,J)) - \cf1 @SUM\cf2 (MATRIZ(I,J): Y(J,I)) = Q(I) \par ); \par \par \cf3 ! A quantidade de fluxo de I para J n\'e3o pode superar a capacidade \par do ve\'edculo;\cf2 \par \cf1 @FOR\cf2 (MATRIZ(I,J): Y(I,J) <= VCAP*X(I,J)); \par \par \cf3 ! O n\'famero de ve\'edculos que saem do dep\'f3sito deve ser VEHCLR;\cf2 \par \cf1 @SUM\cf2 (CIDADE(J)| J #NE# 1: X(1, J)) = VEHCLR; \par \par \cf3 ! O n\'famero de ve\'edculos que retornam ao dep\'f3sito deve ser VEHCLR;\cf2 \par \cf1 @SUM\cf2 (CIDADE(J)| J #NE# 1: X(J, 1)) = VEHCLR; \par \par \cf1 END\cf2 \par } nda, \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 (Mf1 @SUM\plain\f2\fs20\cf0 (CIDADE(I): X(J,I)) = 1 \par ); \par \par \plain\f2\fs20\cf2 ! 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\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @FOR\plain\f2\fs20\cf0 (CIDADE(I) | I #NE# 1: \par \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (MATRIZ(I,J): Y(I,J)) - \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (MATRIZ(I,J): Y(J,I)) = Q(I) \par ); \par \par \plain\f2\fs20\cf2 ! A quantidade de fluxo de I para J n\'e3o pode superar a capacidade \par do ve\'edculo;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @FOR\plain\f2\fs20\cf0 (MATRIZ(I,J): Y(I,J) <= VCAP*X(I,J)); \par \par \plain\f2\fs20\cf2 ! O n\'famero de ve\'edculos que saem do dep\'f3sito deve ser VEHCLR;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (CIDADE(J)| J #NE# 1: X(1, J)) = VEHCLR; \par \par \plain\f2\fs20\cf2 ! O n\'famero de ve\'edculos que retornam ao dep\'f3sito deve ser VEHCLR;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (CIDADE(J)| J #NE# 1: X(J, 1)) = VEHCLR; \par \par \plain\f2\fs20\cf1 END\plain\f2\fs20\cf0 \par } \f2\fs20\cf2 ! ATEN\'c7\'c3O: Formula\'e7\'f5es com mais do ;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 ! que 12 cidades poder\'e3o n\'e3o ser ;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 ! resolvidas em um tempo razo\'e1vel! ;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf2 !************************************;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 SETS\plain\f2\fs20\cf0 : \par \plain\f2\fs20\cf2 ! Q(I) \'e9 a quantidade de um produto requerido na cidade I;\plain\f2\fs20\cf0 \par \par \plain\f2\fs20\cf2 ! CIDADE/c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 c16 c17 c18 c19 c20 c21 c22 c23 c24 c25 c26 \par c27 c28 c29 c30 c31 c32 c33 c34 c35 c36 c37 c38 c39 c40 c41 c42 c43 c44 c45 c46 c47 c48 c49 c50/:Q;\plain\f2\fs20\cf0 \par CIDADE/1 .. 51/:Q; \par \par \plain\f2\fs20\cf2 ! C(I,J) \'e9 o custo 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\f2\fs20\cf0 \par MATRIZ(CIDADE, CIDADE): C, X, Y; \par \plain\f2\fs20\cf1 ENDSETS\plain\f2\fs20\cf0 \par \par \plain\f2\fs20\cf1 DATA\plain\f2\fs20\cf0 : \par \plain\f2\fs20\cf2 ! Cidade 1 representa o dep\'f3sito;\plain\f2\fs20\cf0 \par C = @file('custo50.txt'); \par Q = @file('demanda50.txt'); \par \par \par \plain\f2\fs20\cf2 ! VCAP \'e9 a capacidade de um ve\'edculo;\plain\f2\fs20\cf0 \par VCAP = 160; \par \plain\f2\fs20\cf1 ENDDATA\plain\f2\fs20\cf0 \par \par \plain\f2\fs20\cf2 ! Minimize a dist\'e2ncia total percorrida;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 MIN\plain\f2\fs20\cf0 = FO; \par FO = \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (MATRIZ(I,J): C(I,J) * X(I,J)); \par \par \plain\f2\fs20\cf2 ! Um ve\'edculo n\'e3o viaja de uma cidade para ela mesma....;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @FOR\plain\f2\fs20\cf0 (CIDADE(J)| J #NE# 1: \par X(J,J) = 0; \par ); \par \par \plain\f2\fs20\cf2 ! As var\'e1veis X s\'e3o bin\'e1rias;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @FOR\plain\f2\fs20\cf0 (MATRIZ(I,J): \plain\f2\fs20\cf1 @BIN\plain\f2\fs20\cf0 (X(I,J))); \par \par \plain\f2\fs20\cf2 ! C\'e1lculo do n\'famero m\'ednimo requerido de ve\'edculos;\plain\f2\fs20\cf0 \par VEHCLF = \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (CIDADE(I) | I #NE# 1: Q(I))/ VCAP; \par VEHCLR = \plain\f2\fs20\cf1 @FLOOR\plain\f2\fs20\cf0 (VEHCLF - 0.001) + 1 ; \par \par \plain\f2\fs20\cf2 ! A uma cidade J s\'f3 chega um \'fanico ve\'edculo;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @FOR\plain\f2\fs20\cf0 (CIDADE(J) | J #NE# 1: \par \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (CIDADE(I): X(I,J)) = 1 \par ); \par \par \plain\f2\fs20\cf2 ! De uma cidade J s\'f3 sai um \'fanico ve\'edculo;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @FOR\plain\f2\fs20\cf0 (CIDADE(J) | J #NE# 1: \par \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (CIDADE(I): X(J,I)) = 1 \par ); \par \par \plain\f2\fs20\cf2 ! 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\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @FOR\plain\f2\fs20\cf0 (CIDADE(I) | I #NE# 1: \par \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (MATRIZ(I,J): Y(I,J)) - \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (MATRIZ(I,J): Y(J,I)) = Q(I) \par ); \par \par \plain\f2\fs20\cf2 ! A quantidade de fluxo de I para J n\'e3o pode superar a capacidade \par do ve\'edculo;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @FOR\plain\f2\fs20\cf0 (MATRIZ(I,J): Y(I,J) <= VCAP*X(I,J)); \par \par \plain\f2\fs20\cf2 ! O n\'famero de ve\'edculos que saem do dep\'f3sito deve ser VEHCLR;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (CIDADE(J)| J #NE# 1: X(1, J)) = VEHCLR; \par \par \plain\f2\fs20\cf2 ! O n\'famero de ve\'edculos que retornam ao dep\'f3sito deve ser VEHCLR;\plain\f2\fs20\cf0 \par \plain\f2\fs20\cf1 @SUM\plain\f2\fs20\cf0 (CIDADE(J)| J #NE# 1: X(J, 1)) = VEHCLR; \par \par \plain\f2\fs20\cf1 END\plain\f2\fs20\cf0 \par }