p8-introducaogams

13
 Introdução sico Matrizes Avançado  Introdução ao GAMS Marcelo Farenzena  Marcelo Escobar Introdução ao GAMS Marcelo Farenzena  Introdução Básico Matrizes Avaado Estrutura Estrutura  Estrutura do software  Sets a es Tópicos avançados Controle de fluxo $ Introdução ao GAMS Marcelo Farenzena  18/10/2011 13:46 Introdução sico Matrizes Avançado Definições básicas O que é: General Al gebraic Modeli ng System (GAMS); Para que serve? Sistema de alto nível para  problemas de programação matemática;  Introdução ao GAMS Marcelo Farenzena  18/10/2011 13:46 Introdução Básico Matrizes Avançado O que você queria em um software ...  Ele não é case sensitive Introdução ao GAMS Marcelo Farenzena  18/10/2011 13:46 Digite os parâmetros:  Parâmetro Descrição /Valor/

Upload: vitor-abella

Post on 06-Oct-2015

213 views

Category:

Documents


0 download

DESCRIPTION

integracao massica energetica

TRANSCRIPT

  • 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