Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación...

27
Programación Cuadrática y Sistemas Lineales. Programación Entera y Métodos de Corte. Universidad de los Andes-CODENSA

Transcript of Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación...

Page 1: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Programación Cuadrática y Sistemas Lineales.

Programación Entera y Métodos de Corte.

Universidad de los Andes-CODENSA

Page 2: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Programación Lineal Entera MixtaProgramación Lineal Entera-MixtaUn problema de programación lineal entera-mixta (PPLEM) es un PPL en el quealgunas de las variables toman valores enteros Si todas las variables enteras sonalgunas de las variables toman valores enteros. Si todas las variables enteras sonbinarias (0/1) el problema se denomina 0/1 PPLEM. Si todas las variables sonenteras, el problema se denomina problema de programación lineal entera (PPLE).

Hay dos técnicas de resolución de este tipo de problemas:

La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es laá l l á f l b é hque más se utiliza y la más eficiente computacionalmente. También hay una nueva

técnica Hibrida de Bifurcación y Corte (BC). Las variables binarias son muypotentes para modelar ciertas no linealidades de diversa naturaleza que ocurrencon una cierta frecuencia en Ingeniería Algunos ejemplos soncon una cierta frecuencia en Ingeniería. Algunos ejemplos son:

1. Conjuntos alternativos de restricciones.

2. Restricciones condicionales.

3. Funciones discontinuas.

4. Funciones no convexas a trozos.

Page 3: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Un PPLEM en forma estándar es de la forma

Minimizar

sujeto a

∑=

=n

jjj xcZ

1

ibn

21∑

njunaatodosparax

njx

mibxa

j

j

jijij

,...,2,1 lg ;

,...,2,1 ;0

,...,2,1 ;1

=Ν∈

=≥

==∑=

donde N se utiliza para denominar al conjunto {0, 1,2, …}. Un ejemplo de laregión factible en este caso se muestra a continuación en la figura 1:

Figura 1. Conjunto de soluciones factibles de un PPLEE.

Page 4: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

El método de bifurcación y acotación resuelve el PPLEM mediante una secuenciade PPL que se obtiene relajando las condiciones de integralidad e incluyendorestricciones adicionalesrestricciones adicionales.El número de restricciones adicionales aumenta a medida que el método progresa.Estas restricciones separan la región factible en subregiones factiblescomplementarias.pInicialmente se fijan cotas inferiores y superiores de la solución óptima. Laestrategia de bifurcación disminuye la cota superior y aumenta la inferior. Ladiferencia de ambas es una medida de la proximidad de la solución actual a laó éóptima, si ésta existe.Cuando se minimiza, se puede encontrar una cota inferior relajando lasrestricciones de integralidad del problema original y resolviendo el PPL resultante.De la misma forma el valor de la función objetivo para cualquier solución delDe la misma forma, el valor de la función objetivo para cualquier solución delproblema inicial es una cota superior del valor óptimo.

Este método puede parar debido a tres razones:Este método puede parar debido a tres razones:1. El problema actual no es factible.2. La solución actual satisface las condiciones de integralidad.3 L f b d l l3. La cota inferior obtenida es mayor que la superior actual.Una bifurcación se aborta por infactibilidad, integralidad o acotación.

Page 5: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Para resolver un PPLEM se tienen las siguientes etapas:

Etapa 1: Iniciación. Fijar una cota superior (∞) y una inferior (-∞) a lasolución óptima. Resolver el PPLEM relajando las condiciones de integralidad.Si este problema es infactible, el original también lo es y no hay solución. Si lasolución es entera, es óptima. En otro caso, la cota inferior se actualiza con elvalor de la solución óptima obtenida.

Etapa 2: Bifurcación. Usando una variable candidata a entera xk que no esentera, se generan dos problemas, por bifurcación, a partir del original, talcomo sigue. Si el valor de la variable xk es a.b, donde a y b son sus partes enterag yy fraccional, respectivamente, el primer problema bifurcado es el originalrelajado con la restricción xk ≤ a, y el segundo, el original relajado con larestricción complementaria xk ≥ a + 1. Estos problemas se sitúan en una lista deprocesado y se consideran secuencialmente o en paralelo para su resolución.

Etapa 3: Solución. Resolver el problema siguiente en la lista de procesado.p p g p

Page 6: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Etapa 4: Actualización de cotas. Si la solución del problema actual esentera y el correspondiente valor de su función objetivo es menor que la cota

