13
- 1 - ISEL – Instituto Superior de Engenharia de Lisboa Introdução ao GAMS Introdução ao GAMS General Algebraic Modeling System General Algebraic Modeling System Jorge Alberto Mendes de Sousa Jorge Alberto Mendes de Sousa Professor Coordenador Professor Coordenador Webpage: pwp.net.ipl.pt/deea.isel/jsousa Webpage: pwp.net.ipl.pt/deea.isel/jsousa MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

Embed Size (px)

DESCRIPTION

MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica. Introdução ao GAMS General Algebraic Modeling System Jorge Alberto Mendes de Sousa Professor Coordenador Webpage: pwp.net.ipl.pt/deea.isel/jsousa. Agenda. Enquadramento Exemplo de aplicação Estrutura da programação GAMS - PowerPoint PPT Presentation

Citation preview

Page 1: MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

- 1 -ISEL – Instituto Superior de Engenharia de Lisboa

Introdução ao GAMSIntrodução ao GAMSGeneral Algebraic Modeling SystemGeneral Algebraic Modeling System

Jorge Alberto Mendes de SousaJorge Alberto Mendes de SousaProfessor CoordenadorProfessor Coordenador

Webpage: pwp.net.ipl.pt/deea.isel/jsousaWebpage: pwp.net.ipl.pt/deea.isel/jsousa

MEN - Mercados de EnergiaMestrado em Engenharia Electrotécnica

Page 2: MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

- 2 -

Agenda

ISEL – Instituto Superior de Engenharia de Lisboa

1. Enquadramento

2. Exemplo de aplicação

3. Estrutura da programação GAMS

4. Exercício

Page 3: MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

- 3 -

Enquadramento

ISEL – Instituto Superior de Engenharia de Lisboa

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.

Page 4: MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

- 4 -

Exemplo de aplicaçãoO problema de transporte: Formulação

ISEL – Instituto Superior de Engenharia de Lisboa

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 é necessário (procura).

A formulação do problema passa por programar a distribuição óptima de um produto homogéneo que:

a) está disponível em m origens nas quantidades fixas ai > 0 (oferta), com i = 1, 2, …, m;

b) é necessário em n destinos nas quantidades fixas bj > 0 (procura), com j = 1, 2, …, n;

c) deve ser enviado directamente para os destinos, não excedendo o limite disponível em cada origem e satisfazendo as necessidades em cada destino.

Page 5: MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

- 5 -

Exemplo de aplicaçãoO problema de transporte: Formulação

ISEL – Instituto Superior de Engenharia de Lisboa

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, cij, são proporcionais às quantidades transportadas, xij.

Page 6: MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

- 6 -

Exemplo de aplicaçãoO problema do transporte: Formulação

ISEL – Instituto Superior de Engenharia de Lisboa

O problema de transporte tem assim a seguinte formulação matemática:

Page 7: MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

- 7 -

Exemplo de aplicaçãoO problema do transporte: Dados de entrada

ISEL – Instituto Superior de Engenharia de Lisboa

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 (dij)

Oferta(ai)

Centro 1 Centro 2 Centro 3

Fábrica 1 2.5 1.7 1.8 350

Fábrica 2 2.5 1.8 1.4 600

Procura (bj) 325 300 275

Page 8: MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

- 8 -

Exemplo de aplicaçãoO problema do transporte: Programação GAMS (1/3)

ISEL – Instituto Superior de Engenharia de Lisboa

Setsi fabricas / Fabrica1, Fabrica2 /j centros / Centro1, Centro2, Centro3 / ;

Parametersa(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.8Fabrica2 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);

Page 9: MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

- 9 -

Exemplo de aplicaçãoO problema do transporte: Programação GAMS (2/3)

ISEL – Instituto Superior de Engenharia de Lisboa

Variablesx(i,j) quantidade transportada de i para jz custo total de transporte;

Positive variable x ;

Equationscusto funcao objectivo custo totaloferta(i) limite de producao da fabrica iprocura(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 ;

Page 10: MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

- 10 -

Exemplo de aplicaçãoO problema do transporte: Programação GAMS (3/3)

ISEL – Instituto Superior de Engenharia de Lisboa

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

Page 11: MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

- 11 -

Estrutura da programação GAMSEntradas e saídas

ISEL – Instituto Superior de Engenharia de Lisboa

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

Page 12: MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

- 12 -

ExercícioO problema de transporte alterado

ISEL – Instituto Superior de Engenharia de Lisboa

Como exercício considere o exemplo do problema de transporte apresentado onde agora existem quatro fábricas e cinco centros de consumo, com os valores de oferta, procura e distâncias entre as fábricas e os centros indicados na tabela abaixo.

Considere ainda que o custo unitário de transporte é de 5 unidades monetárias.

Distâncias (dij)

Oferta(ai)

Centro 1 Centro 2 Centro 3 Centro 4 Centro 5

Fábrica 1 2.5 1.7 1.5 1.3 1.8 300

Fábrica 2 2.1 1.5 3.8 1.5 5.0 550

Fábrica 3 2.0 2.8 2.0 2.5 1.0 200

Fábrica 4 2.7 2.3 1.0 3.8 4.3 500

Procura (bj) 250 300 275 100 125

Page 13: MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

- 13 -ISEL – Instituto Superior de Engenharia de Lisboa

Introdução ao GAMSIntrodução ao GAMSGeneral Algebraic Modeling SystemGeneral Algebraic Modeling System

Jorge Alberto Mendes de SousaJorge Alberto Mendes de SousaProfessor CoordenadorProfessor Coordenador

Webpage: pwp.net.ipl.pt/deea.isel/jsousaWebpage: pwp.net.ipl.pt/deea.isel/jsousa

MEN - Mercados de EnergiaMestrado em Engenharia Electrotécnica