Está en la página 1de 8

En matem�ticas, estad�sticas, ciencias emp�ricas, ciencia de la computaci�n, o

econom�a, optimizaci�n matem�tica (o bien, optimizaci�n o programaci�n matem�tica)


es la selecci�n del mejor elemento (con respecto a alg�n criterio) de un conjunto
de elementos disponibles.1?

En el caso m�s simple, un problema de optimizaci�n consiste en maximizar o


minimizar una funci�n real eligiendo sistem�ticamente valores de entrada (tomados
de un conjunto permitido) y computando el valor de la funci�n. La generalizaci�n de
la teor�a de la optimizaci�n y t�cnicas para otras formulaciones comprende un �rea
grande de las matem�ticas aplicadas. De forma general, la optimizaci�n incluye el
descubrimiento de los "mejores valores" de alguna funci�n objetivo dado un dominio
definido, incluyendo una variedad de diferentes tipos de funciones objetivo y
diferentes tipos de dominios.

�ndice
1 Problemas de optimizaci�n
2 Notaci�n
2.1 M�nimo y M�ximo valor de una funci�n
2.2 Argumentos de la entrada �ptima
3 Historia
4 Subcampos principales
5 Clasificaci�n de puntos cr�ticos y extremos
5.1 Factibilidad del problema
5.2 Existencia
5.3 Condiciones necesarias de optimalidad
5.4 Condiciones suficientes de optimalidad
5.5 Sensibilidad y continuidad del �ptimo
5.6 C�lculos de optimizaci�n
6 T�cnicas de optimizaci�n computacional
6.1 Algoritmos de optimizaci�n
6.2 M�todos iterativos
6.2.1 Convergencia global
6.3 Heur�sticas
7 V�ase tambi�n
8 Referencias
9 Enlaces externos
Problemas de optimizaci�n
Un problema de optimizaci�n puede ser representado de la siguiente forma:

Dada: una funci�n f : A {\displaystyle \to } {\displaystyle \to } R.


Buscar: un elemento x0 en A tal que f(x0) = f(x) para todo x en A (�minimizaci�n�)
o tal que f(x0) = f(x) para todo x en A (�maximizaci�n�).
Tal formulaci�n es llamada un problema de optimizaci�n o un problema de
programaci�n matem�tica (un t�rmino no directamente relacionado con la programaci�n
de computadoras pero todav�a en uso, por ejemplo en la programaci�n lineal - v�ase
la secci�n Historia). Muchos problemas te�ricos y del mundo real pueden ser
modelados mediante este esquema general. Problemas formulados usando esta t�cnica
en los campos de f�sica y visi�n por computadora se refieren a la t�cnica como
minimizaci�n de la energ�a, hablando del valor de la funci�n f representando la
energ�a del sistema que est� siendo modelado.

T�picamente, A es alg�n subconjunto del espacio eucl�deo Rn, con frecuencia


delimitado por un conjunto de restricciones, igualdades o desigualdades que los
elementos de A tienen que satisfacer. El dominio A de f es llamado el espacio de
b�squeda o el conjunto de elecci�n, mientras que los elementos de A son llamados
soluciones candidatas o soluciones factibles.

La funci�n f es llamada, diversamente, funci�n objetivo, funci�n de costo


(minimizaci�n),2? funci�n de utilidad (maximizaci�n), funci�n de utilidad indirecta
(minimizaci�n),3? o, en ciertos campos, funci�n de energ�a, o energ�a funcional.
Una soluci�n factible que minimice (o maximice, si este es el prop�sito) la funci�n
objetivo, es llamada una soluci�n �ptima.

Por convenio, el formato est�ndar de un problema de optimizaci�n est� declarado en


t�rminos de minimizaci�n. Generalmente, a menos que ambas, la funci�n objetivo y la
regi�n factible sean convexas en un problema de minimizaci�n, puede haber varios
m�nimos locales, donde un m�nimo local x* se define como un punto para el cual
existe alg�n d > 0, donde para todo x tal que

{\displaystyle \|\mathbf {x} -\mathbf {x} ^{*}\|\leq \delta \,}


{\displaystyle \|\mathbf {x} -\mathbf {x} ^{*}\|\leq \delta \,}
la expresi�n

