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

5 Ansichten (letzte 30 Tage)
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 Kommentare
Felix
Felix am 8 Feb. 2013
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 am 9 Feb. 2013
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?

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by