Pular para o conteúdo principal

Machine Learning Possível e uma Aplicação viável à Alocação de Motoristas

Machine Learning (ML) não é um conceito novo, se hoje está intimamente relacionado à Inteligência Artificial (IA), não é dependente dela para existir, em outras palavras:

A IA torna-se viável via ML, e não o inverso

Pode-se dizer que seu conceito já vem sendo aplicado há tempos, onde basicamente tem-se um conjunto de ações coordenados por algoritmos de otimização. A ideia é, por meio do ML, os sistemas de computador aprendem a realizar tarefas como: classificação, agrupamento, predições, reconhecimento de padrões, etc.

Vamos falar um pouco do que tem sido falado (com inputs de Zotalis, et al).

Como em um aprendizado tradicional, os sistemas são treinados usando vários algoritmos e modelos estatísticos para analisar dados de amostra; então as informações obtidas durante a fase de treinamento são usadas para identificar padrões ou tomar decisões com base em novos dados.

Dependendo do estilo de aprendizagem, os algoritmos de ML podem ser agrupados em quatro categorias:

1.       Aprendizagem supervisionada

2.       Aprendizagem não supervisionada

3.       Aprendizagem semi-supervisionada: que é uma combinação das duas categorias anteriores.

4.       Aprendizagem por reforço, onde os algoritmos tentam prever a saída para um problema baseado em um conjunto de parâmetros de ajuste.

Ao usar técnicas de ML, há dois parâmetros principais a serem considerados: (1) intensidade computacional e (2) velocidade de uma determinada técnica. O mais apropriado depende do algoritmo de ML escolhido.

Se buscarmos algo muito novo e que mexe com o imaginário de todos e ainda mais para quem pesquisa e trabalha com Transportes e com IoT (Internet das Coisas), Machine Learning e Smart Transportation (ST) se compõem, completam e nos levam para o futuro do transporte de cargas e pessoas.

ST é um conceito bastante amplo que abrange a otimização de rotas, estacionamento, semáforos de rua e controle de tráfego, prevenção e detecção de acidentes, anomalias de estradas e aplicativos de infraestrutura, entre muitos outros.

Se pararmos para pensar em softwares e sistemas mais completos que utilizamos em nosso trabalho no campo da logística e mais especificamente em Transportes vamos notar que ITS é uma realidade, que está aí no TMS, softwares de roteirização, GPS e tracking por celular, rádio ou satélite conectados à uma Torre de Controle.... e por aí vai....

Mas como fazer acontecer, em tempos em uma vida mais que real, quando não temos o estado da arte em ITS, e tão pouco, supercomputadores e megas usuários que operam IA em nossas Torres de Controle?

O conceito de ML não necessariamente só se materializa com essa parafernália fascinante, vamos chegar lá, mas podemos ter nosso ‘próprio’ Machine learning conectando nossos softwares, ou ITS’s, em Torres de controle conectadas com a operação em tempo real.

ML também é usar e conectar de forma inteligente nossos recursos em um processo interativo, onde a própria operação ensina o Control Tower a melhorar a operação do dia seguinte, e assim cada dia mais eficaz até que a otimização ocorra em Tempo Real.

O ML possível e eficiente utiliza não só ITS prontos, pois não são otimizantes em si. Esses sistemas são como peças de lego que isoladas não significam nada, e muitas vezes, mesmo encaixadas não funcionarão como um ML, seria necessária uma interação intuitiva de um usuário ou operador da torre, que por mais experiente que fosse, não levaria a operação à condição ótima, muito menos para solução de problemas e incrementos de qualidade em tempo real.

Os algoritmos ou mesmo processos empíricos que tornam a solução continuamente mais efetiva, à medida que o mecanismo ‘aprende’ com a execução e erros cometidos. O processo evolui, e os erros tornam-se menos frequentes, até que o mecanismo de execução busca a solução ótima.

O que quero dizer aqui é que em processos simples ou complexos, que buscamos fazer melhor, não necessariamente temos que chorar sobre erros e ineficiências derramadas, se não possuímos uma Inteligência Artificial.

Mas como trazer isso tudo para a vida real, e solucionar um problema que vem tirando o sono da gente, desde que as águas foram divididas com não tão nova lei do motorista e fantástica greve dos carreteiros de 2018?

