Investigación Operativa - Cartagena99

Preview:

Citation preview

Investigación OperativaProgramación lineal entera

Investigación Operativa

Índice

1. La programación lineal entera. Introducción

2. Conceptos básicos de programación lineal entera

3. Método de ramificación y acotación

4. Algunos problemas notables en PLE

5. Uso de variables binarias en la formulación de modelos

Programación lineal entera

2Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

3

La programación lineal entera. Introducción

Departamento Estadística, Matemáticas e Informática Universidad Miguel Hernández de Elche

La formulación de un problema lineal entero (PLE) coincide con la de un

problema lineal, pero se exige que al menos una de las variables de decisión sea

entera.

Si todas las variables del problema son enteras Problema lineal entero puro

(PLEP)

Si son enteras sólo algunas Problema lineal entero mixto (PLEM)

Si las variables toman sólo valores {0,1}, se llaman variables binarias. Los

problemas que tienen todas sus variables binarias se llaman Problemas binarios

(PB)

4

Conceptos básicos de programación lineal entera

Departamento Estadística, Matemáticas e Informática Universidad Miguel Hernández de Elche

• Si da la casualidad de que la solución del problema relajado (es decir,

considerando el problema como si fuera de programación lineal continua) es

entera, dicha solución será la del problema entero original. En la práctica, esto

no sucede casi nunca.

Zx,x

xx

xx

xx:a.s

xxmax

21

21

21

21

21

152

152

10

2

0

152

152

10

2

21

21

21

21

21

x,x

xx

xx

xx:a.s

xxmax

Relajación

EJEMPLO:

¿Cómo resolver un problema lineal entero?

Celda objetivo (Máx.)

Celda Nombre Valor original Valor final

$D$3 f.o. 5,8 21

Celdas de variables

Celda Nombre Valor original Valor final Entero

$B$2 x1 2,2 9 Continuar

$C$2 x2 1,4 3 Continuar

Restricciones

Celda Nombre Valor de la celda Fórmula Estado Demora

$D$5 R1) 12 $D$5>=$F$5 No vinculante 2

$D$6 R2) 15 $D$6<=$F$6 Vinculante 0

$D$7 R3) 15 $D$7=$F$7 Vinculante 0

5

Conceptos básicos de programación lineal entera

Departamento Estadística, Matemáticas e Informática Universidad Miguel Hernández de Elche

¡¡Son enteras!!

6

Conceptos básicos de programación lineal entera

Departamento Estadística, Matemáticas e Informática Universidad Miguel Hernández de Elche

•Una primera aproximación razonable sería considerar la solución óptima que se

obtuviese del problema relajado, y posteriormente redondear la solución

obtenida (método de redondeo). Sin embargo este método, aunque sencillo,

presenta dos dificultades serias:

1. Que todas las soluciones obtenidas por redondeo sean no factibles.

2. Que la solución esté alejada del óptimo aunque sea factible.

¿Cómo resolver un problema lineal entero?

7

Conceptos básicos de programación lineal entera

Departamento Estadística, Matemáticas e Informática Universidad Miguel Hernández de Elche

Relajación

EJEMPLO:

2

1 2

1 2

1 2

max

1. :

2

7

2

,

x

s a x x

x x

x x

2

1 2

1 2

1 2

max

1. :

2

7

2

, 0

x

s a x x

x x

x x

8

Conceptos básicos de programación lineal entera

Departamento Estadística, Matemáticas e Informática Universidad Miguel Hernández de Elche

1 2 3

1

2

f

*x

1 2 3

1

2

f

*x

* 3/ 2, 2x

(1,2) No factibles

(2,2)

Redondeo

Todas las soluciones obtenidas por redondeo son infactibles

Solución problema relajado:

9

Conceptos básicos de programación lineal entera

Departamento Estadística, Matemáticas e Informática Universidad Miguel Hernández de Elche

Relajación

EJEMPLO:

1 2

1 2

1

1 2

max 5

. : 10 20

2

,

x x

s a x x

x

x x

1 2

1 2

1

1 2

max 5

. : 10 20

2

, 0

x x

s a x x

x

x x

10

Conceptos básicos de programación lineal entera

Departamento Estadística, Matemáticas e Informática Universidad Miguel Hernández de Elche

1 2

1

2

f

*x

1 2

1

2

f

*x

* 2, 9 /5x

Redondeo

Solución problema relajado:

(2,2) No factible

(2,1) factible, z=7

El óptimo del PLE es con que está lejos de (2, 1) * 0,2x * 10,z

La solución obtenida por redondeo está alejada del óptimo, aunque es factible.

11

Conceptos básicos de programación lineal entera

Departamento Estadística, Matemáticas e Informática Universidad Miguel Hernández de Elche

Métodos de enumeración explícita

Métodos de enumeración implícita

Los métodos de enumeración explícita consisten en enumerar todas las

soluciones factibles del problema y evaluar el valor de la función objetivo en

cada uno de ellos. Este método puede ser inabordable en un tiempo razonable,

quedando básicamente relegado a problemas de dos variables, u otros con

conjuntos factibles pequeños.

Los métodos de enumeración implícita consisten en explorar implícitamente

todos los puntos factibles sin necesidad de llegar a conocer todos los puntos

factibles.

¿Cómo resolver un problema lineal entero?

•Otra alternativa son los métodos de enumeración, dentro de los cuales

distinguiremos dos clases:

12

Método de ramificación y acotación

Departamento Estadística, Matemáticas e Informática Universidad Miguel Hernández de Elche

Consiste en tres elementos:

• Utilizar problemas lineales relajados para poder resolverlos con las técnicas

básicas de programación lineal.

• Ramificación de los problemas en subproblemas con regiones factibles

disjuntas cuya unión contenga todos los puntos factibles.

• Acotación para dejar de ramificar aquellos subproblemas que ya no ofrezcan

posibilidades para encontrar la solución óptima.

El método de ramificación y acotación (Branch & Bound) es un método de

enumeración implícita que basa la búsqueda en tests apropiados para considerar

sólo una pequeña porción de las soluciones enteras factibles que, implícitamente,

representen a todas las soluciones enteras.

13

Método de ramificación y acotación

Departamento Estadística, Matemáticas e Informática Universidad Miguel Hernández de Elche

Algoritmo de ramificación y acotación de Dakin:

PASO 1: Se resuelve el problema relajado P0. Si la solución es factible para el

problema original, ésta es la solución óptima (FIN). En caso contrario ir al PASO 2.

PASO 2: De entre las variables fraccionarias que debían ser enteras, elegimos

aquella con mayor parte fraccionaria, en caso de empate elegimos la que tenga

menor subíndice. Sea xi dicha variable con valor óptimo xi* en el problema relajado.

Entonces creamos los dos siguientes subproblemas relajados:

P1: Problema original relajado + la restricción xi [xi*]

P2: Problema original relajado + la restricción xi [xi*] + 1

(es inmediato que la solución óptima que buscamos está en uno de los dos

conjuntos factibles de los dos problemas anteriores)

14

Método de ramificación y acotación

Departamento Estadística, Matemáticas e Informática Universidad Miguel Hernández de Elche

Cuando resolvemos los problemas anteriores podemos encontrarnos con tres

situaciones distintas:

I. Tanto P1 como P2 tienen solución factible para el problema original. Entonces,

la mejor de las dos es la solución óptima del problema (FIN).

II. P1 tiene solución factible para el problema original y P2 tiene solución no

factible para el problema original (el caso contrario es análogo). Entonces el valor

de la función objetivo en el problema P1 es una cota inferior del valor de la

