Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo encontrar la solución óptima a una ecuación lineal multivariada

Cómo encontrar la solución óptima a una ecuación lineal multivariada

El método general debería ser una búsqueda exhaustiva, pero xyz debería dar un rango, suponiendo x, y, z & gt0, el valor máximo X [400/44] = 9, el valor máximo Y [400/34] = 12, el valor máximo Z [400/64] = 6, [] representa redondeo.

#incluye & ltstdio.h & gt

#incluye & ltconio.h & gt

#incluye & ltmath.h & gt

int main(){

int x, y, z, v, dv, dvMin=32767, x0, y0, z0, v 0;

for(x = 1 ;x & lt=9;++x){

for(y = 1;y & lt=12;++y){

for(z = 1;z & lt=6;++z){

v = 44 * x+34 * y+64 * z;

dv = ABS(v-400);

if(dv & lt; dvMin){

dvMin = dvx0 = x; y0 = y; p>}

}

}

printf("x0=%d, y0=%d, z0=%d, v0=%d\n ", x0, y0, z0, v 0);

printf("\n¡Completo!\n");

getch();

Devuelve 0 ;

}

El resultado final es:

x0=3, y0=6, z0=1, v0=400

¡Se acabó!