How to use fmincon for dynamic optimisation?
Show older comments
Essentially, I'm trying to find the optimum temperature profile that maximises a value (Mean crystal size), subject to several constraints using the fmincon function.
The fmincon function is as follows:
[opt_design_var,fval] = fmincon(@(design_var) obj_function(design_var,timeSet,CSD0, other_inputs),...
design_var0,*CONSTRAINTS*);
where the design_var is the temperature profile, which is an array of temperatures at constant discrete time intervals, and the obj_function returns the mean particle size (the value that needs to be maximised), given the temperature profile and other variables.
The initial temperature profile estimate design_var0 looks like this:

After each set of iterations, the calculated temperature profile, opt_design_var, is used as the new initial temperature profile guess for the next set of iterations. This is repeated until convergence.
The problem is that the minimum value it converges on, I know for a fact is not the minimum.
Any help is greatly appreciated, thanks in advance.
Answers (1)
Walter Roberson
on 26 Mar 2016
0 votes
fmincon is a local minimizer. You need to use something from the Global Optimization Toolbox.
Possibly patternsearch() might be useful for you. I do not happen to know much about it, though.
Categories
Find more on Particle Swarm in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!