• No se han encontrado resultados

Fundamentos de Programación Entera. 6. Planos de corte. Carlos Testuri Germán Ferrari

N/A
N/A
Protected

Academic year: 2021

Share "Fundamentos de Programación Entera. 6. Planos de corte. Carlos Testuri Germán Ferrari"

Copied!
37
0
0

Texto completo

(1)

Fundamentos de Programación Entera

6. Planos de corte

Carlos Testuri – Germán Ferrari

Departamento de Investigación Operativa – Instituto de Computación Facultad de Ingeniería – Universidad de la República

(2)

Contenido

1 Resolución mediante planos de corte Introducción

Inecuaciones válidas

Inecuaciones válidas para LP Inecuaciones válidas para IP Procedimiento de Chvátal-Gomory Algoritmo de planos de corte

(3)

Resolución mediante planos de corte Introducción

Resolución mediante planos de corte

La metodología de resolución medianteplanos de corte(cutting planes) trata de la construcción aproximada del casco convexo del conjunto factible de un problema de programación entera.

Mediante un proceso iterativo de inclusión de inecuaciones (denominados planos de corte) se busca ajustar la formulación del problema de forma que sea lo más próxima al casco convexo de las soluciones factibles.

(4)

Resolución mediante planos de corte Introducción

Esquema de resolución mediante planos de corte

Dado el problema IP

max cτx

s.a. x∈X⊂Zn,

el objetivo es ajustar la formulación de forma que ésta tienda a ser similar al conv(X); e idealmente, resolver el problema de programación lineal

equivalente

max cτx

s.a. x∈conv(X).

Para los problemas enN P-hardno se espera tener una descripción explícita del casco convexo; lo que se espera es, para algunas de sus instancias, tener una aproximación del casco en “vecindades” donde hay condiciones de optimalidad.

(5)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas

Se dice que una inecuaciónπτx≤π0es unainecuación válidaparaXsi la inecuación se cumple para todox∈X.

DadosX ={x∈Zn:Ax≤b}yconv(X) ={x∈Rn : ˆAx≤ˆb}, las

inecuaciones que definen ambas formulaciones son inecuaciones válidas para X.

(6)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos1/8

1. Inecuaciones lógicas DadoX={x∈B4:6x

1−4x2+3x3−x4≤1}.

Six1=1 entoncesx2=1 yx4=1, por lo que se infieren las inecuaciones válidasx1 ≤x2yx1≤x4.

Además, es infactible six1=1 yx3=1, por lo que se infiere la inecuación válidax1+x3 ≤1.

(7)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos1/8

1. Inecuaciones lógicas DadoX={x∈B4:6x

1−4x2+3x3−x4≤1}.

Six1=1 entoncesx2=1 yx4=1, por lo que se infieren las inecuaciones válidasx1 ≤x2yx1≤x4.

Además, es infactible six1=1 yx3=1, por lo que se infiere la inecuación válidax1+x3 ≤1.

(8)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos2/8

2. Inecuaciones binarias mixtas1/2

DadoX={(x,y)∈R×B:x≤100y,0≤x≤10}.

Todas las inecuacionesx≤ry, conr∈[10,100]son válidas

x 10 y 1 x≤100y x≤ry x≤10y

En particular la inecuación válida conr=10 permite determinar conv(X) ={(x,y)∈R×R:x≤10y,0≤x≤10,0≤y≤1}.

(9)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos2/8

2. Inecuaciones binarias mixtas1/2

DadoX={(x,y)∈R×B:x≤100y,0≤x≤10}.

Todas las inecuacionesx≤ry, conr∈[10,100]son válidas

x 10 y 1 x≤100y x≤ry x≤10y

En particular la inecuación válida conr=10 permite determinar conv(X) ={(x,y)∈R×R:x≤10y,0≤x≤10,0≤y≤1}.

(10)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos3/8

3. Inecuaciones binarias mixtas2/2

Dado el problema de localización de instalación capacitada (CFL) con demanda absoluta min Pn j=1fjyj+P m i=1 Pm j=1cijxij s.a. Pn j=1xij=ai, i=1, ...,m, Pm i=1xij≤bjyj, j=1, ...,n, xij≥0,yj∈ {0,1}, i=1, ...,m,j=1, ...,n.

