Restrições Lineares sobre os Reais/Racionais
•
Muitos problemas podem ser modelados através de restrições sobre
variáveis que, para todos os efeitos práticos, podem tomar valores
no domínio dos números reais (ou racionais).
•
Essas variáveis são geralmente denominadas variáveis de decisão.
•
Um caso particularmente importante ocorre quando todas as
restrições sobre essas variáveis são lineares.
•
Em muitos casos, pretendem-se soluções que não só satisfaãm
todas as restrições, mas também que optimizem uma função (linear)
objectivo - optimização condicionada
•
Exemplos:
– gestão da produção
– redes de distribuição
1
Gestão da Produção
Dados:
a)
Um conjunto de itens P1, ..., Pn que se pretende produzir
b)
Um conjunto de recursos R1, ..., Rm disponíveis para os produzir
c)
Uma matriz A, cujos elementos aij representam a quantidade do
recurso i necessário para produzir uma unidade do item j
d)
Um vector C, cujos elementos cj representam o lucro obtido por
cada unidade do item j produzido
e)
Um vector B, cujos elementos bi representam a quantidade máxima
do recurso i que pode ser utilizado
Objectivo:
Determinar a quantidade a produzir de cada item j
2
Gestão da Produção
Gestão 0: Restrições Base
Designando por Xi a quantidade do item Pi produzido, o problema de
não sobre-utilização dos recursos existentes é modelado por
a11 X1 + a12 X2 + ... + a1n Xn =< b1
...
am1 X1 + am2 X2 + ... + amn Xn =< bm
Por exemplo, sendo necessárias 3 minutos de uma máquina para
fabricar 1 sapato e 4 minutos para 1 bota, representando por S e B o
número de sapatos e botas e estando a máquina disponível 4 horas
temos
3 S + 4 B =< 240
3
Gestão da Produção
Gestão 1: Satisfação (de um dado lucro)
Para modelar que um dado lucro L é atingido, adiciona-se ao modelo
anterior a restrição
c1 X1 + c2 X2 + ... + cn Xn >= L
Por exemplo, se se obtem um lucro de 4(5) € por cada sapato (bota)
vendido, pretender que o lucro seja pelo menos de 3000€ é modelada
pela restrição
4 S + 5 B >= 3000
Gestão 2: Optimização (do lucro obtido)
Para modelar a maximização do lucro obtido, adiciona-se ao modelo
inicial a função objectivo L (a maximizar)
Max
L = c1 X1 + c2 X2 + ... + cn Xn
4
Gestão da Produção (Dual)
Dados:
a)
Um conjunto de itens P1, ..., Pn que se pretende produzir
b)
Um conjunto de recursos R1, ..., Rm disponíveis para os produzir
c)
Uma matriz A, cujos elementos aij representam a quantidade do
recurso i necessário para produzir uma unidade do produto j
d)
Um vector C, cujos elementos cj representam o custo mínimo por
cada unidade do item j produzido
e)
Um vector B, cujos elementos bj representam a quantidade do
recurso j a utilizar
Objectivo:
Determinar os custos por recurso adequados
5
Gestão da Produção (Dual)
Gestão 0d:
Restrições Base
Designando por Yj o custo incorrido por cada unidade do recurso j
gasto, as restrições que impõe um custo mínimo por unidade de item i
produzido são modeladas por
a11 Y1 + a21 Y2 + ... + am1 Ym >= c1
a12 Y1 + a22 Y2 + ... + am2 Ym >= c2
...
a1m Y1 + a2m Y2 + ... + amn Ym >= cn
6
Gestão da Produção (Dual)
Gestão 1d: Satisfação (de um dado custo total)
A garantia de que o custo total do plano de produção não excede um
valor V é modelada, por adição ao modelo da restrição
b1 Y1 + b2 Y2 + ... + bm Ym =< V
Gestão 2d: Optimização (do custo total)
Para modelar a minimização dos custo total do plano de produção,
adiciona-se a função objectivo V (a minimizar)
Min
V = b1 Y1 + b2 Y2 + ... + bm Ym
7
Redes de Distribuição
Dados:
a)
Um conjunto de nós P1, ..., Pn , dos quais P1 é emissor e Pn o
receptor
b)
Uma matriz M, cujos elementos mi,j representam a capacidade da
ligação (em bits/seg) entre os nós i e j
c)
Uma matriz C, cujos elementos ci,j representam o custo (em €/bit)
da transmissão entre os nós i e j;
Objectivo:
Avaliar o fluxo de informação que a rede é capaz de transmitir entre
os nós emissor (P1) e receptor (Pn).
8
Redes de Distribuição
Restrições Base:
Designando por Xi,j a quantidade de informação debitada entre os nós i
e j, as restrições de capacidade são
X1,1 =< m1,1
...
Xm,n =< mm,n
% Em geral mi,i = 0
As restrições de igualdade de fluxo de entrada e saída em todos os k
nós (excepto nos nós P1 e Pn) são modeladas por
X1,2+X2,2+X3,2+...+Xn,2 = X2,1+X2,2+ ...+X2,n
X1,3+X2,3+X3,3+...+Xn,3 = X3,1+X3,2+ ...+X3,n
...
X1,k+X2,k+X3,k+...+Xn,k = Xk,1+Xk,2+ ...+Xk,n
9
Redes de Distribuição
Redes 1: Satisfação (de um fluxo F entre P1 e Pn)
A verificação de que é possível transmitir um determinado fluxo de
informação F entre os nós emissor (P1) e receptor (Pn) é modelada pela
adição da restrição
X1,2+X1,3+X1,4+...+X1,n >= F
ou
X1,n+X2,n+X3,n+...+Xn-1,,n >= F )
Redes 2: Optimização (do fluxo total)
Para modelar o máximo fluxo de informação que a rede é capaz de
transmitir entre os nós P1 e Pn, adiciona-se uma função objectivo F (a
maximizar)
Max
F =
X1,2+X1,3+X1,4+...+X1,n
10
Formalização
Os problemas de satisfação de restrições lineares sobre variáveis (de
decisão) Xi reais (ou racionais, se todos os parâmetros aij são números
racionais) têm a forma
a11 X1 + a12 X2 + ... + a1n Xn ρ1 b1
a21 X1 + a22 X2 + ... + a2n Xn ρ2 b2
...
am1 X1 + am2 X2 + ... + amn Xn ρm bm
em que ρ1..ρm são relações do conjunto {≤, =, ≥, <, >, ≠ }
Se se pretender a optimização das variáveis de decisão, inclui-se a
optimização de uma função (linear) objectivo F
Opt F = c1 X1 + c2 X2 + ... + cn Xn
em que Opt pode ser um de {Max, Min, Sup, Inf}.
11
Interpretação Geométrica
Dado um espaço com n dimensões, a restrição
ai1 X1 + ai2 X2 + ... + ain Xn = bi
define uma região admissível, correspondente aos pontos de um
hiper-plano desse espaço.
Como casos particulares temos
•
um espaço tridimensional (n=3), em que o hiper-plano corresponde
ao plano usual, e
•
um espaço bidimensional (ou vulgar plano, n=2) em que o hiperplano se reduz a uma recta.
A restrição ≠ define uma região admissível que corresponde a todos os
pontos do espaço n-dimensional, excepto os pontos do hiper-plano
12
Interpretação Geométrica
As restrições ≤ e ≥ definem regiões admissíveis do tipo semi-hiperespaço limitado pelo correspondente hiper-plano, incluído na região
admissível.
Com n=3 temos um semi-espaço e com n=2 um semi-plano.
As restrições < e > definem regiões admissíveis semelhantes, mas
excluindo a fronteira.
O conjunto de restrições define, num espaço a n dimensões, um hiperpoliedro (poliedro com n=3 e polígono com n=2) correspondente à
intersecção das m regiões admissíveis (m+n com não negatividade).
Algumas faces do hiper-poliedro pertencem (≤, ≥) à região admissível e
outras não (<, >). Devem ainda ser considerados hiper-planos de
exclusão (≠).
13
Interpretação Geométrica
• Com exclusão das restrições ≠, a região admissível é convexa.
• Em problemas de optimização a função
C =
c1
X1 + c2
X2 + ... + cn
Xn
define uma família de hiper-planos paralelos (1 para cada valor de C).
• O supremo e o ínfimo dessa função na região admissível corresponde
a um (hiper-)vértice do hiper-poliedro, o “último” ponto em que um
hiper-plano da função objectivo “toca” a região admissível quando se
desloca para valores crescentes (Sup) ou decrescentes (Inf) de C.
14
Interpretação Geométrica
• Se esse vértice pertencer à região admissível ele corresponde
igualmente ao seu Max ou Min
• Caso contrário (i.e. se foi excluído por alguma restrição >, < ou ≠)
não existem Max/Min mas apenas Sup/Inf.
• No caso em que o vértice de óptimo pertence a uma aresta ou um
lado do hiper-poliedro paralelos à família de hiper-planos de
optimização, haverá em geral mais do que um ponto óptimo, já que a
função objectivo tem o mesmo valor em todos os pontos dessas
arestas e lados.
15
Exemplo (2 dimensões)
X2
max X1 + X2
Suj. 2 X1 + X2 ≤ 8
X1 + X2 ≥ 3
X1 - X2 ≥ -5
X1 - X2 ≥ -5
X1 ≥ 0
2 X1 + X2 ≤ 8
X1 + X2 = k
X1 + X2 ≥ 3
x1
X2 ≥ 0
16
Complexidade Potencial
• Apesar de o espaço de pesquisa ser infinito, o problema de satisfação
reduz-se à verificação de que as restrições definem um hiper-poliedro
não vazio.
• Assim, pelo menos um dos vértice definidos pelos hiper-planos de
fronteira das restrições (excepto restrições ≠) deve pertencer à região
admissível.
• Como n restrições de igualdade (independentes) num espaço ndimensional definem univocamente um ponto (solução de um sistema
de n equações a n incógnitas), no pior caso, ter-se-á de verificar a
pertença à região admissível de Cmn pontos.
• Na prática, o número de vértices a testar é muito inferior.
• No pior caso, a complexidade do problema de satisfação é idêntica a
um problema de optimização.
17
Formas Resolvidas
• Há pois que determinar uma forma expedita de representar os
vértices, e pesquisem eficientemente se pertencem à região
admissível.
• Em particular, estaremos interessados em algoritmos que
•
Associem vértices a uma Forma Resolvida,
•
Implementem a pesquisa
manipulações algébricas.
através
de
um
conjunto
de
• A associação deverá ser possível se e apenas se o conjunto de
restrições inicial fôr satisfazível.
• Vamos abordar estas formas resolvidas para sistemas de restrições
com riqueza de expressão crescente.
18
Restrições Não-Estritas / Variáveis Não-negativas
• As restrições de desigualdade podem ser substituidas por restrições
de igualdade através da adição de variáveis de desvio (slacks),
igualmente não negativas
ai1 X1 +...+ ain Xn ≤ bi  ai1 X1 +...+ ain Xn + Si = bi
ai1 X1 +...+ ain Xn ≥ bi  ai1 X1 +...+ ain Xn - Si = bi
• A existência de uma forma resolvida para estes sistemas de restrições
é justificada pelo seguinte
Lema 1: Todo o sistema de m equações a m+n incógnitas não
negativas, é satisfazível sse admitir uma solução em que n variáveis
são nulas.
Demonstração:
 Se existe uma solução então o sistema é satisfazível.
