Execucao Basica - SPARHTACUS/SPTcpp GitHub Wiki

Execução Básica do SPTcpp

O modelo SPTcpp usa como referência os Decks dos modelos oficiais disponibilizados pela CCEE ou pelo ONS através do portal SINTEGRE. No entanto, o modelo utiliza uma estrutura de dados de entrada em formato próprio, sendo necessária a conversão dos Decks oficiais.

Em sparhtacus.com/decks são disponibilizados decks (datasets, dados de entrada) no formato SPT para o usuário realizar a execução de estudos.

Para uma execução do modelo, o fluxograma abaixo ilustra as opções do usuário:

fluxograma

De maneira geral, o fluxograma segue da seguinte maneira:

Se não possuir os dados de entrada no formato do SPT, é necessário realizar a conversão do deck oficial.

No momento da conversão dos dados, é possível alterar e adicionar dados extras a partir de um diretório de pré-configuração. Através dele é possível sobrescrever arquivos e até mesmo inserir o parque hidrelétrico de etapas de menor horizonte de planejamento. Na pré-configuração, o usuário pode alterar a decomposição do problema, alterar o número de estágios, data inicial, entre outros atributos. No entanto, estes dados também podem ser alterados nos arquivos gerados da conversão do deck.

Além disso, no âmbito do Curto Prazo, dados adicionais podem ser incluídos.

Ao longo da conversão os dados são impressos em um diretório específico. Após a conversão, o modelo pode ser executado em sequência ou não. O deck convertido pode ser facilmente acessado e devidas parametrizações nos dados de entrada podem ser feitas antes da execução de um estudo.

Uma vez estabelecidos os dados oficiais e de pré-configuração, na pratica, ao chamar o SPT, o usuário pode optar por uma das seguintes opções:

  • Conversão do Deck oficial para o formato SPT e execução do modelo em seguida. Os arquivos oficiais devem estar no diretório DadosEntradaDECK e o seguinte argumento repassado na chamada do programa -deck DECK (sendo DECK = NEWAVE, DECOMP ou DESSEM).
  • Apenas a conversão dos Decks oficiais para o formato utilizado pelo SPT. Nesse caso os arquivos oficiais devem estar no diretório DadosEntradaDECK e os seguintes argumentos repassados na chamada do programa -deck DECK (sendo DECK = NEWAVE, DECOMP ou DESSEM) e -stop 1 para a parada do programa após a conversão.
  • Executar o estudo, no caso de já possuir os dados de entrada no formato SPT. Para isso, basta chamar o executável do programa que os dados no formato SPT serão lidos do diretório DadosEntrada.

O nome do diretório DadosEntrada dos arquivos no formato SPT pode ser incrementado com um apelido, conforme apresentado na seção seguinte.

Com os dados prontos, o usuário pode executar o modelo, sendo possível paralelizar a resolução do problema via Message Passing Interface (MPI) conforme:

Exemplo chamada MPIEXEC para paralelização em 10 processadores:

  • Windows: mpiexec -n 10 SPTWIN.exe
  • Linux: mpiexec -np 10 SPTLNX

Organização dos Diretórios

DadosEntrada

O diretório DadosEntradaDECK (sendo DECK = NEWAVE, DECOMP ou DESSEM) é o diretório em que o programa buscará os dados dos Decks oficiais para a conversão no formato SPT. Para isso, argumento -nick DECK deve ser repassado na chamada do programa.

O diretório DadosEntradaNICK é o local em que o programa irá ler os arquivos de dados no formato SPT (atributos comum, vetores e matrizes, operacionais ou premissas), sejam fornecidos pelo usuário ou resultantes de uma conversão de deck. Vale mencionar que todos os atributos operacionais entrarão diretamente no modelo matemático de otimização e poderão ser consultados com a impressão da formulação dos subproblemas de otimização. O termo NICK (opcional) é um apelido a ser atribuído ao estudo, sendo repassado à chamada do programa via argumento -nick NICK.

