Está en la página 1de 12

Que es un problema de optimizacin?

Dentro de la investigacin operativa, las tcnicas de optimizacin se enfocan en determinar la poltica a seguir para maximizar o minimizar la respuesta del sistema. Dicha respuesta, en general, es un indicador del tipo Costo, Produccin, Ganancia, e tc, la cual es una funcin de la poltica seleccionada. Dicha respuesta se denomina objetivo, y la funcin asociada se llama funcin objetivo. Pero, que entendemos como poltica?. Una poltica es un determinado conjunto de valores que toman los factores que podemos controlar a fin de regular el rendimiento del sistema. Es decir, son las variables independientes de la funcin que la respuesta del sistema. Por ejemplo, supongamos que deseamos definir un mix de cantidad de operarios y horas trabajadas para producir lo mximo posible en una planta de trabajos por lotes. En este ejemplo, nuestro objetivo es la produccin de la planta, y las variables de decisin son la cantidad de operarios y la cantidad de horas trabajadas. Otros factores afectan a la produccin, como la productividad de los operarios, pero los mismos no son controlables por el tomado de decisiones. Este ltimo tipo de factores se denominan parmetros. En general, el quid de la cuestin en los problemas de optimizacin radica en que estamos limitados en nuestro poder de decisin. Por ejemplo, podemos tener un tope mximo a la cantidad de horas trabajadas, al igual que un rango de cantidad de operarios entre los que nos podemos manejar. Estas limitaciones, llamadas restricciones, reducen la cantidad de alternativas posibles, definiendo un espacio acotado de soluciones factibles (y complicando, de paso, la resolucin del problema). Observen que acabamos de hablar de soluciones factibles. Y es que, en optimizacin, cualquier vector con componentes apareadas a las variables independientes que satisfaga las restricciones, es una solucin factible, es decir, una poltica que es posible de implementar en el sistema. Dentro de las soluciones factibles, pueden existir una o ms soluciones ptimas, es decir, aquellas que, adems de cumplir con todas las restricciones, maximizan (o minimizan, segn sea el problema a resolver) el valor de la funcin objetivo. Resumiendo, un problema de optimizacin est compuesto de los siguientes elementos: Un conjunto de restricciones Un conjunto de soluciones factibles, el cual contiene todas las posibles combinaciones de valores de variables independientes que satisfacen las restricciones anteriores. Una funcin objetivo, que vincula las soluciones factibles con la performance del sistema. Modelado de sistemas Vs Resolucin de modelos Dentro de la prctica de la optimizacin, existen dos ramas relacionadas pero diferenciadas entre si. Por un lado, nos encontramos con el problema de cmo modelar adecuadamente el sistema bajo estudio, y por otro como resolver el modelo. En general, la rama matemtica de la IO se ocupa de buscar mejores mtodos de solucin, mientras que la rama ingenieril analiza formas de modelar sistemas reales. El ingeniero industrial, en su prctica profesional, se ocupa en general de modelar los sistemas, seleccionar un mtodo de resolucin y dejar que la computadora haga el resto. Sin embargo, es conveniente conocer el funcionamiento de cada metodologa, a fin de determinar cul es la ms adecuada para cada situacin, y modelar el problema de una forma amigable a dicho mtodo. Clasificacin de problemas de optimizacin

