{"id":1417,"date":"2026-10-23T13:14:30","date_gmt":"2026-10-23T16:14:30","guid":{"rendered":"https:\/\/linearsm.com.br\/?p=1417"},"modified":"2026-10-23T13:19:14","modified_gmt":"2026-10-23T16:19:14","slug":"onde-projetos-de-otimizacao-realmente-falham-solver-nao-e-estrategia","status":"publish","type":"post","link":"https:\/\/linearsm.com.br\/en\/onde-projetos-de-otimizacao-realmente-falham-solver-nao-e-estrategia\/","title":{"rendered":"Onde projetos de otimiza\u00e7\u00e3o realmente falham: solver n\u00e3o \u00e9 estrat\u00e9gia"},"content":{"rendered":"<p>Um projeto de otimiza\u00e7\u00e3o entra em opera\u00e7\u00e3o e, alguns meses depois, os planejadores continuam fechando o plano na planilha. Quando algu\u00e9m pergunta o que deu errado, uma das primeiras respostas costuma ser t\u00e9cnica: o modelo demora para rodar, o servidor \u00e9 fraco, talvez seja hora de um solver mais potente ou de mais capacidade na nuvem.<\/p>\n\n\n\n<p>\u00c0s vezes \u00e9 isso. Com frequ\u00eancia, n\u00e3o \u00e9. Os <strong>projetos de otimiza\u00e7\u00e3o<\/strong> que n\u00e3o geram resultado raramente falham no c\u00e1lculo. Falham antes dele, nos dados e na formula\u00e7\u00e3o do problema, ou depois dele, quando o plano precisa virar decis\u00e3o e ser adotado por quem opera. Comprar mais processamento acelera a parte que j\u00e1 funcionava.<\/p>\n\n\n\n<p>Este artigo percorre as cinco camadas de um projeto de otimiza\u00e7\u00e3o (dado, modelo, solver, decis\u00e3o e ado\u00e7\u00e3o), mostra onde cada uma costuma falhar e ajuda a identificar quando mais capacidade de c\u00e1lculo de fato resolve.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"solver-deixou-de-ser-diferencial\">Projetos de otimiza\u00e7\u00e3o: o solver deixou de ser o diferencial<\/h2>\n\n\n\n<p>O solver \u00e9 o algoritmo que procura a melhor solu\u00e7\u00e3o para o problema descrito pelo modelo matem\u00e1tico: quanto produzir em cada f\u00e1brica, de onde abastecer cada cliente, o que colocar em cada carga. \u00c9 a pe\u00e7a mais t\u00e9cnica do projeto e, por isso, a que mais chama aten\u00e7\u00e3o.<\/p>\n\n\n\n<p>Nas \u00faltimas duas d\u00e9cadas, essa pe\u00e7a evoluiu muito. Um estudo publicado em 2022 no <em>EURO Journal on Computational Optimization<\/em> comparou solvers do in\u00edcio dos anos 2000 com vers\u00f5es recentes. Entre 2001 e 2020, a resolu\u00e7\u00e3o de problemas de programa\u00e7\u00e3o inteira mista ficou cerca de mil vezes mais r\u00e1pida: aproximadamente 20 vezes por causa do hardware e 50 vezes por causa dos algoritmos (<a href=\"https:\/\/doi.org\/10.1016\/j.ejco.2022.100031\" target=\"_blank\" rel=\"noopener noreferrer\">Koch et al., 2022<\/a>). Os autores ressaltam que o ganho varia muito de um problema para outro.<\/p>\n\n\n\n<p>O acesso tamb\u00e9m ficou mais f\u00e1cil. Al\u00e9m dos solvers comerciais, h\u00e1 solvers de c\u00f3digo aberto competentes, como o HiGHS, distribu\u00eddo gratuitamente sob licen\u00e7a MIT (<a href=\"https:\/\/highs.dev\/\" target=\"_blank\" rel=\"noopener noreferrer\">HiGHS<\/a>) e usado pela fun\u00e7\u00e3o de otimiza\u00e7\u00e3o inteira mista da SciPy, biblioteca cient\u00edfica do Python (<a href=\"https:\/\/docs.scipy.org\/doc\/scipy\/reference\/generated\/scipy.optimize.milp.html\" target=\"_blank\" rel=\"noopener noreferrer\">SciPy<\/a>). E capacidade de processamento pode ser contratada por hora na nuvem.<\/p>\n\n\n\n<p>A consequ\u00eancia \u00e9 direta. Quando a mesma ferramenta est\u00e1 ao alcance de qualquer empresa, n\u00e3o \u00e9 ela que explica por que um projeto gera resultado e outro n\u00e3o. O que diferencia o resultado est\u00e1 nas camadas ao redor do solver.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"cinco-camadas\">As cinco camadas de um projeto de otimiza\u00e7\u00e3o<\/h2>\n\n\n\n<p>Um projeto de otimiza\u00e7\u00e3o pode ser lido como uma cadeia de cinco camadas. Cada uma depende da anterior, e um erro em qualquer uma delas chega intacto ao resultado, por mais r\u00e1pido que seja o c\u00e1lculo.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>Camada<\/th><th>Pergunta que responde<\/th><th>Falha t\u00edpica<\/th><th>Mais processamento ajuda?<\/th><\/tr><\/thead><tbody><tr><td><strong>Dado<\/strong><\/td><td>O que sabemos sobre a opera\u00e7\u00e3o?<\/td><td>Capacidades, custos e demanda que n\u00e3o refletem a opera\u00e7\u00e3o atual<\/td><td>N\u00e3o: processa o dado errado mais r\u00e1pido<\/td><\/tr><tr><td><strong>Modelo<\/strong><\/td><td>Que problema estamos resolvendo?<\/td><td>Objetivo herdado, restri\u00e7\u00e3o esquecida, n\u00edvel de detalhe inadequado<\/td><td>N\u00e3o, e pode estimular modelos maiores que o necess\u00e1rio<\/td><\/tr><tr><td><strong>Solver<\/strong><\/td><td>Qual \u00e9 a melhor solu\u00e7\u00e3o para o problema descrito?<\/td><td>Tempo de resposta incompat\u00edvel com a decis\u00e3o<\/td><td>Sim, quando esta \u00e9 de fato a camada limitante<\/td><\/tr><tr><td><strong>Decis\u00e3o<\/strong><\/td><td>O plano chega a quem decide, a tempo e no formato certo?<\/td><td>Resultado entregue depois da reuni\u00e3o, ou sem alternativas compar\u00e1veis<\/td><td>Pouco: gera cen\u00e1rios mais r\u00e1pido, mas n\u00e3o os encaixa no processo<\/td><\/tr><tr><td><strong>Ado\u00e7\u00e3o<\/strong><\/td><td>A opera\u00e7\u00e3o usa o plano?<\/td><td>Planilha paralela, desconfian\u00e7a, modelo sem respons\u00e1vel<\/td><td>N\u00e3o<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\"><br>As cinco camadas de um projeto de otimiza\u00e7\u00e3o e onde mais processamento ajuda.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"camada-dado\">1. Dado: o modelo s\u00f3 enxerga o que os dados mostram<\/h3>\n\n\n\n<p>Um modelo de otimiza\u00e7\u00e3o n\u00e3o observa a opera\u00e7\u00e3o diretamente. Ele a enxerga pelos n\u00fameros que recebe, e tr\u00eas distor\u00e7\u00f5es s\u00e3o comuns.<\/p>\n\n\n\n<p><strong>Capacidade nominal no lugar da capacidade real.<\/strong> O cadastro informa o que a linha produz em condi\u00e7\u00f5es ideais. A opera\u00e7\u00e3o conhece paradas, trocas e rendimentos que reduzem esse n\u00famero semana ap\u00f3s semana.<\/p>\n\n\n\n<p><strong>Custo m\u00e9dio no lugar do custo que muda com a decis\u00e3o.<\/strong> O custo cont\u00e1bil por unidade inclui parcelas fixas que n\u00e3o mudam quando o plano muda. Um modelo que usa o custo m\u00e9dio para decidir onde produzir pode tratar como economia algo que n\u00e3o reduz nenhuma despesa.<\/p>\n\n\n\n<p><strong>Venda registrada no lugar da demanda.<\/strong> O hist\u00f3rico mostra o que foi faturado, n\u00e3o o que os clientes quiseram comprar. Quando houve ruptura, a demanda real ficou acima do registro, e um modelo alimentado s\u00f3 pelo faturamento tende a repetir a falta. Discutimos o custo desse tipo de erro em <a href=\"\/en\/URL_PREVISAO_DE_DEMANDA\/\">Previs\u00e3o de demanda: o custo de errar antes de aparecer no resultado<\/a>.<\/p>\n\n\n\n<p>Nenhuma dessas distor\u00e7\u00f5es \u00e9 resolvida por um computador mais r\u00e1pido. Ele apenas processa o dado errado em menos tempo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"camada-modelo\">2. Modelo: o solver resolve o problema que recebeu, n\u00e3o o que a empresa tem<\/h3>\n\n\n\n<p>O modelo traduz a opera\u00e7\u00e3o em linguagem matem\u00e1tica: um objetivo, as decis\u00f5es poss\u00edveis, as restri\u00e7\u00f5es e os par\u00e2metros. O solver n\u00e3o questiona essa tradu\u00e7\u00e3o. J\u00e1 mostramos aqui no blog como uma restri\u00e7\u00e3o esquecida, um custo mal atribu\u00eddo ou uma regra informal n\u00e3o capturada levam a planos que a opera\u00e7\u00e3o rejeita (<a href=\"\/en\/URL_O_MODELO_PRECISA_CONHECER_A_OPERACAO\/\">O modelo precisa conhecer a opera\u00e7\u00e3o<\/a>). Duas outras escolhas de modelagem pesam tanto quanto essas.<\/p>\n\n\n\n<p><strong>O objetivo.<\/strong> Minimizar custo, maximizar margem e proteger o n\u00edvel de servi\u00e7o de clientes estrat\u00e9gicos levam a planos diferentes. Quando o objetivo \u00e9 definido pela equipe t\u00e9cnica, sem uma decis\u00e3o expl\u00edcita da diretoria, o modelo pode otimizar com precis\u00e3o algo que a empresa n\u00e3o priorizaria.<\/p>\n\n\n\n<p><strong>O n\u00edvel de detalhe.<\/strong> Agregar demais esconde restri\u00e7\u00f5es que importam. Detalhar demais cria um modelo dif\u00edcil de alimentar, de manter e de explicar. Aqui, mais capacidade de processamento pode at\u00e9 atrapalhar: quando o c\u00e1lculo deixa de ser limite, cresce a tenta\u00e7\u00e3o de incluir tudo, e o modelo passa a exigir dados que ningu\u00e9m mant\u00e9m atualizados.<\/p>\n\n\n\n<p>O crit\u00e9rio \u00fatil n\u00e3o \u00e9 o maior modelo que o computador consegue resolver. \u00c9 o menor modelo que representa as decis\u00f5es e as restri\u00e7\u00f5es que mudam o resultado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"camada-solver\">3. Solver: quando o tempo de c\u00e1lculo \u00e9, de fato, o problema<\/h3>\n\n\n\n<p>H\u00e1 situa\u00e7\u00f5es em que a capacidade de c\u00e1lculo \u00e9 o limite real. Replanejar a distribui\u00e7\u00e3o v\u00e1rias vezes ao dia, comparar dezenas de cen\u00e1rios antes de uma reuni\u00e3o de S&amp;OP ou resolver uma rede com milhares de clientes e produtos s\u00e3o casos em que o tempo de resposta determina se o modelo ser\u00e1 usado.<\/p>\n\n\n\n<p>Mesmo nesses casos, a primeira pergunta n\u00e3o \u00e9 qual servidor comprar. Durante a busca, os solvers de otimiza\u00e7\u00e3o inteira mista informam o <strong>gap de otimalidade<\/strong>: a dist\u00e2ncia m\u00e1xima entre a melhor solu\u00e7\u00e3o encontrada e a solu\u00e7\u00e3o \u00f3tima. Uma solu\u00e7\u00e3o comprovadamente a menos de 1% do \u00f3timo, entregue em cinco minutos, costuma ser mais \u00fatil do que a solu\u00e7\u00e3o \u00f3tima entregue depois que a decis\u00e3o foi tomada. Definir esse crit\u00e9rio \u00e9 uma decis\u00e3o de neg\u00f3cio, n\u00e3o uma configura\u00e7\u00e3o t\u00e9cnica.<\/p>\n\n\n\n<p>A formula\u00e7\u00e3o tamb\u00e9m pesa. O estudo citado acima mostra que, em vinte anos, os algoritmos contribu\u00edram mais para a velocidade do que o hardware. Dentro de um projeto, vale algo parecido: a forma como o problema \u00e9 escrito, ou dividido em etapas, costuma influenciar o tempo de solu\u00e7\u00e3o tanto quanto a m\u00e1quina que o resolve.<\/p>\n\n\n\n<p>Mais processamento resolve quando as camadas de dado e de modelo est\u00e3o corretas e o tempo de resposta \u00e9 o que impede a decis\u00e3o. Fora dessa condi\u00e7\u00e3o, ele acelera uma resposta que n\u00e3o deveria ser usada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"camada-decisao\">4. Decis\u00e3o: o plano precisa chegar a quem decide, a tempo<\/h3>\n\n\n\n<p>Um plano \u00f3timo entregue depois da reuni\u00e3o de decis\u00e3o n\u00e3o tem valor. Um arquivo com dezenas de milhares de linhas tamb\u00e9m n\u00e3o ajuda quem precisa escolher entre duas alternativas em meia hora.<\/p>\n\n\n\n<p>Essa camada costuma ficar fora do escopo t\u00e9cnico, e \u00e9 nela que muitos projetos perdem impacto. As perguntas s\u00e3o de processo: quem decide, em que f\u00f3rum, com que frequ\u00eancia e comparando quais alternativas. O resultado do modelo precisa chegar nesse momento e nesse formato: poucos cen\u00e1rios, com as diferen\u00e7as de custo, n\u00edvel de servi\u00e7o, estoque e risco explicadas em termos de neg\u00f3cio.<\/p>\n\n\n\n<p>\u00c9 tamb\u00e9m nesta camada que a velocidade do solver ganha valor: permite comparar cen\u00e1rios antes da reuni\u00e3o, e n\u00e3o depois dela. Mas a velocidade s\u00f3 serve se o processo de decis\u00e3o j\u00e1 prev\u00ea esse uso. Como mostramos em <a href=\"\/en\/URL_SOP\/\">S&amp;OP: por que a causa da ruptura nunca est\u00e1 na reuni\u00e3o<\/a>, o f\u00f3rum s\u00f3 funciona quando o plano chega a ele j\u00e1 testado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"camada-adocao\">5. Ado\u00e7\u00e3o: um plano que ningu\u00e9m usa n\u00e3o gera resultado<\/h3>\n\n\n\n<p>Em 1970, John Little, professor do MIT, abriu um artigo na revista <em>Management Science<\/em> com uma observa\u00e7\u00e3o que continua atual: um modelo pode ajudar o gestor, mas provavelmente n\u00e3o vai ajudar se n\u00e3o atender a certos requisitos (<a href=\"https:\/\/doi.org\/10.1287\/mnsc.16.8.B466\" target=\"_blank\" rel=\"noopener noreferrer\">Little, 1970<\/a>). Entre eles, ser simples, robusto, f\u00e1cil de controlar e f\u00e1cil de se comunicar com quem decide.<\/p>\n\n\n\n<p>Mais de cinquenta anos depois, os sinais de baixa ado\u00e7\u00e3o s\u00e3o conhecidos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>os planejadores recebem o plano do modelo e o refazem na planilha;<\/li>\n\n\n\n<li>ningu\u00e9m consegue explicar por que o modelo recomendou uma alternativa;<\/li>\n\n\n\n<li>as corre\u00e7\u00f5es manuais n\u00e3o s\u00e3o registradas, e o modelo n\u00e3o aprende com elas;<\/li>\n\n\n\n<li>o modelo n\u00e3o tem um respons\u00e1vel e deixa de acompanhar as mudan\u00e7as da opera\u00e7\u00e3o.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>Ado\u00e7\u00e3o n\u00e3o se resolve com um treinamento no fim do projeto. Ela \u00e9 constru\u00edda ao longo dele: com planejadores participando da valida\u00e7\u00e3o, com resultados que podem ser explicados e com um processo claro para atualizar o modelo quando a opera\u00e7\u00e3o muda.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"por-que-processamento-tenta\">Por que \u201ccomprar mais processamento\u201d \u00e9 a resposta mais tentadora<\/h2>\n\n\n\n<p>Se o gargalo raramente est\u00e1 no c\u00e1lculo, por que a resposta t\u00e9cnica aparece t\u00e3o cedo? Porque ela \u00e9 a mais f\u00e1cil de executar. Processamento \u00e9 compr\u00e1vel, mensur\u00e1vel e deleg\u00e1vel: tem fornecedor, pre\u00e7o e prazo. As outras camadas exigem coisas mais dif\u00edceis: tempo de quem conhece a opera\u00e7\u00e3o, uma decis\u00e3o da diretoria sobre o que otimizar, mudan\u00e7as no calend\u00e1rio de decis\u00f5es e disposi\u00e7\u00e3o para revisar pr\u00e1ticas.<\/p>\n\n\n\n<p>Para quem lidera transforma\u00e7\u00e3o digital, essa diferen\u00e7a importa. Um investimento em infraestrutura \u00e9 f\u00e1cil de aprovar e de reportar ao board. Se o problema estava em outra camada, por\u00e9m, o investimento n\u00e3o muda o resultado, e a otimiza\u00e7\u00e3o perde credibilidade dentro da empresa, como se a tecnologia n\u00e3o funcionasse.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"cinco-perguntas\">Cinco perguntas antes de investir em mais capacidade de c\u00e1lculo<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>O modelo reproduz o passado?<\/strong> Com as decis\u00f5es reais de um per\u00edodo, os custos, volumes e n\u00edveis de servi\u00e7o calculados se aproximam do realizado?<\/li>\n\n\n\n<li><strong>Os dados refletem a opera\u00e7\u00e3o atual?<\/strong> Capacidades, custos e lead times foram revisados com quem opera, ou v\u00eam direto do cadastro?<\/li>\n\n\n\n<li><strong>O objetivo do modelo foi decidido pela diretoria?<\/strong> Ou foi herdado de uma premissa t\u00e9cnica do in\u00edcio do projeto?<\/li>\n\n\n\n<li><strong>O resultado chega antes da decis\u00e3o?<\/strong> E chega em um formato que permite comparar alternativas em poucos minutos?<\/li>\n\n\n\n<li><strong>Os planejadores usam o plano?<\/strong> Ou o refazem em uma planilha paralela?<\/li>\n<\/ol>\n\n\n\n<p><\/p>\n\n\n\n<p>Se as cinco respostas forem positivas e o tempo de solu\u00e7\u00e3o ainda impedir a decis\u00e3o, mais capacidade de c\u00e1lculo provavelmente \u00e9 um bom investimento. Se alguma for negativa, o retorno est\u00e1 em outra camada.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"como-a-linear-aborda\">Como a Linear aborda o problema<\/h2>\n\n\n\n<p>Na Linear, um projeto de otimiza\u00e7\u00e3o come\u00e7a pela decis\u00e3o que precisa ser tomada e pela opera\u00e7\u00e3o que a cerca, n\u00e3o pela ferramenta. O trabalho percorre as cinco camadas: validar os dados com quem opera, formular o modelo a partir de um objetivo definido pela empresa, escolher a forma de resolu\u00e7\u00e3o adequada ao tempo da decis\u00e3o, entregar resultados que caibam no processo de planejamento e acompanhar a ado\u00e7\u00e3o com os planejadores.<\/p>\n\n\n\n<p>Essa l\u00f3gica vale para o <a href=\"\/en\/URL_PLANEJAMENTO_INTEGRADO_E_TATICO\/\">planejamento integrado e t\u00e1tico com o Otimix<\/a>, da rede ao plano de produ\u00e7\u00e3o, e para o planejamento di\u00e1rio da distribui\u00e7\u00e3o com o iDRP. A decis\u00e3o continua com as pessoas respons\u00e1veis por ela, agora apoiadas por um modelo em que confiam.<\/p>\n\n\n\n<div class=\"wp-block-group cta-linear\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\" id=\"fale-com-a-linear\">Talk to Linear<\/h2>\n\n\n\n<p>Sua empresa tem um projeto de otimiza\u00e7\u00e3o que n\u00e3o entrega o resultado esperado, ou est\u00e1 avaliando come\u00e7ar um? Agende uma conversa com um especialista da Linear para identificar em qual camada est\u00e1 o gargalo antes de decidir onde investir.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"\/en\/URL_CONTATO\/\">Agende uma conversa com a Linear<\/a><\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"perguntas-frequentes\">Perguntas frequentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">O que \u00e9 um solver de otimiza\u00e7\u00e3o?<\/h3>\n\n\n\n<p>\u00c9 o algoritmo que encontra a melhor solu\u00e7\u00e3o para um problema descrito por um modelo matem\u00e1tico, respeitando suas restri\u00e7\u00f5es. Exemplos: quanto produzir em cada f\u00e1brica, de qual centro de distribui\u00e7\u00e3o abastecer cada cliente, como montar as cargas do dia. O solver resolve o problema que recebeu; ele n\u00e3o verifica se o problema representa bem a opera\u00e7\u00e3o.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Um solver mais r\u00e1pido melhora o resultado de um projeto de otimiza\u00e7\u00e3o?<\/h3>\n\n\n\n<p>S\u00f3 quando o tempo de solu\u00e7\u00e3o \u00e9 o que impede a decis\u00e3o e as camadas de dado e de modelo est\u00e3o corretas. Se o modelo est\u00e1 incompleto ou os dados n\u00e3o refletem a opera\u00e7\u00e3o, um solver mais r\u00e1pido apenas entrega uma resposta inadequada em menos tempo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O que \u00e9 gap de otimalidade?<\/h3>\n\n\n\n<p>\u00c9 a diferen\u00e7a m\u00e1xima poss\u00edvel entre a melhor solu\u00e7\u00e3o encontrada pelo solver e a solu\u00e7\u00e3o \u00f3tima. Um gap de 1% indica que a solu\u00e7\u00e3o encontrada est\u00e1, no m\u00e1ximo, 1% distante do \u00f3timo. O gap aceit\u00e1vel e o tempo m\u00e1ximo de c\u00e1lculo devem ser definidos a partir do prazo da decis\u00e3o de neg\u00f3cio.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Por que projetos de otimiza\u00e7\u00e3o falham?<\/h3>\n\n\n\n<p>Com frequ\u00eancia, por causas fora do c\u00e1lculo: dados que n\u00e3o refletem a opera\u00e7\u00e3o, um modelo com objetivo ou restri\u00e7\u00f5es inadequados, resultados que n\u00e3o chegam a tempo ao processo de decis\u00e3o e baixa ado\u00e7\u00e3o pelos planejadores. Por isso, o diagn\u00f3stico deve percorrer todas as camadas antes de concluir que falta capacidade de processamento.<\/p>\n\n\n\n<script type=\"application\/ld+json\">\r\n{\r\n  \"@context\": \"https:\/\/schema.org\",\r\n  \"@type\": \"FAQPage\",\r\n  \"mainEntity\": [\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"O que \u00e9 um solver de otimiza\u00e7\u00e3o?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"\u00c9 o algoritmo que encontra a melhor solu\u00e7\u00e3o para um problema descrito por um modelo matem\u00e1tico, respeitando suas restri\u00e7\u00f5es. Exemplos: quanto produzir em cada f\u00e1brica, de qual centro de distribui\u00e7\u00e3o abastecer cada cliente, como montar as cargas do dia. O solver resolve o problema que recebeu; ele n\u00e3o verifica se o problema representa bem a opera\u00e7\u00e3o.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"Um solver mais r\u00e1pido melhora o resultado de um projeto de otimiza\u00e7\u00e3o?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"S\u00f3 quando o tempo de solu\u00e7\u00e3o \u00e9 o que impede a decis\u00e3o e as camadas de dado e de modelo est\u00e3o corretas. Se o modelo est\u00e1 incompleto ou os dados n\u00e3o refletem a opera\u00e7\u00e3o, um solver mais r\u00e1pido apenas entrega uma resposta inadequada em menos tempo.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"O que \u00e9 gap de otimalidade?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"\u00c9 a diferen\u00e7a m\u00e1xima poss\u00edvel entre a melhor solu\u00e7\u00e3o encontrada pelo solver e a solu\u00e7\u00e3o \u00f3tima. Um gap de 1% indica que a solu\u00e7\u00e3o encontrada est\u00e1, no m\u00e1ximo, 1% distante do \u00f3timo. O gap aceit\u00e1vel e o tempo m\u00e1ximo de c\u00e1lculo devem ser definidos a partir do prazo da decis\u00e3o de neg\u00f3cio.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"Por que projetos de otimiza\u00e7\u00e3o falham?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"Com frequ\u00eancia, por causas fora do c\u00e1lculo: dados que n\u00e3o refletem a opera\u00e7\u00e3o, um modelo com objetivo ou restri\u00e7\u00f5es inadequados, resultados que n\u00e3o chegam a tempo ao processo de decis\u00e3o e baixa ado\u00e7\u00e3o pelos planejadores. Por isso, o diagn\u00f3stico deve percorrer todas as camadas antes de concluir que falta capacidade de processamento.\"\r\n      }\r\n    }\r\n  ]\r\n}\r\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"referencias\">Refer\u00eancias<\/h2>\n\n\n\n<ul class=\"wp-block-list referencias\">\n<li>Koch, T.; Berthold, T.; Pedersen, J.; Vanaret, C. Progress in mathematical programming solvers from 2001 to 2020. <em>EURO Journal on Computational Optimization<\/em>, v. 10, 2022. DOI <a href=\"https:\/\/doi.org\/10.1016\/j.ejco.2022.100031\" target=\"_blank\" rel=\"noopener noreferrer\">10.1016\/j.ejco.2022.100031<\/a>.<\/li>\n\n\n\n<li>Little, J. D. C. Models and Managers: The Concept of a Decision Calculus. <em>Management Science<\/em>, v. 16, n. 8, p. B466\u2013B485, abr. 1970. DOI <a href=\"https:\/\/doi.org\/10.1287\/mnsc.16.8.B466\" target=\"_blank\" rel=\"noopener noreferrer\">10.1287\/mnsc.16.8.B466<\/a>.<\/li>\n\n\n\n<li>HiGHS. High performance software for linear optimization. Dispon\u00edvel em: <a href=\"https:\/\/highs.dev\/\" target=\"_blank\" rel=\"noopener noreferrer\">highs.dev<\/a>. Acesso em: 20 out. 2026.<\/li>\n\n\n\n<li>SciPy. scipy.optimize.milp: documenta\u00e7\u00e3o. Dispon\u00edvel em: <a href=\"https:\/\/docs.scipy.org\/doc\/scipy\/reference\/generated\/scipy.optimize.milp.html\" target=\"_blank\" rel=\"noopener noreferrer\">docs.scipy.org<\/a>. Acesso em: 20 out. 2026.<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Um projeto de otimiza\u00e7\u00e3o entra em opera\u00e7\u00e3o e, alguns meses depois, os planejadores continuam fechando o plano na planilha. Quando algu\u00e9m pergunta o que deu errado, uma das primeiras respostas costuma ser t\u00e9cnica: o modelo demora para rodar, o servidor \u00e9 fraco, talvez seja hora de um solver mais potente ou de mais capacidade na [&hellip;]<\/p>","protected":false},"author":3,"featured_media":1423,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[16],"tags":[18,20],"class_list":["post-1417","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-otimizacao","tag-otimizacao","tag-supply-chain"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/linearsm.com.br\/en\/wp-json\/wp\/v2\/posts\/1417","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linearsm.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linearsm.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linearsm.com.br\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/linearsm.com.br\/en\/wp-json\/wp\/v2\/comments?post=1417"}],"version-history":[{"count":4,"href":"https:\/\/linearsm.com.br\/en\/wp-json\/wp\/v2\/posts\/1417\/revisions"}],"predecessor-version":[{"id":1424,"href":"https:\/\/linearsm.com.br\/en\/wp-json\/wp\/v2\/posts\/1417\/revisions\/1424"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linearsm.com.br\/en\/wp-json\/wp\/v2\/media\/1423"}],"wp:attachment":[{"href":"https:\/\/linearsm.com.br\/en\/wp-json\/wp\/v2\/media?parent=1417"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linearsm.com.br\/en\/wp-json\/wp\/v2\/categories?post=1417"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linearsm.com.br\/en\/wp-json\/wp\/v2\/tags?post=1417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}