Alocação Otimizada de Unidades de Coleta (UCs) a Agências
alocar_ucs.RdEsta função realiza a alocação otimizada de Unidades de Coleta (UCs) a agências, com o objetivo de minimizar os custos totais de deslocamento e operação. A alocação leva em consideração restrições de capacidade das agências (em número de dias de coleta), custos de deslocamento (combustível, tempo de viagem e diárias), custos fixos das agências e custos de treinamento.
Usage
alocar_ucs(
ucs,
agencias = data.frame(agencia_codigo = unique(ucs$agencia_codigo),
dias_coleta_agencia_max = Inf, custo_fixo = 0),
custo_litro_combustivel = 6,
custo_hora_viagem = 10,
kml = 10,
valor_diaria = 335,
diarias_entrevistador_max = Inf,
remuneracao_entrevistador = 0,
n_entrevistadores_min = 1,
dias_coleta_entrevistador_max,
dias_treinamento = 0,
agencias_treinadas = NULL,
agencias_treinamento = NULL,
distancias_ucs,
distancias_agencias = NULL,
adicional_troca_jurisdicao = 0,
resultado_completo = FALSE,
solver = "cbc",
rel_tol = 0.02,
max_time = 30 * 60,
...
)Arguments
- ucs
Um
tibbleoudata.framecontendo informações sobre as UCs, incluindo:uc: Código único da UC.agencia_codigo: Código da agência à qual a UC está atualmente alocada.dias_coleta: Número de dias de coleta na UC.viagens: Número de viagens necessárias para a coleta na UC.
- agencias
Um
tibbleoudata.framecontendo informações sobre as agências selecionáveis, incluindo:agencia_codigo: Código único da agência.dias_coleta_agencia_max: Número máximo de dias de coleta que a agência pode realizar.custo_fixo: Custo fixo associado à agência.
- custo_litro_combustivel
Custo do combustível por litro (em R$). Padrão: 6.
- custo_hora_viagem
Custo de cada hora de viagem (em R$). Padrão: 10.
- kml
Consumo médio de combustível do veículo (em km/l). Padrão: 10.
- valor_diaria
Valor da diária para deslocamentos (em R$). Padrão: 335.
- diarias_entrevistador_max
Máximo de diárias que um entrevistador pode receber no período de referência. Padrão:
Inf.- remuneracao_entrevistador
Remuneração por entrevistador para todo o período de referência. Padrão: 0.
- n_entrevistadores_min
Número mínimo de entrevistadores por agência. Padrão: 1.
- dias_coleta_entrevistador_max
Número de dias de coleta por entrevistador.
- dias_treinamento
Número de dias/diárias para treinamento. Padrão: 0 (nenhum treinamento).
- agencias_treinadas
(Opcional) Um vetor de caracteres com os códigos das agências que já foram treinadas e não terão custo de treinamento. Padrão: NULL.
- agencias_treinamento
Código da(s) agência(s) onde o treinamento será realizado.
- distancias_ucs
Um
tibbleoudata.framecom as distâncias entre UCs e agências, incluindo:uc: Código da UC.agencia_codigo: Código da agência.distancia_km: Distância em quilômetros entre a UC e a agência.duracao_horas: Duração da viagem em horas entre a UC e a agência.diaria_municipio: Indica se é necessária uma diária para deslocamento entre a UC e a agência, considerando o município da UC.diaria_pernoite: Indica se é necessária uma diária com pernoite para deslocamento entre a UC e a agência.
- distancias_agencias
Um
tibbleoudata.framecom as distâncias entre as agências, incluindo:agencia_codigo_orig: Código da agência de origem.agencia_codigo_dest: Código da agência de destino.distancia_km: Distância em quilômetros entre a agência de origem e a de destino.duracao_horas: Duração da viagem em horas entre a agência de origem e a de destino.
- adicional_troca_jurisdicao
Custo adicional quando há troca de agência de coleta. Padrão: 0.
- resultado_completo
(Opcional) Um valor lógico indicando se deve ser retornado um resultado mais completo, incluindo informações sobre todas as combinações de UCs e agências. Padrão: FALSE.
- solver
Qual ferramenta para solução do modelo de otimização utilizar. Padrão: "cbc". Outras opções: "glpk", "symphony" (instalação manual).
- ...
Opções adicionais para o solver.
Value
Uma lista contendo:
resultado_ucs_jurisdicao: Umtibblecom as UCs e suas alocações originais (jurisdição), incluindo custos de deslocamento.resultado_agencias_jurisdicao: Umtibblecom as agências e suas alocações originais (jurisdição), incluindo custos fixos, custos de deslocamento e número de UCs alocadas.resultado_ucs_otimo: Umtibblecom as UCs e suas alocações otimizadas, incluindo custos de deslocamento.resultado_agencias_otimo: Umtibblecom as agências e suas alocações otimizadas, incluindo custos fixos, custos de deslocamento, número de UCs alocadas e número de entrevistadores.ucs_agencias_todas(opcional): Umtibblecom todas as combinações de UCs e agências, incluindo distâncias, custos e informações sobre diárias (retornado apenas seresultado_completofor TRUE).otimizacao(opcional): O resultado completo da otimização (retornado apenas seresultado_completofor TRUE).