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

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

1 Restrições Não-Estritas / Variáveis Arbitrárias Analisemos agora a situação em que no conjunto de restrições lineares algumas variáveis podem tomar valores.

Apresentações semelhantes


Apresentação em tema: "1 Restrições Não-Estritas / Variáveis Arbitrárias Analisemos agora a situação em que no conjunto de restrições lineares algumas variáveis podem tomar valores."— Transcrição da apresentação:

1 1 Restrições Não-Estritas / Variáveis Arbitrárias Analisemos agora a situação em que no conjunto de restrições lineares algumas variáveis podem tomar valores reais/racionais arbitrários. Tal como no caso anterior, substituem-se todas as desigualdades por igualdades com variáveis de desvio não negativas. Desta forma, um sistema de m restrições lineares com n variáveis é transformado num sistema de m equações a m+n variáveis. Algumas das variáveis podem tomar um valor real arbitrário, enquanto outras (as variáveis de desvio e eventualmente algumas variáveis de decisão) só podem tomar valores não negativos. Para as distinguir, vamos renomear essas variáveis como Z e S, em número de z e s, respectivamente (z + s = m + n)

2 2 Restrições Não-Estritas / Variáveis Arbitrárias Se o número de variáveis reais não fôr inferior ao número de restrições (z m), e sendo assumido que os coeficientes das variáveis das restrições são linearmente independentes (como será sempre assumido), o sistema é sempre possível. Com efeito, é sempre possível reescrever as equações isolando m variáveis arbitrárias (as variáveis básicas-Z; sem perda de generalidade, consideramos serem Z 1 a Z m,) Z i = c i + p i,m+1 Z m p i,z Z z + q i1 X q i,s X s Como as Z i são arbitrárias, uma solução é Z i = c i para i: 1..m Z i = 0 para i: m+1..z S i = 0 para i: 1..s

3 3 Restrições Não-Estritas / Variáveis Arbitrárias Havendo mais restrições m do que as z variáveis reais, podemos isolar os Z i em z das m restrições, obtendo Z i = c i + q i,1 S q i,s S s para i: 1..m Quaisquer que sejam os valores, não negativos, atribuídos às variáveis S i, estas restrições são satisfeitas já que é possível atribuir valores arbitrários às variáveis Z i. As restantes restrições constituem um conjunto de m-z equações a m- z+n variáveis não negativas. Como visto anteriormente, estas restrições são satisfazíveis sse se puderem reescrever na forma resolvida SF0. Assim, quando as restrições não estritas envolvem variáveis arbitrárias, pode definir-se uma forma resolvida SF1 por extensão de SF0.

4 4 Forma Resolvida SF1 (Igualdades) Definição: Um sistema de restrições de igualdade está na forma resolvida SF1 se as suas restrições se dividirem em dois conjuntos E a e E s definidos como: Se z m, E s é vazio e E a constituído por m equações Z i = d i + p i,m+1 Z m p i,z Z z + q i,1 S q i,s S s sendo as variáveis do lado esquerdo as variáveis básicas-Z, e todas as outras variáveis não básicas. Se z < m o conjunto E s é constituido por m-z equações S i = c i + r i,m-z+1 S m-z r i,s S s com c i 0 para i:1..m-z em que as variáveis no lado esquerdo são variáveis básicas-S e as outras não básicas-S. E a é constituido por z equações Z i = d i + r i,m-z+1 S m-z r i,s S s em que as variáveis básicas-Z são definidas exclusivamente em função de variáveis não básicas-S.

5 5 Forma Resolvida SF1 (Igualdades) Exemplo: X2 X3 = 0 X5 = 0 X4 = 0 Eliminando-se o requisito de não negatividade de X1 e X2 as restrições admitem como forma resolvida SF1 X1 = 5 - X3 - X4 X2 = -2 + X3 + 2 X4 X5 = X3 - 3 X4 Ea:Ea: Es:Es: 2 X1 + X2 8 X1 + X2 3 X1 - X X1 + X2 + X3 = 8 X1 + X2 - X4 = 3 X1 - X2 - X5 = -5

6 6 Forma Resolvida SF1 (Igualdades) Teorema: Um sistema de m equações a m+n variáveis arbitrárias e/ou não negativas é satisfazível sse puder rescrever na forma SF1. Demonstração: Se um sistema se pode escrever na forma SF1 então é satisfazível Trivial. Anulando as variáveis não básicas obtem-se uma solução Se um sistema é satisfazível pode escrever-se na forma SF1. Escolham-se arbitrariamente as variáveis básicas-Z. Se z m, as m equações constituem o sistema E a (sendo E s vazio). Se z < m, então considerem-se z equações para formar E a. Nas restantes equações eliminando-se as variáveis arbitrárias (segundo E a ), obtem-se um sistema apenas em variáveis não-negativas. Se fôr satisfazível pode ser colocado na forma SF0, e corresponde ao conjunto E s.

7 7 Restrições Estritas / Variáveis Arbitrárias Se o conjunto de restrições envolver restrições estritas ( e ) é possível reescrever estas restrições em termos não só de igualdades mas também de desigualdades como abaixo (em que os s i 0). a i1 X a in X n b i a i1 X a in X n + S i = b i a i1 X a in X n < b i a i1 X a in X n + S i = b i a i1 X a in X n b i a i1 X a in X n b i a i1 X a in X n - S i = b i a i1 X a in X n > b i a i1 X a in X n - S i = b i a i1 X a in X n b i Obtém-se desta forma um sistema de equações (=) e de disequações (), em que algumas (eventualmente todas as) variáveis são não negativas.

