ࡱ>  Root Entry*0_^p H Contents Root Entry*0_^qHContents {\rtf1\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\fnil\fcharset0 Courier New;}} {\colortbl ;\red0\green0\blue255;\red0\green0\blue0;\red0\green175\blue0;} \viewkind4\uc1\pard\cf1\f0\fs36 sets\cf2 : \par Facilidades/\cf1 @ole\cf2 ('Medianas(R).xls','Facilidades')/: y; \par Locais/\cf1 @ole\cf2 ('Medianas(R).xls','Locais')/:; \par Matriz(Facilidades, Locais): d, x; \par \cf1 endsets\cf2 \par \par \cf1 data\cf2 : \par d = \cf1 @ole\cf2 ('Medianas(R).xls','distancias'); \par p = \cf1 @ole\cf2 ('Medianas(R).xls','p'); \par \cf1 enddata\cf2 \par \par \fs32 [fo] \cf1 min\cf2 = r; \par \par \cf3 ! A distancia de um cliente de um local j \'e0 facilidade i \par deve ser menor ou igual a r;\cf2 \par \cf1 @for\cf2 (Locais(j): \par \cf1 @for\cf2 (Facilidades(i): \par d(i,j)*x(i,j) <= r)); \par \fs36 \par \cf3 ! As restri\'e7\'f5es acima podem ser reduzidas significativamente \par tendo-se em vista que cada facilidade atende a um \'fanico local;\cf2 \par \cf1\fs32 @for\cf2 (Locais(j): \par \cf1 @sum\cf2 (Facilidades(i): \par d(i,j)*x(i,j) <= r)); \par \fs36 \par \par \cf3\fs32 ! Cada local \'e9 atendido por uma \'fanica facilidade;\cf2 \par \cf1 @for\cf2 (Locais(j): \par \cf1 @sum\cf2 (Facilidades(i): x(i,j)) = 1); \par \par \cf3 ! Devem ser instaladas p facilidades;\cf2 \par \cf1 @sum\cf2 (Facilidades(i): y(i)) = p; \par \par \cf3 ! Um local j s\'f3 pode ser atendido por uma facilidade \par que esteja instalada em i;\cf2 \par \cf1 @for\cf2 (Facilidades(i): \par \cf1 @for\cf2 (Locais(j): x(i,j) <= y(i))); \par \par \cf1 @for\cf2 (Facilidades(i): \par \cf1 @bin\cf2 (y(i)); \par \cf1 @for\cf2 (Locais(j): \cf1 @bin\cf2 (x(i,j)))); \par \par \cf1\fs36 data\cf2 : \par \cf1 @ole\cf2 ('Medianas(R).xls','x') = x; \par \cf1 @ole\cf2 ('Medianas(R).xls','y','fo') = y, fo; \par \cf1 enddata\cf2\fs32 \par } \par \par \cf1 @for\cf2 (Facilidades(i): \par \cf1 @bin\cf2 (y(i)); \par \cf1 @for\cf2 (Locais(j): \c {\rtf1\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\fnil\fcharset0 Courier New;}} {\colortbl ;\red0\green0\blue255;\red0\green0\blue0;\red0\green175\blue0;} \viewkind4\uc1\pard\cf1\f0\fs36 sets\cf2 : \par Facilidades/\cf1 @ole\cf2 ('Medianas(R).xls','Facilidades')/: y; \par Locais/\cf1 @ole\cf2 ('Medianas(R).xls','Locais')/:; \par Matriz(Facilidades, Locais): d, x; \par \cf1 endsets\cf2 \par \par \cf1 data\cf2 : \par d = \cf1 @ole\cf2 ('Medianas(R).xls','distancias'); \par p = \cf1 @ole\cf2 ('Medianas(R).xls','p'); \par \cf1 enddata\cf2 \par \par \fs32 [fo] \cf1 min\cf2 = r; \par \par \cf3 ! A distancia de um cliente de um local j \'e0 facilidade i \par deve ser menor ou igual a r;\cf2 \par \cf1 @for\cf2 (Locais(j): \par \cf1 @for\cf2 (Facilidades(i): \par d(i,j)*x(i,j) <= r)); \par \fs36 \par \cf3 ! As restri\'e7\'f5es acima podem ser reduzidas significativamente \par tendo-se em vista que cada facilidade atende a um \'fanico local. \par Neste caso, descomente as restri\'e7\'f5es abaixo e comente as de cima;\cf2 \par \cf3\fs32 !@for(Locais(j): \par @sum(Facilidades(i): \par d(i,j)*x(i,j)) <= r);\cf2 \par \fs36 \par \par \cf3\fs32 ! Cada local \'e9 atendido por uma \'fanica facilidade;\cf2 \par \cf1 @for\cf2 (Locais(j): \par \cf1 @sum\cf2 (Facilidades(i): x(i,j)) = 1); \par \par \cf3 ! Devem ser instaladas p facilidades;\cf2 \par \cf1 @sum\cf2 (Facilidades(i): y(i)) = p; \par \par \cf3 ! Um local j s\'f3 pode ser atendido por uma facilidade \par que esteja instalada em i;\cf2 \par \cf1 @for\cf2 (Facilidades(i): \par \cf1 @for\cf2 (Locais(j): x(i,j) <= y(i))); \par \par \cf1 @for\cf2 (Facilidades(i): \par \cf1 @bin\cf2 (y(i)); \par \cf1 @for\cf2 (Locais(j): \cf1 @bin\cf2 (x(i,j)))); \par \par \cf1\fs36 data\cf2 : \par \cf1 @ole\cf2 ('Medianas(R).xls','x') = x; \par \cf1 @ole\cf2 ('Medianas(R).xls','y','fo') = y, fo; \par \cf1 enddata\cf2\fs32 \par } )); \par \cf1 @for\cf2 (Locais(j): \c