Você está na página 1de 8

10/11/2020

Introdução à Programação Linear


Universidade Federal do Tocantins
Câmpus Universitário de Gurupi Programação Linear
Curso de Engenharia Florestal
Disciplina: Pesquisa Operacional Aplicada à Engenharia Florestal Histórico (COLIN, 2015)
• George Dantzig (1947)

Aula 02. Introdução a


Programação Linear
Saulo Boldrini Gonçalves

Fonte: http://www.nap.edu/read/12473/chapter/18 Fonte: www.maine.gov

Introdução à Programação Linear Introdução à Programação Linear

Introdução Introdução

Programação Linear
PROGRAMAÇÃO LINEAR • Um caso particular dos modelos de programação em que as
variáveis de decisão são contínuas e apresentam comportamento
linear, tanto em relação às restrições quanto à função-objetivo.

Planejamento Todas as funções matemáticas são Definição


necessariamente funções lineares
• Como definição a PL trata de alocar da melhor forma possível
(ótima) recursos limitados para atividades que competem entre si.

3 4

Introdução à Programação Linear Introdução à Programação Linear

Como alocar (distribuir) da melhor maneira? Programação Linear na Ciência Florestal


 Opções de produção
EXEMPLOS

 Áreas de plantio
 Quando, quanto, como,
Recursos Atividades onde e o que plantar
limitados competitivas
Escolher os níveis das atividades que
atingem o melhor valor possível de uma  Mão de obra
EXEMPLOS

Recursos medida de desempenho global Atividades  Terra Alocação


escassos competitivas  Capital ótima
(limitados) Pesquisa Operacional  Insumos Maximizar Minimizar
Objetivo Objetivo
“positivo” “negativo”
Programação Linear
EXEMPLOS

 Lucro  Poluição
Todas as funções matemáticas no PROGRAMAÇÃO LINEAR  recreação  Distância
modelo são funções lineares

5 6

1
10/11/2020

Introdução à Programação Linear Introdução à Programação Linear

Formulando um modelo matemático de PL Formulando um modelo matemático de PL


Problema e Dados Modelo Matemático
Função objetivo: é uma função matemática que representa o principal
𝑀𝑖𝑛 𝑓(𝑥1 , 𝑥2 ) = 65 𝑥1 + 30𝑥2 objetivo do tomador de decisão. Ela é de dois tipos (minimização e
maximização).
2𝑥1 +3𝑥2 ≥ 7
3𝑥1 +2𝑥2 ≥ 9 • Exemplo: Minimizar os custos de transportes relativos à distribuição
𝑥1 ≥ 0, 𝑥2 ≥ 0 de refrigerantes.
Objetivo Função objetivo
Variáveis de decisão: são variáveis usadas no modelo que podem ser
Alternativas (atividades) Variáveis de decisão (incógnitas) controladas pelo tomador de decisão. A solução do problema é
encontrada testando-se diversos valores das variáveis de decisão.
Quantidades (atividades e Constantes (parâmetros)
recursos) • Exemplo: O número de caminhões que a engarrafadora deve
despachar num determinado dia.
Considerações sobre as
atividades e recursos Restrições (inequações ou equações)

Introdução à Programação Linear Introdução à Programação Linear

Formulando um modelo matemático de PL Formulando um modelo matemático de PL

Parâmetros (Coeficientes) do modelo: são variáveis usadas no modelo


que não podem ser controladas pelo tomador de decisão. A solução do DEFINIÇÃO DO MODELO
problema é encontrada admitindo como fixos os valores dos PROBLEMA MATEMÁTICO
parâmetros.
• Exemplo: A capacidade de cada caminhão que vai transportar Componentes Representação
refrigerante. Os caminhões têm uma capacidade especificada pelo
fabricante e uma carga total transportada que é limitada pela Mas além de saber traduzir um Alternativas 𝑥1, 𝑥2, 𝑥3,...
legislação rodoviária. problema para seu modelo
matemático, precisamos conhecer Objetivo Max f(𝑥1, 𝑥2, 𝑥3,...)
as REGRAS de um modelo de PL, ou Min f(𝑥1, 𝑥2, 𝑥3,...)
seja, as PRESSUPOSIÇÕES, para Restrições Disponibilidade (≤)
Restrições: são regras que dizem que podemos (ou não) fazer e/ou traduzir corretamente! Meta(≥)
quais são as limitações dos recursos ou das atividades que estão
associadas ao modelo. Valores Coeficientes e lados
direitos
10

