A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Geraldo Nunes Silva

Apresentações semelhantes


Apresentação em tema: "Prof. Geraldo Nunes Silva"— Transcrição da apresentação:

1 Prof. Geraldo Nunes Silva
Métodos de Otimização I Prof. Geraldo Nunes Silva Estas notas de aula são Basedas no livro: “Hillier, F. S. e G. J. Lieberman. Introdução à Pesquisa Operacional, Campus, 3a ed., 1988” Agradeço a Professora Gladys Castillo do Departamento de Matemática da Universidade de Aveiro por ter permitido a utilização de alguns slides preparados pelo um grupo de pessoas de seu departamento

2 Aula de Hoje O método Simplex Aplicado ao Problema de Transporte (PT).
Obtenção de uma SBF inicial. Método do canto N-W; Método do mínimo da matriz de custos; Método de Vogel. Obtenção da solução óptima. Método de Dantzig.

3 Problema de Transporte. Exemplo Protótipo
Uns dos principais produtos da firma Lactosal é o leite. Os pacotes de leites são empacotados em 3 fábricas e depois são distribuídos de caminhão para quatro armazéns Conhecendo os custos de transporte, a procura prevista para cada armazém e as capacidades de produção de cada fábrica, pretende-se: OTIMIZAR O PROGRAMA DE DISTRIBUIÇÃO DIÁRIO DO LEITE.

4 Problema de Transporte. Exemplo Protótipo
Os dados dos custos de uma carga de leite para cada combinação fábrica-armazém e das ofertas (produção) e procuras, em cargas de caminhão/dia, são os seguintes: Custo por carga de caminhão Armazéns Fábricas 1 2 3 4 Oferta 6 8 10 Procura 7 24 cargas diárias de leite devem ser produzidas e distribuídas

5 Quadro do Problema de Transporte
Para o exemplo protótipo a oferta total é igual à procura total

6 Algoritmo para a resolução do PT.
Obtenção de uma SBF inicial A SBF verifica o critério de otimalidade? Sim FIM !!! a solução é ótima Não Mover-se para uma SBF "melhor"

7 Algoritmo para a resolução do PT.
Como o problema de transporte é apenas um tipo especial de problema de programação linear, ele poderia ser resolvido aplicando o método simplex exatamente como vimos anteriormente Para tanto, teríamos que acrescentar variáveis artificiais e usando o método “big M”, por exemplo, proceder as iterações do método simplex. Entretanto, veremos na aula de hoje como explorar esta estrutura especial para obtermos um método muito mais eficiente o qual chamaremos método simplex para o problema de transporte Cabe observar que outros tipos de estruturas especiais podem ser exploradas de forma a obter algoritmos eficientes (veremos em outra aula como explorar a estrutura especial do problema de designação)

8 Passo 1: Obtenção de uma SBF Inicial
Qualquer SBF do problema de transporte tem no máximo m+n-1 variáveis básicas Qualquer restrição de oferta é igual à soma das restrições de demanda menos a soma das outras restrições de oferta e, cada restrição de demanda também é igual a soma das restrições de oferta menos a soma das outras restições de demanda. Assim vamos contruir uma SBF inicial selecionando m+n–1 variáveis, uma de cada vez e, posteriormente, vamos atribuir valores a essas variáveis. Diversos métodos foram propostos para obteção de uma SBF inicial, vejamos a seguir alguns deles.