solución óptima del problema original (en el caso de que estemos maximizando, si

estuviéramos minimizando sería una cota superior).

Dos posibilidades: si el valor de la función objetivo para P1 es mayor que el valor

para P2, entonces la solución hallada en P1 es óptima para el problema original

(FIN). En caso contrario, procedemos a ramificar P2 tal y como hacíamos con

anterioridad.

III. Ni P1 ni P2 tienen solución factible para el problema original. Entonces,

procedemos a ramificar en primer lugar el que tiene mejor valor óptimo.

15

Método de ramificación y acotación

Departamento Estadística, Matemáticas e Informática Universidad Miguel Hernández de Elche

La siguiente fase (acotación) será definir los criterios para dejar de ramificar a

través de un subproblema dado, es decir, ¿cuándo cerramos un subproblema, o en

otras palabras, cuándo dejamos de ramificarlo?

• La solución del subproblema correspondiente es factible para el problema

original.

• El subproblema es infactible en sí mismo.

• El valor óptimo del subproblema está acotado superiormente si estamos

maximizando (inferiormente si estamos minimizando) por el mejor valor óptimo

con solución factible para el problema original hallada hasta el momento.

El proceso termina cuando todos los subproblemas susceptibles de ser

ramificados están cerrados por alguno de los criterios anteriores. La mejor

solución factible para el problema original hallada hasta ese momento es la

solución óptima buscada.

16Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Problema Original Problema Relajado

Método de ramificación y acotación

1 2

1 2

1 2

max 21 11

. : 7 4 13

, 0

x x

s a x x

x x

1 2

1 2

1 2

max 21 11

. : 7 4 13

,

x x

s a x x

x x

17Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

18Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

1 2

1 2

1 2

max 21 11

. : 7 4 13

, 0

x x

s a x x

x x

x1

1

2

3

21x1+11x2

21x1+11x2=39

7x1+4x213

x0*=(13/7, 0) sol. relajada

x2

1 2x1

1

2

3

21x1+11x2

21x1+11x2=39

7x1+4x213

x0*=(13/7, 0) sol. relajada

x2

1 2

P0

19Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

=1.86

20Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

=1.86

21Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

1 2

1 2

1

1 2

max 21 11

. : 7 4 13

1

, 0

x x

s a x x

x

x x

P1

x1

x2

1

2

3

21x1+11x2

21x1+11x2=37.5

7x1+4x2 13

1 2

x1*=(3/2, 1) sol. relajada

x1 1P1

x1

x2

1

2

3

21x1+11x2

21x1+11x2=37.5

7x1+4x2 13

1 2

x1*=(3/2, 1) sol. relajada

x1 1P1

x1*=(1, 3/2)

22Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

1.5 =

23Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

1 2

1 2

1

1 2

max 21 11

. : 7 4 13

2

, 0

x x

s a x x

x

x x

1

2

3

21x1+11x2 7x1+4x2 13

x2

1 2

x1 2

P2

1

2

3

21x1+11x2 7x1+4x2 13

x2

1 2

x1 2

P2

P2¡Infactible!

24Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

1.5 =

25Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

P0

P1 P2

P3 P4

infactiblex22

x12

x21

x11

x1 = 13/7

x2 = 0

z = 39

x1 = 1

x2* = 3/2

z = 37.5

x1 = 1

x2 = 1

z = 32

x1 = 5/7

x2 = 2

z = 37

P0

P1 P2

P3 P4

infactiblex22

x12

x21

x11

x1 = 13/7

x2 = 0

z = 39

x1 = 1

x2* = 3/2

z = 37.5

1

x2 = 1

z = 32

x1 = 5/7

x2 = 2

z = 37

1.5 =

26Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

1 2

1 2

1

2

1 2

max 21 11

. : 7 4 13

1

1

, 0

x x

s a x x

x

x

x x

x1

x2

1

2

3

21x1+11x2

21x1+11x2=32

7x1+4x2 13

1 2

x3*=(1, 1) sol. relajadax2 1

x1 1P3

x1

x2

1

2

3

21x1+11x2

21x1+11x2=32

7x1+4x2 13

1 2

x3*=(1, 1) sol. relajadax2 1

x1 1P3

P3

27Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

1 2

1 2

1

2

1 2

max 21 11

. : 7 4 13

1

2

, 0

x x

s a x x

x

x

x x

x1

x2

1

2

3

21x1+11x2

21x1+11x2=37

7x1+4x2 13

1 2

x4*=(5/7, 2) sol. relajada

x1 1

x2 2

P4

x1

x2

1

2

3

21x1+11x2

21x1+11x2=37

7x1+4x2 13

1 2

x4*=(5/7, 2) sol. relajada

x1 1

x2 2

P4

P4

28Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

1ª cota

z = 32

Sol. p. original

= 0.71

29Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

P0

P1 P2

P3 P4

P5 P6

infactible

infactible

x22

x12

x11

x21

x11

x1 = 13/7

x2 = 0

z = 39

x1 = 1

x2* = 3/2

z = 37.5

x1 = 1

x2 = 1

z = 32

x1 = 5/7

x2 = 2

z = 37

x1 = 0

x2 = 13/4

z = 35.75

x10

P0

P1 P2

P3 P4

P5 P6

infactible

infactible

x22

x12

x11

x21

x11

x1 = 13/7

x2 = 0

z = 39

x1 = 1

x2* = 3/2

z = 37.5

x1 = 1

x2 = 1

z = 32

x1 = 5/7

x2 = 2

z = 37

x1 = 0

x2 = 13/4

z = 35.75

x10

1ª cota

z = 32

Sol. p. original

= 0.71

30Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

1 2

1 2

1

2

1

1 2

max 21 11

. : 7 4 13

1

2

0

, 0

x x

s a x x

x

x

x

x x

x1

x2

1

2

3

21x1+11x2

21x1+11x2=35.75

7x1+4x2 13

1 2

x5*=(0, 13/4) sol. relajada

x1 1

x2 2

P5

x1 0

x1

x2

1

2

3

21x1+11x2

21x1+11x2=35.75

7x1+4x2 13

1 2

x5*=(0, 13/4) sol. relajada

x1 1

x2 2

P5

x1 0P5

31Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

1 2

1 2

1

2

1

1 2

max 21 11

. : 7 4 13

1

2

1

, 0

x x

s a x x

x

x

x

x x

x1

x2

1

2

3

21x1+11x2 7x1+4x2 13

1 2

x1 1

x2 2

P6

x1 1

x1

x2

1

2

3

21x1+11x2 7x1+4x2 13

1 2

x1 1

x2 2

P6

x1 1

P6¡Infactible!

32Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

P0

P1 P2

P3 P4

P5 P6

infactible

infactible

x22

x12

x11

x21

x11

x1 = 13/7

x2 = 0

z = 39

x1 = 1

x2* = 3/2

z = 37.5

x1 = 1

x2 = 1

z = 32

x1 = 5/7

x2 = 2

z = 37

x1 = 0

x2 = 13/4

z = 35.75

x10

P0

P1 P2

P3 P4

P5 P6

infactible

infactible

x22

x12

x11

x21

x11

x1 = 13/7

x2 = 0

z = 39

x1 = 1

x2* = 3/2

z = 37.5

x1 = 1

x2 = 1

z = 32

x1 = 5/7

x2 = 2

z = 37

x1 = 0

x2 = 13/4

z = 35.75

x10Sol. p. original

1ª cota

z = 32

3.25 =

33Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

Sol. p. original1ª cota

z = 32

P0

P1

P2

P3

P4

P5

P6

P7

P8

infactible

infactiblex2 4

x2 2

x1 2

x1 1

