Documentos de Académico
Documentos de Profesional
Documentos de Cultura
17071567
Investigación de Operaciones
Programación no Lineal
8:00 – 9:00 am
Índice
1
Un vector x que satisface todas las restricciones es llamado una solución factible
al problema.
La colección de todas las posibles soluciones forma la región factible. El
problema de programación no lineal es encontrar un punto factible x tal que f(x)
>f(X)
para cada punto factible a*. Un punto tal x es llamado una solución óptima o
simplemente
una solución al problema. Si existe más de un punto óptimo, estos son referidos
como soluciones alternativas óptimas.
Asimismo, un problema de programación no lineal puede expresarse como un
problema de maximización y las restricciones de desigualdad pueden estar
escritas en la forma g/x) >0 para i = 1.2,...,m. En el caso especial cuando la
función objetivo es lineal y cuando todas las restricciones, incluyendo al conjunto.
puede ser representado por desigualdades lineales y/o ecuaciones lineales, el
problema anterior es llamado un problema lineal.
Lo anterior indica que la programación lineal es un caso particular de la
programación no lineal. Por tal motivo, los problemas no lineales son mucho mas
difíciles de resolver que los de programación lineal. Haciendo un análisis de las
características de los problemas lineales y no lineales tenemos la siguiente
comparación entre ambos problemas.
Por otra parte, existen algunas condiciones o postulados que se cumplen para los
dos modelos, los de programación lineal y los de programación no lineal:
1. Al aumentar (disminuir) el lado derecho de una restricción ≤ o ≤ se relaja la
restricción. Esta no puede contraer y si puede expandir al conjunto factible.
3. Una restricción no puede perjudicar, sino quizá ayudar, al valor óptimo de la función
objetivo.
4. Una una restricción no puede perjudicar, sino quizá ayudar, al valor óptimo de la
función objetivo.
2
Función objetivo
Restricciones
La función objetivo está sujeta a una serie de restricciones, expresadas
por inecuaciones lineales:
a1x+b1y≤c1
a2x+b2y≤c2
………
anx+bny≤cn
Solución factible
El conjunto intersección, de todos los semiplanos formados por las restricciones,
determina un recinto, acotado o no, que recibe el nombre de región de validez o
zona de soluciones factibles.
Solución óptima
El valor que toma la función objetivo en el vértice de solución óptima se
llama valor del programa lineal.
1. Elegir las incógnitas.
2. Escribir la función objetivo en función de los datos del problema.
3. Escribir las restricciones en forma de sistema de inecuaciones.
4. Averiguar el conjunto de soluciones factibles representando gráficamente las
restricciones.
5. Calcular las coordenadas de los vértices del recinto de soluciones factibles (si
son pocos).
6. Calcular el valor de la función objetivo en cada uno de los vértices para ver
en cuál de ellos presenta el valor máximo o mínimo según nos pida el problema
3
(hay que tener en cuenta aquí la posible no existencia de solución si el recinto no
está acotado).
Una forma de resolver los problemas de programación no lineal es convirtiendo
los problemas de forma tal, que se pueda aplicar la programación lineal. Los
problemas de programación no lineal abarcan problemas con función objetivo no
lineal y restricciones no lineales, como se presenta en el ejemplo siguiente:
Maximizar Z= ($9.6 X - $0.06 X2) + $10Y
Sujeto a: 3 X2+ 2Y2< 13,950
X > 0, Y > 0
Como se puede observar, tanto la función objetivo como la restricción presentan
variables de segundo grado (potencia cuadrática); por lo tanto, son no lineales.
Para comenzar con la resolución de un problema no lineal se representa la
restricción en un gráfico, para ello, se utiliza el mismo procedimiento empleado en
el método gráfico de programación lineal Considerando la desigualdad 3X2+ 2Y <
13, 950, se le asigna un valor de 0 a la variable Y, para encontrar el punto de X en
el gráfico. Así mismo, se asigna un valor de 0 a la variable X, para encontrar el
punto Y en el gráfico:
Despejando la variable X se procede de la forma siguiente:
3 X2 + 2Y2< 13,950
3 X2 + 2(0)2< 13,950
X2<13,950 / 3
X2 < 4,650
X < 4,650
X < 68.19
Para despejar la variable Y se procede como sigue:
3 X2 + 2Y2 < 13,950
3 (0)2 + 2Y2 < 13,950
Y2 < 13,950 / 2
Y2 < 6,975
Y < 6,975
Y < 83.51
De acuerdo con el procedimiento por el método grafico de programación lineal, se
debe dibujar en un plano cartesiano cada una de las restricciones formuladas
4
matemáticamente, de esa forma se representa como se muestra en el grafico
siguiente la restricción considerada para este ejemplo:
Como podemos observar, la restricción se representa por una curva convexa, por
lo que la función objetivo es cóncava.
5
Ahora suponga que las restricciones lineales se conservan sin cambio, pero la
función objetivo se hace no lineal.
Entonces la gráfica de la figura anterior indica que la solución óptima es x1= 8/3 y x2= 5,
que de nuevo se encuentra en frontera de la región factible. (El valor óptimo de z es
z=857; así en la figura muestra el hecho de que el lugar geométrico de todos los puntos
para los que z=857 tiene en común con la región factible solo este punto, mientras que el
lugar geométrico de los puntos con z más grande no toca la región factible en ningún
punto.)
por otro lado, si,
Entonces en la siguiente figura se ilustra que la solución óptima es (x1,x2)= (3,3), que se
encuentra dentro de la frontera de la región factible. (se puede comprobar que esta
solución es óptima si se usa calculo para derivarla como un máximo global no restringido;
como también satisface las restricciones, debe ser óptima para el problema restringido.)
Por lo tanto, es necesario que un algoritmo general para resolver problemas de este tipo
tome en cuenta todas las soluciones en la región factible, y no solo aquellas que están
sobre la frontera.
6
Otra complicación que surge en programación no lineal son los máximos globales (las
soluciones optima globales).
Por ejemplo:
Consideremos la función de una sola variable graficada como se muestra en la siguiente
figura.
en el intervalo 0≤x≤5 esta función tiene tres máximos locales –x =0, x=2, x=4 –pero solo
uno de estos – x=4 es un máximo global. De igual manera, existen mínimos locales en
x=1,3 y 5, pero solo x=5 es un mínimo global.
En general, los algoritmos de programación no lineal no pueden distinguir entre un
máximo local y máximo global (excepto si encuentran otro máximo local mejor), por lo que
es determinante conocer las condiciones bajo las que se garantiza que un máximo local
es un máximo global en la región factible. Recuerde que en calculo, cuando se maximiza
una función ordinaria (doblemente diferenciable) de una sola variable f(x)sin restricciones,
esta garantía está dada cuando:
7
Una función de este tipo cuya curvatura siempre es “hacia abajo” o que no tiene curvatura
se llama cóncava. cuando tiene curvatura “hacia arriba” se llama función convexa.
La suma de las dos funciones más pequeñas dadas en los paréntesis cuadrados. La
primera función más pequeña 4x1-x21 es una función de la variable xx nada más, por lo que
puede verse que es cóncava si se observa que su segunda derivada es negativa. La
segunda función más pequeña -(x2–x3)2 es una función de x2 y por lo que se puede aplicar
la prueba para funciones de dos variables. De hecho, se usa esta función en particular
para ilustrar la prueba y encontrar que la función es cóncava. Como las dos funciones
más pequeñas son cóncavas, la función completa f (jVj ,x2,x3) debe ser cóncava.
Si un problema de programación no lineal no tiene restricciones, el hecho de que la
función objetivo sea cóncava garantiza que un máximo local es un máximo global. (De
igual manera, una función objetivo convexa asegura que un mínimo local es un mínimo
global.) Si existen restricciones, entonces se necesita una condición más para dar esta
garantía, a saber, que la región factible sea un conjunto convexo.
8
En general la región factible para un problema de programación no lineal es un conjunto
convexo siempre que todas las funciones g¡(x) [para las restricciones g (x) < b] sean
convexas. Para el ejemplo de la figura 13.5, las dos gt (x) son convexas, ya que gx(x)=xx
(una función lineal es automáticamente cóncava y convexa) y g2 (x) = 9x|+ 5x| (tanto 9x|
como 5x2 son funciones convexas, por lo que su suma es una función convexa). Estas
dos funciones convexas g¡ (x) conducen a que la región factible de la figura 13.5 sea un
conjunto convexo.
Optimización no restringida
Los problemas de optimización no restringida no tienen restricciones, por lo que la función
objetivo es sencillamente maximizar /(x)
sobre todos los valores x= (jíj, x2,…,xn) la condición necesaria para que una solución
específica x = x* sea óptima cuando /(x) es una función diferenciable es:
Cuando f (x) es cóncava, esta condición también es suficiente, con lo que la obtención de
x* se reduce a resolver el sistema de las n ecuaciones obtenidas al establecer las n
derivadas parciales iguales a cero. Por desgracia, cuando se trata de funciones no
lineales f (x), estas ecuaciones suelen ser no lineales también, en cuyo caso es poco
probable que se pueda obtener una solución analítica simultánea.
Cuando una variable Xj tiene una restricción de no negatividad, x- > 0, la condición
necesaria (y tal vez) suficiente anterior cambia ligeramente a para cada j de este tipo.
9
Optimización linealmente restringida
Los problemas de optimización linealmente restringida se caracterizan por restricciones
que se ajustan por completo a la programación lineal, de manera que todas las funciones
de restricción g¡ (x) son lineales, pero la función objetivo es no lineal. El problema se
simplifica mucho si sólo se tiene que tomar en cuenta una función no lineal junto con una
región factible de programación lineal. Se han desarrollado varios algoritmos especiales
basados en una extensión del método simplex para analizar la función objetivo no lineal.
Un caso especial importante descrito a continuación es la programación cuadrática.
Programación cuadrática
De nuevo los problemas de programación cuadrática tienen restricciones lineales, pero
ahora la función objetivo /(x) debe ser cuadrática. Entonces, la única diferencia entre
éstos y un problema de programación lineal es que algunos términos de la función
objetivo incluyen el cuadrado de una variable o el producto de dos variables.
Programación convexa
La programación convexa abarca una amplia clase de problemas, entre ellos como casos
especiales, están todos los tipos anteriores cuando /(x) es cóncava. Las suposiciones son
1. /(x) es cóncava.
2. Cada una de las g(x) es convexa.
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 / ( x ) y g¡(x) son funciones separables.
Una función separable 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 /(x) es una función separable, se puede expresar como:
en donde cada / • (Xj) incluye sólo los términos con Xj. En la terminología de
programación lineal los problemas de programación separable satisfacen las suposiciones
de aditividad, pero no las de proporcionalidad (para funciones no lineales).
Programación no convexa
10
problemas; pero sí existen algunos algoritmos bastante adecuados para encontrar
máximos locales, en especial cuando las formas de las funciones no lineales no se
desvían demasiado de aquellas que se supusieron para programación convexa.
Programación geométrica
En tales casos, las ci y a ty representan las constantes físicas y las x} son las variables de
diseño.
Estas funciones por lo general no son ni cóncavas ni convexas, por lo que las técnicas de
programación convexa no se pueden aplicar directamente a estos problemas de
programación geométrica.
Sin embargo, existe un caso importante en el que el problema se puede transformar en un
problema de programación convexa equivalente. Este caso es aquel en el que todos los
coeficientes en cada función son estrictamente positivos, es decir, las funciones son
polinomios
Problema de complementariedad
La solución de ciertos problemas de programación no lineal se puede reducir a resolver el
problema de complementariedad. Dadas las variables wy,w2,…,wp y el problema de
complementariedad encuentra unas o l u c i o n a r á para el conjunto de restricciones que
también satisface la restricción de complementariedad, wr z = 0 .
Aquí, w y z son vectores columna, F es una función con valores vectoriales dada y el
superíndice
T denota la traspuesta. El problema no tiene función objetivo, de manera que
técnicamente no es un problema de, programación no lineal completo. Se llama problema
de complementariedad por las relaciones complementarias que establecen que una de las
dos wi = Ó o zi = 0 (o ambas) para cada i = 1, 2,…,.
11
3.4 Optimización clásica
Ejemplo 1.- Construcción de una caja con volumen máximo) Supongamos que queremos
determinar las dimensiones de una caja rectangular de forma que contenga el mayor
volumen posible, pero utilizando para ello una cantidad fija de material. El problema en
forma abstracta se podría plantear en los siguientes términos Maximizar Volumen de la
caja sujeto a Área lateral fija Con el fin de resolver este problema habrá que modelizarlo
matemáticamente, es decir tendremos que expresarlo en términos matemáticos.
Por último, teniendo en cuenta que las dimensiones de la caja no pueden ser negativas el
problema puede expresarse matemáticamente como Maximizar xyz sujeto a 2 (xy + yz +
zx) = A x, y, z ≥ 0.
Fundamentos de Optimización
En este ejemplo se distinguen tres elementos fundamentales: las variables del problema,
una función de esas variables y un conjunto de relaciones que deben cumplir las variables
del problema. Estos elementos se repetirán en todos los problemas de optimización y se
definen formalmente a continuación:
1.- Variables de decisión: El primer elemento clave en la formulación de problemas de
optimización es la selección de las variables independientes que sean adecuadas para
caracterizar los posibles diseños candidatos y las condiciones de funcionamiento del
sistema. Como variables independientes se suelen elegir aquellas que tienen un impacto
significativo sobre la función objetivo.
2.- Restricciones: Una vez determinadas las variables independientes, el siguiente paso
es establecer, mediante ecuaciones o inecuaciones las relaciones existentes entre las
variables de decisión. Estas relaciones son debidas, entre otras razones, a limitaciones en
12
el sistema, a leyes naturales o a limitaciones tecnológicas y son las llamadas restricciones
del sistema. Podemos distinguir dos tipos de restricciones:
(a) Restricciones de igualdad: Son ecuaciones entre las variables de la forma h (x) = h
(x1,....xn)=0 donde g : A ⊆ Rn → R es una función real de variables reales definida sobre
un conjunto A de números reales.
(b) Restricciones de desigualdad: Son inecuaciones entre las variables de la forma g (x) =
g(x1,....xn) ≤ 0 donde A : C ⊆ Rn → R es una función real de variables reales definida
sobre un conjunto A de números reales.
13
3.4.1 Puntos de inflexión
Un punto de inflexión es un punto donde los valores de x de una función continua pasan
de un tipo de concavidad a otra. La curva "atraviesa" la tangente.
Matemáticamente la derivada segunda de la función f en el punto de inflexión es cero, o
no existe.
Más concretamente:
Se define un punto de inflexión como el punto en que la función pasa de ser convexa a
cóncava o de cóncava a convexa.
En la siguiente gráfica podemos ver que cuando x = 0, la gráfica pasa de ser cóncava a
ser convexa, por lo que podemos decir que el punto de inflexión está en X = 0.
14
Una característica de los puntos de inflexión es que son los puntos donde la función
derivada tiene máximos y mínimos. Si nos fijamos, cuando nos acercamos a un punto de
inflexión la función cada vez crece más (o decrece menos), pero al sobrepasar el punto de
inflexión la función empieza a crecer menos (o decrecer menos). Esto significa que
justamente donde haya un punto de inflexión la derivada tendrá un máximo o un mínimo.
Consecuentemente encontraremos los puntos de inflexión buscando ceros de la segunda
derivada.
Vamos a ilustrar el proceso con un ejemplo para así dar una explicación simple y clara:
Consideraremos la función F(x) = x³ - 3x (es la función representada en la anterior
gráfica).
Sabemos ya calcular los máximos y los mínimos de la función f(x) usando la primera
derivada. La expresión de ésta es 3x² - 3 y justamente encontramos máximos y mínimos
respectivamente en x = -14 y x = 1. Si representamos la gráfica de la derivada queda:
Observamos que justamente donde la derivada tiene un mínimo es donde la función tiene
el punto de inflexión.
Para saber qué punto es vamos a derivar la función derivada e igualarla a cero: F´´(x) =
6x=0 = x = 0/6 = 0, y por tanto la función original en x = 0 tiene un punto de inflexión.
15
3.4.2 Máximos y mínimos
Los máximos y mínimos de una función son los valores más grandes o más pequeños de
ésta, ya sea en una región o en todo el dominio.
Los máximos y mínimos en una función f son los valores más grandes (máximos) o más
pequeños (mínimos) que toma la función, ya sea en una región (extremos relativos) o en
todo su dominio (extremos absolutos).
16