• Miércoles 1 de Mayo de 2024, 21:27

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - marthamoreno

Páginas: [1]
1
Java / pasar de c++ a java
« en: Miércoles 17 de Noviembre de 2010, 01:10 »
hola
alguien me podria ayudar en pasar este codigo de c++ a Java porfavor, Gracias
Tema: investigacion de oepraciones
metodo simplex

/* METODO SIMPLEX
*/

#include <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

//Lo maximo que pueden alcanzar las variables y restricciones
#define MAX 10
#define RESTRICCION 3
double 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 nn");

for(c=0;c<*var;c++)
{
printf(" c%d: ", c+1);
scanf("%lf",&funcion[c]);
fflush(stdin);
}

printf("nNumero de Restricciones: ");
scanf("%d",&rest);

fflush(stdin);

for(i=0;i<rest;i++)
{
printf("Restriccion %dn",i+1);
for(c=0;c<*var;c++)
{
printf(" c%d: ",c+1);
scanf("%lf",&restricciones[c]);
fflush(stdin);
}
printf("Termino independiente ");
scanf("%lf", &independiente);
fflush(stdin);
}

return rest;
}

int main(void)
{
int rest, var, ni ;
int i,j, k, columna, renglon, count, cuenta;
double maximo = 0, menor, aux, mult, temp;
rest = leeDatos(&var);

//Crear tabla inicial simplex
for(i=0;i<rest;i++)
for(j=0; j<rest; j++)
if (i == j)
restricciones[var+j]=1;
else
restricciones[var+j]=0;
for(i=0; i<rest;i++)
restricciones[var+rest] = independiente;

for(j=0; j<var; j++)
restricciones[rest][j] = funcion[j] * -1;
for(j=var; j<rest+var; j++)
restricciones[rest][j] = 0;

ni=1;
printf("n-----------------------------------------------");
printf("n ITERACION %d",ni);
printf("n-----------------------------------------------n");
ni++;
for(i=0; i<=rest; i++) {
for(j=0; j<=rest+var; j++)
printf(" %.2lf t", restricciones[j]);
printf("n");
}

//Encontrar la variable de decision que entra a la base
//y la de holgura que saldra de la base

do
{
//Encontrar la variable de decision que entrara a la base
maximo = abs(restricciones[rest][0]);
columna = 0;
for(j=0; j<=rest+var; j++)
{
if( restricciones[rest][j] < 0 )
{
temp = -1 * restricciones[rest][j];
if ( maximo < temp)
{
maximo = temp;
columna = j;
}
}
else
continue;
}

count = 0;
aux = 1e20;
menor = 1e20;
for(i=0; i<rest; i++) {

if(restricciones[columna] > 0)
aux = restricciones[rest+var] / restricciones[columna];
else
count++;
if( menor > aux ) {
menor = aux;
renglon = i;
}
}
if(count == rest) {
printf("Soluci� no acotada");
exit(1);
}
printf("nPivote: %.2lf, renglon %d columna %d",restricciones[renglon][columna], renglon, columna);

//Encontrar los coeficientes de la nueva tabla
aux = restricciones[renglon][columna];
for(j=0; j<=(rest+var); j++)
restricciones[renglon][j] = restricciones[renglon][j] / aux;


for(i=0; i<=rest; i++) {
if (i == renglon )
continue;
else {
aux = restricciones[columna] * -1;
for(k=0; k <= rest+var; k++) {
restricciones[k] = (aux * restricciones[renglon][k]) +
restricciones[k];
}
}

}
printf("n-----------------------------------------------");
printf("n ITERACION %d",ni);
printf("n-----------------------------------------------n");
ni++;
for(i=0; i<=rest; i++) {
for(j=0; j<=rest+var; j++)
printf(" %.2lf t", restricciones[j]);
printf("n");
}
cuenta = 0;
for(j=0;j<rest+var;j++)
if(restricciones[rest][j] >= 0)
cuenta++;
if (cuenta == rest+var)
break;
} while(cuenta);

printf("---->");

getch();//
}

2
Java / programa en JAVA
« en: Viernes 12 de Noviembre de 2010, 06:17 »
Alguen podria de orientarme para ahcer un programa en java de investigacionde operaciones tema: no acotados que muestre la grafica y el resultado.
porfavor comuniquense al correo tengo esa ultima oportunidad sino piero la materia porfavor colaborenmeee como debo hacerlo

Páginas: [1]