Choice of algorithm for mixed-integer-continuous variables optimization problem
古いコメントを表示
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
2022 年 3 月 13 日
0 投票
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 件のコメント
Matt J
2022 年 3 月 13 日
Or perhaps lsqcurvefit instead of fmincon.
Yunhyeok Ko
2022 年 3 月 14 日
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
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.
カテゴリ
ヘルプ センター および File Exchange で Choose a Solver についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!