p8-introducaogams
DESCRIPTION
integracao massica energeticaTRANSCRIPT
-
Introduo Bsico Matrizes Avanado
Introduo ao GAMS
Marcelo FarenzenaMarcelo FarenzenaMarcelo Escobar
IntroduoaoGAMSMarceloFarenzena
Introduo Bsico Matrizes Avanado
EstruturaBsicoBsico
EstruturaLinguagem bsicaLinguagem bsicaEstrutura do software
Matrizes e vetoresMatrizes e vetoresSetst bltables
Tpicos avanadosControle de fluxo$
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Definies bsicas
O que : General Algebraic Modeling System (GAMS);Para que serve? Sistema de alto nvel para q pproblemas de programao matemtica;Onde posso baixar: www.gams.com;Onde posso baixar: www.gams.com;
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
O que voc queria em um software ...
Ele no utiliza unidades? ElenoutilizaunidadesElenocasesensitive?
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Digiteosparmetros:ParmetroDescrio/Valor/
-
Introduo Bsico Matrizes Avanado
O que voc queria em um software ...
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Digiteasvariveis:VarivelDescrio
Introduo Bsico Matrizes Avanado
O que voc queria em um software ...
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Digiteasequaes:Primeiroonomedepoisadeclarao
Introduo Bsico Matrizes Avanado
O que voc queria em um software ...
d d lNomedomodeloEquaesNome do modeloNomedomodeloTipodeproblemaDireodebuscaV i l d t
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Variveldecusto
Introduo Bsico Matrizes Avanado
O que voc queria em um software ...Por que as variveis tm .l?Por que as variveis tm .l?
.l: valor atual da varivel (level);up: valor mximo;.up: valor mximo;
.lo: valor mnimo;fx: fixa valor de varivel (no varivel?!);.fx: fixa valor de varivel (no varivel?!);
Apenas para variveis (no vale para parmetros);parmetros);
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
-
Introduo Bsico Matrizes Avanado
PARTE I: MODELAGEM
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Dimensionamento de um TanqueSuponha o dimensionamento de um tanque de Suponha o dimensionamento de um tanque de volume V. Quais valores de L e D resultariam em um custo mnimo?em um custo mnimo?
D
LDV2
L
LV4
=
D2 DLDA +=2
2
Consideraes: Ofundoeotopodovasosofechados; Ovasotemespessuraconstante(t)comdensidade(); O custo de fabricao e material o mesmo para o lado, o fundo e o topo (S;)
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Ocustodefabricaoematerialomesmoparaolado,ofundoeotopo(S;) Nenhumresduogeradonafabricao.
Introduo Bsico Matrizes Avanado
Dimensionamento de um TanqueO que queremos minimizar?O que queremos minimizar?
tDLDm .2
.2
+=
tDLDSC .2
..2
+=
2
Os valores L e D timos mudam se minimizarmos A ouOsvalores LeD timosmudamseminimizarmosA oum aoinvsdeC?
LDV4
2=
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Dimensionamento de um TanqueProblema finalProblema final
tDLDS .2
..min2
+ Parmetros:t,S, eV.
LDVas4
..2=
Variveis:L,DeC Equaes:Funoobjetivoerestries
Arquivo:ex1_tanque.gms
Assumindo:t=0.125m,=7850kg/m3,V=50m 3 eS=0.83$/Kg
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
-
Introduo Bsico Matrizes Avanado
Operao de um trocador de calor
W1=1000Kg/hT1=200C T2=100C
t 60C
CorrentedeProcessocp=1Kcal/KgC
t2=60Ct1=?W2=?
RefrigeranteU=500Kcal/hm2 C
( )212. ttcpWQ =TmlUAQ = .
RelaoW2 t1
RelaoAt1
( )211. TTcpWQ =TmlUAQ .
DefiniodaCargaTrmica
1
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Operao de um trocador de calorCritrio de desempenhoCritrio de desempenho
CustoOperacional*: 2.. Wtopcr480 CustodeInvestimento:
CustodeManuteno:2%doinvestimento/ano
48.0
503200
A
CritriodeDesempenho:50%CustoOperacional+10%aoanosobreoinvestimento+manuteno
F no objeti o
*top=8640h/ano,custodorefrigerantecr=5x106$/Kg
Funo objetivo( )
++=
48.0
2 50320002.01.0...5.0 AWtopcrCD
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Operao de um trocador de calor
Parmetros:W1,cp,T1,T2,t1,Q,cr,top.
Variveis:W2,t2,AeCD.
Equaes:FunoobjetivoeBalanodeenergialadofrioEquaodeProjeto
Assumindo:W1=1000kg/h,T1=200,T2=100,t2=60C,cp1Kcal/KgC,eS=U=500$Kcal/hm2C,cr=5x106$/Kgetop=8640h/ano.
d
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Arquivo:ex2_trocador.gms
Introduo Bsico Matrizes Avanado
TEMA DE CASA: TROCADORES EM SRIESRIE
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
-
Introduo Bsico Matrizes Avanado
Tema de casa
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Aspectos da Linguagem GAMS
TemplateBsico
Parmetros:Definioeatribuies
Variveis:Definioeatributos
Equaes:Definies
Modelo: DefinioModelo:Definio
ResoluodoModelo
ReportagemdaSoluo
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Arquivo:template1.gms
Introduo Bsico Matrizes Avanado
Aspectos da Linguagem GAMSPalavras reservadasPalavras reservadas
Ent adas n m icasEntradas numricas
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Entrada de Dados: ParmetrosTipos de Parmetros: Escalares, listas ou Tipos de Parmetros: Escalares, listas ou tabelas de duas ou mais dimenses.
Scalar
Comandos
Scalar Parameter Table
Arquivo:param1.gms declarandoparmetros
Arquivo:param2.gmsmltiplosparmetros
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
-
Introduo Bsico Matrizes Avanado
Operaes bsicas
** : potenciao #
OperaesAritmticasBsicas*
**: potenciao#
*,/:multiplicao,diviso
+,:adio,subtrao
* Emordemdeprecedncia.
# x**n calculado como exp (n.log(x)) no sendo definido para nmeros negativos
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
#x ncalculadocomoexp(n.log(x))nosendodefinidoparanmerosnegativosseoexpoenteforinteiroenegativousarpower(x,n)
Introduo Bsico Matrizes Avanado
Funes padro
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Arquivo:param3.gms
Introduo Bsico Matrizes Avanado
Tipos de variveis
Tipo DefaultLimiteInferior
DefaultLimiteSuperiorp
free (default) inf +infpositive 0 +inf
negative inf 0binary 0 1
integer 0 100
Arquivo:variable1.gms
integer 0 100
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Equaes - declarao
Caractere Significado Implicao
=e= iguala Ladodireito(rhs)igualaladoesquerdo(lhs)
=l= menor ouiguala Ladodireito(rhs) ou igualaladoesquerdo(lhs)
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
-
Introduo Bsico Matrizes Avanado
Equaes
M d l d d l / tit i t /Model nome_do_modelo/equaesconstituintes/;
EquaesConstituintes:/eq1,eq2,...,eqn/q q q q/all/atalho setodasequaesdefinidas
ClassesPrincipais Tipo Caracterstica
LP linear Todasequaessolineares
NLP Nolinear Tempelomenosumaequaonolinear
MIP Linear com variveis Todas equaes so lineares e apresentaMIP Linearcomvariveisinteiras
Todasequaessolineareseapresentavariveisinteiras
MINLP NoLinearcomvariveis inteiras
Tempelomenosumaequaonolineareapresenta variveis inteiras
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
variveisinteiras apresentavariveisinteiras
Introduo Bsico Matrizes Avanado
Modelo
Classes Principais TipoClassesPrincipais Tipointerlim Nmeromximodeiteraeslincol Nmero de colunas apresentadas para cada bloco de variveislincol Nmerodecolunas apresentadasparacadablocodevariveislinrow Nmerodelinhas apresentadasparacadablocodeequaesreslim Mximo tempoparaosolverp poptca Tolerncia absolutaparaMIPoptcr Tolerncia relativaparaMIP
Model teste /all/;Model teste/all/;teste.reslim=60;teste.iterlim=100;
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Resolvendo o modeloSolve nome do modelo using classe minimizing z;Solve nome_do_modelousing classe minimizingz;Solve nome_do_modelousing classemaximizingz;
zobrigatoriamenteumavarivellivreeescalaredeveaparecernomnimoemumaequaodomodelo; Todasasequaesdevemtersidosdefinidas Todososparmetrosdevemteratribuies Aclasseespecificadadevecorresponderaomodelo.
Solve modelo1using nlpmaximizingz1;Solve modelo1using nlpmaximizingz2;
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Solve modelo2using nlpmaximizingz3;
Introduo Bsico Matrizes Avanado
PARTE II: MODELAGEM MATRICIAL
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
-
Introduo Bsico Matrizes Avanado
Modelo de transportePlantas
i=1Mercados
i=2
j=1
j=2i=2
j=3
Planta Distncias (1000km)j=1 j=2 j=3 Suprimento
i=1 2.5 1.8 1.8 350
i=2 2.5 1.7 1.4 600
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Demanda 325 300 275
Introduo Bsico Matrizes Avanado
Modelo de transporteDado o suprimento de cada planta a(i), a demanda de cada mercado b(j) e o custo por unidade de transporte entre a planta i e o mercado j c(i,j). Qual o Mnimo Custo Total de Transporte?
Pl t Di t i (1000 k )Planta Distncias (1000km)J=1 J=2 J=3 Suprimento
i=1 2.5 1.8 1.8 350i 1 2.5 1.8 1.8 350
i=2 2.5 1.7 1.4 600
Demanda 325 300 275
Variveis:x(i,j)produodaplantaiquevaiparaomercadoj.Restries:
iji ax Capacidadedeproduoij
ji ,j
iji bx , Atendimentodasdemandas
Arquivo:ex4_transporte.gmsIntroduoaoGAMSMarceloFarenzena 18/10/201113:46
j
jii
ji xc ,, CustoTotaldeTransporte(FunoObjetivo)
Introduo Bsico Matrizes Avanado
Sets e ndicesSet nome do set /labels/;Set nome_do_set/labels/;
Oslabelssoencaradoscomotextos,masemcasodesetsnumricos:
Set i/1*3/; Set i/1,2,3/;equivalea
Set i/ana,paula,leo/; exemplodesetnonumrico
Algumasvezesinteressanteosettermaisdeumnome(comandoalias):
Set i/1900*2000/alias(i j);alias(i,j);
jumsetcommesmoslabelsdei
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Arquivo:setdef.gms
Introduo Bsico Matrizes Avanado
Sets e ndicesManipulao de Parmetros no domnio dos setsManipulaodeParmetrosnodomniodossets
Arquivo:paramset.gms
f no Utili aofuno Utilizao
sum somatrio sum(i,x(i))prod produtrio prod(i,x(i))p p p ( , ( ))smin mnimodeumalista smin(i,x(i))smax Mximodeumalista smax(i,x(i))
A i t
ManipulaodeVariveisnodomniodossetsArquivo:varset.gms
Equaesnodomniodossets
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Arquivo:eqset.gms
-
Introduo Bsico Matrizes Avanado
Exemplo logstica
MatriaPrima Produto Processo1:A+BEProcesso2:A+BF
Processos
1
2
A
B
E
F
Processo3:A+2B+CG
M.Prima Capacidade(Kg/dia)
Custo($/dia)
2
3
B
C
F
G
A 40000 1.5
B 30000 2.0
C 25000 2.5
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Exemplo logsticaReaes: Reaes:
Processo Produto ReagenteRequeridoemkgporKgdeproduto
(kg/kg)
CustodeProcessamento
($/Kg de produto)
Preo deVenda($/Kgdeproduto)
(kg/kg) ($/Kgdeproduto)
1 E 2/3A,1/3B 1.5 4.0
2 F 2/3A,1/3B 0.5 3.3/ , /
3 G 1/2A,1/6B,1/3C 1.0 3.8
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Exemplo logsticaBalano financeiro:Balano financeiro:
ReceitadeVenda:4x4+3.3x5+3.8x6
CustodeMatriaPrima:1.5x1+2x2+2.5x3CustodeProcessamento:1.5x4+0.5x5+1x6
Balano MaterialLucrodirio:2.5x4+2.8x5+2.8x6 1.5x12x22.5x3
Balano MaterialBalanodeReagenteA:x1=2/3x4+1/3x5+1/2x6BalanodeReagenteB:x2=1/3x4+1/3x5+1/6x62 4 5 6BalanodeReagenteC:x3=1/3x6
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Exemplo logsticaRestries de capacidade:Restries de capacidade:
ReagenteA:0x140000ReagenteB:0x230000ReagenteC:0x325000
Variveis:X1=consumodeAKg/diaX2=consumodeBKg/diaX3=consumodeCKg/diaX4=produodeEKg/dia4 p g/X5=produodeFKg/diaX6=produodeGKg/dia
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
-
Introduo Bsico Matrizes Avanado
Exemplo II MILP em projetosUsina termoeltrica:Usina termoeltrica:
capacidade atual: 700 MW;Plano de demanda:Plano de demanda:
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Exemplo II MILP em projetosTransformadores de 10, 50 e 100 MW;Transformadores de 10, 50 e 100 MW;Preo varivel por ano (custo(i,j));
Uma vez instalado, o gerador se mantm para os prximos anos;os prximos anos;Calcule o plano de aquisio baseado em custo mnimo atendendo demanda;
IntroduoaoGAMSMarceloFarenzena
mnimo, atendendo demanda;18/10/201113:46
Introduo Bsico Matrizes Avanado
Exemplo II MILP em projetosFormulao:Formulao:
Variveis: x varivel binria (n trocadores x ano);Funo objetivo:Funo objetivo:
= ntransf nanos jixjicustoctot ),(*),(Restries:
= =i j1 1
ngeri
j
kjpotreqipotgerjix
1 1)()(*),(
= =i k1 1j=1...nanos
Ver arquivo aloca transf gms
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Verarquivoaloca_transf.gms
Introduo Bsico Matrizes Avanado
PARTE III: TPICOS ESPECIAIS
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
-
Introduo Bsico Matrizes Avanado
Operaes Relacionais e Lgicas
OperadorR l i l
SignificadoRetorna 1 se verdadeiro e 0 se falsoRelacional
lt,< estritamente menorgt > estritamente maior
x=(1 maiorouigual
eq,= igual
neq, noigualimplicamemx=1;
q g
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Operaes Relacionais e Lgicas
OperadorLgico Significadonot no
x=(10;y=x;);
if (f 0
y ;) ;
Exemplo
if (f0)and(f
-
Introduo Bsico Matrizes Avanado
Controle de Fluxo: Estruturas CondicionaisLoop:Loop:
Sentenalooploop(domnio[$condio],
sentenas;);
loop(t, p(t+1) = p(t) + g(t) ) ;Exemploloop(t,p(t 1) p(t) g(t));
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Controle de Fluxo: Laos de RepetioWhile:While:
while(condio,sentenas*);hil ( 0while(x>0,
x=x/2;r=x;
For:
);eps=2*r;
For:for(i=valor1tovalor2[byincr],Sentenas*;);
f ( 3 4 0 3 b 1 4for(s=3.4to0.3by1.4,display s;);
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
Biblioteca de Modelos do GAMSComo acessar:Como acessar:
Alguns problemas
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
Introduo Bsico Matrizes Avanado
ManuaisGuia do Usurio e Manual de SolversGuia do Usurio e Manual de Solvers
Tutoriais e documentaoTutoriais e documentao
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46
-
Introduo Bsico Matrizes Avanado
IntroduoaoGAMSMarceloFarenzena 18/10/201113:46