Não é pecado, e não deve ser vergonha, dizer que o antiquíssimo método de “tentativa e erro” é uma forma primária e simples de ML

ML também é um mecanismo de execução que se auto aprimora com a inserção de dados apreendidos

Utilizando o conceito de ML básico, composto dos elementos de ITS, como (lista longe de ser exaustiva):

TMS, softwares de roteirização, GPS e tracking por celular, rádio ou satélite, sistemas que se integram aos controles e alimentam um BI, softwares de controle e melhoria das funções do veículo, buscando reduzir custos de manutenção e combustível com o controle em tempo real do motorista, melhorando sua condução e tudo isso conectados à uma Torre de Controle

Mas voltando ao lego, ITS’s são peças. A questão é como otimizar o todo e não as respectivas partes correspondentes às peças?

Posso ter uma boa roteirização, maximizando o número de entregas e ‘estourar’ a jornada de trabalho do motorista? Tenho todos os relatórios de viagem em um lindo BI (Business Intelligence), consigo um OTD (on time deliver) dos sonhos e gasto uma enormidade de horas extras com motoristas? Mas dá pra piorar o problema:

Tenho um Control Tower com sistemas e pessoas eficientes, equipamentos de controle e caminhões de última geração, mas não consigo ter o caminhão rodando 24 x 7 sem descumprir a lei do motorista ou cumpri-la com um custo dessa mão de obra incompatível com os valores de frete de mercado.

O e-commerce trouxe de volta a necessidade da pontualidade ao extremo e minimização dos tempos de viagem, implicando em altíssima produtividade do veículo. O Operador vai ter ótimo faturamento se atender esses quesitos, porque há volume e frequência, mas a rentabilidade só virá se controlar os custos, e é fundamental minimizar o “custo” motorista.

De forma objetiva: motorista passou a ser um Asset tão importante quanto o caminhão

No passado, era bom o bastante fazer o caminhão rodar, a legislação era mais flexível, os salários tinham seu componente fixo mais baixo, o motorista queria rodar mais para ganhar mais com a parte variável de sua remuneração. A verdade é que ninguém prestava atenção ao motorista.

Otimizar era fazer o caminhão rodar, agora otimizar é fazer o caminhão não parar com o mínimo custo de motorista, ou seja

Eficiência e rentabilidade estão na otimização dos Assets Caminhão & Motorista

A questão que se apresenta é como construir um Machine Learning com os recursos disponíveis e acessíveis, e que dê um passo além, que nos permita alocar motoristas à caminhões, de modo a minimizar o custo e obedecer a legislação vigente, além de preservar a segurança da operação?

Como em muitas questões, a resposta está no enunciado: Utilização de Pesquisa Operacional.

Bom, antes, vale a pena de forma sumarizada e simples falar de Pesquisa Operacional (PO).

PO é uma ciência que busca resolver problemas concretos de decisão, normalmente uma disciplina desenvolvida por campos de engenharia e administração; não necessariamente ensejam modelagens e algoritmos complexos, mas devem manter seu princípio de uma modelagem matemática de apoio à decisão, dado um problema real e específico.

Com a ajuda do Prof. Dr. Rui Botter do CELIP/USP, vamos tentar colocar um pouco de luz ao problema de alocação de motoristas, com a abordagem de PO.

Um problema de alta complexidade bastante relevante nos estudos de PO é a alocação de força de trabalho e a programação de trabalhadores de modo a atender à demanda por recursos que variam ao longo do tempo, como por exemplo, alocação de operadores em telefonia, enfermeiras em hospitais, policiais e pessoas de transporte (tripulação de avião,motoristas de ônibus, etc.). Dentre estes problemas, destaca-se o problema da programação de tripulações (Crew scheduling problem).

       A etapa inicial da solução do problema consiste na coleta de dados das viagens realizadas, buscando: tempos e movimentos das frotas, quantidade de caminhões e motoristas ustilizados, distâncias percorridas, coletas e entregas realizadas no período de medição, ocupação dos caminhões e demais medições de produção do conjunto caminhão/motorista.

        Consequência disso numa segunda etapa é determinada a frota de caminhões para o atendimento da demanda ou denominada de alocação dos veículos que executarão as viagens.

       A terceira etapa deve determinar a alocação dos motoristas, tomando como base as viagens alocadas a cada veículo da frota em operação. Nesta etapa, se determina a quantidade necessária de motoristas e definindo, portanto, as jornadas diárias de trabalho.

        A etapa final do planejamento consiste em determinar as escalas diárias, semanais e mensais da tripulação, ou seja, como é feito o rodízio das tripulações.

