refactor: Troca a demanda média pela máxima (diária e semanal) nos modelos

This commit is contained in:
2026-06-08 15:39:18 -03:00
parent 6cadb51646
commit f730c4fb6e

View File

@@ -388,7 +388,7 @@
"\n", "\n",
"# Estat\u00edsticas (M\u00e9dia e Desvio Padr\u00e3o) por trecho\n", "# Estat\u00edsticas (M\u00e9dia e Desvio Padr\u00e3o) por trecho\n",
"estatisticas_trechos = demanda_diaria_completa.groupby('Trecho').agg(\n", "estatisticas_trechos = demanda_diaria_completa.groupby('Trecho').agg(\n",
" Media_PAX_Diario=('PAX', 'mean'),\n", " Media_PAX_Diario=('PAX', 'mean'),\n Max_PAX_Diario=('PAX', 'max'),\n",
" Desvio_Padrao_PAX=('PAX', 'std'),\n", " Desvio_Padrao_PAX=('PAX', 'std'),\n",
" Total_PAX=('PAX', 'sum'),\n", " Total_PAX=('PAX', 'sum'),\n",
" Dias_Operados=('PAX', lambda x: (x > 0).sum())\n", " Dias_Operados=('PAX', lambda x: (x > 0).sum())\n",
@@ -570,7 +570,7 @@
"# Demanda de voos por rota\n", "# Demanda de voos por rota\n",
"voos_requeridos = {}\n", "voos_requeridos = {}\n",
"for _, row in top_trechos.iterrows():\n", "for _, row in top_trechos.iterrows():\n",
" voos = math.ceil(row['Media_PAX_Dias_Operados'] / CAPACIDADE_C97)\n", " voos = math.ceil(row['Max_PAX_Diario'] / CAPACIDADE_C97)\n",
" voos_requeridos[row['Trecho']] = max(1, voos)\n", " voos_requeridos[row['Trecho']] = max(1, voos)\n",
"\n", "\n",
"# MODELAGEM COM PULP\n", "# MODELAGEM COM PULP\n",
@@ -1239,7 +1239,7 @@
"demanda_diaria_completa_c99 = pd.merge(demanda_diaria_completa_c99, demanda_diaria_c99, on=['Trecho', 'Data Apenas'], how='left').fillna({'PAX': 0})\n", "demanda_diaria_completa_c99 = pd.merge(demanda_diaria_completa_c99, demanda_diaria_c99, on=['Trecho', 'Data Apenas'], how='left').fillna({'PAX': 0})\n",
"\n", "\n",
"estatisticas_trechos_c99 = demanda_diaria_completa_c99.groupby('Trecho').agg(\n", "estatisticas_trechos_c99 = demanda_diaria_completa_c99.groupby('Trecho').agg(\n",
" Media_PAX_Diario=('PAX', 'mean'),\n", " Media_PAX_Diario=('PAX', 'mean'),\n Max_PAX_Diario=('PAX', 'max'),\n",
" Desvio_Padrao_PAX=('PAX', 'std'),\n", " Desvio_Padrao_PAX=('PAX', 'std'),\n",
" Total_PAX=('PAX', 'sum'),\n", " Total_PAX=('PAX', 'sum'),\n",
" Dias_Operados=('PAX', lambda x: (x > 0).sum())\n", " Dias_Operados=('PAX', lambda x: (x > 0).sum())\n",
@@ -1332,7 +1332,7 @@
"\n", "\n",
"voos_requeridos_c99 = {}\n", "voos_requeridos_c99 = {}\n",
"for _, row in top_trechos_c99.iterrows():\n", "for _, row in top_trechos_c99.iterrows():\n",
" voos = math.ceil(row['Media_PAX_Dias_Operados'] / CAPACIDADE_C99)\n", " voos = math.ceil(row['Max_PAX_Diario'] / CAPACIDADE_C99)\n",
" voos_requeridos_c99[row['Trecho']] = max(1, voos)\n", " voos_requeridos_c99[row['Trecho']] = max(1, voos)\n",
"\n", "\n",
"prob4 = pulp.LpProblem(\"Fleet_Assignment_C99_Brasil\", pulp.LpMinimize)\n", "prob4 = pulp.LpProblem(\"Fleet_Assignment_C99_Brasil\", pulp.LpMinimize)\n",
@@ -1924,7 +1924,7 @@
"\n", "\n",
"demanda_pax_mix = {}\n", "demanda_pax_mix = {}\n",
"for _, row in top_trechos_mix.iterrows():\n", "for _, row in top_trechos_mix.iterrows():\n",
" demanda_pax_mix[row['Trecho']] = row['Media_PAX_Dias_Operados']\n", " demanda_pax_mix[row['Trecho']] = row['Max_PAX_Diario']\n",
"\n", "\n",
"prob7 = pulp.LpProblem(\"Fleet_Assignment_Mix_Brasil\", pulp.LpMinimize)\n", "prob7 = pulp.LpProblem(\"Fleet_Assignment_Mix_Brasil\", pulp.LpMinimize)\n",
"\n", "\n",
@@ -2205,7 +2205,7 @@
"demanda_semanal_completa_mix = pd.merge(demanda_semanal_completa_mix, demanda_semanal_mix, on=['Trecho', 'Semana'], how='left').fillna({'PAX': 0})\n", "demanda_semanal_completa_mix = pd.merge(demanda_semanal_completa_mix, demanda_semanal_mix, on=['Trecho', 'Semana'], how='left').fillna({'PAX': 0})\n",
"\n", "\n",
"estatisticas_trechos_semana = demanda_semanal_completa_mix.groupby('Trecho').agg(\n", "estatisticas_trechos_semana = demanda_semanal_completa_mix.groupby('Trecho').agg(\n",
" Total_PAX=('PAX', 'sum'),\n", " Total_PAX=('PAX', 'sum'),\n Max_PAX_Semanal=('PAX', 'max'),\n",
" Semanas_Operadas=('PAX', lambda x: (x > 0).sum())\n", " Semanas_Operadas=('PAX', lambda x: (x > 0).sum())\n",
").reset_index()\n", ").reset_index()\n",
"\n", "\n",
@@ -2232,7 +2232,7 @@
"\n", "\n",
"demanda_pax_semana = {}\n", "demanda_pax_semana = {}\n",
"for _, row in top_trechos_semana.iterrows():\n", "for _, row in top_trechos_semana.iterrows():\n",
" demanda_pax_semana[row['Trecho']] = row['Media_PAX_Semanas_Operadas']\n" " demanda_pax_semana[row['Trecho']] = row['Max_PAX_Semanal']\n"
] ]
}, },
{ {