x2 3

x2 1

x1 1

x1

= 13/7

x2

= 0

z = 39

x1

= 1

x2*

= 3/2

z = 37.5

x1

= 1

x2

= 1

z = 32

x1

= 5/7

x2

= 2

z = 37

x1

= 0

x2

= 13/4

z = 35.75

x1 0

P0

P1

P2

P3

P4

P5

P6

P7

P8

infactible

infactiblex2 4

x2 2

x1 2

x1 1

x2 3

x2 1

x1 1

x1

= 13/7

x2

= 0

z = 39

x1

= 1

x2*

= 3/2

z = 37.5

x1

= 1

x2

= 1

z = 32

x1

= 5/7

x2

= 2

z = 37

x1

= 0

x2

= 13/4

z = 35.75

x1 0

3.25 =

34Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

1 2

1 2

1

2

1

2

1 2

max 21 11

. : 7 4 13

1

2

0

3

, 0

x x

s a x x

x

x

x

x

x x

x1

x2

1

2

3

21x1+11x2

21x1+11x2=33

7x1+4x2 13

1 2

x7*=(0, 3) sol. relajada

x1 1

x2 2

P7

x1 0

x2 3

x1

x2

1

2

3

21x1+11x2

21x1+11x2=33

7x1+4x2 13

1 2

x7*=(0, 3) sol. relajada

x1 1

x2 2

P7

x1 0

x2 3

P7

35Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

1 2

1 2

1

2

1

2

1 2

max 21 11

. : 7 4 13

1

2

0

4

, 0

x x

s a x x

x

x

x

x

x x

x1

x2

1

2

3

21x1+11x2 7x1+4x2 13

1 2

x1 1

x2 2

P8x1 0

4 x2 4

x1

x2

1

2

3

21x1+11x2 7x1+4x2 13

1 2

x1 1

x2 2

P8x1 0

4 x2 4P8

¡Infactible!

36Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Método de ramificación y acotación

Sol. p. original

P0

P1 P2

P3 P4

P5 P6

P7 P8

infactible

infactible

infactible

x24

x22

x12

x11

x23

x21

x11

x1 = 13/7

x2 = 0

z = 39

x1 = 1

x2* = 3/2

z = 37.5

x1 = 1

x2 = 1

z = 32

x1 = 5/7

x2 = 2

z = 37

x1 = 0

x2 = 13/4

z = 35.75

x1 = 0

x2 = 3

z = 33

x10

P0

P1 P2

P3 P4

P5 P6

P7 P8

infactible

infactible

infactible

x24

x22

x12

x11

x23

x21

x11

x1 = 13/7

x2 = 0

z = 39

x1 = 1

x2* = 3/2

z = 37.5

x1 = 1

x2 = 1

z = 32

x1 = 5/7

x2 = 2

z = 37

x1 = 0

x2 = 13/4

z = 35.75

x1 = 0

x2 = 3

z = 33

x101ª cota

z = 32

2ª cota

z = 33Sol. p. original

SOLUCIÓN: x*=(0, 3) z*=33

37Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

EJEMPLO:

Problema Original Problema Relajado

Método de ramificación y acotación

1 2

1 2

1 2

1 2

max 2 3

. : 3 5 11

2 4 7

,

x x

s a x x

x x

x x

1 2

1 2

1 2

1 2

max 2 3

. : 3 5 11

2 4 7

, 0

x x

s a x x

x x

x x

38Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P0

39Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P0

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R1

R2

40Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P0

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R1

R2

41Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P0

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R2

GRAD

42Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P0

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R2

GRAD

x0*=(3.5, 0) z0*=7

43Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P0

x0*=(3.5, 0) z0*=7

44Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

x1 3 x1 4P0

P1 P2

x0*=(3.5, 0) z0*=7

45Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P1

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R2

x1<=3

GRAD

P0+ { x1 3 }=

46Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P1

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R2

x1<=3

GRAD

47Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P1

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R2

x1<=3

GRAD

x1*=(3, 0.25) z1*=6.75

48Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P2

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R2

x1>=4

GRAD

P0+ { x1 4 }=

49Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P2

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R2

x1>=4

GRAD

Infactible

50Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

x1 3 x1 4P0

x1*=(3, 0.25) z1*=6.75 P1 P2

Infactible

x0*=(3.5, 0) z0*=7

51Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

x1 3 x1 4P0

x1*=(3, 0.25) z1*=6.75 P1 P2

Infactible

x0*=(3.5, 0) z0*=7

P4P3

x2 0 x2 1

52Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P3

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R2

x1<=3

GRAD

x2<=0

P1+ { x2 0 }=

53Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P3

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R2

x1<=3

GRAD

x2<=0

54Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P3

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R2

x1<=3

GRAD

x2<=0

x3*=(3, 0) z3*=6

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R2

x1<=3

GRAD

x2>=1

55Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P4 P1+ { x2 1 }=

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R2

x1<=3

GRAD

x2>=1

56Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P4

-0.5

0

0.5

1

1.5

2

2.5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5

x2

x1

R2

x1<=3

GRAD

x2>=1

57Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

P4x4*=(1.5, 1) z4*=6

58Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

x1 3 x1 4P0

x1*=(3, 0.25) z1*=6.75 P1 P2

Infactible

x0*=(3.5, 0) z0*=7

P4P3

x2 0 x2 1

x3*=(3, 0) z3*=6 x4*=(1.5, 1) z4*=6

59Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

x1 3 x1 4P0

x1*=(3, 0.25) z1*=6.75 P1 P2

Infactible

x0*=(3.5, 0) z0*=7

P4P3

x2 0 x2 1

x3*=(3, 0) z3*=6 x4*=(1.5, 1) z4*=6

Sol. p. original

60Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

x1 3 x1 4P0

x1*=(3, 0.25) z1*=6.75 P1 P2

Infactible

x0*=(3.5, 0) z0*=7

P4P3

x2 0 x2 1

x3*=(3, 0) z3*=6 x4*=(1.5, 1) z4*=6

Sol. p. original1ª cota

z = 6

61Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

x1 3 x1 4P0

x1*=(3, 0.25) z1*=6.75 P1 P2

Infactible

x0*=(3.5, 0) z0*=7

P4P3

x2 0 x2 1

x3*=(3, 0) z3*=6 x4*=(1.5, 1) z4*=6

Sol. p. original1ª cota

z = 6Comp. 1ª cota

62Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

x1 3 x1 4P0

x1*=(3, 0.25) z1*=6.75 P1 P2

Infactible

x0*=(3.5, 0) z0*=7

P4P3

x2 0 x2 1

x3*=(3, 0) z3*=6 x4*=(1.5, 1) z4*=6

Sol. p. original1ª cota

z = 6Comp. 1ª cota

SOLUCIÓN: x*=(3, 0) z*=6

63Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

EJEMPLO:

Problema Original Problema Relajado

1 2

1 2

1 2

1 2

max 2 3

. : 5 7 35

4 9 36

,

x x

s a x x

x x

x x

1 2

1 2

1 2

1 2

max 2 3

. : 5 7 35

4 9 36

, 0

x x

s a x x

x x

x x

64

P0

65

P0

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

66

P0

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

GRAD

67

P0

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

GRAD

68

P0

x0*=(3.71, 2.4) z0*=14.47

69

P0

x0*=(3.71, 2.4) z0*=14.47

70

P0

x0*=(3.71, 2.4) z0*=14.47

Mayor parte fraccionaria

71

P0

x0*=(3.71, 2.4) z0*=14.47

Mayor parte fraccionaria

Se ramifica por x1

72

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

P1 P2

73

P1

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1<=3

GRAD

