Está en la página 1de 38

Programación

No Lineal
Programación Separable

Carrera : Ingeniería Industrial


Profesor: Mg Ing. Elmer Tupia de la Cruz
Contenido
1. Definición.
2. ¿Cómo se logra dicha aproximación?
2.1 Sustitución aproximada
2.2 Sustitución exacta
1. Definición

• La programación separable
permite aproximar ciertos MPNL
a Modelos de Programación
Lineal, obteniendo una solución
óptima aproximada.
• Sólo se aplica esta técnica cuando
en un MPNL las variables de
decisión aparecen en términos
separados tanto en la función
objetivo como en las restricciones.
Por ejemplo, este MPNL
Max Z =3x x − 2x 2 − x 2
1 2 1 2
s.a.:
x 2 + 2x 2  4
1 2
2x1 − x2  3
x x 2 + x 2x = 2
1 2 1 2
x1, x2  0

No es separable
Por ejemplo, este MPNL

Max Z = 30x + 35x − 2x 2 − 3x 2


1 2 1 2

s.a.:
x1 2 + 2x2 2  250
x1 + x2  20
x1, x2  0

SI es separable
2. ¿Cómo se logra dicha aproximación?
• Se logra mediante la sustitución de las
expresiones no lineales por funciones
lineales por tramos.

• La sustitución puede ser de dos tipos:


• Sustitución aproximada: La solución
óptima que el software arroja se
considera una aproximación a la
verdadera solución óptima.
• Sustitución exacta: La solución óptima
que el software arroja se considera
solución óptima global.
2.1 Sustitución aproximada
• Se reemplazan las expresiones no lineales por
funciones lineales por tramos de manera aproximada.
• A menor amplitud que posean los tramos, mayor
precisión; pero también el modelo resultante se hace
más grande.

• Ejemplo: Resolver el siguiente MPNL aplicando


programación separable
Max Z = 30x1 + 35x2 − 2x1 − 3x2
2 2

Sujeto a :
x1 2 + 2x22  250
x1 + x2  20
x1, x2  0
Solución
• Son dos las expresiones no lineales: x21 y x22

• Analizando la primera restricción, el máximo valor que podría tomar:


• x1: 2500.5 = 15.81  16
• x2: (250 / 2)0.5 = 11.18  12
• Ambos valores máximos satisfacen también la segunda restricción (no
exceden de 20)
• Luego, se efectúa la siguiente sustitución:

• X12 = F1
• X22 = F2
Se aproxima cada expresión no lineal a
funciones lineales por tramos:
• Arbitrariamente, se emplearán 4 tramos.
• Para cada tramo, se calculará la pendiente
F1 = x12
Aproximación de F1
De igual manera, para F2 = x22
F2 = x22
Aproximación de F2
Modelamiento de las funciones
lineales por tramos:
• Se asigna una variable auxiliar por cada tramo:
A1, A2, A3, A4 : Representan a cada tramo de la recta que contiene
a x1, en consecuencia:
x1 = A 1 + A 2 + A 3 + A 4
A1 ≤ 4, A2 ≤ 4, A3 ≤ 4, A4 ≤ 4
B1, B2, B3, B4 : Representan a cada tramo de la recta que contiene a
x2, en consecuencia:
x2 = B1 + B2 + B3 +B4
B1 ≤ 3, B2 ≤ 3, B3 ≤ 3, B4 ≤ 3
• Por ejemplo: Si x1 toma el valor de 9, entonces:

A1 = 4, A2 = 4, A3 = 1 y A4 = 0
F1 se expresa en función de las variables A1, A2,
A3, A4 y de las pendientes obtenidas en cada
tramo:
F1 = 4A1 + 12A2 + 20A3 + 28A4

F2 se expresa en función de las variables B1, B2,