{\displaystyle f(\mathbf {x} ^{*})\leq f(\mathbf {x} )} {\displaystyle f(\mathbf


{x} ^{*})\leq f(\mathbf {x} )}
es verdadera; es decir, en alguna regi�n alrededor de x* todos los valores de la
funci�n son mayores que o iguales al valor en ese punto. El m�ximo local se define
de modo similar.

Un gran n�mero de algoritmos propuestos para resolver problemas no-convexos �


incluyendo a la mayor�a de los solucionadores disponibles comercialmente � no son
capaces de hacer una distinci�n entre soluciones �ptimas locales y soluciones
�ptimas rigurosas, y tratan a las primeras como soluciones actuales del problema
original. La rama de las matem�ticas aplicadas y el an�lisis num�rico que se
responsabiliza con el desarrollo de algoritmos deterministas que son capaces de
garantizar convergencia en tiempo finito a la soluci�n �ptima real de un problema
no convexo se llama optimizaci�n global.

Notaci�n
Los problemas de optimizaci�n se expresan a menudo con una notaci�n especial. A
continuaci�n se muestran algunos ejemplos.

M�nimo y M�ximo valor de una funci�n


Considere la siguiente notaci�n:

{\displaystyle \min _{x\in \mathbb {R} }\;(x^{2}+1)} {\displaystyle \min _{x\in


\mathbb {R} }\;(x^{2}+1)}
Esta denota el valor m�nimo de la funci�n objetivo {\displaystyle x^{2}+1}
{\displaystyle x^{2}+1}, cuando x se selecciona del conjunto de n�meros reales
{\displaystyle \mathbb {R} } \mathbb R. El valor m�nimo en este caso es
{\displaystyle 1} 1 y ocurre para {\displaystyle x=0} {\displaystyle x=0}.

De modo similar, la notaci�n

{\displaystyle \max _{x\in \mathbb {R} }\;2x} {\displaystyle \max _{x\in \mathbb
{R} }\;2x}
expresa el valor m�ximo de la funci�n objetivo 2x, siendo x cualquier n�mero real.
En este caso, no existe tal m�ximo, luego no hay un valor �ptimo acotado.

Argumentos de la entrada �ptima


Considerese la siguiente expresi�n:

{\displaystyle {\underset {x\in (-\infty ,-1]}{\operatorname


{arg\,min} }}\;x^{2}+1,} {\displaystyle {\underset {x\in (-\infty ,-1]}
{\operatorname {arg\,min} }}\;x^{2}+1,}

o de manera equivalente
{\displaystyle {\underset {x}{\operatorname {arg\,min} }}\;x^{2}+1,\;{\text{sujeto
a:}}\;x\in (-\infty ,-1].} {\displaystyle {\underset {x}{\operatorname
{arg\,min} }}\;x^{2}+1,\;{\text{sujeto a:}}\;x\in (-\infty ,-1].}

Esta representa el valor (o valores) del argumento de x en el intervalo


{\displaystyle (-\infty ,-1]} {\displaystyle (-\infty ,-1]} que minimizan (o
maximizan) la funci�n objetivo x2 + 1 (y no el valor m�nimo que alcanza la funci�n
objetivo para dichos valores). En este caso, la respuesta es x = -1, puesto que x =
0 no es factible, es decir no pertenece al dominio del problema.

De modo similar,

{\displaystyle {\underset {x\in [-5,5],\;y\in \mathbb {R} }{\operatorname


{arg\,max} }}\;x\cos(y),} {\displaystyle {\underset {x\in [-5,5],\;y\in \mathbb {R}
}{\operatorname {arg\,max} }}\;x\cos(y),}
que equivalente a

{\displaystyle {\underset {x,\;y}{\operatorname {arg\,max} }}\;x\cos(y),\;


{\text{sujeto a:}}\;x\in [-5,5],\;y\in \mathbb {R} ,} {\displaystyle {\underset
{x,\;y}{\operatorname {arg\,max} }}\;x\cos(y),\;{\text{sujeto a:}}\;x\in [-
5,5],\;y\in \mathbb {R} ,}
representa al par {\displaystyle (x,y)} (x,y) (o pares) que minimizan (o maximizan)
el valor de la funci�n objetivo {\displaystyle x\cos(y)} {\displaystyle x\cos(y)},
con la restricci�n a�adida de que x se encuentra en el intervalo {\displaystyle [-
5,5]} {\displaystyle [-5,5]} (nuevamente, el valor m�nimo de la funci�n no
importa). En este caso, las soluciones son los pares de la forma (5, 2kp) y (-5,
(2k+1)p), donde k recorre todos los enteros.

