Documente Academic
Documente Profesional
Documente Cultură
1.1Introdução
1
BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar
Programação Matemática e Simulação
prof. Dr. Paulo Rogério Politano
Rotas de transporte: Qual deve ser o roteiro de um caminhão de modo que entregue a carga
no menor tempo e menor custo?
Manufatura: qual deve ser o mix de produção de uma fábrica de modo que se tenha o lucro
máximo considerando as restrições de capacidade?
Alimentação de Animais: qual a composição da mistura de alimentos que devem ser utilizados
de forma que se encontre o mínimo custo considerando as quantidades de nutrientes
necessárias para a alimentação adequada do animal?
Siderurgia: quais são as quantidades necessárias de insumos a serem fundidas, de modo que a
composição da liga obtida satisfaça as normas técnicas da metalurgia e que o preço final da
liga seja o menor possível?
Serviços: Qual deve ser a quantidade de atendentes em um banco para que o tempo médio de
atendimento aos clientes não ultrapasse 5 minutos?
1.2 Modelos
Modelos são representações de um sistema real. Eles são necessários para que se
possa selecionar e estudar o comportamento das principais variáveis de um sistema real que
realmente interessam na solução de um problema. O modelo deve apresentar relações
matemáticas ou lógicas que representem o comportamento de mundo real considerado.
Alguns exemplos de modelos:
2
BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar
Programação Matemática e Simulação
prof. Dr. Paulo Rogério Politano
Dependendo do tipo de problema que ser quer resolver e da sua complexidade, adota-
se um ou uma combinação de métodos específicos de solução. Os métodos de solução que
buscam soluções ótimas empregam modelos matemáticos, desde que os algoritmos de
otimização possam resolver esses modelos; para soluções próximas do ótimo, quando a
solução ótima não é possível de ser realizada devido a grande complexidade dos modelos
matemáticos, empregam-se então heurísticas, que são algoritmos que buscam encontrar uma
boa solução. E métodos de soluções que não buscam a otimização, como os modelos de filas e
modelos de simulação, que tratam do estudo de filas.
Um resumo dos modelos de PO, agrupados nos tipos de solução, são apresentados a
seguir:
Soluções ótimas: Programação linear: aplicada a modelos cujas funções objetivo e restrições
são lineares e variáveis de decisão assumem valores reais. È a técnica mais empregada na PO;
Programação inteira: as variáveis de decisão assumem valores inteiros; Programação
dinâmica: o modelo original pode ser decomposto em subproblemas mais fáceis de serem
resolvidos; Otimização em redes: o problema pode ser modelado como uma rede;
Programação não-linear: as funções do modelo não são lineares.
Soluções que não são ótimas: Teoria de filas e simulação são técnicas que tratam do estudo
das filas de espera. Não são técnicas de otimização, e estabelecem modelos para determinar
medidas de desempenho de filas de espera. Algumas das medidas mais comuns estudadas por
esses modelos são: tempo médio de espera na fila, tempo médio de atendimento de um
serviço e a utilização de servidores. Os modelos de filas utilizam probabilidade e modelos
estocásticos (teoria de filas) para analisar filas de espera, e possuem limitações para modelar
o comportamento de sistemas. Para problemas complexos onde se quer estudar o
3
BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar
Programação Matemática e Simulação
prof. Dr. Paulo Rogério Politano
Nesta Unidade vamos estudar e resolver problemas que podem ser aplicados modelos
de programação linear.
Validação do Modelo: Verifica se o modelo está fazendo o que se propõe a fazer, ou seja, se
a solução do modelo está de acordo com o comportamento do sistema real. O método padrão
para verificar se o modelo é valido é comparar seus resultados com os dados históricos do
sistema real. Caso o modelo proposto é de um novo sistema, não haverá dados históricos
4
BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar
Programação Matemática e Simulação
prof. Dr. Paulo Rogério Politano
armazenados. Neste caso, pode-se usar a simulação como uma ferramenta para verificar a
validade do modelo matemático com o apoio de especialistas da área do problema.
Pode-se tentar encontrar a solução por tentativa e erro, mas seria muito desgastante
utilizar este procedimento. A saída é desenvolver um modelo matemático baseado em um
modelo geral de PO:
𝑋2 = quantidade de SCO
5
BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar
Programação Matemática e Simulação
prof. Dr. Paulo Rogério Politano
𝑥1 ≤ 45 (3)
𝑥2 ≤ 30 (4)
𝑥1 ≥ 0 (5)
𝑥2 ≥ 0 (6)
Como temos apenas duas variáveis de decisão, usaremos o método gráfico para
encontrar a solução ótima deste problema.
Traçamos os eixos x1 e x2, que determinam o plano onde iremos encontrar o conjunto
de soluções viáveis. Vamos representar cada inequação das restrições nesse plano. Vamos
pegar, por exemplo, as inequações: 𝑥1 ≤ 45 ; 𝑥2 ≤ 30; 𝑥1 ≥ 0 𝑒 𝑥2 ≥ 0.
Traçando essas inequações no plano, temos o seguinte gráfico apresentado na figura 1.1:
6
BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar
Programação Matemática e Simulação
prof. Dr. Paulo Rogério Politano
x2
x1 45
50
B(0,30) D(45,30) x2 30
20
A(0,0) C (45,0)
x1
-20 20 60
-10
x2
x1 45
F (45,10)
x1
-20
A(0,0) C (45,0)
2 x1 3x2 120
-20
7
BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar
Programação Matemática e Simulação
prof. Dr. Paulo Rogério Politano
Então, o lucro máximo é de 500, para uma produção de 45 unidades de shampoo para
cabelo seco e 10 unidades de shampoo para cabelo oleoso. A solução gráfica é dada na figura
1.3.
x2
x1 45
F (45,10)
x1
A(0,0) C (45,0)
-20
2 x1 3x2 120
8
BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar
Programação Matemática e Simulação
prof. Dr. Paulo Rogério Politano
Outra questão a ser observada se relaciona a uma condição onde a reta da função
objetivo ao atingir o ponto mais distante em relação à origem, coincide com um dos lados do
polígono. Nesse caso, não teremos apenas uma solução ótima, mais uma infinidade, desde
que os pontos estejam localizados em um dos lados do polígono.
Vamos produzir uma ração a um custo mínimo com a mistura de dois componentes A e
B, com custo de R$ 0,10 para o componente A (farinha de carne) por kilo e R$ 0,05 para o
componente B (osso moído) por kilo. O componente A, por kilo, possui 10 unidades do
nutriente 1 (proteína) e 6 unidades do nutriente 2 (gordura) e o componente B, por kilo,
possui 6 unidades do nutriente 1 (proteína) e 24 unidades do nutriente 2 (gordura). Sabe-se
que as necessidades mínimas que um animal deve ingerir, por dia, do nutriente 1 (proteína) é
de 30 unidades e do nutriente 2 (gordura) é de 48 unidades. A pergunta é: quais as
quantidades necessárias do componente A e do componente B para se ter o menor custo para
produzir a ração, por dia, que atenda as necessidades mínimas nutricionais de um animal?
9
BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar
Programação Matemática e Simulação
prof. Dr. Paulo Rogério Politano
𝑥2 ≥ 0 (5)
Como temos apenas duas variáveis de decisão, usaremos o método gráfico para
encontrar a solução ótima deste problema.
Traçamos os eixos x1 e x2, que determinam o plano onde iremos encontrar o conjunto
de soluções viáveis. Representamos cada inequação das restrições no plano formado pelos
eixos x1 e x2. Traçando essas inequações no plano, temos o seguinte gráfico representado na
figura 1.4.
10
BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar
Programação Matemática e Simulação
prof. Dr. Paulo Rogério Politano
função objetivo se deslocando da parte superior para a parte inferior da região irá encontrar
o ponto cujos valores de x1 e x2 fornecerão o menor custo para produzir a ração.
x2
z 0,10 x1 0,05x2
A(0,5)
11
BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar
Programação Matemática e Simulação
prof. Dr. Paulo Rogério Politano
x1 + 4x2 ≤ 8
x2 + 5x3 ≤ 4
4x3 + x4 ≤ 6
3x4 + x5 ≤ 12
Podemos notar que temos cinco variáveis de decisão. Não é possível resolver esse
problema pelo método gráfico. Assim, temos que usar um programa computacional que possa
representar esse modelo, e através de sua execução, chegar ao resultado. Para isso, o
programa computacional usa um algoritmo baseado no método simplex. O método será
estudado na próxima unidade.
12
BACHARELADO EM SISTEMAS DE INFORMAÇÃO – EaD UAB/UFSCar
Programação Matemática e Simulação
prof. Dr. Paulo Rogério Politano
2 – Arenales, M.; Armentano, V.; Morabito, R.; Yanasse, H.; Pesquisa Operacional. Ed.
Campus, 2007.
13