8 8 Restrições Estritas / Variáveis Arbitrárias As disequações são satisfazíveis sempre que as suas variáveis não sejam fixas (constantes). A conversão na forma resolvida SF1 permite verificar que o conjunto de equações é satisfazível, e definir as variáveis básicas em termos das variáveis não básicas. Em geral, as variáveis não-básicas aparecem no lado direito das equações de E a e E s, e podem tomar vários valores. Escrevendo as disequações exclusivamente em função das variáveis não básicas, elas serão satisfazíveis se contiverem pelo menos uma variável não fixa. Assim, devemos concentrar-nos nas equações, e verificar se elas impõem ou não a fixação de variáveis não básicas.

9 9 Restrições Estritas / Variáveis Arbitrárias Caso z m: Não havendo mais restrições que variáveis arbitrárias, basta escolher m variáveis arbitrárias para básicas, obtendo-se assim um conjunto E s vazio e E a constituído por m equações Z i = d i + p i,m+1 Z m p i,z Z z + q i,1 S q i,s S s Quaisquer valores arbitrários das variáveis não básicas-Z (Z i com i: m+1.. z) e não-negativos das variáveis não básicas-S (s j com j: 1.. s), conduzem a valores das variáveis básicas-Z dentro do seu domínio (arbitrário). Donde, se z m, as variáveis não básicas não são fixadas e as disequações são sempre satisfazíveis.

10 10 Restrições Estritas / Variáveis Arbitrárias Caso z < m: Neste caso todas as variáveis arbitrárias são básicas, originando um conjunto E a é constituido por z equações Z i = d i + r i,m-z+1 S m-z r i,s S s Uma vez obtido E a, continuam a existir m-z equações nas variáveis não-negativas. Assim, a análise da fixação de variáveis é análoga ao caso em que não há variáveis arbitrárias. Para simplificar a notação, vamos estudar o caso de um sistema de m equações a m+n variáveis não negativas.

11 11 Restrições Estritas / Variáveis Arbitrárias Consideremos pois um conjunto E s constituido por S i = c i + r i,m+1 S m r i,m+n S m+n c i 0 ( i:1.. m) No conjunto E s há que verificar se, para além dos valores nulos das variáveis não básicas-S S m+j (j: 1.. n), existem outros valores que não tornem negativas as variáveis básicas-S. Se todos os c i forem positivos, existem vizinhanças ε i de 0 para as variáveis não básicas-S que mantêm as variáveis básicas-S não negativas. Assim se todos os c i forem positivos não há variáveis não básicas-S (nem básicas-S) fixadas e, se existirem disequações nessas variáveis, essas disequações são satisfazíveis.

12 12 Restrições Estritas / Variáveis Arbitrárias Se alguns c i forem nulos, não há garantia de haver essas vizinhanças. Um exemplo permite clarificar este ponto. Exemplo: Verificar que, para S 1 e S 2 não negativos, são insatisfazíveis as restrições S 1 - S 2 0 ; S 1 - S 2 0 e S 1 - S 2 0 Reescrevendo as restrições como equações, obtem-se S 1 -S 2 +S 3 = 0 ; S 1 -S 2 -S 4 = 0 e S 1 - S 2 0 Escolhendo variáveis básicas-S, S 3 e S 4,, a forma SF1 é S 3 = -S 1 +S 2 e S 4 = S 1 -S 2 com a desigualdade S 1 -S 2 0 escrita em função das variáveis (S 1 e S 2 ) não básicas-S.

13 13 Restrições Estritas / Variáveis Arbitrárias Aparentemente o sistema é satisfazível, pois foi possível escrever as equações na forma SF1 e colocar a disequação em termos das variáveis não básicas-S. No entanto, uma análise mais cuidada permite verificar que as variáveis S 1 e S 2 têm um valor fixo de 0, o que torna impossível a disequação. Com efeito, somando as duas equações de E s, S 3 = -S 1 +S 2 e S 4 = S 1 -S 2 obteríamos S 3 + S 4 = 0. Sendo S 3 e S 4 variáveis não negativas, ambas devem ser nulas. Assim sendo, por qualquer das equações de E s se obteria S1 = S2, pelo que a disequação S1 - S2 0 não é satisfazível.

14 14 Restrições Estritas / Variáveis Arbitrárias S1-S2+S3 = 0 ; S1-S2-S4 = 0 Escolhendo outra combinação de variáveis básicas-S (S 1, S 3 e S 4 ) poderíamos ter reescrito a forma SF1 como S 1 = S 2 ;S 3 = 0 e S 4 = 0 Eliminando a variável básica S 1, da disequação S 1 - S Obtemos S 2 - S que se simplifica para a desigualdade trivial 0... o que torna evidente a insatisfazibilidade da restrição de desigualdade.

