Os gêmeos digitais são usados para otimizar o projeto e a operação de sistemas complexos. Para otimizar o projeto do sistema, um gêmeo digital pode ser usado para selecionar o melhor entre dois ou mais projetos concorrentes, classificar esses projetos do melhor para o pior ou otimizar as configurações de parâmetros para maximizar o desempenho do sistema do projeto. Depois que o projeto do sistema é finalizado e os parâmetros do projeto são otimizados, o Digital Twin pode ser usado para tomar decisões inteligentes baseadas no estado para otimizar a operação diária do sistema. Na otimização do projeto, o sistema é configurado para operação por meio da seleção de equipamentos, processos, regras operacionais, níveis de pessoal e assim por diante. Na otimização das operações, são selecionadas as tarefas específicas a serem executadas, os recursos a serem usados e os materiais a serem realocados.
Durante a fase de projeto, é importante que o Gêmeo Digital capture a variabilidade dentro do sistema, como tempos de processamento variáveis ou interrupções aleatórias. A variabilidade tem um impacto enorme no desempenho do sistema e, se for ignorada, os resultados serão errados. Portanto, todos os experimentos e otimizações durante a fase de projeto devem incluir a variabilidade no sistema.
Ao usar um Digital Twin em um modo operacional para gerar um plano de curto prazo (por exemplo, um cronograma de produção), a variabilidade deve ser desativada e um plano determinístico deve ser gerado, o qual poderá ser regenerado quando ocorrer um evento não planejado ou quando o tempo de uma tarefa for substancialmente diferente do tempo esperado. Em geral, o plano determinístico será otimista e, cada vez que o sistema for reprogramado como resultado de eventos não planejados, o desempenho em relação ao planejado será prejudicado. No entanto, podemos avaliar o risco de cada plano realizando uma análise de risco que gera repetidamente o plano com a variabilidade habilitada para fornecer medidas de risco, como a probabilidade de pedidos específicos chegarem no prazo.
No Simio, usamos o termo execução de simulação para denotar uma execução do modelo com a variabilidade ativada. Portanto, durante a otimização do projeto, são feitas replicações de uma execução de simulação para capturar o impacto da variabilidade no desempenho do sistema. O termo execução de plano é usado para indicar uma única execução com a variabilidade e os eventos não planejados desativados. Como a variabilidade está desativada, não há necessidade de replicar execuções de plano ao gerar programações. No entanto, na otimização da operação, usamos execuções de simulação e replicações para analisar o risco associado à programação devido à variação aleatória e aos eventos não planejados.
Conforme discutido nas seções a seguir, o Simio tem muitos recursos incorporados para otimizar o projeto e a operação de sistemas complexos. No caso do projeto do sistema, é comum selecionar o melhor de um conjunto de projetos candidatos ou fazer uma pesquisa em um conjunto de parâmetros para otimizar o desempenho de um projeto selecionado. No caso da operação do sistema, é comum otimizar a operação do sistema para um projeto selecionado. Nas seções a seguir, descreveremos os recursos do Simio para realizar essas otimizações.
Em geral, o objetivo da criação de um modelo de simulação e, posteriormente, de um experimento para o modelo é avaliar vários cenários para o sistema. Em muitos aplicativos de design, foi definido um conjunto de opções de design, como o número de AMRs a serem implantados, o número de funcionários a serem contratados para cada conjunto de habilidades, o número de racks de armazenamento ou o espaço de buffer entre as máquinas. Essas opções são chamadas de propriedades do modelo. Cada atribuição de valores a essas propriedades representa um cenário para avaliação.
Os experimentos são usados para definir um conjunto de cenários a serem executados usando o modelo. Eles são executados em modo de lote com variações aleatórias ativadas. Normalmente, isso é feito (depois que um modelo é validado) para realizar execuções de simulação que comparam um ou mais projetos candidatos para o sistema. Cada cenário tem um conjunto de propriedades, como o tamanho de cada buffer de entrada, bem como KPIs especificados como respostas de saída, como o rendimento do sistema ou os tempos de espera do buffer. As variáveis de controle são os valores atribuídos às propriedades do modelo associado. Como a maioria dos modelos contém componentes aleatórios, como distribuições de tempo de serviço ou falhas aleatórias, são necessárias replicações de um determinado cenário para permitir o cálculo de intervalos de confiança nos resultados da resposta. A Figura 1 abaixo mostra um exemplo de experimento com seis cenários, cada um com duas propriedades e duas respostas.
Figura 1: Resultados típicos de experimentos
Ao executar um experimento, cada cenário é replicado um número especificado de vezes. O número de replicações a serem feitas é uma consideração importante, pois cada replicação produz resultados diferentes com base na variação aleatória. Como resultado, os cenários devem ser comparados usando métodos estatísticos. Uma estatística comum é um intervalo de confiança que afirma que um determinado KPI ficará entre um valor superior e inferior com uma confiança especificada (por exemplo, 0,95), À medida que o número de replicações de cada cenário aumenta, o tamanho dos intervalos de confiança é reduzido e, portanto, é possível fazer afirmações mais fortes sobre os resultados.
O Simio tem várias ferramentas integradas para ajudar a analisar os sistemas durante a fase de projeto. Um dos recursos mais importantes é o gráfico SMORE, baseado no trabalho do professor Barry L. Nelson, da Northwestern University, que representa graficamente a média, o intervalo de confiança para a média, os valores de percentil superior e inferior e o intervalo de cada variável de resposta. A Figura 2 abaixo mostra um exemplo de um gráfico SMORE no Simio.
Figura 2: Gráficos SMORE comparando execuções de experimentos
O gráfico SMORE permite a comparação visual de KPIs para vários cenários, incorporando os intervalos de confiança associados, que são bastante úteis para determinar o número de replicações a serem executadas e fazer um primeiro corte na seleção de cenários potencialmente bons. No entanto, para selecionar o melhor cenário, precisamos de uma ferramenta que use uma maneira estatisticamente válida para selecionar o melhor.
Em muitos aplicativos, há um conjunto de cenários que representam os projetos candidatos, e o objetivo é selecionar o melhor a ser implementado no futuro com base em um ou mais KPIs. Portanto, é extremamente importante escolher com precisão a(s) melhor(es) alternativa(s) para o sistema que está sendo estudado.
Uma técnica de comparação simples é registrar e classificar os cenários com base no KPI médio registrado e, em seguida, simplesmente selecionar o KPI mais alto/baixo. No entanto, esse método intuitivo, mas inexato, sem considerar a variabilidade do sistema, pode não produzir a escolha ideal, pois alguns cenários podem parecer melhores ou piores com base em variações aleatórias dentro do conjunto de cenários replicados. Esse erro seria revelado por replicações adicionais de cada cenário e por uma análise mais detalhada.
Nas últimas décadas, houve um esforço considerável de pesquisa para desenvolver e automatizar procedimentos de classificação e seleção estatisticamente válidos, sendo que uma parte significativa desse esforço foi realizada por Barry L. Nelson, da Northwestern University. O Dr. Nelson desenvolveu uma série de algoritmos que agrupam os valores de resposta de KPI em subgrupos "Possivelmente melhores" e "Rejeitados" dentro de cada resposta. O grupo "Possible Best" (Melhor possível) consistirá em cenários que não podem ser estatisticamente diferentes uns dos outros, mas que podem ser estatisticamente melhores do que todos os cenários do grupo "Rejects" (Rejeitados). Esse processo é chamado de Subset Selection (Seleção de subconjunto ) e geralmente é feito como uma fase inicial de análise para criar um conjunto de projetos de sistema "interessantes" a serem considerados posteriormente.
O Simio incorpora o algoritmo Nelson's Subset Selection para automatizar esse processo de agrupamento de projetos em "Possíveis melhores" e "Rejeitados". Para indicar o que constitui "Melhor", o usuário define o KPI a ser usado como um objetivo na janela Propriedades de resposta, para maximizar ou minimizar. O objetivo Maximizar agrupará os valores que são estatisticamente maiores que o grupo de rejeições e, inversamente, o objetivo Minimizar agrupará os menores valores de resposta.
Ao executar o algoritmo de seleção de subconjunto na janela Experimento do Simio, as células em uma coluna Resposta serão destacadas em amarelo se forem "Rejeitadas", deixando os cenários "Possivelmente melhores" em marrom. Um cenário pode ter uma célula em uma coluna considerada "Melhor possível" e, ao mesmo tempo, "Rejeita" para outra resposta. Um exemplo da opção Subset Selection é mostrado na Figura 3 abaixo.
Figura 3: Análise de seleção de subconjunto
O Simio também oferece um algoritmo Select the Best que executa automaticamente replicações de simulação adicionais, conforme necessário, para selecionar o melhor de um subconjunto de candidatos "interessantes". Esse algoritmo é normalmente executado como uma segunda fase após o conjunto de cenários ter sido reduzido a um conjunto de candidatos usando a seleção de subconjuntos e talvez outros fatores externos, como custo ou tempo de construção. O Simio implementa o procedimento desenvolvido por Seong-Hee Kim e Barry L. Nelson para selecionar o melhor cenário. O algoritmo decide quais cenários devem ser executados e quantas replicações de cada cenário são necessárias para selecionar o melhor. Ele usa um conjunto inicial de cenários e executa replicações adicionais até ter certeza de que um determinado cenário é o "melhor" ou está dentro de um intervalo especificado do melhor (chamado de zona de indiferença). Ele desmarcará todos os cenários, exceto o melhor. Durante a execução, ele "expulsa" os cenários que não são candidatos ao melhor, e nenhuma outra replicação será realizada nesses cenários. Esse algoritmo é chamado de Select Best Scenario Using KN (Selecionar o melhor cenário usando KN) na experimentação do Simio.
O Simio também oferece uma segunda versão do algoritmo de Kim-Nelson, criada por Sijia Ma como parte de seu trabalho de doutorado com o professor Shane G. Henderson na Universidade de Cornell, que pode melhorar o desempenho na criação de modelos de grande escala que exigem a avaliação de muitos cenários em um ambiente de processamento paralelo. Esse algoritmo é chamado de Select Best Scenario Using GSP (Selecionar o melhor cenário usando GSP) no experimento Simio, em que GSP significa Good Selection Procedure (Procedimento de boa seleção), conforme mostrado na Figura 4 abaixo.
Figura 4: Opções para selecionar o melhor cenário
Os modelos de simulação são normalmente usados no contexto de um processo de tomada de decisão, avaliando diferentes possibilidades para os controles do modelo e como essas possibilidades afetam o sistema. Os usuários podem criar experimentos manualmente, inserir valores de entrada e executar várias replicações para retornar os valores estimados de KPIs e seus intervalos de confiança correspondentes. Isso pode ser feito variando várias combinações diferentes de valores de entrada, o que acaba levando a uma solução ideal. Esse método funciona bem para modelos simples, mas é fácil perceber que ele pode se tornar bastante tedioso à medida que a complexidade aumenta.
O OptQuest ajuda a eliminar parte do tédio ao buscar automaticamente a solução ideal. As propriedades de controle do modelo de simulação e as respostas de KPI são definidas, juntamente com os parâmetros do OptQuest, e o OptQuest procura os valores de controle viáveis para maximizar ou minimizar o objetivo, como maximizar o lucro ou minimizar o custo. O OptQuest define automaticamente os valores de propriedade, inicia as replicações e destaca os resultados.
O OptQuest utiliza métodos de pesquisa inteligentes e incorpora algoritmos de otimização personalizados juntamente com o poder de modelagem do Simio. Em vez de usar algoritmos para otimizar um conjunto de equações matemáticas, ele os utiliza para otimizar um conjunto de interações de processos estocásticos.
Depois que o problema é descrito, definindo as propriedades de controle, o objetivo e as restrições, o OptQuest pode começar a executar cenários. Após o primeiro cenário, o OptQuest avalia as respostas do cenário, analisa e, em seguida, determina os valores a serem considerados no próximo cenário. Após a execução do segundo cenário, ele analisa novamente a resposta dada pelo Simio, compara-a com a resposta anterior do cenário anterior e, mais uma vez, determina novos valores a serem avaliados pelo Simio. Esse processo de obtenção de resultados e comparação com valores objetivos anteriores se repete até que o OptQuest atenda a um de seus critérios de encerramento, seja após atingir o número máximo de iterações ou após o OptQuest ter determinado que o valor objetivo parou de melhorar.
O OptQuest também suporta a otimização com base em mais de uma resposta usando uma técnica chamada Otimização ponderada multiobjetivo. O OptQuest multiplica cada objetivo por um peso especificado, nega-o se for um objeto Minimizar, soma os dois e maximiza o resultado. Uma tela de exemplo de onde selecionar e atualizar os parâmetros do OptQuest, incluindo um conjunto de resultados de exemplo, é mostrada na Figura 5 abaixo.
Figura 5: OptQuest Otimização ponderada multiobjetivo
Como alternativa, o OptQuest pode encontrar um conjunto ideal de soluções com base em vários objetivos usando uma abordagem Pattern Frontier, que busca soluções que estejam na "fronteira" do espaço de otimização. Por exemplo, a seguir há um gráfico dos resultados da otimização Pattern Frontier com duas respostas, custo e tempo de entrega. Os cenários que se encontram ao longo da fronteira ideal do espaço de solução são mostrados em verde no gráfico do Pattern Frontier e representam um cenário ideal que atinge um equilíbrio diferente entre os objetivos concorrentes.
Figura 6: Exemplo de gráfico de padrão de fronteira
Uma das principais vantagens de um processo Digital Twin é que o mesmo modelo usado para otimizar o projeto também pode otimizar as operações diárias do sistema, criando planos determinísticos inteligentes a serem executados no sistema real. O Simio emprega uma abordagem de otimização baseada em estado para criar dinamicamente um plano otimizado que respeita totalmente as restrições de recursos, materiais e lógicas do sistema à medida que elas evoluem ao longo do tempo e são capturadas pelo Digital Twin. Como o Digital Twin captura essas restrições reais do sistema, o plano otimizado é totalmente acionável no sistema real. Cada decisão no sistema é otimizada com base no estado atual do sistema. Por outro lado, os sistemas legados não capturam as restrições detalhadas e usam uma medida aproximada da capacidade em intervalos de tempo fixos, por exemplo, semanalmente. Em seguida, eles empregam um solucionador heurístico para procurar uma boa solução viável para essa representação simplificada do sistema. Embora os sistemas legados apresentem sua solução como ótima, sua aproximação aproximada da capacidade e do tempo produz resultados que não são acionáveis no sistema real e, como resultado, estão desalinhados com a programação de produção real. Em contrapartida, a abordagem de otimização baseada no estado do sistema do Simio captura todas as restrições críticas ao longo de um horizonte de tempo real e produz um plano que é totalmente acionável sem intervenção humana.
A chave para o plano produzido pela abordagem de otimização baseada no estado é a qualidade da lógica de decisão incorporada no Simio Digital Twin para tomar decisões como qual trabalho deve ser feito em seguida e quais recursos devem ser atribuídos a cada trabalho. Em fábricas típicas, essas decisões geralmente são tomadas com o uso de regras de despacho, como o menor tempo de processamento, a primeira data de vencimento, a menor troca ou a proporção crítica. A regra de razão crítica, que é a razão entre o tempo restante até a data de vencimento dividido pelo tempo de processamento restante esperado para concluir o trabalho, tem se mostrado particularmente eficaz na otimização da entrega no prazo. Em alguns casos, são empregadas regras compostas que combinam duas ou mais regras para reduzir simultaneamente as trocas e minimizar o atraso. Muitas ferramentas de programação de capacidade finita empregam várias regras de expedição para criar uma programação detalhada para a fábrica.
Embora essas regras de despacho possam gerar programações eficazes, uma estratégia mais avançada envolve a utilização dos recursos de rede neural do Simio para aproveitar o modelo de estado detalhado do Digital Twin. Esses recursos permitem o treinamento e o fornecimento de entradas para as redes neurais, aprimorando a tomada de decisões inteligentes. Com o Simio, as regras de despacho padrão e a lógica de decisão de modelos complexos podem ser substituídas por redes neurais autotreinadas. As redes neurais fornecem uma lógica de decisão complexa no modelo e, em troca, o modelo gera os dados sintéticos necessários para treinar as redes neurais, o que permite a simplificação da lógica de decisão do modelo, facilitando a criação, o entendimento, a depuração e a manutenção dos modelos. O Simio também oferece algoritmos de treinamento integrados para o treinamento de redes neurais usando dados sintéticos gerados por um modelo. Portanto, o Simio oferece uma solução completa para a incorporação de redes neurais em modelos de gêmeos digitais de processos.
Os recursos de IA do Simio são particularmente úteis em aplicações de gêmeos digitais de planejamento de produção, em que a rede neural pode ser treinada para prever KPIs críticos, como o lead time de produção que muda dinamicamente para uma fábrica ou linha de produção dentro de uma fábrica. A rede neural aprende o impacto de trocas, recursos secundários, regras de negócios e outras complexidades de produção que afetam a previsão dos KPIs. O gêmeo digital inteligente pode capturar relações complexas que, de outra forma, seriam impossíveis de incluir em um modelo. As previsões de KPIs da rede neural podem ser usadas para otimizar melhor as decisões, tanto na fábrica quanto na cadeia de suprimentos. Na cadeia de suprimentos, a rede neural pode ser usada para a decisão crítica de fornecimento de fornecedores, prevendo o tempo de produção de cada fornecedor candidato e selecionando o produtor de menor custo que pode concluir o pedido no prazo. O fornecimento de fábrica baseado em IA na cadeia de suprimentos do Digital Twin elimina a necessidade de um software de programação mestre de produção.
Os recursos de IA integrados do Simio oferecem suporte à definição, ao treinamento e ao uso da rede neural clássica de regressão feed forward. No entanto, qualquer modelo de regressão de aprendizado de máquina de mais de 50 terceiros, incluindo Google e Microsoft, que ofereça suporte ao formato de troca de modelos ONNX, pode ser importado e usado no Simio. Os modelos podem ser criados e treinados nessas ferramentas de terceiros e, em seguida, importados para o Simio para criar soluções avançadas de otimização orientadas por IA.
O plano determinístico gerado pelo Simio Digital Twin também pode ser mais refinado por meio da experimentação de decisões alternativas dentro do plano. Essa experimentação pode ser feita sequencialmente, analisando os KPIs de um plano específico, ou em paralelo, explorando vários núcleos para explorar muitos planos alternativos ao mesmo tempo.
O refinamento sequencial de um plano pode ser implementado usando o recurso multi-pass do Simio, que permite que um plano seja regenerado várias vezes em uma única execução, enquanto ajusta os parâmetros de entrada para cada plano com base nos resultados do plano anterior. Por exemplo, se um determinado trabalho estiver atrasado, a próxima iteração do plano pode alterar a prioridade do trabalho ou enviar o trabalho para uma instalação de produção alternativa. Esse processo pode ser repetido conforme necessário para refinar o plano gerado pelo Digital Twin. A experimentação sequencial ou paralela de planos também pode ser implementada com a execução do Simio no modo "headless", em que ele é chamado por uma linguagem de script, como Python, para gerar planos específicos. Essa abordagem é particularmente útil para explorar automaticamente diferentes planos em paralelo usando plataformas de nuvem com vários núcleos.
Os gêmeos digitais do Simio Intelligent Process podem ser utilizados para otimizar o projeto e a operação de sistemas complexos. Para aplicações de projeto, o Simio fornece métodos estatísticos avançados para analisar a variação a fim de otimizar o projeto do sistema. O mesmo gêmeo digital pode ser usado para otimizar as operações diárias do sistema usando uma abordagem de otimização baseada em estado que aproveita as regras de despacho, as redes neurais e a experimentação de planos para otimizar o desempenho do sistema.