Simplex em java

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (465 palavras )
  • Download(s) : 0
  • Publicado : 3 de junho de 2012
Ler documento completo
Amostra do texto
import java.util.ArrayList;
import java.util.List;


public class simplex {


public static double [] z = {-4,-5,-9,-11,0,0,0,0};

public static double [][] f ={{1,1,1,1,1,0,0,15},{7,5,3,2,0,1,0,120},{3,5,10,15,0,0,1,100}};


public static void main(String[] args) {

// for(int i = 1; i < 5 ; i++){

executaSimplex(z,f);
//}

}


public static voidexecutaSimplex(double[]z,double[][]f){

//CALCULA MAIOR COEFIECIENTE NEGATIVO


int coluna = 0;
int i;
double maior = z[0];
maior = Math.abs(maior);

for(i = 1; i < z.length -1;i++){

if (z[i] < 0){
if(maior < Math.abs(z[i])){
maior = Math.abs(z[i]);
coluna = i;
}
}
}System.out.println("##############################################");
System.out.println(String.valueOf("Maior Z:"+maior+" Coluna:"+coluna));



// OBTEM VALORES DA COLUNA PIVO


double x0 = 0;
double x1 = 0;
double x2= 0;
double menor = 10000;
int linhaMenor = 0;
int colunaMenor = 0;

for (int n=0; n < f.length; n++){

x0 = f[n][7];
x1 = f[n][coluna];

if (x1 > 0){
x2 = x0 / x1;
}

System.out.println("Constante:"+String.valueOf(x0));
System.out.println("Elemento coluna pivo:"+String.valueOf(x1));System.out.println("Resultado:"+String.valueOf(x2));

if (x2 != 0){

if(x2 < menor){
menor = x2;
linhaMenor = n;
colunaMenor = coluna;
}
}
}System.out.println("MENOR DIVISAO:"+String.valueOf(menor));
System.out.println("LINHA MENOR ELEM. DIVISAO (LINHA PIVO):"+String.valueOf(linhaMenor));

// ELEMENTO PIVO

double pivo =f[linhaMenor][colunaMenor];

System.out.println("ELEMENTO PIVO:"+String.valueOf(pivo));



//NOVA LINHA PIVO

for (int n=0; n < 7 + 1; n++){


f[linhaMenor][n] = f[linhaMenor][n] / pivo;...
tracking img