• No se han encontrado resultados

Solución óptima del problema de programación lineal difusa para el número trapezoidal

N/A
N/A
Protected

Academic year: 2020

Share "Solución óptima del problema de programación lineal difusa para el número trapezoidal"

Copied!
42
0
0

Texto completo

(1)UNIVERSIDAD NACIONAL DE SAN AGUSTÍN DE AREQUIPA ESCUELA DE POSGRADO UNIDAD DE POSGRADO DE LA FACULTAD DE CIENCIAS NATURALES Y FORMALES. “SOLUCIÓN ÓPTIMA DEL PROBLEMA DE PROGRAMACIÓN LINEAL DIFUSA PARA EL NÚMERO TRAPEZOIDAL”. Tesis presentada por el bachiller: CÉSAR ALBERTO GALLEGOS ESQUIVIAS Para optar el Grado Académico de Maestro en Ciencias:. Matemáticas,. con. Modelación Matemática Asesor: Mg. Rocío Bellido Dávila. AREQUIPA – PERÚ 2019. mención. en.

(2) “SOLUCIÓN ÓPTIMA DEL PROBLEMA DE PROGRAMACIÓN LINEAL DIFUSA PARA EL NÚMERO TRAPEZOIDAL”. Tesis presentada por :. Bach. César Alberto Gallegos Esquivias. JURADO DICTAMINADOR:. -. Mg. Fermín Flavio Mamani Condori. …..……………….….………….. (Presidente). -. Mg. Roger Edwar Mestas Chávez. .…..……………………….…….. -. Mg. Rocío Bellido Dávila. …..……………….…….……….. (Asesor). ii.

(3) Índice General Página Resumen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Abstract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Índice General. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Índice de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 Introducción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.. Conjuntos Difusos y Programación Lineal Difusa. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. 1.1 Conjuntos difusos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2 Aritmética de los números difusos trapezoidales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 Función de clasificación lineal. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . 10. 1.4 Programación Lineal Difusa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 2.. Programación lineal con coeficientes difusos trapezoidales en la . . . . . . . . . . . función objetivo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15. 2.1 Definición del problema de programación lineal con coeficientes difusos trapezoidales en la función objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2 Solución Factible Básica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3 Método Simplex para el problema de programación lineal con coeficientes difusos trapezoidales en la función objetivo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 3.. Programación Lineal con variables difusas trapezoidales. . . . . . . . . . . . . . . . . . . . . . 27. 3.1 Definición del problema de programación lineal con variables difusa trapezoidales..27 3.2 Solución Factible Básica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3 Método Simplex para el problema de programación lineal con variables Difusas trapezoidales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.5 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . 37 Apéndice: Código Simplex Difuso en MATLAB. . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 Bibliografía. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40. iii.

(4) Lista de Figuras Figura 1. Un número difuso trapezoidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Figura 2. Dos números difusos trapezoidales (𝑎̃ y 𝑏̃). . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 Figura 3. Opuesto aditivo de un número difuso trapezoidal. . . . . . . . . . . . . . . . . . . . . . .10 Figura 4. Adición y sustracción de números difusos trapezoidales (𝑎̃ 𝑦 𝑏̃ ). . . . . . . . . . . .10 Figura 5. Aproximaciones sucesivas a la solución óptima para el problema de Programa ción Lineal con coeficientes difusos trapezoidales en la función objetivo. . . . . . . . . . . . .25 Figura 6. Solución difusa óptima para el problema de programación Lineal difusa con. . . con variables trapezoidales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30. iv.

(5) Resumen. El problema de programación lineal difusa es una aplicación de la teoría de conjuntos difusos en los problemas lineales de toma de decisiones, en esta tesis se resuelve este problema para las variables difusas trapezoidales, empleando para tal finalidad la función lineal de clasificación propuesta por Maleki & Tata (2000) ; y metodológicamente, para lograr estos fines se aborda primero el problema de programación lineal con coeficientes difusos trapezoidales en la función objetivo dado en Mahdavi-Amiri & Nasseri (2009) y luego el problema de programación lineal con variables difusas trapezoidales, además, se formula el correspondiente algoritmo difuso análogo al método simplex y se ejemplifica la aplicación numérica del mismo. Palabras clave: Programación lineal difusa, variable difusa trapezoidal, método simplex difuso.. v.

(6) Abstract. The problem of diffuse linear programming is an application of the theory of fuzzy sets in the linear problems of decision making, in this thesis this problem is solved for trapezoidal diffuse variables, using for this purpose the linear classification function proposed by Maleki & Tata (2000), and methodologically to achieve these ends, the problem of linear programing with trapezoidal diffuse coefficients in the objective function is first addressed and then the problem of linear programing with trapezoidal diffuse variables in MahdaviAmiri & Nasseri (2009) . In addition, the corresponding diffuse algorithm analogous to the simplex method is formulated and the numerical application of it is exemplified. Keywords: Fuzzy linear Programming, Fuzzy Trapezoidal Variable, Fuzzy Simplex Method.. vi.

(7) Introducción En el contexto del problema de toma de decisiones, formulamos un modelo matemático que nos servirá para investigar en forma bastante precisa el problema de programación lineal difusa para variables difusas trapezoidales, desarrollando el correspondiente algoritmo simplex difuso; para tal efecto utilizamos una nueva metodología introducida por Mahdavi & Nasseri (2009) quienes emplean la así llamada función lineal de clasificación.. Muchos problemas de aplicación son modelados como problemas de programación matemática, algunos de éstos están formulados con incertidumbre; por otro lado, desde que por primera vez Zadeh formulara la idea de conjunto difuso y la lógica difusa subyacente en 1965, se ha desatado un ímpetu por escribir un aparato matemático que generalice el existente, pero que sea sustentado a partir de la nueva lógica, la programación matemática no ha escapado de esta situación.. El concepto de programación matemática difusa en su forma más general fue propuesto por Tanaka & Okuda (1974) en el sentido de la toma de decisión desarrollado por Bellman & Zadeh (1970). La primera formulación de programación lineal difusa fue propuesta por Zimmermann (1978). Diversos autores consideran variados tipos de problemas de programación lineal difusa y proponen diversas soluciones. Un método más o menos extendido se basa en el concepto de comparación de números difusos mediante la utilización de funciones lineales de clasificación.. A continuación primero se revisan los conceptos necesarios de la teoría de conjuntos difusos, luego se aborda la cuestión de la comparación de números difusos mediante el uso de una función lineal de clasificación. En seguida se define el problema de programación lineal difusa, luego se resuelve el problema de programación lineal con coeficientes difusos trapezoidales en la función objetivo. Se discute en seguida el problema de la programación lineal con variables trapezoidales difusas y se provee el correspondiente algoritmo simplex.. 1.

(8) A continuación se ilustra el funcionamiento de los algoritmos mostrando ejemplos numéricos, el trabajo finaliza con la exposición de las conclusiones.. 2.

(9) Capítulo 1 Conjuntos difusos y Programación lineal difusa Un conjunto difuso es una clase de objetos con un grado continuo de pertenencia. Tal conjunto es caracterizado por una función de pertenencia, que asigna a cada objeto un grado de pertenencia dado entre cero y uno. Las nociones de inclusión, unión, intersección, complemento, relaciones, convexidad, etc son extendidas a tales conjuntos y a partir de allí se comienza a desarrollar sistemáticamente la matemática difusa: lógica difusa, topología difusa, teoría de probabilidades difusa, inferencia estadística difusa, investigación de operaciones difusa, etc.. En seguida se exponen algunas definiciones necesarias de la teoría de conjuntos difusos dados por Zadeh & Bellman (1970) en el marco de la toma de decisiones en un ambiente difuso.. 1.1. Conjuntos difusos 1.1.1. Conjuntos difusos y función de pertenencia Sea 𝑋 una colección de objetos denotados genéricamente por 𝑥, entonces un conjunto difuso 𝐴 en 𝑋 es definido por un conjunto de pares ordenados 𝐴 = {(𝑥, 𝜇𝐴 (𝑥))/𝑥 ∈ 𝑋}, donde 𝜇𝐴 (𝑥) es la función de pertenencia del conjunto difuso. La función de pertenencia de 𝐴 especifica el grado de pertenencia del elemento 𝑥 en el conjunto difuso 𝐴 (en efecto, 𝜇𝐴 (𝑥) muestra el grado en que 𝑥 pertenece a 𝐴), así 𝜇𝐴 (𝑥) mapea cada elemento de 𝑋 en su valor de pertenencia entre 0 y 1. De ahora en adelante asumiremos que 𝑋 es la recta de los números reales ℝ.. 3.

