Software
O modelo IARA é uma ferramenta computacional em código aberto para análise dos resultados de mercados elétricos, permitindo fazer comparações entre diferentes alternativas de desenho de mercado de eletricidade.
O software é capaz de endereçar por meio de simulações quantitativas o efeito de se incorporar ao mercado elétrico diferentes elementos estudados ao longo do projeto Meta II Formação de Preço, como a liquidação dupla, os modelos “por custo” / “por oferta” / “híbridos”, e o mecanismo de reservatórios virtuais. Além disso, o modelo IARA também representa um arcabouço robusto para outras explorações de temas de desenho de mercado.
O software está sujeito a revisões e melhorias contínuas, e convidamos aos interessados a acompanhar e contribuir com o projeto. A Documentação inclui guias de como instalar e usar o modelo IARA:
A funcionalidade central do modelo dialoga profundamente com os modelos de otimização, considerando o papel central que estes têm no procedimento de formação de preço da energia de curto prazo e as consequências que diferentes desenhos conceituais podem ter sobre a formulação deste problema. Particularmente no caso de mecanismos “por oferta” em que os agentes podem agir estrategicamente, entender como estas mudanças de representação podem influenciar os incentivos percebidos pelos agentes (e eventualmente levar a mudanças de comportamento estratégico) é uma componente importante da análise de impacto de diferentes alternativas, e uma motivação importante para o desenvolvimento do modelo.
O modelo é lançado sob a licença MIT e é construído com base em ferramentas gratuitas que seguem os princípios do software livre, das quais se destacam as seguintes:
O modelo é desenvolvido em linguagem de programação Julia. A linguagem Julia foi lançada em 2012, e um dos seus diferenciais é ser uma linguagem de programação de alto nível, com códigos-fonte bastante legíveis, mas ainda ser capaz de atingir excelentes padrões de desempenho computacional.
O JuMP é uma biblioteca que introduz dentro do ambiente Julia uma sintaxe própria para a especificação, manipulação e solução de problemas de otimização matemática. Algumas das funcionalidades centrais do modelo envolvem solucionar problemas de otimização (seja uma minimização de custo por parte do planejador central ou uma maximização de lucro por parte dos agentes), e o JuMP garante que o processo de manipular esses problemas de otimização seja mais robusto e flexível.
Para a solução de problemas de otimização, o solver é uma ferramenta fundamental para fazer a ligação entre a representação de alto nível do problema e uma representação mais adequada para solucionar o problema rapidamente. O solver HiGHS é um projeto de software livre que possui excelente desempenho computacional, comparável até mesmo a solvers comerciais em alguns problemas.
Uma classe de problemas de otimização de interesse particular para o modelo são os problemas intertemporais (devido à possibilidade de armazenamento de energia) e estocásticos (devido à incerteza no que pode ocorrer no futuro). Uma metodologia referência para este tipo de problema é a chamada Stochastic Dual Dynamic Programming (SDDP). O pacote SDDP.jl implementa o algoritmo do SDDP de forma geral, e será utilizado como apoio à construção dos problemas de otimização.
PSR
O modelo faz parte de um ecossistema mais amplo de modelos da PSR, voltados à análise, projeção, simulação, otimização e planejamento do setor energético. A ferramenta PSRClassesInterface representa uma componente de infraestrutura comum para a gestão de dados de entrada e saída, facilitando assim integrações futuras do modelo com outros softwares deste ecossistema.