1 / 13

MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

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

Download Presentation

MEN - Mercados de Energia Mestrado em Engenharia Electrotécnica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MEN - Mercados de EnergiaMestrado em Engenharia Electrotécnica Introdução ao GAMS General AlgebraicModelingSystem Jorge Alberto Mendes de Sousa Professor Coordenador Webpage: pwp.net.ipl.pt/deea.isel/jsousa

  2. Agenda Enquadramento Exemplo de aplicação Estrutura da programação GAMS Exercício

  3. 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. Exemplo de aplicaçãoO 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 é 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.

  5. Exemplo de aplicaçãoO 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, cij, são proporcionais às quantidades transportadas, xij.

  6. Exemplo de aplicaçãoO problema do transporte: Formulação O problema de transporte tem assim a seguinte formulação matemática: ≤ ≥

  7. Exemplo de aplicaçãoO 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.

  8. Exemplo de aplicaçãoO problema do transporte: Programação GAMS (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);

  9. Exemplo de aplicaçãoO problema do transporte: Programação GAMS (2/3) 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 ;

  10. Exemplo de aplicaçãoO problema do transporte: Programação GAMS (3/3) 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

  11. Estrutura da programação GAMSEntradas e saídas

  12. ExercícioO problema de transporte alterado • 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.

  13. MEN - Mercados de EnergiaMestrado em Engenharia Electrotécnica Introdução ao GAMS General AlgebraicModelingSystem Jorge Alberto Mendes de Sousa Professor Coordenador Webpage: pwp.net.ipl.pt/deea.isel/jsousa

More Related