pesquisa operacional - Prof. CLEBER A. OLIVEIRA

Propaganda
_________________________________________________________________
PESQUISA OPERACIONAL
Uma breve introdução.
Prof. Cleber Almeida de Oliveira
___________________________________________________________________________
Apostila para auxiliar os estudos da disciplina de Pesquisa Operacional por
meio da compilação de diversas fontes. Esta apostila encontra-se em fase
de construção e está sujeita a erros e alterações. Para melhoria desta,
gostaria de contar com a colaboração de todos e, agradeço desde já,
qualquer sugestão e/ou correção.
Programa do curso:
Semana 1:
Apresentação da disciplina
Visão geral de resolução de problemas
Semana 2:
Tabulação de Dados e Matrizes – Teoria
Solução de Sistemas
Semana 3:
Formulação em programação linear
Semana 4:
Formulação em programação linear
Semana 5:
Resolução de problemas de PL pelo Método Gráfico
Semana 6:
Prova (conteúdo das semanas anteriores)
Semana 7:
Introdução ao método simplex para resolução de PPL
A matemática do método simplex
Semana 8:
Resolução de problemas de PL pelo Método Simplex
Definição dos Trabalhos Individuais
Semana 9:
Resolução computacional de problemas de PL (Solver)
Análise de sensibilidade
Semana 10:
Entrega dos Trabalhos (3h)
Semana 11:
Prova
Ementa
Tabulação de Dados e Matrizes. Sistema de equações lineares. Introdução ao Processo de
Modelagem da Pesquisa Operacional. Programação Linear. Programação Linear Inteira.
Objetivos
Adquirir conhecimentos necessários a respeito das transformações lineares e de teoria das
matrizes. Aprender a modelar e resolver os principais problemas determinísticos de pesquisa
operacional, e a utilizar os pacotes computacionais EXCEL (com opção do SOLVER) ou
LINDO/LINGO para solucionar estudos de casos práticos.
Estabelecer vínculos práticos e acadêmicos, principalmente, com as seguintes áreas:
matemática, estatística, informática, produção, logística, estratégia e gestão de projetos.
Conteúdo Programático
UNIDADE I – ARRANJO TABULAR E MATRIZES
1 - Tabulação de dados. Soma ou produto por escalar
2 - Produto de matrizes. Matriz transposta
3 - Matrizes quadradas
4 - Matriz inversa
5 - Posto de uma matriz
6 - Escalonamento. Formas canônicas
UNIDADE II - SISTEMAS DE EQUAÇÕES LINEARES
1 - Soluções dos sistemas homogêneos e não homogêneos
2 - Estudo de variação de parâmetros
UNIDADE III - INTRODUÇÃO AO PROCESSO DE MODELAGEM DA PESQUISA
OPERACIONAL
3.1 - Colocação dos tipos de problemas a serem resolvidos
3.2 - Classificação dos tipos de modelos existentes
3.3 - Efeito da disponibilidade de dados na escolha do modelo
3.4 - Fases do processo de modelagem e solução de problemas em pesquisa operacional
UNIDADE IV - PROGRAMAÇÃO LINEAR
4.1 - Colocação do tipo de problema a ser resolvido
4.2 - Modelagem e Solução pelo método gráfico
4.3 - Modelagem e Solução pelo método SIMPLEX
4.4 - Dualidade
4.5 - Análise de sensibilidade
UNIDADE V - PROGRAMAÇÃO LINEAR INTEIRA
5.1 - Colocação do tipo de problema a ser resolvido
Metodologia
Aulas expositivas e práticas: leitura; dinâmicas; estudos de caso; exercícios, palestras
integradas à disciplina; casos práticos e solução de problemas; integração com empresários e
trabalhos de campo.
Atividades discentes
Elaboração e apresentação de trabalhos acadêmicos, individuais e/ou em grupo; resolução de
problemas; leitura livros, jornais e artigos, análise de estudos de caso; exercícios,trabalhos de
campo.
Procedimentos de avaliação
Provas individuais e trabalhos individuais ou em grupos, sendo GQ3 e GQE prova e com a
matéria TODA.
Trabalhos: estudos de caso; seminários; atividades propostas pelo professor dentro e fora de
sala de aula e outros, podendo valer até 3 pontos no GQ1 e no GQ2.
Bibliografia Básica
1. OLIVEIRA, C. A. – Apostila de Pesquisa Operacional, 2010.
2. LOESCH, C. e HEIN, N. - Pesquisa Operacional fundamentos e modelos - Ed. Saraiva, São
Paulo, 2009
Complementar
1. Taha, H. A., Pesquisa Operacional, 8a edição. Pearson (Prentice-Hall), 2008.
Propósito da Aula:
Para os estudantes de Administração esta disciplina é aplicada para auxiliar na tomada de
decisão. A Pesquisa Operacional é uma ferramenta que permite estruturar e otimizar
processos da empresa por meio de construção de modelos matemáticos. Para isso, será
imprescindível revisarmos arranjos tabulares ou tabulação de dados e as principais formas de
representá-los: matrizes ou sistemas lineares.
1. Matrizes
1.1 Introdução
O crescente uso dos computadores tem feito com que a teoria das matrizes seja cada vez
mais aplicada em áreas como Administração, Economia, Engenharia, Matemática, Física,
dentre outras. Vejamos um exemplo.
A tabela a seguir apresenta o arranjo tabular das notas de três alunos em uma etapa:
A
B
C
Química
8
6
4
Inglês
7
6
8
Literatura
9
7
5
Espanhol
8
6
9
Se quisermos saber a nota do aluno B em Literatura, basta procurar o número que fica na
segunda linha e na terceira coluna da tabela.
Vamos agora considerar uma tabela de números dispostos em linhas e colunas, como no
exemplo acima, mas colocados entre parênteses ou colchetes:
Em tabelas assim dispostas, os números são os elementos. As linhas são enumeradas de
cima para baixo e as colunas, da esquerda para direita:
Tabelas com m linhas e n colunas (m e n números naturais diferentes de 0) são
denominadas matrizes m x n. Na tabela anterior temos, portanto, uma matriz 3 x 3.
Veja mais alguns exemplos:
•
•
é uma matriz do tipo 2 x 3
é uma matriz do tipo 2 x 2
1.2 Notação geral
Costuma-se representar as matrizes por letras maiúsculas e seus elementos por letras
minúsculas, acompanhadas por dois índices que indicam, respectivamente, a linha e a coluna
que o elemento ocupa.
Assim, uma matriz A do tipo m x n é representada por:
ou, abreviadamente, A = [aij]m x n, em que i e j representam, respectivamente, a linha e a coluna
que o elemento ocupa. Por exemplo, na matriz anterior, a23 é o elemento da 2ª linha e da 3ª
coluna.
Na matriz , temos:
Ou na matriz B = [-1 0 2 5 ], temos: a 11 = -1, a12 = 0, a13 = 2 e a14 = 5.
1.3 Denominações especiais
Algumas matrizes, por suas características, recebem denominações especiais.
• Matriz linha: matriz do tipo 1 x n, ou seja, com uma única linha. Por exemplo, a
matriz A =[4 7 -3 1], do tipo 1 x 4.
• Matriz coluna: matriz do tipo m x 1, ou seja, com uma única coluna. Por exemplo a
matriz B, do tipo 3 x 1 :
•
Matriz quadrada: matriz do tipo n x n, ou seja, com o mesmo número de linhas e
colunas; dizemos que a matriz é de ordem n. Por exemplo, a matriz C é do tipo 2 x 2,
isto é, quadrada de ordem 2.
Numa matriz quadrada definimos a diagonal principal e a diagonal secundária. A principal é
formada pelos elementos aij tais que i = j. Na secundária, temos i + j = n + 1.
Veja:
Observe a matriz a seguir:
a11 = -1 é elemento da diagonal principal, pois i = j = 1
a31= 5 é elemento da diagonal secundária, pois i + j = n + 1 ( 3 + 1 = 3 + 1)
•
Matriz nula: matriz em que todos os elementos são nulos; é representada por 0 m x n.
Por exemplo:
.
•
Matriz diagonal: matriz quadrada em que todos os elementos que não estão na
diagonal principal são nulos. Por exemplo:
•
Matriz identidade: matriz quadrada em que todos os elementos da diagonal principal
são iguais a 1 e os demais são nulos; é representada por In, sendo n a ordem da matriz.
Por exemplo:
Assim, para uma matriz identidade
.
•
Matriz transposta: matriz At obtida a partir da matriz A trocando-se ordenadamente
as linhas por colunas ou as colunas por linhas. Por exemplo:
Desse modo, se a matriz A é do tipo m x n, At é do tipo n x m.
Note que a 1ª linha de A corresponde à 1ª coluna de At e a 2ª linha de A corresponde à 2ª
coluna de At.
•
Matriz simétrica: matriz quadrada de ordem n tal que A = At . Por exemplo, a matriz
A é simétrica, pois a12 = a21 = 5, a13 = a31 = 6, a23 = a32 = 4, ou seja, temos sempre
a ij
= a ji.
•
Matriz oposta: matriz -A obtida a partir de A trocando-se o sinal de todos os
elementos de A. Por exemplo:
.
1.4 Igualdade de matrizes
Duas matrizes, A e B, do mesmo tipo m x n, são iguais se, e somente se, todos os elementos
que ocupam a mesma posição são iguais:
.
1.5 Operações envolvendo matrizes
a) Adição
Dadas as matrizes
, chamamos de soma dessas matrizes a matriz
, tal que Cij = aij + bij , para todo
:
A+B=C
Exemplos:
•
•
Observação: A + B existe se, e somente se, A e B forem do mesmo tipo.
Propriedades
Sendo A, B e C matrizes do mesmo tipo ( m x n), temos as seguintes propriedades para a
adição:
a) comutativa: A + B = B + A
b) associativa: ( A + B) + C = A + ( B + C)
c) elemento neutro: A + 0 = 0 + A = A, sendo 0 a matriz nula m x n
d) elemento oposto: A + ( - A) = (-A) + A = 0
b) Subtração
Dadas as matrizes
soma de A com a matriz oposta de B:
, chamamos de diferença entre essas matrizes a
A-B=A+(-B)
Observe:
1.5.1 Multiplicação de um número real por uma matriz
Dados um número real x e uma matriz A do tipo m x n, o produto de x por A é uma matriz
B do tipo m x n obtida pela multiplicação de cada elemento de A por x, ou seja, bij = xaij:
B = x.A
Observe o seguinte exemplo:
Propriedades
Sendo A e B matrizes do mesmo tipo ( m x n) e x e y números reais quaisquer, valem as
seguintes propriedades:
a) associativa: x . (yA) = (xy) . A
b) distributiva de um número real em relação à adição de matrizes: x . (A + B) = xA + xB
c) distributiva de uma matriz em relação à adição de dois números reais: (x + y) . A = xA +
yA
d) elemento neutro : xA = A, para x=1, ou seja, A=A
1.5.2 Multiplicação de matrizes
O produto de uma matriz por outra não é determinado por meio do produto dos seus
respectivos elementos.
Assim, o produto das matrizes A = ( aij) m x p e B = ( bij) p x n é a matriz C = (cij) m x n em que
cada elemento cij é obtido por meio da soma dos produtos dos elementos correspondentes da
i-ésima linha de A pelos elementos da j-ésima coluna B.
Vamos multiplicar a matriz
Cij:
•
1ª linha e 1ª coluna
para entender como se obtém cada
•
1ª linha e 2ª coluna
•
2ª linha e 1ª coluna
•
2ª linha e 2ª coluna
Assim,
.
Observe que:
Portanto,
comutativa.
.A, ou seja, para a multiplicação de matrizes não vale a propriedade
Vejamos outro exemplo com as matrizes
:
Da definição, temos que a matriz produto A . B só existe se o número de colunas de A for
igual ao número de linhas de B:
A matriz produto terá o número de linhas de A (m) e o número de colunas de B(n):
•
•
•
Se A3 x 2 e B 2 x 5 , então ( A . B ) 3 x 5
Se A 4 x 1 e B 2 x 3, então não existe o produto
Se A 4 x 2 e B 2 x 1, então ( A . B ) 4 x 1
Propriedades
Verificadas as condições de existência para a multiplicação de matrizes, valem as seguintes
propriedades:
a) associativa: ( A . B) . C = A . ( B . C )
b) distributiva em relação à adição: A . ( B + C ) = A . B + A . C ou ( A + B ) . C = A . C + B .
C
c) elemento neutro: A . In = In . A = A, sendo In a matriz identidade de ordem n
Vimos que a propriedade comutativa, geralmente, não vale para a multiplicação de matrizes.
Não vale também o anulamento do produto, ou seja: sendo 0 m x n uma matriz nula, A .B =0 m x
n não implica, necessariamente, que A = 0 m x n ou B = 0 m x n.
1.6 Matriz inversa
Dada uma matriz A, quadrada, de ordem n, se existir uma matriz A', de mesma ordem, tal
que A . A' = A' . A = In , então A' é matriz inversa de A . representamos a matriz inversa por
A-1 .
Algoritmo no R (R é um software livre)
> A=matrix (c(2, 3, 5, 7),2,2)
[,1] [,2]
>A
[1,] -7
[,1] [,2]
[2,]
5
3 -2
[1,]
2
5
> I=A%*%InvA
[2,]
3
7
>I
> InvA=solve(A)
[,1] [,2]
> InvA
[1,] 1
0
[2,] 0
1
2. Sistemas de Equações Lineares
Tanto as linhas quanto as colunas de uma matriz podem ser tratadas por vetores. Um vetor
pode ser considerado uma matriz de uma única linha, ou uma única coluna. Quando um vetor
é considerado uma matriz com uma única linha, é chamado vetor linha. Quando é uma matriz
de uma única coluna, é chamado de vetor coluna. Um vetor coluna será representado da
mesma forma que um vetor convencional, ou seja, uma letra minúscula em negrito (p, q, r).
Quando for o caso de um vetor linha, ele será representado como um vetor transposto (pT,
qT, rT).
Suponha o seguinte sistema de equações lineares:
2 x1 - x2 = 7
- x1 + 4 x2 = 0
Este sistema pode ser representado na forma matricial por
2 −1 . x 1 = 7
−1 4
0 ou Ax = b
x2
[
][ ] [ ]
onde
[
A= 2 −1
−1 4
]
[]
, X=
[]
x1
x2
7
e b=
0
O vetor coluna x é o vetor solução do sistema de equações e pode ser calculado por
x = A b.
-1
Exemplo de resolução de sistemas por matrizes empregando o software R.
O dobro da idade de Ana mais a idade de Maria somam 40 anos. O triplo da idade de Ana
mais o dobro da idade de Maria somam 70 anos. Qual a idade de Ana e de Maria?
Modelo do problema:
2A+M=40
3A+2M=70
Podemos considerar a representação matricial deste sistema como:
A * X = B ===> A solução consiste em obter X=invA * B
sendo A a matriz:
> A=matrix(c(2,3,1,2),2,2)
>A
[,1] [,2]
[1,] 2 1
[2,] 3 2
Sendo B a matriz:
> B=matrix(c(40,70),2,1)
>B
[,1]
[1,] 40
[2,] 70
Calcula-se a inversa da matriz A com o seguinte comando:
> invA=solve(A)
> invA
[,1] [,2]
[1,] 2 -1
[2,] -3 2
Obtém-se as idades de Ana e Maria com a seguinte operação:
> X=invA%*%B
>X
[,1]
[1,] 10
[2,] 20
Portanto as idades de Ana e Maria são respectivamente 10 e 20 anos.
Para a solução de um sistema de equações lineares, são propostos alguns métodos algébricos:
2.1 Método algébrico por adição
Pelo menos uma das equações deve ser multiplicada por um escalar real, de modo que,
após a soma das equações, apenas uma das variáveis seja efetivamente a incógnita do
problema. Por exemplo,
4 x1 + 8 x2 = 160
6 x1 + 4 x2 = 120
Multiplicando a segunda equação por (-2), temos
4 x1 + 8 x2 = 160
-12 x1 - 8 x2 = -240
Somando as duas equações, chega-se a:
-8 x1 = -80
Daí, calcula-se facilmente o valor de x1 e, substituindo este valor em qualquer uma das
equações acima, calcula-se o valor de x2.
x1 = 10
x2 = 15
2.2 Método algébrico por substituição
Isola-se uma das variáveis em uma das equações, substituindo-se a relação obtida na outra
equação.
Por exemplo,
4 x1 + 8 x2 = 160
6 x1 + 4 x2 = 120
Manipulando a primeira equação, temos que
160−8x 2
x 1=
=40−2x 2
4
Substituindo x1 na segunda equação,
6 (40 - 2 x2) + 4 x2 = 120
Resolvendo a equação algebricamente, e aplicando o valor de x2 encontrado na primeira
equação
240 - 12 x2 + 4 x2 = 120
-8 x2 = -120
x2 = 15
x1 = 10
2.3 Método de Gauss-Jordan
Consiste da derivação de um sistema específico de equações lineares que tenha a mesma
solução que o sistema original. Este novo sistema deverá ter o formato de uma matriz
identidade, o que pode ser obtido através de combinações lineares das equações originais.
Assim, pretende-se que
4 x1 + 8 x2 = 160
1 x1 + 0 x2 = a
6 x1 + 4 x2 = 120
0 x1 + 1 x2 = b
São permitidas as seguintes transformações lineares:
Troca de linhas
Multiplicação da linha por um escalar
Soma de uma linha multiplicada por um escalar a uma outra linha
Notação:
L n↔ L m
L n¬ k L n
L n ¬ L n+ k L m
troca das linhas n e m;
multiplicação da linha n pelo escalar k;
soma da linha m multiplicada pelo escalar k à linha n.
Para resolver o exemplo acima, são seguidos os seguintes passos:
1. L1 ¬ L1 / 4 (divisão da linha 1 por 4) - transformação do coeficiente de x1 na equação 1
para 1.
x1 + 2 x2 = 40
6 x1 + 4 x2 = 120
2. L2 ¬ L2 - 6 L1 (subtração da linha 2 pela linha 1 multiplicada por 6) - transformação do
coeficiente de x1 na equação 2 para 0.
x1 + 2 x2 = 40
0 x1 - 8 x2 = -120
3. L2 ¬ - L2 / 8 (divisão da linha 2 por (-8)) - transformação do coeficiente de x2 na equação 2
para 1.
x1 + 2 x2 = 40
0 x1 + 1 x2 = 15
4. L1 ¬ L1 - 2 L2 (subtração da linha 1 pela linha 2 multiplicada por 2) - transformação do
coeficiente de x2 na equação 1 para 0.
x1 + 0 x2 = 10
0 x1 + 1 x2 = 15
Solução
x1 = 10
x2 = 15
3. Exercícios:
1. Determine a matriz inversa das seguintes matrizes (algebricamente, Gauss-Jordan e R):
[ ]
A= 5
4
[ ]
6
5
B= 2
1
[ ]
5
3
C= 1 0
0 2
2. Determine a matriz inversa das seguintes matrizes usando o software R.
[
0
1
4
5
D=
8
9
−3 −4
2
3
6
7
−1 −2
−5 9
]
3. Escreva na forma matricial e resolva os sistemas abaixo:
{
x+y− z=0
a ) x− y −2z=1
x+ 2y +z= 4
}
{
3x−2y +z= 2
b ) −4y+3z=−2
36
3x+2y=
15
} {
x+y+z+t= 2
x+ 2y−t= 4
c)
2x− y+z−t=−3
−4x +y−z+ 2t=4
}
Download