How to optimize (minimize) a Vector function
Show older comments
I need to minimize a vector function at all points of x f(x) = a+b*x+c*x^2+d*x^3. The values of a,b,c,d has to be optimized for the same. Is their any algorithm in matlab that can do the same? I used gamultiobj algorithm for the same, but it generated a large number of these values for each pareto point. I just need a single set of value for the same.
Accepted Answer
More Answers (5)
deboshree roy
on 30 Mar 2016
0 votes
2 Comments
Torsten
on 30 Mar 2016
Say you have a=b=c=d=1 and x(1)=1 and x(2)=2.
Now what do you mean by
However, the value of a,b,c,d parameters has to be changed, such that I obtain a f(x) value that is minimum at all x.
Best wishes
Torsten.
Walter Roberson
on 31 Mar 2016
fminsearch is for vector functions not just scalar. The function has to take one parameter but it is expected to be a vector.
deboshree roy
on 30 Mar 2016
0 votes
2 Comments
Torsten
on 30 Mar 2016
I don't understand.
Change a to -Inf, b,c and d to 0. Then a minimum value for all x is reached, namely f(x)=-Infinity.
Best wishes
Torsten.
Walter Roberson
on 31 Mar 2016
Your function takes a vector x. You want the minimum f(x) for all x. So you are trying to minimize all members of the vector simultaneously. How do you want to account for the fact that the parameters a b c d that give you the minimum f(x(1)) might give you a larger f(x(2))? If you have two possible sets of a b c d, how do you decide which of the two is better over the entire vector?
Did I see you mention Pareto?
deboshree roy
on 30 Mar 2016
0 votes
2 Comments
deboshree roy
on 30 Mar 2016
Torsten
on 30 Mar 2016
Could you post the objective you are using ?
Best wishes
Torsten.
deboshree roy
on 30 Mar 2016
Edited: Walter Roberson
on 5 Apr 2016
3 Comments
Torsten
on 30 Mar 2016
So your f is a vector of the form
f=[cos(t(1)/T+phi(1))+cos(3*t(1)/T+phi(2))+...+cos(19*t(1)/T+phi(10));
cos(t(2)/T+phi(1))+cos(3*t(2)/T+phi(2))+...+cos(19*t(2)/T+phi(10));
...
cos(t(n)/T+phi(1))+cos(3*t(n)/T+phi(2))+...+cos(19*t(n)/T+phi(10))]
And what's your aim now ? Determine phi such that the maximum of the vector components is minimized ?
Best wishes
Torsten.
Torsten
on 30 Mar 2016
Then use fminimax from the optimization toolbox.
Best wishes
Torsten.
deboshree roy
on 30 Mar 2016
deboshree roy
on 4 Apr 2016
0 votes
Categories
Find more on Choose a Solver 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!