P0+ { x1 ≤ 3 }=

74

P1

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1<=3

GRAD

75

P1

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1<=3

GRAD

x1*=(3, 2.67) z1*=14

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

76

P2P0

+ { x1 4 }=

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

77

P2

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

78

P2x2*=(4, 2.14) z2*=14.43

79

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14 P1 P2x2*=(4, 2.14) z2*=14.43

80

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14 P1 P2x2*=(4, 2.14) z2*=14.43

Mejor valor de z*

81

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14 P1 P2x2*=(4, 2.14) z2*=14.43

Mejor valor de z*

Se ramifica por P2

82

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14 P1 P2

P4P3

x2*=(4, 2.14) z2*=14.43

x2 2 x2 3

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

83

P3P2

+ { x2 2 }=

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

84

P3

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

85

P3x3*=(4.19, 2) z3*=14.4

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2>=3

86

P4P2

+ { x2 3 }=

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2>=3

87

P4Infactible

88

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14 P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

x2 2 x2 3

Mejor valor de z*

89

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14 P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

x2 2 x2 3

Mejor valor de z*

90

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14 P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

x2 2 x2 3

Se ramifica por P3

91

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14 P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

P6P5

x1 4 x1 5

x2 2 x2 3

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1<=4

92

P5P3

+ { x1 4 }=

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1<=4

93

P5

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1<=4

94

P5x5*=(4, 2) z5*=14

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

95

P6P3

+ { x1 5 }=

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

96

P6

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

97

P6x6*=(5, 1.43) z6*=14.29

98

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14 P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

P6P5

x1 4 x1 5

x2 2 x2 3

x5*=(4, 2) z5*=14 x6*=(5, 1.43) z6*=14.29

99

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14 P1 P2

P4P3

Infactible

x3*=(4.19, 2) z3*=14.4

P6P5

x1 4 x1 5

x2 2 x2 3

x5*=(4, 2) z5*=14

Sol. p. original

x6*=(5, 1.43) z6*=14.29

x2*=(4, 2.14) z2*=14.43

100

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14

1ª cota

z = 14

P1 P2

P4P3

Infactible

x3*=(4.19, 2) z3*=14.4

P6P5

x1 4 x1 5

x2 2 x2 3

x5*=(4, 2) z5*=14

Sol. p. original

x6*=(5, 1.43) z6*=14.29

x2*=(4, 2.14) z2*=14.43

101

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14

1ª cota

z = 14

P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

P6P5

x1 4 x1 5

x2 2 x2 3

x5*=(4, 2) z5*=14

Sol. p. original

x6*=(5, 1.43) z6*=14.29

Comp. 1ª cota

102

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14

1ª cota

z = 14

P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

P6P5

x1 4 x1 5

x2 2 x2 3

x5*=(4, 2) z5*=14

Sol. p. original

x6*=(5, 1.43) z6*=14.29

P8P7

x2 1 x2 2

Comp. 1ª cota

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2<=1

103

P7P6

+ { x2 1 }=

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2<=1

104

P7

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2<=1

105

P7x7*=(5.6, 1) z7*=14.2

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2>=2

106

P8P6

+ { x2 2 }=

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2>=2

107

P8Infactible

108

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14

1ª cota

z = 14

P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

P6P5

x1 4 x1 5

x2 2 x2 3

x5*=(4, 2) z5*=14

Sol. p. original

x6*=(5, 1.43) z6*=14.29

P8P7

x2 1 x2 2

Infactiblex7*=(5.6, 1) z7*=14.2

Comp. 1ª cota

109

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14

1ª cota

z = 14

P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

P6P5

x1 4 x1 5

x2 2 x2 3

x5*=(4, 2) z5*=14

Sol. p. original

x6*=(5, 1.43) z6*=14.29

P8P7

x2 1 x2 2

Infactible

x7*=(5.6, 1) z7*=14.2

P10P9

x1 5x1 6

Comp. 1ª cota

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2<=1

x1<=5

110

P9P7

+ { x1 5 }=

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2<=1

x1<=5

111

P9

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2<=1

x1<=5

112

P9x9*=(5, 1) z9*=13

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2<=1

x1>=6

113

P10P7

+ { x1 6 }=

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2<=1

x1>=6

114

P10

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2<=1

x1>=6

115

P10x10*=(6, 0.71) z10*=14.14

116

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14

1ª cota

z = 14

P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

P6P5

x1 4 x1 5

x2 2 x2 3

x5*=(4, 2) z5*=14

Sol. p. original

x6*=(5, 1.43) z6*=14.29

P8P7

x2 1 x2 2

Infactible

x7*=(5.6, 1) z7*=14.2

P10P9

x1 5x1 6

x9*=(5, 1) z9*=13 x10*=(6, 0.71) z10*=14.14

Comp. 1ª cota

117

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14

1ª cota

z = 14

P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

P6P5

x1 4 x1 5

x2 2 x2 3

x5*=(4, 2) z5*=14

Sol. p. original

x6*=(5, 1.43) z6*=14.29

P8P7

x2 1 x2 2

Infactible

x7*=(5.6, 1) z7*=14.2

P10P9

x1 5x1 6

x9*=(5, 1) z9*=13 x10*=(6, 0.71) z10*=14.14

Sol. p. originalNo actualizamos la cota

Comp. 1ª cota

118

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14

1ª cota

z = 14

P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

P6P5

x1 4 x1 5

x2 2 x2 3

x5*=(4, 2) z5*=14

Sol. p. original

x6*=(5, 1.43) z6*=14.29

P8P7

x2 1 x2 2

Infactible

x7*=(5.6, 1) z7*=14.2

P10P9

x1 5x1 6

x9*=(5, 1) z9*=13 x10*=(6, 0.71) z10*=14.14

Sol. p. originalNo actualizamos la cota

P12P11

x2 0 x2 1

Comp. 1ª cota

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2<=1

x1>=6

x2<=0

119

P11P10

+ { x2 0 }=

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2<=1

x1>=6

x2<=0

120

P11

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2<=1

x1>=6

x2<=0

121

P11x11*=(7, 0) z11*=14

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2<=1

x1>=6

x2>=1

122

P12P10

+ { x2 1 }=

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

-0.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

x2

x1

R1

R2

x1>=4

GRAD

x2<=2

x1>=5

x2<=1

x1>=6

x2>=1

123

P12Infactible

124

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14

1ª cota

z = 14

P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

P6P5

x1 4 x1 5

x2 2 x2 3

x5*=(4, 2) z5*=14

Sol. p. original

x6*=(5, 1.43) z6*=14.29

P8P7

x2 1 x2 2

Infactible

x7*=(5.6, 1) z7*=14.2

P10P9

x1 5x1 6

x9*=(5, 1) z9*=13 x10*=(6, 0.71) z10*=14.14

Sol. p. originalNo actualizamos la cota

P12P11

x2 0 x2 1

x11*=(7, 0) z11*=14

Infactible

Comp. 1ª cota

125

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14

1ª cota

z = 14

P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

P6P5

x1 4 x1 5

x2 2 x2 3

x5*=(4, 2) z5*=14

Sol. p. original

x6*=(5, 1.43) z6*=14.29

P8P7

x2 1 x2 2

Infactible

x7*=(5.6, 1) z7*=14.2

P10P9

x1 5x1 6

x9*=(5, 1) z9*=13 x10*=(6, 0.71) z10*=14.14

Sol. p. originalNo actualizamos la cota

P12P11

x2 0 x2 1

x11*=(7, 0) z11*=14

InfactibleSol. p. original

Iguala la cota

Comp. 1ª cota

126