Arg min y arg max a veces aparecen escritos como argmin y argmax, y quieren decir
argumento del m�nimo y argumento del m�ximo.

Historia
Pierre de Fermat y Joseph Louis Lagrange encontraron f�rmulas basadas en el c�lculo
para identificar valores �ptimos, mientras que Isaac Newton y Carl Friedrich Gauss
propusieron m�todos iterativos para aproximar el �ptimo. Hist�ricamente, el t�rmino
programaci�n lineal para referirse a ciertos problemas de optimizaci�n se debe a
George B. Dantzig, aunque gran parte de la teor�a hab�a sido introducida por Leonid
Kantorovich en 1939. Dantzig public� el Algoritmo s�mplex en 1947 y John von
Neumann desarroll� la teor�a de la dualidad en el mismo a�o.

El t�rmino programaci�n en este contexto no se refiere a la programaci�n de


computadoras. M�s bien, el t�rmino viene del uso de programa por el ej�rcito de
Estados Unidos al referirse a la propuesta de entrenamiento y planificaci�n
log�stica, el cual fue el problema estudiado por Dantzig en aquel entonces.

Otros investigadores importantes en el campo de la optimizaci�n matem�tica fueron


los siguientes:[cita requerida]

Richard Bellman
Ronald A. Howard
Narendra Karmarkar
William Karush
Leonid Khachiyan
Bernard Koopman
Harold W. Kuhn
Joseph Louis Lagrange
L�szl� Lov�sz
Arkadi Nemirovski
Yurii Nesterov
Boris Polyak
Lev Pontryagin
James Renegar
R. Tyrrell Rockafellar
Cornelis Roos
Naum Z. Shor
Michael J. Todd
Albert Tucker
Michael Omar Cu�as
Subcampos principales
Programaci�n convexa estudia el caso en que la funci�n objetivo es convexa
(minimizaci�n) o c�ncava (maximizaci�n) y el conjunto de restricciones es convexo.
Este puede ser visto como un caso particular de la programaci�n no lineal o como la
generalizaci�n de la programaci�n lineal o de la convexa cuadr�tica.
Programaci�n lineal (PL): es un tipo de programaci�n convexa, en el que la funci�n
objetivo f es lineal y el conjunto de restricciones se especifica usando solamente
ecuaciones e inecuaciones lineales. Dicho conjunto es llamado poliedro o politopo
si est� acotado.
Programaci�n c�nica: es una forma general de la programaci�n convexa. PL, PCSO y
PSD pueden todos ser vistos como programas c�nicos con el tipo de cono apropiado.
Programaci�n de cono de segundo orden (PCSO): es un tipo de programaci�n convexa e
incluye ciertos tipos de problemas de programaci�n cuadr�tica.
Programaci�n semidefinida (PSD): es un subcampo de la optimizaci�n convexa donde
las variables fundamentales son matrices semidefinidas. Es una generalizaci�n de la
programaci�n lineal y la programaci�n cuadr�tica convexa.
Programaci�n geom�trica: es una t�cnica por medio de la cual el objetivo y las
restricciones de desigualdad expresados como polinomios y las restricciones de
igualdad como monomios, pueden ser transformados en un programa convexo.
Programaci�n con enteros o Programaci�n entera: estudia programas lineales en los
cuales algunas o todas las variables est�n obligadas a tomar valores enteros. Esta
no es convexa y en general es mucho m�s compleja que la programaci�n lineal
regular.
Programaci�n cuadr�tica: permite a la funci�n objetivo tener t�rminos cuadr�ticos,
mientras que el conjunto factible puede ser especificado con ecuaciones e
inecuaciones lineales. Para formas espec�ficas del t�rmino cuadr�tico, esta es un
tipo de programaci�n convexa.
Programaci�n fraccionaria: estudia la optimizaci�n de razones de dos funciones no
lineales. La clase especial de programas fraccionarios c�ncavos puede ser
transformada a un problema de optimizaci�n convexa.
Programaci�n no lineal: estudia el caso general en el que la funci�n objetivo, o
las restricciones, o ambos, contienen partes no lineales. Este puede o no, ser un
programa convexo. En general, si el programa es convexo afecta la dificultad de
resoluci�n.
Programaci�n estoc�stica u Optimizaci�n estoc�stica: estudia el caso en el que
alguna de las restricciones o par�metros depende de variables aleatorias.
Programaci�n robusta: como la programaci�n estoc�stica, es un intento por capturar
la incertidumbre en los datos fundamentales del problema de optimizaci�n. Esto se
hace mediante el uso de variables aleatorias, pero en cambio, el problema es
resuelto teniendo en cuenta imprecisiones en los datos de entrada.
Optimizaci�n combinatoria: se preocupa de los problemas donde el conjunto de
soluciones factibles es discreto o puede ser reducido a uno.
Optimizaci�n dimensional-infinita: estudia el caso donde el conjunto de soluciones
factibles es un subconjunto de un espacio de dimensi�n infinita, por ejemplo un
espacio de funciones.
Heur�sticas y Metaheur�sticas: hacen suposiciones sobre el problema que est� siendo
optimizado. Usualmente, las heur�sticas no garantizan que cualquier soluci�n �ptima
sea encontrada. Luego, las heur�sticas son usadas para encontrar soluciones
aproximadas para muchos problemas de optimizaci�n complicados.
Satisfacci�n de restricci�n: estudia el caso en el cual la funci�n objetivo f es
constante (esta es usada en inteligencia artificial, particularmente en
razonamiento automatizado).
Programaci�n disyuntiva: se usa cuando al menos una restricci�n puede ser
satisfecha pero no todas. Esta es de uso particular en la programaci�n en un n�mero
de subcampos. Las t�cnicas son dise�adas principalmente para la optimizaci�n en
contextos din�micos (es decir, toma de decisiones con el transcurso del tiempo).
C�lculo de variaciones: busca optimizar un objetivo definido sobre muchos puntos
con el tiempo, considerando como la funci�n objetivo cambia si el cambio es peque�o
en el camino de elecci�n. Ls teor�a del Control �ptimo es una generalizaci�n de
�ste.
Programaci�n din�mica estudia el caso en el que la estrategia de optimizaci�n se
basa en la divisi�n del problema en subproblemas m�s peque�os. La ecuaci�n que
describe la relaci�n entre estos subproblemas se llama ecuaci�n de Bellman.
Programaci�n matem�tica con restricciones de equilibrio es donde las restricciones
incluyen desigualdades variables o complementarias.
Clasificaci�n de puntos cr�ticos y extremos
Factibilidad del problema
La solubilidad del problema, tambi�n llamada factibilidad del problema, es la
cuesti�n de si existe alguna soluci�n factible, al margen de su valor objetivo.
Este puede ser considerado como el caso especial de la optimizaci�n matem�tica
donde el valor objetivo es el mismo para toda soluci�n, y as� cualquier soluci�n es
�ptima.

