MultiStart optimization problem structure

2 views (last 30 days)
Aleks
Aleks on 7 Jan 2014
Edited: Matt J on 7 Jan 2014
I currently have a 9x9 double matrix called coeff and another 1x9 double matrix called new_data. I am trying to use MultiStart and GlobalSearch in the Global Optimization Toolbox to find the minima of the following optimization problem:
min (new_data-(coeff*test_weights))^2.
In words, I am trying to minimize the squared distance between the new_data and coeff multiplied by test_weights where test_weights is what I am changing. test_weights should be a 9x1 matrix when finished. I would appreciate if anybody could help me come up with the createOptimProblem statement in MATLAB.
  1 Comment
Matt J
Matt J on 7 Jan 2014
Edited: Matt J on 7 Jan 2014
and another 1x9 double matrix called new_data.
Presumably, you really mean new_data is 9x1 like test_weights, and not 1x9. Otherwise, the subtraction
new_data-(coeff*test_weights)
is not defined.

Sign in to comment.

Answers (1)

Matt J
Matt J on 7 Jan 2014
Edited: Matt J on 7 Jan 2014
It seems strange to be using the Global Optimization Toolbox for this when there is a one-line analytical solution
test_weights=coeff\new_data
Furthermore, unless you have some nonlinear constraints that you haven't mentioned, the problem is convex. There can be no non-global minima.
  4 Comments
Aleks
Aleks on 7 Jan 2014
Edited: Aleks on 7 Jan 2014
That's not really what I am looking for but thank you anyways. Keep in mind that coeff, new_data and test_weights are all matrices.
Matt J
Matt J on 7 Jan 2014
Edited: Matt J on 7 Jan 2014
No, you said that test_weights and new_data are 9x1 vectors, not matrices. It doesn't matter, though. It would work for matrices, too, as long as they are of compatible dimensions so that the expression
new_data-(coeff*test_weights)
can be evaluated.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!