8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 1/15
UNIVERSIDAD DE ORIENTE
NÚCLEO MONAGASDEPARTAMENTO DE INGENIERÍA DE SISTEMAS
UNIDAD DE ESTUDIOS BÁSICOSMODELOS DE OPERACIONES I (071- 4633)
MATURIN/ MONAGAS/ VENEUELA
Programación Separable
PRO!ESORA"DEVIA# $UDIT%
REALIADO POR"
(A&'*+# N+,.'/CI) AL!ONO# ELIBET%/
ARISMENDI# MARÍA/ IBÁE# INEBA/ MAITA# LIANNI/ MARCANO# MIRIAM/
MARÍN# ROSANGEL/ ALBANS/
SECCI2N" 01
MATURÍN# ENERO DE 01
8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 2/15
La programación separable es un caso especial de programación convexa, en
donde el supuesto adicional es:
• Todas las funciones f ( x ) y gi( x ) son separables.
Una 589 :'&;.;' es una función en la que cada término incluye una sola
variable, por lo que la función se puede separar en una suma de funciones de
variables individuales. Por ejemplo, si f <! es una función separable, se puede
expresar como
f ( x )=∑ j=1
n
f j( x j)
donde cada f j ( x j ) incluye sólo los t"rminos con x j . #n la terminolog$a de
programación lineal los problemas de programación separable satisfacen los
supuestos de aditividad, pero violan el supuesto de proporcionalidad cuando
cualquiera de las funcionesf j
( x j
) son funciones no lineales.
Para ilustrar, se considera la siguiente función objetivo
f ( x1 , x2 )=126 x1−9 x1
2+182 x2−13 x2
2
%sta es una función separable porque puede ser expresada como
f ( x1 , x2 )=f 1 x1+ f 2 x2
&onde
f 1 x1=126 x1−9 x1
2
'
8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 3/15
f 2 x2=182 x2−13 x2
2
son cada una funciones de una sola variable x1 y x
2 , respectivamente.
#s importante distinguir estos problemas de otros de programación convexa, pues
cualquier problema de programación separable se puede aproximar muy de cerca
mediante uno de programación lineal y, entonces, se puede aplicar el eficiente
m"todo simplex.
#n la programación separable, se puede encontrar una aproximación tan cercana
como se quiera con un problema de programación lineal que tiene un n(mero
mayor de variables.
La programación separable supone que la función objetivo f ( x) es cóncava,
todas las restricciones gi( x) son convexas y todas estas funciones son
funciones separables lo que significa que cada t"rmino incluye una sola variable!.
)in embargo, para simplificar la presentación, nos centraremos en el caso especial
en el que las funciones gi( x) convexas y separables, en realidad son funciones
lineales como las de programación lineal.
#n consecuencia, sólo la función objetivo requerir* un tratamiento especial.
La función objetivo se puede expresar como una suma de funciones cóncavas de
variables individuales,
f ( x )=∑ j=1
nf j( x j)
8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 4/15
de manera que cada f j ( x j ) tiene una forma como la que se muestra en la figura
+, en el rango de valores factibles de x j .
omo f <! representa la medida de desempe-o por ejemplo, ganancia! de todas
las actividades juntas, f j x j ! representa la contribución a la ganancia por parte de la
actividad j cuando se realia al nivel x j .
8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 5/15
/igura +. /orma de urvas de 0anancia para Programación )eparable
8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 6/15
8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 7/15
La condición de que f <! sea separable sólo implica aditividad1 esto es, no existe
interacción entre las actividades 2no existen t"rminos de productos cruados2
que afecten la ganancia total m*s all* de sus contribuciones independientes.
#l supuesto de que cada f j x j ! es cóncava indica que la ganancia marginal 2
pendiente de la curva de ganancia2, se mantiene igual o decrece nunca
aumenta! a medida que x j crece.
Las curvas cóncavas de la ganancia se presentan con muc3a frecuencia. Por
ejemplo, pueden ser posible vender una cantidad limitada de alg(n producto a un
cierto precio y despu"s una cantidad adicional a un precio menor, y tal ve, otra
cantidad adicional a un precio todav$a menor. &e igual manera, puede ser necesario comprar materias primas a fuentes cada ve m*s costosas. 4tra
situación com(n es aquella en la que debe emplearse un proceso de producción
m*s caro 2como el uso de tiempo extra2, para aumentar la tasa de producción
sobre cierta cantidad.
#ste tipo de situaciones puede conducir a cualquiera de las curvas de ganancia
que se muestran en la figura +. #n el caso +, la pendiente decrece por intervalos,
de manera que f j x j ! es una función lineal por partes una sucesión de segmentos
de recta conectados!. #n el caso 5, la pendiente puede decrecer en forma
continua al aumentar x , de manera que f j x j ! es una función cóncava general.
ualquier función de este tipo se puede aproximar tanto como se quiera por una
función lineal por partes y este tipo de aproximación se usa, seg(n sea necesario,
para problemas de programación separable. #n la figura + se muestra una
función de aproximación que consiste en sólo tres segmentos de recta, pero la
aproximación se puede mejorar si se introducen m*s intervalos.! #sta
aproximación es muy conveniente, puesto que una función lineal por partes de una
sola variable se puede escribir como una función lineal de m(ltiples variables, con
la restricción especial sobre estas variables que se describe a continuación.
8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 8/15
R'5+.,;89 8+,+ &.+',; *' &.+=.;,;89 ';
La clave para dar a una función lineal por partes la forma de una función lineal es
usar variables separadas para cada segmento de recta. omo ilustración,
considere la función lineal por partes f j (x j ) que se muestra en la figura +, caso + 2
o la aproximación por la función lineal por partes del caso 52, que tiene tres
segmentos de recta en el intervalo de valores factibles de x j . )e introducen las tres
nuevas variables, x j1, x j2 y x j3, y se establece
X j 6 x j1 7 x j2 7 x j3,
donde
0≤ x j1 ≤u j1, 0≤ x j2≤ u j2 , 0≤ x j3 ≤ u j3.
&espu"s se usan las pendientes, s j1, s j2 y s j3 para volver a escribir f j x j ! como
f j x j ! 6 s j +x j+ 7 s j 5x j5 7 s j 8x j8
on la .':>.889 ':&'8;
X j2 6 9 siempre que x j+ u j1,
X j3 6 9 siempre que x j2 u j2 .
Para entender por qu" se requiere esta restricción especial, suponga que ; j6+,
donde u jk > 1 k 6 +, 5, 8!, de manera que f j +! 6 s j1. 4bserve que
x j1 7 x j2 7 x j3 6 +permite
x j+ 6 +, x j2 6 9, x j3 6 9 ⇒ f j +! 6 s j1,
x j+ 6 9, x j2 6 +, x j3 6 9 ⇒ f j +! 6 s j2 ,
x j+ 6 9, x j2 6 9, x j3 6 + ⇒ f j +! 6 s j3.
y as$ sucesivamente, donde
s j1 < s j2 < s j3.
)in embargo, la restricción especial sólo permite la primera posibilidad, que es la(nica que da el valor correcto de f j +!.
&esafortunadamente, la restricción especial no se ajusta al formato que requieren
las restricciones de programación lineal, por lo cual algunas funciones lineales por
partes no se pueden reescribir en el formato de programación lineal. )in embargo,
se supone que nuestra f j x j ! es cóncava, por lo que s j1 < s j2 <. . ., por lo cual un
8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 9/15
algoritmo para maximiar f <! de manera automtica asigna la prioridad m*s alta
al uso de x j1 cuando en realidad! aumenta el valor de x j desde cero, la siguiente
prioridad al uso de x j2 , etc., sin incluir siquiera la restricción especial expl$cita en el
modelo. #sta observación conduce a la siguiente propiedad esencial.
P.+&'*;* ':'8; *' &.+=.;,;89 :'&;.;' uando f <! y g i <! satisfacen
los supuestos de programación separable y las funciones lineales por partes que
resultan se ponen en la forma de funciones lineales, al eliminar la restricción
especial se obtiene un modelo de programación lineal cuya solución óptima
satisface de manera autom*tica la restricción especial.
Para escribir el modelo completo de programación lineal con la notación anterior,sea n j el n(mero de segmentos de recta en f j x j ! o en la función lineal por partes
que la aproxima!, de manera que
x j=∑k =1
n j
x jk
se sustituir* en todo el modelo original y
x
f j(¿¿ j)=∑k =1
n j
s jk x jk
¿
se sustituir* en la función objetivo para j 6 +, 5,..., n. #l modelo que se obtiene es
Maximizar Z =∑ j=1
n
(∑k =1
n j
s jk x jk ) ,
sujeta a
∑ j=1
n
a ij(∑k =1
n j
x jk )≤b i , parai=1,2,… , m
x jk ≤ u jk , para k =1,2,… , n j ; j=1,2,… , n .
y
8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 10/15
x jk ≥0, para k =1,2,… ,n j ; j=1,2,… , n .
Las restricciones ∑k =1
n j
x jk ≥0 se eliminan, puesto que est*n garantiadas por las
restricciones x jk ≥0 !. )i algunas variables originales x j no tuvieran cota superior,
entonces u j n j=∞ , por lo que se debe eliminar la restricción que incluye esta
cantidad.
Una manera eficiente de resolver este modelo es usar la versión simplificada del
m"todo s$mplex para manejar restricciones de cota superior. &espu"s de obtener
una solución óptima para este modelo, se calcula
x j=∑k =1
n j
x jk ,
para j 6+, 5, . . ., n, con el fin de identificar una solución óptima para el problema
original de programación separable o su aproximación lineal por partes!.
E?',&+ La =yndor 0lass o. recibió un pedido especial de art$culos procesados
a mano que se debe elaborar en las plantas + y 5 durante los próximos cuatromeses. Para cumplir con este pedido ser* necesario asignar algunos empleados
de las brigadas de trabajo de los productos normales, por lo que el resto del
personal tendr* que trabajar 3oras extra para utiliar toda la capacidad de
producción de la maquinaria y equipo de la planta para elaborar estos productos.
#n particular, a fin de fabricar los dos nuevos productos normales, el tiempo extra
tendr* que utiliar el (ltimo 5>? de la capacidad disponible en la planta + para el
producto + y el (ltimo >9? de la capacidad disponible en la planta 5 para elproducto 5. #l costo adicional del tiempo extra reducir* la ganancia de cada
unidad del producto + de 8 a 5 dólares y del producto 5, de > dólares a + dólar, de
lo que resultar*n las curvas de ganancia de la fi gura 5, las cuales se ajustan a la
forma del caso + de la figura +.
8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 11/15
La administración 3a decidido usar tiempo extra en lugar de contratar m*s
trabajadores durante esta situación temporal. )in embargo, insiste en que se
aprovec3en por completo las brigadas de trabajo de cada producto en tiempo
normal antes de usar cualquier tiempo extra. @(n m*s, piensa que temporalmente
se deben cambiar las tasas de producción actuales x + 6 5 para el producto +
y x 5 6 A para el producto 5!, si esta medida mejora el rendimiento total. Por todo
ello, 3a girado instrucciones al equipo de B4 para revisar los productos + y 5 y
determinar la nueva mecla de productos m*s redituable durante los próximos
cuatro meses.
/igura 5. &atos de ganancia durante los próximos C meses de la =yndor 0lass
o.
!+.,;89 #l modelo de programación lineal del problema original
de la =yndor 0lass o., es:
Maximizar Z =3 x1+5 x
2
8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 12/15
sujeta a
x1
≤4
2 x2
≤12
3 x1+2 x2≤18 y
x1
≥0 ; x2
≥0.
@3ora se debe modificar este modelo para que se ajuste a la nueva situación que
se acaba de describir. Para esto, sea x 1 6 x +D 7 x +4 la tasa de elaboración del
producto +, en donde x +D es la tasa de producción alcanada con tiempos
normales de trabajo y x +4 es la tasa de producción incremental al usar tiempo
extra. &efina x 2 6 x 5D 7 x 54 de la misma manera para el producto 5. Por tanto, enla notación general del modelo de programación lineal para programación
separable que se presentó antes del ejemplo, n 6 5, n+ 6 5 y n5 > 5. @l sustituir los
datos de la figura 5 2incluso las tasas m*ximas de producción en tiempo normal y
tiempo extra2 en este modelo general se obtiene el modelo espec$fico para esta
aplicación. #n particular, el nuevo problema de programación lineal trata de
determinar los valores de x 1! " x 1#" x 2! $ x 2# para
Maximizar Z =3 x1 R+2 x
1O+5 x2 R+ x
2o ,
sujeta a
x1 R+ x
1O ≤4
2( x2 R+ x2O)≤12
3 ( x1 R+ x1O )+2( x2 R+ x
2O)≤18
x1 R ≤3 , x
1O ≤1 , x2 R ≤3 , x
2O ≤3
y x
1 R ≥0 , x1O ≥0 , x
2 R ≥0 , x2O ≥0.
8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 13/15
4bserve que las restricciones de cota superior del pen(ltimo renglón del modelo
convierten a las primeras dos restricciones funcionales en redundantes, de
manera que estas dos ecuaciones se pueden eliminar.!
)in embargo, existe un factor importante que no se toma en cuenta en forma
expl$cita en esta formulación. #n particular, no existe nada en el modelo que
requiera que se utilice todo el tiempo normal disponible, antes de emplear
cualquier tiempo extra para elaborar ese producto. #n otras palabras, puede ser
factible tener x +4 < 9 aun cuando x +D 8 y tener x 54 < 9 aun cuando x 5D 8.
Tal solución ser$a inaceptable para la administración. La pro3ibición de esta
solución conduce a la restricción especial de la que se 3abló antes.!
omo consecuencia, se llega a la propiedad esencial de programación separable.
@un cuando este modelo no toma en cuenta este factor de manera expl$cita, Elo3ace en forma impl$citaF @unque el modelo tenga un exceso de soluciones
GfactiblesH que en realidad son inaceptables, garanti%a que cualquier solución
óptima ser* leg$tima, es decir, que no sustituir* tiempo de trabajo normal
disponible por 3oras extra.
#n efecto, se puede aplicar con seguridad el m"todo s$mplex a este modelo para
encontrar la mecla de productos m*s redituable. La raón es doble.
Primero, las dos variables de decisión para cada producto siempre aparecen
juntas como una suma, x +D 7 x +4 o x 5D 7 x 54, en cada restricción funcional distinta
de las restricciones de cota superior sobre las variables individuales. Por tanto,
siempre es posible convertir una solución factible no aceptable en una aceptable
que tenga las mismas tasas de producción totales, x + 6 x +D 7 x +4 y x 5 6 x 5D 7 x 54,
con sólo reemplaar la producción en tiempo extra por la m*xima producción
normal.
)egundo, la producción en tiempo extra es menos redituable que la normal 2es
decir, la pendiente de cada curva de ganancia de la figura 5 es una función
monótona decreciente de la tasa de producción2, de modo que al convertir una
solución factible no aceptable en una aceptable debe incrementarse la tasa total
8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 14/15
de la ganancia & . #n consecuencia, cualquier solución factible que usa tiempo
extra de producción para un producto, cuando todav$a se dispone de tiempo
normal, no puede ser óptima respecto del modelo.
Por ejemplo, considere la solución factible inaceptable x +D 6 +, x +4 6 +, x 5D 6 +, x 54
6 8, que proporciona una ganancia total & 6 +8. La forma aceptable de lograr las
mismas tasas de producción x + 6 5 y x 5 6 C es x +D 6 5, x +4 6 9, x 5D 6 8, x 54 6 +. #sta
(ltima solución tambi"n es factible pero 3ace que el valor de & aumente en 8 I 5!
+! 7 > I +!5! 6 J 3asta una tasa total de ganancia & 6 55.
&e manera similar, la solución óptima para este modelo resulta ser x +D 6 8, x +4 6 +,
x 5D 6 8, x 54 6 9, que es una solución factible aceptable.
E<>':+':
Kasta a3ora, nos 3emos centrado en el caso especial de programación separable,
en el que la (nica función no lineal es la función objetivo f <!. @3ora considere en
forma breve el caso general en el que las funciones de restricción g i <! no tienen
que ser lineales, pero son convexas y separables, de manera que cada g i <! se
puede expresar como una suma de funciones de variables individuales
gi ( x )=∑ j=1
n
g ij ( x j ) ,
donde cada gij ( x j ) es una función convexa. Una ve m*s, cada una de estas
funciones se puede aproximar tanto como se quiera por una función lineal por
partes si no est* ya en esa forma!. La nueva restricción es que para cada variable
x j j 6 +, 5, . . ., n!, todas las aproximaciones lineales por partes de las funciones de
esa variable f j x j !, g + j x j !, . . ., g m j x j !M deben tener los mismos l$mites de intervalos,para poder usar las mismas variables nuevas x j +, x j 5, . . ., x jnj ! para todas las
funciones lineales por partes. #sta formulación conduce a un modelo de
programación lineal igual al que se obtiene para el caso especial, excepto que
para cada i y j , las variables x jk tienen coeficientes distintos en la restricción i
8/9/2019 F. HILLIER. Programacion Separable
http://slidepdf.com/reader/full/f-hillier-programacion-separable 15/15
donde estos coeficientes son las pendientes correspondientes de la función lineal
por partes que aproxima a g ij x j !M. omo g ij x j ! tiene que ser convexa, en principio la
misma lógica implica que debe cumplirse la propiedad esencial de programación
separable.
Una desventaja de la aproximación de funciones por medio de funciones lineales
por partes es que sólo se logra una buena aproximación con un n(mero muy
grande
de segmentos de recta variables!, mientras que una malla fina de intervalos nada
m*s se necesita en la vecindad inmediata de la solución óptima. )e 3an
desarrollado enfoques m*s elaborados, que usan una sucesión de funciones
lineales por partes de dos segmentos, para obtener aproximaciones cada ve% ms
cercanas en esta vecindad inmediata. #ste tipo de enfoques tiende a ser m*sr*pido y m*s exacto cuando se desea aproximar una solución óptima.