Muchos algoritmos de optimizaci�n necesitan comenzar a partir de un punto factible.


Una v�a para obtener tal punto es relajar las condiciones de factibilidad usando
una variable de holgura; con suficiente holgura, cualquier punto de partida es
factible. Entonces, se minimiza esa variable de holgura hasta que la holgura sea
nula o negativa.

Existencia
El teorema de Weierstrass afirma que una funci�n real y continua en un conjunto
compacto alcanza su valor m�ximo y m�nimo. De forma m�s general, una funci�n semi-
continua inferior en un conjunto compacto alcanza su m�nimo; una funci�n semi-
continua superior en un conjunto compacto alcanza su m�ximo.

Condiciones necesarias de optimalidad


Uno de los teoremas de Fermat asegura que los �ptimos de los problemas irrestrictos
son encontrados en los puntos estacionarios, donde la primera derivada de la
funci�n objetivo es cero (o su gradiente nulo). De forma m�s general, tambi�n
pueden ser encontrados en los puntos cr�ticos donde la primera derivada o el
gradiente de la funci�n objetivo no est� definido, o en la frontera del conjunto de
elecci�n. Una ecuaci�n (o conjunto de ecuaciones) indicando que la(s) primera(s)
derivada(s) es(son) igual(es) a cero en un �ptimo interior se llama una condici�n
de primer orden o un conjunto de condiciones de primer orden.