En base a su naturaleza, hay varias formas de clasificar un problema de optimizacin. Analizar en que categora entra es importante para definir el mtodo de solucin a utilizar, ya que no hay un mtodo nico para todos los posibles problemas. Para comenzar, una primer distincin la podemos realizar en base a la continuidad o no de las variables de decisin. Se dice que estamos frente a un problema de Optimizacin Continua cuando todas las variables de decisin pueden tomar cualquier valor perteneciente al conjunto de los reales. En el caso de trabajar con variables discretas (es decir, que solo puedan tomar valores enteros) nos enfrentamos a un problema de Optimizacin Combinatoria. Por raro que pueda parece, en general un problema de optimizacin combinatoria es ms complicado de resolver que uno de optimizacin continua. En el medio tenemos los problemas de Optimizacin Mixta es los cuales algunas variables son continuas y otras son discretas. En la prctica, estos problemas se resuelven en forma mas parecida a los problemas combinatorios que a los continuos. Un caso particular de optimizacin combinatoria es la Optimizacin Binaria, aquella en la cual todas sus variables estn restringidas a tomar uno de dos valores (en general, 0 y 1). Este caso es bastante raro de encontrar en la prctica, siendo mas habitual encontrar problemas combinatorios con algunas variables binarias. Otra clasificacin la podemos hacer en base a la naturaleza probabilstica del problema. Cuando podemos considerar que todas las variables son determinsticas, estamos ante un problema determinstico, en caso contrario nos enfrentamos a un problema estocstico. El modelado y resolucin de un problema estocstico es mucho mas complejo que el modelado de un problema determinstico.
Clasificacin de mtodos de resolucin Los mtodos de resolucin de problemas de optimizacin se pueden clasificar en tres tipos diferentes

Resolucin mediante clculo Resolucin mediante tcnicas de bsquedas Resolucin mediante tcnicas de convergencia de soluciones

Resolucin mediante clculo Los mtodos de resolucin por clculo apelan al calculo de derivadas para determinar para que valores del dominio la funcin presenta un mximo o un mnimo. Son mtodos de optimizacin muy robustos, pero que requieren mucho esfuerzo de cmputo y que tanto la funcin objetivo como las resticciones presenten determinadas condiciones (por ejemplo, que estn definidas, que sean continuas, etc). En general, no se suele apelar a estos mtodos en la ingeniera industrial, ya que los problemas no se ajustan a las restricciones de continuidad y tienen demasiadas variables como para que su tratamiento pueda ser eficiente. Resolucin mediante tcnicas de bsquedas Dentro de este apartado, podemos encontrar un grn abanico de tcnicas, desde el viejo mtodo de prueba y error hasta las modernas tcnicas de programacin matemtica. En forma genrica, consisten en el siguiente algoritmo: 1. 2. 3. 4. 5. Seleccionar una solucin inicial y hacerla la solucin actual Hacer Mejor Solucin = Solucin Actual Buscar n soluciones cercanas a la Solucin Actual Para cada una de las n soluciones cercanas hacer i. Si el valor de la funcin objetivo de la solucin a verificar es mayor (o menor) al valor generado por la solucin actual, hacer Mejor Solucin = Solucin Evaluada Si Mejor Solucin = Solucin Actual, Finalizar del procedimiento, en caso contrario Hacer Solucion Actual = Mejor Solucion y volver a 2)

Dentro de estos mtodos tenemos tcnicas para abarcar una gran variedad de problemas. Desde tcnicas exactas, como la Programacin Lineal (que se limita solo a problemas con un conjunto solucin convexo y

funcin objetivo y restricciones lineales) hasta las tcnicas metaheursticas de solucin aproximada como la Busqueda Tab. Resolucin mediante tcnicas de convergencia de soluciones Dentro de este grupo, tenemos las tcnicas mas recientemente desarrolladas. A diferencia del conjunto anterior, est compuesto casi completamente por tcnicas metaheursticas (o sea, que los resultados van a ser aproximadamente ptimos). Estos mtodos se basan en generar una gran cantidad de soluciones, determinar cuales son las mejores y, a partir de ellas, generar un nuevo conjunto de soluciones a analizar, repitiendo el proceso hasta que las soluciones generadas converjan en una (o sea, hasta la iteracin en la cual todas las soluciones generadas tengan un valor de funcin objetivo muy parecido). Las tcnicas mas conocidas de este grupo, aunque no las nicas, son todas las versiones de "Algoritmos Genticos"