(10) 1 4. Ejemplo 1.. 𝐴 = {(𝑥, 𝜇𝐴 (𝑥))/𝑥 ∈ ℝ} 𝑐𝑜𝑛 𝜇𝐴 (𝑥) =. 1 1 2. {0. , , , ,. 𝑠𝑖 − 1 ≤ 𝑥 < 0 𝑠𝑖 0≤𝑥<1 𝑠𝑖 1≤𝑥≤2 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 .. 1.1.2. Soporte El soporte de un conjunto difuso 𝐴 es el conjunto de elementos 𝑥 en 𝑋 para los que 𝜇𝐴 (𝑥) es positivo; esto es 𝑠𝑜𝑝𝑜𝑟𝑡𝑒(𝐴) = {𝑥 ∈ 𝑋 ∕ 𝜇𝐴 (𝑥) > 0} 𝐷𝑎𝑑𝑜 𝑒𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑖𝑓𝑢𝑠𝑜 𝐴 = {(𝑥, 𝜇𝐴 (𝑥))/𝑥 ∈ ℝ},. Ejemplo 2.. 1. , 𝑠𝑖 − 1 ≤ 𝑥 < 0 , 𝑠𝑖 0 ≤ 𝑥 < 1 , 𝑠𝑖 1 ≤ 𝑥 ≤ 2 , 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜. 4. 𝑐𝑜𝑛 𝜇𝐴 (𝑥) =. 1 1 2. {0 𝑆𝑒 𝑜𝑏𝑠𝑒𝑟𝑣𝑎 𝑞𝑢𝑒 𝑒𝑙 𝑠𝑜𝑝𝑜𝑟𝑡𝑒(𝐴) = [−1, 2]. 𝑝𝑢𝑒𝑠 𝑒𝑛 𝑒𝑠𝑡𝑒 𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙𝑜 𝑙𝑎 𝑓𝑢𝑛𝑐𝑖ó𝑛 𝑑𝑒 𝑝𝑒𝑟𝑡𝑒𝑛𝑒𝑛𝑐𝑖𝑎 𝑑𝑒𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝐴, 𝑒𝑠 𝜇𝐴 (𝑥) > 0. 1.1.3. Núcleo: El núcleo de un conjunto difuso es el conjunto de puntos 𝑥 en 𝑋 con 𝜇𝐴 (𝑥) = 1. Ejemplo 3.. 𝐷𝑎𝑑𝑜 𝑒𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑖𝑓𝑢𝑠𝑜 𝐴 = {(𝑥, 𝜇𝐴 (𝑥))/𝑥 ∈ ℝ}, 𝑑𝑜𝑛𝑑𝑒 1 , 𝑠𝑖 − 1 ≤ 𝑥 < 0 4 1 , 𝑠𝑖 0 ≤ 𝑥 < 1 𝜇𝐴 (𝑥) = 1 , 𝑠𝑖 1 ≤ 𝑥 ≤ 2 2 { 0 , 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜. 𝐸𝑙 𝑛ú𝑐𝑙𝑒𝑜 𝑑𝑒𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝐴 es [0, 1[.. 4.

(11) 1.1.4. Normalidad Un conjunto difuso 𝐴 es llamado normal si su núcleo es no-nulo. En otras palabras, si existe al menos un punto 𝑥 en 𝑋 con 𝜇𝐴 (𝑥) = 1. Ejemplo 4.. 𝐸𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑖𝑓𝑢𝑠𝑜 𝐴 = {(𝑥, 𝜇𝐴 (𝑥))/𝑥 ∈ ℝ}, 1. , 𝑠𝑖 − 1 ≤ 𝑥 < 0 , 𝑠𝑖 0 ≤ 𝑥 < 1 , 𝑠𝑖 1 ≤ 𝑥 ≤ 2 , 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜. 4. 𝜇𝐴 (𝑥) =. 𝑑𝑜𝑛𝑑𝑒. 1 1 2. {0. 𝑒𝑠 𝑛𝑜𝑟𝑚𝑎𝑙, 𝑝𝑢𝑒𝑠 𝑠𝑢 𝑛ú𝑐𝑙𝑒𝑜 𝑒𝑠 [0, 1[ ≠ ∅.. 1.1.5. 𝜆-nivel y 𝜆-nivel fuerte El 𝜆-nivel o conjunto de nivel 𝜆 de un conjunto difuso 𝐴 es un conjunto no-difuso definido por 𝐴𝜆 = {𝑥 ∈ 𝑋/𝜇𝐴 (𝑥) ≥ 𝜆}; donde 𝜆 ∈ (0,1]. Las cotas inferior y superior de cualquier conjunto de nivel 𝜆, 𝐴𝜆 son representadas por los números finitos 𝑖𝑛𝑓𝑥∈𝐴𝜆 y 𝑠𝑢𝑝 𝑥∈𝐴𝜆 . El 𝜆-nivel fuerte es definido como 𝐴𝜆̅ = {𝑥 ∈ 𝑋/𝜇𝐴 (𝑥) > 𝜆}, donde 𝜆 ∈ (0,1]. Ejemplo 5.. 𝐷𝑎𝑑𝑜 𝑒𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑖𝑓𝑢𝑠𝑜 𝐴 = {(𝑥, 𝜇𝐴 (𝑥))/𝑥 ∈ ℝ}, 𝑑𝑜𝑛𝑑𝑒 1. , 𝑠𝑖 − 1 ≤ 𝑥 < 0 1 , 𝑠𝑖 0 ≤ 𝑥 < 1 𝜇𝐴 (𝑥) = 1 , 𝑠𝑖 1 ≤ 𝑥 ≤ 2 2 {0 , 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 4. 3. 𝑒𝑙 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑒 𝑛𝑖𝑣𝑒𝑙 4 𝑑𝑒 𝐴; es decir, 𝐴3/4 = [0, 1[.. 5.

(12) 1.1.6. Convexidad Así como la teoría de la programación lineal clásica se desarrolla sobre conjuntos convexos, a los conjuntos difusos que se emplean en programación lineal difusa se les debe proveer de ciertas propiedades, más precisamente, los conjuntos difusos que se utilizan en programación lineal difusa tienen que ser convexos; es decir, aquellos que satisfacen la siguiente definición: Un conjunto difuso 𝐴 en 𝑋 es convexo si para cualesquiera 𝑥, 𝑦 ∈ 𝑋 y cualquier 𝜆 ∈ [0,1], se tiene que 𝜇𝐴 (𝜆𝑥 + (1 − 𝜆)𝑦) ≥ 𝑚𝑖𝑛{𝜇𝐴 (𝑥), 𝜇𝐴 (𝑦)}. 𝐸𝑙 𝑐𝑜𝑛𝑗𝑛𝑡𝑜 𝑑𝑖𝑓𝑢𝑠𝑜 𝐴 = {(𝑥, 𝜇𝐴 (𝑥))/𝑥 ∈ ℝ} , 𝑑𝑜𝑛𝑑𝑒. Ejemplo 6.. 1. , 𝑠𝑖 − 1 ≤ 𝑥 < 0 1 , 𝑠𝑖 0 ≤ 𝑥 < 1 𝜇𝐴 (𝑥) = 1 , 𝑠𝑖 1 ≤ 𝑥 ≤ 2 2 {0 , 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜 4. 1. 𝑛𝑜 𝑒𝑠 𝑐𝑜𝑛𝑣𝑒𝑥𝑜, 𝑝𝑢𝑒𝑠 𝑝𝑎𝑟𝑎 𝑥 = −1/2 , 𝑦 = 1/2 , 𝜆 = 2 , 𝑠𝑒 𝑡𝑖𝑒𝑛𝑒 𝑞𝑢𝑒 1. 1. 1. 1. 1. 1. 𝜇𝐴 ((2)(− 2) + (1 − 2) (2)) = 0 ≱ 𝑚𝑖𝑛 {𝜇𝐴 (− 2) , 𝜇𝐴 (2)} = 1/4. Un conjunto difuso es convexo si y solo si todos sus 𝜆-niveles son convexos.. Teorema 1.. Demostración.. Sea 𝐴 un conjunto difuso convexo en 𝑋, entonces. Para toda 𝑥, 𝑦 ∈ 𝑋, 𝜆 ∈ [0, 1]: 𝜇𝐴 (𝜆𝑥 + (1 − 𝜆)𝑦) ≥ 𝑚𝑖𝑛{𝜇𝐴 (𝑥), 𝜇𝐴 (𝑦)} Sea 𝐴𝜆 = {𝑥 ∈ 𝑋/𝜇𝐴 (𝑥) ≥ 𝜆}; donde 𝜆 ∈ (0,1] un 𝜆-nivel arbitrario de 𝐴. Entonces para toda 𝑥, 𝑦 ∈ 𝑋, 𝜆 ∈ (0, 1]: 𝜇𝐴 (𝜆𝑥 + (1 − 𝜆)𝑦) ≥ 𝜆 = 𝑚𝑖𝑛{𝜇𝐴 (𝑥), 𝜇𝐴 (𝑦)}. Recíprocamente, si todos los 𝜆-niveles de 𝐴 son convexos, entonces sin pérdida de generalidad 𝐴𝜆 es convexo y entonces: para toda 𝑥, 𝑦 ∈ 𝑋, 𝜆 ∈ [0, 1]: 𝜇𝐴𝜆 (𝜆𝑥 + (1 − 𝜆)𝑦) ≥ 𝑚𝑖𝑛{𝜇𝐴𝜆 (𝑥), 𝜇𝐴𝜆 (𝑦)}, es decir 𝐴 es convexo. ∎. 1.1.7 Número difuso Un conjunto difuso convexo 𝐴 sobre ℝ es un número difuso 𝑎̃ si las siguientes condiciones se satisfacen: 6.

(13) (a) Su función de pertenencia 𝜇𝐴 es continua a trozos. (b) Existen tres intervalos [𝑎, 𝑏], [𝑏, 𝑐] y [𝑐, 𝑑] tal que 𝜇𝐴 es creciente sobre [𝑎, 𝑏] , igual a 1 sobre [𝑏, 𝑐], decreciente sobre [𝑐, 𝑑] e igual a cero en cualquier otro lugar. Un número difuso 𝑎̃ satisface las condiciones de normalidad y convexidad. Aquí se asume que la función de pertenencia de cualquier número difuso 𝑎̃ es: 1−. 𝛼. , 𝑎𝐿 − 𝛼 ≤ 𝑥 ≤ 𝑎𝐿 𝑎𝐿 ≤ 𝑥 ≤ 𝑎𝑈. 1,. 𝜇𝑎̃ (𝑥) =. 1− {. 𝐿. 𝑎𝐿 −𝑥. 𝑥−𝑎𝑈 𝛽. 0,. , 𝑎𝑈 < 𝑥 ≤ 𝑎𝑈 + 𝛽 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜. 𝑈. donde 𝑎 , 𝑎 ∈ ℝ , 𝛼, 𝛽 ∈]0, +∞[ .. El número difuso con la anterior función de pertenencia se muestra en la figura 1; y se denomina número difuso trapezoidal.. Figura 1. Un número difuso trapezoidal. Una de las formas en que se denota a un número difuso trapezoidal es 𝑎̃ = (𝑎𝐿 , 𝑎𝑈 , 𝛼, 𝛽). El soporte de 𝑎̃ es (𝑎𝐿 − 𝛼, 𝑎𝑈 + 𝛽), y el núcleo de 𝑎̃ es [𝑎𝐿 , 𝑎𝑈 ]. 𝐹(ℝ) denota el conjunto de todos los números difusos trapezoidales.. 7.

(14) En particular 𝐹(ℝ) es un espacio vectorial ( 𝐹(ℝ), +, ∙) sobre ℝ, bajo las operaciones de adición y multiplicación por un escalar que se definen en 1.2; es decir, satisface los 8 axiomas siguientes: a) 𝑎̃ + 𝑏̃ = 𝑏̃ + 𝑎̃ , 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑎 𝑎̃, 𝑏̃ ∈ 𝐹(ℝ). b) 𝑎̃ + (𝑏̃ + 𝑐̃ ) = (𝑎̃ + 𝑏̃) + 𝑐̃ , 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑎 𝑎̃, 𝑏̃, 𝑐̃ ∈ 𝐹(ℝ). c) Existe en 𝐹(ℝ) un elemento neutro aditivo denotado por 0̃ (al que se hace referencia en 1.3) ; es decir, 𝑒𝑥𝑖𝑠𝑡𝑒 0̃ ∈ 𝐹(ℝ)⁄𝑎̃ + 0̃ = 𝑎̃ , 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑎 𝑎̃ ∈ 𝐹(ℝ). d) 𝑃𝑎𝑟𝑎 𝑎̃ ∈ 𝐹(ℝ), 𝑒𝑥𝑖𝑠𝑡𝑒 (−𝑎̃) ∈ 𝐹(ℝ)⁄𝑎̃ + (−𝑎̃) = 0̃. e) 𝛼(𝛽𝑎̃) = (𝛼𝛽)𝑎̃, 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑎 𝛼, 𝛽 ∈ ℝ, 𝑝𝑎𝑟𝑎 𝑎̃ ∈ 𝐹(ℝ). f) (𝛼 + 𝛽)𝑎̃ = 𝛼𝑎̃ + 𝛽𝑎̃ , 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑎 𝛼, 𝛽 ∈ ℝ, 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑎 𝑎̃ ∈ 𝐹(ℝ). g) 𝛼(𝑎̃ + 𝑏̃) = 𝛼𝑎̃ + 𝛼𝑏̃ , 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑎 𝛼 ∈ ℝ , 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑎 𝑎̃, 𝑏̃ ∈ 𝐹(ℝ). h) 1𝑎̃ = 𝑎̃, 𝑝𝑎𝑟𝑎 𝑡𝑜𝑑𝑎 𝑎̃ ∈ ℝ.. 1.2. Aritmética de los números difusos trapezoidales Sean 𝑎̃ = (𝑎𝐿 , 𝑎𝑈 , 𝛼, 𝛽) y 𝑏̃ = (𝑏 𝐿 , 𝑏 𝑈 , 𝛾, 𝜃) dos números difusos trapezoidales y 𝑥 un número real. Se define: 𝑥≥0,. 𝑥𝑎̃ = (𝑥𝑎𝐿 , 𝑥𝑎𝑈 , 𝑥𝛼, 𝑥𝛽). 𝑥 < 0,. 𝑥𝑎̃ = (𝑥𝑎𝑈 , 𝑥𝑎𝐿 , −𝑥𝛽, −𝑥𝛼). 𝑎̃ + 𝑏̃ = (𝑎𝐿 + 𝑏 𝐿 , 𝑎𝑈 + 𝑏 𝑈 , 𝛼 + 𝛾, 𝛽 + 𝜃) 𝑎̃ − 𝑏̃ = (𝑎𝐿 − 𝑏 𝑈 , 𝑎𝑈 − 𝑏 𝐿 , 𝛼 + 𝜃, 𝛽 + 𝛾). Como una ilustración de la aritmética anterior, se consideran los dos números difusos trapezoidales dados en la Figura 2; y en las Figuras 3 y 4 se muestran respectivamente el opuesto aditivo de un número trapezoidal, la adición y la sustracción de números difusos trapezoidales.. 8.

(15) Figura 2. Dos números difusos trapezoidales. Figura 3. Opuesto aditivo de un número difuso trapezoidal. Figura 4. Adición y sustracción de números difusos trapezoidales 9.

(16) 1.3. Función de clasificación lineal Las funciones de clasificación tienen como propósito comparar a los números difusos, Mahdavi & Nasseri (2009) define una función de clasificación 𝑅: 𝐹(ℝ) → ℝ que mapea los números difusos trapezoidales en la recta de los números reales ℝ. Al considerar 𝑎̃ y 𝑏̃ en 𝐹(ℝ), se define un orden en 𝐹(ℝ) como sigue: 𝑎̃ ≥̇ 𝑏̃ si y solo si 𝑅(𝑎̃) ≥ 𝑅(𝑏̃). (1). 𝑎̃ >̇ 𝑏̃ si y solo si 𝑅(𝑎̃) > 𝑅(𝑏̃). (2). 𝑎̃ =̇ 𝑏̃ si y solo si 𝑅(𝑎̃) = 𝑅(𝑏̃). (3). En efecto (i) 𝑎̃ ≥̇ 𝑎̃ si y solo si 𝑅(𝑎̃) ≥ 𝑅(𝑎̃) (Propiedad reflexiva). (ii) 𝑎̃ ≥̇ 𝑏̃ 𝑦 𝑏̃ ≥̇ 𝑐̃ si y solo si 𝑅(𝑎̃) ≥ 𝑅(𝑏̃) 𝑦 𝑅(𝑏̃) ≥ 𝑅(𝑐̃ ) es decir 𝑅(𝑎̃) ≥ 𝑅(𝑐̃ ) si y solo si 𝑎̃ ≥̇ 𝑐̃ (Propiedad transitiva). (iii) 𝑎̃ ≥̇ 𝑏̃ 𝑦 𝑏̃ ≥̇ 𝑎̃ si y solo si 𝑅(𝑎̃) ≥ 𝑅(𝑏̃) 𝑦 𝑅(𝑏̃) ≥ 𝑅(𝑎̃); es decir, 𝑅(𝑎̃) = 𝑅(𝑏̃) si y solo si 𝑎̃ =̇ 𝑏̃ (Propiedad antisimétrica). También se escribe 𝑎̃ ≤̇ 𝑏̃ si 𝑏̃ ≥̇ 𝑎̃. Entonces, para cualquier función de clasificación 𝑅 se tiene que: 𝑎̃ ≥̇ 𝑏̃ si y solo si 𝑎̃ − 𝑏̃ ≥̇ 0̃, o si y solo si −𝑏̃ ≥̇− 𝑎̃. Así mismo, si 𝑎̃ ≥̇ 𝑏̃ y 𝑐̃ ≥̇ 𝑑̃, entonces 𝑎̃ + 𝑐̃ ≥̇ 𝑏̃ + 𝑑̃. Para un número difuso trapezoidal 𝑎̃, la relación 𝑎̃ ≥̇ 0̃ se satisface, si existen reales 𝜀 ≥ 0 y 𝛼 ≥ 0 tales que 𝑎̃ ≥̇ (−𝜀, 𝜀, 𝛼, 𝛼), donde además 𝑅(−𝜀, 𝜀, 𝛼, 𝛼) = 0. Entonces se puede considerar que 𝑎̃ =̇ 0̃ si y solo si 𝑅(𝑎̃) = 0. Así sin pérdida de generalidad se considerará que 0̃ = (0,0,0,0) es el número trapezoidal cero.. Existen muchas funciones de clasificación para comparar números difusos, pero Mahdavi & Nasseri (2009) emplea funciones de clasificación lineales, es decir, funciones 𝑅 tales que: 𝑅(𝑘𝑎̃ + 𝑏̃) = 𝑘𝑅(𝑎̃) + 𝑅(𝑏̃), donde 𝑘 ∈ ℝ; 𝑎̃, 𝑏̃ ∈ 𝐹(ℝ). 10.

(17) Una función lineal de clasificación evaluada en 𝑎̃ = (𝑎𝐿 , 𝑎𝑈 , 𝛼, 𝛽) ∈ 𝐹(ℝ), se define por: 𝑅(𝑎̃) = 𝑐𝐿 𝑎𝐿 + 𝑐𝑈 𝑎𝑈 + 𝑐𝛼 𝛼 + 𝑐𝛽 𝛽, donde 𝑐𝐿 , 𝑐𝑈 , 𝑐𝛼 y 𝑐𝛽 son constantes al menos una de ellas no-nula. Maleki & Tata (2000) propone en particular la función lineal de clasificación: 1. 𝑅(𝑎̃) = (𝑎𝐿 + 𝑎𝑈 + 2 (𝛽 − 𝛼)). (4). Entonces, usando (4) para números difusos trapezoidales 𝑎̃ = (𝑎𝐿 , 𝑎𝑈 , 𝛼, 𝛽) y 𝑏̃ = (𝑏 𝐿 , 𝑏 𝑈 , 𝛾, 𝜃), se tiene que: 1 1 𝑎̃ ≥̇ 𝑏̃ si y solo si 𝑎𝐿 + 𝑎𝑈 + 2 (𝛽 − 𝛼) ≥ 𝑏 𝐿 + 𝑏 𝑈 + 2 (𝜃 − 𝛾). 1.4. Programación Lineal Difusa Una aplicación de la teoría de conjuntos difusos en la Toma de Decisiones es la Programación Lineal Difusa, introducida por primera vez por Zimmerman (1978). Ahora se abordan los problemas de programación lineal difusa (PLD) que en este trabajo se dividen en dos subclases:. 1) Problema de programación lineal con coeficientes difusos trapezoidales en la función objetivo y 2) Problema de programación lineal con variables difusas trapezoidales (PLVT).. Un problema de programación lineal común (PL), llamado también modelo de programación lineal “nítido” en la terminología del entorno difuso, se define en forma standard como sigue:. 𝑥1 𝑥2 Max 𝑧 = (𝑐1 , 𝑐, … , 𝑐𝑛 ) ( ⋮ ) 𝑥𝑛 11.

(18) 𝑎11 𝑎21 sujeto a ( ⋮ 𝑎𝑚1. 𝑎12 𝑎22 ⋮ 𝑎𝑚2. … 𝑎1𝑛 𝑥1 𝑏1 … 𝑎2𝑛 𝑥2 𝑏2 ⋮ ) ( ⋮)= ( ⋮ ) ⋱ 𝑥𝑛 … 𝑎𝑚𝑛 𝑏𝑚. 𝑥1 , 𝑥2 , … , 𝑥𝑛 ≥ 0 , Max 𝑧 = 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛. es decir ,. 𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 = 𝑏1 𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 = 𝑏2 sujeto a { ⋮ ⋮ ⋮ ⋮ 𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ⋯ + 𝑎𝑚𝑛 𝑥𝑛 = 𝑏𝑚 con. 𝑥1 , 𝑥2 , … , 𝑥𝑛 ≥ 0. En forma sintética: Max 𝑧 = 𝑐𝑥 sujeto a 𝐴𝑥 = 𝑏. (5). 𝑥≥0 donde los parámetros 𝑐 = (𝑐1 , … , 𝑐𝑛 ), 𝑏 = (𝑏1 , … , 𝑏𝑚 )𝑇 , 𝑚 ≤ 𝑛, y 𝐴 = (𝑎𝑖𝑗 )𝑚×𝑛 son dados con componentes reales y 𝑥 ∈ ℝ𝑛 es el vector desconocido de variables reales que debe ser hallado. Si se consideran a algunos de estas cantidades como números difusos trapezoidales entonces estamos frente a un problema de Programación Lineal Difusa para el número trapezoidal.. 12.

(19) Capítulo 2. Programación lineal con coeficientes difusos trapezoidales en la función objetivo. 2.1. Definición del problema de Programación Lineal con coeficientes difusos trapezoidales en la función objetivo. 2.1.1. Definición del problema de programación lineal con coeficientes difusos. trapezoidales en la función objetivo El problema de programación lineal con coeficientes difusos trapezoidales en la función objetivo, se define como sigue: 𝑥1 𝑥2 Max 𝑧̃ =̇ (𝑐̃1 , 𝑐̃2 , … , 𝑐̃𝑛 ) ( ⋮ ) 𝑥𝑛 𝑎11 𝑎21 sujeto a ( ⋮ 𝑎𝑚1. 𝑎12 𝑎22 ⋮ 𝑎𝑚2. … 𝑎1𝑛 𝑥1 𝑏1 … 𝑎2𝑛 𝑥2 𝑏2 ⋮ ) ( ⋮)= ( ⋮ ) ⋱ 𝑥𝑛 … 𝑎𝑚𝑛 𝑏𝑚. 𝑥1 , 𝑥2 , … , 𝑥𝑛 ≥ 0 es decir ,. Max 𝑧̃ =̇ 𝑐̃1 𝑥1 + 𝑐̃2 𝑥2 + ⋯ + 𝑐̃𝑛 𝑥𝑛 𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 = 𝑏1 𝑎 𝑥 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 = 𝑏2 sujeto a { 21 1 ⋮ ⋮ ⋮ ⋮ 𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ⋯ + 𝑎𝑚𝑛 𝑥𝑛 = 𝑏𝑚 con. 𝑥1 , 𝑥2 , … , 𝑥𝑛 ≥ 0. 13.

(20) En forma sintética: Max 𝑧̃ =̇ 𝑐̃ 𝑥 sujeto a 𝐴𝑥 = 𝑏. (6). 𝑥 ≥ 0, donde 𝑏 ∈ ℝ𝑚 , 𝑥 ∈ ℝ𝑛 , 𝐴 ∈ ℝ𝑚×𝑛 , 𝑐̃ ∈ (𝐹(ℝ)). 𝑛. y 𝑅 es una función lineal de. clasificación.. 2.1.2. Solución factible óptima 𝑥1 Cualquier vector 𝑥 ∈ ℝ , 𝑥 = ( ⋮ ) que satisfaga el conjunto de condiciones del problema 𝑥𝑛 𝑛. (6) se llama solución factible para el problema de programación lineal con coeficientes difusos trapezoidales en la función objetivo (Mahdavi & Nasseri, 2009). Sea 𝑄𝑁 el conjunto de todas las soluciones factibles de dicho problema, entonces se dice que 𝑥0 ∈ 𝑄𝑁 es una solución óptima posible para el problema de programación lineal con coeficientes difusos trapezoidales en la función objetivo si: 𝑐̃ 𝑥0 ≥̇ 𝑐̃ 𝑥 para toda 𝑥 ∈ 𝑄𝑁 . La forma en que Nasseri & Ardil (2005) resuelven estos problemas es usando la misma función de clasificación para todas las ecuaciones e inecuaciones, en este caso se usa la función lineal de clasificación propuesta por Maleki & Tata (2000) dada en la ecuación (4).. Aplicando la función lineal de clasificación se obtiene un modelo de Programación Lineal “nítido” equivalente al problema de Programación Lineal con coeficientes difusos trapezoidales en la función objetivo en el sentido de que los conjuntos de soluciones factibles de los dos problemas son el mismo, así la solución óptima del modelo "nítido” es la solución óptima del problema de programación lineal con coeficientes difusos trapezoidales en la función objetivo.. h 14.

(21) 2.2. Solución factible básica 𝐴𝑥 = 𝑏. Al considerar el sistema: con : 𝑥 ≥ 0,. 𝐴: matriz de orden 𝑚 × 𝑛,. 𝑏: 𝑚-vector.. Si el 𝑟𝑎𝑛𝑔𝑜(𝐴, 𝑏) = 𝑟𝑎𝑛𝑔𝑜(𝐴) = 𝑚, se pueden particionar y ordenar apropiadamente las columnas de 𝐴, de tal manera que se obtenga (𝐵 𝑁), donde 𝐵 de orden 𝑚 × 𝑚 es no singular respecto a una base. 𝑇. Entonces, 𝑥𝐵 = (𝑥𝐵1 , … , 𝑥𝐵𝑚 ) = 𝐵 −1 𝑏, 𝑥𝑁 = 0 es una solución de 𝐴𝑥 = 𝑏. El punto 𝑥 = (𝑥𝐵𝑇 , 𝑥𝑁𝑇 )𝑇 donde 𝑥𝑁 = 0 se denomina solución básica del sistema. Si 𝑥𝐵 ≥ 0, entonces 𝑥 se denomina una solución factible básica del sistema y el correspondiente valor difuso de la función objetivo es: 𝑧̃ =̇ 𝑐̃𝐵 𝑥𝐵 , donde 𝑐̃𝐵 = (𝑐̃𝐵1 , … , 𝑐̃𝐵𝑛 ). Ahora correspondiente a cada índice 𝑗, 1 ≤ 𝑗 ≤ 𝑛, se definen: 𝑦 = 𝐵 −1 𝑎𝑗 y 𝑧̃𝑗 =̇ 𝑐̃𝐵 𝑦𝑗 . Entonces para cualquier índice básico 𝑗 = 𝐵𝑖 , 1 ≤ 𝑖 ≤ 𝑚, se tiene que: 𝑧̃𝑗 − 𝑐̃𝑗 =̇ 𝑐̃𝐵 𝐵 −1 𝑎𝑗 − 𝑐̃𝑗 =̇ 𝑐̃𝐵 𝑒𝑖 − 𝑐̃𝑗 =̇ 𝑐̃𝑗 − 𝑐̃𝑗 =̇ 0̃ , donde 𝑒𝑖 es el 𝑖 −ésimo vector unitario. Aquí 𝐵 se llama matriz básica y 𝑁 matriz no-básica. Las componentes de 𝑥𝐵 se denominan variables básicas, y las componentes de 𝑥𝑁 variables no-básicas. El siguiente resultado dado por Mahdavi & Nasseri (2009) se refiere a los llamados problemas de Programación Lineal con cantidades difusas no-degenerados, donde cada variable básica correspondiente a cada base factible 𝐵 es positiva.. 15.

(22) Teorema 2.. Suponga que el problema de Programación Lineal con coeficientes difusos. trapezoidales en la función objetivo es no-degenerado. Una solución factible básica 𝑥𝐵 = 𝐵 −1 𝑏, 𝑥𝑁 = 0 es óptima para (6) si y solo si 𝑧̃𝑗 ≥̇ 𝑐̃𝑗 , para cada 𝑗, 1 ≤ 𝑗 ≤ 𝑛. Demostración: Supongamos que 𝑥∗ = (𝑥𝐵𝑇 , 𝑥𝑁𝑇 )𝑇 es una solución factible básica de (6), donde 𝑥𝐵 = 𝐵 −1 𝑏, 𝑥𝑁 = 0, entonces 𝑧̃ =̇ 𝑐̃𝐵 𝑥𝐵 =̇ 𝑐̃𝐵 𝐵 −1 𝑏. Por otro lado, para toda solución factible 𝑥, se tiene 𝑏 = 𝐴𝑥 = 𝐵𝑥𝐵 + 𝑁𝑥𝑁 . Luego, se obtiene: 𝑧̃ =̇ 𝑐̃ 𝑥 =̇ 𝑐̃𝐵 𝑥𝐵 + 𝑐̃𝑁 𝑥𝑁 =̇ 𝑐̃𝐵 𝐵 −1 𝑏 − ∑𝑗≠𝐵𝑖 (𝑐̃𝐵 𝐵 −1 𝑎𝑗 − 𝑐̃𝑗 )𝑥𝑗. Entonces,. 𝑧̃ =̇ 𝑧̃∗ − ∑𝑗≠𝐵𝑖(𝑧̃𝑗 − 𝑐̃𝑗 )𝑥𝑗. (7). donde 𝑧̃∗ es una solución factible básica de (6) , entonces 𝑧̃∗ es solución factible básica óptima si y solo si ∑𝑗≠𝐵𝑖 (𝑧̃𝑗 − 𝑐̃𝑗 )𝑥𝑗 es ≥̇ 0, lo que implica que 𝑧̃𝑗 − 𝑐̃𝑗 ≥̇ 0, es decir 𝑧̃𝑗 ≥̇ 𝑐̃𝑗 para cada 𝑗. ∎. 2.3. Método Simplex para el problema de Programación Lineal con coeficientes difusos trapezoidales en la función objetivo. 2.3.1. Método Simplex para el problema de programación lineal con coeficientes. difusos trapezoidales en la función objetivo Al considerar el problema de Programación Lineal con coeficientes difusos trapezoidales en la función objetivo dado en (6), éste se puede reescribir como: Max 𝑧̃ =̇ 𝑐̃𝐵 𝑥𝐵 + 𝑐̃𝑁 𝑥𝑁 Sujeto a 𝐵𝑥𝐵 + 𝑁𝑥𝑁 = 𝑏 𝑥𝐵 ≥ 0 , 𝑥𝑁 ≥ 0. 16.

(23) 𝑥𝐵 + 𝐵 −1 𝑁𝑥𝑁 = 𝐵 −1 𝑏. Entonces, se tiene y por consiguiente. 𝑧̃ + (𝑐̃𝐵 𝐵 −1 𝑁 − 𝑐̃𝑁 )𝑥𝑁 =̇ 𝑐̃𝐵 𝐵−1 𝑏. Para 𝑥𝑁 = 0, se tiene 𝑥𝐵 = 𝐵 −1 𝑏 = 𝑦0. y. 𝑧̃ =̇ 𝑐̃𝐵 𝐵−1 𝑏.. Luego se puede reescribir el anterior problema de Programación Lineal con coeficientes difusos trapezoidales en la función objetivo como la siguiente tabla simplex:. Base. 𝑥𝐵. 𝑥𝑁. 𝑧̃. 0̃. 𝑧̃𝑁 − 𝑐̃𝑁 =̇ 𝑐̃𝐵 𝐵 −1 𝑁 − 𝑐̃𝑁. 𝑥𝐵. 𝐼. 𝑌 = 𝐵 −1 𝑁. Solución 𝑦̃00 =̇ 𝑐̃𝐵 𝐵−1 𝑏 𝑦0 = 𝐵 −1 𝑏. Tabla Simplex para el problema de Programación Lineal con coeficientes difusos trapezoidales en la función objetivo. La anterior Tabla Simplex brinda toda la información necesaria para proceder con el método simplex. El costo difuso dado en la tabla es: 𝑦̃0𝑇 =̇ 𝑐̃𝐵 𝐵 −1 𝐴 − 𝑐̃ donde,. 𝑦̃0𝑗 =̇ 𝑐̃𝐵 𝐵−1 𝑎𝑗 − 𝑐̃𝑗 =̇ 𝑧̃𝑗 − 𝑐̃𝑗 , 1 ≤ 𝑗 ≤ 𝑛 con 𝑦̃0𝑗 =̇ 0̃ para 𝑗 = 𝐵𝑖 , 1 ≤ 𝑖 ≤ 𝑚.. De acuerdo con las condiciones de optimalidad dados en el Teorema 2 (Mahdavi & Nasseri, 2009), se obtiene la solución óptima si 𝑦̃0𝑗 ≥̇ 0 para toda 𝑗 ≠ 𝐵𝑖 , 1 ≤ 𝑖 ≤ 𝑚. Por otro lado, si 𝑦̃0𝑘 <̇ 0, para algún 𝑘 ≠ 𝐵𝑖 , 1 ≤ 𝑖 ≤ 𝑚, entonces el problema es no acotado, o se puede hacer un intercambio de una variable básica 𝑥𝐵𝑟 por una variable no básica 𝑥𝑘 para incrementar el rango del valor objetivo (bajo suposición de no degeneración).. 17.

(24) Como se observa en la tabla simplex para el problema de Programación Lineal con coeficientes difusos trapezoidales en la función objetivo, si existe una columna 𝑘 (que no está en la base) tal que: 𝑦̃0𝑘 =̇ 𝑧̃𝑘 − 𝑐̃𝑘 <̇ 0̃ y 𝑦𝑖𝑘 ≤ 0 , 𝑖 = 1, … , 𝑚 entonces el problema es no acotado; y, si en la misma tabla existiera un índice 𝑘 no básico tal que 𝑦̃0𝑘 =̇ 𝑧̃𝑘 − 𝑐̃𝑘 <̇ 0̃ y existe un índice básico 𝐵𝑖 tal que 𝑦𝑖𝑘 > 0, entonces se puede encontrar una fila pivotante 𝑟, para que pivoteando sobre 𝑦𝑟𝑘 se produzca la tabla factible no decreciente con el correspondiente (incrementando bajo el supuesto de no-degeneración) valor objetivo difuso. Así mismo, si existiera un 𝑘 tal que 𝑦0𝑘 = 𝑅(𝑦̃0𝑘 ) < 0 y el problema no es no-acotado, entonces 𝑟 se elige tal que: 𝑦𝑟0 𝑦𝑟𝑘. 𝑚𝑖𝑛 = 1≤𝑖≤𝑚 {. 𝑦𝑖0 𝑦𝑖𝑘. |𝑦𝑖𝑘 > 0}. Para reemplazar en la base 𝑥𝐵𝑟 por 𝑥𝑘 , resultando una nueva base 𝐵̂ = (𝑎𝐵1 , … , 𝑎𝐵𝑟−1 , 𝑎𝑘 , 𝑎𝐵𝑟+1 , … , 𝑎𝑚 ) La nueva base es factible y el valor objetivo difuso correspondiente no es decreciente (aumenta bajo suposición de no degeneración). La nueva tabla simplex se obtiene mediante eliminación gaussiana, pivoteando sobre 𝑦𝑟𝑘 para transformar la 𝑘 −ésima columna en el vector unitario 𝑒𝑟 . Así, el nuevo valor objetivo difuso es: 𝑦̂00 = 𝑦00 − 𝑦0𝑘. 𝑦𝑟0 𝑦𝑟𝑘. ≥ 𝑦00. donde 𝑦0𝑗 = 𝑅(𝑦̂0𝑗 ) para toda 𝑗, ya que 𝑦0𝑘 < 0 y degenerado, entonces. 𝑦𝑟0 𝑦𝑟𝑘. 𝑦𝑟0 𝑦𝑟𝑘. > 0 (si el problema es no-. > 0 y entonces 𝑦̂00 > 𝑦00 ) (Mahdavi & Nasseri 2009).. 18.

(25) 2.3.2. Estrategia de pivoteo y cambio de base Si 𝑥𝑘 entra en la base y 𝑥𝐵𝑟 sale de la base, entonces el pivoteo sobre 𝑦𝑟𝑘 en la tabla simplex se realiza de la siguiente manera (Mahdavi & Nasseri, 2009): (𝑖) Se divide la fila 𝑟 por 𝑦𝑟𝑘 . (𝑖𝑖) Para 𝑖 = 0,1, … , 𝑚 y 𝑖 ≠ 𝑟 , reemplaza la 𝑖 −ésima fila añadiéndole −𝑦𝑖𝑘 veces la nueva 𝑟 −ésima fila.. 2.3.3. Algoritmo simplex para el problema de Programación Lineal con. coeficientes difusos trapezoidales en la función objetivo (𝑖) La solución factible básica está dada por 𝑥𝐵 = 𝑦0 y 𝑥𝑁 = 0. El valor objetivo difuso es: 𝑧̃ =̇ 𝑦̃00 . (𝑖𝑖) Calcule 𝑦0𝑗 = 𝑅(𝑧̃𝑗 − 𝑐̃𝑗 ) , 𝑗 = 1, … , 𝑛 , 𝑗 ≠ 𝐵𝑖 , 𝑖 = 1, … , 𝑚. 𝑚𝑖𝑛 sea 𝑦0𝑘 = 𝑗=1,…,𝑛 {𝑦0𝑗 } . Si 𝑦0𝑘 ≥ 0, entonces paramos; la solución obtenida es óptima.. (𝑖𝑖𝑖) Si 𝑦𝑘 ≤ 0, entonces paramos; el problema es no acotado. En otro caso, determine un índice 𝑟 correspondiente a la variable 𝑥𝐵𝑟 que deja la base de la siguiente manera: 𝑦𝑟0 𝑦𝑟𝑘. 𝑚𝑖𝑛 = 1≤𝑖≤𝑚 {. 𝑦𝑖0 𝑦𝑖𝑘. |𝑦𝑖𝑘 > 0}. (𝑖𝑣) Pivotee sobre 𝑦𝑟𝑘 y se actualiza la tabla simplex, para volver al paso (𝑖𝑖). Para ilustrar el empleo del anterior método simplex difuso se resuelve el siguiente problema de Programación Lineal con coeficientes difusos trapezoidales en la función objetivo.. Ejemplo 7.. Resolver el siguiente problema de Programación Lineal con coeficientes. difusos trapezoidales en la función objetivo: Max 𝑧̃ =̇ (3,5,1,1)𝑥1 + (4,6,1,2)𝑥2 19.

(26) {. sujeto a las restricciones:. 𝑥1 + 2𝑥2 ≤ 4 2𝑥1 + 3𝑥2 ≤ 7 𝑥1 , 𝑥2 ≥ 0. para:. En efecto, adicionando variables de holgura, se obtienen el modelo estándar dado por las nuevas restricciones: {. 𝑥1 + 2𝑥2 + 𝑥3 = 4 2𝑥1 + 3𝑥2 + 𝑥4 = 7 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 > 0. para:. Al aplicar el método simplex difuso anterior, se obtenga la primera tabla:. 𝑥1. Base. 𝑥2. 𝑥3. 𝑥4. 𝑧̃. 𝑧̃. (-5,-3,1,1). (-6,-4,2,1). 0̃. 0̃. 0̃. 𝑥3. 1. 2. 1. 0. 4. 𝑥4. 2. 3. 0. 1. 7. Al evaluar, sucede que: 𝑦̃01 = (−5, −3,1,1) , 𝑦̃02 = (−6, −4,2,1) , 𝑅(𝑦̃01 ) = −8 , 𝑅(𝑦̃02 ) = −10.5 Entonces, 𝑥2 ingresa a la base y la variable que sale es 𝑥3 , pivoteando sobre 𝑦12 = 2 se obtiene. Base. 𝑥1. 𝑧̃. (-3,0,3/2,2). 𝑥2 0̃. 𝑥3 (2,3,1/2,1). 𝑥4. 𝑧̃. 0̃. (8,12,2,4). 𝑥2. 1/2. 1. 1/2. 0. 2. 𝑥4. 1/2. 0. -3/2. 1. 1. donde 𝑦̃01 = (−3,0,3/2,2), 𝑦̃03 = (2,3,1/2,1) , 𝑅(𝑦̃01 ) = −11/4 , 𝑅(𝑦̃03 ) = 21/4 ahora, 𝑥1 ingresa a la base y la variable que sale es 𝑥4 , y se obtiene la siguiente tabla:. 20.

(27) Base. 𝑥1. 𝑥2. 𝑥3. 𝑥4. 𝑧̃. 0̃. 0̃. (7,3,5,7). 𝑥2. 0. 1. 2. −1. 1. 𝑥1. 1. 0. −3. 2. 2. (0,6,4,3). 𝑧̃ (8,18,6,7). que es optimal pues 𝑦̃03 , 𝑦̃04 >̇ 0̃ .. Figura 5. Aproximaciones sucesivas a la solución óptima: 𝑧̃1 = ̇ 0̃ primera aproximación, 𝑧̃2 =̇ (8,12,2,4) segunda aproximación, 𝑧̃3 =̇ (8,18,6,7) solución óptima.. donde la solución óptima tiene la siguiente función de pertenencia: 8−𝑥 , 8−6≤𝑥 ≤8 9 2 1 , 8 ≤ 𝑥 ≤ 18 (𝑥) 𝜇𝑧̃3 = 𝑥 − 18 1− , 18 < 𝑥 ≤ 18 + 7 7 { 0 , 𝑥 < 2 𝑜 𝑥 > 25 1−. Se puede concluir que bajo las condiciones del problema, el óptimo se logra en 2 para 𝑥1 y 1 para 𝑥2 , y que el óptimo se alcanza en 𝑧̃3 =̇ (8,18,6,7) con valor 𝑅(𝑧̃3 ) = 26.5.. 21.

(28) Capítulo 3. Programación Lineal con variables difusas trapezoidales. 3.1. Definición del problema de programación lineal con variables difusas trapezoidales 3.1.1. Problema de programación lineal con variables difusas trapezoidales Un problema de programación lineal con variables difusas trapezoidales se define de la siguiente manera (Nasseri & Amiri, 2009): Max 𝑧̃ =̇ 𝑐𝑥̃ sujeto a 𝐴𝑥̃ =̇ 𝑏̃. (8). 𝑥̃ ≥̇ 0 donde:. 𝑏̃ ∈ (𝐹(ℝ))𝑚 ,. 3.1.2. Solución factible difusa.. 𝑥̃ ∈ (𝐹(ℝ))𝑛 ,. 𝐴 ∈ ℝ𝑚×𝑛 , 𝑐 𝑇 ∈ ℝ𝑛 ,. Se dice que el vector difuso 𝑥̃ ∈. (𝐹(ℝ))𝑛. 𝑥̃1 , 𝑥̃ = ( ⋮ ) es 𝑥̃𝑛. una solución difusa factible de (8) si y sólo si 𝑥̃ satisface las restricciones del problema.. 3.1.3. Solución factible difusa óptima Una solución factible difusa 𝑥̃∗ es una solución óptima difusa para el problema (8), si para todas las soluciones factibles difusas 𝑥̃ de (8), se tiene que 𝑐𝑥̃∗ ≥̇ 𝑐𝑥̃.. 22.

(29) 3.2. Solución factible básica Aquí se describe la solución factible básica difusa para el problema de Programación Lineal con variables difusas trapezoidales que establecieron Maleki & Tata en 2000 . Para el problema definido en (8), considere el sistema 𝐴𝑥̃ =̇ 𝑏̃ y 𝑥̃ ≥̇ 0. Sea 𝐴 = [𝑎𝑖𝑗 ]𝑚×𝑛 . Si el 𝑟𝑎𝑛𝑔𝑜(𝐴) = 𝑚, se pueden ordenar convenientemente las columnas de 𝐴 para luego particionar 𝐴 como [𝐵 𝑁], donde la matriz 𝐵 de orden 𝑚 × 𝑚 es no singular, y 𝑟𝑎𝑛𝑔𝑜(𝐵) = 𝑚. Sea además 𝑦𝑗 la solución de 𝐵𝑦 = 𝑎𝑗 . Entonces la solución básica: 𝑇. 𝑥̃𝐵 = (𝑥̃𝐵1 , … , 𝑥̃𝐵𝑚 ) =̇ 𝐵 −1 𝑏̃ , 𝑥̃𝑁 =̇ 0. (9). es una solución de 𝐴𝑥̃ =̇ 𝑏̃. El punto 𝑥̃ consecuentemente particionado como 𝑥̃ = (𝑥̃𝐵𝑇 𝑥̃𝑁𝑇 )𝑇 se denomina solución básica difusa correspondiente a la base 𝐵. Si 𝑥̃𝐵 ≥̇ 0, entonces la solución básica difusa es factible y el correspondiente valor difuso de la función objetivo es 𝑧̃ =̇ 𝑐𝐵 𝑥̃𝐵 , donde 𝑐𝐵 = (𝑐𝐵1 , … , 𝑐𝐵𝑛 ). Ahora, correspondiente a cada variable difusa trapezoidal no básica 𝑥̃𝑗 , 1 ≤ 𝑗 ≤ 𝑛 , 𝑗 ≠ 𝐵𝑖 , e 𝑖 = 1, … , 𝑚 , se define: 𝑧𝑗 = 𝑐𝐵 𝑦𝑗 = 𝑐𝐵 𝐵 −1 𝑎𝑗. (10). Si 𝑥̃𝐵 >̇ 0, entonces 𝑥̃ es llamada solución básica difusa factible no degenerada, y si al menos una componente de 𝑥̃𝐵 es cero, entonces 𝑥̃ es llamada solución básica difusa factible degenerada.. 23.

(30) Cuando el problema de Programación Lineal con variables difusas trapezoidales es no degenerado, es decir cuando todas las variables difusas básicas correspondientes a cada base 𝐵 son no nulas (y por tanto positivas), sucede que una solución básica difusa factible: 𝑥̃𝐵 =̇ 𝐵 −1 𝑏̃ , 𝑥̃𝑁 =̇ 0 Es óptima para el problema (8) si y solo si 𝑧𝑗 ≥ 𝑐𝑗 para toda 1 ≤ 𝑗 ≤ 𝑛.. 3.3. Método Simplex para el problema de Programación Lineal con variables difusas trapezoidales 3.3.1. Método Simplex para el problema de Programación Lineal con variables. difusas trapezoidales Considere el problema de programación lineal con variables difusas trapezoidales definido en (8). Max 𝑧̃ =̇ 𝑐𝐵 𝑥̃𝐵 + 𝑐𝑁 𝑥̃𝑁 sujeto a:. 𝐵𝑥̃𝐵 + 𝑁𝑥̃𝑁 =̇ 𝑏̃. y 𝑥̃𝐵 , 𝑥̃𝑁 ≥̇ 0. Entonces, es posible reescribir (11) como 𝑥̃𝐵 =̇ 𝐵 −1 𝑏̃ − 𝐵 −1 𝑁𝑥̃𝑁 y consecuentemente se tiene 𝑧̃ =̇ 𝑐𝐵 (𝐵 −1 𝑏̃ − 𝐵 −1 𝑁𝑥̃𝑁 ) + 𝑐𝑁 𝑥̃𝑁 También se puede reescribir 𝑥̃𝐵 + 𝐵 −1 𝑁𝑥̃𝑁 =̇ 𝐵 −1 𝑏̃ y en consecuencia la función objetivo satisface 𝑧̃ + (𝑐𝐵 𝐵 −1 𝑁 − 𝑐𝑁 )𝑥̃𝑁 =̇ 𝑐𝐵 𝐵 −1 𝑏̃ Además, puesto que 𝑥̃𝑁 =̇ 0 , se tiene finalmente que 𝑥̃𝐵 =̇ 𝐵 −1 𝑏̃ y 𝑧̃ =̇ 𝑐𝐵 𝐵 −1 𝑏̃. 24. (11).

(31) Todo lo anterior, permite reescribir el problema de Programación Lineal para variables difusas trapezoidales en la siguiente tabla (Nasseri & Ardil, 2005): 𝑧̃. 𝑥̃𝐵. 𝑥̃𝑁. 𝑧̃. 𝑧̃. 1. 0. 𝑐𝐵 𝐵 −1 𝑁 − 𝑐𝑁. 𝑐𝐵 𝐵 −1 𝑏̃. 𝑥̃𝐵. 0. I. 𝐵 −1 𝑁. 𝐵 −1 𝑏̃. Tabla Simplex para el problema de programación lineal con variables difusas trapezoidales. La anterior tabla brinda toda la información necesaria para proceder con el método simplex. La fila de costos en dicha tabla está dada por: (𝛾𝑗 )𝑗≠𝐵 = (𝑐𝐵 𝐵 −1 𝑎𝑗 − 𝑐𝑗 )𝑗≠𝐵 = (𝑧𝑗 − 𝑐𝑗 )𝑗≠𝐵 . 𝑖. 𝑖. 𝑖. De acuerdo con la condición de optimalidad para este problema, ésta se logra si: 𝛾𝑗 ≥ 0 para toda 𝑗 ≠ 𝐵𝑖 . Por otro lado, si 𝛾𝑙 < 0 para toda 𝑙 ≠ 𝐵𝑖 entonces podemos intercambiar 𝑥̃𝐵𝑟 con 𝑥̃𝑙 . Luego se calcula el vector: 𝑦𝑙 = 𝐵 −1 𝑎𝑙 Si 𝑦𝑙 ≤ 0, entonces 𝑥̃𝑙 puede incrementar indefinidamente, y entonces el objetivo optimal es no acotado. Por otro lado, si 𝑦𝑙 tiene al menos una componente positiva, entonces el incremento será bloqueado por una de las variables básicas, que caen a cero. A continuación pivoteamos, si 𝑥̃𝑙 ingresa a la base y 𝑥̃𝐵𝑟 deja la base, entonces el pivoteo sobre 𝑦𝑟𝑙 se puede establecer de la siguiente manera (Nasseri & Ardil, 2005):. (𝑖) Divida la fila 𝑟 por 𝑦𝑟𝑙 . 25.

(32) (𝑖𝑖) Para 𝑖 = 1, … , 𝑚 e 𝑖 ≠ 𝑟, actualiza la primera fila agregando a ella −𝑦𝑖𝑙 veces la nueva 𝑟 − ésima fila. (𝑖𝑖𝑖) Actualice la fila cero añadiéndole 𝛾𝑙 multiplicado por la nueva fila 𝑟.. Teorema 3.. Si en una tabla simplex difusa (Nasseri & Ardil, 2005), existe una 𝑙 tal que. 𝑧𝑙 − 𝑐𝑙 < 0 y existe un índice básico 𝑖 tal que 𝑦𝑖𝑙 > 0, entonces se puede encontrar una fila pivotante 𝑟 tal que pivotando sobre 𝑦𝑟𝑙 se producirá una tabla factible difusa con un correspondiente valor objetivo no decreciente. Demostración.. Se necesita un criterio para elegir una variable básica difusa que deje la. base para que así la nueva tabla simplex sea factible y el nuevo valor objetivo sea no decreciente. Si se supone que la columna 𝑙 es la columna pivot, y además se supone que 𝑥̃ =̇ (𝑥̃𝐵 𝑇 , 𝑥̃𝑁 𝑇 ). 𝑇. es una solución factible básica para el problema de programación lineal con variables difusas trapezoidales, donde 𝑥̃𝐵 =̇ 𝐵 −1 𝑏̃. y 𝑥̃𝑁 =̇ 0 .. Entonces el correspondiente valor objetivo difuso es (Nasseri & Ardil, 2005) 𝑧̃ =̇ 𝑐𝐵 𝐵 −1 𝑏̃ =̇ 𝑐𝐵 𝑦̃0 . Por otro lado, para cualquier solución factible básica difusa del problema de Programación Lineal con variables difusas trapezoidales, se tiene 𝑥̃𝐵 + ∑𝑗≠𝐵𝑖 𝑦𝑗 𝑥̃𝑗 =̇ 𝑦̃0 donde 𝑦𝑗 = 𝐵 −1 𝑎𝑗 . Entonces, si 𝑥̃𝑙 entra en la base se puede escribir 𝑥̃𝐵 =̇ 𝑦̃0 − 𝑦𝑙 𝑥̃𝑙 Puesto que, se desea que 𝑥̃𝐵 sea factible, entonces 𝑦̃𝑖0 − 𝑦𝑖𝑙 𝑥̃𝑙 ≥̇ 0 , para toda 𝑖 = 1, … , 𝑚. Si 𝑦𝑖𝑙 ≤ 0, entonces la anterior condición se satisface. Por tanto, para todos 𝑦𝑖𝑙 > 0, es necesario tener. 26.

(33) 𝑥̃𝑙 ≤̇. 𝑦̃𝑖0 𝑦𝑖𝑙. 1. Para satisfacer 𝑅(𝑎̃) = 𝑎𝐿 + 𝑎𝑈 + 2 (𝛽 − 𝛼) es suficiente permitir 𝑦̃𝑟0 𝑦𝑟𝑙. 𝑦̃. =̇ 𝑚𝑖𝑛 { 𝑦𝑖0 /𝑦𝑖𝑙 > 0} 𝑖𝑙. También, para cualquier solución factible básica difusa del problema de Programación Lineal con variables difusas trapezoidales, se tiene 𝑧̃ =̇ 𝑐𝐵 𝑦̃0 − ∑𝑗≠𝐵𝑖 (𝑧𝑗 − 𝑐𝑗 )𝑥̃𝑗 Así, si ingresamos 𝑥̃𝑙 en la base, se tiene: 𝑧̃ =̇ 𝑐𝐵 𝑦̃0 − (𝑧𝑙 − 𝑐𝑙 )𝑥̃𝑙 Se observa que el nuevo valor objetivo es no decreciente, ya que 𝑧̃ =̇ 𝑐𝐵 𝑦̃0 − (𝑧𝑙 − 𝑐𝑙 )𝑥̃𝑙 ≥̇ 𝑐𝐵 𝑦̃0 usando el hecho de que. Teorema 4.. (𝑧𝑙 − 𝑐𝑙 )𝑥̃𝑙 ≤̇ 0 . ∎. Si para cualquier solución factible básica difusa del problema de. Programación Lineal con variables difusas trapezoidales existe alguna columna que no está en la base para la que 𝑧𝑙 − 𝑐𝑙 < 0 y 𝑦𝑖𝑙 ≤ 0, 𝑖 = 1, … , 𝑚, entonces el problema de Programación Lineal con variables difusas trapezoidales tiene una solución no acotada. Demostración.. Suponga que 𝑥̃𝐵 es una solución básica difusa del problema de. Programación Lineal con variables difusas trapezoidales, entonces 𝑥̃𝐵𝑖 + ∑𝑗≠𝐵𝑖 𝑦𝑖𝑗 𝑥̃𝑗 =̇ 𝑦̃𝑖0 , 𝑖 = 1, … , 𝑚 , 𝑗 = 1, … , 𝑛 o 𝑥̃𝐵𝑖 =̇ 𝑦̃𝑖0 − ∑𝑗≠𝐵𝑖 𝑦𝑖𝑗 𝑥̃𝑗 , 𝑖 = 1, … , 𝑚 , 𝑗 = 1, … , 𝑛 Ahora, si se ingresa 𝑥̃𝑙 en la base, entonces se tiene que 𝑥̃𝑙 >̇ 0 y 𝑥̃𝑗 =̇ 0, para toda 𝑗 ≠ 𝐵𝑖 ∪ 𝑙. Como 𝑦𝑖𝑙 ≤ 0 , 𝑖 = 1, … , 𝑚 , se tiene 𝑦̃𝑖0 − 𝑦𝑖𝑙 𝑥̃𝑙 ≥̇ 0. 27.

(34) Por lo tanto, la solución básica difusa actual permanecerá factible (Nasseri & Ardil, 2005). Ahora, el valor de 𝑧̂ para la anterior solución factible difusa es como sigue 𝑧̂ =̇ 𝑐𝐵 𝑥̃𝐵 + 𝑐𝑁 𝑥̃𝑁 =̇ ∑𝑚 ̃𝑖0 − 𝑦𝑖𝑙 𝑥̃𝑙 ) + 𝑐𝑙 𝑥̃𝑙 𝑖=1 𝑐𝐵𝑖 (𝑦 =̇ ∑𝑚 ̃𝑖0 − (∑𝑚 ̃𝑙 𝑖=1 𝑐𝐵𝑖 𝑦 𝑖=1 𝑐𝐵𝑖 𝑦𝑖𝑙 − 𝑐𝑙 )𝑥 =̇ 𝑐𝐵 𝑦̃0 − (𝑐𝐵 𝑦𝑙 − 𝑐𝑙 )𝑥̃𝑙 =̇ 𝑧̃ − (𝑧𝑙 − 𝑐𝑙 )𝑥̃𝑙 Así que 𝑧̂ =̇ 𝑧̃ − (𝑧𝑙 − 𝑐𝑙 )𝑥̃𝑙. (12). Por lo tanto, se puede ingresar 𝑥̃𝑙 en la base con un valor difuso arbitrariamente grande. Entonces, de (12) tenemos una solución no acotada. ∎. 3.3.5. Método simplex difuso Suponga que se proporciona una solución factible básica con base 𝐵, entonces 1. La solución factible básica está dada por (Nasseri & Ardil,2005): 𝑥̃𝐵 =̇ 𝐵 −1 𝑏̃ =̇ 𝑦̃0 y 𝑥̃𝑁 =̇ 0. El valor difuso de la función objetivo es: 𝑧̃ =̇ 𝑐𝐵 𝐵 −1 𝑏̃ =̇ 𝑐𝐵 𝑦̃0 2. Calcule 𝑤 = 𝑐𝐵 𝐵 −1 , y 𝑦0 = 𝑅(𝑦̃0 ) . Para cada variable no básica, calcule 𝛾𝑗 = 𝑧𝑗 − 𝑐𝑗 = 𝑐𝐵 𝐵 −1 𝑎𝑗 − 𝑐𝑗 = 𝑤𝑎𝑗 − 𝑐𝑗 . Sea 𝛾𝑙 = 𝑚𝑖𝑛𝑗 {𝛾𝑗 } . Si 𝛾𝑙 ≥ 0, entonces si para, la solución actual es óptima. En otro caso se va al paso 3. 3. Calcule 𝑦𝑙 = 𝐵 −1 𝑎𝑙 . Si 𝑦𝑙 ≤ 0, entonces se para, la solución óptima es no acotada. En otro, caso determine el índice de la variable 𝑥̃𝐵𝑟 dejando la base de la siguiente manera: 𝑦𝑟0 𝑦𝑟𝑙. =. 𝑚𝑖𝑛 1≤𝑖≤𝑚 𝑦̃. 𝑦. { 𝑦𝑖0 /𝑦𝑖𝑙 > 0} 𝑖𝑙. actualice 𝑦̃𝑖0 reemplazando por 𝑦̃𝑖0 − 𝑦𝑟0 𝑦𝑖𝑙 para 𝑖 ≠ 𝑟 y 𝑦̃𝑟0 reemplazando por 𝑟𝑙. 28. 𝑦̃𝑟0 𝑦𝑟𝑙. ..

(35) 𝑦̃. También, actualice 𝑧̃ reemplazando por 𝑧̃ − 𝑦𝑟0 (𝑧𝑙 − 𝑐𝑙 ). 𝑟𝑙. Luego, actualiza 𝐵 reemplazando 𝑎𝐵𝑟 con 𝑎𝑙 y regresa al paso 2. Para ilustrar paso a paso el anterior método simplex difuso se resuelve el siguiente problema de Programación Lineal con variables difusas trapezoidales:. Ejemplo 8.. Resuelva el siguiente problema de Programación Lineal difusa Max 𝑧̃ =̇ 3𝑥̃1 + 4𝑥̃2 {. sujeto a las restricciones:. 3𝑥̃1 + 𝑥̃2 ≤̇ (2, 4, 1, 3) 2𝑥̃1 − 3𝑥̃2 ≤̇ (3, 5, 2, 1) 𝑥̃1 , 𝑥̃2 ≥̇ 0. para:. En efecto, corresponde reescribir el problema en la forma (11): 3𝑥̃1 + 𝑥̃2 + 𝑥̃3 =̇ (2, 4, 1, 3) 2𝑥̃1 − 3𝑥̃2 + 𝑥̃4 =̇ (3, 5, 2, 1) 𝑥̃1 , 𝑥̃2 , 𝑥̃3 , 𝑥̃4 ≥̇ 0 Para que al aplicar el método simplex difuso anterior, se obtenga la primera tabla:. Base. 𝑥̃1. 𝑥̃2. 𝑥̃3. 𝑥̃4. 𝑧̃. 𝑅(𝑧̃ ). 𝑧̃. -3. -4. 0. 0. 0̃. 0. 𝑥̃3. 3. 1. 1. 0. (2, 4, 1, 3). 7. 𝑥̃4. 2. -3. 0. 1. (3, 5, 2, 1). 7.5. A partir de la anterior tabla se obtiene: 𝛾1 = 𝑧1 − 𝑐1 = −3 < 0. y. 𝛾2 = 𝑧2 − 𝑐2 = −4 < 0. Entonces, 𝛾2 < 𝛾1 Por lo tanto, la variable difusa no básica relacionada con 𝛾2, esto es 𝑥̃2 es una variable entrante. Por consiguiente, de acuerdo con el criterio dado en el paso 3 del algoritmo difuso simplex, 𝑥̃3 es la variable saliente. 29.

(36) Ahora, después de pivotear se obtiene la nueva tabla simplex:. 𝑅(𝑧̃ ). Base. 𝑥̃1. 𝑥̃2. 𝑥̃3. 𝑥̃4. 𝑧̃. 𝑧̃. 9. 0. 4. 0. (8, 16, 4, 12). 28. 𝑥̃2. 3. 1. 1. 0. (2, 4, 1, 3). 7. 𝑥̃4. 11. 0. 3. 1. (9, 17, 5, 10). 28.5. De acuerdo con la tabla simplex anterior, para las variables difusas no básicas 𝑥̃1 , 𝑥̃3 se tiene 𝛾1 = 9 > 0, 𝛾3 = 4 > 0. Por lo tanto, usando la condición de optimalidad para el problema de Programación Lineal con variables difusas trapezoidales dada en el Teorema 2, se obtiene la solución difusa optima: 𝑥̃1∗ =̇ (0,0,0,0), 𝑥̃2∗ =̇ (2,4,1,3), 𝑥̃3∗ =̇ (0,0,0,0), 𝑥̃4∗ =̇ (9,17,5,10) y 𝑧̃ =̇ (8,16,4,12) con 𝑅(𝑧̃ ) = 28. Figura 6. Solución difusa óptima: 𝑥̃1∗ =̇ (0,0,0,0), 𝑥̃2∗ =̇ (2,4,1,3), 𝑥̃3∗ =̇ (0,0,0,0), 𝑥̃4∗ =̇ (9,17,5,10) con 𝑅(𝑥̃1∗ ) = 0, 𝑅(𝑥̃2∗ ) = 7, 𝑅(𝑥̃3∗ ) = 0, 𝑅(𝑥̃4∗ ) = 28,5 y 𝑅(𝑧̃ ) = 28.. 30.

(37) 8−𝑥. 1− 4 1 donde la función de pertenencia de 𝑧̃ 𝑒𝑠 𝜇𝑧̃ (𝑥) = 𝑥−16 1 − 12 {0 ,. , 8−4≤𝑥 ≤8 , 8 ≤ 𝑥 ≤ 16 , 16 < 𝑥 ≤ 16 + 12 𝑥 < 4 < 𝑜 𝑥 > 28. El Algoritmo simplex difuso codificado en MATLAB que se adjunta en el Apéndice aplicado al Ejemplo 8 utiliza el formato 𝑀𝑖𝑛 𝑧̃ =̇ 𝑐𝑥̃ sujeto a 𝐴𝑥̃ =̇ 𝑏̃ 𝑥̃ ≥̇ 0 De ahí que se ingresa −𝑐 al programa, pues 𝑀𝑎𝑥 𝑧̃ =̇ 𝑐𝑥̃ equivale a −𝑀𝑖𝑛 𝑧̃ =̇− 𝑐𝑥̃. 31.

(38) Conclusiones 1. Es posible formular y dar solución óptima al problema de Programación Lineal para variables difusas trapezoidales. 2. La formulación del problema de Programación Lineal para variables difusas trapezoidales requiere de la construcción de un aparato matemático análogo al que emplea la Programación Lineal clásica, en tal sentido: a) Es posible desarrollar el concepto de solución factible básica para el problema de programación lineal difusa mediante el empleo de cantidades difusas trapezoidales y funciones lineales de clasificación. b) Es posible desarrollar condiciones de optimalidad para este problema. 3. Es posible diseñar un algoritmo simplex difuso para resolver este problema. 4. La diferencia entre el método simplex clásico y el método simplex difuso radica en que para el segundo es necesario definir previamente una aritmética que permita operar con números difusos trapezoidales, y establecer entre éstos una relación de orden, esto se logra mediante el uso de una función lineal de clasificación. 5. La principal ventaja del método simplex difuso sobre el método simplex clásico radica en que amplía la gama de variables que pueden ser operadas por éste método; puesto que éstas ya no sólo serán variables reales, sí no que también se pueden emplear variables difusas trapezoidales, las que además permiten operar con información que tiene un grado de incertidumbre. 6. La velocidad de convergencia del método simplex difuso debe ser menor que la del método simplex clásico, pues el primero realiza más volumen de cálculo, dado que opera con variables que requieren cada una, cuatro cantidades reales. Además los resultados parciales que se obtengan deben ser ordenados por la función lineal de clasificación.. 32.

(39) Apéndice A continuación damos el código del Algoritmo Simplex difuso en Matlab %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Funcion simplexmf: Simplex + Fuzzy % Formato del problema a resolver: % Maximizar c'x % Sujeto a: % Ax=b % x>=0 % donde % A: mxn-matriz % b: m-vector columna de disponib. (fuzzy) % c: n-vector columna de costos % x: n-vector colmna de incognitas (fuzzy) % Ingresan: A, b, c % Llamada en linea de comando MatLab: % [z,x]=simplexmf (A,b,c) % Retorna % z: valor objetivo optimo % x: vector optimo (fuzzy) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [z,x,colB]=simplexmf(A,b,c) format bank; format compact; epsilon=1.e-12; [m,n]=size(a); M=1.e10; tiempo=cputime for i=1:m if re(b(i,:))<0 b(i,:)=pe(-1,b(i,:)); A(i,:)=-A(i,:); end end function [A,b,c]=generador(m,n) format short g; x=round([100*rand(n,1),100*rand(n,1)+101,100*rand(n,1),100*rand(n,1)]); A=round(100*(rand(m,n)-rand(m,n))); b=pemat(A,x); c=round(100*(rand(n,1)-rand(n,1))); function z=pe(x,a) if x>=0 z=x*a; else z=[x*a(2) x*a(1) -x*a(4) -x*a(3)]; end function z=pemat(X,a) [m,n]=size(X); z=zeros(m,4); for i=1:m 33.

(40) suma=[0 0 0 0]; for j=1:n suma=suma+pe(X(i,j),a(j,:)); end z(i,:)=suma; end function z=re(a) z=a(1)+a(2)+0.5*(a(4)-a(3)); function z=remat(a) z=a(:,1)+a(:,2)+0.5*(a(:,4)-a(:,3)); function z=ro(a,b) if re(a)>re(b) z=1; elseif re(a)==re(b) z=0; else z=-1; end function z=sf(a,b) z=a+b; function [z,x,iter,colB]=simplexf(A,b,c,colB) epsilon=1.e-12; [m,n]=size(A); iter=0; parar='no'; while parar=='no' iter=iter+1; R=setdiff(1:n,colB); B=A(:,colB); cB=c(colB); cN=c(R); N=A(:,R); if rcond(B)<epsilon error('Matriz B no es inversible'); end iB=inv(B); xB=pemat(iB,b); if min(remat(xB))<-epsilon error('B no es factible, alguna variable basica es negativa'); end cosred=cB'*iB*N-cN'; [cosredmax,k]=max(cosred); x=zeros(n,4); x(colB,:)=xB; yk=iB*N(:,k); if cosredmax<epsilon z=re(pemat(cB',xB)); parar='si'; elseif yk<epsilon z=-inf; parar='si'; else minimo=inf; for i=1:m if yk(i)>epsilon & re(pe(1/yk(i),xB(i,:)))<minimo minimo=re(pe(1/yk(i),xB(i,:))); Br=i; end. 34.

(41) end colB(Br)=R(k); end end. 35.

(42) Bibliografia [1] Bellman R, Zadeh L. (1970). Decision making in a fuzzy environment, Management Science, 17, 141-164 [2] Campos L, Verdegay J. (1989). Linear programing problems and ranking of fuzzy numbers, Fuzzy Sets and Systems, 32, 1-1 [3] Mahdavi-Amiri N, Nasseri S. (2007). Duality results and dual simplex method for linear programing with trapezoidal fuzzy variables, Fuzzy Sets and Systems, 158, 1961-1978 [4] Mahdavi-Amiri N, Nasseri S. (2006). Duality in fuzzy number linear programing by use of a certain ranking function, Applied Mathematics and Computation, 180, 206-216 [5] Maleki H, Tata M. (2000). Linear programing with fuzzy variables, Fuzzy Sets and Systems, 109, 21-33 [6] Nasseri S H, Ardil E. (2005), Simplex Method for Fuzzy Variable Linear Programming Problems, Worl Academy of Science, Engineering and Technology 8, 198-202 [7] Mahdavi-Amiri N, Naseeri S. (2009). Fuzzy Primal Simplex Algorithms for Solving Fuzzy Linear Programming Problems,Iranian Journal of Research, Vol. 1. No. 2. 2009, pp.6884. [8] Tanaka H, Okuda T. (1974). On fuzzy mathematical programing, The Journal of Cybernetics, 3(4), 37-46. [9] Zimmermann H. (1978). Fuzzy programing and linear programing with several objective functions, Fuzzy Sets and Systems, 1, 45-55. 36.

(43)

Figure

Figura 6. Solución difusa óptima:

Referencias

Documento similar