x1 3 x1 4P0

x0*=(3.71, 2.4) z0*=14.47

x1*=(3, 2.67) z1*=14

1ª cota

z = 14

P1 P2

P4P3

Infactible

x2*=(4, 2.14) z2*=14.43

x3*=(4.19, 2) z3*=14.4

P6P5

x1 4 x1 5

x2 2 x2 3

x5*=(4, 2) z5*=14

Sol. p. original

x6*=(5, 1.43) z6*=14.29

P8P7

x2 1 x2 2

Infactible

x7*=(5.6, 1) z7*=14.2

P10P9

x1 5x1 6

x9*=(5, 1) z9*=13 x10*=(6, 0.71) z10*=14.14

Sol. p. originalNo actualizamos la cota

P12P11

x2 0 x2 1

x11*=(7, 0) z11*=14

InfactibleSol. p. original

Comp. 1ª cota

Iguala la cota

127Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Método de ramificación y acotación

EJEMPLO:

Problema Original

1 2

1 2

1 2

1 2

max 2 3

. : 5 7 35

4 9 36

,

x x

s a x x

x x

x x

SOLUCIÓN:

x*=(4, 2) z*= 14

x*=(7, 0) z*= 14

128

Algunos Problemas Notables

Departamento Estadística, Matemáticas e Informática Universidad Miguel Hernández de Elche

MOCHILA: son problemas en los que se tiene que elegir entre una serie de

objetos que tienen un valor y ocupan un espacio (o tienen un peso), para

introducir en una mochila (contenedor) de tal modo que el valor agregado o total

sea máximo y el volumen o espacio que ocupen no exceda de un cierto límite,

dado por la capacidad de la mochila o el contenedor.

Una compañía de transporte está considerando el transporte de una serie de

objetos. Hay diez objetos posibles a transportar, cuyos valores para la empresa son

7, 2, 5, 4, 9, 3, 9, 6, 8 y 8, respectivamente. Y el volumen que ocupa cada uno de

ellos es 9, 4, 3, 7, 5, 7, 6, 10, 8 y 4, respectivamente. Si la capacidad máxima del

contenedor es 40, ¿cuál debería ser la selección de objetos para maximizar el valor

agregado transportado en el contenedor?

129Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Variables de decisión:

Algunos Problemas Notables

1 si se elige el objeto 1,2,3,4,5,6,7,8,9,10

0 si no se elige el objeto i

ix i

i

130Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Variables de decisión:

Función objetivo: 7x1 + 2x2 + 5x3 + 4x4 + 9x5 + 3x6 + 9x7 + 6x8 + 8x9 + 8x10

Orientación de la optimización: maximizar

Algunos Problemas Notables

1 si se elige el objeto 1,2,3,4,5,6,7,8,9,10

0 si no se elige el objeto i

ix i

i

131Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Variables de decisión:

Función objetivo: 7x1 + 2x2 + 5x3 + 4x4 + 9x5 + 3x6 + 9x7 + 6x8 + 8x9 + 8x10

Orientación de la optimización: maximizar

Restricciones:

Volumen: 9x1 + 4x2 + 3x3 + 7x4 + 5x5 + 7x6 + 6x7 + 10x8 + 8x9 + 4x10 40

Algunos Problemas Notables

1 si se elige el objeto 1,2,3,4,5,6,7,8,9,10

0 si no se elige el objeto i

ix i

i

132Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Variables de decisión:

Función objetivo: 7x1 + 2x2 + 5x3 + 4x4 + 9x5 + 3x6 + 9x7 + 6x8 + 8x9 + 8x10

Orientación de la optimización: maximizar

Restricciones:

Volumen: 9x1 + 4x2 + 3x3 + 7x4 + 5x5 + 7x6 + 6x7 + 10x8 + 8x9 + 4x10 40

Variables: xi {0, 1}, i = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Algunos Problemas Notables

1 si se elige el objeto 1,2,3,4,5,6,7,8,9,10

0 si no se elige el objeto i

ix i

i

133Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

CUBRIMIENTO: son problemas en los que se tiene que cubrir determinada

región o conjunto de puntos, por medio de la elección de una serie de puntos o

zonas de un conjunto de puntos o zonas candidatos.

La empresa de comunicaciones TelNetwork Ltd. ha resultado adjudicataria de la

implantación de una red de comunicaciones de banda ancha que debe prestar su

servicio en una determinada ciudad. Tras un análisis previo se ha dividido la

ciudad en 20 regiones o áreas distintas de tamaños similares. Para garantizar una

mínima calidad de servicio, cada una de las áreas deberá ser atendida por al

menos un hub. Asimismo, tras un análisis previo del problema, se ha encontrado

que existen 10 ubicaciones posibles para los hubs, que entre todas ellas cubrirían

todas las áreas en las que ha sido dividida la ciudad. Cada ubicación puede dar

cobertura a un número diferente de áreas, que son las que se muestran en la tabla.

Algunos Problemas Notables

134Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Ubicación Regiones

atendidas

Ubicación Regiones

atendidas

A 1,2,6 F 10,11,12,20

B 3,4,5,8 G 2,8,13,14,17,18

C 4,5,6,10,12 H 7,11,14,15,16

D 3,7,8,13 I 1,17,18,19

E 9,10 J 2,19,20

Se considera que la colocación de un hub conlleva un coste diferente para cada

posible ubicación, que depende del número de áreas que podría atender, de las

conexiones, mantenimiento, etc. Los costes son los siguientes: si el hub puede

atender dos áreas 30000 euros, si puede atender 3 áreas 40000 euros, si puede

atender 4 áreas 50000 euros, si el hub puede atender 5 áreas 80000 euros y,

finalmente, si el hub pudiera atender 6 áreas 100000 euros. ¿Cuál es la elección

de hubs que da cobertura a todas las regiones a menor coste?

Algunos Problemas Notables

135Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Variables de decisión:

A, B, C, D, E, F, G, H, I, J = 1 si se elige la ubicación correspondiente; 0 en otro caso

Algunos Problemas Notables

136Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Variables de decisión:

A, B, C, D, E, F, G, H, I, J = 1 si se elige la ubicación correspondiente; 0 en otro caso

Función objetivo: 4A + 5B + 8C + 5D + 3E + 5F + 10G + 8H + 5I + 4J (10000)

Orientación de la optimización: minimizar

Algunos Problemas Notables

137Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

R01) 1 R08) 1 R15) 1

R02) 1 R09) 1 R16) 1

R03) 1 R10) 1 R17) 1

R04) 1 R11) 1 R18) 1

R05) 1 R12) 1 R19) 1

R06) 1 R13) 1 R20) 1

R07) 1 R14) 1

A I B D G H

A G J E H

B D C E F G I

B C F H G I

B C C F I J

A C D G F J

D H G H

Variables de decisión:

A, B, C, D, E, F, G, H, I, J = 1 si se elige la ubicación correspondiente; 0 en otro caso

Función objetivo: 4A + 5B + 8C + 5D + 3E + 5F + 10G + 8H + 5I + 4J (10000)

Orientación de la optimización: minimizar

Restricciones:

Algunos Problemas Notables

138Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

R01) 1 R08) 1 R15) 1

R02) 1 R09) 1 R16) 1

R03) 1 R10) 1 R17) 1

R04) 1 R11) 1 R18) 1

R05) 1 R12) 1 R19) 1

R06) 1 R13) 1 R20) 1

R07) 1 R14) 1

A I B D G H

A G J E H

B D C E F G I

B C F H G I

B C C F I J

A C D G F J

D H G H

Variables de decisión:

A, B, C, D, E, F, G, H, I, J = 1 si se elige la ubicación correspondiente; 0 en otro caso

Función objetivo: 4A + 5B + 8C + 5D + 3E + 5F + 10G + 8H + 5I + 4J (10000)

Orientación de la optimización: minimizar

Restricciones:

Algunos Problemas Notables

Variables : , , , , , , , , , {0,1}A B C D E F G H I J

139Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

El empleo de variables binarias nos permite modelizar:

• Implicaciones

• Expresiones lógicas (restricciones disyuntivas y restricciones condicionales),

•Activación de variables

• Costes fijos

• Etc.

Las condiciones anteriores se deben formular como una pregunta cuya respuesta

debe ser Sí o No y se incorporan al modelo mediante variables auxiliares de tipo

binario que representen dichas decisiones. (Las variables auxiliares que añadamos

las representaremos habitualmente como yj, para distinguirlas de las variables

originales del problema xj).

Uso de variables binarias en la formulación de modelos

Las variables binarias suelen responder a la Modelización de decisiones Sí o No:

1 si la decision es SÍ

0 si la decision es NOj

jx

j

140Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

1) Coste fijo: En la práctica es bastante habitual incurrir en un cargo de

preparación o coste fijo cuando se emprende una actividad. Si esto es así, el

costo de la actividad j se puede representar de la forma:

si 0( )

0 si 0

j j j

j j

j

k c x xf x

x

costo fijo (matrícula, contrato....)

costo por cada unidad de j j

k

c x

donde

min ....

1 si 0donde

0 si 0

j j j

j

j

j

ky c x

xy

x

min ....

. : M

con M una cota superior para

j j j

j j

j

ky c x

s a x y

x

00

1 descartado en el óptimo ya que min

j

j

j j

yx

y ky

0 1j jx y y

Uso de variables binarias en la formulación de modelos

141Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Ejemplo: En telefonía móvil se paga 0.15 € por establecimiento de llamada y

0.11 € por minuto de duración

0.15 0.11 si 0( )

0 si 0

x xf x

x

1 si 0

0 si 0

xy

x

Uso de variables binarias en la formulación de modelos

x = duración de la llamada (minutos)

142Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Ejemplo: En telefonía móvil se paga 0.15 € por establecimiento de llamada y

0.11 € por minuto de duración

0.15 0.11 si 0( )

0 si 0

x xf x

x

1 si 0

0 si 0

xy

x

min 0.15 0.11 ....

. : M

0, 0,1

y x

s a x y

x y

Uso de variables binarias en la formulación de modelos

x = duración de la llamada (minutos)

143Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Ejemplo: En telefonía móvil se paga 0.15 € por establecimiento de llamada y

0.11 € por minuto de duración

0.15 0.11 si 0( )

0 si 0

x xf x

x

1 si 0

0 si 0

xy

x

min 0.15 0.11 ....

. : M

0, 0,1

y x

s a x y

x y

Uso de variables binarias en la formulación de modelos

x = duración de la llamada (minutos)

M = 60×24 = 1440

144Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

PRODUCCIÓN DE BIENES INDIVISIBLES CON COSTES FIJOS

Una determinada empresa dispone de tres líneas de producción en las que

desarrolla la producción de un único producto.

La línea 1 tiene una capacidad productiva de 10000 unidades año, la línea 2 de

15000 unidades año y la 3 de 12000.

El coste por unidad producida en cada una de las líneas es, respectivamente, de

8 euros/unidad, 6 euros/unidad y 7 euros/unidad.

La previsión de demanda del producto es de 21000 unidades/año.

¿Cuál es la decisión que minimiza el coste?

Uso de variables binarias en la formulación de modelos

145Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Variables de decisión:

x1 = producción en L1, x2 = producción en L2, x3 = producción en L3

Función objetivo: 8x1 + 6x2 + 7x3

Orientación de la optimización: minimizar

Restricciones:

Producción en L1: x1 10000

Producción en L2: x2 15000

Producción en L3: x3 12000

Demanda: x1 + x2 + x3 21000

Variables: x1, x2, x3 Z+

Uso de variables binarias en la formulación de modelos

146Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

PRODUCCIÓN DE BIENES INDIVISIBLES CON COSTES FIJOS

Una determinada empresa dispone de tres líneas de producción en las que

desarrolla la producción de un único producto. Debido a la coyuntura económica

se está planteando el cierre de alguna de ellas para reducir costes de producción.

La línea 1 tiene una capacidad productiva de 10000 unidades año, la línea 2 de

15000 unidades año y la 3 de 12000.

El coste por unidad producida en cada una de las líneas es, respectivamente, de 8

euros/unidad, 6 euros/unidad y 7 euros/unidad.

Además, el coste fijo de mantener las líneas de producción activas es de 90000

euros la línea 1, 120000 euros la línea 2 y 110000 euros la línea 3.

La previsión de demanda del producto es de 21000 unidades/año.

¿Cuál es la decisión que minimiza el coste?

Uso de variables binarias en la formulación de modelos

147Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Variables de decisión:

y1 = Línea 1 activa, y2 = Línea 2 activa, y3 = Línea 3 activa

x1 = producción en L1, x2 = producción en L2, x3 = producción en L3

Uso de variables binarias en la formulación de modelos

148Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Variables de decisión:

y1 = Línea 1 activa, y2 = Línea 2 activa, y3 = Línea 3 activa

x1 = producción en L1, x2 = producción en L2, x3 = producción en L3

Función objetivo: 90000y1 + 120000y2 + 110000y3 + 8x1 + 6x2 + 7x3

Orientación de la optimización: minimizar

Uso de variables binarias en la formulación de modelos

149Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Variables de decisión:

y1 = Línea 1 activa, y2 = Línea 2 activa, y3 = Línea 3 activa

x1 = producción en L1, x2 = producción en L2, x3 = producción en L3

Función objetivo: 90000y1 + 120000y2 + 110000y3 + 8x1 + 6x2 + 7x3

Orientación de la optimización: minimizar

Restricciones:

Producción en L1: x1 M1y1 (desactivar línea 1)

Producción en L2: x2 M2y2 (desactivar línea 2)

Producción en L3: x3 M3y3 (desactivar línea 3)

Demanda: x1 + x2 + x3 21000

Uso de variables binarias en la formulación de modelos

150Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Variables de decisión:

y1 = Línea 1 activa, y2 = Línea 2 activa, y3 = Línea 3 activa

x1 = producción en L1, x2 = producción en L2, x3 = producción en L3

Función objetivo: 90000y1 + 120000y2 + 110000y3 + 8x1 + 6x2 + 7x3

Orientación de la optimización: minimizar

Restricciones:

Producción en L1: x1 10000y1 (desactivar línea 1)

Producción en L2: x2 15000y2 (desactivar línea 2)

Producción en L3: x3 12000y3 (desactivar línea 3)

Demanda: x1 + x2 + x3 21000

Uso de variables binarias en la formulación de modelos

151Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Variables de decisión:

y1 = Línea 1 activa, y2 = Línea 2 activa, y3 = Línea 3 activa

x1 = producción en L1, x2 = producción en L2, x3 = producción en L3

Función objetivo: 90000y1 + 120000y2 + 110000y3 + 8x1 + 6x2 + 7x3

Orientación de la optimización: minimizar

Restricciones:

Producción en L1: x1 – 10000y1 0 (desactivar línea 1)

Producción en L2: x2 – 15000y2 0 (desactivar línea 2)

Producción en L3: x3 – 12000y3 0 (desactivar línea 3)

Demanda: x1 + x2 + x3 21000

Variables: y1, y2, y3 {0, 1}; x1, x2, x3 Z+