i li é é l l blsuperior en curso, se actualiza ésta a éste y se almacena el problema comocandidato a óptimo. En otro caso, si el valor de la función objetivo está entreambas cotas, se actualiza la cota inferior con dicho valor, y se procede a bifurcarañadiendo los dos problemas a la lista de procesadoañadiendo los dos problemas a la lista de procesado.

Etapa 5: Corte. Si la solución suministrada por el problema en curso es entera,bl l b f ó l b l b f ó d b d lno es posible la bifurcación, por lo que se aborta la bifurcación debido a la

integralidad de la solución. Si la solución no es entera y el valor de la funciónobjetivo es mayor que la cota superior actual, no se puede mejorar la soluciónpor esa rama por lo que se aborta el proceso por esa rama debido a acotaciónpor esa rama, por lo que se aborta el proceso por esa rama, debido a acotación.Si el problema en curso no es factible, no es posible continuar por esa rama, porlo que se aborta el proceso, debido a infactibilidad.

Etapa 6: Optimalidad. Si la lista de procesado está no vacía se continúa con laEtapa 3. En otro caso, el proceso concluye. Si hay un candidato a óptimo, ésted l l ió E t l bl i f tibl E t l it lda la solución. En otro caso, el problema es infactible. Este algoritmo revuelvela solución óptima o informa sobre su no existencia en la Etapa 1 ó la 6.

Page 7: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Cualquier variable que no sea entera puede ser candidata para la bifurcación. Laelección de cuál elegir es un problema que debe resolverse basándose en el

i i b l bl d L bl d l li dconocimiento sobre el problema de que se trate. Los problemas de la lista deprocesado pueden procesarse mediante las estrategias de “anchura primero” o“altura primero” o una mezcla de ambas. La figura 2 muestra ambas alternativas.

Figura 2. Estrategias de (a) “búsqueda en anchura”, y (b) “búsqueda en profundidad”.

Una estrategia de “altura primero” genera rápidamente problemas restringidos quegeneralmente suministran buenas cotas superior e inferior. Además suministrarápidamente problemas infactibles y, por tanto, el abortado de las ramas. Una

t t i d “ h i ” bl id l l destrategia de “anchura primero” procesa problemas muy parecidos, lo cual puedeexplotarse convenientemente. Las técnicas de computación paralela puedenexplotarse con ambas estrategias.

Page 8: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

El Mét d d Bif ió A t ióEl Método de Bifurcación y AcotaciónEjemplo

Mi i iMinimizar

sujeto a

21 xxZ −−=

≤−≤−

21

1

1220

xxx

La región factible es la que se muestra en la figura 3.Ν∈

21

2

21

,92

xxxxx

g q g

Figura 3. Estrategias de (a) “búsqueda en anchura”, y (b) “búsqueda en profundidad”.

Page 9: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Etapa 1: Iniciación. Las cotas son +∞ y -∞. El problema relajado, que sedesigna como P0, es

Minimizar 21 xxZ −−=

0x ≤sujeto a

l ó l l f

1

1 2

2

02 2 1

2 9

xx x

x

− ≤− ≤

con solución, no entera, en el punto P1 en la figura: x1 = 5; x2 = 4.5; Z = -9.5.

Se actualiza la cota superior de -∞ a -9.5.

Etapa 2: Bifurcación. La variable x2, genera los dos problemas con lasrestricciones x2≤4 y x2≥5.

Problema P1:Problema P1:

Minimizar 21 xxZ −−=1

1 2

02 2 1

xx x

− ≤− ≤

sujeto a 1 2

2

2

2 2 12 9

4

x xxx

≤≤≤

Page 10: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Problema P2:

Minimizar21 xxZ −−= 0x ≤

sujeto a

1

1 2

2

02 2 1

2 95

xx x

x

− ≤− ≤

≤≥

Etapa 3: Solución. La solución, no entera , del problema P1 es (Punto P2

en la figura):

2 5x ≥1( )x ∉

x1 = 4.5; x2 = 4; Z = -8.5:

Etapa 4: Actualización de cotas. Puesto que el valor -8.5 está entre las dospcotas, se actualiza la cota inferior de -9.5 a -8.5 y se bifurca de nuevo.

La variable x1, genera los problemas con las restricciones x1≤4 y x1≥5.

Problema P3:Problema P3:

Minimizar21 xxZ −−= 1

1 2

02 2 1

2 9

xx x

x

− ≤− ≤

≤sujeto a 2

2

1

2 944

xx

x

≤≤≤

Page 11: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Problema P4:Minimizar

21 xxZ −−=

sujeto a

1

1 2

02 2 1

2 9

xx x

x

− ≤− ≤

≤2

2