B3, B4 y de las pendientes obtenidas en cada
tramo:
F2 = 3B1 + 9B2 + 15B3 + 21B4
Entonces el modelo cambia de la
siguiente manera:
Modelo Linealizado
Modelo No Lineal Original 𝑴𝒂𝒙 𝒁 = 𝟑𝟎𝒙𝟏 + 𝟑𝟓𝒙𝟐 − 𝟐𝑭𝟏 − 𝟑𝑭𝟐
𝑴𝒂𝒙 𝒁 = 𝟑𝟎𝒙𝟏 + 𝟑𝟓𝒙𝟐 − 𝟐𝒙𝟐𝟏− 𝟑𝒙𝟐 𝟐 𝑺𝒖𝒋𝒆𝒕𝒐 𝒂:
𝑺𝒖𝒋𝒆𝒕𝒐 𝒂: 𝑭𝟏 + 𝟐𝑭𝟐 ≤ 𝟐𝟓𝟎
𝒙𝟐𝟏 + 𝟐𝒙𝟐𝟐 ≤ 𝟐𝟓𝟎 𝒙𝟏 + 𝒙𝟐 ≤ 𝟐𝟎
𝒙𝟏 + 𝒙𝟐 ≤ 𝟐𝟎 𝑭𝟏 = 𝟒𝑨𝟏 + 𝟏𝟐𝑨𝟐 + 𝟐𝟎𝑨𝟑 + 𝟐𝟖𝑨𝟒
𝒙𝟏, 𝒙𝟐 ≥𝟎 𝑭𝟐 = 𝟑𝑩𝟏 + 𝟗𝑩𝟐 + 𝟏𝟓𝑩𝟑 + 𝟐𝟏𝑩𝟒
𝒙𝟏 = 𝑨𝟏 + 𝑨𝟐 + 𝑨𝟑 +𝑨𝟒
𝑨𝟏 ≤ 𝟒
𝑨𝟐 ≤ 𝟒
𝑨𝟑 ≤ 𝟒
𝑨𝟒 ≤ 𝟒
𝒙𝟐 = 𝑩𝟏 + 𝑩𝟐 + 𝑩𝟑 +𝑩𝟒
𝑩𝟏 ≤ 𝟑
𝑩𝟐 ≤ 𝟑
𝑩𝟑 ≤ 𝟑
𝑩𝟒 ≤ 𝟑
𝒙𝟏, 𝒙𝟐 ≥ 𝟎
Análisis de la solución óptima del
modelo no lineal original
• La solución óptima que
LINGO arroja del modelo
no lineal (originalmente
formulado) es:

Óptimo Local: 214.5833


Valores: x1 = 7.5 ; x2 = 5.8333

La región factible del modelo es


convexa y la función objetivo es
una función cóncava; por lo tanto
esta solución es también global
Análisis de la solución óptima del
modelo linealizado:
• La solución óptima que LINGO arroja
• del modelo “linealizado” es:
• Óptimo Global: 214
• Valores: x1 = 8 ; x2 = 6

• LINGO le da la categoría de Global


porque ha resuelto un modelo lineal
al fin y al cabo; pero en realidad es
una aproximación a la verdadera
solución debido a que las expresiones
no lineales han sido sustituidas de
manera aproximada a funciones
lineales por tramos
Ejercicio 1
Resuelva los siguientes problemas empleando la técnica
de la programación separable (por sustitución
aproximada):

Min Z = X12 + X22 + 5


Sujeto a:
3 X14 + X2 < 243
X1 + 2X22 > 32
X1, X2 > 0
MIN=X1^2+X2^2+5;
3*X1^4+X2<=243;
X1+2*X2^2>=32;

MIN=F1+F2+5;
3*F1^2+X2<=243;
X1+2*F2>=32;
F1=1*A1+3*A2+5*A3;
F2=1*B1+3*B2+5*B3+7*B4;
X1=A1+A2+A3;
A1<=1;
A2<=1;
A3<=1;
X2=B1+B2+B3+B4;
B1<=1;
B2<=1;
B3<=1;
B4<=1;
Ejercicio 2
Resuelva los siguientes problemas empleando la técnica
de la programación separable (por sustitución
aproximada):

Min Z = (X1 – 2)2 + 4(X2 – 6)2


Sujeto a:
6 X1 + 3(X2 + 1)2 < 12
X1, X2 > 0
MIN = (X1 - 2)^2 + 4*(X2 - 6)^2;
6*X1 + 3*(X2 + 1)^2 <= 12;

