Choice of algorithm for mixed-integer-continuous variables optimization problem

2 次查看(过去 30 天)
I need to find optimum set of variables (K, M) which minimize cost function
c(x, y) = [z(x, y) - z*(x, y)].^2
Here, z(x, y) = N x N target matrix and z*(x, y) = f(x, y; K, M) : function of K and M
Also the constraints are given as follows
  • K: integer = [2, 3 .... 200]
  • M: H by V matrix, 0 <=M(h, v) <= 250, all elements of M(h, v) are continuous variables (double)
In this problem, what kind of algorithm would be the best choice for this problem??

回答(1 个)

Torsten
Torsten 2022-3-13
I'd call fmincon 199 times for k=2,3,4,...,200 and choose the result for K which gives a minimum for the cost function.
  4 个评论
Walter Roberson
Walter Roberson 2022-3-14
Then you will need to use ga with a cost function that is the sum of the c values (so, sum of squares), and using as input a vector that your cost function then splits up between K and M. Number of inputs is numel(K)+numel(M) and the ones that represent K should be marked as integer. Use upper and lower bound to constrain K and M.
You might prefer to write this using Problem Based Optimization
Torsten
Torsten 2022-3-14
Why do you call the approach "iterative" ?
You independently run the solver 199 times and choose the run with the minimum value for the objective function as optimum.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by