You are on page 1of 13

República Bolivariana De Venezuela

Universidad Nacional Experimental Politécnica


“Antonio José De Sucre”
Vicerrectorado Barquisimeto

Programación convexa y paramétrica

Agosto, 2018
Introducción

En la investigación de operaciones no se tiene una sola técnica general con la que se


resuelvan todos los modelos matemáticos que surgen en la práctica. En lugar de ello, la
clase y la complejidad del modelo matemático determina la naturaleza del método de
solución

La técnica más importante de investigación de operaciones es la programación lineal.


Se diseña para modelos con funciones objetivo y restricciones estrictamente lineales y la
programación no lineal, en la que las funciones del modelo son no lineales. Las técnicas
mencionadas no son más que una lista parcial de la gran cantidad de herramientas
disponibles en la investigación de operaciones.

Estas técnicas se aplican en una amplia variedad de casos, en los campos de agricultura,
industria, transporte, economía, salud, ciencias sociales y de la conducta, y militar. Sin
embargo, hasta la fecha los investigadores de la rama de programacion no lineal no han
desarrollado un método sistemático que sea práctico para su estudio.

Se presentarán a continuación de manera breve algunos tipos de enfoques que se utilizan


para resolver el problema general de Programación convexa (donde la función objetivo f
(x) que se debe maximizar es cóncava y las funciones de restricción gi(x) son convexas) y
Programación paramétrica que investiga el efecto de variaciones continuas predeterminadas
en los coeficientes de la función objetivo, y el lado derecho de las restricciones, sobre la
solución óptima.
Programación lineal

Un modelo de Programación Lineal (PL) considera que las variables de decisión


tienen un comportamiento lineal, tanto en la función objetivo como restricciones del
problema con la finalidad de optimizar la función. Los métodos más recurridos para
resolver problemas de programación lineal son algoritmos de pivote, en particular los
algoritmos simplex.

Programación no lineal

Programación no lineal (PNL) es el proceso de resolución de un sistema de


igualdades y desigualdades sujetas a un conjunto de restricciones sobre un conjunto de
variables reales desconocidas, con un función objetivo a maximizar (o minimizar), cuando
alguna de las restricciones o la función objetivo no son lineales.
Falta buscar como conectar esto

Programación convexa

Rama de la programación matemática que trabaja con la teoría y los métodos de


minimización defunciones convexas sobre conjuntos convexos definidas mediante sistemas de
igualdades y desigualdades.

Sea f: Rn → R , decimos que f es convexa si:

 Si el dominio f es un conjunto convexo.


 Si para toda X 1 , X 2 que pertenecen al dominio de f.
 Si para todo número real t entre 0 y 1, se satisface que
t X1
 + 1−t ) X 2 ¿ ≥ t . f ( X 1 ) + ( 1−t ) . f ( X 2)
f¿ ¿

Nota: una función f es cóncava si −f es convexa


n
Conjuntos convexos en R
Se dice que C es un conjunto convexo si para cuales quiera dos elementos que
pertenezcan a C, la línea que los une es también un subconjunto de C. O sea, C es convexo
si para todo X1 y X 2 en C y para cualquier número real t, 0 ≤ t ≤ 1, se satisface que:

t X 1 + ( 1−t ) X 2 ∈C
Características importantes
Una región es convexa si todos los puntos de una línea que conecta dos puntos de la región están en
dicho conjunto.

Geométricamente una función es convexa si:

( X1 , f ( X 1)) ( X2 , f ( X 2))

Esto significa que el segmento que une ( X1 , f ( X 1)) y ( X2 , f ( X 2)) , o sea, la cuerda
que va de X1 a X 2 , se encuentra sobre la grafica de f.

1a minimización de una función convexa sobre una región convexa tiene la siguiente propiedad:
Un mínimo local es también un mínimo global.
Algunos tipos de enfoques usados para resolver el problema general de programación convexa donde:

1a función objetivo: f(x) que se debe maximizar es cóncava y las funciones de restricción
gi( x) son convexas.

Algoritmos:
No existe un algoritmo estándar único que se pueda usar siempre para resolver problemas de
programación convexa.

Se han desarrollado muchos algoritmos diferentes cada uno con ventajas y desventajas y la
investigación continua activa en esta área.