19
Lema 1 (exemplo)
•
Considere-se o sistema de 2 equações a 4 incógnitas (isto é, m = 2
e n = 2). Este exemplo permite perceber melhor os passos da
demonstração (por indução em n) apresentada adiante.
(S1)
3X1–2X2+ X3- X4 = 4
X1+ X2-2X3+ X4 = 2
que admite a solução não negativa <X1,X2,X3,X4> = <2,1,1,1>.
•
Escolhendo arbitrariamente uma das variáveis, por exemplo X4, e
fazendo-se X4 = 1- δ (notar o sinal “-”) obtem-se o sistema S2
(S2)
3X1–2X2+ X3 = 5 - δ
X1+ X2-2X3 = 1 + δ
•
Assuma-se δ = 0. Pela hipótese de indução todo o sistema de m
equações a m+n incógnitas (neste caso, 2 equações a 3 incógnitas)
tem uma solução <s1,s2,s3> com n-1 (1) variáveis nulas.
20
Lema 1 (exemplo)
•
Este é o caso de S2 que admite de facto a solução < 11/7, 0, 2/7>,
podendo colocar-se na forma equivalente S3
(S3)
X1 = 11/7 + 3/7 X2 – 1/7 δ
X3 =
•
Anulando a variável X2 obtem-se o sistema S4
(S4)
X1 = 11/7 – 1/7 δ
X3 =
•
2/7 + 5/7 X2 – 4/7 δ
2/7 – 4/7 δ
Para toda a solução <s1, s3> não negativa deste sistema existe uma
solução <s1, 0, s3, 1-δ > do sistema S1 inicial.
•
Com δ =0, temos obviamente a solução <11/7, 0, 2/7, 1 >.
•
Mas incrementando-se o valor de δ ir-se-á necessariamente obter
uma nova solução de S1 em que uma das variáveis X1, X3 ou X4 terá
o valor 0.
21
Lema 1 (exemplo)
(S4)
X1 = 11/7 – 1/7 δ
X3 =
2/7 – 4/7 δ
Em geral duas situações podem acontecer.
•
Os termos em δ são todos positivos (não é o caso do exemplo):
Relembrando que tinhamos X4 = 1- δ, poderia fazer-se δ=1,
obtendo-se uma solução do sistema S1 com X3 e X4 nulos (sendo
X1 e X3 mais positivos que 11/7 e 2/7, respectivamente).
•
Alguns termos em δ são negativos (caso do exemplo):
Neste caso, incrementando-se δ vão-se decrementando os valores
das variáveis X1 e X3, bem com da variável X4, nas soluções
correspondentes de S1.
Haverá então algum valor mínimo de δ que anulará uma destas
variáveis, e garantirá as n (=2) variáveis nulas numa solução de
S1.
22
Lema 1 (exemplo)
(S4)
X1 = 11/7 – 1/7 δ
X3 =
2/7 – 4/7 δ
Neste exemplo temos
• δ = 1/2 → X3 = 0
• δ = 1 → X4 = 0
• δ = 11 → X1= 0
•
( e X1 = 3/2 ; X4 = 1/2)
( e X1 = 10/7 ; X3 = 2/7)
( e X3 = - 6 ; X4 = -10)
Para o menor destes valores de δ garante.-se pois que uma das
variáveis se anula e nenhuma das outras se torna negartiva
resolvendo-se o sistema inicial. Neste caso, a solução
<21/14, 0, 0, ½>
é de facto uma solução do sistema inicial S1
(S1)
3X1 – 2X2+ X3 - X4 = 4
X1 + X2- 2X3 + X4 = 2
23
Lema 1
 (1)
 A demonstração é feita por indução em n. Sendo o caso n=0 trivial,
