Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CCIR / Matemáticas
euresti@itesm.mx
Introduccion
Suponga que hay n proyectos y que el costo del proyecto i es ci y que por otro
lado el valor del proyecto es ai . Cada proyecto se realiza o no, de manera que no
es posible realizar una fracción de él. El presupuesto disponible es limitado y tiene
el valor b. El problema de la mochila consiste en elegir un subconjunto de
proyectos que maximice el valor obtenido y que no exceda el presupuesto dado:
n
X
Max ai xi
i=1
sujeto a
n
X
c i xi ≤ b
i=1
Ejemplo 1
StockCo considera cuatro inversiones. La inversión 1 proporcionará un valor
actual neto (VAN) de 16,000 dólares; la inversión 2 un VAN de 20,000 dólares; la
inversión 3 un VAN de 12,000 dólares; y la inversión 4 un VAN de 8,000 dólares.
Cada inversión requiere cierto flujo de caja en el momento actual; la inversión 1
requiere 5,000 dólares; la inversión 2 requiere 7,000 dólares; la inversión 3 requiere
4,000 dólares; y la inversión 4 requiere 3,000 dólares. Se dispone de 14,000
dólares para la inversión. Formule y resuelva un modelo PLE para maximizar el
VAN obtenido por StockCo.
Ejemplo 1
StockCo considera cuatro inversiones. La inversión 1 proporcionará un valor
actual neto (VAN) de 16,000 dólares; la inversión 2 un VAN de 20,000 dólares; la
inversión 3 un VAN de 12,000 dólares; y la inversión 4 un VAN de 8,000 dólares.
Cada inversión requiere cierto flujo de caja en el momento actual; la inversión 1
requiere 5,000 dólares; la inversión 2 requiere 7,000 dólares; la inversión 3 requiere
4,000 dólares; y la inversión 4 requiere 3,000 dólares. Se dispone de 14,000
dólares para la inversión. Formule y resuelva un modelo PLE para maximizar el
VAN obtenido por StockCo.
Variables de Decisión:
1 si se realiza la inversión i
xi =
0 otro caso
Objetivo: Maximizar el VAN:
Max z = 16, 000 x1 + 20, 000 x2 + 12, 000 x3 + 8, 000 x4
Restricciones:
5, 000 x1 + 7, 000 x2 + 4, 000 x3 + 3, 000 x4 ≤ 14, 000
xi = 1 ó 0, para i = 1, 2, 3, 4.
CCIR / Matemáticas Programación Lineal: Modelos PLE euresti@itesm.mx 4 / 35
Ejemplo 1
Modifique el modelo para StockCo para considerar por separado cada una de las
siguientes restricciones:
1 StockCo puede realizar los más dos inversiones.
2 Si StockCo invierte en la inversión 2, entonces debe también invertir en la 1.
3 Si StockCo invierte en la inversión 2, entonces no podrá invertir en la 4.
Modifique el modelo para StockCo para considerar por separado cada una de las
siguientes restricciones:
1 StockCo puede realizar los más dos inversiones.
2 Si StockCo invierte en la inversión 2, entonces debe también invertir en la 1.
3 Si StockCo invierte en la inversión 2, entonces no podrá invertir en la 4.
Respuestas
1 Basta añadir al modelo la restricción: x1 + x2 + x3 + x4 ≤ 2
Esto hace que entre todos los proyectos hay a lo más dos sı́’s
2 Basta añadir al modelo la restricción: x2 ≤ x1
Esto hace que un sı́ para el proyecto 2 implique un sı́ para el proyecto 1.
3 Basta añadir al modelo la restricción: x2 + x4 ≤ 1
Esto hace que entre los proyectos 2 y 4 hay a lo más un sı́.
Ejemplo 2
Gandhi Cloth Co puede fabricar 3 tipos de ropa: camisas, shorts y pantalones.
Para poder fabricar la ropa, la compañı́a debe disponer de la maquinaria adecuada
la cual debe rentar. Para fabricar camisas la maquinaria se renta en 200 dólares
por semana; la maquinaria para hacer shorts se renta en 150 dólares por semana;
y la maquinaria para hacer pantalones cuesta 100 dólares por semana. La
siguiente tabla contiene información sobre los requerimientos para fabricar la ropa
en tela y en horas de trabajo, ası́ mismo contiene información sobre los precios de
venta y los costos de la matera primas.
Suponiendo que los costos de renta son independientes de las cantidades de ropa
a producir, formule y resuelva un modelo PLE para la compañı́a Gandhi de
manera que maximice sus ganancias semanales.
CCIR / Matemáticas Programación Lineal: Modelos PLE euresti@itesm.mx 7 / 35
Ejemplo 2
Variables de Decisión:
x1 = número de camisas a fabricar
x2 = número de shorts a fabticar
x3 = número de pantalones a fabricar
Relativas a la renta de maquinaria:
1 si se fabrican camisas
y1 =
0 otro caso
1 si se fabrican shorts
y2 =
0 otro caso
1 si se fabrican pantalones
y3 =
0 otro caso
Objetivo Maximizar:
z = + (12 x1 + 8 x2 + 15 x3 )
− (6 x1 + 4 x2 + 8 x3 )
− (200 y1 + 150 y2 + 100 y3 )
Restricciones
No exceder el número de horas disponibles de trabajo
3 x1 + 2 x2 + 6 x3 ≤ 150
No exceder la cantidad semanda de tela disponible:
4 x1 + 3 x2 + 4 x3 ≤ 160
Si se decide hacer al menos una camisa, debe rentarse la maquinaria de
hacer camisas: x1 ≤ M1 y1
Si se decide hacer al menos un short, debe rentarse la maquinaria de hacer
shorts: x2 ≤ M2 y2
Si se decide hacer al menos una pantalón, debe rentarse la maquinaria de
hacer pantalones: x3 ≤ M3 y3
x1 , x2 , x3 enteros no negativos, y1 , y2 , y3 1 ó 0.
Estos valores de Mi son calculables por las restricciones. Por ejemplo, si sólo se
hicieran camisas (x2 = 0 y x3 = 0) por las horas de trabajo se debe cumplir que
3 x1 ≤ 150, ası́ x1 ≤ 50. Por tanto, se puede elegir M1 = 50 o un número mayor.
De igual manera, si sólo se hacen shorts (x1 = 0 y x3 = 0) de la restricción de
horas de trabajo se tiene que cumplir 2 x2 ≤ 150, y sı́ x2 ≤ 75. Por tanto, se
puede elegir M2 = 75 o cualquier número mayor. Si ahora decidimos elegir sólo
hacer pantalones (x1 = 0 y x2 = 0) por el número de horas disponibles se debe
cumplir 6 x3 ≤ 150, y ası́ x3 ≤ 25. Por tanto, se puede elegir M3 = 25 o cualquier
número mayor.
Ejemplo 3
HACIA
DE 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 15
Ciudad 5 30 20 30 15 0 14
Ciudad 6 20 10 20 25 14 0
Variables de decisión:
1 si estación de bomberos en la ciudad i
xi =
0 si no
Objetivo:
P6
Minimizar el total de estaciones de bomberos: Minimizar i=1 xi
Restricciones
Ejemplo 4
FC-Co considera construir plantas en tres localidades desde donde se proveerán
productos a otras 4 ciudades distintas. La primera de las posibles plantas tendrı́a
una capacidad de 39 productos y un costo de 91 unidades de capital; la segunda
tendrı́a una capacidad de 35 productos y un costo de 70 unidades de capital; la
tercera tendrı́a una capacidad de 31 productos a un costo de construcción de 24
unidades de capital. La ciudad 1 tiene una demanda de 15 productos, la segunda
de 17, la tercera de 22 y la cuarta ciudad de 12 productos. Determine cuáles de
las plantas debe construir de manera que se minimice el costo de construcción y
el costo por envio total. Suponga que debe proporcionar a las ciudades los
productos requeridos y que no debe exceder las capacidades de las plantas. Los
costos de envio unitarios en unidades de capital desde cada planta a cada ciiudad
están dados en la siguiente tabla.
C1 C2 C3 C4
P1 6 2 6 7
P2 4 9 5 3
P3 8 8 1 5
Variables de decisión
yi : variable binaria que indica si la planta i se construye
xi,j : Variable entera que determina cuántos productos se envian desde la
plata i a la ciudad j.
Objetivo
3
X 3 X
X 4
Min z = cpi · yi + ci,j · xi,j
i=1 i=1 j=1
Restricciones
P3
Cumplir demandas: Para toda ciudad j = 1, 2, 3, 4, i=1 xi,j ≥ dj
P4
No exceder capacidades: Para toda planta i = 1, 2, 3, j=1 xi,j ≤ s i · yi
Naturales: Para toda i = 1, 2, 3, yi es binaria.
Naturales: Para toda i = 1, 2, 3 y para toda j = 1, 2, 3, 4, xi,j es entera.
f (x1 , x2 , . . . , xn ) ≤ 0
o bien
g (x1 , x2 , . . . , xn ) ≤ 0
el truco consiste en introducir una variable binaria (0 ó 1) y que indica cuál
restricción se cumple, y lo anterior se codifica como
f (x1 , x2 , . . . , xn ) ≤ My
g (x1 , x2 , . . . , xn ) ≤ M (1 − y )
Ejemplo 5
Restricciones
Recursos:
Acero: 1.5 x1 + 3 x2 + 5 x3 ≤ 600
Trabajo: 30 x1 + 25 x2 + 40 x2 ≤ 60, 000
Producción: 400 ≤ xi ó xi = 0
Restricciones naturales xi ≥ 0
Truco:
400 ≤ xi ó xi = 0 → f = 400 − xi ≤ 0 ó g = xi ≤ 0
→ (400 − xi ) ≤ M yi y xi ≤ M (1 − yi )
var = zk bk + (1 − zk ) bk+1
y ası́
f (var ) = zk f (bk ) + (1 − zk ) f (bk+1 )
f (bk+1 )
f (var )
f (bk )
bk var bk+1
yi = 0 ó 1 para i = 1, 2, . . . n − 1, zi ≥ 0 para i = 1, 2, . . . , n
Ejemplo 6
La compañı́a MyCo produce dos tipos de productos que vende a granel, digamos
A y B. Estos productos se basan en una misma materia prima y diferentes
cantidades de mano de obra. El precio de venta de cada kilogramo de A es de 200
pesos y cada kilogramo de B se vende en 250 pesos. Cada kilogramo de A
requiere 4 horas de mano de obra y dos kilogramos de materia prima (1 kilogramo
de materia prima se pierde en el proceso). Cada kilogramo de B requiere 6 horas
de mano de obra y dos kilogramos y medio de materia prima (Un y medio
kilogramos se pierden en el proceso). La compañı́a dispone de 400 horas de mano
de obra a la semana y la materia prima la compra por semana a un proveedor a
un precio de 50 pesos cada kilogramo, pero por cada kilogramo después de
comprar 100 recibe un descuento de 5 pesos. El proveedor no puede proporcionar
más de 200 kilogramos por semana. Suponga que la materia prima no puede ser
almancenada por la compañı́a. Modele y resuelva mediante PLE la situación de
MyCo para maximizar sus ganancias semanales.
f (b3 ) = 9500
C (z)
f (b2 ) = 5000
f (b1 ) = 0
b1 = 0 b2 = 100 b3 = 200
Naturales x, y , z ≥ 0
Ahora tenemos el pendiente de la función C (z) que no es lineal.
z1 ≤ y1 , z2 ≤ y1 + y2 , z3 ≤ y2 ,
y1 + y2 = 1,
z1 + z2 + z3 = 1,
z = z1 · b1 + z2 · b2 + z3 · b3 = 100 z2 + 200 z3
Ejemplo 7
Euing Gas produce dos tipos de gasolina (G1 y G2) a partir de dos tipos de
petróleo (P1 y P2). Cada galón de G1 debe contener al menos 50 % de P1, y
cada galón de G2 debe contener al menos 60 % de P1. Cada galón de G1 se
vende 12 centavos de G2 a 14 centavos. Actualmente se disponen 500 galones de
P1 y 1,000 galones de P2. Se pueden comprar 1,500 galones extra de P1 a los
siguientes precios: los primeros 500 a 25 centavos el galón, los siguientes 500 a 20
centavos el galón, y los últimos 500 a 15 centavos el galón. Modele y resuelva
mediante PLE la situación de Euing Gas para maximizar sus ganancias.
Restricciones
Producción: X1 = x11 + x12
Producción: X2 = x21 + x22
Recursos petróleo 2: X2 ≤ 1, 000
Recursos petróleo 1: X1 ≤ 2, 000
Calidad: x11 ≥ 0.5 (x11 + x21 )
Calidad: x12 ≥ 0.6 (x12 + x22 )
Restricciones naturales xi ≥ 0
Adicionaremos al modelo:
z1 ≤ y1 , z2 ≤ y1 + y2 , z3 ≤ y2 + y3 , z4 ≤ y3 + y4 , z5 ≤ y4
y1 + y2 + y3 + y4 = 1
z1 + z1 + z3 + z4 + z5 = 1
X1 = z1 · 0 + z2 · 500 + z3 · 1, 000 + z4 · 1, 500 + z5 · 2, 000
yi binaria para i = 1, 2, 3, 4y zi ≥ 0 para i = 1, 2, 3, 4, 5
−g (x1 , x2 , . . . , xn ) ≤ M y
f (x1 , x2 , . . . , xn ) ≤ M (1 − y )
Ejemplo 8
Hay que realizar cuatro trabajos en una misma máquina. En la tabla siguiente se
indica el tiempo requerido por trabajo y la fecha lı́mite para entregarlo. El retraso
de un trabajo es el número de dı́as, después de la fecha lı́mite, hasta la la
terminación del trabajo. Si se termina el trabajo a tiempo o antes el retraso es
cero. Formule y resuelva un modelo PLE para minimizar el retraso total de los
cuatro trabajos.
TIEMPO REQUERIDO
PARA TERMINAR (dı́as)(ti ) FECHA LÍMITE (di )
Trabajo 1 6 Final del dı́a 8
Trabajo 2 4 Final del dı́a 4
Trabajo 3 5 Final del dı́a 12
Trabajo 4 8 Final del dı́a 16
Variables de decisión
yi = dı́as de retraso en el trabajo i.
xi = el dı́a en el cual el trabajo i se inicia.
P4
Función Objetivo Minimizar Z = i=1 yi
Restricciones
Dos trabajos no se pueden empalmar: Para todo i 6= j:
xi + ti ≤ xj ó xj + tj ≤ xi → xi + ti − xj ≤ 0 ó xj + tj − xi ≤ 0
→ xi + ti − xj ≤ M zij y
xj + tj − xi ≤ M (1 − zij )
xi + ti − di − yi ≤ M wi y xi + ti − di ≤ M(1 − wi )
con wi binario.