Metodo simplex

Solo disponible en BuenasTareas
  • Páginas : 4 (767 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de enero de 2012
Leer documento completo
Vista previa del texto
UNIVERSIDAD MICHOACANA DE SAN NICOLAS DE HIDALGO

FACULTAD DE INGENIERIA ELECTRICA
FIE
Métodos numéricos

Método simplex para optimización restringida

OBJETIVO
Programar el métodosimplex para conocer su funcionamiento y sus ventajas y desventajas.

DESARROLLO
Mediante la herramienta de programación Matlab se realizara una función de optimización restringida llamada métodosimplex.
Entonces se presenta el siguiente código:
function x =optimizacion_simplex(u,b)

%Jorge Arturo Quintero Navarro.
%Facultad de Ingeniería Eléctrica.

%Esta función recibe una matrizu que contiene las restricciones, las
%variables de holgura y la función objetivo. La matriz b es el conjunto de
%soluciones.

[filas columnas]=size(u);

f=filas;
c=columnas;
cr=0;cr2=0;
v_total=[1:c];
v_rest=[c-f+2:c];
cont1=0;
cont2=0;
x=zeros(1,c);

final=0;

%Al finalizar este ciclo infinito tendremos nuestra tableau sin ningún
%valor negativo en el renglón dela función objetivo.
for k=1:inf
tableau=[u b];

for i=f:f
for j=1:c
if(u(i,j)<cont1)
cont1=u(i,j);
cr=j;final=final+1;
end
end
end

%Aquí se realiza la relación b/x.
vmax=inf;
for i=1:f-1
if(b(i)/u(i,cr)>0)
cont2=b(i)/u(i,cr);if(cont2<vmax)
cr2=i;
vmax=cont2;
end
end
end

v_rest(cr2)=v_total(cr);

%Condición que nos asegura queya no hay más números
%negativos y entonces finaliza el programa.
if(final==0)
break;
end

%Aquí se hacen cero todos los números arriba y abajo del pivote%encontrado con anterioridad.
tableau(cr2,:)=tableau(cr2,:)/tableau(cr2,cr);
tableau_nuev=tableau;
tableau_nuev([1 cr2],:) = tableau_nuev([cr2 1],:);


for j=2:f...
tracking img