9 Passo 1: Obtenção de uma SBF Inicial Método do Canto Noroeste
A variável básica escolhida é, em cada quadro, a variável situada no canto superior esquerdo (daqui o nome do canto do NW (NorthWest). A primeira variável básica escolhida será sempre x11, depois que tenha sido traçada a coluna 1 ou a linha 1, será escolhida como variável básica x12 ou x21 respectivamente, e assim sucessivamente até terem sido traçadas todas as linhas e todas as colunas. Este método é de aplicação muito fácil, mas tem como grande inconveniente o fato de não considerar os custos na identificação da SBF inicial.

10 Exemplo Protótipo. Método do Canto Noroeste
1º. x11 =min (4,6 )= 4 1 2 4 3 6 8 10 2 4 2 2º. x12 =min (7,2 )= 2 3 3º. x22 =min (5,8 )= 5 5 3 4º. x23=min (6,3 )= 3 7 3 7 5º. x33=min (3,10 )= 3 6º. x34=min (7,7 )= 7 5 3 SBF inicial: X0 = ( 4 , 2, 0, 0, 0, 5, 3, 0, 0, 0, 3, 7 ) ; z0 = 42

11 Passo 1: Obtenção de uma SBF Inicial Método do Mínimo da Matriz dos Custos.
A variável básica escolhida é a variável que corresponde ao menor custo (em caso de empate a escolha é arbitrária). A primeira variável básica escolhida será sempre a de menor custo, depois será escolhida como variável básica a de menor custo no quadro resultante relativo ao que foi traçado, e assim sucessivamente, até terem sido traçadas todas as linhas e todas as colunas. Este método, em princípio, fornece soluções iniciais mais próximas da solução ótima que o método anterior, já que são considerados os custos na identificação da SBF inicial.

12 Exemplo Protótipo.Método do Mínimo dos Custos
1º: min (cij )= c31= 0  x31 =min (4,10)= 4 1 2 4 3 6 8 10 6 2º: min (cij) =c34= 1  x34 = min ( 7, 6 )= 6 2 1 1 1 3º: min (ci) = c12=c23= 2  x12 = min ( 7, 6 ) = 6 6 6 6 4º: min (cij) =c23= 2  x23= min ( 6, 8 ) = 6 4 5º: min (cij)= c22= 3  x22= min ( 2, 1 ) = 1 1 1 6º: min (cij) =c24= 4  x24=min (1, 1 ) =1 SBF inicial: X0 = ( 0 , 6, 0, 0, 0, 1, 6, 1, 4,0, 0,6) ; z = 38

13 Passo 1: Obtenção de uma SBA Inicial. Método de Vogel
A variável básica escolhida é, em cada quadro, a variável que corresponde ao menor custo da linha ou coluna associada à maior das diferenças entre os dois menores custos de cada linha e cada coluna(em caso de empate a escolha é arbitrária). Este método identifica uma SBF inicial, em geral, melhor do que as obtidas pelos métodos anteriores.

14 Exemplo Protótipo.Método de Vogel. Quadro 1
1º: acrescentar uma linha e uma coluna, com as diferenças entre os dois menores custos, em coluna e em linha respectivamente. 1 2 4 3 1 10 8 6 2 2º: Selecionar a maior das diferenças: max (diferenças) = 3 , coluna 4. 3 7 1 3 mínimo 3º: Selecionar o menor dos custos para esta coluna: min (cij: j=4)= c34= 1  x34= min ( 7, 10 ) = 7 máximo Iteração 1: x34= 7

15 Exemplo Protótipo. Método de Vogel. Quadro 2
1º: calcular as novas diferenças relativas apenas aos elementos não traçados 1 2 3 4 1 2 3 8 6 2º: Selecionar a maior das diferenças: max (diferenças) = 2 e corresponde à linha 3. 4 3 2 4 2 2 1 3º: Selecionar o menor dos custos para esta linha: min (cij: i=3)= c31= 0  x31= min ( 4, 3 ) = 3 3 7 1 máximo 1 mínimo Iteração 2: x31= 3

16 Exemplo Protótipo. Método de Vogel. Quadro 3
1º: calcular as novas diferenças relativas apenas aos elementos não traçados mínimo 1 2 3 4 8 6 4 1 5 1 2º: Selecionar a maior das diferenças : max (diferenças) = 3 e corresponde à coluna 1. 7 3º: Selecionar o menor dos custos para esta coluna: min (cij: j=1) = c11= 1  x11= min ( 1, 6 ) = 1 3 1 1 máximo Iteração 3: x11= 1

17 Exemplo Protótipo. Método de Vogel Quadro 4
1º: calcular as novas diferenças relativas apenas aos elementos não traçados: todas são iguais a 1, pelo que pode ser escolhida qualquer delas . mínimo 8 6 5 7 1 3 4 2 1 5 2º: Selecionar a coluna 2 e o menor dos seus custos : min (cij: j=2) = c12= 2  x12= min ( 7,5 ) = 5 1 2 Iteração 4: x12= 5

18 Exemplo Protótipo. Método de Vogel Quadro 5
As células restantes podem ser preenchidas imediatamente: x22= 2 x23= 6 1 2 4 3 1 5 4 3 2 4 8 2 6 2 2 1 3 7 SBF inicial: X0 = ( 1 , 5, 0, 0, 0, 2, 6, 0, 3,0, 0,7) ; z = 36

19 Passo 1: Obtenção de uma SBF Inicial. Exemplo Protótipo
mais fácil Método SBF inicial f.o. Canto do NW Mínimo de custos Voguel "pior" SBF z0 = 42 X0 = ( 4 , 2, 0, 0, , 5, 3, 0, , 0, 3, 7) z0 = 38 X0 = ( 0 , 5, 1, 0, , 2, 6, 0, , 0, 0, 6) z0 = 36 X0 = ( 1 , 5, 0, 0, , 2, 6, 0, , 0, 0, 7) "melhor" SBF menos fácil

20 Passo 2: Obtenção da solução ótima Método de Dantzing
Passo 2: Obtenção da solução ótima Método de Dantzing. Critério de otimalidade Determinar a solução dual complementar ui , vj , ( i=1,2…,m , j=1,2…,n ), por resolução do Sistema de Dantzig: ui + vj = cij ( i , j )  IB A solução dual é factível: ui + vj- cij 0 , ( i , j )  IB ? FIM a solução é ótima !!! Sim Não Passar ao passo seguinte

21 Obtenção da solução ótima. Método de Dantzing
Obtenção da solução ótima.Método de Dantzing. Passo 1: Critério de otimalidade. O primeiro passo, que consiste em testar a otimalidade da SBF atual pode ser executado recorrendo à Dualidade. Para isso é necessário determinar a correspondente solução dual. Enquanto na apresentação tabular do método simplex esta solução pode ser lida diretamente no quadro respectivo, com a apresentação tabular do problema de transporte isso não acontece. Contudo, atendendo à simplicidade da estrutura do problema dual de transporte, é fácil determinar a solução dual.

22 Formulação do Problema Dual de Transporte.
Diagrama de Tucker         Problema primal x110 x120 x130 x140 x210 x220 x230 x240 x310 x320 x330 x340 Max w = 6 = 8 = 10 = 4 = 7 = 6 = 7 u1 livre u2 livre u3 livre v1 livre v2 livre v3 livre v4 livre Min z Problema dual

23 Formulação do Problema Dual de Transporte.
Maximizar w = 6 u u u v v v3 + 7 v4 sujeito a: u v  u v  u v  3 u v  u v  u v  u v  u v  u3 + v  u v  u v  u v  ui , v j livres ( i=1,2,3; j=1,2,3,4 )

24 Exemplo Protótipo. Sistema de Dantzing
Para a SBF inicial obtida pelo Método do Canto N-W X0 = ( 4 , 2, 0, 0, 0, 5, 3, 0, 0, 0, 3, 7 ) tem-se: De acordo com a propriedade das folgas complementares, a cada variável básica do problema primal se encontra associada uma restrição ativa no problema dual . x11= 4 u1 + v = 1 x12 = 2 u1 + v = 2 x22 = 5 u2 + v = 3 x23 = 3 u2 + v = 2 Sistema de Dantzig para a SBF atual x33 = 3 u3 + v3 = 2 x34 = 7 u3 + v = 1

25 Exemplo Protótipo. Obtenção da solução ótima
Exemplo Protótipo. Obtenção da solução ótima. Passo 1: Critério de Optimalidade 1º. Determinar a solução dual. u1 =0 u1 + v = 1 u1 + v = 2 u2 + v = 3 u2 + v = 2 u3 + v = 2 u3 + v = 1 v1 =1 Dado que uma das (m+n) restrições do problema primal é redundante, este sistema de equações é indeterminado de grau 1, pelo que a sua resolução é efetuada atribuindo um valor arbitrário a qualquer das variáveis duais e calculando a partir desta as restantes ( é habitual fazer u1 =0 ) v2 =2 u2 =1 v3 =1 u3 =1 v4 =0

26 Obtenção da solução ótima. Passo 1: Critério de Otimalidade
1º. Determinar a solução dual. Esta solução para as variáveis duais pode ser obtida diretamente no quadro de transporte correspondente à SBF associada. Em síntese, fixando u1 =0, desloca-se em linha através das células correspondentes às variáveis básicas, para obter os vj. Uma vez obtidos estes, desloca-se em coluna através das células correspondentes às variáveis básicas para obter os ui .

27 Exemplo Protótipo. Obtenção da solução ótima
Exemplo Protótipo. Obtenção da solução ótima. Passo 1: Critério de Otimalidade. 1º. Determinar a solução dual. ( 2 ) u1+ v2=2  0 + v2=2 ( 4 ) u2+ v3=2  1 + v3=2 ( 6 ) u3+ v4=1  1 + v4=1 ( 1 ) u1+ v1=1  0 + v1=1 v1=1 v2=2 v3=1 v4=0 24 1 2 4 3 5 7 u1=0 ( 3 ) u2+ v2=3  u2+ 2 =3 u2=1 ( 5 ) u3+ v3=2  u3+ 1=2 u3=1

28 Obtenção da solução ótima. Passo 1: Critério de Otimalidade
Como são satisfeitas as restrições duais de igualdade do Sistema de Dantzig que correspondem às variáveis primais básicas, resta apenas verificar se as restantes restrições duais de desigualdade correspondentes às variáveis primais não básicas do primal, são igualmente satisfeitas, o que significa que a solução dual é factível e consequentemente a solução primal associada é ótima. Isto é equivalente a verificar que todos os custos reduzidos para as variáveis não básicas sejam não positivos. A verificação de que ui + vj  cij , ( i , j )  IB , é equivalente a (ui + vj ) - cij  0 , sendo o primeiro membro desta expressão de obtenção imediata no quadro de transporte.

29 2º. Calcular os custos reduzidos para as variáveis não básicas.
Exemplo Protótipo. Obtenção da solução ótima. Passo 1: Critério de Otimalidade 2º. Calcular os custos reduzidos para as variáveis não básicas. ( 2 ) u1+ v4 -4 = =-4 (4 ) u2+ v4 -4 = =-3 ( 1 ) u1+ v3 -3 = =-2 24 1 2 4 3 5 7 v1=1 v2=2 v3=1 v4=0 u3=1 u2=1 u1=0 ( 3 )u2+ v1 -4 = =-2 -2 -4 ( 5 ) u3+ v1 -0 = = 2 -2 -3 2 1 ( 6 ) u3+ v2 -2 = = 1

30 Exemplo Protótipo. Obtenção da solução ótima
Exemplo Protótipo. Obtenção da solução ótima. Passo 1: Critério de Otimalidade 3º. Existe algum ui + vj- cij > 0 , ( i , j )  IB ? 24 1 2 4 3 5 7 v1=1 v2=2 v3=1 v4=0 u3=1 u2=1 u1=0 -4 -2 -3 Esta solução não é ótima, pois existem valores positivos para ui + vj- cij nas células (3,1) e (3,2), o que significa que as correspondentes restrições duais não estão satisfeitas.

31 Em caso de empate a escolha é arbitrária.
Exemplo Protótipo. Obtenção da solução ótima. Passo 2: Critério de Entrada A variável a entrar na base é escolhida de acordo com o critério: max {ui + vj - cij : ui + vj - cij> 0 } Em caso de empate a escolha é arbitrária. 24 1 2 4 3 5 7 v1=1 v2=2 v3=1 v4=0 u3=1 u2=1 u1=0 -4 -2 -3 máximo A variável a entrar é x31

32 Obtenção da solução ótima. Passo 3: Critério de Saída
1º. Selecionar o percurso relativo à variável que entra atribuindo às células nele incluídas sinais de - ou + . Ao incrementar a variável básica que entra desde zero até um valor positivo 0, inicia-se um “processo em cadeia" que garante que as restrições de oferta e procura continuem satisfeitas. Este processo segue um percurso no quadro a partir da célula da variável que entra, onde são identificadas quais são as células onde será preciso subtrair o valor 0, (com sinal -) e aquelas onde será preciso adiciona-lo (com sinal +). Tudo com o objetivo de as somas em cada linha e coluna permanecerem inalteradas. 2º. Selecionar a variável que sai de acordo com o critério: min {xij  percurso relativo à variável que entra : xij tem sinal -} = 0 Em caso de empate a escolha é arbitrária.

33 Exemplo Protótipo. Obtenção da solução ótima
Exemplo Protótipo. Obtenção da solução ótima. Passo 3: Critério de Saída Determinar a variável que sai. 1º. Selecionar o percurso relativo à variável x31 atribuindo às células nele incluídas sinais de - ou + . - + - + 2º. Selecionar a variável que sai: 0 = min ( 4, 5, 3 ) = 3  a variável x33 sai x31 - mínimo

34 Obtenção da solução ótima. Passo 4: Obtenção de uma nova SBF
A nova SBF obtém-se adicionando e subtraindo às variáveis que formam o ciclo o valor de 0, consoante estejam afetadas com ou , respectivamente; as restantes variáveis mantêm os seus valores inalterados. - +

35 Exemplo Protótipo. Obtenção da solução ótima
Exemplo Protótipo.Obtenção da solução ótima. Passo 4: Obtenção de uma nova SBF 1 2 4 3 5 7 - x31 + X1 = ( 1 , 5, 0, 0, z1 = , 2, 6, 0, , 0, 0, 7 ) x12=2 + 3 = 5 x23=3 +3 = 6 x11=4 -3 = 1 1 2 4 3 1 5 x22=5 -3 = 2 x23=3 -3 = 0 2 6 x13= 3 3 7

36 Exemplo Protótipo. Obtenção da solução ótima
Exemplo Protótipo. Obtenção da solução ótima. Iteração 2, Passo 1: Critério de Otimalidade. 1º. Determinar a solução dual. ( 2 ) u1+ v2=2  0 + v2=2 ( 4 ) u2+ v3=2  1 + v3=2 ( 6 ) u3+ v4=1  v4=1 ( 1 ) u1+ v1=1  0 + v1=1 v1=1 v2=2 v3=1 v4=2 24 1 2 4 3 5 6 7 u1=0 ( 3 ) u2+ v2=3  u2+ 2 =3 u2=1 ( 5 ) u3+ v1=0  u3+ 1=0 u3=-1 3

37 2º. Calcular os custos reduzidos para as variáveis não básicas.
Exemplo Protótipo. Obtenção da solução ótima. Iteração 2, Passo 1: Critério de Otimalidade 2º. Calcular os custos reduzidos para as variáveis não básicas. ( 2 ) u1+ v4 -4 = =-2 (4 ) u2+ v4 -4 = =-1 ( 1 ) u1+ v3 -3 = =-2 1 2 4 3 5 6 7 v1=1 v2=2 v3=1 v4=2 u3=-1 u2=1 u1=0 ( 3 ) u2+ v1 -4 = =-2 -2 -2 -2 -1 ( 5 ) u3+ v2-2 = = -1 3 -1 - 2 ( 6 ) u3+ v3 -2 = = -2

38 Solução ótima: X1 =(1 , 5, 0, 0, 0, 2, 6, 0, 3, 0, 0, 7); z1 = 36
Exemplo Protótipo. Obtenção da solução ótima. Iteração 2, Passo 1: Critério de Otimalidade 3º. Existe algum ui + vj- cij > 0 , ( i , j )  IB ? 1 2 4 3 5 6 7 v1=1 v2=2 v3=1 v4=2 u3=-1 u2=1 u1=0 -2 -1 - 2 Esta solução é ótima, pois para todas as variáveis não básicas ui + vj - cij  0 Solução ótima: X1 =(1 , 5, 0, 0, 0, 2, 6, 0, 3, 0, 0, 7); z1 = 36


Carregar ppt "Prof. Geraldo Nunes Silva"

Apresentações semelhantes


Anúncios Google