Metodo simplex
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...
Regístrate para leer el documento completo.