Introdução à Programação Linear Introdução à Programação Linear

Programação Linear – Pressuposições (Regras)


Programação Linear – Pressuposições (Regras)
As contribuições de cada variável de decisão são proporcionais
ao valor da variável de decisão.
PRESSUPOSIÇÃO OU SEJA... NÃO É PL
Por exemplo, na função objetivo maximizar receita = 4x1 + 3x2, Proporcionalidade Todos os expoentes das variáveis de EX. 𝑥1 ²
as constantes de proporcionalidade são 4 e 3 para os produtos
decisão devem ser iguais a 1
1 e 2, respectivamente.
As variáveis podem ter
valores fracionados. Não Aditividade Toda função é a soma das EX. 𝑥1 𝑥2
Proporciona pode haver exigência de atividades (com seus respectivos
Divisibilidade
-lidade as variáveis serem inteiras coeficientes)
Divisibilidade As variáveis podem assumir valores EX. 𝑥3 = −2
contínuos e positivos

Os relacionamentos entre Aditividade Certeza Todos os parâmetros Certeza As constantes do modelo são -
as variáveis são sempre utilizados nos modelos conhecidas
adições e subtrações, mas são conhecidos com
nunca outras operações certeza

2
10/11/2020

Introdução à Programação Linear Introdução à Programação Linear

Programação Linear – Formulação Padrão Relembrando o Método Científico


Encontre 𝑥1 , 𝑥1 , … , 𝑥𝑛 de forma a
Maximizar 𝑧 = 𝑐1𝑥1 + 𝑐2𝑥2 +...+ 𝑐𝑛𝑥𝑛
1. Coleta de 3. Técnicas de
Dados Otimização
Sujeito às restrições Restrições funcionais
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 ≤ 𝑏1 (ou estruturais)
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 ≤ 𝑏2
... 1. Definição do 2. Construção 3. Solução do 4. Validação
𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ⋯ + m𝑥𝑛 ≤ 𝑏𝑚
problema do Modelo Modelo do Modelo
Restrições de não-
𝑥1 ≥ 0, 𝑥2 ≥ 0, … , 𝑥𝑛 ≥ 0 negatividade

𝑧 = medida de desempenho global 5. Implementação