1

2 945

xx

x

≤≤≥

Etapa 5: Corte. No ocurre nada en esta etapa.Etapa 6: Optimalidad. Puesto que la lista de procesado no está vacía se va a laEtapa 3 con P2.pEtapa 3: Solución. El problema P2 es infactible, por lo que no ocurre nada enesta etapa.Etapa 4: Actualización de cotas. No ocurre nada.pEtapa 5: Corte. Puesto que el problema es infactible, se aborta esta rama.Etapa 6: Optimalidad. Puesto que la lista de procesado no está vacía se va a laEtapa 3 con P3.pEtapa 3: Solución. La solución, entera, del problema P3 (punto P3 de la figura3) es: x1 = 4; x2 = 4; Z = -8

Page 12: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Etapa 4: Actualización de cotas. Por ser entera , y estar el valor -8entre las cotas, se actualiza la cota superior de +∞ a -8, y se almacena este

bl did ó i

( 1, 2 )x x ∈

problema como candidato a óptimo.

Etapa 5: Corte. Por ser entera, se aborta el proceso en esta rama.

Etapa 6: Optimalidad. Puesto que la lista de procesado no está vacía se va a laEtapa 3 con P4.

Etapa 3: Solución. El problema P4 es infactible, por lo que no ocurre nada.

Etapa 4: Actualización de cotas. No ocurre nada.p

Etapa 5: Corte. Por ser no factible, se aborta esta rama.

Etapa 6: Optimalidad. Puesto que la lista de procesado está vacía, y haycandidato a óptimo éste da la solución:candidato a óptimo, éste da la solución:

* * *1 24; 4; 8x x Z= = = −

Page 13: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

El Método de los Cortes de GomoryEl Método de los Cortes de GomoryUna alternativa al método anterior es el método de los cortes de Gomory. Encada iteración de este método se resuelve el problema original relajado incluyendocada iteración de este método, se resuelve el problema original relajado incluyendorestricciones adicionales, que reducen la región factible sin excluir solucionesenteras. En cada iteración se añade una restricción adicional, que se denominacorte de Gomory. Esta técnica genera progresivamente una envolvente convexa dey g p gla región factible y de esta forma se obliga a satisfacer las condiciones deintegralidad. La región factible del problema es:

Ax b=Empleando la partición estándar del simplex obtenemos:

Ax b=

( ) BxB N b

⎛ ⎞=⎜ ⎟

⎝ ⎠ó

Despejando xB se obtiene:

Nx⎜ ⎟⎝ ⎠

B NBx Nx b+ =p j B

1 1B Nx B Nx B b− −− =

Page 14: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

En forma matricial tenemos:

( )1 1BxI B N B b− −⎛ ⎞

=⎜ ⎟

Empleando la notación estándar del Simplex

( )N

I B N B bx

=⎜ ⎟⎝ ⎠

x⎛ ⎞ó

( ) B

N

xI U b

x⎛ ⎞

=⎜ ⎟⎝ ⎠

B Nx Ux b+ =

Sea una variable básica no entera. La fila correspondiente a esta variable en laecuación anterior es:

(1)

iBx

i jiB i j N

jx u x b+ =∑

Puesto que la solución en curso es básica y factible, las variables , al ser nobásicas, son nulas; entonces, , y puesto que es no entera, tiene que serno entera. Por otra parte, todo elemento uij puede expresarse como la suma de un

jNx

Bb x= iBx ib

entero (positivo o negativo) y una fracción no negativa menor que 1, es decir

(2); ij ij iju i f j= + ∀

donde para todo j es entero, y para todo j es una fracción no negativa menorque 1.

iji ijf

Page 15: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Análogamente se puede descomponer como:(3)i i ib i f= +

ib

donde es un entero (positivo o negativo) y es una fracción no negativa menorque 1.

Algunos pueden ser nulos, pero es necesariamente positivo.ijf if

ii if

Sustituyendo las ecuaciones (2) y (3) en la ecuación (1) obtenemos:

( ) ix i f x i f+ + = +∑ó

( )i j

iB ij ij N ij

x i f x i f+ + = +∑

iB ij N ij Nix i x i f f x+ − = −∑ ∑

El término de la izquierda tiene que ser entero dado que todas las variables lo son,y entonces, el de la derecha tiene que ser también entero.

i j jiB ij N ij Ni

j jx i x i f f x+∑ ∑

y q

Adicionalmente, fij para todo j, y para todo j son no negativos, por lo que

es no negativo. El término de la derecha de la ecuación anterior

i ltá t U t f ió iti

jNx

