Anda di halaman 1dari 18

INVESTIGACIÒN DEOPERACIONES

INGENIERÌAEN SISTEMAS COMPUTACIONALES


PROGRAMACION NO LINEAL
UNIDAD III
Ing. Laura Guadalupe Butzmann Álvarez
INTODUCCION

Una suposición importante de programación lineal es que todas sus funciones


(Función objetivo y funciones de restricción) son lineales. Aunque, en esencia, esta
suposición se cumple para muchos problemas prácticos, es frecuente que no sea así. De
hecho, muchos economistas han encontrado que cierto grado de no linealidad es la regla, y
no la excepción, en los problemas de planeación económica, por lo cual, muchas veces es
necesario manejar problemas de programación no lineal.

De una manera general, el problema de programación no lineal consiste en

encontrar para maximizar , sujeta a

En donde y las son funciones


dadas de n variables de decisión.

No se dispone de un algoritmo que resuelva todos los problemas específicos que se


ajustan a este formato. Sin embargo, se han hecho grandes logros en lo que se refiere a
algunos casos especiales, haciendo algunas suposiciones sobre las funciones, y la
investigación sigue muy activa.

PLANTEAMIENTO DEL PROBLEMA

Los siguientes ejemplos ilustran unos cuantos de los muchos tipos importantes de
problemas a los que se ha aplicado la programación no lineal.

Problema de la mezcla de productos con elasticidad en los precios

En los problemas de mezcla de productos, la meta es determinar la mezcla óptima de


niveles de producción para los productos de una empresa, dadas las limitaciones sobre los
recursos necesarios para producirlos, con el fin de maximizar la ganancia total de la
empresa. En algunos casos existe una ganancia unitaria fija asociada a cada producto, con lo
que la función objetivo que se obtiene es lineal. Sin embargo, en muchos problemas de
mezcla de productos, ciertos factores introducen no linealidades en la función objetivo. Por
ejemplo, un fabricante grande puede encontrar precios elásticos mediante los cuales la
cantidad que se puede vender de un producto va en relación inversa con el precio que se
cobra. Así, la curva precio - demanda puede parecerse a la que se muestra en la FIGURA 1
en donde p(x) es el precio que se necesita para poder vender x unidades. Si el costo unitario
de producir el artículo esta fijo en c (véase la línea punteada en la FIGURA 1), entonces la
ganancia de la empresa por producir y vender X unidades esta dada por una función no lineal
p (x) = x p(x) – cx

p (x)

FIGURA 1. CURVA DE PRECIO – DEMANDA.

Como se puede observar en la FIGURA 2 si cada uno de los n productos de la


empresa tiene una función parecida para la ganancia, por ejemplo pj (xj) por producir y
vender Xj unidades del producto j (j = 1, 2, … , n), entonces la función objetivo global es

F (x) = ∑ pj (xj)

Problema De Trasporte Con Descuentos Por Volumen En Los Precios De Embarque


Una aplicación común del problema de transporte es determinar un plan óptimo para
mandar bienes desde varios orígenes hasta varios destinos, dadas las restricciones de
recursos y demandas, con el fin de minimizar el costo total de transporte. En los problemas
de transporte se supuso que el costo por unidad enviada de un origen a un destino dado es
fijo, independientemente de la cantidad a mandar. En la realidad, este costo puede no ser
fijo. A veces se dispone de descuentos por volumen por cantidades grandes, con lo que el
costo marginal de mandar una unidad más puede seguir un patrón como el que se muestra
en la FIGURA 3. el costo que resulta al embarcar X unidades esta dado entonces por una
función no lineal por partes con pendiente igual al costo marginal, como la que se muestra en
la FIGURA 3. el costo que resulta al embarcar X unidades esta dado entonces por una función
no lineal por partes con pendiente igual al costo marginal, como la que se muestra en la
FIGURA 3. En consecuencia, si cada combinación de origen y destino tiene una función de
costos similar, es decir, si el costo de mandar Xij unidades del origen i (i = 1, 2,…, m) al
destino j (j = 01, 2,…, n) esta dado por una función no lineal Cij (Xij), entonces la función
objetivo global que se va a minimizar es F(x) = ∑ Cij (Xij).
p (x) = x [p (x) -
c]

