A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

- 1 - Sessão #2 | 28 Abril 2010 :: :: :: Sessão #2 :: Introdução ao GAMS General Algebraic Modeling System Jorge de Sousa Professor Coordenador ISEL -

Apresentações semelhantes


Apresentação em tema: "- 1 - Sessão #2 | 28 Abril 2010 :: :: :: Sessão #2 :: Introdução ao GAMS General Algebraic Modeling System Jorge de Sousa Professor Coordenador ISEL -"— Transcrição da apresentação:

1 - 1 - Sessão #2 | 28 Abril 2010 :: :: :: Sessão #2 :: Introdução ao GAMS General Algebraic Modeling System Jorge de Sousa Professor Coordenador ISEL - Instituto Superior de Engenharia de Lisboa Webpage: pwp.net.ipl.pt/deea.isel/jsousa Formação Galp Energia Modelação e Simulação de Mercados de Energia Eléctrica

2 - 2 - Sessão #2 | 28 Abril 2010 Enquadramento Exemplo de aplicação Programação em GAMS Exercício Agenda

3 - 3 - Sessão #2 | 28 Abril 2010 Enquadramento  O GAMS - General Algebraic Modeling System é uma linguagem dedicada à modelização de problemas de optimização lineares, não lineares e de programação inteira mista, particularmente útil para problemas de elevada dimensão e complexidade.  O GAMS permite ao utilizador concentrar-se na modelação do problema tornando fácil a sua implementação. O utilizador pode alterar a formulação de forma rápida e simples, podendo seleccionar e trocar o método numérico de resolução e até mudar um problema linear para não linear sem qualquer problema.  A linguagem GAMS é formalmente idêntica a outras linguagens de programação comuns pelo que qualquer utilizador com um mínimo de experiência em programação se sentirá familiar com o GAMS.

4 - 4 - Sessão #2 | 28 Abril 2010 Enquadramento Exemplo de aplicação Programação em GAMS Exercício Agenda

5 - 5 - Sessão #2 | 28 Abril 2010 Exemplo de aplicação O problema de transporte: Formulação  O problema de transporte é um problema clássico de optimização que consiste em determinar a forma mais eficiente de enviar um bem disponível em quantidades limitadas em determinados locais (oferta) para outros locais onde é consumido (procura).  A formulação do problema passa por determinar a distribuição óptima de um produto homogéneo que: a) está disponível em m origens nas quantidades fixas a i > 0 (oferta), com i = 1, 2, …, m; b) é necessário em n destinos nas quantidades fixas b j > 0 (procura), com j = 1, 2, …, n; c) deve ser enviado directamente para os destinos, esgotando as disponibilidades em cada origem e satisfazendo as necessidades em cada destino.

6 - 6 - Sessão #2 | 28 Abril 2010 Exemplo de aplicação O problema de transporte: Formulação O problema de transporte tem por objectivo a minimização do custo total de distribuição do produto, em que os custos unitários de transporte da cada origem i para cada destino j, c ij, são proporcionais às quantidades transportadas, x ij.

7 - 7 - Sessão #2 | 28 Abril 2010 Exemplo de aplicação O problema do transporte: Formulação O problema de transporte tem assim a seguinte formulação matemática:

8 - 8 - Sessão #2 | 28 Abril 2010 Exemplo de aplicação O problema do transporte: Dados de entrada  Como concretização do exemplo de transporte vamos admitir que existem duas fábricas e três centros de consumo, em que os valores de oferta, procura e distâncias entre as fábricas e os centros estão indicados na tabela abaixo.  Considera-se ainda que o custo unitário de transporte é de 90 unidades monetárias por cada unidade de produto e de distância percorrida. Distâncias (x ij ) Oferta (a i ) Centro 1Centro 2Centro 3 Fábrica 12.51.71.8350 Fábrica 22.51.81.4600 Procura (b j )325300275

9 - 9 - Sessão #2 | 28 Abril 2010 Enquadramento Exemplo de aplicação Programação em GAMS Exercício Agenda

10 - 10 - Sessão #2 | 28 Abril 2010 Programação em GAMS Ambiente de desenvolvimento

