O método simplex é um algoritmo muito útil, com o qual podemos fazer vários planejamentos e utilizá-lo para apoiar a tomada de decisão.
Ele é um dos principais algoritmos utilizados atualmente, e tem uma aplicação muito interessante para o setor dos negócios.
Podemos facilitar ainda mais nossa vida, já que esse método pode ser aplicado utilizando linguagens de programação, como Python, que oferece vários frameworkse bibliotecas que trazem funções desse algoritmo, destacando o Python das outras linguagens de programação.
Neste artigo, vamos ver mais sobre o método simplex, abordando os seguintes pontos:
● O que é o método simplex?
● Fundamentos teóricos do método simplex;
● Exemplo do método simplex.
O método simplex, também conhecido como algoritmo simplex, é utilizado para resolver problemas de programação linear.
Foi desenvolvido por George Dantzig e Koopmans em 1946, quando trabalhavam no departamento da Força Aérea Americana. É considerado por muitos como um dos principais algoritmos inventados no século XX.
Quando falamos em “programação” linear, não estamos falando diretamente sobre programação de computadores ou algum tipo de linguagem de programação. Na realidade, o termo neste caso quer dizer uma relação com o planejamento da utilização de recursos.
Dentro da matemática, a programação linear foi desenvolvida para resolver problemas da indústria. Ela é utilizada para dar apoio à tomada de decisão. Assim, as condições de operação da empresa são traduzidas em funções lineares e equações.
Um programa linear é um método para obter o melhor resultado, dada uma equação máxima ou mínima com restrições lineares.
Por isso, o método simplex é utilizado na otimização matemática sequencial para avaliar a melhor solução possível de um problema complexo, dadas determinadas condições operacionais e a quantidade de recursos.
Falando em termos mais matemáticos, o método simplex constitui uma abordagem para resolver modelos de programação linear, encontrando uma solução ótima para um problema de otimização. Ele utiliza variáveis de folga, tabelas, e geometria.
Para resolver um modelo de programação linear usando o método simplex, as seguintes etapas são necessárias:
● Realizar mudanças de variáveis e normalizar o sinal dos termos independentes;
● Normalizar restrições;
● Igualar sua função objetivo à zero;
● Criar a tabela inicial para representar o método;
● Definir os critérios de parada;
● Definir as variáveis de entrada e saída da base;
● Atualizar a tabela criada anteriormente;
Entretanto, existem bibliotecas da linguagem de programação Python que fazem todo o processo do método simplex diretamente para você. Esse é o caso da SciPy e PuLP, que já possuem esse algoritmoimplementado, facilitando muito sua vida.
O método simplex começa com a formulação de um modelo matemático. A primeira etapa é definir uma função objetivo, ou seja, uma representação matemática do objetivo do problema.
Em suma, podemos ter três cenários possíveis: maximizar ou minimizar uma função, ou ter um valor alvo específico para ela.
Esse sistema também irá contar com variáveis de decisão, que vão definir o tipo de resposta que queremos achar para o problema.
Outro elemento são as restrições. As restrições representam os recursos finitos de uma empresa, por exemplo. Elas são representadas por inequações.
Depois que este sistema está montado, o método simplex começa a ser aplicado. Ele transforma as inequações em equações. Isso é feito com a adição de variáveis de folga em cada restrição.
Todas essas variáveis podem ser dispostas em um gráfico, e o simplex pode ser visualizado na forma de uma figura geométrica, como um triângulo ou um tetraedro. Quanto maior o número de variáveis, mais vértices a figura terá.
Também temos os critérios de parada, que correspondem a valores positivos ou a um valor negativo, que dependerá do nosso objetivo (se será maximização ou minimização). Já a condição de saída é definida pelo menor quociente entre os valores.
A partir disso, o simplex utiliza iterações para avaliar esses vértices e otimizar as variáveis, garantindo que irá aumentar o valor da função objetivo ou garantir que ele não seja afetado a cada repetição. A nova variável escolhida é sempre aquela que é capaz de realizar a maior modificação para chegar na solução desejada.
Ela começa no valor zero, e a iteração segue até o maior valor entrar na coluna da variável de entrada e fornecer uma solução.
O simplex também geralmente é aplicado por meio de uma tabela.
A tabela é montada utilizando uma linha que contém os títulos de cada coluna. Em cada uma das colunas, teremos um tipo de informação:
● Primeira coluna: são as variáveis de base, que assumem um valor para solucionar o problema;
● Segunda coluna: chamada de Cb, contém os coeficientes que as variáveis de base têm na nossa função objetivo;
● Terceira coluna: chama de P0, apresenta o termo independente de nossas restrições;
A partir da terceira, temos colunas adicionais para cada variável de folga utilizada. A última linha é o valor da função objetivo e os custos que foram reduzidos.
Vamos imaginar que uma empresa tem os produtos X e Y em seu catálogo. Cada unidade do produto X consome 3 kg de matéria prima, enquanto cada unidade de Y consome 2 kg. O total de matéria prima disponível é 18 kg. Essas são nossas restrições de material.
O máximo de unidades de X que podem ser vendidas é 4, e o máximo de Y é 6. Isso configura nossas restrições de venda. Cada unidade de X vendida gera um lucro de 3R, e cada unidade de Y, 5R. O que queremos é descobrir quantas unidades de X e Y precisamos produzir para conseguir o máximo de lucro possível.
Montando o sistema matemático, aplicando os conceitos que vimos antes, as expressões ficariam assim:
● Z = 3X + 5Y (maximizar o lucro).
As restrições seriam de material seriam:
● 3X + 2Y ≤ 18;
Já as restrições de venda podem ser expressas como:
● X ≤ 4;
● Y ≤ 6.
Temos um número infinito de soluções possíveis, mas nem todas as variáveis são uma solução ótima. Utilizando o método simplex, atingimos a solução ótima sem precisar avaliar todos os valores possíveis.
Graças às características de programação moderna e volátil, o Python se tornou a linguagem queridinha dos cientistas de dados. Como a área trabalha com grandes volumes de dados, o famoso Big Data, a principal função da linguagem é ajudar a transformar dados em informações úteis para empresas e negócios.
E foi pensando nisso que trouxemos uma dica para você...
Faça agora o Teste Quanto da Cultura Data-Driven sua Organização Possui? e tenha uma noção do nível de cultura data-driven que sua organização possui e poderá identificar onde melhorar. Além disso, poderá entender mais sobre a importância da aplicação do pensamento orientado por dados!
A cultural Data-Driven é uma orientação baseada em dados (data-driven). São os dados que irão guiar a tomada de decisão. Entender onde encontrá-los, além de interpretar de forma sensata, é essencial.
Faça agora nosso teste e descubra agora se sua organização precisa estimular a cultura data-driven!
Thiago é engenheiro de produção, pós-graduado em estatística e mestre em administração pela UFJF. Especialista Black Belt em Lean Six Sigma, trabalhou na Votorantim Metais e MRS Logística, onde foi gestor e especialista em melhoria contínua. Com certificações MOS® e Auditor Lead Assessor ISO 9001, atuou em projetos de consultoria e ministrou treinamentos e palestras em congressos como ENEGEP e Six Sigma Brasil. Professor nas áreas de Gestão e Empreendedorismo, é fundador do Grupo Voitto e mentor de empresas, dedicando-se à liderança executiva da Voitto, com a visão de torná-la a maior escola online de gestão do Brasil.
Entre para nossa lista e receba conteúdos exclusivos e com prioridade.
Respeitamos sua privacidade e nunca enviaremos spam!