Em DadosEntradaNICK podem estar contidos os subdiretórios: Otimizaçao e/ou Simulacao (a depender do tipo de estudo) e ProcessoEstocasticoHidrologico. Nos diretórios Otimizacao e/ou Simulacao podem estar compreendidos os diretórios: AtributosOperacionaisSPT e AtributosPremissasOrigem. Em AtributosOperacionaisSPT constam os atributos operacionais calculados pelo programa, seja por: pré-processamento a partir dos atributos premissa em DadosEntradaNICK, ou para complementar os dados fornecidos pelo usuário. Em AtributosPremissasOrigem constam os arquivos premissa fornecidos pelo programa (quando ausentes em DadosEntradaNICK) para o calculo de algum atributo operacional. A Origem pode ser SPT, quando as premissas foram automaticamente geradas pelo programa, ou NEWAVE, DECOMP e DESSEM quando obtidas na conversão dos decks dos respectivos modelos.

Exemplo:

Em apenas uma conversão de dados, chamada com -nick MP, -deck NEWAVE e -stop 1, os seguintes diretórios serão criados:

  • DadosEntradaMP, contendo os arquivos de atributos operacionais oriundos de DadosEntradaNEWAVE.
  • DadosEntradaMP\Otimizacao\AtributosPremissasNEWAVE com os arquivos de atributos premissa utilizados no cálculo dos atributos operacionais de DadosEntradaMP.
  • DadosEntradaMP\ProcessoEstocasticoHidrologico, contendo os atributos operacionais do processo estocástico hidrológico. Além disso, os dados utilizados como premissa para sua geração estarão em DadosEntradaMP\Otimizacao\AtributosPremissasNEWAVE\ProcessoEstocasticoHidrologico

Com o deck DadosEntradaMP pronto, os seguintes diretórios serão criados na execução de um estudo do tipo otimização chamado apenas com -nick MP:

  • DadosEntradaMP\Otimizacao\AtributosOperacionaisSPT. Diretório criado caso o programa necessite calcular algum atributo operacional que não esteja no diretório DadosEntradaMP. Nesse caso, os valores dos atributos são calculados, escritos em arquivos, apagados da memória do programa e relidos a partir dos arquivos previamente escritos.

  • DadosEntradaMP\Otimizacao\AtributosPremissasSPT. Diretório criado com as premissas utilizadas no cálculo de atributos operacionais em DadosEntradaMP\Otimizacao\AtributosOperacionaisSPT. Além disso, o diretório também é criado para exibir ao usuário informações (arquivos com inicial info) de pré-processamento de atributos operacionais. Os arquivos info não são lidos pelo programa.

  • Em caso de:

      1. ausência do diretório DadosEntradaMP\ProcessoEstocasticoHidrologico;
      1. ausência de dados e/ou arquivos em DadosEntradaMP\ProcessoEstocasticoHidrologico e;
      1. incompatibilidade dos parâmetros do estudo com o processo estocástico informado em DadosEntradaMP\ProcessoEstocasticoHidrologico;

    Um novo processo estocástico será instanciado em DadosEntradaMP\Otimizacao\AtributosOperacionaisSPT\ProcessoEstocasticoHidrologico e DadosEntradaMP\Otimizacao\AtributosPremissasSPT\ProcessoEstocasticoHidrologico.

DadosSaida

No diretório DadosSaidaNICK estão presentes arquivos de saída gerados pelo modelo. A depender do tipo de estudo (otimização e/ou simulação), são criados os diretórios Otimizacao e/ou Simulacao.

Ao se executar o modelo, nestes subdiretórios são impressos primeiramente arquivos com as variáveis de estado de todos os estágios contemplados no estudo. Ao longo da execução, são atualizados os arquivos_resultado_por_iteracao.csv_ e custos_inferior_e_superior.csv. Além disso, ao fim de cada iteração é criado o diretório (\IdIteracaoX), ao qual contém informações relacionadas às etapas forward e backward. As informações impressas aqui dependem de flags setadas nos dados de entrada.

dados_saida

Se o tipo de execução for otimização e simulação, no diretório \Otimização\IdIteracaoN (última iteração) estarão os cortes gerados na etapa de otimização e no diretório \Otimização\IdIteracaoN+1 estarão os resultados da simulação.

No caso de uma simulação, os resultados estarão no diretório \Simulacao\IdIteracao_0.