Los �ptimos de los problemas con restricciones de desigualdad son en cambio


encontrados mediante el m�todo de los multiplicadores de Lagrange. Este m�todo
computa un sistema de desigualdades llamado Condiciones de Karush�Kuhn�Tucker o
condiciones de holguras complementarias, las cuales se usan entonces para calcular
el �ptimo.

Condiciones suficientes de optimalidad


Mientras la prueba de la primera derivada identifica los puntos que pueden ser
extremos, esta prueba no distingue si un punto es m�nimo, m�ximo, o ninguno de los
dos. Cuando la funci�n objetivo es dos veces diferenciable, estos casos pueden ser
distinguidos estudiando la segunda derivada o la matriz de las segundas derivadas
(llamada matriz Hessiana),en problemas irrestrictos, o la matriz de las segundas
derivadas de la funci�n objetivo y las restricciones llamada la matriz Hessiana
orlada, en problemas restrictos.

Las condiciones que distinguen a los m�ximos, o m�nimos, de otros puntos


estacionarios son llamadas condiciones de segundo orden. Si un candidato a soluci�n
satisface las condiciones de primer orden y las condiciones de segundo orden
tambi�n, es suficiente para establecer, al menos, optimalidad local.

Sensibilidad y continuidad del �ptimo


El teorema de la envoltura describe como el valor de una soluci�n �ptima cambia
cuando un par�metro subyacente cambia. El proceso que computa este cambio es
llamado est�tica comparativa.

El teorema del m�ximo de Claude Berge (1963) describe la continuidad de una


soluci�n �ptima como una funci�n de par�metros subyacentes.

C�lculos de optimizaci�n
Para los problemas irrestrictos con funciones dos veces diferenciables, algunos
puntos cr�ticos pueden ser encontrados detectando los puntos donde el gradiente de
la funci�n objetivo es cero (es decir, los puntos estacionarios). De forma m�s
general, un subgradiente cero certifica que un m�nimo local ha sido encontrado para
los problemas de minimizaci�n con funciones convexas u otras funciones de
Lipschitz.

Adem�s, los puntos cr�ticos pueden ser clasificados usando la definitud de la


matriz Hessiana: si es definida positiva en un punto cr�tico, entonces el punto es
un m�nimo local; si es definida negativa, entonces el punto es un m�ximo local;
finalmente, si es indefinida, entonces el punto es alg�n tipo de punto de
ensilladura.

Los problemas restrictos pueden con frecuencia ser transformados en problemas


irrestrictos con ayuda de los multiplicadores de Lagrange. La relajaci�n
Lagrangiana puede tambi�n proveer soluciones aproximadas a dif�ciles problemas
restrictos.

Cuando la funci�n objetivo es convexa, entonces cualquier m�nimo local ser� tambi�n
un m�nimo global. Existen t�cnicas num�ricas eficientes para minimizar funciones
convexas, por ejemplo los m�todos de punto interior.

T�cnicas de optimizaci�n computacional


Para resolver problemas, los investigadores pueden usar algoritmos que terminen en
un n�mero finito de pasos, o m�todos iterativos que convergen a una soluci�n (en
alguna clase espec�fica de problemas), o heur�sticas que pueden proveer soluciones
aproximadas a algunos problemas (aunque sus iteraciones no convergen
necesariamente).