MIN = F1 - 4*X1 + 4*F2 - 48*X2 + 148;


6*X1 + 3*F2 + 6*X2 <= 9;

X1 = A1 + A2 + A3 + A4;
F1 = 0.5*A1 + 1.5*A2 + 2.5*A3 + 3.5*A4;
A1 <= 0.5;
A2 <= 0.5;
A3 <= 0.5;
A4 <= 0.5;
X2 = B1 + B2 + B3 + B4;
F2 = 0.25*B1 + 0.75*B2 + 1.25*B3 + 1.75*B4;
B1 <= 0.25;
B2 <= 0.25;
B3 <= 0.25;
B4 <= 0.25;
Ejercicio 3
Resuelva los siguientes problemas empleando la técnica
de la programación separable (por sustitución
aproximada):
Max Z = f(X1) + f(X2) + f(X3)
Sujeto a:
g1(X1,X2,X3) ≤ 250
g2(X1,X2,X3) ≤ 120 Donde:
f(X1)= 5X1 + X12
g3(X1,X2,X3) ≤ 320
f(X2)= X22 - 5X2
X1 , X2, X3 ≥ 0 f(X )= 17X - X 2
3 3 3
g1(X1,X2,X3)= 5X1 - 2X12 + 3X3
g2(X1,X2,X3)= 2X1 + 7X12 - X2 + 3X32
g3(X1,X2,X3)= 3X1 + 4X22 + X3 - 2X32
2.2 Sustitución exacta

• Puede darse el caso que todas las expresiones no


lineales puedan ser sustituidas de manera exacta
por funciones lineales por tramos.

En ciertos casos, se emplearán variables auxiliares binarias


para que el software calcule correctamente las expresiones
no lineales.

• En ese caso, la solución óptima que el software LINGO


arroje
es solución óptima global del problema.
Procedimiento general de solución:
1. Se determinan las variables de decisión.
2. Luego, se grafica cada función lineal por tramos. Para cada una de
ellas, se asigna:
• Al Eje de las Abscisas, una variable de decisión o una combinación
lineal de variables de decisión; y a cada tramo una variable auxiliar.
• Al Eje de las Ordenadas, una variable auxiliar.
3. Si una función lineal por tramos es continua, se debe determinar si es
necesario o no el uso de variables binarias para representarla
correctamente. Las funciones que son ni cóncavas ni convexas y las
discontinuas requieren variables binarias.
4. Se construyen las expresiones matemáticas separables que
representan a dichas funciones.
5. Se construye el modelo matemático de optimización,
incorporando las expresiones construidas en el paso anterior
Caso 1:
Una empresa produce dos tipos de productos: P1 y P2. la información
técnica económica se muestra en el siguiente cuadro.
Sabiendo que se dispone de 120 Horas Hombre (H-H) de mano de obra
en total, y que se va a vender todo lo que se produzca, se pide
determinar el mix de producción que maximice la utilidad total.

Producto Precio de Costo de venta Venta Requerimiento de


venta ($/t) ($/t) máxima (t) mano de obra (H-H/t)
P1 (*) 40 60 1
P2 120 (**) 50 2

(*) El precio de venta del producto P1 es: 100 $/t para las primeras 10 t, 98 $/t para las
siguientes 15 t y 96 $/t para las siguientes toneladas.
(**) El costo de venta del producto P2 es: 40 $/t para las primeras 10 t, 45 $/t para las
siguientes 10 t y 50 $/t para las siguientes toneladas.
Solución:
Variables de decisión:
X1, X2 : Cantidad (en t) a producir del producto P1 y P2,
respectivamente.
Gráfica de la función de ingreso
total de P1
• La función lineal por tramos es
continua, por lo tanto hay que
determinar si es necesario el uso
de variables binarias.
• En este caso, no es necesario el
uso de variables binarias porque
el mayor precio de venta lo tiene
el primer intervalo, el segundo
intervalo tiene el siguiente mayor
precio de venta y el tercer
intervalo tiene el menor precio
de venta.
• Es decir, los precios de venta
están en orden decreciente
Construyendo las expresiones separables
del ingreso total de P1

Ecuación del eje de las abscisas: X1 = A1 + A2 + A3