jij Nj

f x∑f f x∑ f, es simultáneamente: Un entero, y menor que una fracción positiva,

, menor que 1, por lo tanto este termino es un entero no positivo.jij Ni

jf f x−∑ if

Page 16: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Entonces:

0jij Nif f x− ≤∑

ójij Ni

jf f∑

0jij N i

jf x f− ≥∑

La última desigualdad se llama el corte de Gomory asociado a la variable básica .iBx

Cuando se quiere resolver un PPLE se utilizan los siguientes pasos:

Page 17: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

PASOSCuando se quiere resolver un PPLE se utilizan los siguientes pasos:

Paso 1: Iniciación. Resolver el problema inicial relajado. Si no es acotado (infactible), parar; el problema original es no acotado (infactible).

Paso 2: Control de Optimalidad. Si la solución es entera, parar, es la óptima. En otro caso, ir a la Etapa siguiente.

Paso 3: Generación de Corte. Usar una variable básica con un valor no entero para generar un corte de Gomory.

Paso 4: Solución del Problema. Añadir un corte de Gomory al problema en curso, resolverlo, y continuar con la Etapa 2.

Debe señalarse que el número de restricciones crece con el número de iteraciones,ya que se añade una nueva en cada una de ellas Por ello, es conveniente usar elMPE, ya que el problema original se transforma en infactible y el dual en no, y q p g yóptimo, pero factible.

Page 18: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Ejemplo

Maximizar 120 80Z x x= +Maximizar

sujeto a

1 2120 80Z x x= +

2 1 2 67 1 8 2 28

x xx x

+ ≤+ ≤

1 02 01

xxx

≥≥∈

cuya función admisible se muestra en la figura 4.

Figura 4. Ilustración gráfica de los Cortes de Gomory.

Page 19: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

El problema anterior relajado y en forma estándar es

Maximizar

sujeto a

1 2120 80Z x x= +

1 2 32 6x x x+ + =sujeto a

1 2 4

1 2 3 4

7 8 28, , , 0

x x xx x x x

+ + =≥

la solución de este problema es (punto P1 de la Figura):

z* = 391.11

Teniendo 20 8 1⎛ ⎞ ⎛ ⎞Teniendo*

* *1*2

20 8 19 9 9;

14 7 29 9 9

Bx

b x Yx

⎛ ⎞ ⎛ ⎞−⎜ ⎟ ⎜ ⎟⎛ ⎞= = = =⎜ ⎟ ⎜ ⎟⎜ ⎟

⎜ ⎟ ⎜ ⎟⎝ ⎠ −⎜ ⎟ ⎜ ⎟⎝ ⎠ ⎝ ⎠

Si se usa x2 para generar corte obtenemos

9 9 9⎝ ⎠ ⎝ ⎠

7 2 142 3 4

7 2 149 9 9

x x x− + =

Page 20: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Por tanto se obtiene

7 2 21y i f f+ ⇔ + ⇒21 21 21 21

22 22 22 22

19 9 9

2 2 209 9 9

y i f f

y i f f

= + ⇔ − = − + ⇒ =

= + ⇔ = + ⇒ =

y el corte es

22 2 214 5 519 9 9

b i f f= + ⇔ = + ⇒ =

y

ó

3

4

5 2 2 2 2 50 3 49 9 9 9 9 9

xx x

x⎛ ⎞⎛ ⎞− ≤ ⇔ + ≥⎜ ⎟⎜ ⎟

⎝ ⎠⎝ ⎠

ó3 4

52

x x+ ≥

Nótese que el corte puede expresarse en función de variables originales x1 y x2. Enefecto, usando las igualdades del problema relajado en forma estándar, x3 y x4 seexpresan:

3 1 2

4 1 2

6 2 ,28 7 8

x x xx x x

= − −= − −

Page 21: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Para obtener el primer corte (línea de trazos de la figura 4):

1 27x x+ ≤

Así se reduce la región factible sin excluir soluciones enteras. El problema aresolver es ahora:

1 2 2x x+ ≤

Maximizar1 2120 80Z x x= +

2 1 2 3 6x x x+ +sujeto a 2 1 2 3 67 1 8 2 4 28

53 4 52

x x xx x x

x x x

+ + =+ + =

+ − =

Nótese que el corte de Gomory se ha introducido usando la variable adicional x5.

21, 2, 3, 4, 5 0x x x x x ≥

⎛ ⎞Su solución es:*1

* * * *4

5 112 95380; ; 1 12B

xZ x x U