Las soluciones factibles cumplenxij≤aiyxij≤bjyjpor lo que

(11)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos4/8

4. Inecuaciones enteras mixtas

DadoX={(x,y)∈R×Z:y≥x,0≤x≤ 3 2,y≥0}. x y y≥x x≤ 3 2 y≥2x−1

Se tiene la inecuación váliday≥2x−1 que permite obtener conv(X) ={(x,y)∈R×R:y≥x,0≤x≤ 3

(12)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos4/8

4. Inecuaciones enteras mixtas

DadoX={(x,y)∈R×Z:y≥x,0≤x≤ 3 2,y≥0}. x y y≥x x≤ 3 2 y≥2x−1

Se tiene la inecuación váliday≥2x−1 que permite obtener conv(X) ={(x,y)∈R×R:y≥x,0≤x≤ 3

(13)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos5/8

5. Inecuaciones de redondeo a entero

SeaX=P∩Z2dondeP={x∈R2 :9x1+15x2≥23,x≥0}. Dividiendo entre 9 se tiene la inecuación válida paraP

x1+53x2≥ 239.

Dado quex≥0 se sustituyen sus coeficientes por los enteros superiores (función techo) y se tiene la inecuación válida paraP

x1+2x2 ≥x1+53x2≥ 239.

Dado quexy los coeficientes de la expresión son enteros, la valoración de la expresión es entera; por lo que se puede redondear 239 a su entero superior, obteniéndose la inecuación válida paraX

(14)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos6/8

Representación gráfica x1 x2 9x1+15x2 ≥23 x1+2x2 ≥239 x1+2x2≥3

(15)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos6/8

Representación gráfica x1 x2 9x1+15x2 ≥23 x1+2x2 ≥239 x1+2x2≥3

(16)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos7/8

6. Inecuaciones de redondeo a entero mixtas SeaX=P∩(Z2×R)donde

P={(x,y)∈R2×

R:9x1+15x2+y≥23,x,y≥0}. Dividiendo entre 9 se tiene la inecuación válida paraP

x1+53x2≥ 239−y.

Dado quex≥0 se sustituyen sus coeficientes por los enteros superiores (función techo) la valoración de la expresión es entera; por lo que se puede redondear 239 a su entero superior, obteniéndose la inecuación válida paraX

x1+2x2+ay≥3 (para algúna).

Dado qued239−yedecrece de 3 a 2, cuandoy=5; por lo que la inecuación es válida paraa≥ 15.

(17)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos8/8

Representación gráfica x1 y x2 9x1+15x2+y=23 X x1+2x2+y5 =3 ¿Cásco convexo?

(18)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos8/8

Representación gráfica x1 y x2 9x1+15x2+y=23 X x1+2x2+y5 =3 ¿Cásco convexo?

(19)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos8/8

Representación gráfica x1 y x2 9x1+15x2+y=23 X x1+2x2+y5 =3 ¿Cásco convexo?

(20)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos8/8

Representación gráfica x1 y x2 9x1+15x2+y=23 X x1+2x2+y5 =3 ¿Cásco convexo?

(21)

Resolución mediante planos de corte Inecuaciones válidas

Inecuaciones válidas: ejemplos8/8

Representación gráfica x1 y x2 9x1+15x2+y=23 X x1+2x2+y5 =3 ¿Cásco convexo?

(22)

Resolución mediante planos de corte Inecuaciones válidas para LP

Inecuaciones válidas para programación lineal

Proposición (1)

La inecuaciónπτx≤π0es válida para P={x:Ax≤b,x≥0}si y solo si existe u≥0tal que uτA≥πτ y uτb≤π0.

Demo. Se tiene por dualidad que max{πτx:x∈P} ≤π0si y solo si min{uτb:uτA≥πτ,u0} ≤π0.

(23)

Resolución mediante planos de corte Inecuaciones válidas para IP

Inecuación válida elemental

Inecuaciones válidas para la región factible entera{x:Ax≤b,x≥0,entero}

Proposición (2)

(24)

Resolución mediante planos de corte Inecuaciones válidas para IP

Inecuaciones válidas enteras mixtas simples(1/2)

DadoX={(x,y)∈R×Z:x+y≥b,x≥0}. Seaf =b− bbc.

Proposición (3)

i) La inecuación x≥f(dbe −y) es válida para X. ii) La formulación

