
ReTMAT 4
Os problemas da programação linear que envolvem duas ou três variáveis podem ser
resolvidos manualmente pelo método gráfico, mas para resolver problemas de três até
centenas de variáveis, além das inúmeras restrições, são utilizados métodos computaci-
onais, como o método simplex de Dantzig [
3
]. E a eficiência de um método pode ser
avaliada pelo tempo que um algoritmo leva para chegar ao resultado, conforme explica:
Este cálculo é feito associando-se uma unidade de tempo para cada operação
básica que o procedimento executa. Se a dependência do tempo com relação
aos dados de entrada for polinomial, o programa é considerado rápido. Se,
entretanto, a dependência do tempo for exponencial o programa é considerado
lento [9, p.1].
Assim, pode-se dizer que um algoritmo polinomial é aquele que chega ao resultado
esperado em tempo hábil, de tal forma que, quanto menos comandos ou iterações um
algoritmo tem, mais rápido ele é. Logo, a praticidade de um algoritmo também se torna
um fator importante de eficiência. Isso foi importante durante a criação de algoritmos,
pois alguns eram exponenciais e, para tanto, foram criados novos métodos de forma a
encontrar um algoritmo polinomial e prático.
Em [
11
], é possível ver uma linha do tempo dos métodos: o primeiro algoritmo
foi o simplex, criado por Dantzig em 1947; em 1979 e 1980, Khachiyan fez uso do
método dos elipsóides em PL, já que esse método só havia sido utilizado até então
para programação convexa, em que as funções não são apenas lineares, entretanto, na
década de 70 houve um problema quanto ao uso destes métodos, pois, por um lado, o
simplex tinha complexidade exponencial, mas funcionava bem na prática e o método dos
elipsóides tinha complexidade polinomial, mas funcionava mal na prática. Foi então que,
em 1984, Karmarkar criou o algoritmo de pontos interiores, diminuindo a complexidade
em relação ao método de elipsóides. Em 1986, Renegar provou que o uso do método
de centros de Huard, escrito em termos da função barreira logarítmica, é polinomial
com complexidade igual ao método de Karmarkar e, desde então, foram sendo feitas
adaptações e, também, novos métodos para que o uso do algoritmo pudesse resolver
problemas com enormes quantidades de variáveis e restrições.
Um exemplo dessas adaptações é a forma híbrida do método simplex com algoritmos
de pontos interiores, aplicado em um problema de uma companhia aérea, envolvendo
837 restrições e 12.753.313 variáveis, em que foi utilizado um supercomputador que
solucionou o problema em até 5 minutos, conforme descreve [
2
], mostrando, dessa forma,
que com métodos computacionais é possível resolver problemas muito grandes.
3 Formato padrão da programação linear
De acordo com [
7
], a solução de um Problema de Programação Linear (PPL) segue
diversas etapas, sendo a primeira delas a modelagem do problema. Esta fase é marcada
pela aplicação da Modelagem Matemática, uma vez que a definição de programação
linear envolve a otimização de funções lineares e visa obter as variáveis, as restrições
e a função objetivo. Para uma compreensão mais clara, alguns exemplos podem ser
encontrados em [13].
Uma vez que a modelagem de um problema novo não é o foco deste estudo e a
correspondência entre o sistema real e o modelo formal está propensa a imprecisões,
simplificações e lacunas de comunicação, é importante destacar que não existem técnicas
precisas que garantam o estabelecimento do modelo de um problema. Para alcançar
essa meta, é fundamental empregar a habilidade de análise do problema, conforme é