Está en la página 1de 7

PLANTEAMIENTO DE PROBLEMAS DE PROGRAMACIÓN ENTERA

1. PROBLEMAS DE CARGO FIJO

Características

- Es un modelo mixto
- En la F.O. aparecen las variables enteras y continuas
- Existe al menos una restricción estructural
- Existe restricciones que combinan variable continua con discreta

Ejemplo 1:

Jorge es el administrador de una cartera de inversiones que debe trabajar bajo las siguientes
restricciones: (1) si compra valores j, debe adquirir por lo menos 200 acciones; y (2) no puede
comprar más de 1,000 de los valores j. Sea xj el número de acciones compradas del valor j. La
restricción de que si se compra j, tendrán que ser compradas por lo menos 200 acciones, se
conoce como una restricción de cargo fijo. Observemos que ese tipo de restricción no puede
introducirse en un modelo de PL. Las restricciones:

200  xj  1000

no producen ese efecto porque se exige que xj siempre sea 200 por lo menos. Deseamos que la
condición sea o bien xj = 0 o 200  xj  1000. Para lograrlo usaremos una variable 0–1, digamos
yj para el valor j. La variable yj tiene la siguiente interpretación:

• Si yj = 1, entonces compre el valor j.


• Si yj = 0, no compre el valor j.

Consideremos ahora las dos restricciones


xj  1000yj (1)
xj  200yj (2)

Vemos que si yj = 1, entonces (1) y (2) implican que 200  xj  1,000. Por otra parte, si yj = 0,
entonces (1) implica que 0. En forma similar, (2) implica que xj ≥ 0. Estas dos desigualdades,
tomadas en conjunto, implican que xj = 0. Así, si yj = 1 cuando compramos j, y 0 cuando no lo
hacemos, ya hemos impuesto las condiciones apropiadas sobre xj. ¿Cómo podemos estar
seguros de que yj = 1 si compramos el valor j? La desigualdad (1) (xj  1000yj) lo garantiza.
Observamos que en esta desigualdad no es posible tener al mismo tiempo xj > 0 y yj = 0. Por
consiguiente, si xj > 0, yj debe ser igual a 1. De esta manera, vemos que las desigualdades (1) y
(2) juntas garantizan la restricción de cargo fijo

Problema 1:

Tres empresas telefónicas pidieron que me suscribiera a su servicio de larga distancia dentro del
país. Movistar cobra S/.16 fijos por mes, más S/.0.25 por minuto. Claro cobra S/.25 por mes, pero
el costo por minuto se reduce a S/.0.21. Y con Entel, la tarifa fija es S/.18 mensual, y la
proporcional es S/.0.22 por minuto. Suelo hacer un promedio de 200 minutos de llamadas de
larga distancia al mes. Suponiendo que no pague el cargo fijo si no hago llamadas, y que puedo
repartir a voluntad mis llamadas entre las tres empresas, ¿cómo debo repartir las llamadas entre
las tres empresas para minimizar mi recibo telefónico mensual?

2. PROBLEMAS DE RECUBRIMIENTO DE CONJUNTOS

El ejemplo siguiente es representativo de una clase importante de PE conocida como


problemas de recubrimiento de conjuntos.

Ejemplo 2:

Hay 6 ciudades (ciudades 1 a 6) en la región de Sta. Lucía. La región debe decidir dónde
construir la estación de bomberos. Asimismo, la región quiere construir la cantidad mínima de

1
estaciones de bomberos necesarias para tener la certeza de que por lo menos una está dentro
de 15 minutos (tiempo de manejo) de cada ciudad. Los tiempos (en minutos) necesarios para
ir en automóvil de una ciudad a otra de la región se indican en la tabla 1. Plantear un PE
mediante el cual la región de Sta. Lucía sepa cuántas estaciones de bomberos debe construir
y dónde ubicarlas.

Tabla 1: Tiempo necesario para viajar de ciudad a ciudad en la región de Sta.


Lucía

A
Desde Ciudad 1 Ciudad 2 Ciudad 3 Ciudad 4 Ciudad 5 Ciudad 6
Ciudad 1 0 10 20 30 30 20
Ciudad 2 10 0 25 35 20 10
Ciudad 3 20 25 0 15 30 20
Ciudad 4 30 35 15 0 15 25
Ciudad 5 30 20 30 15 0 14
Ciudad 6 20 10 20 25 14 0

Solución

Sta. Lucía tiene que determinar, para cada ciudad, si construye una estación de bomberos
allí.

Definimos las variables 0- 1 (binarias) X1, X2, X3, X4, X5 y X6 mediante

