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

Se Steve Jobs Trabalhasse com Logística....

Li a biografia de Steve Jobs de Walter Isaacson (o livro de capa branca). Aproveitei as férias e devorei o livro. As vezes penso que Deus parou de fabricar gênios. Há quanto tempo não temos gerações de iluminados? Se lembrarmos dos impressionistas, que de uma só vez tivemos Renoir, Degas, Monet, Manet, e Humbrant, só pra citar alguns. Quantos músicos geniais na mesma época, como Mozart, Vivaldi, Beethoven e Bach? Platão definiu a Democracia perfeita antes se quer entendermos os déspostas (que ainda nos perseguem usando um falso populismo ao sul do Novo Mundo). Lembra de quem veio depois de Picasso ou Einstein? Também não lembro. Os historiadores estarão isentos de paixões e poderão ver o que nossas frustrações e emoções não permitem, assim darão à Steve Jobs uma cadeira mais para lá ou mais para cá, no reino dos gênios. Talvez em um patamar bastante inferior aos que citei, mas o fato é que ele foi um gênio. Não só pelo fato de ter reinventado o computador, a forma como nos...

Mudar porque está muito bom!

Interessante notar a reação da maioria das pessoas que conheço, com a mudança que fiz; falei com quase ninguém antes de decidir, escutei a opinião de menos ainda, e fui tão rápido que quando olharam de novo eu não estava no mesmo lugar. Quando me disseram "achei que você fosse se aposentar lá", tive certeza que minha decisão foi correta. Precisa-se de poucas razões boas para te fazer mudar; mas sempre temos muitas razões ruins para ficar. Não errei o texto e nem você entendeu errado, mesmo tendo boas e lógicas razões para sair, as poucas e fracas razões que eventualmente possamos ter para ficar, nos imobilizam. Ficar parado é a forma mais fácil de Decidir. Está errado? Não necessariamente. Errado é mudar para pior, mudar por mudar, ou mudar porque está difícil ou outras tantas razões que rimam com fuga. A melhor razão para mudar, é porque está tudo bem. Você sabia que a empresa americana Kodak inventou a máquina fotográfica digital, e decidiu não fabricá-la por...

Conceitos de Redes de Transportes

Centro de Distribuição; Milk-Run; Cross-Docking, Transit- Point e Merge-Docking 1. Introdução Só saber que Milk Run foi inventado para coletar leite nas fazendas, ou achar que cross-docking é um lugar que a carga passa rapidinho, não é legal para profissionais da área Então, objetivo desse artigo é trazer algumas definições de elementos de Redes de Transporte para o Transporte Rodoviário de Carga (TRC). Cross-docking não é um lugar, é um conceito. Conhecer os conceitos permite a aplicação correta, portanto buscar possibilidades de otimização da cadeia logística; ou seja, maior eficiência com maior ganho financeiro. No final do dia o resultado é o que importa. Esse artigo é uma revisão de um trabalho que fiz no LALT e publiquei na “Mundo Logística” e traz conceitos e aplicações de Cross-docking, Milk-run, Transit-point, e Merge-docking . Quais as possibilidades de fluxo e composição desses elementos na formação de redes de transporte? Embarcar a carga diretamente do fabricante ao...