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

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

Copiado do site Departamento Matemática da Universidade de Aveiron

Apresentações semelhantes


Apresentação em tema: "Copiado do site Departamento Matemática da Universidade de Aveiron"— Transcrição da apresentação:

1 Copiado do site http://www. mat. ua
Copiado do site Departamento Matemática da Universidade de Aveiron Profa. Marli

2 II. Programação Linear (PL)
Capítulo 7.2: Resolução do Problema de Transporte (PT). Obtenção de uma SBA 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 OPTIMIZAR O PROGRAMA DE DISTRIBUIÇÃO DIÁRIO DO LEITE.
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 camiã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: OPTIMIZAR O PROGRAMA DE DISTRIBUIÇÃO DIÁRIO DO LEITE.    

4 Custo por carga de camião
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 camião/dia, são os seguintes: Custo por carga de camiã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 SBA inicial A SBA verifica o critério de optimalidade? Sim FIM !!! a solução é óptima Não Mover-se para uma SBA "melhor"    

7 Passo 1: Obtenção de uma SBA 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). A primeira variável básica escolhida será sempre x11, depois consoante 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 facto de não considerar os custos na identificação da SBA inicial.    

8 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 SBA inicial: X0 = ( 4 , 2, 0, 0, 0, 5, 3, 0, 0, 0, 3, 7 ) ; z0 = 42    

9 Passo 1: Obtenção de uma SBA 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 consoante o 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 óptima que o método anterior, já que são considerados os custos na identificação da SBA inicial.    

10 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 4º: min (cij) =c23= 2  x23= min ( 6, 8 ) = 6 4 6 5º: min (cij)= c22= 3  x22= min ( 2, 1 ) = 1 1 1 6º: min (cij) =c24= 4  x24=min (1, 1 ) =1 SBA inicial: X0 = ( 0 , 6, 0, 0, 0, 1, 6, 1, 4,0, 0,6) ; z = 38    

11 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 SBA inicial, em geral, melhor do que as obtidas pelos métodos anteriores.    

12 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º: Seleccionar a maior das diferenças: max (diferenças) = 3 , coluna 4. 3 7 1 3 mínimo 3º: Seleccionar 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    

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

14 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º: Seleccionar a maior das diferenças : max (diferenças) = 3 e corresponde à coluna 1. 7 3º: Seleccionar 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    

15 Exemplo Protótipo. Método de Vogel Quadro 5
As restantes quadrículas 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 SBA inicial: X0 = ( 1 , 5, 0, 0, 0, 2, 6, 0, 3,0, 0,7) ; z = 36    

16 Passo 1: Obtenção de uma SBA Inicial. Exemplo Protótipo
Método SBA inicial f.o. Canto do NW Mínimo de custos Voguel mais fácil "pior" SBA 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) menos fácil "melhor" SBA    

17 Passo 2: Obtenção da solução óptima Método de Dantzing
Passo 2: Obtenção da solução óptima Método de Dantzing. Critério de optimalidade 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 é admissível: ui + vj- cij 0 , ( i , j )  IB ? FIM a solução é óptima !!! Sim Não Passar ao passo seguinte    

18 Obtenção da solução óptima. Método de Dantzing
Obtenção da solução óptima.Método de Dantzing. Passo 1: Critério de optimalidade. O primeiro passo, que consiste em testar a optimalidade da SBA actual pode ser executado recorrendo à Dualidade. Para o efeito é necessário determinar a correspondente solução dual. Enquanto na apresentação tabular do método simplex esta solução pode ser lida directamente 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.    

19 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 u1 livre u2 livre u3 livre v1 livre v2 livre v3 livre v4 livre = 6 = 8 = 10 = 4 = 7 = 6 = 7 Min z Problema dual    

20 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 )    

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

22 Exemplo Protótipo. Obtenção da solução óptima
Exemplo Protótipo. Obtenção da solução óptima. 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 v2 =2 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 é efectuada atribuindo um valor arbitrário a qualquer das variáveis duais e calculando a partir desta as restantes ( é habitual fazer u1 =0 ) u2 =1 v3 =1 u3 =1 v4 =0    

23 Obtenção da solução óptima. Passo 1: Critério de Optimalidade
1º. Determinar a solução dual. Esta solução para as variáveis duais pode ser obtida directamente no quadro de transporte correspondente à SBA em presença. Em síntese, fixando u1 =0, desloca-se em linha através das quadrículas correspondentes às variáveis básicas, para obter os vj. Uma vez obtidos estes, desloca-se em coluna através das quadrículas correspondentes às variáveis básicas para obter os ui .    

24 Obtenção da solução óptima. Passo 1: Critério de Optimalidade
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    

25 Obtenção da solução óptima. Passo 1: Critério de Optimalidade
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 é admissível e consequentemente a solução primal em presença é óptima. 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.    

26 Exemplo Protótipo. Obtenção da solução óptima
Exemplo Protótipo. Obtenção da solução óptima. Passo 1: Critério de Optimalidade 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 é óptima, pois existem valores positivos para ui + vj- cij nas quadrículas (3,1) e (3,2), o que significa que as correspondentes restrições duais não estão satisfeitas.    

27 Em caso de empate a escolha é arbitrária.
Exemplo Protótipo. Obtenção da solução óptima. 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    

28 Em caso de empate a escolha é arbitrária.
Obtenção da solução óptima. Passo 3: Critério de Saída 1º. Seleccionar o percurso relativo à variável que entra atribuindo às quadrículas 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 quadrícula da variável que entra, onde são identificadas quais são as quadrículas onde será preciso subtrair o valor 0, (com sinal -) e aquelas onde será preciso adiciona-lo (com sinal +). Tudo com o objectivo de as somas em cada linha e coluna permanecerem inalteradas. 2º. Seleccionar 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.    

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

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

31 Exemplo Protótipo. Obtenção da solução óptima
Exemplo Protótipo.Obtenção da solução óptima. Passo 4: Obtenção de uma nova SBA 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    

32 Exemplo Protótipo. Obtenção da solução óptima
Exemplo Protótipo. Obtenção da solução óptima. Iteração 2, Passo 1: Critério de Optimalidade. 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    

33 2º. Calcular os custos reduzidos para as variáveis não básicas.
Exemplo Protótipo. Obtenção da solução óptima. Iteração 2, Passo 1: Critério de Optimalidade 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    

34 Solução óptima: X1 =(1 , 5, 0, 0, 0, 2, 6, 0, 3, 0, 0, 7); z1 = 36
Exemplo Protótipo. Obtenção da solução óptima. Iteração 2, Passo 1: Critério de Optimalidade 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 é óptima, pois para todas as variáveis não básicas ui + vj - cij  0 Solução óptima: X1 =(1 , 5, 0, 0, 0, 2, 6, 0, 3, 0, 0, 7); z1 = 36    


Carregar ppt "Copiado do site Departamento Matemática da Universidade de Aveiron"

Apresentações semelhantes


Anúncios Google