1. ENUNCIADO DO PROBLEMA

1.1 Contexto da Instituição

O Sicoob Credicom é uma cooperativa financeira focada na área de saúde, com: - 43 agências em Minas Gerais, Bahia e São Paulo - 120 mil cooperados - Mais de 32 anos de experiência no mercado

1.2 Problema Específico

Como otimizar a gestão de numerário em agências e transportadoras, reduzindo custos e riscos, sem comprometer a disponibilidade?

Situação Atual:

  • Monitoramento manual e reativo dos saldos
  • Movimentações decididas com base no fechamento do dia anterior
  • Identificação tardia de excessos ou faltas de numerário
  • Ausência de caráter preditivo nas decisões

Impactos:

  • Desperdício de recursos com numerário parado
  • Custos de movimentação potencialmente inflados
  • Perda de rendimento financeiro com numerário não centralizado
  • Risco operacional aumentado

1.3 Objetivos do Projeto

  • ✅ Reduzir custos com movimentação de numerário
  • ✅ Centralizar numerário excedente para render juros
  • ✅ Reduzir numerário disponível nas agências (mais segurança)
  • ✅ Implementar decisões preditivas e assertivas

2. MODELAGEM DO PROBLEMA

2.1 Variáveis do Sistema

Variáveis do Modelo
Variável Descrição Tipo
s_i(t) Saldo de numerário na agência i no tempo t Contínua
d_i(t) Demanda prevista na agência i no tempo t Contínua
x_i(t) Quantidade a abastecer na agência i no tempo t Contínua
y_i(t) Quantidade a recolher da agência i no tempo t Contínua
z_i(t) Decisão binária de movimentação (0 ou 1) Binária
t_i Momento exato da movimentação Temporal

2.2 Formulação Matemática

Função Objetivo:

Minimizar o custo total composto por:

\[ \min \sum_{t=1}^{T} \sum_{i=1}^{N} \left[ C_{\text{trans}} \cdot (x_{it} + y_{it}) + C_{\text{op}} \cdot s_{it} \right] \]

Restrições:

  1. Balanço de saldo: \(s_{it} = s_{i,t-1} + x_{it} - y_{it} - d_{it}\)
  2. Limites operacionais: \(s_{\min} \leq s_{it} \leq s_{\max}\)
  3. Capacidade de transporte: \(x_{it} + y_{it} \leq C \cdot z_{it}\)
  4. Disponibilidade de veículos: \(\sum_{i=1}^{N} z_{it} \leq V\)

2.3 Trade-Off Fundamental

# Parâmetros de simulação
custo_transporte <- 800    # Custo fixo por missão (R$)
taxa_juros <- 0.0004       # Taxa de juros diária (0.04%)
tempo <- 1:10              # Dias desde último recolhimento
excedentes <- c(50000, 100000, 200000)  # Valores excedentes (R$)

# Criar dataframe com simulação
df_tradeoff <- expand.grid(Dias = tempo, Excedente = excedentes) %>%
  mutate(Custo_Espera = Excedente * taxa_juros * Dias,
         Custo_Transporte = custo_transporte,
         Decisao = ifelse(Custo_Espera >= Custo_Transporte, 
                         "Recolher", "Manter"))

# Visualizar resultados
ggplot(df_tradeoff, aes(x = Dias, y = Custo_Espera, color = as.factor(Excedente))) +
  geom_line(size = 1.5) +
  geom_hline(yintercept = custo_transporte, linetype = "dashed", color = "red", size = 1) +
  annotate("text", x = 8, y = custo_transporte + 50, 
           label = "Custo de Transporte", color = "red") +
  labs(title = "Trade-Off: Custo de Espera vs. Custo de Transporte",
       subtitle = "Ponto de cruzamento indica o momento ideal para recolhimento",
       x = "Dias desde último recolhimento",
       y = "Custo de Espera (R$)",
       color = "Excedente (R$)") +
  theme_minimal() +
  scale_color_manual(values = c("blue", "green", "orange"))

3. PROPOSTA DE SOLUÇÃO

3.1 Arquitetura do Sistema

3.2 Algoritmo de Decisão

3.3 Simulação de Benefícios

# Dados de exemplo para simulação
meses <- 1:12
custo_atual <- c(120000, 118000, 122000, 119000, 121000, 123000, 
                 120000, 119000, 121000, 122000, 120000, 121000)
custo_otimizado <- custo_atual * 0.80  # Redução de 20%

rendimento_atual <- c(15000, 15500, 16000, 15800, 16200, 16500, 
                      16300, 16000, 15800, 16200, 16500, 16800)
rendimento_otimizado <- rendimento_atual * 1.40  # Aumento de 40%

df_beneficios <- data.frame(
  Mes = meses,
  Custo_Atual = custo_atual,
  Custo_Otimizado = custo_otimizado,
  Rendimento_Atual = rendimento_atual,
  Rendimento_Otimizado = rendimento_otimizado
)

# Gráfico de benefícios
df_beneficios %>%
  pivot_longer(cols = -Mes, names_to = "Metrica", values_to = "Valor") %>%
  separate(Metrica, into = c("Metrica", "Cenario"), sep = "_") %>%
  ggplot(aes(x = Mes, y = Valor, color = Cenario)) +
  geom_line(size = 1.5) +
  facet_wrap(~Metrica, scales = "free_y", ncol = 1) +
  labs(title = "Projeção de Benefícios da Otimização",
       subtitle = "Comparação entre cenário atual e otimizado",
       x = "Mês",
       y = "Valor (R$)",
       color = "Cenário") +
  theme_minimal() +
  scale_color_manual(values = c("red", "blue"))

4. PRÓXIMOS PASSOS

4.1 Cronograma de Implementação

Cronograma de Implementação
Etapa Duracao_Semanas Prioridade
Coleta e Análise de Dados Históricos 4 Alta
Desenvolvimento do Modelo Preditivo 6 Alta
Implementação do Algoritmo de Otimização 8 Alta
Desenvolvimento do Dashboard 6 Média
Testes Piloto 4 Alta
Implantação Gradual 8 Média
Monitoramento Contínuo NA Contínua

4.2 Requisitos Técnicos

Requisitos Técnicos
Categoria Itens
Linguagens R, Python, SQL
Frameworks Shiny, Dash, Docker
Infraestrutura Servidores cloud, Banco de dados
Dados Histórico de saldos, Demandas, Custos de transporte

5. CONCLUSÃO

A implementação desta solução permitirá ao Sicoob Credicom:

  1. Redução de custos com transporte de numerário
  2. Aumento de rendimentos financeiros com centralização de excedentes
  3. Melhoria da segurança operacional
  4. Decisões preditivas baseadas em dados em tempo real

Próximos passos imediatos: Coleta de dados históricos e modelagem preditiva de demanda.

## **Contato:** Equipe de Otimização - +55 (37) 9 9880-8747
## **Data de geração:** 20/09/2025