falta demonstrar o passo de indução, ou seja,
se qualquer sistema de m equações a n variáveis não negativas tem
uma solução com n variáveis nulas, então qualquer sistema de m
equações a n+1 variáveis não negativas tem uma solução com n+1
variáveis nulas.
Consideremos um sistema satisfazível com m+n+1 variáveis
(S1) ai,1X1+..+ai,m+nXm+n+ai,m+n+1Xm+n+1 = bi i: 1..m
Se o sistema é satisfazível, existe uma solução Xi = wi (≥ 0 para i:
1..m+n+1). Substituindo Xm+n+1 por Xm+n+1= wm+n+1-δ
(S2)
ai,1X1+...+ai,m+nXm+n
ai,m+n+1wm+n+1)
=
ci+ai,m+n+1δ
(ci=bi-
Uma solução deste sistema com δ=0 é uma solução do sistema S1 com
Xm+n+1 = wm+n+1.
24
Lema 1
 (2)
Assim, o sistema S3 é satisfazível (admite a solução inicial Xi = wi )
(S3) ai,1X1+...+ai,m+nXm+n = ci
Ora tendo este sistema, satisfazível, m equações e m+n variáveis, pela
hipótese de indução, deve ter uma solução com n variáveis nulas. Sem
perda de generalidade, considere-se que são as últimas n variáveis
que se anulam, nessa solução, isto é, que existe uma solução
Xi = di ≥ 0 para i: 1..m
e
Xm+j = 0 para j : 1, n
Desta forma, o sistema S3 pode reescrever-se na forma
(S4) Xi = di + ci,m+1 Xm+1+ ... + ci,m+n Xm+n
Algebricamente, S4 é obtido de S3 por combinação linear das suas
linhas. Aplicando a mesma combinação linear, não a S3 mas a S2,
obtemos o sistema
(S5) Xi = di + ci,m+1Xm+1+...+ ci,m+nXm+n + ci,m+n+1δ
25
Lema 1
 (3)
Sendo obtido por uma combinação linear de S2, S5 é equivalente a S2.
Assim, qualquer solução de S5 com δ=0 é uma solução do sistema
inicial (S1), com Xm+n+1 = wm+n+1.
Se considerarmos apenas as soluções com as n variáveis Xm+j (j: 1..n)
nulas o sistema S5 pode ser reescrito como
(S6) Xi = di + ci,m+n+1 δ
Assim, qualquer solução deste sistema S5, corresponde a uma solução
do sistema S1 em que
Xi
= di + ci,m+n+1 δ
i : 1..m;
Xm+j
= 0
j : 1..n; e
Xm+n+1 = wi-δ
Desta forma o sistema S1 inicial de m equações a m+n+1 variáveis tem
uma solução com n variáveis nulas (todas as variáveis Xm+j com j: 1..n).
26
Lema 1
 (4)
Se algum dos dis ou se wi fôr nulo, então basta fazer δ=0 para obter
uma solução de S1 com n+1 variáveis nulas: as anteriores mais Xi (i:
1..m) ou Xm+n+1.
Xi
= di + ci,m+n+1 δ
i : 1..m;
Xm+n+1
= wi-δ
No caso mais geral, em que os dis e wi são estritamente positivos, pode
obter-se uma nova solução para um valor de δ > 0 e que garanta
di + ci,m+n+1 δi = 0
para algum i : 1..m; ou
δm+n+1 = wi
No menor destes valores δi, S6 tem uma solução com uma variável
nula.
Mas então o sistema S1 tem uma solução com n+1 variáveis nulas:
para além da variável correspondente de S6, todas as variáveis Xm+j (j:
1..n) são nulas, o que prova o teorema .
27
Forma Resolvida SF0
Definição: Dado um sistema de equações de m equações a m+n
incógnitas
(S1)
ai,1 X1+...+ai,m+n Xm+n = bi
(i: 1..m)
a sua forma resolvida SF0 tem a forma
(SF0) Xi = di + ci,m+1 Xm+1+...+ ci,m+n Xm+n
sendo di ≥ 0 i: 1..m
As variáveis no lado esquerdo são as variáveis básicas, sendo as outras
as não básicas (as variáveis básicas podem ser quaisquer e não as
primeiras m variáveis como são apresentadas para simplificar a
notação).
O lema anterior permite justificar o seguinte teorema.
28
Forma Resolvida SF0
Teorema: Um sistema de equações de m equações a m+n variáveis
não-negativas é satisfazível sse se puder reescrever na forma SF0.
Demonstração
 Se se pode reescrever na forma resolvida SF0, então o sistema
admite a solução não negativa, <d1, d2, ..., dm,0,..,0>.
 Dado o sistema satisfazível
(S1)
ai,1 X1+...+ai,m+n Xm+n = bi
(i: 1..m)
o lema anterior garante uma solução <d1,d2, ...,dm,0,..,0>, que permite a
forma SF0
(SF0) Xi = di + ci,m+1 Xm+1+ ... + ci,m+n Xm+n
com di ≥ 0 para i: 1..m
através de uma combinação linear das suas equações.
29
Interpretação Geométrica
Exemplo:
Dadas R3: 2X1 + X2 ≤ 8 ; R4: X1 + X2 ≥ 3 ; R5: X1 - X2 ≥ -5, a região
admissível é constituída pela intersecção das sub-regiões definidas por
cada uma das restrições.
X2
X1 - X2 - X5 = -5
2 X1 + X2 + X3 = 8
X1 + X2 - X4 = 3
X1
30
Interpretação Geométrica
Na realidade, pretendendo-se a não-negatividade de X1 e X2, deverão
ser consideradas mais 2 restrições
R1: X1 ≥ 0
R2: X2 ≥ 0
e
A região admissível é constituída pela intersecção das sub-regiões
definidas pelas 5 restrições {R1, R2, R3, R4, R5}.
X2
X1 - X2 = -5
X1 = 0
2 X1 + X2 = 8
X1
X1 + X2 = 3
X2 = 0
31
Interpretação Geométrica
Cada uma das rectas correspondentes a uma restrição pode ser
identificada pelo anulamento da correspondente variável de desvio.
X1 - X2 ≥ -5
X1 - X2 - X5 = -5
X2
X1 - X2 = -5
X5 = 0
X1 = 0
2X1 + X2 ≤ 8
2 X1 + X2 + X3 = 8
2 X1 + X2 = 8
X3 = 0
X4 = 0
X1
X1 + X2 = 3
X1 + X2 ≥ 3
X1 + X2 - X4 = 3
X2 = 0
32
Interpretação Geométrica
A intersecção de quaisquer duas rectas, define um potencial vértice da
região admissível, e é obtida pelo anulamento de 2 (das 5 variáveis).
X2
X1 = 0
X5 = 0
X4 = 0
X5 = 0
X2 = 0
X5 = 0
X1 = 0
X3 = 0
X3 = 0
X5 = 0
X5 = 0
X1 = 0
X3 = 0
X1 = 0
X4 = 0
X4 = 0
X2 = 0
X1 = 0
X2 = 0
X2 = 0
X4 = 0
X2 = 0
X3 = 0
X1
X3 = 0
X4 = 0
33
Interpretação Geométrica
Neste caso temos um sistema de 3 igualdades a 5 variáveis (2 variáveis
de decisão, X1 e X2, e 3 variáveis de desvio (X3 , X4 e X5 e ).
2 X1 + X2 ≤ 8
X1 + X2 ≥ 3
X1 - X2 ≥ -5
X1 , X2 ≥ 0
2 X1 + X2 + X3 = 8
X1 + X2 - X4 = 3
X1 - X2 - X5 = -5
Existem naturalmente 10 combinações de variáveis 2 a 2. O anulamento
de quaisquer 2 variáveis, corresponde a um vértice potencial da região
admissível.
Esse anulamento corresponde igualmente a uma escolha de variáveis
não básicas, e a uma potencial forma SF0 do sistema inicial.
Apenas as formas SF0 potenciais em que os coeficientes livres são não
negativos correspondem a formas SF0 reais (e reais vértices da região
admissível).
34
Interpretação Geométrica
X2 = 8 - 2 X1 - X3
X4 = 5 - X1 - X3
X5 = -3 + 3 X1 + X3
X2 = 5 + X1 - X5
X3 = 3 - 3 X1 + X5
X4 = 2 + 2 X1 - X5
X2
x1 = 1 - x3/3 + x5/3
x2 = 6 - x3/3 - 2 x5/3
x4 = 4 - 2 x3/3 - X5/3
2 X1 + X2 ≤ 8
X1 + X2 ≥ 3
X1 - X2 ≥ -5
X1 , X2 ≥ 0
X5 = 0
X1 = 0
X3 = 0
X1 =-1 + X4/2 + X5/2
X2 = 4 + X4/2 - X5/2
X3 = 6 - 3 X4/2 - X5/2
X3 = 8 - 2 X1 - X2
X4 = -3 + X1 + X2
X5 = 5 + X1 - X2
2 X1 + X2 + X3 = 8
X1 + X2 - X4 = 3
X1 - X2 - X5 = -5
X4 = 0
X1
X2 = 0
X1 = 3 - X2 + X4
X3 = 2 + X2 - 2 X4
X5 = 2 - 2 X2 + X4
X1 = 5 - X3 - X4
X2 = -2 + X3 + 2 X4
X5 = 12 - 2 X3 - 3 X4
35
Interpretação Geométrica
A existência de soluções para o conjunto de restrições equivale a que a
região admissível seja não vazia. Um problema em que nenhum vértice
seja admissível é um problema sem solução.
Por exemplo, se nas restrições anteriores se trocarem o sinal das
restrições R3 e R4, o novo sistema
R3’: 2X1 + X2 ≥ 8
R4’: X1 + X2 ≤ 3
R5: X1 - X2 ≥ -5
R3’: 2X1 + X2 -X3 = 8
ou
R4’: X1 + X2 +X4 = 3
R5: X1 - X2 -X5 = -5
corresponde a um problema que é impossível e não tem qualquer
solução.
36
Interpretação Geométrica
X2 = 8 - 2 X1 + X3
X4 = -5 + X1 - X3
X5 = -3 + 3 X1 - X3
X2 = 5 + X1 - X5
X3 = -3 + 3 X1 - X5
X4 = -2 - 2 X1 + X5
X2
x1 = 1 + x3/3 + x5/3
x2 = 6 + x3/3 - 2 x5/3
x4 = -4 - 2 x3/3 + x5/3
2 X1 + X2 ≥ 8
X1 + X2 ≤ 3
X1 - X2 ≥ -5
X1 , X2 ≥ 0
X5 = 0
X1 = 0
X3 = 0
X1 = -1 - X4/2 + X5/2
X2 = 4 - X4/2 - X5/2
X3 = -6 - 3 X4/2 + X5/2
X3 = - 8 + 2 X1 + X2
X4 = 3 - X1 - X2
X5 = 5 + X1 - X2
2 X1 + X2 - X3 = 8
X1 + X2 + X4 = 3
X1 - X2 - X5 = -5
X4 = 0
X1
X2 = 0
X1 = 3 - X2 - X4
X3 = -2 - X2 - 2 X4
X5 = 2 - 2 X2 - X4
X1 = 5 + X3 + X4
X2 = -2 - X3 - 2 X4
X5 = 12 + 2 X3 + 3 X4
37
Passagem para a Forma Resolvida SF0
Para avaliar a satisfazibilidade de um problema basta pois verificar que
pelo menos um dos potenciais vértices corresponde a uma solução.
Mas isso corresponde a colocar o sistema de restrições na forma SF0.
Por exemplo, o vértice admissível
X1 = 1 -
X3/3 +
X2 = 6 -
X3/3 - 2 X5/3
X4 = 4 - 2 X3/3 -
X5/3
X5/3
Corresponde à reescrita na forma SF0 do sistema inicial
2 X1 + X2 ≥ 8
X1 + X2 ≤ 3
X1 - X2 ≥ -5
2 X1 + X2 - X3 =
ou
X1 + X2 + X4 =
8
3
X1 - X2 - X5 = -5
38
Passagem para a Forma Resolvida SF0
Para colocar um sistema de m restrições de igualdade a m+n variáveis
(possivelmente proveniente de um sistema de m restrições de
desigualdade ≤ ou ≥ ) na forma SF0, basta pois
1. Escolher m variáveis como variáveis básicas
2. Reescrever o sistema nessa base
3. Verificar se os coeficentes livres (valor das variáveis básicas
quando as não básicas se anulam) são não negativos
O problema desta abordagem é a existência de um número muito
elevado (combinações de m+n, n a n,
) de possibilidades de
m+n
escolha da base.
C
m
A escolha é trivial no caso em que todas as restrições são do tipo
ai1 X1 +...+ ain Xn ≤ bi
com bi >= 0
em que as variáveis não básicas são as de decisão (X1 a Xn) já que a
solução Xi = 0 ( 1  i  n) é admissível (pois 0  bi).
39
Conversão em SF0 - Simplex
No caso mais geral em que as restrições são do tipo  ou  coloca-se
aquestão de garantir a passagem eficiente de um conjunto de restrições
lineares sobre variáveis não negativas para uma forma resolvida SF0,
se existir, sem escolha arbitrária dos vértices (variáveis básicas).
Por outro lado, se se pretender a integração dum resolvedor de
restrições simbólicos num sistema de programação em lógica (CLP)
esse resolvedor deve ser incremental.
Há pois que definir um procedimento eficiente e incremental para
efectuar essa transformação.
Na prática, há que definir uma estratégia para escolher eficientemente
as variáveis básicas e as não básicas.
Uma solução possível, geralmente utilizada, é esencialmente baseada
no algoritmo SIMPLEX.
40
Optimização em SF0
Há pois que definir uma estratégia para determinar quais as variáveis
que devem entrar na base.
Essa estratégia é fácil de entender se se pretender não apenas verificar
a satisfação de um conjunto de restrições, mas ainda a optimização de
uma função objectivo, que tal como as restrições seja linear.
Assim, assumamos que, dado um conjunto de m restrições de igualdade
nas variáveis X1 a Xm+n,, já colocado na forma SF0, se pretende
adicionalmente maximizar (o caso da minimização é semelhante) uma
função
max F = c1 X1 + c2 X2 + ... + Cm+n Xm+n
41
Optimização em SF0
max F = c1 X1 + c2 X2 + ... + Cm+n Xm+n
Sem perda de generalidade, consideremos que as primeiras m variáveis
X1 a Xm são as variáveis básicas, isto é, que as restrições foram
reescritas na forma SF0
X1 = d1+ c11 Xm+1 +...+ c1n Xm+n
...
Xm = dm+ cm1 Xm+1 +...+ cmn Xm+n
Substituindo na função F as variáveis básicas pelas suas expressões
nas não básicas obtemos
max F = k + k1 Xm+1 + k2 Xm+2 + ... + kn Xm+n
42
Optimização em SF0
max F = k + k1 Xm+1 + k2 Xm+2 + ... + kn Xm+n
Esta expressão mostra que no vértice definido pelas variáveis básicas
(com as não-básicas nulas) a função a maximizar tem o valor k.
Mostra ainda que, se todos os coeficientes ki forem negativos, não se
pode obter maiores valores de F.
No caso de haver coeficientes ki positivos, um aumento da variável
correspondente aumenta o valor da função F.
Quanto maior o coeficiente, maior o aumento da função objectivo por
aumento unitário da variável.
43
Optimização em SF0
max F = k + k1 Xm+1 + k2 Xm+2 + ... + kn Xm+n
Numa perspectiva de optimização, dada uma certa base admissível,
para a qual existam valores ki positivos, o valor da função objectivo pode
ser melhorado (ser maior que k) tornando positiva as correspondentes
variáveis não básicas.
Mas para mantermos o sistema na forma SF0, se se “desanula” uma
variável não-básica, essa situação deverá ser compensada anulando
uma das variáveis básicas.
Assim, a estratégia de optimização a seguir é a de, partindo de uma
base admissível, proceder a um conjunto de mudanças de base até se
poder reescrever a função objectivo com coeficientes exclusivamente
não negativos.
44
Optimização em SF0
Obviamente, uma mudança de base, envolve a escolha de
a)
uma variável não básica para entrar na base, e
b)
uma variável básica para sair da base,
A escolha da variável de entrada pode seguir a heurística delineada
atrás:
A variável de entrada é aquela a que corresponde na função objectivo o
coeficiente mais positivo (maximização) ou mais negativo (minimização).
Uma vez escolhida a variável de entrada, ela deverá aumentar tanto
quanto possível. No entanto, na forma SF0 corrente, um aumento dessa
variável poderá conduzir à diminuição das variáveis básicas.
45
Optimização em SF0
Com efeito, tome-se a forma SF0 abaixo e, sem perda de generalidade,
considere-se Xm+1 como variável de entrada.
max
F = k + k1 Xm+1 + k2 Xm+2 + ... + kn Xm+n
suj.
Xi = di + ci1 Xm+1 +...+ cin Xm+n
i:1..m
Mantendo as outras variáveis não básicas nulas, as equações
reescrevem-se como
Xi = di + ci1 Xm+1
i:1..m
Assim, sendo di ≥ 0, um aumento de Xm+1 anula as variáveis básicas
(em que ci1< 0), quando tomar o valor di/|ci1|.
Como se pretende anular uma variável básica, mantendo as outras não
negativas, a escolha da variável de saída recai na variável básica Xi
para a qual seja menor o valor di/|ci1|.
46
Optimização em SF0
Resumindo, a maximização da função objectivo de um sistema de m
igualdades a m+n variáveis envolve a escrita do sistema e da função
objectivo na forma SF0
max
F = k + k1 Xm+1 + k2 Xm+2 + ... + kn Xm+n
suj.
Xi = di+ ci1 Xm+1 +...+ cin Xm+n
i:1..m
e a execução do seguinte algoritmo:
 Enquanto a função objectivo tiver coeficientes positivos mudar