Xi = { 1
0
si se construye una estación de bomberos en la ciudad i
si no sucede así.
Entonces la cantidad total de estaciones de bomberos que se construyen, está dada por X1 +
X2 + X3 + X4 + X5 + X6, y la función objetivo de Sta. Lucía se tiene que minimizar:

Z = X1 + X2 + X3 + X4 + X5 + X6

Las restricciones de Sta. Lucía es:

La región debe tener la certeza de que hay una estación de bomberos a 15 minutos de cada
ciudad. En la tabla 2 se indica a cuáles lugares se puede llegar en 15 minutos o en menos

Tabla 2:
Ciudades a 15 minutos
de una ciudad en
partiular

Ciudad A 15 minutos
1 1,2
2 1,2,6
3 3,4
4 3,4,5
5 4,5,6
6 2,5,6

Entonces agregar las siguientes restricciones al modelo:

X1 + X2 ≥1 Restricción de la ciudad 1

2
X1 + X2 + X6 ≥1 Restricción de la ciudad 2
X3 + X4 ≥1 Restricción de la ciudad 3
X3 + X4 + X5 ≥1 Restricción de la ciudad 4
X4 + X5 + X6 ≥1 Restricción de la ciudad 5
X2 + X5 + X6 ≥1 Restricción de la ciudad 6

El modelo final es:

Min Z = X1 + X2 + X3 + X4 + X5 + X6

Sujeto a:

X1 + X2 ≥1 Restricción de la ciudad 1
X1 + X2 + X6 ≥ 1 Restricción de la ciudad 2
X3 + X4 ≥1 Restricción de la ciudad 3
X3 + X4 + X5 ≥ 1 Restricción de la ciudad 4
X4 + X5 + X6 ≥ 1 Restricción de la ciudad 5
X2 + X5 + X6 ≥ 1 Restricción de la ciudad 6
Xi = 0 o 1 (i = 1, 2, 3, 4, 5, 6)

Problema 2:

En una urbanización del distrito de Trujillo se tiene registrado un alto índice de asaltos a los
vecinos de dicha urbanización. En tal sentido se ha planificado colocar botones de auxilio en
lugares seleccionados para socorrer a los vecinos. La idea es instalar la cantidad mínima de
botones de auxilio, para que cada una de las calles principales de la urbanización tenga al menos
un botón de auxilio. La siguiente figura es un mapa de las calles principales (A a K) de la
urbanización. Es lógico poner los teléfonos en los cruces de las calles, para que cada uno dé
servicio cuando menos a dos calles. En la figura se ve que la distribución de las calles requiere
un máximo de ocho ubicaciones de botones de auxilio.

3. RESTRICCIONES INCLUSIVAS O DISTRIBUTIVAS

La situación siguiente se presenta de manera muy común en los problemas de


programación matemática. Se dan dos restricciones de la forma:

𝑓(𝑥1, 𝑥2 , … , 𝑥𝑛 ) ≤ 0 (3)

3
𝑔(𝑥1, 𝑥2 , … , 𝑥𝑛 ) ≤ 0 (4)

Se desea asegurar que por lo menos una de las dos, (3) o (4), se cumpla. Al sumar las dos
restricciones (3) y (4) a la formulación, se asegura que se satisface por lo menos una de las
dos (3) o (4):

𝑓(𝑥1, 𝑥2 , … , 𝑥𝑛 ) ≤ 𝑀𝑦

𝑔(𝑥1, 𝑥2 , … , 𝑥𝑛 ) ≤ 𝑀(1 − 𝑦)

En (3) y (4), y es una variable 0- 1 (binaria), y M es un número suficientemente grande como


para asegurar que se cumplen 𝑓(𝑥1, 𝑥2 , … , 𝑥𝑛 ) ≤ 𝑀𝑦 y 𝑔(𝑥1, 𝑥2 , … , 𝑥𝑛 ) ≤ 𝑀 para todos los
valores de 𝑥1, 𝑥2 , … , 𝑥𝑛 que satisfacen las otras restricciones del problema.

Ahora se va a demostrar que la inclusión de (3) y (4) es equivalente a que por lo menos se
cumpla una de las dos desigualdades (3) y (4). O y = 0 o y = 1.

Si y = 0, entonces (3) y (4), se convierten en 𝑓 ≤ 0 y 𝑔 ≤ 𝑀. Por lo tanto, si y = 0, entonces


se tiene que cumplir (3) (y posiblemente (4)).

Si y = 1, entonces (3) y (4) se transforman en 𝑓 ≤ 𝑀 y 𝑔 ≤ 0. Por lo tanto, si y = 1, entonces


(4) (y posiblemente (3)) se tienen que cumplir.

Por lo tanto, ya sea que y = 0 o y = 1, (3) y (4) aseguran que se cumple (3) o (4), por lo menos
una de las dos.

Ejemplo 3:

Dorian Auto proyecta fabricar tres tipos de automóviles: compactos, medianos y grandes. El
recurso que requiere cada tipo de automóvil y las utilidades que genera, se proporcionan en
la tabla 3. Ahora dispone de 6000 toneladas de acero y 60000 horas de mano de obra. Para
que la producción de un tipo de automóvil sea factible desde el punto de vista económico, se
tienen que producir por lo menos 1000 automóviles de ese tipo. Plantear un PE para
maximizar las utilidades de Dorian.

Tabla 3: Recursos y utilidades para los tres tipos de automóviles

Tipo de automóvil
Recurso Compacto Mediano Grande
Acero necesario 1.5 ton 3 ton 5 ton
Mano de obra requerida 30 hrs. 25 hrs. 40 hrs.
Utilidad generada 2000 3000 4000

Solución:

Sean las variables:

𝑥1 = 𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑎𝑢𝑡𝑜𝑚ó𝑣𝑖𝑙𝑒𝑠 𝑐𝑜𝑚𝑝𝑎𝑐𝑡𝑜𝑠 𝑓𝑎𝑏𝑟𝑖𝑐𝑎𝑑𝑜𝑠

𝑥2 = 𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑎𝑢𝑡𝑜𝑚ó𝑣𝑖𝑙𝑒𝑠 𝑚𝑒𝑑𝑖𝑎𝑛𝑜𝑠 𝑓𝑎𝑏𝑟𝑖𝑐𝑎𝑑𝑜𝑠

𝑥3 = 𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑎𝑢𝑡𝑜𝑚ó𝑣𝑖𝑙𝑒𝑠 𝑔𝑟𝑎𝑛𝑑𝑒𝑠 𝑓𝑎𝑏𝑟𝑖𝑐𝑎𝑑𝑜𝑠

Entonces la función objetivo es:

𝑀𝑎𝑥 𝑧 = 2000𝑥1 + 3000𝑥2 + 4000𝑥3

Las restricciones para el problema de Dorian son las siguientes:

R1: 𝑥1 ≤ 0 𝑜 𝑥1 ≥ 1000

4
𝑥1 ≤ 𝑀1 𝑦1
1000 − 𝑥1 ≤ 𝑀1 (1 − 𝑦1 )
𝑦1 = 0 𝑜 1 donde: 𝑀1 = 2000

R2: 𝑥2 ≤ 0 𝑜 𝑥2 ≥ 1000

𝑥2 ≤ 𝑀2 𝑦2
1000 − 𝑥2 ≤ 𝑀2 (1 − 𝑦2 )
𝑦2 = 0 𝑜 1 donde: 𝑀2 = 2000

R3: 𝑥3 ≤ 0 𝑜 𝑥3 ≥ 1000

𝑥3 ≤ 𝑀3 𝑦3
1000 − 𝑥3 ≤ 𝑀3 (1 − 𝑦3 )
𝑦3 = 0 𝑜 1 donde: 𝑀3 = 1200

R4: 1.5𝑥1 + 3𝑥2 + 5𝑥3 ≤ 6000

R5: 30𝑥1 + 25𝑥2 + 40𝑥3 ≤ 60000

Finalmente el modelo de PE es:

𝑀𝑎𝑥 𝑧 = 2000𝑥1 + 3000𝑥2 + 4000𝑥3


𝑆𝑢𝑗𝑒𝑡𝑜 𝑎:
𝑥1 ≤ 2000𝑦1
1000 − 𝑥1 ≤ 2000(1 − 𝑦1 )
𝑥2 ≤ 2000𝑦2
1000 − 𝑥2 ≤ 2000(1 − 𝑦2 )
𝑥3 ≤ 1200𝑦3
1000 − 𝑥3 ≤ 1200(1 − 𝑦3 )
1.5𝑥1 + 3𝑥2 + 5𝑥3 ≤ 6000
30𝑥1 + 25𝑥2 + 40𝑥3 ≤ 60000

𝑥1 , 𝑥2 , 𝑥3 ≥ 0; 𝑥1 , 𝑥2 , 𝑥3 𝑒𝑛𝑡𝑒𝑟𝑜𝑠
𝑦1 , 𝑦2 , 𝑦3 = 0 𝑜 1

Problema 3:

Fierro a Fondo SRL. es un fabricante de accesorios domésticos que usa una sola máquina para
procesar tres trabajos. El tiempo de procesamiento y la fecha de entrega (en días) para cada
trabajo se ven en la siguiente tabla. Las fechas de entrega se miden a partir de la referencia cero,
que es el tiempo supuesto de inicio del primer trabajo.

Trabajo Tiempo de Fecha de entrega Multa por retardo,


procesamiento (días) $/día
(días)
1 5 25 19
2 20 22 12
3 15 35 34
El objetivo del problema es determinar la secuencia mínima de penalización por retraso al
procesar los tres trabajos. Definir:

XJ = Fecha de inicio del trabajo j (en días a partir de la referencia cero)

4. RESTRICCIONES SI… ENTONCES

En un modelo matemático puede ocurrir que si la restricción:

f(x1,x2, …xn) > 0

5
se satisface, entonces la restricción:

g(x1, x2,….xn) ≥ 0

Si f ≤ 0 la restricción g ≥ 0 puede o no satisfacerse.

Para garantizar esta condición se pueden incorporar las siguientes restricciones:

-g(x1, x2, … xn) ≤ My


f(x1, x2, … xn) ≤ M(1 - y)
y = 0,1
El valor de M debe ser escogido de tal forma que si f · M y ¡g · M se asegure que todos los
valores de x1, x2, …xn satisfagan las restricciones. Si la variable binaria vale cero, se tiene f
≤ M, en particular f > 0. Por otro lado, si y = 0 se tiene -g ≤ 0 o bien g ≥ 0. En caso contrario,
cuando y = 1 se tiene f ≤ 0, es decir, no se puede cumplir que f > 0. Si y = 1 se tiene -g ≤ M,
es decir, se cumple si g ≥ 0 o si g < 0.

En suma, si se satisface f > 0, la variable binaria debe valer 1 lo que obliga a satisfacer g ≤
0.

Ejemplo 4:

Se tiene:

x1 > 0 x2 = x3 = 0

En forma equivalente se tiene:

Si x1 > 0 x2 + x3 ≤ 0 o -x2 - x3 ≥ 0

Ejemplo 5:

Stocko considera cuatro inversiones. La inversión 1 proporciona un valor actual neto de


$16,000, la 2 $22,000, la 3 $12,000 y la 4 $8,000. Cada inversión requiere cierto flujo de caja:
la 1 $5,000, la 2 $7,000, la 3 $4,000 y la 4 $3000. Se dispone de $14,000 para la inversión y
se contemplan:

1 Puede invertir cuando mucho en 2 inversiones.


2 Si invierte en 2, entonces también debe invertir en 1
3 Si invierte en 2 no puede invertir en 4.

Solución:

Para poder plantear este problema debemos identificar que variables usaremos, nos dice que
consideran cuatro inversiones, por lo tanto habrá 4 variables que simbolizaran la inversión y

6
lo que queremos saber es en qué inversión invertir, por lo tanto las variables serán binarias
(solo pueden tomar valores entre 0 y 1), 1 si se debe invertir o 0 si no se debe invertir.

Después de haber identificado nuestras variables identificaremos la Función Objetivo, el


enunciado nos indica que tipo será, ya que están hablando de una inversión y se requiere que
de algún beneficio, por lo tanto la función objetivo será maximizar la suma de las variables
que representan a las inversiones multiplicadas por la cantidad que generan, ya que sabemos
que solo toman valores de 0 y 1.

Ahora crearemos nuestras restricciones.

Restricción 1. Hay que considerar que tenemos un límite de capital y que cada inversión
requiere de cierto capital, por lo tanto será la suma de todas las variables multiplicadas por el
valor de esa inversión.

Restricción 2. Habrá que considerar el primer enunciado que nos dice que a lo mucho se
deben de invertir solo en 2, por lo tanto habrá que sumar todas las variables y será menor o
igual a 2, como las variables solo pueden tomar 1 ó 0 así se restringirán.

Restricción 3. “Si se invierte en 2 no se puede invertir en 4”, para lograr esto solo hacemos
una suma de estas dos variables y ponemos la restricción menor o igual a 1 así solo habrá
una.

Restricción 4. El segundo renglón nos dice que si se invierte en la inversión 2, entonces


también debe de invertir en 1, para poder realizar esta restricción debemos restringirla por lo
tanto si ponemos una restricción menor o igual sabemos que si ponemos que la variable de
la 2 es menor o igual a la de la 1 forzamos a que se si la 2=1 por lo tanto la 1=1 o mayor (pero
no puede ser mayor ya que las variables solo toman 1 y 0).

El modelo final es:

También podría gustarte