.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "examples/plot_sintese_execucao.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_examples_plot_sintese_execucao.py: ======================================== Síntese da Execução ======================================== .. GENERATED FROM PYTHON SOURCE LINES 8-16 Para realizar a síntese da execução de um caso do DESSEM é necessário estar em um diretório no qual estão os principais arquivos de saída do modelo. Por exemplo, para se realizar a síntese de tempo de execução, é necessario o `LOG_MATRIZ`, para a síntese de custos, o `DES_LOG_RELATO`. Neste contexto, basta fazer:: $ sintetizador-decomp execucao .. GENERATED FROM PYTHON SOURCE LINES 18-35 O sintetizador irá exibir o log da sua execução:: >>> 2025-04-08 15:01:01,797 INFO: # Realizando síntese da EXECUÇÃO # >>> 2025-04-08 15:01:01,798 INFO: Realizando síntese de PROGRAMA >>> 2025-04-08 15:01:01,851 INFO: Tempo para sintese de PROGRAMA: 0.05 s >>> 2025-04-08 15:01:01,851 INFO: Realizando síntese de VERSAO >>> 2025-04-08 15:01:01,902 INFO: Lendo arquivo DES_LOG_RELATO.DAT >>> 2025-04-08 15:01:03,206 INFO: Tempo para sintese de VERSAO: 1.35 s >>> 2025-04-08 15:01:03,206 INFO: Realizando síntese de TITULO >>> 2025-04-08 15:01:03,209 INFO: Tempo para sintese de TITULO: 0.00 s >>> 2025-04-08 15:01:03,210 INFO: Realizando síntese de TEMPO >>> 2025-04-08 15:01:03,244 INFO: Lendo arquivo LOG_MATRIZ.DAT >>> 2025-04-08 15:01:03,251 INFO: Tempo para sintese de TEMPO: 0.04 s >>> 2025-04-08 15:01:03,251 INFO: Realizando síntese de CUSTOS >>> 2025-04-08 15:01:03,261 INFO: Tempo para sintese de CUSTOS: 0.01 s >>> 2025-04-08 15:01:03,305 INFO: Tempo para sintese da execucao: 1.51 s >>> 2025-04-08 15:01:03,305 INFO: # Fim da síntese # .. GENERATED FROM PYTHON SOURCE LINES 37-39 Os arquivos serão salvos no subdiretório `sintese`. Para realizar o processamento, pode ser utilizado o próprio `python`: .. GENERATED FROM PYTHON SOURCE LINES 39-43 .. code-block:: Python import plotly.express as px from datetime import timedelta import pandas as pd .. GENERATED FROM PYTHON SOURCE LINES 44-46 Para a síntese da execução é produzido um arquivo com as informações das sínteses que foram realizadas: .. GENERATED FROM PYTHON SOURCE LINES 46-53 .. code-block:: Python metadados = pd.read_parquet("sintese/METADADOS_EXECUCAO.parquet") print(metadados) # A leitura das sínteses realizadas pode ser feita da seguinte forma: custos = pd.read_parquet("sintese/CUSTOS.parquet") tempo = pd.read_parquet("sintese/TEMPO.parquet") .. rst-class:: sphx-glr-script-out .. code-block:: none chave nome_curto nome_longo 0 PROGRAMA PROGRAMA Modelo de Otimização 1 VERSAO VERSAO Versão do Modelo 2 TITULO TITULO Título do Estudo 3 TEMPO TEMPO Tempo de Execução 4 CUSTOS CUSTOS Composição de Custos da Solução .. GENERATED FROM PYTHON SOURCE LINES 54-55 O formato dos dados de CUSTOS: .. GENERATED FROM PYTHON SOURCE LINES 55-57 .. code-block:: Python print(custos) .. rst-class:: sphx-glr-script-out .. code-block:: none parcela valor_esperado desvio_padrao 0 PRESENTE 6.248078e+04 0 1 FUTURO 2.434002e+08 0 2 VIOLACOES 0.000000e+00 0 3 PEQUENAS PENALIDADES 4.830710e+00 0 .. GENERATED FROM PYTHON SOURCE LINES 58-59 O formato dos dados de TEMPO: .. GENERATED FROM PYTHON SOURCE LINES 59-61 .. code-block:: Python print(tempo) .. rst-class:: sphx-glr-script-out .. code-block:: none etapa tempo execucao 0 PL 18.0 0 1 PL 30.0 0 2 PL 30.0 0 3 PL 42.0 0 4 MILP 240.0 0 5 PL.Int.Fix 24.0 0 6 PL.CalcCMO 30.0 0 7 Leitura de Dados e Impressão 839.0 0 .. GENERATED FROM PYTHON SOURCE LINES 62-64 Quando se analisam os custos de cada fonte, geralmente são feitos gráficos de barras empilhadas ou setores: .. GENERATED FROM PYTHON SOURCE LINES 64-72 .. code-block:: Python fig = px.pie( custos.loc[custos["valor_esperado"] > 0], values="valor_esperado", names="parcela", ) fig .. raw:: html


.. GENERATED FROM PYTHON SOURCE LINES 73-74 Uma abordagem semelhante é utilizada na análise do tempo de execução: .. GENERATED FROM PYTHON SOURCE LINES 74-85 .. code-block:: Python tempo["tempo"] = pd.to_timedelta(tempo["tempo"], unit="s") / timedelta(hours=1) tempo["label"] = [str(timedelta(hours=d)) for d in tempo["tempo"].tolist()] fig = px.bar( tempo, x="etapa", y="tempo", text="label", barmode="group", ) fig .. raw:: html


.. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 1.180 seconds) .. _sphx_glr_download_examples_plot_sintese_execucao.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_sintese_execucao.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_sintese_execucao.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_sintese_execucao.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_