Modelado de sistemas
Existen varias formas de modelar un sistema, dependiendo cada una de ellas del uso que debamos darle. Como un acercamiento inicial al problema, es bueno modelar al sistema como caja negra, a fin de reflejar sus entradas y salidas. Po ejemplo, en un sistema de produccin, podemos tener un modelo como el siguiente:

Ahora bien, hecho este primer acercamiento, es necesario realizar una abstraccin diferente para aplicar alguna tcnica de optimizacin. Podemos considerar al sistema, independientemente de sus entradas y salidas reales, como un sistema que recibe como entrada una determinada configuracin o poltica, y devuelve un valor asociado a su performance:

En su forma mas general, las entradas y salidas son vectores pero, en la mayora de los casos, la salida termina siendo un valor escalar. Observemos que el modelo anterior no guarda relacin con el modelo de caja negra previo (el que modela las entradas y salidas reales del sistema). Aqu lo que modelamos es el problema en s. Nuestro sistema fsico se reduce a un sistema lgico que representa la respuesta del mismo a cada posible configuracin.

Afectando la relacin entre entradas y salidas, tenemos otro vector que es el vector de Parmetros, es decir, todos aquellos factores que afectan la performance del sistema pero que no estn bajo nuestro control.

En base a este modelo, podemos listar las variables de decisin, los parmetros y las salidas, y en base a ello definir la funcin de transformacin del sistema, la cual bajo esta definicin coincide con nuestra funcin objetivo:

Tenemos ya una manera de conceptualizar nuestro sistema en base a como reacciona a los cambios de configuracin que definamos. Nos falta definir como modelar el conjunto de soluciones factibles. Siguiendo la

misma analoga de sistemas, podemos definir un sistema previo al sistema de anterior (a partir de ahora, sistema de respuesta) que lo alimente de soluciones factibles:

Dicho sistema recibe como entradas un listado de variables de decisin (con la indicacin de su naturaleza):

Y recibe como parmetros cada una de las restricciones:

Cada restriccin es un vector en el cual las componentes estn asociadas a las entradas del sistema de restricciones con la indicacin de los coeficientes que los afectan, mas dos componentes adicionales con el tipo de igualdad o desigualdad y el trmino independiente.

El modelo completo queda entonces como el siguiente:

En base a este, es fcil definir al modelo en forma cannica, mediante un sistema de inecuaciones y ecuaciones. El modelo en forma de cajas negras es bastante til a efectos de encapsular el sistema y modelarlo mediante un lenguaje de programacin. Esta definicin es independiente del mtodo de resolucin propuesto, por lo cual representa una buena va para reutilizar modelos.

Optimizacin Convexa
La Optimizacin Convexa es una rama de las tcnicas de Optimizacin que trata sobre tcnicas de minimizacin de funciones convexas sobre un dominio tambin convexo. Definamos primero que es una funcin convexa. Una funcin es convexa, o cncava hacia arriba, si, para todo par de puntos pertenecientes a su dominio, la recta que los une pertenece o est sobre la curva. En otras palabras, una funcin es convexa si el conjunto de puntos situados sobre su grfica es un conjunto convexo. Matemticamente, una funcin cumple con estas caractersticas si, para todo X e Y perteneciente a su dominio, con X<Y, y un todo T tal que 0<T<1, se verifica: F(TX + (1-T)Y) <= Tf(X) + (1-T)f(Y)

De mas esta decir que la funcin debe estar definida para todos los reales, al igual que su codominio. Un conjunto de puntos de un espacio vectorial real se denomina conjunto convexo si, para cada par de puntos pertenecientes al conjunto, la recta que los une tambin pertenece al conjunto. Matemticamente: Dado el conjunto C, si para todo (A;B) perteneciente a C y todo T perteneciente a [0;1], se cumple que (1-T)A + TB pertenece a C. Los problemas de optimizacin convexa tomar la forma de una funcin objetivo convexa a minimizar y un conjunto de restricciones que cumplen las siguientes condiciones:

Si son inecuaciones, son de la forma g(x) <= 0, siendo g una funcin convexa. Si son ecuaciones, son de la forma h(x) = 0, siendo h una funcin afn.