FIGURA 2. FUNCIÓN DE GANANCIA.

6. 5

0.6 1.5 2.7 4.5

FIGURA 3. COSTO MARGINAL DE TRANSPORTE.


13. 2

8. 4

3. 9

0.6 1.5 2.7 4.5

FIGURA 4. FUNCIÓN DE COSTO DE TRANSPORTE.

Ilustración Grafica De Los Problemas De Programación No – Lineal

Cuando un problema de programación lineal, tiene solo una o dos variables, se puede
representar en una grafica muy parecida a los problemas de programación lineal.

X2

X1, X2
6

2 4 6
Con el fin de hacer hincapié en las diferencias se usaran algunas variaciones no lineales.

La FIGURA muestra lo que ocurre con los cambios que se hacen al modelo, por
ejemplo, la 2ª y 3 ª restricción, se sustituyen por la restricción no lineal

9X12 + 5X22 ≤ 216

X2

X1, X2
6

2
X1
2 4 6

Ahora supóngase que las restricciones lineales se conservan sin cambio, pero que la
función objetivo se hace no – lineal, entonces, la representación grafica seria de la siguiente
manera.
X2

6
Z
4

2 4 6 X1

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

En general, los algoritmos de programación no lineal no pueden distinguir entre un máximo


local y un máximo global (excepto si encuentran otro máximo local mejor), por lo que es
determinante conocer cuando se garantiza que un máximo local es un máximo global en la
región factible.
Una función cuya curvatura siempre es “hacia abajo” se llama función cóncava. Una función
con curvatura “hacia arriba” se llama función convexa.
Y Y

X X

a).- Función Cóncava b).- Función Convexa

Y Y

X X

c).- Función con varios d).- Función que tiene varios


máximos locales. Máximos y mínimos.
Y Y

X X

FIG A1.3 Función tanto cóncava FIG A1.4 Función ni cóncava


ni convexa
como convexa.

OPTIMIZACIÓN CLÁSICA

Puntos Máximos, Mínimos Y De Inflexión. Problemas No Restringidos

Una complicación que surge en la programación no lineal es que un máximo local no


necesariamente es un máximo global (la solución óptima global) por ejemplo considérese la
función de una sola variable graficada en la figura c). En el intervalo O ≤ x ≤ 5, está 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 un máximo global (excepto si encuentran otro máximo local mejor), por lo
que es determinante conocer cuando se garantiza que un máximo local es un máximo global
en la región factible. Recuérdese que en Cálculo cuando se maximiza una función
(doblemente diferenciadle) de una sola variables f(x) sin restricciones, esta garantía, esta
dada sí

Una función de este tipo cuya curvatura siempre es "hacia abajo" (o que no tiene
curvatura) se llama función cóncava. De igual manera, si se sustituye ≤ por ≥, con lo que la
función tiene siempre una curvatura "hacia arriba” (o no tiene curvatura), se llama función
convexa (así una función lineal es tanto cóncava como convexa). En la figura se pueden ver
ejemplos de esto. Nótese que la figura c) ilustra una función que no es cóncava, no convexa
pues alterna sus curvaturas hacia arriba y hacia abajo.

Las funciones de variables múltiples también se pueden caracterizar como cóncava o


convexa si su curvatura siempre es hacia abajo o hacia arriba. Por ejemplo, considérese una
función que consiste en una suma de términos. Si todos los términos son cóncavos (se
puede, verificar que lo sea, con su segunda derivada cuando el término incluye nada más
una de las variables), entonces la función es cóncava. De manera similar, la función es
convexa si todos los términos son convexos

Si un programa 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. 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. Esta es que la
región factible sea un conjunto convexo. Como se analiza en el apéndice 1, un conjunto
convexo es un conjunto de puntos tales que, para cada par de puntos de la colección, el
segmento de recta que los une está totalmente contenido en la colección.

