Está en la página 1de 3

Programación separable

La programación separable es un caso especial de programación convexa, en


donde la suposición adicional es: “todas las funciones f(x) y g(x) son funciones
separables”.

Una función f (X 1 , X 2 ,… , X n) es separable si se puede expresar como la suma de n

funciones de una sola variable f 1 ( X 1 ) , f 2 ( X 2 ) , … , f n ( X n),es decir:

f ( X 1 , X 1 , … , X n ) =f 1 ( X 1 ) + f 2 ( X 2 ) +…+ f n ( X n)

Cabe destacar que toda función lineal es separable.

Por ejemplo:

f ( X 1 , X 2) =126 X 1− ( 9 X 1 )2 +182 X 2−( 13 X 2 )2

Es una función separable ya que puede ser expresada como:

f ( X 1 , X 2) =f 1 ( X 1 )+ f 2 ( X 2 )

2 2
Donde f ( X 1 )=126 X 1−( 9 X 1 ) y f ( X 2 )=182 X 2− ( 13 X 2 )

Es 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.

Algoritmos de resolución
No existe un algoritmo único para solucionar problemas de programación convexa;
en general los algoritmos conocidos se pueden clasificar así:

1. Algoritmos de gradiente en estos casos se modifica de alguna manera el


procedimiento de búsqueda del gradiente para evitar que la trayectoria de
búsqueda penetre la frontera de restricción.
2. Algoritmos secuenciales no restringidos incluye los métodos de función
de penalización y de función barrera; estos algoritmos convierten el
problema de optimización restringida original en una sucesión de problemas
de optimización no restringida, cuyas soluciones óptimas convergen a la
solución óptima del problema original.
3. Algoritmos de Aproximación Secuencial incluye métodos de
aproximación lineal y aproximación cuadrática; estos algoritmos sustituyen
la función objetivo no lineal por una sucesión de aproximaciones lineales o
cuadráticas. Para problemas de optimización linealmente restringidos, estas
aproximaciones permiten la aplicación repetida de los algoritmos de
programación lineal o cuadrática.

Método del gradiente

Consta de 2 pasos principales:

Primero: El cálculo de una dirección de descenso que esta dado por el negativo


del gradiente de la función objetivo evaluado en el punto de partida o en el de la k-
ésima iteración.

Segundo: Obtener la magnitud del paso α (alfa) que determina cuánto se avanza


en una determinada dirección de descenso. Esto se logra generando una función
unidimensional en términos de este parámetro (respecto a la función objetivo
original).
Es importante observar lo siguiente: El punto de partida para comenzar las
iteraciones es arbitrario y al ser evaluado en la función objetivo se alcanza un
valor de V(8,7)= (-149)

Si evaluamos la coordenada que se alcanza al realizar una iteración del método la


función objetivo obtiene el siguiente valor V(12,5)= (-169) que como se puede
apreciar reduce el valor de la función objetivo.

En el ejemplo la dirección de descenso desde la coordenada


original x°=(8,7) esta dada en la dirección del vector d°=(8,-4). Por otro lado, la
magnitud de paso es α=1/2

También podría gustarte