optimization/permutation problem: select those rows in a matrix whose mean produces the maximal value of a certain function

5 ビュー (過去 30 日間)
Lets say I have a matrix nxm and a certain function y=f(1:m) that uses a row (or the mean of several rows) of my matrix as input. Now I just want to find the right combination of the n rows that produce the highest y value. The difficulty is that for a high n (will be around 100) there are too many permutations possible (the solution can be a single row, or the mean of two, three, or all rows...).
How could I use the matlab optimization toolbox for my problem? Something like the function createOptimProblem, but instead of fitting parameters of a function to a curve, to use indices for the matrix rows as parameter...
  3 件のコメント
Felix
Felix 2013 年 2 月 8 日
I don't quite understand why it shouldn't be possible. If I had a fast enough computer I could just brute force calculate the function value for all combinations and there has to be an optimum. I can of course first calculate the function value for each row individually and set a certain threshold to reduce the dimensions (since its unlikely that a row that by itself has a very low function value, will contribute in a positive way).
ChristianW
ChristianW 2013 年 2 月 9 日
Repeating myself. Its not possible in general. It might be possible in your case, depending on matrix M and function f. Do you want to show them?

サインインしてコメントする。

回答 (0 件)

カテゴリ

Help Center および File ExchangeSolver 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