𝑥2 = nível de atividade 𝑗 ( 𝑝𝑎𝑟𝑎 𝑗 = 1, 𝑍, , … , 𝑛) das Soluções
𝑐𝑗 = incremento em Z de cada incremento unitário em 𝑥𝑗
5. Comparação
𝑏𝑖 = quantidade do recurso i que se encontra disponível para alocação em atividades (para
𝑎𝑖𝑗 = quantidade do recurso i consumido por unidade de atividade j

Introdução à Programação Linear Introdução à Programação Linear

Solução do Modelo Matemático de PL Programação Linear


No qual se aplique a...

• Formulação Matemática
1. Coleta de Programação MAX ou MIN Z = C1X1 + C2X2 + ... + CnXn Função
Dados Linear Sujeito a: Objetivo
a11X1 + a12X2 + ... + a1nXn {≤, =, ≥} b1
a21X1 + a22X2 + ... + a2nXn {≤, =, ≥} b2
... ... ... ... Restrições
1. Definição do 2. Construção 3. Solução do
problema do Modelo Modelo am1X1 + am2X2 + ... + amnXn {≤, =, ≥} bm
X1, X2, ..., Xn ≥ 0

Solução • Xj : variáveis de decisão (VD), j = 1, 2, ..., n;


Uma solução é QUALQUER especificação de Gráfica* • Ci : coeficiente da j-ésima variável da função objetivo
valores para as variáveis de decisão (x), • aij: coeficiente da i-ésima restrição da j-ésima VD, i = 1, 2, ..., m;
independente de ela ser desejável ou até • bi: quantidade de recursos disponíveis da i-ésima restrição, i = 1,
mesmo ser uma opção admissível. Algoritmo
2, ..., m. “Lado direito das restrições”;
simplex
16

Introdução à Programação Linear Introdução à Programação Linear

Programação Linear Programação Linear

• Métodos de resolução: • Métodos de resolução: 2 variáveis Método


• Gráfico de decisão Gráfico
Problema
>2 variáveis Método
de decisão Algébrico
Fonte: Belfiore e Fávero (2013)

• Algébrico • Método Gráfico:


• Analítico ou Tabular – Algoritmo Simplex • Utiliza um plano cartesiano
• Determinar o espaço de soluções viáveis ou região factível
• Determinar a solução ótima do problema

Fonte: Goldbarg e Luna (2005)

17 18

3
10/11/2020

Introdução à Programação Linear Introdução à Programação Linear

Programação Linear Programação Linear

Exemplo • Solução Gráfica:


• Fabricação de dois fertilizantes: Planta forte e Adubo verde. MAX Z = 15X1 + 10X2
• Maximizar a receita líquida em que
• A receita líquida de Planta forte é de R$15,00/t e do Adubo Sujeito a:
verde é de R$10/t. 2X1 + 1X2 ≤ 15
• Sujeito a
• 1 t de Planta forte: 2 t de N; 1 t de P; 1 t de K. 1X1 + 1X2 ≤ 12
• 1 t de Adubo verde: 1 t de N; 1 t de P; 0 t de K. 1X1 ≤ 5
• Disponibilidade: 15 t de N; 12 t de P; 5 t de K.
MAX Z = 15X1 + 10X2
Sujeito a:
2X1 + 1X2 ≤ 15 (disponibilidade de N)
1X1 + 1X2 ≤ 12 (disponibilidade de P)
1X1 ≤ 5 (disponibilidade de K)

19 20

Introdução à Programação Linear Introdução à Programação Linear

Programação Linear Programação Linear

• Solução Gráfica: • Solução Gráfica:


MAX Z = 15X1 + 10X2 MAX Z = 15X1 + 10X2
Sujeito a: Sujeito a:
2X1 + 1X2 ≤ 15 2X1 + 1X2 ≤ 15
1X1 + 1X2 ≤ 12 1X1 + 1X2 ≤ 12
1X1 ≤ 5 1X1 ≤ 5

21 22

Introdução à Programação Linear Introdução à Programação Linear

Programação Linear Programação Linear

• Solução Gráfica: • Solução Gráfica:


MAX Z = 15X1 + 10X2 MAX Z = 15X1 + 10X2
Sujeito a: Sujeito a:
2X1 + 1X2 ≤ 15 2X1 + 1X2 ≤ 15
1X1 + 1X2 ≤ 12 1X1 + 1X2 ≤ 12
1X1 ≤ 5 1X1 ≤ 5

Região
Factível

23 24

4
10/11/2020

Introdução à Programação Linear Introdução à Programação Linear

Programação Linear Programação Linear

• Solução Gráfica: • Solução Gráfica:


MAX Z = 15X1 + 10X2 MAX Z = 15X1 + 10X2
Sujeito a: Sujeito a:
2X1 + 1X2 ≤ 15 2X1 + 1X2 ≤ 15
1X1 + 1X2 ≤ 12 1X1 + 1X2 ≤ 12
1X1 ≤ 5 1X1 ≤ 5

Região
Teorema: uma solução ótima de Factível
um problema de programação
linear está sempre associada a um
vértice ou ponto extremo do
espaço de soluções viáveis
25 26

Introdução à Programação Linear Introdução à Programação Linear

Programação Linear Programação Linear

• Solução Gráfica: • Solução Gráfica:


MAX Z = 15X1 + 10X2 MAX Z = 15X1 + 10X2
Sujeito a: Sujeito a:
2X1 + 1X2 ≤ 15 2X1 + 1X2 ≤ 15
1X1 + 1X2 ≤ 12 1X1 + 1X2 ≤ 12
1X1 ≤ 5 1X1 ≤ 5

X1 X2 Z Região X1 X2 Z Região
0 0 0 Factível 0 0 0 Factível
5 0 75 5 0 75
5 5 125 5 5 125
3 9 135 3 9 135
0 12 120 0 12 120
27 28

Introdução à Programação Linear Introdução à Programação Linear

Programação Linear Programação Linear

• Solução Gráfica: • Solução Gráfica:


MAX Z = 15X1 + 10X2 MAX Z = 15X1 + 10X2
Sujeito a: Sujeito a:
2X1 + 1X2 ≤ 15 2X1 + 1X2 ≤ 15
1X1 + 1X2 ≤ 12 1X1 + 1X2 ≤ 12
1X1 ≤ 5 1X1 ≤ 5

X1 X2 Z Região X1 X2 Z Região
0 0 0 Factível 0 0 0 Factível
5 0 75 5 0 75
5 5 125 5 5 125
3 9 135 3 9 135
0 12 120 0 12 120
29 30

5
10/11/2020

Introdução à Programação Linear Introdução à Programação Linear

Programação Linear Programação Linear

• Solução Gráfica: • Solução Gráfica:


MAX Z = 15X1 + 10X2 MAX Z = 15X1 + 10X2
Sujeito a: Sujeito a:
2X1 + 1X2 ≤ 15 2X1 + 1X2 ≤ 15
1X1 + 1X2 ≤ 12 1X1 + 1X2 ≤ 12
1X1 ≤ 5 1X1 ≤ 5

X1 X2 Z Região X1 X2 Z Região
0 0 0 Factível 0 0 0 Factível
5 0 75 5 0 75
5 5 125 5 5 125
3 9 135 3 9 135
0 12 120 0 12 120
31 32

Introdução à Programação Linear Introdução à Programação Linear

Exemplo Definição do Problema


• A Vidros S.A. fabrica produtos de vidro de alta qualidade, entre os • Produto 1: Uma porta de vidro de 2,5 m com esquadria de alumínio
quais janelas e portas de vidro. A empresa possui três fábricas • Produto 2: Uma janela com esquadrias de madeira de 1,20 X 1,80 m
industriais:
• As esquadrias de alumínio e ferragens são feitas na Fábrica 1
• As esquadrias de madeira são produzidas na Fábrica 2; e • O Produto 1 requer parte da capacidade produtiva das Fábricas 1 e
3, mas nenhuma da Fábrica 2. O Produto 2 precisa apenas das
• Fábrica 3 produz vidro e monta os produtos.
Fábricas 2 e 3. A divisão de marketing concluiu que a empresa
poderia vender tanto quanto fosse possível produzir desses produtos
• Em consequência da queda nos ganhos, a direção decidiu por essas fábricas.
modernizar a linha de produtos da empresa. Produtos não
rentáveis estão sendo descontinuados, liberando capacidade • Entretanto, pelo fato de ambos os produtos poderem estar
produtiva para o lançamento de dois novos produtos com competindo pela mesma capacidade produtiva na Fábrica 3, não
potencial de vendas está claro qual é o mix dos dois produtos seria o mais lucrativo.

Portanto foi constituída uma equipe de PO


33 34

Introdução à Programação Linear Introdução à Programação Linear

Definição do Problema Coleta de dados


• A Equipe de PO começou promovendo discussões com a alta direção • A Equipe de PO também identificou os dados que precisavam ser
para identificar os objetivos da diretoria para tal estudo. Essas coletados:
discussões levaram à seguinte definição do problema:
• 1. Número de horas de tempo disponível por semana em cada fábrica para
• Determinar quais devem ser as taxas de produção para ambos os produtos esses novos produtos
de modo a maximizar o lucro total, sujeito às restrições impostas pelas
capacidades produtivas limitadas disponíveis nas três fábricas. • 2. Número de horas de tempo de produção usado em cada fábrica para
cada lote produzido de cada novo produto
• Produtos serão produzidos em lotes de 20 unidades
• 3. Lucro por lote produzido de cada novo produto
• É permitida qualquer combinação de taxas de produção que satisfaça as
restrições, inclusive não produzir nada de um produto e o máximo possível A Equipe de PO reconheceu que se tratava de um problema de PL,
do outro.
Do tipo clássico Mix de produtos

35 36

6
10/11/2020

Introdução à Programação Linear Introdução à Programação Linear

Formulação como Problema de PL Formulação como Problema de PL


• Para formular o modelo matemático (programação linear): • Para formular o modelo matemático (programação linear):
Tempo de Produção • X1 = número de lotes do produto 1 produzido semanalmente
por Lote (em horas)
Produto Tempo de Produção
• X2 = número de lotes do produto 2 produzido semanalmente
Disponível por
Fábrica 1 2 Semana (em horas)
• Z = lucro total por semana (em milhares de dólares) obtido pela produção
1 1 0 4 desses dois produtos
2 0 2 12
• Portanto x1 e x2 são as variáveis de decisão para o modelo.
3 3 2 18 • Z = 3x1 + 5 x2
Lucro por lote U$ 3.000 U$ 5.000

37 38

Introdução à Programação Linear Introdução à Programação Linear

Formulação como Problema de PL Solução Gráfica


Max Z = 90𝑥1 + 120𝑥2
• O objetivo é escolher os valores de x1 e x2 de forma maximizar Sujeito a
Z=3x1 + 5x2, sujeito às restrições impostas em seus valores por
𝑥1 ≤ 40
limitações de capacidade de produção disponível nas três fábricas. 𝑥2 ≤ 50
2 𝑥1 + 3 𝑥2 ≤ 180
Maximizar Z = 3x1 + 5x2 𝑥1 ≥ 0, 𝑥2 ≥ 0

Sujeito às restrições

X1 <= 4
2x2 <= 12
3x1 + 2x2 <= 18

X1 >= 0, x2 >= 0

39

Introdução à Programação Linear Introdução à Programação Linear

Solução Gráfica Solução Gráfica


Max Z = 90𝑥1 + 120𝑥2 1. Construir um gráfico bidimensional
Sujeito a tendo 𝑥1 e 𝑥2 como eixos.
𝑥1 ≤ 40
Qual o melhor valor 2. Desenhar as desigualdades como
𝑥2 ≤ 50
(ótimo) de 𝑥1 e 𝑥2 ? igualdades (restrições).
2 𝑥1 + 3 𝑥2 ≤ 180
𝑥1 ≥ 0, 𝑥2 ≥ 0
3. Identificar a região de soluções visíveis
1. Construir um gráfico bidimensional tendo 𝑥1 e
e seus vértices.
𝑥2 como eixos.
4. Encontrar o ponto da região de soluções
2. Desenhar as desigualdades como igualdades
viáveis que otimiza a função objetivo.
(restrições).

3. Identificar a região de soluções visíveis e seus


vértices. Cada limite de restrição é uma reta que forma o limite do que é
permitido pela restrição correspondente
4. Encontrar o ponto da região de soluções viáveis
que otimiza a função objetivo.

7
10/11/2020

Introdução à Programação Linear Introdução à Programação Linear

Solução Gráfica Solução Gráfica


3. Identificar a região de soluções 3. Identificar a região de soluções
visíveis e seus vértices. visíveis e seus vértices.

4. Encontrar o ponto da região de 4. Encontrar o ponto da região de


soluções viáveis que otimiza a função soluções viáveis que otimiza a função
objetivo. objetivo.

Identificas os valores de ( 𝑥1 e 𝑥2 ) permissíveis pelas restrições.


Identificas os valores de ( 𝑥1 e 𝑥2 ) permissíveis pelas restrições.
Os pontos de interseção entre os limites de restrição são as soluções em
Solução viável é aquela para a qual todas as restrições são satisfeitas. pontos extremos (vértices) do problema.
Solução inviável é aquela em que pelo menos 1 das restrições é violada.
Teorema: Se um problema de PL tiver solução ótima, obrigatoriamente ela
Região de soluções viáveis é o conjunto de todas as soluções viáveis. Por que? é uma solução viável em ponto extremo (vértice).

Introdução à Programação Linear Introdução à Programação Linear

Solução Gráfica Solução Gráfica


4. Encontrar o ponto da região de soluções
viáveis que otimiza a função objetivo. Calcular o valor da função objetivo para cada um
dos vértices.
IMPORTANTE

Um problema de PL pode:
 Ter apenas uma solução ótima;
Escolher um valor arbitrário para Z para definir a  Ter soluções ótimas múltiplas;
reta de Função Objetivo.  Ter nenhuma solução ótima.
Solução ótima é uma solução viável que tem o
valor mais favorável da função objetivo.
𝑥1 𝑥𝟐 Z(𝟗𝟎𝑥1 +120𝑥𝟐 )
MAX
0 0 (90.0 + 120.0) = 0
MIN
O 50 (90.0 + 120.50) = 6000
15 50 (90.15 + 120.50) = 7350
40 33,3 (90.4 + 120.33,3) = 7600
40 0 (90.40 + 120.0) = 3600

Introdução à Pesquisa Operacional

Dúvidas?
Saulo Boldrini Gonçalves
sauloboldrinig@mail.uft.edu.br

Você também pode gostar