Documentos de Académico
Documentos de Profesional
Documentos de Cultura
-
PROGRAMACIÓN LINEAL ENTERA Y NO LINEAL
1.- SOLUCIÓN DE PROBLEMAS DE ENTEROS
Problema entero-mixto(IMP)
Opt. Z = cX + dY
s.a. AX + BY ≤ b
X≥0
Y ≥ 0, entero
•Si (IP) es una maximización, el valor objetivo óptimo para (LR) en mayor o igual
que el valor objetivo óptimo para (IP)
•Si (LR) es óptima con solución base entera, entonces esa solución también es
factible y óptima para (IP)
•Si los coeficientes de la función objetivo son enteros, entonces para minimización, el
valor objetivo óptimo para (IP) es mayor o igual que el “redondeo por exceso” del
valor objetivo óptimo para (LR). Para maximización, el valor objetivo óptimo para
(IP) es menor o igual que el “redondeo por defecto” del valor objetivo óptimo para
(LR)
La solución a este problema es: x1= 10/3, x2=0, x3=0, Max Z=200/3
cualquier solución
óptima al problema
entero, debe ser factible
en alguno de los
subproblemas.
Reglas de ramificación
Ejercicio 1.- Resolver el siguiente problema aplicando el algoritmo Branch and bound
(ramificación y acotamiento), Por conveniencia, siempre seleccione x1 como la
variable de ramificación cuando tanto x1 como x2 son fraccionarios
Max Z= x1 + x2
s.a. 2x1 + 5x2 ≤ 16
6x1 + 5x2 ≤ 30
x1,x2 ≥ 0 y enteros.
Ejercicio 2.- Repetir el ejercicio anterior asumiendo que solamente x1 está restringido
a valores enteros
INTRODUCCIÓN
PROGRAMACIÓN NO LINEAL
INTRODUCCIÓN
De una manera general, el problema de programación no lineal
consiste en encontrar x=(x1,x2,...,xn) para:
Maximizar f(x),
sujeta a gi(x)≤ bi, para i= 1, 2, ..., m,
y, x≥O,
En algunos casos existe una ganancia unitaria fija asociada a cada producto, con lo que
la función objetivo que se obtiene es lineal.
Por ejemplo, un fabricante grande puede encontrar elasticidad en los precios mediante
los cuales la cantidad que se puede vender de un producto tiene una relación inversa
con el precio cobrado.
Así, la curva precio-demanda para un producto puede parecerse a la mostrada en la fig.
donde p(x) es el precio que se necesita para poder vender x unidades; entonces la ganancia de
la empresa por producir y vender x unidades es el ingreso por las ventas p(x) menos los
costos de producción y distribución. Si el costo unitario de producir y distribuir el artículo
esta fijo en c, entonces la ganancia de la empresa por producir y vender x unidades está dada
por una función no lineal : P(x) = xp(x) - cx,
En el intervalo O ≤ x ≤ 5, esta función tiene tres máximos locales: x= O, x =2, x = 4; pero sólo
uno de éstos x= 4 es un máximo global.
En general, los algoritmos de programación no lineal no pueden distinguir entre un máximo local
y un máximo global, 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 cálculo, cuando se maximiza una función ordinaria (doblemente diferenciable) de
una sola variable f(x) sin restricciones, esta garantía está dada cuando para toda x.
Una función cuya curvatura siempre es “hacia abajo” (o que no tiene curvatura) se llama función
cóncava (a).
De igual manera, si Ia función tiene siempre una curvatura “hacia arriba” (o no tiene curvatura),
se llama función convexa (b).
(Una función lineal es tanto cóncava como convexa.)
Las funciones de variables múltipIes también se pueden
caracterizar como cóncavas o convexas si su curvatura
es siempre hacia abajo o hacia arriba.
Estas definiciones intuitivas se fundamentan en
términos precisos que junto con cierta profundización
en los conceptos, se presentan a continuación
FUNCIONES CÓNCAVAS O CONVEXAS DE UNA SOLA
VARIABLE
FUNCIONES CONVEXAS O CÓNCAVAS DE VARIAS
VARIABLES
El concepto de función convexa o cóncava de una sola variable se generaliza
también a funciones de más de una variable.
De este modo, si se sustituye f(x) por f(x1, x2, …., xn), la definición que se
acaba de dar se aplica al sustituir x en todas partes por (x1, x2, …., xn).
CONDICIONES PARA UN MÁXIMO O MÍNIMO
Así, si f(x1, x2, …., xn), es una función convexa, la colección de puntos que se
encuentran arriba o sobre la gráfica de f(x1, x2, …., xn), forman un conjunto
convexo.
Definición.- Un conjunto convexo es una colección de puntos tales que, para cada par de
puntos de la colección, el segmento rectilíneo completo que une estos dos puntos también
está en la colección
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 sea 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.
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 gi(x)≤ bi]. sean convexas.
CARACTERIZACIONES DE MÁXIMOS Y MÍNIMOS
Decimos
que el vector es el gradiente de la
función vectorial en x si
El vector gradiente es un vector cuya componente i
es la derivada parcial de con respecto a , es decir:
Ejemplo:
Determine el gradiente de:
Solución:
Luego
Máximo
global: x* es un máximo global de si para todo el dominio de
definición de se cumple que .
Observe que máximo global es un caso especial de máximo local con un valor de
suficientemente grande.
DIRECCIÓN DE ASCENSO
Dada una función f(x), decimos que d es una dirección de
ascenso en un punto x si existe >0 tal que f(x + d) > f(x).
para 0 < < .
Lema:
Si f(x)Td > 0 entonces d es una dirección de ascenso en x.
CONDICIONES DE SEGUNDO ORDEN
Volvamos al ejemplo donde
Para este ejemplo x1* = 5, x2* = 6, define el punto x* para el cual .
Sin embargo, no podemos con esta información caracterizar x* como un mínimo, como un máximo o
simplemente no podemos asegurar que no es máximo ni mínimo.
Observando la función:
Se tiene f(x*) = f(5,6) = 0 y para cualquier otro par de valores de x1 y x2, se tiene f(x) ≥ 0 por lo que es
inmediato concluir que x* = (5,6) es un mínimo.
El análisis anterior es específico para una función dada y no permite hacer generalizaciones para la
caracterización del máximo de una función. Para lograr esta generalización utilizaremos el concepto de
segunda derivada de una función, la cual se define a continuación:
Teorema.-
(Condiciones suficientes para un máximo)
O equivalentemente:
Sea:
Entonces:
Es
decir
el punto a analizar para un posible mínimo es
Si
Se tiene:
Se analiza a continuación la forma
xHxT = .
Para todo valor de x excepto x1=x2=x3=0, por lo tanto X=(2,2,3) es un mínimo local
de f(x)
Este ejemplo muestra que hay grandes problemas para
resolver un problema no lineal y no restringido, por los
métodos clásicos de cálculo, pues se forma un sistema
de ecuaciones que en muchos casos no se encuentra
explícitamente la solución.
Con base en las definiciones anteriores podemos decir que después de examinar
los resultados de un par de evaluaciones de la función objetivo en su intervalo
de definición, se localiza el máximo en un intervalo menor longitud que el
intervalo considerado inicialmente.
Esto se puede observar con ayuda de la siguiente
figura para una función estrictamente
unimodal f definida en (,)
a c1 c2 b c1 c2 b a c1 c2 b
CASO A CASO B CASO C
BÚSQUEDA DE FIBONACCI
Este tipo de búsqueda se basa en la llamada sucesión de Fibonacci, la
cual se genera de acuerdo a la siguiente definición:
F0 = 1
F1 = 1
F2 = F 1 + F 0 = 1 + 1 = 2
F3 = F 2 + F 1 = 2 + 1 = 3
y en general
Fn = Fn-1 + Fn-2 para n ≥ 2
Es decir los términos de la sucesión de Fibonacci son: 1, 1, 2, 3, 5, 8,
13, 21, 34, ……
Sea el problema de obtener el máximo de f
definida en el intervalo (,) y se quiere
seleccionar sucesivamente n valores de la
variable x, que denotaremos como x1, x2,
….,xn, de tal forma que sin tener conocimiento
explícito de f , se pueda determinar el intervalo
de incertidumbre más pequeño posible en el
cual se encuentra el máximo deseado,
haciendo solo evaluaciones de la función f(x)
en esos puntos.
Una forma equivalente de plantear el problema es lo
siguiente: dada la longitud de un intervalo de
incertidumbre, determinar la longitud máxima del
intervalo de definición de la función que pueda
reducirse a con un máximo de n evaluaciones.
Sean:Ln La longitud máx del intervalo de definición
fj Evaluación de f(x) en xj.
Intervalo de incertidumbre
Teorema.- Si la función f(x) es unimodal, se cumple:
L1 =
L2 = 2 - , para cualquier > 0, pequeño
Ln = Fn+1 – Fn-1, para n>3.
Paso 1: =3
=4
L=4–3=1
Paso 2: Para =10-3, se tiene
n Fn+1 - Fn-1
3 3 · 0,1 – 1 · 0,001 < 0,3
4 5 · 0,1 – 2 · 0.001 < 0,5
5 8 · 0,1 – 3 · 0.001 < 0,8
6 13 · 0,1 – 5 · 0,001 > 1,2
(se necesitan 6 evaluaciones, n=6)
La tabla a continuación muestra todos los resultados intermedios. Los valores
subrayados indican las nuevas evaluaciones en cada iteración.
N Intervalo x1 f1 x2 f2
1. f(x) es cóncava.
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.
En este caso, aun cuando se tenga éxito en encontrar un máximo local, no hay garantía
de que sea también un máximo global.
Por lo tanto, no se tiene un algoritmo que garantice encontrar una solución óptima para
todos estos 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.
en donde
PROBLEMA GENERAL DE PROGRAMACIÓN NO LINEAL
Sujeto a h1 ( x1 ,..., xn ) 0
hl ( x1 ,..., xn ) 0
g1 ( x1 ,..., xn ) 0
g m ( x1 ,..., xn ) 0
En forma compacta el modelo anterior puede escribirse:
Minimizar
Z f (x)
Sujeto a
h( x ) 0
g ( x) 0
Donde x ( x1 ,..., xn )Tes
el vector de las variables de decisión, f es la función
objetivo, g(x) y h(x) son las restricciones de desigualdad y de igualdad,
respectivamente.
La figura muestra que el mínimo del problema se alcanza en el conjunto
de puntos en los que la tangente es horizontal.
f ( x) ( x 2) 2 / 3 ( x 2) 2 / 3
Grafica de la función .
Hay además otro problema igualmente relevante, referente a los problemas no lineales
diferenciables. Para ilustrarlo, se considera la función objetivo siguiente