ࡱ> Root Entry*0_^3ENContentsE  Root Entry*0_^жFNContents9 {\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 title\cf2 : Usinas com Metas; \par \par \cf1 sets\cf2 : \par parametros /\cf1 @ole\cf2 ('UsinasMetas.xls', 'parametros')/: ; \par frentes /\cf1 @ole\cf2 ('UsinasMetas.xls', 'frentes')/: ; \par \par usinas /\cf1 @ole\cf2 ('UsinasMetas.xls', 'usinas')/: req; \par minas /\cf1 @ole\cf2 ('UsinasMe{\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 title\cf2 : Usinas com Metas; \par \par \cf1 sets\cf2 : \par parametros /\cf1 @ole\cf2 ('UsinasMetas.xls', 'parametros')/: ; \par frentes /\cf1 @ole\cf2 ('UsinasMetas.xls', 'frentes')/: ; \par \par usinas /\cf1 @ole\cf2 ('UsinasMetas.xls', 'usinas')/: req; \par minas /\cf1 @ole\cf2 ('UsinasMe{\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 title\cf2 : Usinas com Metas; \par \par \cf1 sets\cf2 : \par parametros /\cf1 @ole\cf2 ('UsinasMetas.xls', 'parametros')/: ; \par frentes /\cf1 @ole\cf2 ('UsinasMetas.xls', 'frentes')/: ; \par \par usinas /\cf1 @ole\cf2 ('UsinasMetas.xls', 'usinas')/: req; \par minas /\cf1 @ole\cf2 ('UsinasMetas.xls', 'minas')/: cap, z; \par \par matriz_up(usinas, parametros): tu, tr, tl, wm, dpm, dnm; \par matriz_mfp(minas, frentes, parametros): t; \par \par matriz_ufm(usinas, frentes, minas): x; \par matriz_fm(frentes, minas): Qu, ritmin, ritmax; \par \cf1 endsets\cf2 \par \par \cf1 data\cf2 : \par t, req, Qu, cap = \cf1 @ole\cf2 ('UsinasMetas.xls','t','req','Qu','cap'); \par ritmin, ritmax = \cf1 @ole\cf2 ('UsinasMetas.xls','ritmin','ritmax'); \par tu, tr, tl = \cf1 @ole\cf2 ('UsinasMetas.xls', 'tu','tr','tl'); \par wm = \cf1 @ole\cf2 ('UsinasMetas.xls','wm'); \par \cf1 enddata\cf2 \par \par [fo] \cf1 min\cf2 =\cf1 @sum\cf2 (usinas(l): \par \cf1 @sum\cf2 (parametros(j): wm(l,j)*dpm(l,j) + wm(l,j)*dnm(l,j))) + \par \cf1 @sum\cf2 (Minas(k1): \par \cf1 @sum\cf2 (Minas(k2): dpp(k1,k2) + dnp(k1,k2))) + \par 1000000*\cf1 @sum\cf2 (minas(k): z(k)); \par \par \par \cf3 ! O limite superior de especifica\'e7\'e3o de cada par\'e2metro deve \par ser atendido para cada usina;\cf2 \par \cf1 @for\cf2 (usinas(l): \par \cf1 @for\cf2 (parametros(j): \par \cf1 @sum\cf2 (minas(k): \par \cf1 @sum\cf2 (frentes(i): (t(k,i,j) - tu(l,j))*x(l,i,k))) <= 0)); \par \par \cf3 ! O limite inferior de especifica\'e7\'e3o de cada par\'e2metro deve \par ser atendido para cada usina;\cf2 \par \cf1 @for\cf2 (usinas(l): \par \cf1 @for\cf2 (parametros(j): \par \cf1 @sum\cf2 (minas(k): \par \cf1 @sum\cf2 (frentes(i): (t(k,i,j) - tl(l,j))*x(l,i,k))) >= 0)); \par \par \cf3 ! A meta de especifica\'e7\'e3o de cada par\'e2metro deve ser atendida para cada usina;\cf2 \par \cf1 @for\cf2 (usinas(l): \par \cf1 @for\cf2 (parametros(j): \par \cf1 @sum\cf2 (minas(k): \par \cf1 @sum\cf2 (frentes(i): \par (t(k,i,j) - tr(l,j))*x(l,i,k))) - dpm(l,j) + dnm(l,j) = 0)); \par \par \par \cf3 ! As requisi\'e7\'f5es de min\'e9rio das usinas devem ser atendidas;\cf2 \par \cf1 @for\cf2 (usinas(l): \par \cf1 @sum\cf2 (minas(k): \par \cf1 @sum\cf2 (frentes(i) : x(l,i,k))) = req(l)); \par \par \par \cf3 ! A quantidade de min\'e9rio retirada das frentes de cada \par mina n\'e3o pode superar a quantidade m\'e1xima dispon\'edvel;\cf2 \par \cf1 @for\cf2 (minas(k): \par \cf1 @for\cf2 (frentes(i): \par \cf1 @sum\cf2 (usinas(l): x(l,i,k)) <= Qu(i,k))); \par \par \par \par \cf3 ! A capacidade das minas deve ser respeitada;\cf2 \par \cf1 @for\cf2 (minas(k): \par \ctas.xls', 'minas')/: cap, z; \par \par matriz_up(usinas, parametros): tu, tr, tl, wm, dpm, dnm; \par matriz_mfp(minas, frentes, parametros): t; \par \par matriz_ufm(usinas, frentes, minas): x; \par matriz_fm(frentes, minas): Qu, ritmin, ritmax; \par \cf1 endsets\cf2 \par \par \cf1 data\cf2 : \par t, req, Qu, cap = \cf1 @ole\cf2 ('UsinasMetas.xls','t','req','Qu','cap'); \par ritmin, ritmax = \cf1 @ole\cf2 ('UsinasMetas.xls','ritmin','ritmax'); \par tu, tr, tl = \cf1 @ole\cf2 ('UsinasMetas.xls', 'tu','tr','tl'); \par wm = \cf1 @ole\cf2 ('UsinasMetas.xls','wm'); \par \cf1 enddata\cf2 \par \par [fo] \cf1 min\cf2 =\cf1 @sum\cf2 (usinas(l): \par \cf1 @sum\cf2 (parametros(j): wm(l,j)*dpm(l,j) + wm(l,j)*dnm(l,j))) + \par 1000000*\cf1 @sum\cf2 (minas(k): z(k)); \par \par \par \cf3 ! O limite superior de especifica\'e7\'e3o de cada par\'e2metro deve \par ser atendido para cada usina;\cf2 \par \cf1 @for\cf2 (usinas(l): \par \cf1 @for\cf2 (parametros(j): \par \cf1 @sum\cf2 (minas(k): \par \cf1 @sum\cf2 (frentes(i): (t(k,i,j) - tu(l,j))*x(l,i,k))) <= 0)); \par \par \cf3 ! O limite inferior de especifica\'e7\'e3o de cada par\'e2metro deve \par ser atendido para cada usina;\cf2 \par \cf1 @for\cf2 (usinas(l): \par \cf1 @for\cf2 (parametros(j): \par \cf1 @sum\cf2 (minas(k): \par \cf1 @sum\cf2 (frentes(i): (t(k,i,j) - tl(l,j))*x(l,i,k))) >= 0)); \par \par \cf3 ! A meta de especifica\'e7\'e3o de cada par\'e2metro deve ser atendida para cada usina;\cf2 \par \cf1 @for\cf2 (usinas(l): \par \cf1 @for\cf2 (parametros(j): \par \cf1 @sum\cf2 (minas(k): \par \cf1 @sum\cf2 (frentes(i): \par (t(k,i,j) - tr(l,j))*x(l,i,k))) - dpm(l,j) + dnm(l,j) = 0)); \par \par \par \cf3 ! As requisi\'e7\'f5es de min\'e9rio das usinas devem ser atendidas;\cf2 \par \cf1 @for\cf2 (usinas(l): \par \cf1 @sum\cf2 (minas(k): \par \cf1 @sum\cf2 (frentes(i) : x(l,i,k))) = req(l)); \par \par \par \cf3 ! A quantidade de min\'e9rio retirada das frentes de cada \par mina n\'e3o pode superar a quantidade m\'e1xima dispon\'edvel;\cf2 \par \cf1 @for\cf2 (minas(k): \par \cf1 @for\cf2 (frentes(i): \par \cf1 @sum\cf2 (usinas(l): x(l,i,k)) <= Qu(i,k))); \par \par \par \par \cf3 ! A capacidade das minas deve ser respeitada;\cf2 \par \cf1 @for\cf2 (minas(k): \par \cf1 @sum\cf2 (frentes(i): \par \cf1 @sum\cf2 (usinas(l): x(l,i,k))) <= cap(k)); \par \par \cf3 ! A quantidade de min\'e9rio retirada das frentes de cada \par mina n\'e3o pode ser inferior ao ritmo m\'ednimo desejado;\cf2 \par \cf1 @for\cf2 (minas(k): \par \cf1 @for\cf2 (frentes(i) | ritmin(i,k) #ne# 0: \par \cf1 @sum\cf2 (usinas(l): x(l,i,k)) >= ritmin(i,k))); \par \par \par \cf3 ! A quantidade de min\'e9rio retirada das frentes de cada \par mina n\'e3o pode ser superior ao ritmo m\'e1xima desejado;\cf2 \par \cf1 @for\cf2 (minas(k): \par \cf1 @for\cf2 (frentes(i) | ritmax(i,k) #ne# 0: \par \cf1 @sum\cf2 (usinas(l): x(l,i,k)) <= ritmax(i,k))); \par \par \cf3 ! z(k) = 1 se a mina k \'e9 utilizada;\cf2 \par \cf1 @for\cf2 (minas(k) | cap(k) #NE# 0: \par z(k) >= \cf1 @sum\cf2 (frentes(i): \cf1 @sum\cf2 (usinas(l): x(l,i,k))) / cap(k); \par \cf1 @bin\cf2 (z(k))); \par \par \par \fs40 \par \cf1\fs36 data\cf2 : \par \tab\cf1 @ole\cf2 ('UsinasMetas.xls', 'x') = x; \par \cf1 enddata\cf2 \par \par \cf1 end\cf2 \par } : req; \par minas /\cf1 @ole\cf2 ('UsinasMef1 @sum\cf2 (frentes(i): \par \cf1 @sum\cf2 (usinas(l): x(l,i,k))) <= cap(k)); \par \par \cf3 ! A quantidade de min\'e9rio retirada das frentes de cada \par mina n\'e3o pode ser inferior ao ritmo m\'ednimo desejado;\cf2 \par \cf1 @for\cf2 (minas(k): \par \cf1 @for\cf2 (frentes(i) | ritmin(i,k) #ne# 0: \par \cf1 @sum\cf2 (usinas(l): x(l,i,k)) >= ritmin(i,k))); \par \par \par \cf3 ! A quantidade de min\'e9rio retirada das frentes de cada \par mina n\'e3o pode ser superior ao ritmo m\'e1xima desejado;\cf2 \par \cf1 @for\cf2 (minas(k): \par \cf1 @for\cf2 (frentes(i) | ritmax(i,k) #ne# 0: \par \cf1 @sum\cf2 (usinas(l): x(l,i,k)) <= ritmax(i,k))); \par \par \cf3 ! z(k) = 1 se a mina k \'e9 utilizada;\cf2 \par \cf1 @for\cf2 (minas(k) | cap(k) #NE# 0: \par z(k) >= \cf1 @sum\cf2 (frentes(i): \cf1 @sum\cf2 (usinas(l): x(l,i,k))) / cap(k); \par \cf1 @bin\cf2 (z(k))); \par \par \par \fs40 \par \cf1\fs36 data\cf2 : \par \tab\cf1 @ole\cf2 ('UsinasMetas.xls', 'x') = x; \par \cf1 enddata\cf2 \par \par \cf1 end\cf2 \par } tas.xls', 'minas')/: cap, z; \par \par matriz_up(usinas, parametros): tu, tr, tl, wm, dpm, dnm; \par matriz_mfp(minas, frentes, parametros): t; \par \par matriz_ufm(usinas, frentes, minas): x; \par matriz_fm(frentes, minas): Qu, ritmin, ritmax; \par matriz_mm(minas, minas): dpp, dnp; \par \cf1 endsets\cf2 \par \par \cf1 data\cf2 : \par t, req, Qu, cap = \cf1 @ole\cf2 ('UsinasMetas.xls','t','req','Qu','cap'); \par ritmin, ritmax = \cf1 @ole\cf2 ('UsinasMetas.xls','ritmin','ritmax'); \par tu, tr, tl = \cf1 @ole\cf2 ('UsinasMetas.xls', 'tu','tr','tl'); \par wm = \cf1 @ole\cf2 ('UsinasMetas.xls','wm'); \par \cf1 enddata\cf2 \par \par [fo] \cf1 min\cf2 =\cf1 @sum\cf2 (usinas(l): \par \cf1 @sum\cf2 (parametros(j): wm(l,j)*dpm(l,j) + wm(l,j)*dnm(l,j))) + \par \cf1 @sum\cf2 (Minas(k1): \par \cf1 @sum\cf2 (Minas(k2): dpp(k1,k2) + dnp(k1,k2))) + \par 1000000*\cf1 @sum\cf2 (minas(k): z(k)); \par \par \par \cf3 ! O limite superior de especifica\'e7\'e3o de cada par\'e2metro deve \par ser atendido para cada usina;\cf2 \par \cf1 @for\cf2 (usinas(l): \par \cf1 @for\cf2 (parametros(j): \par \cf1 @sum\cf2 (minas(k): \par \cf1 @sum\cf2 (frentes(i): (t(k,i,j) - tu(l,j))*x(l,i,k))) <= 0)); \par \par \cf3 ! O limite inferior de especifica\'e7\'e3o de cada par\'e2metro deve \par ser atendido para cada usina;\cf2 \par \cf1 @for\cf2 (usinas(l): \par \cf1 @for\cf2 (parametros(j): \par \cf1 @sum\cf2 (minas(k): \par \cf1 @sum\cf2 (frentes(i): (t(k,i,j) - tl(l,j))*x(l,i,k))) >= 0)); \par \par \cf3 ! A meta de especifica\'e7\'e3o de cada par\'e2metro deve ser atendida para cada usina;\cf2 \par \cf1 @for\cf2 (usinas(l): \par \cf1 @for\cf2 (parametros(j): \par \cf1 @sum\cf2 (minas(k): \par \cf1 @sum\cf2 (frentes(i): \par (t(k,i,j) - tr(l,j))*x(l,i,k))) - dpm(l,j) + dnm(l,j) = 0)); \par \par \par \cf3 ! As requisi\'e7\'f5es de min\'e9rio das usinas devem ser atendidas;\cf2 \par \cf1 @for\cf2 (usinas(l): \par \cf1 @sum\cf2 (minas(k): \par \cf1 @sum\cf2 (frentes(i) : x(l,i,k))) = req(l)); \par \par \par \cf3 ! A quantidade de min\'e9rio retirada das frentes de cada \par mina n\'e3o pode superar a quantidade m\'e1xima dispon\'edvel;\cf2 \par \cf1 @for\cf2 (minas(k): \par \cf1 @for\cf2 (frentes(i): \par \cf1 @sum\cf2 (usinas(l): x(l,i,k)) <= Qu(i,k))); \par \par \par \par \cf3 ! A capacidade das minas deve ser respeitada;\cf2 \par \cf1 @for\cf2 (minas(k): \par \cf1 @sum\cf2 (frentes(i): \par \cf1 @sum\cf2 (usinas(l): x(l,i,k))) <= cap(k)); \par \par \cf3 ! A quantidade de min\'e9rio retirada das frentes de cada \par mina n\'e3o pode ser inferior ao ritmo m\'ednimo desejado;\cf2 \par \cf1 @for\cf2 (minas(k): \par \cf1 @for\cf2 (frentes(i) | ritmin(i,k) #ne# 0: \par \cf1 @sum\cf2 (usinas(l): x(l,i,k)) >= ritmin(i,k))); \par \par \par \cf3 ! A quantidade de min\'e9rio retirada das frentes de cada \par mina n\'e3o pode ser superior ao ritmo m\'e1xima desejado;\cf2 \par \cf1 @for\cf2 (minas(k): \par \cf1 @for\cf2 (frentes(i) | ritmax(i,k) #ne# 0: \par \cf1 @sum\cf2 (usinas(l): x(l,i,k)) <= ritmax(i,k))); \par \par \cf3 ! z(k) = 1 se a mina k \'e9 utilizada;\cf2 \par \cf1 @for\cf2 (minas(k) | cap(k) #NE# 0: \par z(k) >= \cf1 @sum\cf2 (frentes(i): \cf1 @sum\cf2 (usinas(l): x(l,i,k))) / cap(k); \par \cf1 @bin\cf2 (z(k))); \par \par \cf3 ! Para qualquer par de minas k1 e k2, a quantidade de min\'e9rio que sai de \par suas frentes para atender as usinas deve ser a mais equilibrada poss\'edvel;\cf2 \par \cf1 @for\cf2 (minas(k1): \par \cf1 @for\cf2 (minas(k2) | k2 #NE# k1: \par \cf1 @sum\cf2 (frentes(i): \cf1 @sum\cf2 (usinas(l): x(l,i,k1))) \par + dnp(k1,k2) - dpp(k1,k2) = \par \cf1 @sum\cf2 (frentes(i): \cf1 @sum\cf2 (usinas(l): x(l,i,k2))))) ; \par \par \par \fs40 \par \cf1\fs36 data\cf2 : \par \tab\cf1 @ole\cf2 ('UsinasMetas.xls', 'x') = x; \par \cf1 enddata\cf2 \par \par \cf1 end\cf2 \par }