Este documento describe varios métodos de programación lineal y no lineal, incluyendo: algoritmos no lineales restringidos, programación separable, programación cuadrática, programación geométrica, programación estocástica y programación dinámica. Explica conceptos clave de cada método y cómo se pueden aplicar para resolver diferentes tipos de problemas de optimización.
1. REPÚBLICA BOLIVARIANA DE VENEZUELA
INSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO”
AMPLIACIÓN MARACAIBO
Métodos de la
programación lineal
Autores: Rogerbel Briceño
Alejandro Perozo
Maracaibo, Julio 2015
2. Desarrollo
Algoritmo no lineal restringido:
Según Handy Thaja (2004); un problema de programación lineal se define
como lo siguiente:
Maximizar (o minimizar) z = f(x)
Sujeto a g(x)=0
Donde las condiciones X≥0 de no negatividad forman parte de las restricciones.
Tambien al menos una de las funciones f(x) y g(x) es no lineal y todas las
funciones son continuamente diferenciales.
El autor también explica que no existe algoritmo general para manejar modelos
no lineales, por el comportamiento errático de las funciones no lineal. Que
generalmente el resultado más aplicable a problemas de este tipo es el de las
condiciones de Kuhn Tucker. Donde al menos que f(x) y g(x) tengan un buen
comportamiento (condición de convexidad y concacidad) las condiciones solo son
necesarias para alcanzar la optimalidad.
Método de programación separable
Para Gabrianna (2012) una función f(x1, x2,…,xn) es separable si se puede
expresar como la suma de N funciones de cada variable f1 (x1), f2 (x2), …, fn (xn),
es decir f(x1, x2,…,xn)- f1(x1)+f2(x2)+…+fn(xn). Un caso especial de
programación separable ocurre cuando las funciones gi (x1) son convexas,
resultando así un espacio converso de solución, además la función f1 (x1) es
conversa en caso de minimización y cóncava en caso de maximización.
No existe un algoritmo único para solucionas problemas de este tipo,
pudiéndose clasificar en:
3. 1 algoritmo de gradiente
2 algoritmos de secuencia no restringida
3 algoritmos de aproximación (lineal y cuadrática)
Método de programación cuadrática
Según Gabrianna (2012) la importancia de la programación cuadrática recae en
que como es un modo de programación no lineal se utiliza como una función
modelo para aproximar funciones no lineales a través de modelos no locales.
La programación cuadrática trabajar con una clase especial de problemas en el
que la función cuadrática de variables de decisión sujeta a restricciones lineales
de desigualdad que requieren ser optimizadas, por lo que una función cuadrática
en notación matricial, es una función de la forma f(x)= ½-xtGx+CtX
Existen diferentes problemas de programación cuadrática los cuales pueden
clasificarse en:
1 Problemas cuadráticos de minimización sin restricciones, que requiere minimizar
la función cuadrática (fx).
2 Problemas cuadráticos de minimización sujetos a restricciones de igualdad,
requiere minimizar la función objetivo f(x) sujeto a restricciones lineales de
igualdad Ax=b
3 Problemas cuadráticos de minimización sujetos a restricciones lineales de
desigualdad. Requiere minimizar las funciones objetivo (fx) sujeta a restricciones
lineales de desigualdad.
4 Problemas de optimización de redes cuadráticas
5 Problemas cuadráticos convexos y no convexos
4. 6 Problemas de complementariedad lineal, que son problemas con sistemas de
ecuaciones en variables no negativas, donde las variables estén formadas por
partes complementarias.
Método de programación geométrica
Para Thaja (2004) la programación geométrica tiene que ver con problemas en
los que las funciones objetivo y restricciones son del siguiente tipo:
En donde:
Se supone que toda cj > 0 y que N es finita. Los exponentes aij tienen signo no
restringido. La función f (X) toma la forma de un polinomio, excepto que los
exponentes aij pueden ser negativos. Por esta razón, y como toda cj > 0, f (X) se
llama posinomio además es importante acotar que la lógica de la programación
geométrica se basa en las desigualdades de cauchy.
Método de programación estocástica:
Para Salort (2004) la programación estocástica trata con situaciones donde
algunos o todos los parámetros del problema se describen mediante variables
5. aleatorias. La idea de la programación estocástica es convertir la naturaleza
probabilística del problema en una situación determinística equivalente, también
se puede decir que la programación estocástica trata situaciones en los que
algunos parámetros son variables aleatorias o imprecisas.
A su vez Thaja (2004) La programación estocástica maneja situaciones en las
que los parámetros de las restricciones son variables aleatorias y las restricciones
se llevan a cabo por probabilidad mínima. Matemáticamente el problema se
expresa como:
Sujeta a:
Programación dinámica:
La programación dinámica encuentra la solución óptima de un problema con n
variable descomponiéndolo en n etapas, siendo cada etapa un subproblema de
una sola variable. Sin embargo, como la naturaleza de la etapa difiere de acuerdo
con el problema de optimización, la programación dinámica no proporciona los
detalles de cómputo para optimizar cada etapa.