Cómo escribir un modelo en Matlab para el siguiente problema
Este problema en realidad resuelve un problema de programación no lineal. Se puede resolver utilizando la función de programación no lineal fmincon() de matlab. Ideas de solución:
1. Establecer la función objetivo?fmincon_fun(), es decir,
min z=5000*sum(xi) 6500*sum(yi) 200*sum( zi);
2, establece la función de restricción?fmincon_con(), es decir,
ceq1 = x1 y1-z2-3000
ceq2 = x2 y2. z2-z3-4500
ceq3 = x3 y3 z3-z4-3500
ceq4 = x4 y4 z4-z5-4000
ceq5 = x5 y5 z5- z6-4000
ceq6 = x6 y6 z6-5000
3. Cree la función de ejecución fmincon_main(), es decir:
x0=ones(1, 18)*0.5? Valor inicial
lb=zeros(1,18 ? Valor límite inferior
ub=[ones(1,6)*3000 unos(1,6); )*1500 unos(1,6 )*5000]; ? Valor límite superior
[x, fval, exitflag]=fmincon(@(x) fmincon_fun(x), x0, [], [] , [], [], lb ,ub,@(x) fmincon_con(x))
4. Después de programar el programa de acuerdo con las ideas anteriores, ejecute el programa y obtenga
Costo mínimo de producción F = Costo mínimo de producción F = 129,107,500 dólares estadounidenses
x1=3000 piezas, x2=3000 piezas, x3=3000 piezas, x4=3000 piezas, x5=3000 piezas, x6=3000 piezas
y1=1 pieza, y2=1500 piezas, y3=500 piezas, y4=1000 piezas, y5= 1500 piezas, y6= 1500 piezas
z1=1 pieza, z2=1 pieza, z3=1 pieza, z4=1 pieza, z5=1 pieza, z6=500 piezas