A questão dinâmica a ser abordada nesse problema tem várias facetas e a principal delas é a mudança no perfil de viagens quando por exemplo o tempo das mesmas muda ou novas rotas são acrescentadas.

Os Objetivos e Condicionantes da alocação de motoristas, podem ser sumarizados com os seguintes elementos:

       Minimizar os custos  (com salários, adicionais,  quantidade de motoristas, de deslocamento de pessoal e bases de apoio)

       Delinear o posicionamento de bases de apoio onde motoristas farão a troca de turnos e os deslocamentos decorrentes

       Atender regras trabalhistas e operacionais (restrições).

       Cobrir todas as viagens previstas no período de tempo abrangido pela análise (diária, semanal ou mensal)

Muitas vezes os sistemas que abordam o problema de alocação de motoristas esbarram na falta de uma estrutura de dados e informações para que os resultados possam ser confiáveis e efetivamente utilizados pela empresa.

       Por exemplo, conhecer as rotas com precisão e os tempos de viagem e paradas é essencial, incluindo o acompanhamento em Real Time das mudanças. Uma chuva que atrasa as viagens deve ser “percebida” antecipadamente para ser inserida no sistema e ser refeita a troca de motorista de modo a atingir os objetivos.

Agradecendo ao Prof. Rui, vamos seguir daqui ...

Falamos que a resposta estava no enunciado da pergunta, então vamos lá:

Como construir um Machine Learning com os recursos disponíveis e acessíveis que dê um passo além, que nos permita alocar motoristas à caminhões, de modo a minimizar o custo e obedecer a legislação vigente, preservando a segurança da operação?

Resposta: Utilização de Pesquisa Operacional

Veja que temos a função Objetivo:

·         Minimizar o Custo de M.O (incluindo salários dos motoristas, diárias e hospedagem)

E temos as restrições:

·         Atender a legislação vigente

·         Cumprir os requisitos de segurança

·         Atender os prazos de coleta e entrega

·         Atender a demanda de viagens

Eu prometi que a resposta era simples e estava no anunciado, mas não me cobre que é fácil; estamos falando de um “algoritmo para solução de alocação dinâmica”.

Mas para que você não desista, aqui vão as boas notícias:

1.       Abundam Profissionais e Pesquisadores capazes de modelar o algoritmo e aplicar as técnicas para solucioná-los (por exemplo no CILIP tem).

2.       Os profissionais de logísticas conhecem com profundidade as peculiaridades do problema real, sendo capazes de suportar as pessoas que vão resolve-los, fornecendo os elementos da função objetivo e das restrições

3.       Os elementos de ITS (abordados neste texto) são suficientes e efetivos para fornecer os dados necessários para a resolução do problema

4.       A Torre de Controle pode incorporar o algoritmo e os profissionais que o resolveram podem sistematiza-los de forma a transformá-lo em um executável e ‘rodá-lo’ diariamente, se necessário.

5.       A Torre então coordena a operação, integra os elementos de ITS, gera os dados, alimenta o BI, que alimenta o algoritmo de PO, que nos permite executar a solução ótima de alocação de motoristas à frota.

6.       No dia seguinte, os dados da operação melhorada geram novos inputs para o executável do algoritmo que nos dá uma solução de alocação ainda melhor e mais aderente à operação.

CQD

Temos o nosso Machine Learning para Alocação de Motoristas à Frota de Caminhões

 

Que nosso 2021 seja com saúde, e sendo nós os primeiros e mais perfeitos Machines Learning, tenhamos aprendido com o difícil ano que passou, e as decisões que vamos tomar a cada dia do novo ano

Um abraço, e um obrigado ao Improvável Leitor

Douglas

Obrigado ao meu grande Amigo Marcius Braga pelo desafio, espero não tê-lo decepcionado

Fontes:

1.        O Problema da Alocação de Motoristas. Prof. Dr. Rui Botter. CILIP Escola Politécnica da USP, 2020

2.        A Review of Machine Learning and IoT in Smart Transportation. Fotios Zantalis, Grigorios Koulouras, Sotiris Karabetsos, Dionisis Kandris. MDPI, 2019

 


Comentários

  1. Hola Douglas.
    Interesantisimo articulo de machine learning.
    Claramente un must - have que debiesemos contemplar al analizar operaciones logisticas.
    Hoy en dia aplicando tecnicas de ML, podemos anticiparnos y ser proactivos a nuestros clientes, no solo por una cuestion de costos, sino que tambien enfocandose hacia una excelencia operativa.
    Esto implica un gran desafio de implementacion ya que deben estar bien identificados los datos stream y la complementacion de herramientas como IoT, TMS con sus algoritmos de ruteo y BigData.
    Comparto contigo una bibliografia que ha sumado muchisimo en esta tendencia. Introduction to Machine Learning with Python de Andreas C. Muller.
    Te dejo un abrazo.
    Sergio

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Um aspecto da logística ponta a ponta que poucos veem

Se pensarmos em uma verdadeira logística ponta a ponta, tem uma etapa que poucos conseguem ver. Vamos exemplificar com um caso clássico: o produto sai de uma fábrica em algum lugar da China para a sua casa em São Paulo. Claro, Logística totalmente integrada planejada e executada pela Maersk (#alltheway) De uma fábrica em uma cidade do interior da China, para um Centro de Consolidação e Distribuição (DC), container carregado vai para um depósito de containers (Depot), e então para o porto de Xangai, e aguarda o momento para ser carregado em um Navio para Itapoá em Santa Catarina/Brasil (baita incentivo fiscal que justifica o acréscimo de transporte), de lá vai para um Depot, aguarda o desembaraço, descarregado e vai ao piso, a carga então é consolidada (ainda no Depot), carrega em caminhão, aí pode ir direto ao DC em São Paulo, ou ao um retailer; ou ainda para um DC próximo ao porto, e então ao DC de um retailer, daí para um Cross-docking (ou um DC de passagem), e então para a sua casa.

A Logística das Formigas: Coisa de Gente Grande

Muitas vezes as pessoas, que trabalham com Transporte de Cargas, não acreditam em roteirizadores ou ferramentas de otimização, bem no fundo não acreditam. Todos conhecem e por ser politicamente correto dizem: “claro, sei..... muito bom, mas para garantir é melhor ter um cara bom para conferir e acertar as diferenças pra realidade”. Mais que conhecimento da ferramenta ou princípio, para o pessoal mais experiente, falta crença. Quando a ferramenta não funciona, ela não foi escolhida corretamente ou as premissas aplicadas (ou restrições) não foram modeladas adequadamente. Acredite, funciona (aprendi da pior forma: otimizaram minha rota!!!!). Se você tem alguns caminhões em rotas e motoristas fixos, o roteirizador ou algoritmos não melhoram sua vida; mas imagine centenas de caminhões em rotas variáveis em entregas e coletas (eu disse “e”, e não “ou”), o melhor “cara experiente” não resolve. Imagine agora um formigueiro, não tem um “cara” lá. As formigas saem do form

Tecnologia sem competência não vale nada

Tecnologia sem competência não vale nada.  A tecnologia acomodou as pessoas, complexou os processos e de tal forma massificou o básico, que ficou difícil fazer simples.  A tecnologia é a evolução da espécie humana, os avanços que a humanidade conseguiu  nas últimas 5 décadas é maior que toda a evolução até então em toda a história.   Os dois parágrafos anteriores não são contraditórios. A questão é que as pessoas que usam a tecnologia estão distantes da ciência que as desenvolveu; as pessoas buscam os benefícios das maravilhas modernas e não como usá-las bem, muito menos em aprender como.  Quando o cérebro era mais importante que o dedo que domina o botão, era preciso ter habilidades, esforço real e competência na arte de realizar. Era preciso pensar.    As melhores empresas são as que tem processos eficientes e pessoas eficazes para aplicação plena da tecnologia.  Tecnologia é meio e não fim. É investimento e não custo, simplificação e otimização do resultado, e nã