Ecuación del eje de las ordenadas: Ingreso = 100A1 + 98A2 + 96A3

A1 ≤ (10 – 0)
Amplitud máxima de cada A2 ≤ (25 – 10)
intervalo:
A3 ≤ 99999
Gráfica de la función de costo
total de P2
• La función lineal por tramos es
continua, por lo tanto hay que
determinar si es necesario el
uso de variables binarias.
• En este caso, tampoco es
necesario el uso de variables
binarias porque el menor costo
unitario lo tiene el primer
intervalo, el segundo intervalo
tiene el siguiente menor costo
unitario y el tercer intervalo tiene
el subsiguiente menor costo
unitario.
• Es decir, los costos unitarios
están en
orden creciente.
Construyendo las expresiones separables
del costo total de P2

Ecuación del eje de las abscisas: X2 = A4 + A5 + A6


Ecuación del eje de las ordenadas: Costo = 40A4 + 45A5 + 50A6

A4 ≤ (10 – 0)
Amplitud máxima de cada A5 ≤ (20 – 10)
intervalo:
A6 ≤ 99999
Construyendo el modelo de
optimización matemática:
Max Z = Ingreso + 120X2 – (40X1 + Costo)
Sujeto a:
X1 ≤ 60 X2 = A4 + A5 + A6
Amplitud máxima de cada intervalo:
Costo = 40A4 + 45A5 + 50A6
X2 ≤ 50
X1 + 2X2 ≤ 120 A4 ≤ (10 – 0)
Disponibilidad de mano de obra
X1 = A1 + A2 + A3 A5 ≤ (20 – 10)
Ingreso = 100A1 + 98A2 + 96A3 A6 ≤ 99999
A1 ≤ (10 – 0) X1, X2 ≥ 0
A2 ≤ (25 – 10)
A3 ≤ 99999
Modelo y Reporte de la Solución óptima en LINGO

Se debe producir 60t de P1 y 30t de P2,


la máxima utilidad será $5680
Caso 2:
Una empresa produce dos tipos de productos: P1 y P2. la
información técnica económica se muestra en el siguiente cuadro.
Sabiendo que se dispone de 120 Horas Hombre (H-H) de mano
de obra en total, y que se va a vender todo lo que se produzca,
se pide determinar el mix de producción que maximice la
utilidad total.

Producto Precio de Costo de Venta Requerimiento de


venta ($/t) venta ($/t) máxima (t) mano de obra (H-H/t)
P1 (*) 40 60 1
P2 120 (**) 50 2

(*) El precio de venta del producto P1 es: 100 $/t si se vende hasta 10 t, 98 $/t
si se venden más de 10t hasta 25t; y 96 $/t si se venden más de 25t.
(**) El costo de venta del producto P2 es: 50 $/t para las primeras 10 t, 45
$/t para las siguientes 10 t y 40 $/t para las siguientes toneladas.
Solución:
• Variables de decisión:
• X1, X2 : Cantidad (en t) a producir del producto P1 y P2,
respectivamente.
Gráfica de la función de ingreso
total de P1
• Por la manera como se describe
la función del ingreso total de P1,
la función lineal por tramos es
discontinua, por lo tanto es
necesario el uso de variables
binarias.
• De no hacerlo, sería igual que el
caso 1.
Construyendo las expresiones separables del
ingreso total de P1

X1 = A1 + A2 + A3 + 0W1 + 10W2 + 25W3


Ecuación del eje de las abscisas:
Ingreso = 100A1 + 98A2 + 96A3
Ecuación del eje de las ordenadas:
+ 0W1 + 980W2 + 2400W3
Sólo una variable binaria debe activarse: W1 + W2 + W3 = 1

A1 ≤ (10 – 0)W1
A2 ≤ (25 – 10) W2
Amplitud máxima de cada intervalo:
A3 ≤ 99999 W3

W1, W2, W3 es binaria.