Uso de variables binarias en la formulación de modelos

2) Activación de una v. continua: Para distinguir si una v. continua

toma o no un valor no nulo, desearíamos disponer de una v. binaria:

1 si 0

0 si 0

j

j

j

xy

x

Uso de variables binarias en la formulación de modelos

La condición anterior Mj jx y asegura que 0 1j jx y , pero

0 0j jx y sólo se garantiza en el óptimo si jy aparece en el

objetivo e interesa minimizar su valor. No obstante, en la práctica, cuando una variable continua jx toma un valor positivo, suele tomar un

valor mínimo jL (Si se realiza una llamada, se contabiliza al menos un

minuto; si se produce algo, se produce al menos tantos grms...). En este

caso se ha de satisfacer 1j j jy x L , que se consigue con la

restricción adicional j j jL y x .

152

Uso de variables binarias en la formulación de modelos

En general, si en un proceso la unidad j está activa, su uso ha de estar entre

las cotas :j j jL x U

, 0,1j j j j j jL y x U y y

153

Uso de variables binarias en la formulación de modelos

En general, si en un proceso la unidad j está activa, su uso ha de estar entre

las cotas :j j jL x U

, 0,1j j j j j jL y x U y y

154

0 1, ya que necesariamente j j j jx y x U j j jL x U

Uso de variables binarias en la formulación de modelos

En general, si en un proceso la unidad j está activa, su uso ha de estar entre

las cotas :j j jL x U

, 0,1j j j j j jL y x U y y

155

0 1, ya que necesariamente j j j jx y x U j j jL x U

0 0, ya que necesariamente 0 0 0j j j jx y L x 0 0 0jx

3) Implicaciones entre variables binarias: Cuando un valor concreto de una

variable binaria condiciona el valor que han de tomar otras variables binarias.

Uso de variables binarias en la formulación de modelos

La condición 0 0i jy y es equivalente a j iy y

La condición 0 1i jy y es equivalente a 1j iy y

La condición 1 0i jy y es equivalente a 1j iy y

La condición 1 1i jy y es equivalente a j iy y

Uso de variables binarias en la formulación de modelos

PROBLEMAS DE MEZCLAS

Una empresa elabora un cierto alimento refinando diferentes tipos de aceite y

mezclándolos. Los tipos de aceite se clasifican en dos categorías: vegetales

(VEG1 y VEG2) y no vegetales (OIL1, OIL2 y OIL3). Dependiendo del tipo

de aceite, vegetal o no vegetal, se requieren diferentes líneas de producción

para el refino del aceite. Así, en un mes, la máxima cantidad de cada uno de

ellos que puede refinarse es de 200 toneladas de aceite vegetal y 250 de no

vegetal. Se puede asumir que el coste de refino es nulo y que durante el

proceso no se producen pérdidas de peso. Por otro lado, existen restricciones

tecnológicas que imponen cotas (inferior y superior) a la dureza del producto

final, de 3 y 6 unidades respectivamente. Se puede asumir que la dureza se

mezcla linealmente; la dureza (por tonelada) de cada uno de los aceites, así

como su coste (por tonelada) de producción, son los que aparecen en la

siguiente tabla:

157

Uso de variables binarias en la formulación de modelos

Cada tonelada de producto final se vende a un precio de 150 u.m.

Plantear el problema de programación lineal continua al que se enfrenta la

empresa para determinar cómo ha de hacer su producción de manera que

obtenga el mayor beneficio neto posible.

VEG1 VEG2 OIL1 OIL2 OIL3

Coste 110 120 130 110 115

Dureza 8.8 6.1 2.0 4.2 5.0

158

159Departamento Estadística, Matemáticas e Informática

Universidad Miguel Hernández de Elche

Variables de decisión:

xj = cantidad de aceite de tipo j, j = V1, V2, O1, O2, O3, que contiene la mezcla

Función objetivo: 150(xV1 + xV2 + xO1 + xO2 + xO3) (110xV1 + 120xV2 +

130xO1 + 110xO2 + 115xO3)

Orientación de la optimización: maximizar

Restricciones:

Refinado: xV1 + xV2 200

xO1 + xO2 + xO3 250

Dureza: 3(xV1 + xV2 + xO1 + xO2 + xO3) 8.8xV1 + 6.1xV2 + 2xO1 + 4.2xO2 +5xO3

8.8xV1 + 6.1xV2 + 2xO1 + 4.2xO2 +5xO3 6(xV1 + xV2 + xO1 + xO2 + xO3)

Variables: xV1, xV2, xO1, xO2, xO3 0

Uso de variables binarias en la formulación de modelos

Uso de variables binarias en la formulación de modelos

¿Cómo imponer las siguientes condiciones adicionales al problema?

• Si el producto final contiene un cierto tipo de aceite, debe contener al menos

20 toneladas del mismo.

• El producto final no puede contener más de tres tipos de aceite diferentes.

• Si la mezcla contiene algún tipo de aceite vegetal (VEG1 o VEG2), entonces

también debe contener aceite no vegetal de tipo 3 (OIL3).

PROBLEMAS DE MEZCLAS CON CONDICIONES LÓGICAS

Se deben incluir variables enteras en el modelo que nos permitan añadir

condiciones lógicas: activación-desactivación de variables continuas

160

Uso de variables binarias en la formulación de modelos

• Si el producto final contiene un cierto tipo de aceite, debe contener al menos

20 toneladas del mismo

161

Uso de variables binarias en la formulación de modelos

• Si el producto final contiene un cierto tipo de aceite, debe contener al menos

20 toneladas del mismo Activación de variables continuas

162

Uso de variables binarias en la formulación de modelos

1 si 0 V1, V2, O1, O2, O3

0 si 0

j

j

j

xy j

x

Añadir variables binarias yj, que tomen los valores 1 o 0 dependiendo de si el

aceite en cuestión (VEG1, VEG2, OIL1, OIL2 y OIL3) se utiliza o no:

• Si el producto final contiene un cierto tipo de aceite, debe contener al menos

20 toneladas del mismo Activación de variables continuas

163

Uso de variables binarias en la formulación de modelos

1 si 0 V1, V2, O1, O2, O3

0 si 0

j

j

j

xy j

x

Añadir variables binarias yj, que tomen los valores 1 o 0 dependiendo de si el

aceite en cuestión (VEG1, VEG2, OIL1, OIL2 y OIL3) se utiliza o no:

• Si el producto final contiene un cierto tipo de aceite, debe contener al menos

20 toneladas del mismo Activación de variables continuas

Para la producción máxima de cada aceite: xj Uj yj , j = V1, V2, O1, O2, O3

Para la producción mínima de cada aceite: Lj yj xj, j = V1, V2, O1, O2, O3

Variables: y1 {0, 1}, j = V1, V2, O1, O2, O3

Añadir las restricciones:

164

Uso de variables binarias en la formulación de modelos

1 si 0 V1, V2, O1, O2, O3

0 si 0

j

j

j

xy j

x

Añadir variables binarias yj, que tomen los valores 1 o 0 dependiendo de si el

aceite en cuestión (VEG1, VEG2, OIL1, OIL2 y OIL3) se utiliza o no:

• Si el producto final contiene un cierto tipo de aceite, debe contener al menos

20 toneladas del mismo Activación de variables continuas

Para la producción máxima de cada aceite: xj 200yj , j = V1, V2

xj 250yj , j = O1, O2, O3

Para la producción mínima de cada aceite: 20yj xj, j = V1, V2, O1, O2, O3

Variables: y1 {0, 1}, j = V1, V2, O1, O2, O3

