Escolar Documentos
Profissional Documentos
Cultura Documentos
2o semestre de 2005
x ≤ 10y
Conjunto Combinatório:
X = {vetores dePincidência dos emparelhamentos de um grafo} ou
X = {x ∈ Zn+ : e∈δ(i) xe ≤ 1, ∀i ∈ V }.
Se T ⊆ V e |T | é ı́mpar, temos a seguinte desigualdade válida:
P |T |−1
e∈E (T ) xe ≤ 2 .
Arredondamento inteiro:
X = {x ∈ Z4+ : 13x1 + 20x2 + 11x3 + 6x4 ≥ 72}.
A seguinte desigualdade é válida para X :
13 20 11 6 72
x1 + x2 + x3 + x4 ≥ .
11 11 11 11 11
Como estamos no ortante positivo, outra desigualdade válida seria:
6
2x1 + 2x2 + x3 + x4 ≥ 6 .
11
E como as variáveis x são inteiras, chega-se a desigualdade válida
2x1 + 2x2 + x3 + x4 ≥ 7.
C. C. de Souza (IC-UNICAMP) Algoritmos de Planos de Corte 2o semestre de 2005 7/1
Proposição 1:
A desigualdade πx ≤ π0 é válida para P 6= ∅ se e somente se
existem vetores u e v não negativos tais que uA − v = π e
ub ≤ π0 (ou u ≥ 0 tal que uA ≥ π e ub ≤ π0 ).
Prova:
Primal: z = max{πx : Ax ≤ b , −x ≤ 0, x irrestrito}.
| {z } | {z }
u v
Dual: w = min{ub : uA − v = π, u ≥ 0, v ≥ 0}.
Desigualdade Válida: z ≤ π0 ≡ w ≤ π0 ≡ ub ≤ π0 , onde
uA − v = π, u ≥ 0, v ≥ 0.
Exemplo 1:
X = {5.27x ≤ 11.32, com x ∈ Z}.
Desigualdade válida: 5x ≤ 11.32 =⇒ 5x ≤ 11 =⇒ x ≤ ⌊ 11
5 ⌋ = 2.
Exemplo 2:
−x1 + 2x2 ≤ 4 (5/11) (4/11)
5x1 + x2 ≤ 20 (3/22) (3/11)
−2x1 − 2x2 ≤ −7 (0) (0)
x1 , x2 ∈ Z+ .
Desigualdade válida 1: (5/22)x1 + (23/22)x2 ≤ (100/22) ou, após
arredondamento, x2 ≤ ⌊(100/22)⌋ = 4.
Desigualdade válida 2: x1 + x2 ≤ 6.
C. C. de Souza (IC-UNICAMP) Algoritmos de Planos de Corte 2o semestre de 2005 11 / 1
Procedimento de Chvátal-Gomory
Procedimento de Chvátal-Gomory
Seja X = P ∩ Zn , onde P = {x ∈ Rn+ : Ax ≤ b}, A : m × n e u ∈ Rm
+.
P
1 (ua.j )xj ≤ ub é válida para X ;
Pj∈N
2 ⌊ua.j ⌋xj ≤ ub é válida para X ;
Pj∈N
j∈N ⌊ua.j ⌋xj ≤ ⌊ub⌋ é válida para X ;
3
Teorema 2
Toda desigualdade válida para X pode ser obtida pela aplicação do
procedimento de Chvàtal-Gomory em um número finito de vezes.
Comentários:
P 0 ⊃ P 1 ⊃ P 2 ⊃ . . . ⊃ P t ⊃ . . .;
Com a adição de cortes o limite superior decresce a cada iteração;
A partir da segunda relaxação linear, resolver o LP usando o dual
simplex;
Se for conhecido um limitante inferior z t , o algoritmo pode ser
interrompido na k-ésima iteração usando um pruning por otimalidade
quando z t − z t ≤ ǫ (fixado a priori).
Usando limitantes inferiores, é possı́vel ainda fixar variáveis por custo
reduzido;
IMPORTANTE: na prática, é melhor adicionar várias desigualdades
violadas a cada iteração do que uma única !
x1 x2 x3 x4 RHS x1 x2 x3 x4 RHS
z -3 -4 0 0 0 z -1 0 2 0 22
x3 1 2 1 0 11 x2 1/2 1 1/2 0 11/2
x4 7 1 0 1 21 x4 13/2 0 -1/2 1 31/2
x1 x2 x3 x4 RHS 1o corte de Gomory:
z 0 0 25/13 2/13 317/13
x2 0 1 7/13 -1/13 56/13 12 2 5
x3 + x4 ≥ .
x1 1 0 -1/13 2/13 31/13 13 13 13
Inserindo a variável de folga: (tem que ser inteira)
− 12
13 x3 −
2
13
5
+ x5 = − 13 (restrição da forma ≤)
Exemplo (cont.)
x1 x2 x3 x4 x5 RHS
z 0 0 25/13 2/13 0 317/13
x2 0 1 7/13 -(1/13) 0 56/13
x1 1 0 -(1/13) 2/13 0 31/13
x5 0 0 -(12/13) -(2/13) 1 -(5/13)
2o corte de Gomory:
Gráfico
7x1 + x2 ≤ 21
6
4
x1 + 2x2 ≤ 11
3
2
1o corte
1
2o corte
1 2 3
Exemplo