15 15 Restrições Estritas / Variáveis Arbitrárias Analisando a razão pela qual a fixação de variáveis não foi detectada na primeira forma SF1, pode constatar-se que o problema reside na utilização de uma expressão -S 1 +S 2 e da sua simétrica S 1 - S 2 no lado direito de equações do conjunto E s da forma SF1 em que os termos independentes eram nulos. S 3 = -S 1 +S 2 e S 4 = S 1 -S 2 É para impedir estas situações que se define a forma SF2 (para o caso m > z) com uma condição adicional em relação à forma SF1.

16 16 Forma Resolvida SF2 Definição SF2: Um sistema m restrições = e, com z variáveis arbitrárias (z < m) e s+t (s = m-z) variáveis não negativas está na forma resolvida SF2 se as suas restrições se dividirem nos seguintes conjuntos, E a,E s, D: D: O conjunto D é constituido por desigualdades do tipo r i,1 T r i,t T t a i sendo um dos termos r i,t não nulo. As t variáveis T j são as variáveis não básicas-S. E a : O conjunto E a é constituido por z igualdades Z i = d i + p i,1 T p i,t T t sendo as variáveis arbitrárias Z i,variáveis básicas-Z.

17 17 Forma Resolvida SF2 Definição SF2 (cont.): E s : O conjunto E s é constituido por s = m-z igualdades do tipo S i = c i +q i,1 T q i,t T t com c i 0 para i:1..s em que as variáveis S i e T j, respectivamente básicas-S e não básicas-S, são variáveis não negativas. Condição adicional (não existente em SF1): Para as variáveis T j, não básicas-S, define-se uma ordem arbitrária pela qual elas devem ser escritas nas igualdades. Nestas igualdades, ou o termo c i é positivo ou, sendo c i =0, o primeiro coeficiente r i,j não nulo deve ser positivo. As condições impostas no conjunto E s garantem que qualquer variável não negativa que deva tomar valores fixos é considerada como variável básica-S na forma SF2, permitindo explicitar as variáveis fixas.

18 18 Forma Resolvida SF2 Teorema: A forma resolvida SF2 detecta as variáveis fixas, como variáveis básicas-S. Consideremos para as igualdades de E s S i = c i + q i,1 T q i,t T t a seguinte partição das igualdades de E s E s = F R e R = R 0 R 1... R t em que a F pertencem todas as restrições com q i,t = 0; a R 0 pertencem todas as outras restrições com c i > 0; a R k (1 k t) pertencem todas as outras restrições em que o primeiro coeficiente não nulo (donde, positivo) é q i,k. As variáveis básicas S i pertencentes às restrições de F são fixas. A demonstração de que não há mais variáveis básicas fixas pode ser feita por indução nos conjuntos R i, mostrando que em nenhum nível i existem variáveis (básicas ou não básicas) fixas.

