optimisation solver with 3 input variables

1 view (last 30 days)
I have 3 variables
X1 - water-cement content (range 0.3 - 0.63)
X2 - aggregate-cement content (range 3.66 - 6.75)
X3 - cement content (range 300 - 450)
these 3 variables determine the compressive strength of concrete that i'm looking for
i created adjusted response plots to estimate where each variable will peak
from the graphs i determined that X1 peaks at around 0.4, X2 peaks at around 4.8, X3 peaks at around 385.
i wanted to run optimisation solver to determine which exact number they would peak at and what would be the maximum concrete strength achievable.
the code used was the following:
obj_fun=@(x) -feval(mdl, x(1), x(2), x(3));
lb=[0.3, 3.66, 300];
ub=[0.63, 6.75, 450];
x0=[0.4, 4.8, 385];
x_val=fmincon(obj_fun, x0, [], [], [], [], lb, ub);
max_strength=-obj_fun(x_val);
fprintf('The optimised combination:Water-cement content %10.4f, Aggregate-cement content %10.4f, cement content %10.4f',x_val(1), x_val(2),x_val(3));
fprintf('\nand the maximum strength is expected to be %10.4f\n', max_strength);
unfortunately optimisation solver doesn't produce a result i was looking for.... as it gives the minimum values twice and maximum once...could this be the actual answer??
any help would be appreciated :)

Answers (0)

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!