Declaración de binarias:
Gráfica de la función de costo total de P2
• La función lineal por tramos es
continua, por lo tanto hay que
determinar si es necesario el uso
de variables binarias.
• En este caso, es necesario el uso
de variables binarias porque los
costos unitarios están en orden
decreciente.
• De no hacerlo, el modelo aplicará
el menor costo: 40 $/t a cualquier
valor que tome X2, lo cual no es
correcto.
Construyendo las expresiones separables
del costo total de P2

Ecuación del eje de las abscisas: X2 = A4 + A5 + A6 + 0W4 + 10W5 + 20W6


Ecuación del eje de las ordenadas: Costo = 50A4 + 45A5 + 40A6
+ 0W4 + 500W5 + 950W6
W4 + W5 + W6 = 1
Sólo una variable binaria debe activarse:
A4 ≤ (10 – 0)W4

Amplitud máxima de cada intervalo: A5 ≤ (20 – 10) W5


A6 ≤ 99999 W6

Declaración de binarias: W4, W5, W6 es binaria.


Construyendo el modelo de optimización:
Max Z = Ingreso + 120X2 – (40X1 + Costo)
Sujeto a:
X1 ≤ 60
X2 ≤ 50
X1 + 2X2 ≤ 120
X1 = A1 + A2 + A3 + 0W1 + 10W2 + 25W3
Ingreso = 100A1 + 98A2 + 96A3 + 0W1 + 980W2 + 2400W3
W1 + W2 + W3 = 1
A1 ≤ (10 – 0)W1
A2 ≤ (25 – 10)W2
A3 ≤ 99999W3

X2 = A4 + A5 + A6 + 0W4 + 10W5 + 20W6


Costo = 50A4 + 45A5 + 40A6 + 0W4 + 500W5 + 950W6
W4 + W5 + W6 = 1
A4 ≤ (10 – 0)W4
A5 ≤ (20 -10)W5
A6 ≤ 99999 W6
W1, W2, W3, W4, W5, W6 son binaria.
X1, X2 ≥ 0
Modelo y solución óptima en LINGO

Se debe producir 60t de P1 y 30t de P2,


la máxima utilidad será $5610
Ejercicio 1
La empresa OptiProd se dedica a la fabricación de 3 productos, A,
B y C. El gerente de producción de la empresa tiene la urgente
tarea de planificar la producción de la próxima semana. La
fabricación de tales productos requiere de un insumo común que
será disponible solo en 1500 unidades durante la próxima semana.
El requerimiento unitario de tal insumo es de 5, 6 y 4 unidades del
insumo para A, B y C respectivamente. El costo unitario de
fabricación es de $7, $9 y $5.5 respectivamente. El ingreso
unitario de A es $8.50. El ingreso unitario de B es de $11 para cada
una de las primeras 50 unidades, $12 para cada una de las
próximas 60 unidades y de $13.5 para cada una de las siguientes
unidades. En cambio el ingreso unitario de C es de $7. El gerente
también debe tomar en cuenta que por lo menos debe producir
40 unidades de cada producto. Los productos tienen tal demanda
que se asegura la venta de toda la producción. Formule el modelo
matemático que le permita maximizar las utilidades.
Respuesta: 760
Ejercicio 2
La empresa siderúrgica regional produce tres tipos de acero, A1, A2 y A3 en dos
plantas siderúrgicas P1 y P2. En cada planta el alto horno puede funcionar hasta
200 horas al mes. Debido a las diferencias entre los hornos el tiempo para
producir una tonelada de acero varía en cada planta y cada producto tal como
figura en la siguiente tabla (en minutos).

La ganancia neta que la empresa obtiene de cada tipo de acero depende de la


cantidad total que se produzca de ese producto. La ganancia neta unitaria del
acero A1 es de $27. La ganancia neta unitaria del acero A2 es de $24. La
ganancia neta unitaria del acero A3 es $24 si se producen a lo más 100
toneladas, aumenta a $27 si se producen más de 100 toneladas pero a lo más
180 toneladas y aumenta a $29 si producen más de 180 toneladas.
Por ejemplo, 200 toneladas de A3 generan una ganancia neta de 29*200. Se
estima que la demanda no excederá 400, 450 y 500 toneladas de los aceros A1,
A2 y A3 respectivamente. Formule el modelo matemático que le permita
maximizar las utilidades.

También podría gustarte