Algoritmos de optimizaci�n
Algoritmo Simplex de George Dantzig, dise�ado para la programaci�n lineal.
Extensiones del algoritmo Simplex, dise�ados para la programaci�n cuadr�tica y para
la programaci�n lineal-fraccionaria.
Variantes del algoritmo Simplex que son especialmente apropiadas para la
optimizaci�n de redes.
Algoritmos combinatorios.
M�todos iterativos
Los m�todos iterativos usados para resolver problemas de programaci�n no lineal
difieren seg�n lo que eval�en: Hessianas, gradientes, o solamente valores de
funci�n. Mientras que evaluando Hessianas (H) y gradientes (G) mejora la velocidad
de convergencia, tales evaluaciones aumentan la complejidad computacional (o costo
computacional) de cada iteraci�n. En algunos casos, la complejidad computacional
puede ser excesivamente alta.
Un importante criterio para los optimizadores es justo el n�mero de evaluaciones de
funciones requerido, como este con frecuencia es de por s� un gran esfuerzo
computacional, usualmente mucho m�s esfuerzo que el del optimizador en s�, ya que
en su mayor�a tiene que operar sobre N variables. Las derivadas proveen informaci�n
detallada para los optimizadores, pero son a�n m�s costosas de calcular, por
ejemplo aproximando el gradiente toma al menos N+1 evaluaciones de funciones. Para
la aproximaci�n de las segundas derivadas (agrupadas en la matriz Hessiana) el
n�mero de evaluaciones de funciones es de orden N�. El m�todo de Newton requiere
las derivadas de Segundo orden, por lo tanto por cada iteraci�n el n�mero de
llamadas a funci�n es de orden N�, pero para el optimizador de un gradiente puro
m�s simple es de orden N. Sin embargo, los optimizadores de gradiente necesitan
usualmente m�s iteraciones que el algoritmo de Newton. Ser mejor con respecto al
n�mero de llamadas a funciones depende del problema en s�.

M�todos que eval�an Hessianas (o aproximan Hessianas, usando diferencias finitas):


M�todo de Newton.
Programaci�n secuencial cuadr�tica: un m�todo de Newton basado en problemas
restrictos de peque�a-mediana escala. Algunas versiones pueden manejar problemas de
gran dimensi�n.
M�todos que eval�an gradientes o aproximan gradientes usando diferencias finitas (o
incluso subgradientes):
M�todos Quasi-Newton: m�todos iterativos para problemas medianos-grandes (ejemplo
N<1000).
M�todos de gradiente conjugado: m�todos iterativos para problemas grandes. (En
teor�a, estos m�todos terminan en un n�mero finito de pasos con funciones objetivo
cuadr�ticas, pero esta terminaci�n finita no se observa en la pr�ctica en
computadoras de precisi�n finita.)
M�todos de punto interior: esta es una gran clase de m�todos para la optimizaci�n
restricta. Algunos m�todos de punto interior usan solamente informaci�n del
subgradiente, y otros requieren la evaluaci�n de las Hessianas.
Descenso del gradiente (alternativamente, descenso pronunciado o ascenso
pronunciado): un m�todo lento de inter�s te�rico e hist�rico, el cual ha sido
renovado para encontrar soluciones aproximadas de problemas enormes.
M�todo del subgradiente: un m�todo iterativo para grandes funciones de Lipschitz
localmente usando gradientes generalizados.
M�todos que eval�an solamente valores de funciones: si un problema es continuamente
diferenciable, entonces los gradientes pueden ser aproximados usando diferencias
finitas, en tal caso puede ser usado un m�todo basado en gradiente.
M�todos de interpolaci�n.
M�todos de b�squeda de patrones, los cuales tienen mejores propiedades de
convergencia que la heur�stica de Nelder-Mead.
Convergencia global
De modo general, si la funci�n objetivo no es una funci�n cuadr�tica, entonces
muchos m�todos de optimizaci�n usan otros m�todos para garantizar que alguna
subsecuencia de iteraciones converge a una soluci�n �ptima. El primer m�todo
popular que garantiza convergencia se apoya en b�squedas lineales, el cual optimiza
una funci�n en una dimensi�n. Un segundo y popularizado m�todo para garantizar
convergencia usa regiones de confianza. Ambos b�squedas lineales y regiones de
confianza son usados en m�todos modernos de optimizaci�n no diferenciable.
Usualmente un optimizador global es mucho m�s lento que los optimizadores locales
avanzados (por ejemplo BFGS), por lo tanto con frecuencia un optimizador global
eficiente puede ser construido por el inicio del optimizador local de diferentes
puntos de partida.

Heur�sticas
Adem�s de los algoritmos (terminaci�n finita) y los m�todos iterativos
(convergentes), existen heur�sticas que pueden proveer soluciones aproximadas a
algunos problemas de optimizaci�n:
Evoluci�n diferencial.
Algoritmo de b�squeda diferencial.
Relajaci�n Din�mica.
Algoritmos gen�ticos.
Ascenso de monta�as.
Nelder-Mead: una heur�stica popular por aproximar la minimizaci�n (sin llamadas a
gradientes).
Optimizaci�n por enjambre de part�culas.
Optimizaci�n artificial de la colonia de abejas.

También podría gustarte