P={(x,y)∈R×R:x+y≥b,x+fy≥fdbe,x≥0}

describe conv(X). Demo. (Gráfica)

(25)

Resolución mediante planos de corte Inecuaciones válidas para IP

Inecuaciones válidas enteras mixtas simples2/2

DadoX={(x,y)∈R×Z:x+y≥b,x≥0}. x y x+y≥b dbe b bbc b b− bbc X x≥f(dbe −y)

(26)

Resolución mediante planos de corte Inecuaciones válidas para IP

Inecuaciones válidas enteras mixtas simples2/2

DadoX={(x,y)∈R×Z:x+y≥b,x≥0}. x y x+y≥b dbe b bbc b b− bbc X x≥f(dbe −y)

(27)

Resolución mediante planos de corte Inecuaciones válidas para IP

Inecuaciones de redondeo entero mixtas

DadoX={(x,y)∈R×Zn:Pn

j=1ajyj≤b+x,x≥0}. Seanfj=aj− bajcyfb=b− bbc.

Proposición (4)

La inecuación de redondeo entero mixta (MIR), n X j=1 (bajc+ (fj−fb)+ 1−fb )yj≤ bbc+ x 1−fb , es válida para X.

(28)

Resolución mediante planos de corte Inecuaciones válidas para IP

Inecuaciones de Gomory de redondeo entero mixtas

Dado X ={(y0,y,x)∈Z×Zp×Rq :y0+P p j=1ajyj+ Pq k=1akxk =b,x≥0} dondeb∈/ Z. Proposición (5)

La inecuación de Gomory entero mixta, X j:fj≤fb fjyj+ X j:fj>fb fb(1−fj) 1−fb yj+ X k:gk>0 gkxk− X k:gk<0 fbgk 1−fb xk ≥fb es válida para X.

(29)

Resolución mediante planos de corte Inecuaciones válidas para IP

Inecuaciones válidas para IP: ejemplo

SeaX=P∩Z2conP={x:3x

1+x2≤6,x1+2x2≤6,x≥0}

1. Se establece la combinación lineal de las restricciones con coeficientes no negativosu= (181,12). Obteniéndose x1 6 + x2 18 ≤ 1 3 y x1 2 +x2 ≤3, con resultado 23x1+ 1918x2≤ 10 3.

2. Se reducen los coeficientes del lado izquierdo al entero próximo,

b2 3cx1+b

19 18cx2≤

10

3, obteniendo la inecuación válida paraP: 0x1+x2≤ 103.

3. Dado que el lado izquierdo es entero, se puede reducir el lado derecho al entero próximo, obteniéndose la inecuación válidax2 ≤ b103c=3.

(30)

Resolución mediante planos de corte Procedimiento de Chvátal-Gomory

Generación de inecuaciones válidas: procedimiento de Chvátal-Gomory

SeaX=P∩ZnconP={x

Rn :Ax≤b,x≥0}, dondeA∈Rm×nes una matriz con columnas{a1, ...,an}yu∈Rm,u≥0:

1. La inecuaciónPn

j=1uτajxj≤uτbes válida paraP, dado queu≥0 y Pn

j=1ajxj≤b 2. La inecuaciónPn

j=1buτajcxj≤uτbes válida paraP, dado quex≥0. 3. La inecuaciónPn

j=1buτajcxj≤ buτbces válida paraX, dados quexy Pn

j=1buτajcson enteros. Proposición (6)

Toda inecuación válida para X puede obtenerse aplicando una cantidad finita de veces el procedimiento de Chvátal-Gomory.

(31)

Resolución mediante planos de corte Procedimiento de Chvátal-Gomory

Resolución mediante agregado de inecuaciones válidas

El objetivo es que a partir de la formulación inicialP={x:Ax≤b,x≥0}

conX=P∩Znse generen un conjunto de inecuaciones válidasDx≤dpara X. La formulación inicial se puede ajustar mediante el agregado de las inecuaciones,Q={x:Ax≤b,Dx≤d,x≥0}, lo que permite aproximarse al casco convexo deX.

Esto permite tener una formulación ajustada que potencialmente genere cotas más ajustadas en el caso de utilizar ramificado y acotamiento.

La desventaja puede ser que la cantidad de inecuaciones a agregar sea enorme, dificultando la resolución del problema.

