Programación No Lineal Fraccional (PNLF)
Programación No Lineal Fraccional (PNLF)
Octubre 2020
1
1. Algoritmo de Charmes & Cooper
1.1. Explicación:
Es un algoritmo de resolución de problemas no lineales fraccionales; su estrategia consiste en transformar
el problema original (Maximización o Minimización):
c n x n +c n−1 x n−1 +···+c 0
Máx - Mín z = c n x n +d n−1 x n−1 +···+d 0
Sujeto a restricciones lineales y convexas, con las Cuales se construirá la matriz de coeficientes de restriccio-
nes:
a 11 . . . a 1n
.. .. ..
. . .
ajn ... ajn
Y el vector de términos constantes:
B = (b 1 , b 2 , . . . , b j )T
En problema de programación lineal, para ello se vale de una serie de sustituciones para trabajar el problema
en términos de variable lineales. Las sustituciones son de la forma:
xn
yn =
d x + d x−1 + · · · + d 0
1
t=
d x + d x−1 + · · · + d 0
yn
x=
t
Siendo n el mayor índice de variable en el numerador de la F.O, x el mayor índice de variable en el denomina-
dor de la función objetivo. Este procedimiento nos da a entender que será necesario a lo más n sustituciones.
Donde el denominador de y n y t , corresponde al denominador de la función objetivo.
Es decir:
d y n + d y n−1 + · · · + d 0 t = 1
y, t ≥ 0
Solo restaría resolver el problema por métodos de programación lineal, y llevarla a la solución del proble-
ma original.
1.2. Ejemplo:
20x 1 +30x 2 +200
Máximizar z = 1 1 s.a
20 x 1 + 30 x 2 +10
4x 1 + 10x 2 ≤ 150
x 1 ≤ 20, x 2 ≤ 15
x1 , x2 ≥ 0
Separando términos en la F.O, y sustituyendo en términos de y n y t se obtiene:
2
Maximizar z = 20y 1 + 30y 2 + 200t
y1, y2, t ≥ 0
Escribiendo las restricciones, en términos de la nueva función objetivo.
4 10 µ ¶ 150
1 y 1
0 − 20 t = 0
y1
0 1 15
y1, y2, t ≥ 0
El modelo resultante de los pasos anteriores es:
4y 1 + 10y 2 − 150t ≤ 0
y 1 − 20t ≤ 0
y 2 − 15t ≤ 0
y1, y2, t ≥ 0
Agregando la restricción de holgura (obtenida del denominador de la función objetivo original). Se tiene fi-
nalmente el modelo linealizado:
4y 1 + 10y 2 − 150t ≤ 0
y 1 − 20t ≤ 0
y 2 − 15t ≤ 0
1 1
y1 + y 2 + 10t = 1
20 30
y1, y2, t ≥ 0
El modelo estandarizado resultante es:
4y 1 + 10y 2 − 150t + S 1 ≤ 0
y 1 − 20t + S 2 ≤ 0
y 2 − 15t + S 3 ≤ 0
1 1
y1 + y 2 + 10t + R 1 = 1
20 30
y 1 , y 2 , t , S 1 , S 2 , S 3 , R1 ≥ 0
Este problema representa un programa de programación lineal, por lo que puede ser resuelto por ¡ el método
simplex, en este caso, el método de la gran M. Esto da los siguientes valores solución: z = 72,1068 24300
¢
337 , y1 =
¡ 600 ¢ ¡ 210 ¢ ¡ 30 ¢
1,7804 337 , y 2 = 0, 6231 337 , t = 0,0890 337 .
Por lo tanto la solución al problema es:z = 72,1068 24300
¡ ¢
337 , x 1 = 20, x 2 = 7.
3
2. Referencias
Guía de clase. “Solución a distintos tipos de problemas de PNL”. Universidad Distrital Francisco José de
Caldas - Ing. Sistemas. Curso: Investigación de operaciones II. Lilian Astrid Bejarano.