Entonces, para garantizar que un máximo local es un máximo global en un problema


de programación no lineal con restricciones g i (x) ≤ bi (i = 1, 2,…, m) y x ≥ O, la [unción
objetivo f(x) debe ser cóncava y cada g¡(x) debe ser convexa.

En seguida se presentan las propiedades de las funciones convexas (o cóncavas) y de


los
Definición: f (XI, X2,..., Xn) es una función convexa si, para cada par de puntos sobre la
gráfica de f (XI, X2,..., Xn), el segmento rectilíneo que los une se encuentra completamente
arriba o sobre la gráfica de f (XI, X2,..., Xn). Es una función estrictamente convexa si el
segmento rectilíneo está por completo arriba de está grafica, excepto por los puntos
extremos del segmento. Las funciones cóncavas y las funciones estrictamente cóncavas se
definen justo de la misma manera, excepto que la palabra arriba debe sustituirse por abajo.

Precisamente de la misma manera en que puede usarse la segunda derivada (cuando


existe en todas partes) para comprobar si una función de una sola variable es convexa o no,
las segundas derivadas parciales pueden emplearse para comprobar funciones de varias
variables, aunque en una forma más complicada. Por ejemplo, si se tiene dos variables,
entonces f(x1, x2) es convexa si y sólo si

1).-
δ2 f(X1, X2) δ2 f(X1, X2) - δ2 f(X1, X2) ≥0
δX12 δX22 δX12 δX22
2).-
δ2 f(X1, X2) ≥ 0
δX12
3).- δ2 f(X1, X2) ≥ 0
δX22
MODELOS DE PROGRAMACIÓN NO LINEAL

Forma estándar para programas no lineales con restricciones de igualdades


es:

Maximizar: Z = f(x)
1 con las condiciones: g1 (x) = 0
g2 (x) = 0
.
.
.
gm (x) = 0

Con m < n (Menos restricciones que variables)

Los programas de minimización se convierten de programas de maximización,


multiplicando la función objetivo por (-1).

Forma estándar para programas no lineales con restricciones solo de


desigualdades es:

Maximizar: Z = f(x)
con las condiciones: g1 (x) ≤0
2 g2 (x) ≤ 0
.
.
.
gm (x) ≤ 0
con x < 0

Se pueden utilizar los multiplicadores de Lagrange para resolver los problemas no


lineales en los cuales las restricciones son igualdades. Consideramos los del tipo siguiente:

(1)

Para resolverlo, asociamos un multiplicador con la i-ésima restricción y formamos el


lagrangiano tenemos:

(2)

Donde son constantes (desconocidas) denominadas


multiplicadores de Lagrange. Después resuélvase el sistema de n + m ecuaciones:
El método de los multiplicadores de Lagrange es equivalente a emplear las
ecuaciones de restricción para eliminar algunas de las variables x de la función objetivo y
resolver después un problema de maximización sin restricciones para las restantes variables
x.

Debe señalarse que, desde un punto de vista práctico y de cálculo, el método de los
multiplicadores de Lagrange no es un procedimiento particularmente eficaz. Con frecuencia
es casi imposible resolver las ecuaciones con el fin de obtener puntos críticos. Sin embargo
para problemas pequeños algunas veces puede usarse este método con éxito.

Multiplicadores De Lagrange, Interpolación Económica, Existencia De Lamba

Problema:

Una compañía planea gastar 10,000 dólares en publicidad. Cuesta 3,000 dólares un
minuto de publicidad en la televisión y 1,000 dólares un minuto de publicidad en la radio. Si
la empresa compra x minutos de comerciales en la televisión y y minutos de comerciales en
la radio, su ingreso, en miles de dólares, está dado por F(X,Y) = -2X2 – Y2 + XY + 8X +
3Y. ¿Cómo puede la empresa maximizar su ingreso?
OPTIMIZACIONES DE KUNH – TUCKER
Forma estándar para programas no lineales con restricciones solo de
desigualdades es:

Maximizar: Z = f(x)
con las condiciones: g1 (x) ≤0
2 g2 (x) ≤ 0
.
.
.
gm (x) ≤ 0
con x < 0

Se pueden utilizar los multiplicadores de Lagrange para resolver los problemas no


lineales en los cuales las restricciones son igualdades. Consideramos los del tipo siguiente:

Para resolver el problema (2), primero se anotan las condiciones de no negatividad


como – X1 ≤ 0, – X2 ≤ 0, …, – Xn ≤ 0, así que el conjunto de restricciones esta formado por m =
n requerimiento en forma de desigualdad.

RESTICCIONES DE DESIGUALDAD

Cada uno con signo ≤. Después se aseguran las variables de holgura X2n + 1 , X2n +
2 + … + X2n + m, respectivamente, a los lados izquierdos de las restricciones, convirtiendo
con esto a cada desigualdad en una igualdad. En este caso, las variables de holgura se
agregan como términos al cuadrado, a fin de garantizar su no negatividad. Entonces se forma
la matriz de lagrange.

m m+ n
1 L ≡ f (x) - ∑ λ1 [gi (x) + x2n+ i] - ∑ λi [xi + x2 n+ i]
i=1 i = m +1

donde λ1, λ2, …, λi son multiplicadores


multiplicadores Lagrange.

Finalmente se reserva el sistema

2L

2 2xj
= 0 (j = 1, 2,…, m+n)

2L

3 2 λi
= 0 (i = 1, 2,…, m+n)

λ1 ≥0 (i = 1, 2,…, m+n)
4
Las ecuaciones de 2 -4 constituyen las condiciones de K – T para el problema (2).

Los dos primeros conjuntos (1 y 3) provienen directamente de la teoría multiplicador


de lagrange; el conjunto número 4 es conocido como calificación de la restricción. Entre las
soluciones a las condiciones de K – T estará la solución al programa número (2). Si la f (x) y
cada restricción gi (x) tiene primeras derivadas parciales continuas. El problema tiene
solución.

Problema.-

Resuélvase el siguiente programa empleando las condiciones de K– T.

Minimícese: Z = X12 + SX22 + 10X32 – 4X1X2 + 6X1X3 – 12X2X3 – 2X1 + 10X2 +SX3
Con la condición: X1 + 2X2 + X3 ≥ 4.
Con: todas las variables de no negatividad.

Transformar primero al sistema número (2) e introduciendo luego a las variables de


holgura al cuadrado se obtiene.
Técnica de búsqueda de Dimensiones
Al igual que otros procedimientos de búsqueda para programación no lineal, este
procedimiento trata de encontrar una serie de soluciones prueba que conduzcan hacia una
solución óptima. En cada iteración, se comienza con la solución prueba actual para llevar a
cabo una búsqueda sistemática, que culmina con la identificación de una nueva solución
prueba mejorada (se espera que sustancialmente mejorada).
La idea fundamental del procedimiento de búsqueda en una dimisión es muy
intuitiva, se basa en el hecho de que la pendiente (derivada) sea positiva o negativa en una
solución prueba, indica si es necesario hacer esta solución más grande o más chica para
moverse a una solución optima.
En seguida se resume este proceso completo, usando la notación

Aunque existen varias reglas razonables para elegir cada nueva solución prueba, la
que se usa en el siguiente procedimiento es LA REGLA DEL PUNTO MEDIO (tradicionalmente
llamada plan de busque de Bonzan) que dice que se selecciona el punto medio entre dos
cotas actuales
RESUMEN DEL PROCEDIMIENTO DE BÚSQUEDA DE 1 DIMENCION

Paso inicial:

Se selecciona €. Se encuentran iniciales por inspección (o encontrando valores


respectivos de X en los cuales la derivada sea positiva y luego negativa). Se elige una
solución prueba inicial.

Regla de detención: Si , de manera que la nueva x’ se encuentra a una distancia


