Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2
INDICE
INTRODUCCION.. 4
3
INTRODUCCIN
4
UNIDAD lV
INTRODUCCIN A LA PROGRAMACIN NO LINEAL
5
Sea una funcin de una sola variable f(x) y consideremos cada par de valores de
x, x y x
Se dice que es una funcin convexa (o cncava hacia arriba) si se cumple
f (x + (1 ) x ) f(x ) + (1 ) f(x ), (0, 1).
Se dice que es una funcin estrictamente convexa si se cumple
f (x + (1 ) x ) < f(x ) + (1 ) f(x ), (0, 1).
Se dice que es una funcin cncava (o cncava hacia abajo) si se cumple
f (x + (1 ) x ) f(x ) + (1 ) f(x ), (0, 1).
Se dice que es una funcin estrictamente cncava si se cumple
f (x + (1 ) x ) > f(x ) + (1 ) f(x ), (0, 1).
6
Obsrvese que x + (1 ) x es el segmento que une los dos puntos x y x , por
lo que en una funcin cncava hacia arriba (convexa) el segmento queda por
encima de la funcin, mientras que en una funcin cncava hacia abajo (cncava)
el segmento queda por debajo. Por ejemplo, f(x) = x 2 es convexa, f(x) = x 2 es
cncava, f(x) = x es simultneamente cncava y convexa, f(x) = x 3 no es ni
cncava ni convexa. En la Figura 2.2 observamos grficamente los diferentes
casos de funciones segn su concavidad.
7
4.1 CONCEPTOS BASICOS DE PROGRAMACION NO LINEAL
Programacin no lineal
Se considera-como tal al conjunto de mtodos utilizados para optimizar una
funcin objetivo, sujeta a una serie de restricciones en los que una o ms de las
variables incluidas es no lineal.
Como ejemplo considere el siguiente problema de programacin no lineal
Minimizar f(x)
Sujeta a g(x) < 0 i - 1, 2 m
h(x)- 0 j = 1,2 1
donde f. gj. g-, gm. hb h2,...., h, son funciones definidas en L. el espacio
euclidiano
de n dimensiones. X es un subconjunto de Ln. y x es un vector de componentes x,.
x2,...,xn.
El problema anterior puede ser resuelto para los valores de las variables
x|,x2,...,xn que satisfacen las restricciones y que minimicen la funcin f.
La funcin f es llamada usualmente la funcin objetivo o la funcin criterio. Cada
una de las restricciones para i 1.2 m es llamada restriccin de desigualdad y cada
una de las restricciones h-Jx) para j-l,2,...,l es llamada restriccin de igualdad. Un
vector x que satisface todas las restricciones es llamado una solucin factible al
problema.
La coleccin de todas las posibles soluciones forman la regin factible. El problema
de programacin 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 solucin ptima o simplemente
una solucin al problema. Si existe ms de un punto ptimo, estos son referidos
como soluciones alternativas ptimas.
Asimismo, un problema de programacin no lineal puede expresarse como un
problema de maximizacin 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 funcin objetivo
es lineal y cuando todas las restricciones, incluyendo al conjunto .V. puede ser
representado por desigualdades lineales y/o ecuaciones lineales, el problema
anterior es llamado un problema lineal.
8
Lo anterior indica que la programacin lineal es un caso particular de la
programacin no lineal. Por tal motivo, los problemas no lineales son mucho ms
difciles de resolver que los de programacin lineal. Haciendo un anlisis de las
caractersticas de los problemas lineales y no lineales tenemos la siguiente
comparacin entre ambos problemas.
Programacin lineal
1. La solucin ptima se encuentra en un punto extremo de la regin de
factibilidad
2. El punto ptimo nunca est dentro de la regin de factibilidad
3. Sus mtodos de optimizacin generan ptimos absolutos globales
4. La regin de factibilidad es un conjunto convexo
5. Sus funciones objetivo y restricciones son lineales
Programacin no lineal
1. No siempre la solucin ptima se encuentra en un punto extremo de la regin
de factibilidad
2. Hay casos donde el puni ptimo esla en el interior de la regin factible
3. Generalmente se encuentra un ptimo local relativo, mas no el ptimo
global absoluto
4. Se pueden generar regiones de factibilidad que no son necesariamente
convexas.
5. La funcin objetivo, las restricciones ambas pueden ser no lineales.
Por otra parte existen algunas condiciones o postulados que se cumplen para los
dos modelos, los de programacin lineal y los de programacin no lineal:
1. Al aumentar (disminuir) el lado derecho de una restriccin < o > se relaja la
restriccin. Esta no puede contraer y si puede expandir al conjunto factible
2 Aumentar (disminuir) el lado derecho de una restriccin estrecha la restriccin.
Esto no puede expandir pero si contraer el conjunto no restringido
3. Una restriccin no puede perjudicar, sino quiz ayudar, al valor ptimo de la
funcin objetivo
4. Estrechar una restriccin no puede ayudar, sino quiz perjudicar, al \alnr ptimo
de la funcin objetivo.
9
La programacin Lineal es un tema importante en investigacin de operaciones,
donde todas sus funciones (las de objetivo y restriccin) son lineales. Esto se
cumple en muchos casos pero a veces es necesario manejar problemas de
programacin no lineal. De manera general la programacin no lineal Consiste en
encontrar
x= (x1, x2, x3,..,xn) para: Maximizar f(x)
Sujeta a: g(x)b,,, para i = 1,2,.,m
y
x0
Donde f(x) y g(x)
Son funciones dadas de n variables de decisin. Existen tipos diferentes de
problemas de programacin no lineal, lo cual depende de las caractersticas de
las funciones f(x) y g(x). Se emplean varios algoritmos para los diferentes tipos de
problemas. Para ciertos tipos donde las funciones tienen formas simples, los
problemas pueden resolverse de manera relativamente eficiente. En algunos tipos
incluso la solucin de pequeos problemas representa un gran reto.
Los problemas de programacin no lineal se presentan en muchos formas distintas,
al contrario del mtodo simplex para programacin lineal no se dispones de un
algoritmo que resuelva todos estos tipos especiales de problemas. Se han
desarrollado algoritmos para algunas clases de problemas de programacin no
lineal
10
4.2 ALGORITMOS UNIVERSALES SIN RESTRICCIONES
Uno de los principales campos de la programacin no lineal es el de la optimizacin
no restringida u optimizacin libre, que trata el problema de minimizar o maximizar
una funcin en ausencia de cualquier restriccin. Existen mtodos de bsqueda del
valor ptimo de una funcin f(x) que pueden ser aplicados para funciones de una
varias variables, usando derivadas o sin usar derivadas.
A continuacin analizaremos algunos de los mtodos de bsqueda que existen para
resolver problemas de programacin no lineal no restringidos, despus de presentar
algunos conceptos fundamentales.
Mtodos de optimizacin de funciones unimodales de una sola variable en
problemas no restringidos
Definicin: Se dice que una funcin de una sola variable es unimodal. Cuando tiene
un solo punto mnimo o mximo.
Si f(x) es estrictamente unimodal, entonces (para el caso de maximizacin).
Para x (< x2 < x* entonces f(x,) < f(x2) < f(x*)
y x* < x3 < X1 entonces f(x*) > f(x3) > f(x4)
Siendo x* el valor que optimiza la funcin f(x). Es decir f(x) x_ con x, < x2. existen
tres posibilidades a analizar para efectuar la eliminacin. Por ejemplo para el caso
de maximizacin.
a) Si f (X1) > f(x2) entonces x* < x2
b) Si f (X1) < f(x2) entonces X1< x*
c) Si f(x1) = f(x2) entonces x1< x* < x2
11
Bsqueda en un intervalo con derivadas Mtodo de bsqueda de Fibonacci El
mtodo de Fibonacci es un mtodo de bsqueda en un intervalo para minimizar
una funcin estrictamente cuasi-convexa.
Este mtodo es bastante eficiente para aproximar, bajo cierta tolerancia de error,
un punto mnimo o mximo en funciones unimodales de una sola variable. Este
mtodo tiene la ventaja de que, como no utiliza derivadas, puede calcular puntos
ptimos en funciones no diferenciales. Este mtodo supone que se conoce un
rango inicial de bsqueda.
Procedimiento
1.- Con el porcentaje de aproximacin requerido, se determina el valor de Fn, que
deber de utilizarse.
2 - Con el intervalo de bsqueda dado inicial, a < x* < b, se define el valor inicial L.
Lo - b - a
3.- Con la expresin
4.- Se procede a calcular los valores de xh x2> x,- a + A h x2= b - A, y se procede
a evaluar f(x,) y f(x2).
Optimizacin no restringida: problema sin restricciones, es decir, el problema se
reduce a max f(x).
Si f(x) es diferenciable, la condicin necesaria para que x = x sea optima es
f |x =x= 0, j = 1, 2,..., n
xj.
La condicin suficiente es que f(x) sea cncava.
Ejemplos de los problemas que se aplica la programacin NO Lineal:
Problema de transporte con descuentos por cantidad: El precio unitario de
transporte entre un origen y un destino es decreciente en funcin de la cantidad a
transportar.
Problema de flujo de cargas en un sistema elctrico: Las prdidas son no lineales
Problema de produccin con elasticidad en el precio y/o en el coste: Consideremos
que los precios unitarios disminuyen cuando vendemos un nmero importante de
productos, esto nos indica que la renta marginal disminuye cuando aumentan las
ventas. Es el caso de reducir el precio de venta a partir de cierta cantidad vendida:
cuando llevo vendido una cantidad importante le reduzco el precio de venta.
Extremos de la funcin: Los valores donde alcanza el mximo o el mnimo se llaman
extremos de la funcin.
12
4.3 ALGORITMO CON RESTRICCIONES
dx
13
No existe algoritmo general para manejar modelos no lineales, por el
comportamiento complicado de las funciones no lineales. Quiz el resultado ms
general aplicable al problema es el de las condiciones KKT. La tabla 2 de la seccin
correspondiente, muestra que a menos que f(X) y g(X) tengan buen comportamiento
(condiciones de convexidad y concavidad), las condiciones KKT solo son
necesarias (pero no suficientes) para alcanzar la optimalidad.
En esta seccin se presentan varios algoritmos que se pueden clasificar en general
como mtodos indirectos y directos. Con los mtodos indirectos se resuelve el
problema no lineal manejando uno o ms programas lineales derivados del
programa original. Los mtodos directos manejan el problema en su forma original.
Son varios los mtodos indirectos, pero solo veremos la programacin cuadrtica.
Entre los mtodos directos est el de combinaciones lineales, y presentaremos una
breve descripcin de la tcnica de maximizacin secuencial sin restricciones.
Programacin cuadrtica
14
La funcin XTDX define una forma cuadrtica. Se supone que la matriz D es
simtrica y negativa definida. Eso quiere decir que z es estrictamente cncava. Las
restricciones son lineales, lo que garantiza que el espacio de soluciones es convexo.
La solucin de este problema se basa en las condiciones KKT necesarias. Como z
es estrictamente cncava y el espacio de soluciones es convexo, esas condiciones
tambin son suficientes para tener un optimo global, como se ve en la tabla 2, de
la seccin correspondiente.
Se describir a el problema de programacin cuadrtica para el caso de la
maximizacin. Es trivial cambiar la formulacin para el caso de la minimizacin. El
problema se puede plantear como sigue:
En la optimizacin matemtica, la optimizacin con restricciones es el proceso
de optimizacin de una funcin objetivo con respecto a algunas variables
con restricciones en las mismas.
La funcin objetivo es, o bien una funcin de coste o funcin de energa que debe
ser minimizada, o una funcin de recompensa o funcin de utilidad, que ha de ser
maximizado.
Las restricciones pueden ser tanto restricciones duras que establecen condiciones
para las variables que se requieren para estar satisfecha, o restricciones blandas
que tienen algunos valores de las variables que estn penalizados en la funcin
objetivo si, y basados en la medida en que, las condiciones en las variables no son
satisfecho.
Restricciones de igualdad
Si el problema restringido slo tiene restricciones de igualdad, el mtodo de los
multiplicadores de Lagrange puede ser utilizado para convertirlo en un problema sin
restricciones cuyo nmero de variables es el nmero original de las variables ms
el nmero original de restricciones de igualdad.
Alternativamente, si las restricciones son todas las restricciones de igualdad y son
lineales, que se pueden resolver para algunas de las variables en trminos de los
otros, y la antigua pueden ser sustituidos de la funcin objetivo, dejando un
problema sin restricciones en un nmero menor de variables.
15