Clear Filters
Clear Filters

Find the best possible observation

2 views (last 30 days)
Hello all,
I have a problem but I am not sure how to approach it in MATLAB. Suppose I have 21x5 cell array where cols 1-5 represent:
  1. Name of observation
  2. Value 1
  3. Value 2
  4. Value 3
  5. Value 4
Every row is an observation and its corresponding values.
I want to set constraints on each column to find the best observation name such that values 1 and 4 are maximized and values 2 and 3 are minimized. It would also be good if I could rank each observation based on the fitting of the values to my constraints.
I think this is an optimization problem, but I have no idea how to even approach it in MATLAB. Any guidance to the right direction would be appreciated.

Accepted Answer

Alan Weiss
Alan Weiss on 10 Jan 2018
It sounds like a multiobjective problem to me (you want to maximize a few things and minimize a few things). Generally, there are tradeoffs between objectives, so there is generally no unique solution. If you have constraints as well, then they can be used for deleting points that do not satisfy the constraints, but otherwise the degree of constraint violation just becomes another objective.
In summary, your problem sounds ill-posed, there is quite possibly no unique way of saying that one point is better than another.
Alan Weiss
MATLAB mathematical toolbox documentation
  3 Comments
Image Analyst
Image Analyst on 10 Jan 2018
For "name of observation" do you mean that every row has a different kind of measurement/observation, like row 1 had "temperature" for 4 places, and row 2's column 1 might be "humidity" where the 4 values are humidity measurements for the 4 places, and row 3 might be "hours of sunlight" or something? Usually what I've seen is that the values in all columns are the same, like column 2 would be all temperatures, not temperature for some rows, humidity for other rows, and "hours of sunlight" for other rows.
Siddhartha Dhiman
Siddhartha Dhiman on 10 Jan 2018
Edited: Siddhartha Dhiman on 10 Jan 2018
Image Analyst,
Something like that, but each row represents a unique gene. The four columns represent gene expression fold change at four time points.
I want to automatically rank these genes according to which best fits my minimizing/maximizing constrains.
EDIT: An ideal gene for me would be one that shows the highest fold change at T1, lowest at T2 and T3, and highest at T4. Using this approach, I'd like to rank my genes automatically. I'm not sure whether MATLAB's optimization toolbox could do this since I have no experience in using it.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!