de x* < € , el proceso termina. De otra manera, se regresa al paso iterativo.
Se ilustra este procedimiento al aplicarlo al siguiente ejemplo:

Supóngase que la función que se quiere maximizar es:

Como la 2ª derivada es no positiva en todos lados, la f(x) es una función cóncava, y el


procedimiento de búsqueda se aplica sin problema para encontrar su máximo global. Una
rápida inspección a esta función indica que f(x) es positiva para valores pequeños de X, pero
es negativa para X menor que 0 ó X > 2, entonces:
y , se pueden utilizar como cotas iniciales, con su
= 0
= 2
punto medio, entonces X’ = (0 + 2) / 2 = 1, como solución prueba inicial. Sea 0.01 el € para
X*, en la regla de detención, de manera que

- ≤ 0.02

Con la X’ final en el punto medio. Al aplicar el procedimiento de búsqueda se obtiene


la sucesión de resultados que se muestran en la tabla.
Procedimiento de búsqueda del gradiente
Puesto que el problema en cuestión no tiene restricciones, esta interpretación del
gradiente, sugiere que un procedimiento de búsqueda eficiente debe moverse en la dirección
del gradiente, hasta que en esencia alcance una solución optima X*, en la que el vector de la
función de X es igual a cero.

Sin embargo no resultaría practico cambiar X continuamente en la dirección de

ya que esta serie de cambio requerirá una reevaluación continua de 2f(x) / 2xj y
del cambio de dirección de la trayectoria.

Entonces, una mejor forma de hacerlo, es continuar el movimiento en una dirección


fija a partir de la prueba actual, sin detenerse, hasta que f(x) deje de aumentar. Este punto
de detención seria la siguiente solución prueba por lo que se debe volver a calcular el
gradiente para determinar la nueva dirección de movimiento. Con este enfoque cada nueva
iteración incluye cambiar la solución prueba actual como sigue:

Se modifica

X´= X´ + T* (X´)
En donde T* es el valor positivo de T que maximiza

f (X´+ T (x´))

T≥0

Nótese que F (X´+ T (x´)), es sencillamente f (x) donde:


Xj = Xj + T (df / dXj) X = X

Para
j = 1, 2, 3, … , n

y estas expresiones Xi incluyen solo constantes y T de manera que la función f(x) se


convierte en una función de una sola variable T. las iteraciones de este procedimiento de
búsqueda del gradiente continúan hasta que el vector de la función es igual a cero.

Dentro de una pequeña tolerancia ε.

2f

2Xj

Resumen Del Procedimiento De Búsqueda Del Gradiente

Paso Inicial.-
Se elige ε y cualquier solución prueba inicial X´. Se pasa primero a la regla de
detención.

Paso Interactivo.-

1).- Se expresa la función f (X´+ T (x´)) como una función de T, estableciendo X

Xj = Xj + T (df / dXj) X = X

Para toda
j = 1, 2, 3, … , n
Y después se sustituyen estas expresiones en f (x).

2).- Se utiliza el procedimiento de búsqueda para una dimensión (o el calculo para

encontrar T = T* que maximiza X´= X´+ T (X´) para T ≥ 0.

3).- Se hace X* = X* + T* (x)

Después se pasa a la regla de Detención.

Regla de Detención.- Se evalúa el (X´) en X = X´. Se verifica el valor absoluto de la


derivada parcial.

2f
=ε para toda j = 1, 2, 3,…, n.
2Xj

Si es así, el proceso se detienen con la X´ actual como la aproximación a una solución


optima. X* deseada.

De otra manera se regresa al paso iterativo.

Ejemplo.-

Considérese el siguiente problema de 2 variables.


Máx.: f (x) = 2X1X2 + 2 X2 – X12 – 2X22

Para comenzar el procedimiento de búsqueda del gradiente, supóngase que se elige


X (0,0) como solución prueba inicial. Como en este punto las derivadas parciales son:

El gradiente es:

Anda mungkin juga menyukai