Añadir las restricciones:

165

Uso de variables binarias en la formulación de modelos

• El producto final no puede contener más de tres tipos de aceite diferentes

166

Uso de variables binarias en la formulación de modelos

• El producto final no puede contener más de tres tipos de aceite diferentes

Activación de variables continuas + implicaciones

167

Uso de variables binarias en la formulación de modelos

1 si 0 V1, V2, O1, O2, O3

0 si 0

j

j

j

xy j

x

Añadir variables binarias yj, que tomen los valores 1 o 0 dependiendo de si el

aceite en cuestión (VEG1, VEG2, OIL1, OIL2 y OIL3) se utiliza o no:

• El producto final no puede contener más de tres tipos de aceite diferentes

Activación de variables continuas + implicaciones

Para activar las variables: xj 200yj , j = V1, V2

xj 250yj , j = O1, O2, O3

Añadir las restricciones:

Variables: yj {0, 1}, j = V1, V2, O1, O2, O3

168

Uso de variables binarias en la formulación de modelos

1 si 0 V1, V2, O1, O2, O3

0 si 0

j

j

j

xy j

x

Añadir variables binarias yj, que tomen los valores 1 o 0 dependiendo de si el

aceite en cuestión (VEG1, VEG2, OIL1, OIL2 y OIL3) se utiliza o no:

• El producto final no puede contener más de tres tipos de aceite diferentes

Activación de variables continuas + implicaciones

Para activar las variables: xj 200yj , j = V1, V2

xj 250yj , j = O1, O2, O3

Añadir las restricciones:

Variables: yj {0, 1}, j = V1, V2, O1, O2, O3

No más de 3 tipos de aceite:

169

Uso de variables binarias en la formulación de modelos

1 si 0 V1, V2, O1, O2, O3

0 si 0

j

j

j

xy j

x

Añadir variables binarias yj, que tomen los valores 1 o 0 dependiendo de si el

aceite en cuestión (VEG1, VEG2, OIL1, OIL2 y OIL3) se utiliza o no:

• El producto final no puede contener más de tres tipos de aceite diferentes

Activación de variables continuas + implicaciones

Para activar las variables: xj 200yj , j = V1, V2

xj 250yj , j = O1, O2, O3

Añadir las restricciones:

Variables: yj {0, 1}, j = V1, V2, O1, O2, O3

No más de 3 tipos de aceite: yV1 + yV2 + yO1 + yO2 + yO3 3

170

Uso de variables binarias en la formulación de modelos

1 si 0 V1, V2, O1, O2, O3

0 si 0

j

j

j

xy j

x

Añadir variables binarias yj, que tomen los valores 1 o 0 dependiendo de si el

aceite en cuestión (VEG1, VEG2, OIL1, OIL2 y OIL3) se utiliza o no:

• El producto final no puede contener más de tres tipos de aceite diferentes

Activación de variables continuas + implicaciones

Para activar las variables: xj 200yj , j = V1, V2

xj 250yj , j = O1, O2, O3

Añadir las restricciones:

Variables: yj {0, 1}, j = V1, V2, O1, O2, O3

No más de 3 tipos de aceite: yV1 + yV2 + yO1 + yO2 + yO3 3

171

No son necesarias las restricciones

Ljyj xj

Uso de variables binarias en la formulación de modelos

• Si la mezcla contiene algún tipo de aceite vegetal (VEG1 o VEG2), entonces

también debe contener aceite no vegetal de tipo 3 (OIL3)

172

Uso de variables binarias en la formulación de modelos

• Si la mezcla contiene algún tipo de aceite vegetal (VEG1 o VEG2), entonces

también debe contener aceite no vegetal de tipo 3 (OIL3) Activación de

variables continuas + implicaciones

173

Uso de variables binarias en la formulación de modelos

1 si 0 V1, V2, O3

0 si 0

j

j

j

xy j

x

Añadir variables binarias yj, que tomen los valores 1 o 0 dependiendo de si el

aceite en cuestión (VEG1, VEG2 y OIL3) se utiliza o no:

• Si la mezcla contiene algún tipo de aceite vegetal (VEG1 o VEG2), entonces

también debe contener aceite no vegetal de tipo 3 (OIL3) Activación de

variables continuas + implicaciones

Para activar las variables: xj 200yj , j = V1, V2

xO3 250yO3

Añadir las restricciones:

Variables: yj {0, 1}, j = V1, V2, O3

174

Uso de variables binarias en la formulación de modelos

1 si 0 V1, V2, O3

0 si 0

j

j

j

xy j

x

Añadir variables binarias yj, que tomen los valores 1 o 0 dependiendo de si el

aceite en cuestión (VEG1, VEG2 y OIL3) se utiliza o no:

• Si la mezcla contiene algún tipo de aceite vegetal (VEG1 o VEG2), entonces

también debe contener aceite no vegetal de tipo 3 (OIL3) Activación de

variables continuas + implicaciones

Para activar las variables: xj 200yj , j = V1, V2

xO3 250yO3

Añadir las restricciones:

Variables: yj {0, 1}, j = V1, V2, O3

Si xV1 > 0 o xV2 > 0 xO3 > 0:

175

Uso de variables binarias en la formulación de modelos

1 si 0 V1, V2, O3

0 si 0

j

j

j

xy j

x

Añadir variables binarias yj, que tomen los valores 1 o 0 dependiendo de si el

aceite en cuestión (VEG1, VEG2 y OIL3) se utiliza o no:

• Si la mezcla contiene algún tipo de aceite vegetal (VEG1 o VEG2), entonces

también debe contener aceite no vegetal de tipo 3 (OIL3) Activación de

variables continuas + implicaciones

Para activar las variables: xj 200yj , j = V1, V2

xO3 250yO3

Añadir las restricciones:

Variables: yj {0, 1}, j = V1, V2, O3

Si xV1 > 0 o xV2 > 0 xO3 > 0: yV1 yO3

yV2 yO3

176

Uso de variables binarias en la formulación de modelos

Añadir variables binarias yj, que tomen los valores 1 o 0 dependiendo de si el

aceite en cuestión (VEG1, VEG2 y OIL3) se utiliza o no:

• Si la mezcla contiene algún tipo de aceite vegetal (VEG1 o VEG2), entonces

también debe contener aceite no vegetal de tipo 3 (OIL3) Activación de

variables continuas + implicaciones

Añadir las restricciones:

Variables: yj {0, 1}, j = V1, V2, O3

Si xV1 > 0 o xV2 > 0 xO3 > 0: yV1 yO3

yV2 yO3

177

No son necesarias las restricciones

Ljyj xj

Para activar las variables: xj 200yj , j = V1, V2

xO3 250yO3

1 si 0 V1, V2, O3

0 si 0

j

j

j

xy j

x

Uso de variables binarias en la formulación de modelos

1 si 0 V1, V2, O3

0 si 0

j

j

j

xy j

x

Añadir variables binarias yj, que tomen los valores 1 o 0 dependiendo de si el

aceite en cuestión (VEG1, VEG2 y OIL3) se utiliza o no:

• Si la mezcla contiene algún tipo de aceite vegetal (VEG1 o VEG2), entonces

también debe contener aceite no vegetal de tipo 3 (OIL3) Activación de

variables continuas + implicaciones

Añadir las restricciones:

Variables: yj {0, 1}, j = V1, V2, O3

Si xV1 > 0 o xV2 > 0 xO3 > 0: yV1 yO3

yV2 yO3

178

Alternativamente:yV1+ yV2 2yO3

Para activar las variables: xj 200yj , j = V1, V2

xO3 250yO3