103
ANEXO C – Entrada do GAMS
$INLINECOM /* */
$OFFLISTING
$OFFSYMXREF OFFSYMLIST
$ONEMPTY
SET O origem;
SET D destino;
SET C carro;
SET P1 portos de origem;
SET P2 portos de destino;
PARAMETER PRO (O,C) Producao na origem O;
PARAMETER DEM (D,C) Demanda no destino D;
PARAMETER CPP2 (P2,P1) CUSTO entre portos;
PARAMETER COP (O,P1) CUSTO entre origens e portos de origem;
PARAMETER CP2D (D,P2) CUSTO entre portos de destino e destinos;
PARAMETER COD (D,O) CUSTO entre origens e destinos;
$CALL GDXXRW.EXE C:\dissertacao\dados.xls Index=leitura!a1
$GDXIN dados.gdx
$LOAD O D C P1 P2 PRO DEM CPP2 COP CP2D COD
$GDXIN
VARIABLES
X(D,O,C) Fluxo direto entre origem e destino
Y(O,P1,C) Fluxo indireto entre origem e portos de origem
Z(O,P1,P2,C) Fluxo indireto entre portos de origem e portos de destino
W(O,P2,D,C) Fluxo indireto entre portos de destino e destino
OBJ;
POSITIVE VARIABLE X,Y,Z,W;
EQUATIONS
OBJET
PRODUCAO(O,C)
DEMANDA(D,C)
CONTINUIDADE1(O,P1,C)
CONTINUIDADE2(O,P2,C);
OBJET .. OBJ =E= SUM((D,O,C), X(D,O,C) * COD(D,O)) + SUM((O,P1,C), Y(O,P1,C) *COP(O,P1)) +
SUM((O,P1,P2,C), Z(O,P1,P2,C)* CPP2(P2,P1)) + SUM((O,P2,D,C), W(O,P2,D,C) *
CP2D(D,P2));
PRODUCAO(O,C) .. SUM(D, X(D,O,C)) + SUM(P1, Y(O,P1,C)) =L= PRO(O,C);
DEMANDA(D,C) .. SUM(O, X(D,O,C)) + SUM((O,P2) , W(O,P2,D,C)) =G= DEM (D,C);
CONTINUIDADE1(O,P1,C) .. Y(O,P1,C) =E= SUM(P2, Z(O,P1,P2,C));
CONTINUIDADE2(O,P2,C) .. SUM(P1, Z(O,P1,P2,C)) =E= SUM((D),W(O,P2,D,C));
(continua)