11 - 11 - Sessão #2 | 28 Abril 2010 Programação em GAMS O problema do transporte (1/3) Sets i fabricas / Fabrica1, Fabrica2 / j centros / Centro1, Centro2, Centro3 / ; Parameters a(i) capacidade de producao da fabrica i / Fabrica1 350 Fabrica2 600 / b(j) consumo no centro j / Centro1 325 Centro2 300 Centro3 275 / ; Table d(i,j) distancia das fabricas aos centros Centro1 Centro2 Centro3 Fabrica1 2.5 1.7 1.8 Fabrica2 2.5 1.8 1.4 ; Scalar f custo por unidade de produto e de distancia /90/ ; Parameter c(i,j) custo de transporte por unidade de produto; c(i,j) = f*d(i,j);

12 - 12 - Sessão #2 | 28 Abril 2010 Variables x(i,j) quantidade transportada de i para j z custo total de transporte; Positive variable x ; Equations custo funcao objectivo custo total oferta(i) limite de producao da fabrica i procura(j) procura no centro j ; custo.. z =e= sum((i,j), c(i,j)*x(i,j)) ; oferta(i).. sum(j, x(i,j)) =l= a(i) ; procura(j).. sum(i, x(i,j)) =g= b(j) ; Model transporte /custo, oferta, procura/ ; Solve transporte using lp minimizing z ; Programação em GAMS O problema do transporte (2/3)

13 - 13 - Sessão #2 | 28 Abril 2010 Display x.l, x.m, z.l ; * Escreve resultados no ficheiro externo "C:\transporte.txt" File output /C:\transporte.txt/ ; put output ; put "Custo total = ", put z.l, put /, put / ; put "xij: ", put /, put " "; loop(j, put j.tl) ; put /; loop(i, put i.tl, loop (j, put x.l(i,j)) ; put / ; ) ; putclose output Programação em GAMS O problema do transporte (3/3)

14 - 14 - Sessão #2 | 28 Abril 2010 Inputs (file.gms)Outputs (file.lst) · Sets Declaração Assignação dos elementos · Data (Parameters, Tables, Scalar) Declaração Assignação de valores · Variables Declaração Assignação do tipo Assignação de limites e/ou valores iniciais (opcional) · Equations Declaração Definição · Model / Solve: definição e solução do modelo · Display (opcional) · Echo Print · Equation Listing · Model Statistics · Solution Report · Results Programação em GAMS Estrutura: Entradas e saídas

15 - 15 - Sessão #2 | 28 Abril 2010 Enquadramento Exemplo de aplicação Programação em GAMS Exercício Agenda

16 - 16 - Sessão #2 | 28 Abril 2010 Exercício O problema de transporte alterado Considere o exemplo do problema de transporte apresentado anteriormente adaptado agora a uma situação de quatro fábricas e cinco centros de consumo. Os valores de oferta, procura e distâncias entre as fábricas e os centros encontram-se indicados na tabela abaixo e o custo unitário de transporte é de 5 unidades monetárias. Distâncias (x ij ) Oferta (a i ) Centro 1Centro 2Centro 3Centro 4Centro 5 Fábrica 12.51.71.51.31.8300 Fábrica 22.11.53.81.55.0550 Fábrica 32.02.82.02.51.0200 Fábrica 42.72.31.03.84.3500 Procura (b j )250300275100125

17 - 17 - Sessão #2 | 28 Abril 2010 :: :: :: Sessão #2 :: Introdução ao GAMS General Algebraic Modeling System Jorge de Sousa Professor Coordenador ISEL - Instituto Superior de Engenharia de Lisboa Webpage: pwp.net.ipl.pt/deea.isel/jsousa Formação Galp Energia Modelação e Simulação de Mercados de Energia Eléctrica


Carregar ppt "- 1 - Sessão #2 | 28 Abril 2010 :: :: :: Sessão #2 :: Introdução ao GAMS General Algebraic Modeling System Jorge de Sousa Professor Coordenador ISEL -"

Apresentações semelhantes


Anúncios Google