(32)

Resolución mediante planos de corte Procedimiento de Chvátal-Gomory

Resolución mediante agregado de inecuaciones válidas relevantes

A veces la región factible entera de una formulaciónPpuede describirse como la intersección de conjuntos,X=X1∩X2, por lo que se puede poner énfasis en alguno que sea fácil de resolver.

Supongamos que la resolución enX2=P2∩Znes fácil, entonces se tendrá una descripción explícita deQ2=conv(P2∩Zn). Lo que permite reemplazar la formulación originalP1∩P2por la formulación ajustadaP1∩Q2paraX.

(33)

Resolución mediante planos de corte Procedimiento de Chvátal-Gomory

Agregado de inecuaciones válidas: ejemplo1/2

Dada la formulaciónPde la región factibleXdel problema UFL Pn

j=1xij=1, i=1, ...,m, Pm

i=1xij≤myj, j=1, ...,n,

xij≥0,0≤yj ≤1,i=1, ...,m,j=1, ...,n.

SeaXj, conyjentero, el conjunto factible de la formulaciónPjdada por Pm

i=1xij≤myj,

xij≥0,i=1, ...,m, 0≤yj≤1. El casco convexo,Qj, del conjuntoXjesta dado por

xij≤yj, i=1, ...,m,

(34)

Resolución mediante planos de corte Procedimiento de Chvátal-Gomory

Agregado de inecuaciones válidas: ejemplo2/2

Entonces se obtiene la reformulaciónQ, reemplazando cadaPjporQjpara j=1, ...,n Pn j=1xij=1, i=1, ...,m, xij≤yj, i=1, ...,m,j=1, ...,n, xij≥0, i=1, ...,m,j=1, ...,n, 0≤yj ≤1, j=1, ...,n.

(35)

Resolución mediante planos de corte Algoritmo de planos de corte

Algoritmo de planos de corte

Dado el problema IP max{cτx:x∈X}, conX=P∩Zny el conjunto de inecuaciones válidasC,πτx≤π0, paraX, lo que se busca es una

aproximación del casco convexo en la vecindad de la solución óptima.

Algoritmo planos de corte

Inicialización. Seant:=0 yP0:=P. Iteración. Resolver max{cτx:x∈Pt}.

Seaxt∗una solución óptima. Sixt∗es enteroParar:xt∗es una solución óptima para IP.

Sixt∗no es entero, resolver el problema de separación paraxt∗y el conjuntoC. Si la inecuación (πt, πt0) ∈ C cumple πtxt∗ > πt0, entonces corta axt∗, es-tablecer el corte generando nueva formulación Pt+1 = Pt ∩ {x : πtx πt

0}; incrementarte iterar. En otro casoParar.

(36)

Resolución mediante planos de corte Algoritmo de planos de corte

Algoritmo de planos de corte fraccionarios de Gomory1/2

Dado el problema IP max{cτx:Ax=b,x≥0 entero}.

Se resuelve la relajación a programación lineal, a partir de la base óptima, se elige una variable básica fraccionaria y se genera una inecuación

Chvátal-Gomory en la restricción asociada de forma de cortar y separar la solución fraccionaria. Entonces el problema se puede reformular

max bcB+ P j∈Nbcjxj s.a. xBu + P j∈Nbaujxj=bbu, u=1, ...,m, x≥0,entero.

DondeByNson los conjuntos de variables básicas y no-básicas. La solución óptima esx∗=bbu, sibcj ≤0 paraj∈Nybbu≥0 para u=1, ...,m.

(37)

Resolución mediante planos de corte Algoritmo de planos de corte

Algoritmo de planos de corte fraccionarios de Gomory2/2

Si la solución óptima,x∗, no es entera, entonces existe una filauconbbu fraccionario. Dada la filaula inecuación de corte Chvátal-Gomory es

xBu + P

j∈Nbbaujcxj ≤ bbbuc.

Reformulando la inecuación mediante la sustitución dexBu original, se obtiene P

j∈N(bauj− bbaujc)xj ≥bbu− bbbuc;

esta inecuación permite separarx∗conbbufraccionario de la formulación de partida.

Debido a la definición y la elección de la filause tiene que 0≤(bauj− bbaujc)<1 y 0<(bbu− bbbuc)<1.

Referencias

Documento similar