Algoritmo Simplex

download Algoritmo Simplex

of 17

description

Algoritmo Simplex

Transcript of Algoritmo Simplex

Facultad de Ingeniera

Algoritmos reconocidos mundialmentePara qu se usa un algoritmo?Curso: Fundamentos de programacin

Profesor: Pedro Pablo Rosales Lpez Integrantes- Casas Bocanegra Kattia- Falcon Delgado Alexander- Ortiz Martinez Renato- Oyarce Milutinovich Branko- Robles Valdez Cristhian

2014-1

ALGORITMO 1: ALGORITMO SIMPLEX

TTULO: Algoritmo Simplex de George Dantzig

AUTOR: George Dantzig

George Bernard Dantzig (8 de noviembre de 1914 13 de mayo de 2005) fue un profesor, fsico y matemtico estadounidense, reconocido por desarrollar el mtodo simplex y es considerado como el "padre de la programacin lineal". Recibi muchos honores, tales como la Medalla Nacional de Ciencia en 1975 y el premio de Teora John von Neumann en 1974.Fue miembro de la Academia Nacional de Ciencias, la Academia Nacional de Ingeniera y la Academia Americana de Artes y Ciencias.Obtuvo su licenciatura en Matemticas y Fsica en la Universidad de Maryland en 1936, su grado de mster en Matemticas en la Universidad de Mchigan, y su doctorado en la Universidad de California, Berkeley en 1946. Recibi adems un doctorado honorario de la Universidad de Maryland en 1976.El padre de Dantzig, Tobas Dantzig, fue un matemtico ruso que realiz estudios con Henri Poincar en Pars. Tobas se cas con una estudiante de la universidad de la Sorbona, Anja Ourisson, y la pareja emigr a los Estados Unidos.

AO: 1947

PARA QU SE USA?El algoritmo Simplex es un algoritmo que ayuda a la solucin de problemas de programacin lineal de manera sencilla. Podramos decir que tambin podemos utilizar el mtodo grfico, pero la diferencia entre el mtodo simplex y el mtodo grfico, es que el segundo permite nicamente dos variables como mximo, mientras que con el simplex se pueden resolver problemas con n variables, pues no utiliza dos cuadrantes, sino que se utilizan las matrices.Es tambin un mtodo iterativo que permite mejorar la solucin en cada paso. El mtodo bsicamente consiste en caminar del vrtice de un poliedro a un vrtice continua pero de manera que aumente, si la funcin objetivo es maximizar; o disminuya, si la funcin objetivo es minimizar; y como el nmero de esquinas que presenta un poliedro es finito, siempre habr una solucin.

CUL ES EL ALGORITMO?Este proceso que se repite una y otra vez, siempre inicia en un punto extremo de la regin factible que normalmente es el origen, en cada iteracin se mueve a otro punto extremo adyacente hasta llegar a la solucin ptima.

Los pasos del Mtodo Simplex son los siguientes:

1. Utilizando la forma estndar, determinar una solucin bsica factible inicial igualando a las n-m variables igual a cero (el origen).2. Seleccionar la variable de entrada de las variables no bsicas que al incrementar su valor pueda mejorar el valor en la funcin objetivo. Cuando no exista esta situacin, la solucin actual es la ptima; si no, ir al siguiente paso.3. Seleccionar la variable de salida de las variables bsicas actuales.4. Determinar la nueva solucin al hacer la variable de entrada bsica y la variable de salida no bsica, ir al paso 2 (actualizar).

ALGORITMO EN C++:#include #include #include #include

//Lo maximo que pueden alcanzar las variables y restricciones#define MAX 10#define RESTRICCION 3double funcion[MAX], restricciones[MAX+1][MAX+RESTRICCION];double independiente[RESTRICCION];int leeDatos(int *var) {int rest,c,i;

printf(" Funcion a Optimizar \nNumero de Variables: ");scanf("%d",var);

printf("\nRecuerda: c1.X1+c2.X2+...cn.Xn = b \n\n");

for(c=0;c