Git Product home page Git Product logo

sddp-lab's Introduction

sddp-lab

Laboratório para análise em pequena escala de variações no problema de planejamento energético usando SDDP.

Uso

$ julia

]activate .
Ctrl+D

$ julia --project main.jl

Instalação como pacote

É possível realizar a instalação do pacote a partir do repositório privado, mesmo sem adicioná-lo a um registro privado.

Tendo instalada uma versão de Julia >=1.7, desde que esteja configurada a CLI do git local com as credenciais necessárias para se acessar o repositório, basta fazer, utilizando autenticação via ssh:

export JULIA_PKG_USE_CLI_GIT=true
julia
]
add [email protected]:rjmalves/sddp-lab.git

No caso de uso em sistema operacional Windows, pode-se fazer algo semelhante, por exemplo no PowerShell:

$env:JULIA_PKG_USE_CLI_GIT=true
julia
]
add git@github.com:rjmalves/sddp-lab.git

sddp-lab's People

Contributors

lkhenayfis avatar rjmalves avatar

Watchers

 avatar

Forkers

bfpc lkhenayfis

sddp-lab's Issues

`PythonPlots` não é mais uma dependência necessária

Havia sido adicionado anteriormente em função de alguns erros para plotagem no WSL, porém traz muitas dependências, inclusive de Python. Deve ser retirado para manter o pacote julia puro e com o mínimo necessário de deps

Erro no acesso a cortes da função de custo futuro

O dicionário escrito por SDDP.write_cuts_to_file() inclui um termo chamado "intercept" que, em versões passadas, correspondia ao valor do corte na origem. Isto foi alterado para representar o valor de RHS, ou seja, o ponto em torno do qual o corte é construído, apesar de ter sido mantido o nome. O cálculo dos valores nos cortes foi realizado com a premissa de que este valor era de fato um intercepto e está, portanto, errado, devendo ser corrigido.

Trocar local de escrita de `rawcuts.json` durante processamento de cortes

Durante a construção do DataFrame de cortes é escrito um json temporário. Por algum motivo a execução em Windows dá erro nesse ponto pois o julia não possui permissões para apagar um arquivo que ele mesmo escreve na raiz do projeto.
Deve ser trocado para escrita num diretório temporário, sem tentar apagar

Padronizar o idioma de escrita

Há uma confusão no idioma adotado para dados de entrada, módulos, variáveis e funções. Isto precisa ser uniformizado e padronizado.

Não existe a abstração de cascatas de UHEs

Atualmente é possível cadastrar um número qualquer de UHEs no modelo, juntamente com as suas gerações de cenários. Todavia, não existe uma ligação entre elas, em termos de recurso hídrico.

Seria necessário incluir um parâmetro de cadastro de "usina a montante/jusante", com algum valor default para casos em que seja usina de início / fim de cascata

Definir melhor as unidades e conversões

Atualmente assume-se que toda a entrada de dados já está em energia. Todavia, até para avliações futuras da produção de UHEs, seria interessante incorporar, por exemplo, conceitos como duração dos estágios e produtibilidade

O formato dos arquivos de entrada não é escalável / adequado

Atualmente os arquivos de entrada para o programa são em número reduzido, e não são escaláveis para atender à modelagem completa do problema.

Este esquema poderia ser refatorado pensando em adotar uma configuração de entrada com uso de múltiplos arquivos, divididos por componente do programa ou do problema, que se referenciam (algoritmo, modelagem do sistema, cenários, etc.)

O formato dos arquivos de saída da operação não é escalável / adequado

Atualmente os cortes de saída do modelo são salvos em alguns arquivos de saída: operacao_hidro.csv, operacao_termo.csv e operacao_sistema.csv, que localizam os cenários nas colunas, o que não é uma boa prática.

Além disso, os arquivos estão crescendo conforme são adicionadas novas variáveis de saída. A proposta é que seja dividida uma variável por arquivo. Por exemplo, para UHEs:

  • gh.csv
  • earm_inicial.csv
  • earm_final.csv
  • vert.csv
  • ena.csv
  • vagua.csv

Com formato, por exemplo:
estagio | cenario | UHE1 | UHE2 | ...

Para UTE:

  • gt.csv

Com formato, por exemplo:
estagio | cenario | UTE1 | UTE2 | ...

Para o sistema (futuramente generalizado em submercados):

  • deficit.csv
  • cmo.csv

Com formato a definir.

Para a simulação como um todo:

  • custo_presente.csv
  • custo_futuro.csv
  • custo_total.csv

Com formato, por exemplo:
estagio | cenario | custo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.