Categorías:
1. Algoritmos de gradientes.
2. Algoritmos de programación.
3. Algoritmos secuenciales no restringidos.

La mayor parte de estos algoritmos cae dentro de las categorías.

Algoritmos de gradiente

Se modifica de alguna manera el procedimiento de búsqueda del gradiente de los problemas


no restringidos para evitar que la trayectoria de búsqueda penetre la frontera de restricción.

Por ejemplo:
Un método de gradiente popular es el método de gradiente reducido generalizado (GRG).
El Excel Solver emplea el método GRG para resolver problemas de programación convexa.

Algoritmos secuenciales no restringidos

Estos algoritmos incluyen:


1. Método de finalización.
2. Método de Barrera.

Estos algoritmos convierten el problema de optimización restringida original en una


sucesión de problemas optimización no restringida cuyas soluciones óptimas convergen a la
solución óptima del problema original.

1os problemas de optimización no restringida se puede resolver por medio del


procedimiento de búsqueda del gradiente.

Esta conversión se logra al incorporarlas restricciones a una función barrera que se resta de
la función objetivo con el fin de imponer un castigo grande a la violación de cualquier
restricción o aun al o de estar cerca de los límites.

Algoritmo de aproximación secuencial


Algunos métodos incluyen:
1. Método de aproximación lineal.
2. Método de 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.

Este trabajo se logra mediante otro análisis que conduce a una sucesión de
soluciones que convergen en una solución óptima para el problema original.

Aunque estos algoritmos son adecuados en especial para problemas de optimización


linealmente restringida, algunos se pueden extender a problemas con funciones de
restricción no lineales, si se usan las aproximaciones lineales adecuadas.

Algoritmo de Frank Wolfe:


Para el caso de programación convexa linealmente. Este procedimiento es bastante
directo, combina aproximaciones lineales de la función objetivo (que permiten usar
el método simplex) con el procedimiento para la optimización no restringida de una
variable.

Paso inicial: se encuentra una solución de prueba factible inicial X(0), por ejemplo
al aplicar los procedimientos de programación lineal para encontrar una solución
básica factible.
Se hace K=1
Iteración con K:
1. Para j=1,2,3,…,n, se evalúa

∂ f (x )
en x = x(k−1) y se iguala c j a este valor
∂x j

2. Se encuentra una solución óptima para el siguiente problema de programación


lineal

n
Maximizar g ( x ) =∑ c j x j
j=1

Sujeta a A x ≤ b y x≥0

3. Para la variable t (0 ≤t ≤ 1) , se establece


