Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo escribir un modelo en Matlab para el siguiente problema

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