19 19 Forma Resolvida SF2 Caso Base (j = 0): No caso em que R = R 0, então todas as variáveis não básicas T j podem tomar valores num intervalo [ 0, ε [, não sendo portanto fixadas, sendo ε = min i c i /(|q i,1 |+...+|q i,t |) Com efeito, se em cada restrição S i = c i + q i,1 T q i,t T t todas as variáveis não básicas T j tomarem valores arbitrários ε i no intervalo [ 0, ε [, será c i + q i,1 ε q i,t ε t = δ i > 0 e portanto as variáveis básicas S i podem tomar valores arbitrários nos intervalos [ 0, δ i ], não sendo igualmente fixadas.

20 20 Forma Resolvida SF2 Caso de Indução (k ~> k + 1): Assumindo que nenhum sistema R 0... R k fixa variáveis, provemos que nenhum sistema R = (R 0... R k ) R k+1 as fixa. Considere-se para o sistema R a partição R = R K R k+1. Pela hipótese de indução, o sistema R K não fixa variáveis pelo que todas as variáveis não básicas T j podem tomar valores arbitrários num intervalo [ 0.. ε i [ todas as variáveis básicas S i (i K ) podem tomar valores arbitrários num intervalo [0, δ i [. As restantes restrições (pertencentes a R k+1 e com i I ), têm a forma S i = q i,k+1 T k+1 (q i,k+1 > 0 ) Então se T k+1 toma quaisquer valores num intervalo [0, ε k+1 ], S i toma igualmente quaisquer valores no intervalo [0, ε/q i,k+1 [, pelo que o seu valor não é igualmente fixado.

21 21 Passagem à Forma Resolvida SF2 A conversão de um conjunto de restrições lineares na forma SF2, de uma forma incremental, é explicada através de um exemplo. R1: -X 1 + 3X 2 9 R2: X 1 + X 2 11 R3: 2X 1 + X 2 18 R4: 2X 1 - X 2 2 X 1,X 2 0

22 22 Cada restrição é introduzida resolvendo em ordem à variável de desvio. Assume-se a ordem X 1 < X2 < S 1 < S 2.. < S n. No caso de restrições nada mais é necessário fazer. R1: -X 1 + 3X 2 9 -X 1 + 3X 2 + S 1 = 9 S 1 = 9 + X 1 - 3X 2 R2: X 1 + X 2 11 X 1 + X 2 + S 2 = 11 S 2 = 11 - X 1 - X 2 R3: 2X 1 + X X 1 + X 2 + S 3 = 18 S 3 = X 1 - X 2 O vértice definido implicitamente é a origem. Passagem à Forma Resolvida SF2

23 23 No caso de restrições a origem não pertence à região admissível, pelo que há que fazer uma mudança de base (troca de X 1 com S 4 ). S 1 = 9 + X 1 - 3X 2 S 2 = 11 - X 1 - X 2 S 3 = X 1 - X 2 R4: 2X 1 - X 2 2 2X 1 - X 2 - S 4 = 2 S 4 = X 1 - X 2 X 1 = 1 + X 2 /2 + S 4 /2 Substituindo X 1 obtem-se S 1 = X 2 /2 + S 4 /2 S 2 = X 2 /2 - S 4 /2 S 3 = X 2 - S 4 X 1 = 1 + X 2 /2 + S 4 /2 Por sorte o termo independente da equação em X 1 é positivo e não acarretou nenhum termo negativo em S 1, S 2 ou S 3. Passagem à Forma Resolvida SF2

24 24 Em geral a mudança de base pode fazer-se de uma forma sistemática por minimização de uma variável artificial (1ª fase do método de 2 fases do SIMPLEX), que é considerada para além da variávels de desvio. Exemplo: R5: X 1 + 2X 2 12 X 1 + 2X 2 –S 5 + Z 5 = 12 Z 5 = 12 - X 1 - 2X 2 + S 5 Z 5 = X 2 /2 - S 4 /2 + S 5 Agora há que minimizar Z 5, através de sucessivas mudanças de base. Passagem à Forma Resolvida SF2 S 1 = X 2 /2 + S 4 /2 S 2 = X 2 /2 - S 4 /2 S 3 = X 2 - S 4 X 1 = 1 + X 2 /2 + S 4 /2

25 25 Passagem à Forma Resolvida SF2 Min Z 5 (= X 2 /2 - S 4 /2 + S 5 ) S 1 = X 2 /2 + S 4 /2 S 2 = X 2 /2 - S 4 /2 S 3 = X 2 - S 4 X 1 = 1 + X 2 /2 + S 4 /2 Z 5 = X 2 /2 - S 4 /2 + S 5 Como Z 5 / X 2 = -5/2 e Z 5 / S 4 = -1/2 existe um maior decréscimo de Z 5 com X 2, pelo que X 2 entra na base. Por outro lado, mantendo-se S 4 = S 5 = 0, S 1 = 0 = X 2 /2 => X 2 = 4 S 2 = 0 = X 2 /2 => X 2 = 20/3 (6.666) S 3 = 0 = X 2 => X 2 = 8 X 1 = 0 = 1 + X 2 /2 => X 2 = -2 Z 5 = 0 = 11 – 5X 2 /2 => X 2 = 22/5 (4.4) pelo que a variável S 1 sai da base, já que é a primeira variável a anular- se para valores crescentes de X 2.

26 26 Por entrada na base de X 2, por troca com S 1, MinZ 5 = 11 -5X 2 /2 - S 4 /2 + S 5 S 1 = X 2 /2 + S 4 /2 S 2 = X 2 /2 - S 4 /2 S 3 = X 2 - S 4 X 1 = 1 + X 2 /2 + S 4 /2 Z 5 = X 2 /2 - S 4 /2 + S 5 converte-se em MinZ 5 = 1 + S 1 - S 4 + S 5 (-) X 2 = 4 - 2S 1 /5 + S 4 /5 (5) S 2 = 4 + 3S 1 /5 - 4S 4 /5 (40/7) S 3 = 8 + 4S 1 /5 - 7S 4 /5 (-) X 1 = 3 - S 1 /5 + 3S 4 /2 (1) Z 5 = 1 + S 1 - S 4 + S 5 Continuando a minimização de Z 5, e pelo raciocínio anterior, S 4 entra da base, por troca com Z 5. Passagem à Forma Resolvida SF2

27 27 Por entrada na base de S 4, por troca com Z 5, obtem-se MinZ 5 = 1 + S 1 - S 4 + S 5 X 2 = 4 - 2S 1 /5 + S 4 /5 S 2 = 4 + 3S 1 /5 - 4S 4 /5 S 3 = 8 + 4S 1 /5 - 7S 4 /5 X 1 = 3 - S 1 /5 + 3S 4 /2 Z 5 = 1 + S 1 - S 4 + S 5 converte-se em MinZ 5 = 0 (-) X 2 = 21/5- S 1 /5+ S 5 /5- Z 5 /5 (5) S 2 = 16/5- S 1 /5– 4S 5 /5- Z 5 /5 (40/7) S 3 = 1 - 4S 1 /5- 7S 5 /5+ 7Z 5 /5 (-) X 1 = 18/5+ 2S 1 /5+ 3S 5 /5– 3Z 5 /5 (1) S 4 = 1 + S 1 + S 5 - Z 5 Tendo-se pois anulado a variável artificial Z 5, como pretendido. Passagem à Forma Resolvida SF2

28 28 Passagem à Forma Resolvida SF2 Tendo-se anulado a variável artificial Z 5, o sistema pode reescrever-se eliminando simplesmente esta variável. Assim, MinZ5 = 0 (-) X2 = 21/5- S 1 /5+ S 5 /5- Z5/5 (5) S2 = 16/5- S 1 /5– 4S 5 /5- Z5/5 (40/7) S3 = 1 - 4S 1 /5- 7S 5 /5+ 7Z5/5 (-) X1 = 18/5+ 2S 1 /5+ 3S 5 /5– 3Z5/5 (1) S4 = 1 + S 1 + S 5 – Z 5 converte-se em X 2 = 21/5 - S 1 /5 + S 5 /5 S 2 = 16/5 - S 1 /5 - 4S 5 /5 S 3 = 33/5 - 3S 1 /5 - 7S 5 /5 X 1 = 18/5 + 2S 1 /5 + 3S 5 /5 S 4 = 1 + S 1 + S 5 que se encontra na forma SF2, já que os termos independentes são positivos (SF1) e não há inequações.

29 29 Se houver lugar à fixação de variáveis, esta é detectada na conversão para a forma SF2. Esta fixação é ilustrada no seguinte exemplo. Dadas as 4 primeiras restrições S 1 = X 2 /2 + S 4 /2 S 2 = X 2 /2 - S 4 /2 S 3 = X 2 - S 4 X 1 = 1 + X 2 /2 + S 4 /2 Adicionar a nova restrição: R6: X 1 + 2X 2 16 Z 6 = 16 - X 1 - 2X 2 Z 6 = X 2 /2 - S 4 /2 Tal como anteriormente, há que minimizar Z 6, através de sucessivas mudanças de base. Variáveis Fixas em SF2

30 30 Variáveis Fixas em SF2 Min Z 6 = X 2 /2 - S 4 /2 + S 6 S 1 = X 2 /2 + S 4 /2 S 2 = X 2 /2 - S 4 /2 S 3 = X 2 - S 4 X 1 = 1 + X 2 /2 + S 4 /2 Z 6 = X 2 /2 - S 4 /2 + S 6 Como anteriormente, Z 5 / X 2 = -5/2 e Z 5 / S 4 = - 1/2, pelo que existe um maior decréscimo de Z 5 com X 2, e X 2 entra na base. Igualmente, S 1 = 0 = X 2 /2 => X 2 = 4 S 2 = 0 = X 2 /2 => X 2 = 20/3 (6.666) S 3 = 0 = X 2 => X 2 = 8 X 1 = 0 = 1 + X 2 /2 => X 2 = -2 Z 6 = 0 = X 2 /2 => X 2 = 6 Sendo igualmente a variável S 1 a sair da base.

31 31 Por entrada na base de X 2, por troca com S 1, S 1 = X 2 /2 + S 4 /2 S 2 = X 2 /2 - S 4 /2 S 3 = X 2 - S 4 X 1 = 1 + X 2 /2 + S 4 /2 Z 6 = X 2 /2 - S 4 /2 +S 6 converte-se em X 2 = 4 - 2S 1 /5 + S 4 /5 S 2 = 4 + 3S 1 /5 - 4S 4 /5 S 3 = 8 + 4S 1 /5 - 7S 4 /5 X 1 = 3 - S 1 /5 + 3S 4 /5 Z 6 = 5 + S 1 - S 4 +S 6 Na minimização de Z 6, agora S 4 entra da base, por troca ou com Z 6 ou com S 2 ! Variáveis Fixas em SF2

32 32 Variáveis Fixas em SF2 Com efeito, pretendendo-se obter o Min Z 6 X 2 = 4 - 2S 1 /5 + S 4 /5 S 2 = 4 + 3S 1 /5 - 4S 4 /5 S 3 = 8 + 4S 1 /5 - 7S 4 /5 X 1 = 3 - S 1 /5 + 3S 4 /5 Z 6 = 5 + S 1 - S 4 + S 6 S 4 entra na base, e portanto deve verificar-se X 2 = 0 = 4 + S 4 /5 => S 4 = -20 S 2 = 0 = 4 - 4S 4 /5 => S 4 = 5 S 3 = 0 = 8 - 7S 4 /5 => S 4 = 40/7 (5.714) X 1 = 0 = 3 + 3S 4 /5 => S 4 = -5 Z 6 = 0 = 5 - S 4 => S 4 = 5 Pelo que quer Z 6 quer S 2 se anulam para S 4 = 5.

33 33 Variáveis Fixas em SF2 Escolhendo S2 para sair da base, por troca com S 4, X 2 = 4 - 2S 1 /5 + S 4 /5 S 2 = 4 + 3S 1 /5 - 4S 4 /5 S 3 = 8 + 4S 1 /5 - 7S 4 /5 X 1 = 3 - S 1 /5 + 3S 4 /5 Z 6 = 5 + S 1 - S 4 +S 6 converte-se em X 2 = 5 - S 1 /4 - S 2 /4 S 4 = 5 + 3S 1 /4 - 5S 2 /4 S 3 = 1 - S 1 /4 - 7S 2 /4 X 1 = 6 + S 1 /4 - 3S 2 /4 Z 6 = 0 + S 1 /4 + 5S 2 /4 +S 6 Eliminando-se Z 6, reescreve-se a equção como S 6 = 0-S 1 /4-5S 2 /4 que não está na forma SF2!

34 34 Variáveis Fixas em SF2 Analisando-se a igualdade S 6 = 0-S 1 /4-5S 2 /4 e reescrevendo-a como S 1 + 5S S 6 = 0 verifica-se que deve ser S 1 = S 2 = S 6 = 0 Convertendo-se... X 2 = 5 - S 1 /4 - S 2 /4 S 4 = 5 + 3S 1 /4 - 5S 2 /4 S 3 = 1 - S 1 /4 - 7S 2 /4 X 1 = 6 + S 1 /4 - 3S 2 /4 S 6 = 0 - S 1 /4 - 5S 2 /4... na forma SF2, evidenciando-se adicionalmente a fixação das variáveis X 1, X 2, S 3 e S 4 S 1 = S 2 = S 6 = 0 X 1 = 6 X 2 = 5 S 4 = 5S 3 = 1

35 35 Sistemas Impossíveis Se o conjunto de restrições fôr insatisfazível, esta situação é igualmente detectada na conversão para a forma SF2, sendo esta feita de uma forma incremental, como ilustrado no seguinte exemplo. Dadas as 4 primeiras restrições, S 1 = X 2 /2 + S 4 /2 S 2 = X 2 /2 - S 4 /2 S 3 = X 2 - S 4 X 1 = 1 + X 2 /2 + S 4 /2 adicionar a nova restrição: R7: X 1 + 2X 2 18 Z 6 = 18 - X 1 - 2X 2 Z 6 = X 2 /2 - S 4 /2 Como anteriormente, há que minimizar Z 7.

36 36 Sistemas Impossíveis Min Z 7 S 1 = X 2 /2 + S 4 /2 S 2 = X 2 /2 - S 4 /2 S 3 = X 2 - S 4 X 1 = 1 + X 2 /2 + S 4 /2 Z 7 = X 2 /2 - S 4 /2 + S 7 Como anteriormente, Z 7 / X 2 = -5/2 e Z 7 / S 4 = -1/2, pelo que existe um maior decréscimo de Z 7 com X 2, e X 2 entra na base. Igualmente, S 1 = 0 = X 2 /2 => X 2 = 4 S 2 = 0 = X 2 /2 => X 2 = 20/3 (6.666) S 3 = 0 = X 2 => X 2 = 8 X 1 = 0 = 1 + X 2 /2 => X 2 = -2 Z 7 = 0 = X 2 /2 => X 2 = 34/5 (6.800) Continuando a ser a variável S 1 a sair da base.

37 37 Por entrada na base de X 2, por troca com S 1, S 1 = X 2 /2 + S 4 /2 S 2 = X 2 /2 - S 4 /2 S 3 = X 2 - S 4 X 1 = 1 + X 2 /2 + S 4 /2 Z 7 = X 2 /2 - S 4 /2 + S 7 converte-se em X 2 = 4 - 2S 1 /5 + S 4 /5 S 2 = 4 + 3S 1 /5 - 4S 4 /5 S 3 = 8 + 4S 1 /5 - 7S 4 /5 X 1 = 3 - S 1 /5 + 3S 4 /5 Z 7 = 7 + S 1 - S 4 Na minimização de Z 7, agora S 4 entra da base, por troca com S 2 ! Sistemas Impossíveis

38 38 Sistemas Impossíveis Com efeito, pretendendo-se obter o Min Z 7 X 2 = 4 - 2S 1 /5 + S 4 /5 S 2 = 4 + 3S 1 /5 - 4S 4 /5 S 3 = 8 + 4S 1 /5 - 7S 4 /5 X 1 = 3 - S 1 /5 + 3S 4 /5 Z 7 = 7 + S 1 - S 4 + S 7 S 4 entra na base, e portanto deve verificar-se X 2 = 0 = 4 + S 4 /5 => S 4 =-20 S 2 = 0 = 4 - 4S 4 /5 => S 4 = 5 S 3 = 0 = 8 - 7S 4 /5 => S 4 = 40/7 (5.714) X 1 = 0 = 3 + 3S 4 /5 => S 4 = -5 Z 7 = 0 = 5 - S 4 => S 4 = 7 Pelo que S 2 é o primeiro a anular-se para valores crescentes de S 4 (para S 4 = 5).

39 39 Sistemas Impossíveis Saindo S2 da base, por troca com S 4, X 2 = 4 - 2S 1 /5 + S 4 /5 S 2 = 4 + 3S 1 /5 - 4S 4 /5 S 3 = 8 + 4S 1 /5 - 7S 4 /5 X 1 = 3 - S 1 /5 + 3S 4 /5 Z 7 = 7 + S 1 - S 4 + S 7 converte-se em X 2 = 5 - S 1 /4 - S 2 /4 S 4 = 5 + 3S 1 /4 - 5S 2 /4 S 3 = 1 - S 1 /4 - 7S 2 /4 X 1 = 6 + S 1 /4 - 3S 2 /4 Z 7 = 2 + S 1 /4 + 5S 2 /4 + S 7 Mas esta última restrição, mostra que Z 7 tem um valor mínimo de 2, e portanto não não pode tomar o valor 0. Assim o sistema não se pode colocar na forma SF2 e é portanto insatisfazível.

40 40 Sistemas Impossíveis A conversão na forma SF2 permite ainda detectar Conjuntos Mínimos de Restrições Insatisfazíveis (Irreducible Impossible Sets). Estes conjuntos são identificados pelas suas variáveis de desvio que podem ser vistas como testemunhas. Exemplo: S 1 = X 2 /2 + S 4 /2 S 2 = X 2 /2 - S 4 /2 S 3 = X 2 - S 4 X 1 = 1 + X 2 /2 + S 4 /2 -X 1 + 2X X 1 + 2X 2 -S 8 = 10 X 2 = 22/3 + S 4 /3 +2S 8 /3

41 41 Sistemas Impossíveis Substituindo X 2 = 22/3 + S 4 /3 +2S 8 /3 na 1ª equação do sistema abaixo S 1 = X 2 /2 + S 4 /2 S 2 = X 2 /2 - S 4 /2 S 3 = X 2 - S 4 X 1 = 1 + X 2 /2 + S 4 /2 obtemos, S 1 = -25/3 - S 4 /3 - 5S 8 /3 que pode ser reescrito como 3S 1 + S 4 + 5S 8 = -25 O que mostra que não só o sistema inicial é impossível, mas que existe um conjunto mínimo de restrições incompatíveis constituído pelas restrições R 1, R 4 e R 8.

42 42 Sistemas Impossíveis Os conjuntos IIS não são únicos. Substituindo X 2 = 22/3+ S 4 /3 + 2S 8 /3 na 2ª equação do sistema abaixo, S 1 = X 2 /2 + S 4 /2 S 2 = X 2 /2 - S 4 /2 S 3 = X 2 - S 4 X 1 = 1 + X 2 /2 + S 4 /2 obteríamos igualmente, S 2 = -1 - S 4 - S 8 que pode ser reescrito como S 2 + S 4 + S 8 = -1 o que identifica outro conjunto mínimo de restrições incompatíveis constituído pelas restrições R 2, R 4 e R 8.

43 43 Sistemas Impossíveis Outros conjuntos IIS podem permanecer escondidos na conversão para a forma SF2. A restrição obtida anteriormente S 1 = -25/3 - S 4 /3 - 5S 8 /3 pode reescrever-se como S 4 = S 1 - 5S 8 que, com as anteriores, X 2 = 22/3 + S 4 /3 +2S 8 /3 X 1 = 1 + X 2 /2 + S 4 /2 origina X 1 = S 1 - 3S 8 ou X 1 + 2S 1 + 3S 8 = -12, revelando ainda outro conjunto mínimo constituído pelas restrições R 1, R 8 e X 1 (>= 0).

44 44 Sistemas Impossíveis Igualmente das restrições X 2 = 22/3 + S 4 /3 +2S 8 /3 S 4 = S 1 - 5S 8 obtem-se, com as anteriores, X 2 = 1 - S 1 - S 8 ou seja X 2 + S 1 + S 8 = 1, revelando outro conjunto mínimo constituído pelas restrições explicitas R 1, R 8 e pela implícita X 2 >= 0. (De notar que a determinação de todos os conjuntos mínimos é um problema NP-hard).

45 45 Restrições Redundantes É fácil de mostrar que, dado um conjunto de restrições satisfazíveis, se uma restrição a i X i > K ( a i X i - S c = K) é impossível, então a restrição a i X i < K ( a i X i + S r = K) é redundante. A igualdade a i X i + S r = K pode ser analisada igualmente. Das equações anteriores tira-se S r + S c = 0. Se se obtiver uma condição de impossibilidade S c + p j V j = - C (com C, p j >0) entre a 1ª restrição e as identificadas pelas variáveis V j, então a 2ª restrição é redundante face a essas restrições, pois S r = C + p j V j.

46 46 Restrições Redundantes Exemplo: Dadas as restrições S 1 = X 2 /2 + S 4 /2 S 2 = X 2 /2 - S 4 /2 S 3 = X 2 - S 4 X 1 = 1 + X 2 /2 + S 4 /2 a restrição -X 1 +2X X 1 +2X 2 +S 9 = 10 é redundante. Das equações acima tira-se S 1 = -25/3 - S 4 /3 + 5S 9 /3 S 9 = 5 + 3S 1 /5 + S 4 /5 Pelo que a última restrição é redundante face a R1 e R4.

47 47 Restrições Lineares no SICStus As restrições anteriormente referidas podem ser especificadas em SICStus através de predicados com a sintaxe adaptada :- use_module(user:library(clpq)). r0(X1,X2):- {X1 >= 0, X2 >= 0}. r1(X1,X2):- {-X1 + 3*X2 =< 9}. r2(X1,X2):- {X1 + X2 =< 11}. r3(X1,X2):- {2*X1 + X2 =< 18}. r4(X1,X2):- {2*X1 - X2 >= 2}. r5(X1,X2):- {X1 + 2*X2 >= 12}. r6(X1,X2):- {X1 + 2*X2 >= 16}. r7(X1,X2):- {X1 + 2*X2 >= 18}. Os exemplos anteriores podem ser introduzidos para validação. |?- r0(X,Y), r1(X,Y), r2(X,Y), r3(X,Y). {X+Y=<11}, {X+1/2*Y=<9}, {X>=0},{Y>=0}, {X-3*Y>= -9} ? ;no

48 48 Restrições Lineares no SICStus A projecção das variáveis não permite apreender a forma SF2 da resposta. Essa forma será mais facilmente apreendida se se explicitarem as variáveis de desvio, em restrições equivalentes s1(X1,X2,S1):- {-X1 + 3*X2 + S1 = 9, S1 >= 0}. s2(X1,X2,S2):- {X1 + X2 + S2 = 11, S2 >= 0}. s3(X1,X2,S3):- {2*X1 + X2 + S3 = 18, S3 >= 0}. s4(X1,X2,S4):- {2*X1 - X2 - S4 = 2, S4 >= 0}. s5(X1,X2,S5):- {X1 + 2*X2 - S5 = 12, S5 >= 0}. s6(X1,X2,S6):- {X1 + 2*X2 - S6 = 16, S6 >= 0}. s7(X1,X2,S7):- {X1 + 2*X2 - S7 = 18, S7 >= 0}. Agora a questão equivalente tem a resposta esperada |?- s0(X,Y), s1(X,Y,S1), s2(X,Y,S2), s3(X,Y,S3). {S1=9+X-3*Y},{S2=11-X-Y},{S3=18-2*X-Y}, {X+Y= =0},{Y>=0},{X-3*Y>= -9} ? ; no

49 49 Restrições Lineares no SICStus Outras questões exemplificadas. Mudança de base: | ?- s0(X,Y),s1(X,Y,S1),s2(X,Y,S2), s3(X,Y,S3),s4(X,Y,S4). {S4= 16- 2*Y - S3}, {S2= 2-1/2*Y +1/2*S3}, {S1= 18-7/2*Y -1/2*S3}, {X= 9-1/2*Y -1/2*S3}, {Y+1/2*S3=<8},{Y+1/7*S3=<36/7},{Y-S3=<4}, {Y>=0}, {S3>=0} ? ; no. Neste caso, o SICStus optou pelo ponto (X 1 =9, X 2 =0), sobre a restrição R3 (S 3 = 0). Na explicação atrás, X 1 tinha sido arbitrariamente trocado por S 4, pelo que o ponto encontrado foi (X 1 =9,X 2 =0), sobre a restrição R4 (S 3 = 0).

50 50 Restrições Lineares no SICStus Outras questões exemplificadas. Optimização de Variáveis: | ?- s0(X,Y),s1(X,Y,S1),s2(X,Y,S2), s3(X,Y,S3),s4(X,Y,S4), s5(X,Y,S5), maximize(Y). X = 6, Y = 5, S1 = 0,S2 = 0,S3 = 1, S4 = 5, S6 = 0 ? ; no. | ?- s0(X,Y),s1(X,Y,S1),s2(X,Y,S2), s3(X,Y,S3),s4(X,Y,S4), s5(X,Y,S5), maximize(X). X = 8, Y = 2, S1 = 0, S2 = 0, S3 = 1, S4 = 5, S6 = 0 ? ; no.

51 51 Restrições Lineares no SICStus Optimização de Expressões: | ?- s0(X,Y),s1(X,Y,S1),s2(X,Y,S2), s3(X,Y,S3),s4(X,Y,S4), s5(X,Y,S5), minimize(3*X+Y). X = 18/5, Y = 21/5, S1 = 0, S2 = 16/5, S3 = 33/5, S4 = 1, S5 = 0 ? ; no.

52 52 Restrições Lineares no SICStus A colocação na forma SF2 pode ser obtida por minimização de S5+Z5 que determina um ponto na restrição R5. | ?- s0(X,Y),s1(X,Y,S1),s2(X,Y,S2), s3(X,Y,S3),s4(X,Y,S4), z5(X,Y,S5,Z5), minimize(S5+Z5). X = 18/5, Y = 21/5, S1 = 0, S2 = 16/5, S3 = 33/5, S4 = 1, S5 = 0 ? ; no. onde a restrição R5 é codificada como z5(X1,X2,S5,Z5):- {X1 + 2*X2 + Z5 - S5 = 12, Z5 >= 0,S5 >= 0}.

53 53 Restrições Lineares no SICStus A fixação de variáveis é igualmente detectada. |?- s0(X,Y), s1(X,Y,S1), s2(X,Y,S2), s3(X,Y,S3), s4(X,Y,S4), s6(X,Y,S6). X = 6, Y = 5, S1 = 0,S2 = 0, S3 = 1,S4 = 5, S6 = 0 ? ; no... ou mais directamente |?- r0(X,Y),r1(X,Y),r2(X,Y),r3(X,Y),r4(X,Y),r6(X,Y). X = 6, Y = 5 ? ; no

54 54 Restrições Lineares no SICStus Naturalmente, a insatisfação é detectada |?- s0(X,Y), s1(X,Y,S1), s2(X,Y,S2), s3(X,Y,S3), s4(X,Y,S4), s7(X,Y,S7). no... ou equivalentemente |?- r0(X,Y),r1(X,Y),r2(X,Y),r3(X,Y),r4(X,Y),r7(X,Y). no

55 55 Restrições Lineares no SICStus No SICSTus é ainda possível obter como termo (utilizável em posterior meta-programação, as restrições avaliadas, através do predicado pre-definido dump/3. |?- r0(X,Y), r1(X,Y), r2(X,Y), r3(X,Y), dump([X,Y],[A,B],C). C = [A+1/2*B= =0, A-3*B>= -9, A>=0], {X+Y=<11}, {X+1/2*Y=<9}, {X>=0}, {Y>=0}, {X-3*Y>= -9} ? ;no C é uma lista com as restrições definidas em termos das novas variáveis A e B, que tomam a vez de X e Y. Testes sobre A e B não afectam os valores de X e Y.


Carregar ppt "1 Restrições Não-Estritas / Variáveis Arbitrárias Analisemos agora a situação em que no conjunto de restrições lineares algumas variáveis podem tomar valores."

Apresentações semelhantes


Anúncios Google