k)
h(t)= f(x) para x=x(k−1) +t ( x (LP −x (k−1 ))

De manera que h(t) proporciona el valor de f(x) sobre el segmento de recta entre x(k-1)
(donde t=0) y (donde t=1).

Se aplica algún procedimiento como el de búsqueda en una dimensión para maximizar h(t)
en 0 ≤t ≤1 y se establece x(k) igual a la x correspondiente.
Regla de detención: si x ( k−1) y x (k ) están lo suficientemente cerca, el proceso
se detiene y se usan x (k ) o una extrapolación o una extrapolación de
x (0 ) , x (1) , … , x ( k−1 ) , x (k ) como la estimación de una solución optima. De otra
manera se hace k=k+1 y se realiza otra iteración.

Programación lineal paramétrica

La programación lineal paramétrica es una extensión natural del procedimiento de


análisis posóptimo. Investiga los cambios en la solución de PL óptima, debido a cambios
continuos predeterminados en los parámetros del modelo, tales como la disponibilidad de
recursos o los cambios en los costos o ganancias marginales. Por ejemplo, en la industria
petrolera, donde la PL tiene gran número de aplicaciones, es común investigar cambios en
la solución de PL óptima que resulta de cambios en la disponibilidad y calidad del petróleo
crudo.
Las funciones predeterminadas que representan cambios en los coeficientes del modelo, no
tienen que ser lineales. La figura 5-1 ilustra funciones que pueden representar cambios en la
disponibilidad de los recursos. Tales vez la única ventaja de emplear funciones lineales es
que los cálculos resultan menos laboriosos. Cualquier función no lineal se puede aproximar
a su valor por medio de funciones segmentalmente lineales. No obstante, en esta sección
mostramos como puede utilizarse en forma directa la no linealidad y señalaremos las
posibles dificultades de cálculo.
De la misma manera que en el análisis de sensibilidad, consideraremos los siguientes tipos
de cambios:
1. Cambio en los coeficientes objetivo C.

2. Cambio en la disponibilidad de recursos b.

3. Cambios en los coeficientes de restricción P.

4. Cambios simultáneos en C, b y en P.
Supongamos que t es el parámetro con el que cambian los diferentes coeficientes. La idea
general de la programación paramétrica es calcular la solución óptima en t=0. Luego,
adoptando las condiciones de optimidad y factibilidad de los métodos simplex primal y
dual, encontrar el intervalo esta dado por (0, t 1 ). Esto significa que cualquier incremento

en t mas allá de t1 conducirá a una solución infactible y/o no óptima. Así, en t = t1


determinamos una nueva solución que permanecerá optima y factible entre t= t 1 y t=

2>¿ t 1
t2 , donde . El proceso se repite entonces en t = t 2 y se obtiene una nueva
t¿
solución. Finalmente, se alcanza un punto en la escala de t mas allá del cual la solución o
bien no cambia o no existe, aquí es donde termina el análisis paramétrico.
Determinación de los valores críticos t1 , t2 , … y sus soluciones asociadas. Se
consideraran por separado los diferentes cambios.

Cambios en C

Sea C(t) el vector objetivo parametrizado en función de t. Por simplicidad se considera t


≥ 0 . Supongamos que Bi representa la base óptima en el valor crítico ti .
Mostraremos ahora como se determina el siguiente valor critico t i +1 y su base optima.
Inicialmente comenzamos en t = t 0 =0 con B 0 como la base optima asociada.
Sea xB el vector básico óptimo en ti y definimos C B (t) como los coeficientes
asociados de C(t), como los cambios en C afectan solo la optimidad de la solución
corriente así, la solución:

−1
X B=Bi b
Permanece óptima para toda t ≥ t i para la que toda z j ( t ) −C j (t) permanece no
negativa (maximización). En forma matemática esto se expresa como:
C B ( t ) B−1
i P j −C j ( t ) ≥0 Para toda j
Estas desigualdades se satisfacen para el intervalo de t entre ti y t i +1 , donde t i +1
se determina como la t mayor, mas allá de la cual se viola por lo menos una de las
desigualdades. Obsérvese que en las desigualdades nada obliga a que C(t) varíe linealmente
con t. cualquier función es aceptable. La principal dificultad al utilizar funciones no lineales
es que la evaluación numérica de las desigualdades puede ser muy trabajosa. Puede
necesitarse incluso usar algún tipo de método numérico para determinar los resultados.

Cambios en b
Sea b(t) el vector parametrizado del segundo miembro dado en función de t.
Definimos Bi y X B como la base y el vector básico en el valor critico t i
Como los cambios en el vector b, solo afectan la factibilidad de la solución. Así, la solución
X B permanece factible siempre que se satisfaga la condición.
−1
B 1 b (t)≥0

Cambios en P j
Supondremos Pj es un vector no básico en la solución óptima en t= 0. Si fuera
básico, la situación no se presentaría fácilmente a un análisis paramétrico porque la
base B o se afectaría en forma directa. Sea P j (t) el vector parametrizado.
Los cambios en un vector no básico solo pueden afectar la optimidad de ese vector.
El vector Pj entrará en la solución solo cuando su z j−C j resulte negativo.
Así, una base corriente Bi permanece óptima en tanto que se satisfaga la
condición.
−1
z j ( t ) −C j ( t )=C B B i P j ( t )−C j ≥ 0
Esta desigualdad se pude usar para determinar el siguiente valor crítico t i +1
En t= t i +1 se puede obtener una base optima alternativa B i+1 mediante la
incorporación de Pj en la base. Para t≥ t i +1 , Pj debe ser el vector entrante.
En este punto no será posible seguir adelante con el análisis paramétrico, ya que
Pj estará en la base y volverá sumamente compleja la situación resultante. Por
esta razón se determina un valor crítico t i +1 dada la base B i en t= t i

Cambios simultáneos en C y b
Se combinan las parametrizaciones de C y b de manera que permita que ocurra
en forma simultánea. La idea es muy sencilla. Para una base optima dada Bi ,
revisamos por separado la optimidad y la factibilidad. Sean t’ y t’’ los valores
críticos próximos por optimidad y factibilidad, respectivamente. Se tienen casos:
1. Si t ´ <t ´ ´ , B i resultará primero no optima y la siguiente B i+1 , se

obtiene en t i +1=t ´ , utilizando el método simplex regular.


2. Si t ´ ´ <t ´ , B i resultará primera infactible y la siguiente base B i+1 se
obtiene en t i +1=t ´ ´, usando le método simplex dual.
3. Si t ´ =t ´ ´ , B i resultará no optima e infactible en t i +1=t ´=t´´, en esta
situación es necesario alternar el uso de los métodos simplex primal y dual.

Ejemplo cambio en C

Ejemplo
Maximizar z=( 3−6 t ) x 1+ (2−2 t ) x 2+(5+5 t) x3
Sujeto a
x 1+2 x 2+ x 3 ≤ 40
3 x1 +3 x 3 ≤ 60
x 1+ 4 x 2 ≤ 30
x1 , x2, x3 ≥ 0

El parámetro t se su pone no negativo.


De acuerdo con el problema, C(t)= (3−6 t , 2−2 t , 5+5 t)
Comenzamos en t = t 0=0 . Se da a continuación la tabla optima asociada donde las
holguras están representadas por x 4 , x 5 , x6

Solución óptima en t=t 0=0

Básica x1 x2 x3 x4 x5 x6 Solució
n
z 4 0 0 1 2 0 160
x2 −1 1 0 1 −1 0 5
4 2 4
x3 3 0 1 0 1 0 30
2 2
x6 2 0 0 -2 1 1 10

Entonces
° X B =x2 5
x3 = 30
x6 10

y
B−1
0 =¿ ½ -¼ 0
0 ½ 0
-2 1 1
Ahora determinamos el primer valor critico t= t i , los coeficientes objetivo
parametrizados de ° X B son

C B (t)= (2−2 t , 5+5 t ,0)

En consecuencia,

C B (t) B−1 0 = (1−t ,2+3 t ,0)


Los valores de z j ( t ) −C j para j=1, 4 y 5( x j no basica) están dados por
1 10
−1
C B (t) B 0 P j−c =( 1−t
j ( t ) , j=1,4,5
,2+3 t ,0 ¿
1 00( )
3 0 1 −(3−6 t , 0,0)

¿( 4+14 t , 1−t , 2+3 t )

Dado t ≥ 0, la solución ° XB ma, en tanto las condiciones permanece optima


4 +14 t ≥ 0, 1−t ≥ 0, 2+ 3 t ≥ 0 se satisfagan. La segunda desigualdad muestra que t
no debe exceder de 1. Esto significa que t 1 =1 es el valor critico siguiente y que
° X B permanece optima en el intervalo ( t o , t 1 ¿=( 0,1 ) .

Conclusión

La metodología presentada es solo un ejemplo de las diferentes aplicaciones que


pueden tener los conjuntos difusos, la lógica y los distintos tipos de programación que se
pueden conseguir dentro de la investigación de operaciones, para la ayuda de resolución de
problemas, es decir, para facilitar la toma de decisiones en los procesos de producción. Por
ello, es recomendable, llevar estas estas técnicas a la práctica y validarlas con los resultados
que se pueden obtener a través de métodos convencionales con el fin de establecer la forma
más apropiada de decidir en entornos inciertos.
Es apropiado destacar que la programación paramétrica puede llegar a constituirse
como una herramienta de planeación industrial. Si la lógica difusa no es la respuesta a todos
los problemas que surgen en los sistemas de producción, si constituye una herramienta
fácilmente entendible y manejable que puede ser usada en la mayoría de los programas de
optimación.
En síntesis, el uso de la teoría de los conjuntos difusos como una metodología para
el modelado y análisis de sistemas de decisión es de particular interés para investigadores
en ingeniería industrial, debido a la capacidad para permitir un análisis cualitativo y
cuantitativo de los problemas que implican vaguedad e imprecisión.