En realidad, las ecuaciones son redundantes, ya que se pueden reemplazar por un par de inecuaciones de la forma hi(x)<=0 y hi(x)<=0. Noten que si la funcin h(x) no es afn, -hi(x) es cncava, por lo cual el problema dejara de ser convexo. Cumpliendo las condiciones anteriores, nos aseguramos que el problema se puede resolver por los mtodos de optimizacin convexa. Es facil darse cuenta que, en el caso de necesitar maximizar una funcin concava, es fcil transformar el problema en uno de minimizacin de funcin convexa, haciendo ft = -f. Tambin, si las inecuaciones son de la forma h(x) >=0 podemos transformarlas a ht(x) <=0 mediante la transformacin ht = -h. Dentro de los mtodos de resolucin de estos tipos de problemas podemos nombrar los siguientes:

Mtodo Simplex (para problemas convexos lineales) Mtodos de punto interior Resolucin por elipsoides Resolucin por subgradientes Resolucin por proyeccin de subgradientes

En general, la mayora de los problemas de optimizacin con variables reales suelen entrar dentro de esta categora, por lo cual con el aprendizaje de este tipo de tcnicas tenemos gran parte del camino allanado. Dentro de los casos especiales, tenemos los siguentes tipos de problemas:

Programacin Lineal: Optimizacin convexa con funcin objetiva y restricciones lineales. Programacin Cuadrtica Convexa: Optimizacin convexa con restricciones lineales pero funcin objetivo cuadrtica. Programacin No Lineal Convexa: Optimizacin convexa con la funcin objetivo y/o las restricciones no lineales.

El problema genrico

Programacin Lineal

Los problemas de Programacin Lineal son problemas de optimizacin convexa en el cual tanto la funcin objetivo como las restricciones son funciones lineales. Si bien su definicin parece un tanto restrictiva, en realidad muchos de los problemas estudiados en la ingeniera industrial entran dentro de esta categora, por ejemplo:

Asignacin de rutas de transporte Balance de lneas de produccin Asignacin de procesos a equipos de procesamiento Definicin de mix de productos Definicin de mezcla de componentes para productos Nivelacin de recursos Etc

Un problema de programacin lineal se caracteriza porque su conjunto de soluciones factibles forma un politopo (o sea, la generalizacin de un polgono para n dimensiones). Por su propia naturaleza, al estar los gradientes difinidos en una solo direccin, los puntos extremos se encuentran en la frontera del politopo, mas especficamente en algunos de sus vrtices. Esto permiti el desarrollo del muy eficiente Mtodo Simplex para su resolucin, que se aprovecha de esta particularidad para buscar soluciones solo en dichos puntos.

Particularidades de los problemas de programacin lineal.


Dentro de los problemas de optimizacin, sin duda los ms utilizados y estudiados son los problemas de Programacin Lineal. La programacin lineal presenta la particularidad que sus problemas son fciles de modelar pero, a su vez, cubren una amplia gama de sistemas reales. Incluso, para muchos sistemas no lineales, es una muy buena aproximacin linealizar su comportamiento. Por otro lado, por sus caractersticas geomtricas, los problemas de optimizacin convexa lineal se pueden resolver mucho ms fcilmente que el resto, sin demandar demasiados recursos. Analicemos un poco la geometra subyacente a un programa de programacin lineal. Dado que las restricciones deben ser funciones afines, su espacio de soluciones es un tipo especial de espacio convexo. Es especial porque es un espacio envuelto por un politopo convexo. El politopo es la generalizacin de un polgono bidimensional a cualquier nmero de dimensiones. En una dimensin es una lnea, en dos un polgono, en tres un poliedro y en mas de tres un n-politopo. La descomposicin mas simple que se puede hacer de un n-politopo en un conjunto de otros n- politopos es a travs de un n-simplex. Un simplex es la generalizacin de un triangulo a cualquier nmero de dimensiones (en tres dimensiones, por ejemplo, es un tetraedro). Seleccionando cualquier vrtice de un n-politopo, podemos armar un simplex uniendo dicho vrtice con los n vrtices directamente conectados al mismo. Por ejemplo:

Ahora bien, estudiemos el caso de un problema de programacin lineal con una sola variable de decisin. Supongamos que tenemos el siguiente caso, con su grfica correspondiente:

Supongamos tambin que no tenemos forma de visualizar la grfica, por lo cual debemos buscar un mtodo numrico para minimizar la funcin. Una buena forma podra ser seleccionar un punto al azar dentro del conjunto solucin (en este caso, cualquier valor mayor o igual 3 y menor o igual a 10) y, a continuacin, seleccionar un punto en su vecindad. Como no podemos ver la grfica, pero sabemos que es una funcin lineal, estamos seguro que su gradiente es constante en todos los puntos, es decir, o la recta es horizontal, o es creciente o es decreciente. Por lo tanto, comparando los valores para los dos puntos podemos estar seguros en qu sentido decrece la funcin:

Definido el sentido de decrecimiento, resulta que movindonos en dicho sentido la funcin objetivo es cada vez mas chica. Pero resulta que no nos podemos mover indefinidamente, ya que el conjunto de soluciones factibles se encuentra acotado, por lo cual el mnimo de la funcin, sujeto a este conjunto de restricciones, est en el extremo del segmento con menor valor de funcin objetivo:

Es fcil darse cuenta que, para cualquier problema de optimizacin convexa lineal con una variable de decisin, los mximos y mnimos se encuentran en los extremos del segmento de recta (salvo que la recta sea horizontal, teniendo all el problemas infinitas soluciones con mximos y mnimos igual al valor constante de la funcin objetivo). O sea, basta con revisar solamente estos dos puntos para solucionar nuestro problema de optimizacin. Hemos encontrado una regla para, en caso que el problema tenga una sola variable de decisin, revisar 2 puntos en vez de infinitos puntos. Veamos si se puede extrapolar a dos dimensiones:

Nuevamente, al ser nuestra funcin lineal, el gradiente es constante para todos los puntos, por lo cual seleccionando un punto al azar dentro del conjunto solucin, podemos desplazarnos hacia el mnimo o mximo buscado. Nuevamente, no nos vamos a poder mover indefinidamente, sin que en algn momento nos vamos a chocar con una de las fronteras formada por las restricciones:

Salvo que el gradiente sea perpendicular a dicha frontera, resulta que, dentro de esta, vamos a tener una direccin de movimiento en a cual la funcin objetivo crece en un sentido y decrece en el inverso. O sea, una vez en la frontera nos encontramos con un problema que, haciendo uso de alguna variable ficticia y un cambio de coordenadas, es igual al problema de una dimensin. Por lo tanto, el mnimo y el mximo de la frontera van a estar en sus extremos. Pero, resulta que estos extremos coinciden con los vrtices de nuestro polgono, y cada vrtice conecta dos fronteras, por lo cual cabe la posibilidad que el otro extremo de la nueva frontera descubierta tenga un valor mayor o menos al del vrtice actual:

La analoga con el problema de una dimensin salta a la vista. Si queremos encontrar el mnimo o el mximo de la funcin con su dominio restringido, solo tenemos que comparar los valores de la funcin objetivo en los vrtices del polgono. Esta misma conclusin es extensible a cualquier nmero de dimensiones, por lo cual, en un problema convexo lineal, la bsqueda de los ptimos se limita a la bsqueda en los vrtices:

Esto que acabamos de explicar, es la base geomtrica del mtodo SIMPLEX. Este, a fin de optimizar la funcin, se limita a hallar los vrtices, seleccionar uno al azar, formar el n-simplex correspondiente, analizar los vrtices de dicho n-simplex, moverse al que tenga valor ptimo y volver a repetir el proceso de armado de n-simplex y comparacin.

También podría gustarte