⎛ ⎞⎛ ⎞⎜ ⎟ −⎜ ⎟⎛ ⎞ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟= = = = −⎜ ⎟⎜ ⎟ ⎜ ⎟4

*2

; ;2

21 19

B

x⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠ −⎜ ⎟⎜ ⎟⎜ ⎟ ⎝ ⎠

⎝ ⎠

Page 22: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Usando x1 para generar un nuevo corte, puesto que *1 1

52

b x= =

1 51 3 5x x x+

Por tanto, se puede escribir

1 3 59 2

x x x+ − =

11 11 11 11

12 12 12 21

1 1 0 01 8 819 9 9

y i f f

y i f f

= + ⇔ = + ⇒ =

= + ⇔ − = − + ⇒ =

y el corte queda:

11 1 15 1 122 2 2

b i f f= + ⇔ = + ⇒ =

y el corte queda:

35 5

5

1 8 8 1 90 0 , ó x2 9 9 2 16

xx

x⎛ ⎞⎛ ⎞− ≤ ⇔ ≥ ≥⎜ ⎟⎜ ⎟

⎝ ⎠⎝ ⎠

Este segundo corte es función de las variable originales x1 y x2:

551 2

5516

x x+ ≤

Page 23: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

El problema ahora consiste en:

Maximizar

sujeto a

1 2120 80Z x x= +

1 2 32 6x x x+ + =sujeto a

1 2 4

3 4 5

7 8 2852

x x x

x x x

+ + =

+ − =

5 6

1 2 3 4 5 6

916

, , , , , 0

x x

x x x x x x

− =

Cuya solución es

*

41116 1949x

⎛ ⎞⎜ ⎟ ⎛ ⎞−⎜ ⎟ ⎜ ⎟⎛ ⎞ ⎜ ⎟1

** * *4

*5*

9491 116377.5; x ;

9 0 116 2

B

xx

Z Ux

⎜ ⎟⎛ ⎞ ⎜ ⎟ ⎜ ⎟⎜ ⎟ −⎜ ⎟ ⎜ ⎟⎜ ⎟= = = =⎜ ⎟ ⎜ ⎟⎜ ⎟ −⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟⎝ ⎠2

16 217 98

x ⎜ ⎟ ⎜ ⎟⎝ ⎠ −⎜ ⎟⎜ ⎟ ⎝ ⎠⎜ ⎟⎝ ⎠

Page 24: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Usando x2 para generar un nuevo corte, puesto que tenemos:278

b =

2 7

Por ello:

2 3 69 8x x x− + =

f f41 41 41 41

42 42 42 42

1 1 0 02 2 209 9 97 7 7

y i f f

y i f f

= + ⇔ − = − + ⇒ =

= + ⇔ = + ⇒ =

y el corte resulta:

44 4 47 7 708 8 8

b i f f= + ⇔ = + ⇒ =

y el corte resulta:

36 6

6

7 2 2 7 630 0 , ó 8 9 9 8 16

xx x

x⎛ ⎞⎛ ⎞− ≤ ⇔ ≥ ≥⎜ ⎟⎜ ⎟

⎝ ⎠⎝ ⎠

El tercer corte en función de las variables originales resulta:

1 2 3x x+ ≤1 2

Page 25: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Finalmente el problema es

Maximizar

sujeto a

1 2120 80Z x x= +

1 2 32 67 8 28

x x x+ + =sujeto a

1 2 4

3 4 5

7 8 28529

x x x

x x x

+ + =

+ − =

5 6

6 7

9166316

x x

x x

− =

− =

con solución:

1 2 3 4 5 6 7

16, , , , , , 0x x x x x x x ≥

*07x

⎛ ⎞⎜ ⎟⎛ ⎞3

*4

* * *5*

79

360; 263

B

xx

Z x x

⎜ ⎟⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟= = =⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟6

*1

6316

3

xx

⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟

⎝ ⎠ ⎜ ⎟⎝ ⎠

Page 26: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

Puesto que es entera es la solución del problema original buscada:

* * *1 23; 0; 360x x Z= = =1 23; 0; 360x x Z

Page 27: Programación Cuadrática y Sistemas Lineales. Programación ... · La de bifurcación y acotación (BA) y la de los cortes de Gomory (CG). La BA es la que másseutiliza y lamáseficiente

BibliografíaBibliografía

“Formulación y Resolución de Modelos de Programación Matemática en Ingeniería yFormulación y Resolución de Modelos de Programación Matemática en Ingeniería yCiencia”, Enrique Castillo, Antonio J. Conejo, Pablo Pedregal, Ricardo García, NataliaAlguacil, 2002.