0

Imagine that I am buying a new smartphone. My budget is \$300 and I am concerned with

  • memory (RAM size).

  • number of CPU cores.

I searched for different choices and found the maximum size RAM I can get with \$300, without considering the number of CPU cores. I also found the maximum number of CPU cores I can get with \$300 without considering the size of RAM. After that, I picked some different choices and normalized their RAM sizes and number of CPU cores and normalized them with respect to the maxima I found. Then I found the geometric mean of each choice and picked the one with maximum geometric mean to be my new smartphone.

Is this criterion reasonable to find the optimal choice of smartphone?

How can I implement this problem mathematically? Can I use linear programming to implement it? Thanks in advance.

  • You reduce each smartphone to a pair $(m,n)$, where $m$ is the memory and $n$ is the number of cores. Why not choose nonnegative weights $a$ and $b$ and maximize the payoff $a m + b n$ over the finitely many choices available? Note that the optimal choice depends on the choice of $a$ and $b$. – Rodrigo de Azevedo Apr 09 '18 at 13:24
  • @RodrigodeAzevedo Excuse me, but don't understand your point. What should the values of m and n be? And what does am+nb equal? – Mohammad Nur Apr 09 '18 at 18:21
  • 1
    As I mentioned before, $m$ denotes memory (RAM) and $n$ denotes the number of cores. Each smartphone model would be a point $(m,n)$ in $2$-dimensional space (nonnegative quadrant, to be precise). However, comparing points in $\mathbb R^n$ when $n > 1$ is tricky. Hence, $a m + b n \in \mathbb R$ would be the payoff, the utility, the value (or whatever you want to call it). The smartphone with the highest payoff / utility / value would be the optimal choice. – Rodrigo de Azevedo Apr 09 '18 at 18:32

1 Answers1

1

Your geometric mean criterion is reasonable in the sense that any criterion that is nondecreasing in both arguments (memory and cores) is reasonable.

Rodrigo's suggestion uses a linear utility function, which is also reasonable. Another approach is to define the "Utopia point" to be a mythical phone (within your budget) that has the maximum memory of any contender and the maximum number of cores of any contender. This phone would be the clear winner, except it doesn't exist. You can then measure the distance of every contender from the Utopia point, using either a weighted norm (perhaps using the weights from Rodrigo's linear utility function) or an unweighted norm, using either normalized or non-normalized values, and using any distance metric you like (0-norm, 1-norm, 2-norm, ...). The phone closest to the Utopia point wins.

Another possibility is to use the Analytic Hierarchy Process, which means deciding how important memory is compared to cores, how happy you would be with the memory and the cores in each phone, and then doing some eigenvalue magic to get scores for each phone (high score wins).

I don't see any value to using an optimization model (e.g., linear programming) for this, since your one constraint (budget) reduces the feasible space to a known, easily enumerated finite set. You just need to pick a scoring method, score the contenders and select a winner.

prubin
  • 4,923