a base escolhendo
• como variável de entrada a variável não básica Xj com
coeficiente kj mais positivo na função objectivo
• como variável de saída a variável básica i com cij < 0 e menor
valor di/|cij| na respectiva restrição
47
Interpretação Geométrica
Do ponto de vista geométrico, e como visto atrás, cada forma SF0
corresponde a um vértice da região admissível.
Assim, ao trocar uma variável básica por outra não básica este
algoritmo vai percorrendo vários vértices da região admissível, com
valores crescentes da função objectivo.
Por apenas trocarem uma variável, dois vértices consecutivos estão
unidos por uma aresta do hiper-poliedro que representa a região
admissível.
48
Interpretação Geométrica
Exemplo:
Max X1 +
2X2
R1: -X1 + 3X2 ≤
R2:
9
X1 +
X2 ≤ 11
R3: 2X1 +
X2 ≤ 18
X1 ,X2 ≥ 0
49
Interpretação Geométrica
Exemplo:
Max X1 +
2X2
-X1 + 3X2 + X3 =
9
X1 +
X2 + X4 = 11
2X1 +
X2 + X5 = 18
X1 ,X2 ≥ 0
Max
X3 =
X1 + 2X2
9 + X1 - 3X2
→
9/3
X2
→ 11/1
X5 = 18 - 2X1 - X2
→ 18/1
X4 = 11 - X1 -
entra X2, sai X3
50
Interpretação Geométrica
Max X1 +
Exemplo.
X3 =
2X2
9 + X1 - 3X2
→
9/3
X2
→ 11/1
X5 = 18 - 2X1 - X2
→ 18/1
X4 = 11 - X1 -
entra X2, sai X3
Max
6 + 5X1/3 - 2X3/3
X2 =
3 +
X1/3 - X3/3 →
9
X4 =
8 - 4X1/3 + X3/3 →
6
X5 = 15 - 7X1/3 + X3/3 → 45/7
entra X1, sai X4
51
Interpretação Geométrica
Exemplo.
Max
6 + 5X1/3 - 2X3/3
X2 =
3 +
X4 =
8 - 4X1/3 + X3/3
X1/3 - X3/3
X5 = 15 - 7X1/3 + X3/3
entra X1, sai X4
Max 16 - X3/4 - 5X4/4
X1 = 6 + X3/4 - 3X4/4
X2 = 5 + X3/12-
X4/4
X5 = 1 -7X3/12+ 7X4/4
óptimo encontrado
52
Optimização em SF0
Este algoritmo de optimização pressupõe que, no início, o conjunto de
restrições foi reescrito na forma SFO, que era exactamente o objectivo
que nos levou a abordar o problema da optimização!
Na realidade, como vimos, a colocação na forma SF0 não levanta
qualquer problema quando as m restrições de igualdade a m+n
variáveis provêm de um conjunto de m restrições de desigualdade
ai1 X1 + ai2 X2 + ... + ain Xn =< bi , bi ≥ 0 para i: 1..m
em que todos os bi são não negativos (basta escolher as variáveis X1 a
Xn para variáveis não básicas, pois o seu anulamento satisfaz as
restrições!).
A questão coloca-se pois numa situação em que, para algum i, existe
uma restrição do tipo
ai1 X1 + ai2 X2 + ... + ain Xn >= bi , bi ≥ 0
53
Passagem para a Forma Resolvida SF0
Nestas condições, a restrição Ri pode colocar-se na forma
ai1 X1 + ai2 X2 + ... + ain Xn - Si = bi , bi ≥ 0
ou, equivalentemente
Si = -bi + ai1 X1 +...+ ain Xn
Pode agora introduzir-se uma variável artificial não negativa, Zi, na
restrição, obtendo-se
Si - Zi = -bi + ai1 X1 +...+ ain Xn
O que permite escrever a equação na forma
Zi = bi + Si - ai1 X1 -...- ain Xn
54
Passagem para a Forma Resolvida SF0
Zi = bi + Si - ai1 X1 -...- ain Xn
Esta equação tem duas propriedades importantes
1.
É equivalente à restrição inicial se fôr Zi = 0.
2.
É satisfeita quando as variáveis de decisão, e a variável de
desvio, são nulas.
Desta forma, se uma solução admissível do sistema modificado é uma
solução do sistema inicial se Zi = 0, tudo o que é necessário fazer é,
converter o sistema modificado, num outro equivalente, mas com Zi = 0.
Na prática, sendo Zi não negativo, este objectivo corresponde a
minimizar Zi, ou, equivalentemente, maximizar – Zi.
Este procedimento pode naturalmente ser generalizado.
55
Passagem para a Forma Resolvida SF0
Dado um conjunto m de restrições de igualdade a m+n variáveis, a
passagem à forma SF0 pode fazer-se nos seguintes passos
1.
Escolhem-se m variáveis para variáveis básicas, e reescreve-se o
sistema isolando as variáveis básicas
Xi = bi+ ci1 Xm+1 +...+ cin Xm+n
2.
Se todos os bi forem não negativos, o sistema está na forma SFO.
Caso contrário, introduzem-se variáveis artificiais nas restrições
adequadas, reescrevendo-as em
Zi = - di+ ci1 Xm+1 +...+ cin Xm+n - Xi
3.
Finalmente minimiza-se a soma das variáveis artificiais.
Naturalmente, se o mínimo fôr 0, no ponto de mínimo todas as variáveis
artificiais são nulas. Neste caso, e em princípio, estas variáveis serão
não básicas no sistema obtido e poderão ser simplesmente eliminadas
do sistema.
56
Interpretação Geométrica
Ao introduzir-se uma variável artificial introduz-se uma nova dimensão
no problema.
– Por exemplo, se o problema inicial tinha duas dimensões, X e Y,
pode considerar-se a nova variável como a 3ª dimensão, Z.
O problema inicial, pode considerar-se a intersecção do problema
estendido com o espaço inicial.
– Por exemplo, em 2D, o problema inicial é a intersecção do
problema estendido (3D) com o plano X-Y.
Embora para o problema inicial Xi=0 não seja solução, no problema
estendido, o ponto Xi=0 , Z > 0 é uma solução.
A minimização de Z vai induzir um percurso no hiper-poliedro até atingir
o espaço inicial (em 2D, o plano X-Y).
57
Interpretação Geométrica
Exemplo.
-X1 + 3X2 ≤ 9
-X1 + 3X2 + X3 =
9
X1 +
X2 ≤ 11
X1 +
X2 + X4 = 11
2X1 +
X2 ≤ 18
2X1 +
X2 + X5 = 18
X1 + 2X2 ≥ 12
X1 + 2X2 - X6 = 12
Xi ≥ 0
X3 =
9 + X1 - 3X2
X4 =
11 - X1 -
X2
X5 =
18 -2X1 -
X2
X6 = -12 + X1 + 2X2
58
Interpretação Geométrica
Exemplo
X3 =
X4 =
X5 =
9 + X1 - 3X2
11 - X1 - X2
18 -2X1 - X2
X6 = -12 + X1 + 2X2 + Z1
min Z1 = 12 - X1 - 2X2 + X6
X3 = 9 + X1 - 3X2
X4 = 11 - X1 - X2
X5 = 18 -2X1 - X2
Z1 = 12 - X1 - 2X2 + X6
Projecção no plano X1-X2 do ponto <X1, X2, Z1> = <0, 0, 12>
59
Interpretação Geométrica
Exemplo
min
X6
X3 =
X4 =
X5 =
Z1 =
Z1 = 12 - X1 - 2X2 +
9
11
18
12
+ X1
- X1
-2X1
- X1
- 3X2
- X2
- X2
- 2X2 + X6
min 6 - 7X1/3 X2 = 3 + X1/3
X4 = 8 - 4X1/3
X5 = 15 - 7X1/3
Z1 = 6 - 8X1/3
2X3 /3 + X6
- X3/3
+ X3
+ X3/3
+ 2X3/3 + X6
Projecção no plano X1-X2 do ponto <X1, X2, Z1> = <0, 3, 6>
60
Interpretação Geométrica
Exemplo
min 6 - 7X1/3 X2 = 3 + X1/3
X4 = 8 - 4X1/3
X5 = 15 - 7X1/3
Z1 = 6 - 8X1/3
2X3 /3 + X6
- X3/3
+ X3
+ X3/3
+ 2X3/3 + X6
min Z1
21/5
X1 = 18/5 + 2X3/5 + 3X6/6 -3Z1/5
X2 = 21/5 -
X3/5 +
X6/5 - Z1/5
X4 = 16/5 -
X3/5 - 4X6/5 +4Z1/5
X5 = 33/5 - 3X3/5 - 7X6/5 +7Z1/5
18/5
O ponto <18/5, 21/5, 0> já está no plano X1-X2
61
Download

Diapositivos da Aula