Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
Simplex, con la finalidad de que todos los pasos del metodo queden debidamente especificados y entendidos. Existe una gran variedad de software que resuelven problemas de programacin lineal, la gran mayoria estan fuera del alcance del alumno, por lo que creo pertinente exponer la solucion de este tipo de problemas con Excel de manera rudimentaria y tambien usando el modulo de Solver. La solucion con Excel de manera rudimentaria nos ayudara a entender y memorizar todos los pasos del algoritmo ya que la solucion con solver nos proporciona solo la respuesta optima. El metodo Solver se encuentra en el menu de Herramientas
Explicare desde la introduccin de los datos del programa lineal hasta la interpretacin de los resultados.
Capitulo 1 DEFINICION El matemtico americano George Dantzig, desarrollo en 1947, el Metodo Simplex, que permite resolver problemas de programacin lineal simultaneamente. Estudio matematicas en la universidad de Maryland y estaba adelantando estudios de postgrado cuando estallo la guerra. Cuando comenz la Segunda Guerra Mundial, los estudios de Dantzig en Berkeley fueron suspendidos, y el se convirti en la cabeza de la Rama de Anlisis de Combate de los Cuarteles Centrales Estadsticos de Fuerza Area de los Estados Unidos, lo cual lo llev a lidiar con las logsticas de la cadena de abastecimiento y gestin de cientos de miles de tems y personas. El trabajo proporcion los problemas del "mundo real" que la programacin lineal vendra a resolver. En ese momento comenzo a trabajar en la fuerza aerea como civil, siendo esto el principio de una carrera exitosa en vaias instituciones relacionadas con la defensa de su patria. El termino Programacion Lineal para el metodo de resolucion lo sugiri T J Koopmans, amigo de Dantzig en 1948. Tiene su origen en el uso del termino militar programar usando para referirse a los horarios organizados para entretenimiento, suministro y desplazamiento de los soldados. En 1952, Dantzig comenzo a trabajar con la corporacin RAND como investigador para el desarrollo de programas para computadores. El primer problema practico que se resolvi con este metodo fue uno de nutricion. Una de las ms famosas aplicaciones del algoritmo fue el realizado en la solucin de determinar una dieta ptima al ms bajo costo posible, para paliar el dficit debido a la II Guerra Mundial. El resultado fue el establecimiento de una poltica de estmulo para los productos deficitarios. Dantzig se sorprendi de que el mtodo simplex funcionara con tanta eficiencia. Citando de nuevo sus palabras: "La mayor parte de las ocasiones el mtodo simplex resolva problemas de m ecuaciones en 2m o en 3m pasos, algo realmente impresionante. En realidad nunca pens que fuese a resultar tan eficiente. En ese entonces yo an no haba tenido experiencias con problemas en dimensiones mayores y no confiaba en mi intuicin geomtrica. Por ejemplo, mi intuicin me deca que el procedimiento requerira demasiados pasos de un vrtice al siguiente.
En la prctica son muy pocos pasos. Dicho con pocas palabras, la intuicin en espacios de dimensiones mayores no es muy buena gua. Slo ahora, 52 aos despus de haber propuesto el mtodo simplex por primera vez, la gente est comenzando a tener una idea de por qu el mtodo funciona tan bien como lo hace". Una precisin acerca de la terminologa: un simplex es un tipo especial de conjunto convexo polidrico. Ms concretamente, sean P1, P2, . . . , Pn+1 n+1 puntos (o vectores) en R. Se dice que los vectores tienen independencia afn si los n vectores P1 P2, P1 P3, . . . , P1 Pn, P1 P son linealmente independientes. Si los puntos tienen independencia afn, entonces el conjunto convexo ms pequeo que contiene los n+1 puntos en se llama n-simplex. En R, tres puntos tienen independencia afn si no son colineales. El mtodo simplex fue llamado as por George Dantzig, aunque no est claro por qu eligi ese nombre. Por ltimo, pero no lo ltimo, es importante resear la aplicacin de programacin matemtica que el profesor Dantzig fue desarrollando a lo largo de los aos para diversos sectores industriales y de la Administracin, destacando a ttulo de ejemplo el proyecto PILOT, para una mejor planificacin del sector energtico y, por tanto, un mayor ahorro energtico. A continuacin se presenta parte de una entrevista a George Dantzig, publicada en The College Mathematical Joumal en marzo de 1986; Considerere el problema de asignar 70 hombres a 70 empleos. Una actividad consiste en asignar el i-esimo hombre al j-esimo empleo. Las restricciones son dos: en primer lugar hay 70 hombres, cada uno de los cuales debe asignarse a un puesto, y en segundo lugar, cada uno de los 70 puestos existentes debe de estar ocupado. El nivel de una actividad puede ser 1, cual indica que esta siendo usada, o 0, lo cual significa que no. En consecuencia hay 2 x70 = 140 restricciones y 70 x70=4900 actividades con 4900 variables correspondientes de decisin uno-cero. Por desgracia tambien hay factorial de 70 permutaciones o formas de hacer las asignaciones. El problema consiste en comparar este factorial de 70 formas y elegir la que sea la optima o mejor segn algun criterio previamente establecido. en el ejemplo anterior, factorial de 70 es un numero muy grande. A fin de tener una idea de cmo de grande es, supongase que se hubiese tenido una computadora IBM del tipo main-frame en el instante en el que ocurrio el Bing Bang hace quince millones de aos. Habra podido, entre ese entonces y ahora, examinar todas las soluciones posibles? No! No obstante, supongase que se hubiese tenido una computadora aun mas poderosa, una que pudiese examinar mil millones de asignaciones por segundo. La respuesta seguiria siendo negativa. Aun si la Tierra se llenase con computadoras con rapidez de nanosegundos, todas ellas trabajando en paralelo, la respuesta aun sera No.
Sin embargo, si existiesen diez tierras, todas llenas con computadoras del tipo mencionado, todas programadas en paralelo desde el instante del Bing Bang hasta que el Sol fuese una esfera fria, entonces quizas la respuesta podtria ser si. Lo notable es que el metodo simplex, con la ayuda de una computadora moderna, puede resolver este problema en una fraccion de segundo. Cuando el problema de la planificacin fue tomado inicialmente para la Fuerza Aerea, no existia la nocion exacta de una funcion objetivo, la idea de una meta claramente definida. Por supuesto, teniamos solo un falso respeto hacia el concepto de objetivo. En el discurso de los militares escuche a menudo decir, nuestro objetivo es ganar la guerra. En el mundo de los negocios se escucharia quizas nuestro objetivo es obtener las ganancias. Sin embargo era posible hallar alguna relacion directa entre la meta establecida y las acciones emprendidas para tal fin. Si se estudiaba con cuidado el paso siguiente, se poda ver que algun lider habia promulgado un monton de reglas basicas que, en su concepto, llevaran a la meta. Esto distaba mucho de lo que sera honestamente estudiar todas las combinaciones alternativas de las acciones a seguir para elegir la mejor combinacin. Los que mandan generalmente mueven las manos y dicen He considerado todas las alternativas. Pero eso es casi siempre basura. Lo ms probable es que no pudiesen estudiar todas las combinaciones. Antes de 1947 era inconcebible pensar en la existencia de una herramienta como la programacin lineal que permitiese examinar millones de combinaciones. No habia algoritmo o herramienta computacional que pudiera hacer eso. No descubri el modelo de la programacin lineal en un instante, sino que tuvo un proceso de evolucion. Se dedico casi un ao completo a la tarea de decidir si mi modelo podria ser utilizado en la formulacion de problemas practicos de distribucin de tiempos. Como usted sabe, la planeacion y la distribucin de tiempos se llevaron a una escala inmesa durante la guerra. El funcionamiento de la Fuerza Aerea fue equivalente al funcionamiento de la economa de toda una nacion. En el proceso intervinieron cientos de miles de personas. La logistica tuvo una magnitud difcil de entender para alguien que no haya estado alli. Mi colega Marshall Wood y yo revisamos miles de situaciones tomadas de nuestra experiencia durante la guerra. Las reglas basicas empleadas en la planificacin se expresaban en un formato completamente distinto del que se emplea en la actualidad para formular un programa lineal. Pero no todas. En algunos casos era necesario tomar en cuenta el carcter discreto de las variables y las no convexidades.
Cuando formule por primera vez mi modelo de programacin lineal, lo hice sin funcion objetivo. Estuve luchando por algun tiempo con la adicion de reglas basicas para elegir de entre las soluciones factibles la que en algun sentido fuese `optima`. Pero pronto abandone esta idea y la sustitui por la de una funcion objetivo a ser maximizada. El modelo que formule no estaba hecho especficamente para fines militares. Podia aplicarse a toda clase de problemas de planificacin; todo lo que tenia que hacerse era cambiar los nombres de las filas y las columnas, y entonces era aplicable a un problema de planificacin economica lo mismo que a un problema de planificacin industrial. El metodo simplex es un algoritmo iteractivo para resolver de una manera eficiente los problemas de Programacion Lineal de gran tamao. Se han realizado posteriormente algunas revisiones en el metodo para conseguir incrementar su eficiencia de calculo pero el metodo es bsicamente el mismo. El metodo y sus variantes se ha programado y codificado para todos los tipos y tamaos de ordenadores. El metodo siempre alcanza la solucion optima (si existe tal solucion) Puesto que en cada iteracin mejora la funcion objetivo y hay solo un numero finito de vrtices en la zona de factibilidad. Igualmente se alcanzara el optimo independiente de donde comience el proceso. El proceso de calculo del simplex implica 6 pasos. Estos son: 1. Estandarizar el problema en una tabla de programacin lineal 2. Generar una solucion inicial. 3. Testear la optimalidad de la solucion. Si la solucion no es optima, mejorarla (ir a paso 4); en el caso afirmativo ir al paso 6. La mejora de una solucion no optima se hace en dos pasos: 4. Identificar una variable que entrara en la solucion y la que dejara la solucion. 5. Generar una solucion mejorada. Esta solucion se verifica para ver si es optima. Si no es la optima, se repetiran los pasos 4 y 5. Si es la optima, vamos al paso 6. 6. Encontrar si existe mas de una solucion optima.
COMIENZO
PASO 1
PASO 2
LA SOLUCION ES OPTIMA?
SI
NO
PASO 3
ENCONTRAR TODAS LAS SOLUCIONES OPTIMAS SI EXISTE FIN SOL UCIO N ES OPTI MA?
PASO 4
PASO 5
La idea general del metodo consiste en partir de una solucion basica factible o punto exteremo e ir a una solucion basica factibe adyacente con mejor valor de la funcion objetivo. Este proceso continua hasta que ya no se puedan obtener mejoras y se habra encontrado una solucion optima. Por tanto el algoritmo del simplex debe: 1. 2. 3. 4. encontrar una solucion basica factible inicial. encontrar una solucion basica adyacente a la anterior. asegurar que la nueva solucion basica es factible y por lo tanto punto extremo. asegurar que la nueva solucion es mejor que la anterior.
El algortimo implica un procedimiento de computo que determina en forma algebraica los punto esquina. Esto se logra convirtiendo primero a todas las restricciones de desigualdad en ecuaciones, para despus manipular esas ecuaciones en una forma sistematica. Una propiedad general del metodo es que resuelve la programacin lineal en iteracciones. Cada iteracin desplaza la solucion a un nuevo punto esquina que tiene potencial de mejorar el valor de la funcion objetivo. El proceso termina cuando ya no se puede obtener mejoras. El algoritmo implica calculos voluminosos, lo que hace que la computadora sea una herramienta esencial para resolver los problemas de programacin lineal. Por consiguiente, las reglas computacionales del metodo simplex se adaptan para facilitar el calculo automatico. Para estandarizar, la representacin algebraica del espacio de soluciones de programacin lineal se forma bajo dos condiciones: 1. todas las restricciones (excepto las de no negatividad) son ecuaciones con lado derecho no negativo. 2. todas las variables son no negativas.
Minimizar y Maximizar Mientras en la maximizacin el Beneficio debe crecer, para minimizar, el metodo cambia debido a que en la tabla el Costo debe descender; para lo cual, debemos empezar con elevar el costo a partir del uso de las Variables Artificiales Vi, una para cada restriccin; y, que asignandolas un costo unitario mayor que el mayor costo unitario de las variables primarias, en las funcion objetivo, hara que suba artificialmente, para de alli bajar el costo buscando en la fila del costo el mayor coeficiente positivo (en la maximizacin el menor negativo.), y restar la mayor cantidad posible a dicho costo. Estas variables Vi, a su vez cumplen un doble papel y es de permitir contar con lo elementos de la Matriz Identidad; aunque su primera fila no lo sea, pero siempre habr, que siguiendo el metodo Stndard, pivotear lo elementos +1 de las otras filas para lograr que esta primera fila se provea de ceros. Con esto se consigue ademas que el costo que en la primera fila aparentemente era igual a cero se eleve significativamente. Asi pues, el resto del metodo es el mismo, las holguras se utilizaran segn el signo de la desigualdad para conseguir las igualdades; en la tabla, para la variable que entra, se eligira el mayor positivo de la fila del costo, para la variable que sale la menor division positiva; al fin, en la tabla de optimos, en la fila del Costo no debe quedar coeficientes positivos a excepcion del valor del costo.