Modelagem em Programação Linear
Modelagem em Programação Linear
Licenciatura em Matemática
[Link]@[Link]
1 de maio de 2024
Apresentação
Apresentação
Ailton Arminda Lima Pereira José
Licenciado em Matemática Pura (USTP-FCT)
Mestre em Matemática e Aplicações-Estatística e Otimização
(UA-PT)
Especialização em Estatística
Especialização em Programação Linear
Especialização em Números, Sequência e Operações
Professor da USTP-FCT
Professor da USTP-ISEC
Professor do Ensino Secundário 2º ciclo: Liceu Nacional
Coordenador de Matemática do ISEC
Coordenador do curso de Matemática do ISEC
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 2 / 173
Apresentação Interesses
Interesses:
Álgebra Linear
Investigação Operacional
Modelos Preditivos (Machine Learnning)
Matemática Financeira-Engenharia Financeira
Estatística-Probabilidade
Equações Diferenciais
Matemática Computacional (Python, Xpress, R-studio, Matlab,
SageMath, Octave, Scilab e LPSolve)
Análise Matemática e Complexa
Educação Matemática-Etnomatemática-Didática Matemática
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 3 / 173
Programa
Programa
Programação Linear
Modelos de Problemas de Programação Linear
Introdução (P. P. L)
Exemplos clássicos de modelagem: problema de dieta; problema
de alocação de recursos; problema do transporte
Programação Linear: Introdução
Resolução gráfica de um P. P. L.
Forma padrão de um P. P. L.
Soluções básicas viáveis – pontos extremos
P. P. L. na forma básica
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 4 / 173
Programa
Programa
Programação Linear
Método Simplex
Fundamentos teóricos – Simplex
Quadro ou Tabela do Simplex
Interpretação geométrica do Simplex
Método das duas fases
Dualidade. Formulação do dual
Obtenção da solução dual pela tabela Simplex
Interpretação económica do dual
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 5 / 173
Programa
Programa
Programação Linear
Uso do software (Solver do Excel e PHPSimplex (Web))
Problema do Transporte
Modelagem
Solução do problema do transporte
O problema de afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 6 / 173
Programa
Introdução
Introdução
A Programação Linear (PL) está relacionada com a otimização
(minimização ou maximização) de uma função linear, satisfazendo
um conjunto de equações e/ou inequações (restrições) igualmente
lineares. Este problema foi inicialmente concebido por George B.
Dantzig em 1947 quando trabalhava como consultor matemático da
Unidade de Controlo da Forca Aérea Norte Americana. Apesar de
atualmente se saber que o matemático e economista soviético L. V.
Kantorovich formulou e resolveu previamente o mesmo tipo de
problemas em 1939, o seu trabalho permaneceu ignorado até 1959.
Por esse facto, é atribuída a Dantzig a conceção dos problemas de
PL, sendo a denominação Programação Linear usada pela primeira
vez pelo economista e matemático T. C. Koopmans em 1948.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 7 / 173
Programa
Introdução
Introdução
A programação linear (PL) é uma área da Matemática Aplicada
usada no ramo de Investigação Operacional (IO). A origem da IO
como ciência é atribuída à coordenação das operações militares
durante a 2ª Guerra Mundial. A palavra “programação” refere-se a
uma programação de tarefas ou planificação, não a uma programação
no sentido da informática. A palavra “Linear” advém do facto de as
expressões (condições) utilizadas serem lineares.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 8 / 173
Programa
Introdução
Introdução
O objetivo é otimizar problemas de decisão, através da utilização de
modelos que representem uma realidade. A solução ótima na
globalidade é um mínimo ou máximo a ser alcançado, nas condições
existentes. A aplicabilidade da PL é enorme, pode aplicar-se a
situações militares, indústria, agricultura, economia, saúde, etc.
Contudo, é na área económica que mais se tem desenvolvido. Desejo
que os alunos se familiarizem com conceitos sobre a decisão em
termos de planeamento, que podem ter a ver com minimizar
consumos, custos ou maximizar lucros.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 9 / 173
Programa
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 10 / 173
Programa
Introdução
Os procedimentos para determinar a solução (de modo a que o
objetivo se cumpra) podem ser variados. O mais antigo é o método
simplex. O método simplex consiste de um algoritmo que permite
resolver problemas de Programação Linear. Contudo o método que
iremos utilizar baseia-se na representação gráfica. Foi George Dantzig
que, entre 1947 e 1949, desenvolveu os conceitos principais da PL.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 11 / 173
Programa
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 12 / 173
Programa
Modelos de Problemas
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 13 / 173
Programa
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 14 / 173
Programa
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 16 / 173
Programa
Identificar as restrições
As restrições dizem respeito às quantidades mínimas dos elementos
nutritivos que devem ser ingeridos por refeição. Cada porção do tipo
de alimentos 1 fornece 103 Kcal. Como cada refeição inclui x1
porções de tipos de alimentos 1, então o elemento nutritivo calorias
fornecidas por alimentos do tipo 1 será 103x1 por refeição.
Analogamente, as calorias fornecidas pelos restantes tipos alimentos
serão 40x2 , 38x3 ,75x4 , 40x5 , respetivamente. Assim, a quantidade
total de calorias na composição dos cinco tipos de alimentos será:
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 18 / 173
Programa
Identificar o objetivo
Objetivo
O objetivo é minimizar o custo total:
Z1 = 0.80x1 + x2 + x3 + 1.2x4 + 0.75x5
Habitualmente, o modelo de programação linear escreve-se na
seguinte forma:
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 19 / 173
Programa
Modelo
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 20 / 173
Programa
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 21 / 173
Programa
As restrições
As restrições são, respetivamente, a área disponível, o número
máximo de trabalhadores e as quantidades máximas e mínimas a
produzir. Tem-se então:
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 23 / 173
Programa
O objetivo
Maximizar quantidade da produção (em toneladas) dos tipos de café
robusta e arábica:
x1 + x2
Modelo
max Z = x1 + x2
sujeito a:
20x1 + 40x2 ≤ 800
15x1 + 12x2 ≤ 450
x1 ≤ 30
x2 ≤ 20
x1 , x2 ≥ 0.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 24 / 173
Programa
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 25 / 173
Programa
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 26 / 173
Programa
Definições e Conceitos
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 27 / 173
Programa
Definições e Conceitos
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 28 / 173
Programa
Definições e Conceitos
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 29 / 173
Programa
Definições e Conceitos
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 30 / 173
Programa
Definições e Conceitos
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 31 / 173
Programa
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 32 / 173
Programa
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 33 / 173
Programa
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 34 / 173
Programa
Resumo
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 35 / 173
Programa
Resumo
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 36 / 173
Programa
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 37 / 173
Programa
Exemplos
W = {(x1 , x2 ) : x12 + x22 ≤ 4}
V = {(x1 , x2 ) : 0 ≤ x1 ≤ 3, x1 ≥ x2 , x2 ≥ 0}
Nota
Por convenção, o conjunto vazio é um conjunto convexo
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 38 / 173
Programa
Lemma
O conjunto das soluções admissíveis de um sistema de desigualdades
lineares da forma S = {x ∈ Rn : Ax ≤ b} é um conjunto convexo.
Definition
Poliedro: Um poliedro P é um subconjunto de Rn descrito por um
conjunto finito de desigualdades lineares, P = {x ∈ Rn : Ax ≤ b}.
Nota
Note que o Exemplo anterior W é um conjunto convexo, mas não é
um poliedro, pois não pode ser descrito por um número finito de
desigualdades, e V é um poliedro. Em R2 , um poliedro é a interseção
de um número finito de semiplanos.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 39 / 173
Programa
Lemma
Um poliedro em Rn é um conjunto convexo.
Definition
Politopo: Seja S ⊂ Rn . Dizemos que um conjunto S é um politopo,
quando S é um poliedro limitado.
Exemplo
P = {(x1 , x2 ) ∈ R2 : x1 + 2x2 ≤ 20; 5x1 + 3x2 ≤ 15 x1 , x2 ≥ 0}
Q = {(x1 , x2 ) ∈ R2 : x1 + 2x2 ≤ 20; 5x1 + 3x2 ≤ 15}
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 40 / 173
Programa
Nota
O poliedro P é um politopo, mas o poliedro Q não é um politopo.
Nota
Os poliedros podem ser caracterizados através de um conjunto de
desigualdades (ver atrás) ou através de um conjunto de pontos
(pontos extremos) e vetores (raios extremos). De seguida vamos
introduzir alguns conceitos que nos permitem definir pontos extremos
e raios extremos.
Definition
Combinação linear: Um vetor x ∈ Rn é uma combinação linear dos
vetores x1 , x2 , . . . , xk ∈ Rn , se existirem escalares λ ∈ Rk , tais que
x = ki=1 λi xi
P
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 41 / 173
Programa
Adicionalmente, se
Ponto extremo
Um ponto x de um conjunto convexo S ⊆ Rn diz-se um ponto
extremo se não existirem dois pontos distintos x1 , x2 ∈ S tais que,
para algum λ, 0 < λ < 1, x = λx1 + (1 − λ)x2 , isto é x não pode ser
escrito como combinação linear convexa de quaisquer dois pontos
distintos de S. Observe que, Figura, x1 é o ponto extremo de S, no
entanto x2 e x3 não são pontos extremos.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 42 / 173
Programa
Geometricamente
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 43 / 173
Programa
Raio
Um vetor r ∈ Rn é um raio de S se e só se para qualquer ponto
x ∈ S, o conjunto {y ∈ Rn : y = x + λr , λ ≥ 0} ⊆ S.
Um raio r de S é um raio extremo de S, se r = λr1 + (1 − λ)r2 ,
onde r1 e r2 são raios de S, então r1 = λ1 r e
r2 = λ2 r , λ1 , λ2 ≥ 0.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 44 / 173
Programa
Exemplo
S é um poliedro ilimitado (ver Figura). Os vetores r1 e r2 são raios,
isto é o conjunto de pontos da forma {y = x + λr , λ ≥ 0} pertence
ao poliedro S. Os vetores r1 , r2 são raios extremos do poliedro S.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 45 / 173
Interpretação Geométrica
Exposição
O conjunto dos pontos que satisfazem a desigualdade da forma
a1 x1 + a2 x2 ≤ b, ou da forma a1 x1 + a2 x2 ≥ b, onde pelo menos uma
das constantes a1 ou a2 é diferente de zero, é denominado como
semiplano. Portanto, uma reta divide o plano (espaço de dimensão 2)
em duas regiões denominadas semiplanos.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 46 / 173
Interpretação Geométrica
Exposição
Uma inequação do tipo a1 x1 + a2 x2 ≤ b representa o semiplano que
inclui o conjunto dos pontos da reta a1 x1 + a2 x2 = b, juntamente
com os pontos que estão num dos lados da reta. Por exemplo,
20x1 + 40x2 ≤ 800 é o conjunto dos pontos que aparecem
sombreados no gráfico a seguir:
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 47 / 173
Interpretação Geométrica
Exposição
Um semiplano é a representação gráfica de uma inequação linear em
duas variáveis. A representação gráfica de um sistema de inequações
lineares em duas variáveis será a interseção dos semiplanos
correspondentes a cada inequação linear. As restrições de um
problema de PL juntamente com as condições de não-negatividade
formam um conjunto de semiplanos cuja intersecção determina um
conjunto de pontos em R2 , denominado por região das soluções
admissíveis ou, simplesmente, região admissível.
Definição
As soluções admissíveis são quaisquer especificações de valores para
as variáveis x1 , x2 , . . . , xn que satisfaçam as restrições do problema e
as condições de não negatividade.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 48 / 173
Interpretação Geométrica
Definição
Região admissível é o conjunto de todas as soluções admissíveis, ou
seja, o conjunto dos pontos que satisfazem todas as restrições.
Nota
A região admissível define um poliedro. O poliedro é limitado
(politopo), ilimitado ou vazio dependendo das restrições que o
definem. Para mais detalhes, vamos considerar o exemplo seguinte.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 49 / 173
Interpretação Geométrica
Simplex
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 50 / 173
Interpretação Geométrica
Simplex
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 51 / 173
Interpretação Geométrica
Simplex
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 52 / 173
Interpretação Geométrica
Simplex
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 53 / 173
Interpretação Geométrica
Simplex
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 54 / 173
Interpretação Geométrica
Simplex
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 55 / 173
Interpretação Geométrica
Simplex
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 56 / 173
Interpretação Geométrica
Simplex
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 57 / 173
Interpretação Geométrica
Método Big M
Até agora abordamos o método >Simplex para PPL’s com
restrições do tipo (≤) e bj ≥ 0.
A SBA/SBV inicial desses PPL’s é encontrada de forma trivial,
deixando as variáveis de folga serem VB’s iniciais.
No entanto, quando o PPL possuir restrições da forma:
n
X n
X n
X
aij xj = bj ; aij xj ≥ bj ; ou aij xj ≤ −bj
j=1 j=1 j=1
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 59 / 173
Interpretação Geométrica
Exemplo
Modelo
min W = x1 − 2x2
sujeito a:
x1 + x2 ≥ 2
x1 ≤1
x2 ≥ 3
x1 , x2 ≥ 0.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 60 / 173
Interpretação Geométrica
min W = x1 − 2x2
sujeito a:
x1 + x2 − F1 = 2
x1 + +F2 = 1
x2 + +F3 = 3
x1 , x2 , F1 , F2 , F3 ≥ 0.
Observe que não existe nenhuma sequência tal que o PPL está
na forma canónica.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 61 / 173
Interpretação Geométrica
min W = x1 − 2x2
sujeito a:
x1 + x2 − F 1 + +A1 = 2
x1 + +F2 = 1
x2 + +F3 = 3
x1 , x2 , F1 , F2 , F3 , A1 ≥ 0.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 63 / 173
Interpretação Geométrica
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 64 / 173
Interpretação Geométrica
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 65 / 173
Interpretação Geométrica
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 66 / 173
Interpretação Geométrica
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 67 / 173
Interpretação Geométrica
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 68 / 173
Interpretação Geométrica
1ª Fase
A primeira fase é muito similar ao método Simplex, com a exceção da
construção da primeira tabela, além de ser necessário estudar o
resultado obtido para determinar se a segunda fase será desenvolvida.
Neste caso, a última tabela desta fase será, com algumas
modificações, utilizada como tabela inicial para a segunda fase.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 69 / 173
Interpretação Geométrica
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 70 / 173
Interpretação Geométrica
Exemplificação
Descrição
Sendo Zj = (Cbi Pj ) − Cj para i = 1, . . . , m, onde se
P
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 71 / 173
Interpretação Geométrica
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 72 / 173
Interpretação Geométrica
Fase II
A segunda fase do método das Duas Fases é desenvolvida
exatamente como no método Simplex, com a exceção de que antes
de iniciar as iterações deve-se eliminar as colunas que correspondem
às variáveis artificiais, e reconstruir a tabela inicial.
Eliminar coluna de variáveis artificiais:
Caso tenhamos concluído que o problema original tem solução,
devemos preparar nossa tabela para a segunda fase. Este passo é
muito simples, trata-se simplesmente de eliminar as colunas
correspondentes às variáveis artificiais.
Construção da tabela inicial:
A tabela inicial, neste caso, mantém-se muito similar à última
tabela da primeira fase. Deve ser modificada a linha da função
objetivo pela linha do problema original e calcular novamente a
linha Z (da mesma forma que na primeira tabela da fase 1).
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 73 / 173
Interpretação Geométrica
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 74 / 173
Interpretação Geométrica
Continuação
Soluções infinitas: satisfeito o critério de parada, se alguma
variável de decisão não-básica tem um valor 0 na fila Z , significa
que existe outra solução que fornece o mesmo valor ótimo para a
função objetivo. Neste caso, o problema admite infinitas
soluções, todas as quais abrangidas dentro do segmento (ou
parte do plano, região de espaço, etc., conforme o número de
variáveis do problema) definido por AX1 + BX2 = Z0 . Através de
uma nova iteração e fazendo com que a variável de decisão que
tenha 0 na linha Z entre na base, é obtida uma solução diferente
para o mesmo valor ótimo.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 75 / 173
Interpretação Geométrica
Continuação
Solução ilimitada (unbounded): se toda coluna da variável que
entra na base tem todos os seus elementos negativos ou nulos,
trata-se de um problema não-limitado, ou seja, que tem solução
ilimitada. Não há valor ótimo concreto para a função objetivo,
mas à medida que os valores das variáveis são aumentados, o
valor Z também aumenta sem violar qualquer restrição.
Não existe solução: quando nenhum ponto satisfaz às
restrições do problema, ocorre a inviabilidade, não existindo
nenhuma solução possível para ele. Neste caso, uma vez
terminadas todas as iterações do algoritmo, existem na base
variáveis artificiais em que o valor é superior a zero.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 76 / 173
Interpretação Geométrica
Continuação
Empate de variável de entrada: quando ocorre um empate
na escolha da variável que entrará, pode-se optar por qualquer
uma delas sem que isto afete a solução final. Por outro lado, se
ela influencia o número de iterações necessárias para obter a
solução. É aconselhável optar pelas variáveis básicas, já que elas
são as que farão parte da solução ótima.
Empate de variável de saída: novamente é possível optar por
qualquer uma delas. No entanto, a fim de não ampliar o
problema e evitar que a entrada fique em um ciclo infinito (caso
degenerado), discrimina-se a favor das variáveis de decisão
fazendo que permaneçam na base. No caso de ser a primeira
fase do método das Duas Fases, se optará por retirar da base as
variáveis artificiais.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 77 / 173
Interpretação Geométrica
Continuação
Curiosidade na fase 1: ao finalizar a fase 1, caso o problema
original tenha solução, todas as variáveis artificiais na linha
indicadora devem ter o valor "1".
O elemento pivô pode ser nulo?: Não, o elemento pivô
sempre será estritamente positivo já que apenas realizam-se os
quocientes entre os valores não-negativos e maiores que zero
(em um problema de maximização).
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 78 / 173
Interpretação Geométrica
Resumo
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 79 / 173
Interpretação Geométrica
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 80 / 173
Interpretação Geométrica
Modelo
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 81 / 173
Interpretação Geométrica
Modelo
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 82 / 173
Interpretação Geométrica
Modelo
max Z = x1 + 3x2
sujeito a:
− x1 + x2 ≤ 1
x2 = 10
x1 + x2 = 2
x1 , x2 ≥ 0.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 83 / 173
Interpretação Geométrica
Modelo
min Z = 2x1 + x2
sujeito a:
3x1 + 2x2 = 12
x1 + 3x2 ≥ 13
x1 , x2 ≥ 0.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 84 / 173
Interpretação Geométrica
Exercícios
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 85 / 173
Interpretação Geométrica
Exercícios
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 86 / 173
Interpretação Geométrica
Dual - Simplex
O método dual-simplex é aplicado em situações em que a solução
inicial do primal é inviável (algumas variáveis xj são negativas),
porém os elementos da funções objetivo são todos não negativos,
indicando otimalidade (solução dual yi é viável)
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 87 / 173
Interpretação Geométrica
Dual - Simplex
O método dual-simplex é aplicado em situações em que a solução
inicial do primal é inviável (algumas variáveis xj são negativas),
porém os elementos da funções objetivo são todos não negativos,
indicando otimalidade (solução dual yi é viável). A seguir, o método
procura alcançar a viabilidade primal, tornando as variáveis xj não
negativas, mas preservando a viabilidade dual.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 88 / 173
Interpretação Geométrica
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 89 / 173
Interpretação Geométrica
Formulação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 90 / 173
Interpretação Geométrica
Formulação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 91 / 173
Interpretação Geométrica
Hipóteses:
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 92 / 173
Interpretação Geométrica
Exemplo
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 93 / 173
Interpretação Geométrica
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 94 / 173
Interpretação Geométrica
Exercícios
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 95 / 173
Interpretação Geométrica
Exercícios
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 96 / 173
Teoria da Dualidade
Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 97 / 173
Teoria da Dualidade
Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 98 / 173
Teoria da Dualidade
Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 99 / 173
Teoria da Dualidade
Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 100 / 173
Teoria da Dualidade
Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 101 / 173
Teoria da Dualidade
Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 102 / 173
Teoria da Dualidade
Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 103 / 173
Teoria da Dualidade
Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 104 / 173
Teoria da Dualidade
Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 105 / 173
Teoria da Dualidade
Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 106 / 173
Teoria da Dualidade
Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 107 / 173
Teoria da Dualidade
Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 108 / 173
Teoria da Dualidade
Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 109 / 173
Teoria da Dualidade
Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 110 / 173
Teoria da Dualidade
Problema de transporte
Introdução
O problema de transportes é um dos casos particulares de
programação linear que, pela sua importância e frequência de
utilização, se impõe ser estudado de forma aprofundada.
Conceito
Um problema de transporte é todo aquele problema onde há a
necessidade de programar a distribuição ótima de um produto
homogéneo, produto esse que está disponível em diversas origens e
será enviado para diversos destinos, esgotando as disponibilidades de
cada origem e satisfazendo as necessidades de cada destino, isto é, a
procura é igual à oferta.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 111 / 173
Teoria da Dualidade
Situação
Sempre que nos encontramos perante um produto um produto
homogéneo, oferecido por um conjunto de centros de oferta ou
origens e procurado por um outro conjunto de centros de procura
ou destinos, estamos perante um problema de transportes, desde
que:
Se pretenda transportar o produto mencionado, dos centros de
oferta para os centros de procura;
Seja nosso objetivo encontrar a forma mais barata ou mais
rápida de o fazer
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 112 / 173
Teoria da Dualidade
Exemplo
Uma empresa tem 3 fábricas que produzem um determinado produto.
A capacidade de produção mensal das 3 fábricas é de 6, 1 e 10
unidades respectivamente. A empresa tem 4 armazéns de vendas que
vendem mensalmente 7, 5, 3 e 2 unidades do produto
respectivamente. O custo de transportar 1 unidade de cada fábrica
para cada armazém está dado na tabela abaixo:
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 113 / 173
Teoria da Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 114 / 173
Teoria da Dualidade
Explicação
O sinal de igual das restrições deve-se ao fato de que o somatório da
produção das fábricas é igual ao somatório das necessidades dos
armazéns.
Para problemas com esta estrutura particular, qual seja, coeficientes
das restrições iguais a 0 ou 1, é que podemos utilizar o chamado
Algorítimo dos Transportes.
Ele tem este nome porque os exemplos são, como acima,
normalmente de modelos de transporte mas na verdade, qualquer
modelo de [Link] que tenha este tipo de estrutura, pode ser
resolvido pelo algorítimo.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 115 / 173
Teoria da Dualidade
Nota
Podemos observar que todo o modelo, ou seja a função objetivo e as
restrições estão “escritas” no quadro.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 116 / 173
Teoria da Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 117 / 173
Teoria da Dualidade
Nota
Se o somatório das necessidades for maior que o somatório das
disponibilidades, temos que criar uma fonte artificial.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 118 / 173
Teoria da Dualidade
Impossibilidade de transporte
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 119 / 173
Teoria da Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 121 / 173
Teoria da Dualidade
Continuação
Elimine a linha ou coluna esgotada. No caso em que uma linha e
uma coluna são esgotadas ao mesmo tempo, só podemos
esgotar uma delas ficando a outra com zero, mas não esgotada.
Voltar a etapa 1.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 123 / 173
Teoria da Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 124 / 173
Teoria da Dualidade
No caso, temos
x11 = 7, x12 = 2, x22 = 4, x23 = 6, x33 = 4, x34 = 4 e C = 218
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 126 / 173
Teoria da Dualidade
Observação
É importante observar que na regra do canto Noroeste a solução
inicial é obtida sem levar em consideração os custos dos transportes
cij , isto é, depende exclusivamente das ofertas das origens e das
demandas dos destinos.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 127 / 173
Teoria da Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 128 / 173
Teoria da Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 130 / 173
Teoria da Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 131 / 173
Teoria da Dualidade
Descrição do método
calcular a penalidade para cada linha ou coluna. Escolher a linha
ou coluna para transporte, que tenha a maior penalidade. Caso
haja empate, escolha arbitrariamente uma delas;
transportar o máximo possível na linha ou coluna escolhida,
elegendo a célula de menor custo unitário de transporte. Esse
procedimento zera a oferta ou demanda da célula
correspondente. Alinha ou coluna que tenha sua disponibilidade
zerada deve ser eliminada;
retornar ao item a, até que todos os transportes tenham sido
realizados.
Nota
Geralmente consegue uma solução inicial melhor que os dois métodos
anteriores
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 132 / 173
Teoria da Dualidade
Algoritmo
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 133 / 173
Teoria da Dualidade
Método de Vogel
Explicação
Este método tem em geral melhores resultados do que os dois
métodos anteriores, uma vez que a escolha feita para variável básica,
é em cada quadro o de menor custo da linha ou coluna associada à
maior das diferenças entre os dois menores custos de cada linha e de
cada [Link] aplicação deste método é útil acrescentar uma linha
e uma coluna ao quadro para se escreverem as diferenças entre os
dois menores custos de cada linha e de cada coluna.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 134 / 173
Teoria da Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 135 / 173
Teoria da Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 136 / 173
Teoria da Dualidade
Solução
Esta solução, tem custo igual a 520. Note-se que é diferente das
obtidas pelos outros dois métodos mas em termos de custo é
exactamente igual.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 137 / 173
Teoria da Dualidade
Problema do Dual
Característica
Todo o problema de programação linear possui um problema
dual correspondente.
Chamaremos o problema original de “primal” e o problema dual
de “dual”.
Primal Dual
Max Min
Min Max
Descrição
Variáveis do problema primal → z, x1 , x2 , . . . , xn
Variáveis do problema dual → w , y1 , y2 , . . . , yn
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 138 / 173
Teoria da Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 139 / 173
Teoria da Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 140 / 173
Teoria da Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 141 / 173
Teoria da Dualidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 142 / 173
Teoria da Dualidade
Significado
O significado económico das variáveis duais é o seguinte:
ui é o preço na origem i (armazém, fábrica) do produto;
vj é o valor do produto no destino j (ponto de demanda)
Restrições do tipo: −ui + vj ≤ cij , significam que o preço de destino
(vj ) do produto menos o preço na origem (ui ) desse produto poderá
ser, no máximo, igual ao custo de transporte da origem i até o
destino correspondente j. Portanto, o transporte não pode dar
origem a ganhos de capital injustificados. Os preços/custos ui , vj ,
são conhecidos por serem preços sombra ou preços fictícios e
representar preços teóricos.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 143 / 173
Teoria da Dualidade
Interpretação
O significado destes preços é que eles indicam vantagens relativas de
localização do centros de produção (origens) ou centros de consumo
(destinos), devido à proximidade de centros de consumo ou existência
de melhores meios de transporte.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 144 / 173
Teste de Otimalidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 145 / 173
Teste de Otimalidade
Solução
Degenerada
Para um problema de transportes equilibrado com m origens e n
destinos, uma solução com menos de m + n − 1 variáveis maiores que
zero é degenerada.
Solução
Múltiplas
Uma vez obtida a solução ótima, novas soluções ótimas podem ser
encontradas, se houver algum indicador de um vetor não básico que
vale zero.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 147 / 173
Teste de Otimalidade
Soluções Degeneradas
Como anteriormente mencionado, ficámos a saber que uma solução
degenerada traduz uma situação especial em que uma das variáveis
básicas assume o valor zero.
Soluções Múltiplas
Quando, numa determinada solução, existe uma ligação não utilizada
que apresenta um custo reduzido nulo, isso significa que esta ligação
poderá passar a ser utilizada, não havendo com isso qualquer
alteração do valor de função objetivo, ou seja, dos custos totais de
transporte. assim, podemos identificar pelo menos duas soluções
(uma com essa ligação utilizada e outra com essa ligação por utilizar)
que apresentam os mesmos custos totais de transportes.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 148 / 173
Análise de Sensibilidade
Análise de Sensibilidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 149 / 173
Análise de Sensibilidade
Perguntas
Que fazer se uma ligação não utilizada ficar mais barata?
Que fazer se a procura de um determinado armazém ou destino
aumentar?
Que fazer se a oferta de um dos depósitos ou fabrica se alterar?
Para dar resposta a este tipo de questões podíamos introduzir na
formulação inicial do problema restrições do tipo "e se"e resolvê-lo
para encontrar a solução óptima. Mas na prática isto nem sempre é a
melhor opção pois a maioria dos problemas reais envolvem muitas
variáveis e são bastante complexos pelo que a inclusão de restrições
do tipo "e se"pode trazer dificuldades de resolução.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 150 / 173
Análise de Sensibilidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 151 / 173
Análise de Sensibilidade
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 152 / 173
Análise de Sensibilidade
Ate quanto é que o custo de uma ligação deve aumentar sem que
esta deixe de ser utilizada?
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 153 / 173
Problema de Afetação
Problema de Afetação
O problema da afetação é um tipo especial de problema de
programação linear em que os afetados estão sendo indicados para a
realização de tarefas. Por exemplo, os afetados poderiam ser
empregados que precisem receber designações de trabalho.
Afetar pessoas para determinadas tarefas é uma aplicação comum do
problema da afetação. Entretanto, os afetados não precisam ser
necessariamente pessoas.
Eles também podem ser máquinas, veículos ou fábricas, ou até
mesmo períodos a serem destinados a tarefas.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 154 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 155 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 156 / 173
Problema de Afetação
sujeito a:
X
xij = 1, ∀i ∈ n,
j∈m
X
xij = 1, ∀j ∈ m,
i∈n
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 157 / 173
Problema de Afetação
Descrição
O primeiro conjunto de restrições funcionais especifica que cada
designado deve realizar exatamente uma tarefa, ao passo que o
segundo conjunto requer que cada tarefa seja realizada exatamente
por um designado. Se eliminarmos a restrição entre parênteses para
que xij seja binário, o modelo claramente é um tipo especial de
problema de programação linear e, portanto, pode ser resolvido
prontamente. Felizmente, por razões ainda a ser desvendadas,
podemos eliminar essa restrição.
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 158 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 159 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 160 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 161 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 162 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 163 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 164 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 165 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 166 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 167 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 168 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 169 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 170 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 171 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 172 / 173
Problema de Afetação
Prof. Msc. Ailton Arminda (USTP - FCT) Programação Linear 1 de maio de 2024 173 / 173