Cómo resolver masas de un solo grado de libertad usando programación MATLAB
Primero, el problema de programación lineal se convierte a la forma estándar:
Mínimo z=cx p>
a 1x lt;= b 1 A2x = B2 v 1 lt;= x lt=v2
Luego usa la instrucción [x, Fv, ef, out, lambda] = linprog (c , a1, b1, a2, B2, v1, v2, x0, optar).
Simplemente hazlo. Se pueden omitir las piezas que no es necesario configurar.
A la vista de su pregunta, la configuración de la matriz correspondiente al tipo estándar es:
z =-[2 5 0 0 0];
A1 y b1 no es necesario configurarlo.
a2 =[1 0 1 0 0; >v 1 =[0 0 0 0 0];
Simplemente establezca v2 en un valor mayor.
v2 =[1e 10 10 1e 10 1e 10 10 10 1e 10];
Toma el valor inicial, como x0 =[0 0 0 0];
Entonces [x, Fv, ef, out, lambda] = linprog (c, [], [], a2, B2, v1, v2, x0, []);
Fue compilado temporalmente, no compilado. Déjame saber si tienes alguna pregunta. . .
Hay dos preguntas. Primero, su pregunta requiere el valor máximo, mientras que el valor estándar es el valor mínimo, por lo que en su pregunta, el vector C se toma como recíproco, de modo que la solución óptima permanece sin cambios, pero la función objetivo se convierte en recíproca.
En segundo lugar, no sé por qué tu pregunta solo tiene restricciones de igualdad, así que veamos si la copiaste mal.