VII Jornadas de ASEPUMA 1.- Introducción La Programación Matemática Clásica puede definirse como el conjunto de técnicas con las que la Matemática aborda el estudio general de los problemas de optimización mono-objetivo. El problema clásico de la teoría de la optimización consiste en determinar o elegir, de entre todas las alternativas posibles, aquella que posee un mayor grado de deseabilidad para el decisor, siendo ésta la solución óptima. Este planteamiento supone implícitamente que el criterio en el que están recogidas las preferencias del decisor se puede representar matemáticamente a través de una función, llamada “función objetivo”, que nos permitirá ordenar las decisiones posibles mediante la asignación, a cada una de ellas, de un índice de deseabilidad. Muchos de los problemas que se plantean en la vida real tienen esta estructura lógica común: la búsqueda de la mejor solución de cierto problema bajo determinadas restricciones. Ahora bien, pocas veces es posible evaluar una situación y decidir en base a un criterio único; son muchos los problemas de naturaleza económica que se caracterizan porque en la elección de la mejor decisión se han de tener en cuenta varios criterios y, por tanto, se desea alcanzar más de un objetivo. La programación multiobjetivo y, en general, la teoría de la decisión multicriterio, se encargan de la resolución de este tipo de problemas. En la formulación clásica, los problemas de Programación Matemática establecen las funciones objetivo y las restricciones con criterios de lógica binaria, aún cuando en la realidad los problemas de decisión no suelen plantearse en esos términos. La información con que cuenta el modelizador matemático respecto de los objetivos y preferencias del decisor empresarial, suele estar expresada en términos imprecisos, relajados y, por tanto, idóneos para ser tratados con herramientas de la Teoría de los Subconjuntos Difusos, que proporciona una lógica flexible y mejor adaptada al pensamiento humano que la clásica. En este trabajo nos apoyaremos en la teoría de los Subconjuntos Difusos y en la Teoría de la Posibilidad para modelizar los modos de razonamiento no preciso, que juegan un papel esencial en la toma de decisiones racionales en entornos de incertidumbre e imprecisión. Presentaremos una serie de algoritmos que nos permitirán resolver problemas de programación multiobjetivo con coeficientes difusos utilizando como resolutor de problemas el entorno MATLAB y su Toolbox de Optimización. 70 Arenas, Bilbao, Jimenez y Rodriguez 2.- Programación Multiobjetivo La Programación Multiobjetivo puede definirse como una parte de la Investigación Operativa que trata de proporcionar métodos útiles –eficientes- para la toma de decisiones sobre problemas que incluyen diversidad de objetivos, a veces contradictorios, que son evaluados de acuerdo a múltiples criterios y donde no es evidente la mejor u óptima alternativa. Las llamadas técnicas para la toma de decisión multicriterio se suelen dividir en dos grandes bloques, según las características de los problemas que afronten. Si el número de alternativas a considerar por parte del decisor es finito, el problema multiobjetivo será discreto y los métodos para su resolución se engloban en las Técnicas de Decisión Multiatributo; de la búsqueda de alternativas óptimas dentro de un conjunto de decisiones continuo se encargan las Técnicas de Decisión Multiobjetivo. El trabajo que vamos a desarrollar se centra en este último tipo de técnicas, concretamente, trabajaremos con problemas de maximización de una función vectorial lineal cuyo conjunto factible viene definido por funciones lineales. 2.1.- Conceptos básicos en Programación Multiobjetivo. Precisamos, a continuación, algunos conceptos fundamentales en la toma de decisiones multiobjetivo: Centro decisor: es la persona o grupo de personas que debe tomar la decisión final, teniendo en cuenta los objetivos y sopesando, según su criterio, la importancia relativa de cada uno de ellos. El Modelizador es el agente encargado de seleccionar el método cuantitativo de decisión, extrayendo del mismo las consecuencias o propiedades que permitan, conocidas las preferencias del Decisor, tomar la decisión o decisiones que más se ajusten a ellas. En función del flujo de información que se establezca entre estos dos agentes aparecen las distintas técnicas para la resolución del problema. Atributo El término atributo hace referencia a las características que describen cada una de las alternativas disponibles en una situación de decisión. Para Hwang y Masud (1979), los atributos son las características, cualidades o parámetros de comportamiento de las alternativas. Objetivos: Los objetivos representan direcciones de mejora o preferencia de los atributos. Es decir, el objetivo recoge los deseos del decisor indicando en qué dirección debe caminarse para encontrar una alternativa adecuada. Para estas direcciones de 71 VII Jornadas de ASEPUMA mejora sólo se admiten dos posibilidades: maximizar (se desea más del atributo) o minimizar (se desea menos del atributo). Criterio: El término criterio engloba los conceptos anteriores de atributos y objetivos haciendo referencia a todos ellos. Podemos considerar que criterios son todos aquellos atributos y objetivos que han sido juzgados relevantes en una cierta situación decisional. Matriz de pagos: La matriz de pagos es una matriz que se construye a partir de los óptimos individuales de cada uno de los objetivos y nos permite cuantificar el nivel de conflicto existente entre los objetivos que estamos considerando. El proceso a seguir para su construcción es el siguiente: en primer lugar, se optimiza cada uno de los objetivos f r ( x ) separadamente, a la solución obtenida la denominaremos xr. Con las soluciones de estos k problemas construimos un vector formado por las evaluaciones de las funciones objetivo en estos puntos, este vector será el punto ideal positivo y lo denotaremos por f = ( f 1 ( x 1 ), f 2 ( x 2 ),L , f k ( x k )) . Este punto representa los valores óptimos de cada uno de los objetivos que en la mayoría de los casos es inalcanzable, debido al conflicto existente entre los objetivos. A partir del punto ideal positivo se calculan los valores que toman el resto de las funciones objetivo en los puntos máximos individuales. Obteniendo así una matriz cuadrada en cuya diagonal principal se encuentra el punto ideal positivo. También podemos determinar el peor valor de cada función objetivo en la matriz, con estos valores se define un nuevo vector llamado punto anti-ideal que denotaremos por f . De esta forma conoceremos para cada función objetivo su rango de variación dentro del conjunto factible: f r ≤ f r ( x ) ≤ f r , ∀ r = 1,K ,k ∀x / Ax ≤ b , x ≥ 0 La optimalidad juega un papel muy importante en la resolución de problemas con un único objetivo en los que se persigue determinar la solución óptima, que es una solución factible (o más de una) que da el mejor valor a la función objetivo, siendo este valor único. Sin embargo, en el caso de múltiples objetivos no es aplicable este concepto de óptimo ya que una solución que maximice un objetivo en general no maximizará los restantes objetivos. Esta observación lleva a un nuevo concepto denominado “punto eficiente”, también conocido como punto no inferior o no 72 Arenas, Bilbao, Jimenez y Rodriguez dominado y en vez de buscar una solución óptima buscaremos un conjunto de soluciones eficientes. Soluciones Pareto-óptimas o eficientes: Se dice que una solución es eficiente o Pareto-óptima cuando es una solución factible tal que no existe otra solución factible que proporcione una mejora en un atributo cualquiera sin que produzca, de forma simultánea, un empeoramiento en, al menos, otro de los atributos. 3.- Teoría de los Subconjuntos Difusos Nuestro objetivo es suministrar modelos matemáticos para la toma de decisiones que se adapten a situaciones en las que las vagas evaluaciones humanas no permiten una rígida formulación matemática. Para determinar los distintos elementos que definen un modelo de decisión es necesario procesar los datos disponibles transformándolos en información relevante para el problema. Es frecuente que el hombre efectúe sus decisiones en un contexto de incertidumbre e imprecisión. Sucede por tanto, que los valores que se asignan a los parámetros que intervienen en el modelo, son estimaciones de los mismos hechas por los expertos en el tema objeto de estudio. Para tratar cuantitativamente la imprecisión, generalmente se han empleado los conceptos y técnicas de la teoría de la probabilidad. De esta forma se estaba aceptando que la imprecisión, cualquiera que sea su naturaleza, puede ser considerada como aleatoriedad. Esto, desde el punto de vista de muchos autores, es una afirmación cuestionable. Consideran que es necesario diferenciar los conceptos de “aleatorio” y “difuso”, siendo este último un término que describe mejor la imprecisión presente en muchos procesos de decisión. Por “difusidad” se entiende un tipo de imprecisión que está asociada con los subconjuntos difusos, es decir, con aquellos para cuyos elementos no es clara la transición entre la pertenencia y no pertenencia a cierta clase. La Teoría de los Subconjuntos Difusos, introducida por Lofti A. Zadeh en 1965, y la Teoría de la Posibilidad (Zadeh, 1978) asociada a ella, nacen como una solución matemática a la multitud de problemas y situaciones de la vida real a los que las teorías clásicas -conjuntista o probabilística- no podían dar cobertura. En relación con los procesos de decisión, desde que en 1970 Bellman y Zadeh publicaran su trabajo “Decision Making in a Fuzzy Environment”, la aplicación de la Teoría de los Subconjuntos Difusos a los mismos ha sido el objetivo al que han dirigido 73 VII Jornadas de ASEPUMA sus esfuerzos gran cantidad de investigadores (Lai y Hwang, 1992 y 1994). El interés por un mayor realismo de los modelos de decisión ha obligado a construir nuevos programas surgiendo así, los modelos que se encuandran en la Programación Matemática en Ambiente Difuso. 3.1.- Conceptos básicos en la Teoría de los Subconjuntos Difusos Subconjunto difuso: Sea U un determinado universo, entonces un subconjunto ~ difuso A de U es un conjunto de pares {(x ,α) / x ∈U , α ∈ M } donde cada elemento de U, debe ser miembro de un par y sólo de uno, y M es un conjunto arbitrario totalmente ordenado. En el presente trabajo vamos a considerar M=[0,1]. Un subconjunto difuso puede ser definido igualmente a partir de una aplicación denominada función de pertenencia: µ A~ : U → [0,1] , que asigna a cada elemento x ∈U ~ un número real µ A~ (x ) entre 0 y 1 indicando el grado de pertenencia de x a A . Como se puede observar esta definición coincide con la anterior sin más que considerar α = µ A~ ( x ) . ~ Un número difuso es un subconjunto difuso de la recta real, N , cuya función de pertenencia es de la forma: x ∈ (− ∞ ,nl ] 0 f ~ ( x ) x ∈ [nl ,npl ] N µ N~ ( x ) = 1 x ∈ [npl ,npr ] g ~ ( x ) x ∈ [npr ,nr ] N x ∈ [nl ,npl ] 0 donde f N~ ( x ) es una función creciente y g N~ ( x ) es una función decreciente. Cuando nl = npl = npr = nr = n se trata de un número ordinario (crisp). Conjunto de nivel α : Dado α ∈ [0,1]definiremos el α -corte o conjunto de nivel ~ α de un subconjunto difuso A , que denotaremos por Aα como el subconjunto no ~ difuso de U formado por todos aquellos puntos cuyo grado de pertenencia a A , es mayor o igual que α, es decir: Aα = {x ∈U / µ A~ ( x ) ≥ α}, ∀α ∈ (0,1] . ~ Los α -cortes de un número difuso N son intervalos cerrados de la recta real y [ ] los denotaremos a partir de sus extremos, es decir, N α = nαL ,nαR . 74 Arenas, Bilbao, Jimenez y Rodriguez Distribución de posibilidad: Si A es una variable que toma valores en un universo U, entonces la distribución de posibilidad de A, π( A) , es el subconjunto difuso de todos los valores posibles de A. Más especificamente, si π( A )( u ) , denota la posibilidad de que A pueda tomar un valor u ∈ U entonces la función de pertenecia de A es numéricamente igual a la distribución de posibilidad π( A) : U → [0 ,1] que asocia a cada elemento u la posibilidad de que A pueda tomar un valor u. Teorema de descomposición de subconjuntos difusos: Dado un universo U todo ~ subconjunto difuso A definido en él, es asociable biunívocamente a una familia de subconjuntos ordinarios de U, totalmente ordenada, que es la familia de sus α -cortes, ~ con el orden natural en [0,1] de modo que el subconjunto difuso A puede ser ~ representado por A = U α Aα donde α Aα representa el producto algebraico de un α∈[0,1] escalar α por el α-corte Aα cuya función de pertenencia viene definida como: µ αAα ( x ) = αµ Aα ( x ) = αχ Aα ( x ), ∀x ∈ U siendo χ Aα la función característica del conjunto de nivel α. Principio de extensión: Dada una aplicación: f : U → V para un subconjunto ~ ~ difuso A de U podemos construir un subconjunto difuso B en V a partir de la ~ aplicación f como sigue: B = { ( y ,µ B~ ( y )) / y = f ( x ), x ∈U } con: sup µ A~ ( x ) si −1 µ B~ ( y ) = x∈ f ( y ) 0 si f −1 ( y ) ≠ φ f −1( y ) ≠ φ 4.- Programación Multiobjetivo en Ambiente Difuso Nuestro objetivo es resolver un problema lineal multiobjetivo con coeficientes difusos que da lugar a una solución difusa en el espacio de objetivos definida por su distribución de posibilidad. Demostramos que bajo ciertas condiciones, la solución es un número difuso. Para obtener esta solución difusa nos apoyamos: 1) en el principio de extensión de Zadeh (1975) que proporciona un método general para trasladar conceptos matemáticos no difusos al marco difuso; en particular, dada un función ordinaria podemos aplicar este principio y extenderla a una función con argumentos y valores difusos; y 2) en el teorema de descomposición de subconjuntos difusos, que nos 75 VII Jornadas de ASEPUMA permiten: determinar la distribución de posibilidad de la solución a partir de la distribución de posibilidad conjunta de todos los parámetros y definir la solución difusa a partir de sus conjuntos de nivel α , respectivamente. De esta forma reducimos el problema lineal difuso a un conjunto de problemas lineales no difusos que son fácilmente resolubles aplicando el algoritmo del simplex. En este trabajo se desarrolla un soporte matemático adecuado para la toma de decisiones multiobjetivo en un contexto de incertidumbre. Trabajaremos en el caso lineal donde los datos del modelo vienen representados por números difusos definidos por sus distribuciones de posibilidad (la interpretación semántica del grado de pertenencia que manejaremos será la de grado de posibilidad), es decir, abordaremos el problema de la Programación Multiobjetivo Lineal con parámetros difusos mediante la Teoría de la Posibilidad. Lógicamente esto obliga a trabajar con modelos que se basan en la estimación de los posibles valores que pueden alcanzar las magnitudes que intervienen en el mismo, y por lo tanto, los resultados contendrán un mayor o menor grado de imprecisión y de incertidumbre -dado que trabajamos con datos inciertos, los resultados que obtendremos serán también inciertos-. Proponemos un método de resolución de un programa multiobjetivo lineal con coeficientes difusos que da lugar a soluciones difusas en el espacio de objetivos, definidas por su distribución de posibilidad. Se trata por tanto de resolver el siguiente problema de programación multiobjetivo lineal con coeficientes difusos (FP-MOLP): k = 1,L ,m Optimizar ~ z k = ~ck1 x1 + ~ck2 x 2 + L + ~ ckn x n1 ~ ~ sujeto a Ax ≤ b donde los símbolos con ‘tilde’ representan coeficientes difusos. De un modo muy general podemos resumir este método en los siguientes pasos: convertimos el problema FP-MOLP en una familia de problemas de decisión multiobjetivo no difusos formada por pares de problemas “peor-mejor” asociados a cada conjunto de nivel α. Mediante técnicas de programación multiobjetivo adecuadas resolveremos el problema “peor” para α = 0 , de esta forma obtenemos una solución Pareto-óptima en el espacio de objetivos de dicho problema. A partir de esta solución y aplicando un test de optimalidad se obtienen las soluciones óptimas de todos los problemas no difusos que formaban la familia inicial. 76 Arenas, Bilbao, Jimenez y Rodriguez Empleando de nuevo el teorema de descomposición generamos, a partir de la familia de soluciones obtenidas, un vector difuso de IR k que será considerado como la solución difusa del problema FP-MOLP. La solución obtenida no va a depender de la linealidad de las funciones de pertenencia que se consideren. Sin embargo, desde el punto de vista práctico hemos optado por considerar distribuciones de posibilidad triangulares y/o trapezoidales. Una característica importante del modelo que proponemos y que merece ser reseñada, es que la solución difusa se construye a partir de una solución Pareto-óptima de un problema multiobjetivo lineal no difuso asociado a los parámetros A0R , b0L y C0L , y como el conjunto de soluciones Pareto-óptimas de un problema multiojetivo ordinario es infinito podremos obtener infinitas soluciones difusas del FP-MOLP. Además, nuestro modelo permite al decisor obtener mayor información que en los propuestos por otros autores, ya que para la construcción de cualquiera de las soluciones difusas del FP-MOLP nos apoyamos en toda la información contenida en las distribuciones de posibilidad de los coeficientes difusos. Finalmente, hemos de mencionar que no es necesario definir explícitamente una relación de orden entre números difusos en el conjunto factible. La desigualdad ( ≤ ) que aparece definiendo el conjunto factible del problema FP-MOLP se ha de interpretar como un simbolismo que hace referencia a la desigualdad ordinaria que define un conjunto factible de un problema no difuso. El método propuesto se recoge en el artículo “Solving the multiobjective possibilistic linear programming problem” (Arenas y otros, 1998), publicado en la revista European Journal of Operational Research. Nuestro modelo admite como caso particular la resolución de un problema no difuso. Téngase en cuenta que un número no difuso, N, es un caso particular de número difuso que cumple: nl=npl=npr=nr=n. 5.- Soporte Lógico de la Aplicación En este epígrafe presentaremos, de forma no exhaustiva, el programa informático que hemos diseñado e implementado para resolver el problema central de este trabajo, el FP-MOLP; mediante el mismo se obtiene una solución que es un número difuso, componente a componente, en el espacio de objetivos, así como una solución difusa (no necesariamente, número difuso componente a componente) en el espacio factible. 77 VII Jornadas de ASEPUMA DESCRIPCIÓN DEL PROGRAMA: El programa tiene como objetivo la resolución de problemas de programación multiobjetivo lineal con parámetros difusos: Optimizar (cl,cpl,cpr,cr) x Sujeto a: (al,apl,apr,ax) x ≤ (bl,bpl,bpr,br), x≥ 0 donde cl, cpl, cpr y cr son los extremos: inferior del conjunto de nivel alfa=0, inferior del conjunto de nivel alfa=1, superior del conjunto de nivel alfa=1 y superior del conjunto de nivel alfa=0, respectivamente, de la matriz de los coeficientes de la función objetivo; al, apl, apr y ar son los extremos: inferior del conjunto de nivel alfa=0, inferior del conjunto de nivel alfa=1, superior del conjunto de nivel alfa=1 y superior del conjunto de nivel alfa=0, respectivamente, de la matriz de las restricciones; y bl, bpl, bpr y br son los extremos: inferior del conjunto de nivel alfa=0, inferior del conjunto de nivel alfa=1, superior del conjunto de nivel alfa=1 y superior del conjunto de nivel alfa=0, respectivamente, del vector de los términos independientes de las restricciones. independientes de las restricciones. PASO I: Introducción de los datos en un fichero. En primer lugar se deben introducir los parámetros relativos al problema que se desea resolver. PASO II: Lectura de los datos mediante la función programada ENTRADA. PASO III: Cálculo de la matriz de pagos mediante la función programada IDEAL. PASO IV: Obtención de la solución Pareto-óptima de partida (solución del problema “peor”) mediante uno de los dos métodos siguientes: • Método de obtención de metas (con o sin ponderaciones para los objetivos). Función Attgoal del toolbox de optimización del entorno MATLAB. • Método máx-mín ampliado de Lee y Li. Función programada AGREGA. Estos dos métodos transforman el problema multiobjetivo no difuso “peor” en un problema mono-objetivo no difuso equivalente. PASO V: Test de optimalidad. Una vez obtenida la solución de partida hay que resolver los problemas “peor” y “mejor” para cada α ∈ [0,1] para ello se resuelve un problema de programación lineal mono-objetivo en cada paso que se apoya en la solución obtenida en el paso anterior. Empezando por el peor para α=0 se sigue con los peores hasta α=1, 78 Arenas, Bilbao, Jimenez y Rodriguez a continuación se resuelven los problemas mejores para valores de α desde 1 hasta 0. Este último corresponde al problema “mejor”. A partir de estas soluciones construimos la distribución de posibilidad de la ~ solución difusa en el espacio de objetivos: Z . ~ Los resultados ( ~ x ,Z ) obtenidos aparecen recogidos en la variable RESUL. 6.- Ejemplo Como ejemplo de aplicación del algoritmo anterior vamos a resolver el siguiente problema: Máx (40,50,80) x1 + 100 x2 + 17.5 x3 Máx 92 x1 + (70,75,90) x2+ 50 x3 Máx (10,25,70) x1 1 + 100 x2 + 75 x3 sujeto a: (6,12,14) x1 + 17 x2 ≤ 1400 3 x1 + 9 x2 + (3,8,10) x3 ≤ 1000 10 x1 + (7,13,15) x2 + 15 x3 ≤ 1750 (4,6,8) x1 + 16 x3 ≤ 1325 (7,12,19) x2 + 7 x3 ≤ 900 9.5 x1 + (3.5,9.5,11.5) x2 + 4 x3 ≤ 1075 x1 ≥ 0, x2 ≥ 0, x3 ≥ 0 Este problema lo resolveremos con el método AGREGA que utiliza el método difuso máx-mín aumentado para obtener la solución z *0 del MOLP( A0R ,b0L ,C 0L ), que será el punto de partida. 6436 La matriz de pagos que se obtiene es: 4548 3135 7224 5162 10785 3484 5321 7897 La solución de partida que se obtiene es: x=(57.5668, 28.6613, 49.6274) y Z=(6037.3, 9783.8, 7163.9) que como podemos observar está muy próxima al punto ideal. Esta misma solución se obtendría si aplicásemos el método de obtención de metas, ATTGOAL, sin ponderar los objetivos. Tomaremos cinco α-cortes para determinar la distribución de posibilidad de la solución Pareto óptima difusa. La solución obtenida (variable resul) está recogida en la siguiente tabla: resul: 1.0e+004 * 79 VII Jornadas de ASEPUMA Problemas X1 X2 X3 Z1 Z2 Z3 Peor α =0 0.0058 0.0029 0.0050 0.6037 0.9784 0.7164 Peor α =0.2 0.0056 0.0031 0.0049 0.6345 0.9812 0.7533 Peor α =0.4 0.0054 0.0035 0.0048 0.6690 0.9846 0.7935 Peor α =0.6 0.0052 0.0039 0.0047 0.7059 0.9901 0.8354 Peor α =0.8 0.0049 0.0043 0.0045 0.7483 0.9969 0.8820 Peor α =1 0.0045 0.0050 0.0044 0.7984 1.0057 0.9356 Mejor α=1 0.0045 0.0050 0.0044 0.7984 1.0057 0.9356 Mejor α=0.2 0.0045 0.0054 0.0044 0.8670 1.0561 1.0224 Mejor α=0.4 0.0058 0.0050 0.0043 0.9308 1.1501 1.0675 Mejor α=0.6 0.0064 0.0051 0.0042 1.0161 1.2253 1.1572 Mejor α=0.8 0.0070 0.0053 0.0041 1.1161 1.3071 1.2636 Mejor α=0 0.0076 0.0056 0.0040 1.2325 1.3984 1.3880 Bibliografía Arenas, M.; Bilbao. A.; Rodríguez, V. (1998) :``Solving the Multiobjective Possibilistic Linear Programming Problem", European Journal of Operational Research, en prensa. Bellman, R.E; Zadeh, L.A. (1970): ``Decision-making in a Fuzzy Enviroment", Management Sciences, Vol. 17, N.4, 141-164. Lai, Y.; Hwang, C.L. (1992): Fuzzy mathematical programming. Methods and applications, Springer-Verlag, Germany. Lai, Y.J.; Hwang, C.L. (1994): Fuzzy Multiple Objective Decision Ma\-king. Methods and Applications. Springer-Verlag, New York. Romero, C. (1993): Teoría de la decisión multicriterio: conceptos, técnicas y aplicaciones, Alianza Universidad Textos, Madrid. Zadeh, L.A. (1965): ``Fuzzy sets", Information and Control 8, 338-353. Zadeh, L.A. (1978): ``Fuzzy sets as a basis for a theory of possibility", Fuzzy Sets and Systems 1, 3-28. 80