I'm writing a computer routine in which I'm trying to optimize two objectives (cost and utility). Since the two objectives are in conflict, I would like to normalize the values of the two functions and add them together to reach a compromize. What I expect to do is something like:

$$O_{overall} = \lambda_1 \times O_{cost} + \lambda_2 \times O_{utility}$$

where $\lambda_1$ and $\lambda_2$ are normalization factors which are equal to $\frac{1}{max(O_{cost})}$ and $\frac{1}{max(O_{utility})}$ respectively. (The objective values cannot be negative in my case).

My problem here is that, to get values for $\lambda_1$ and $\lambda_2$ I need to find the maximum possible values for $O_{cost}$ and $O_{utility}$ which is

(a) not always possible to do

and more importantly

(b) the maximum values I'd get will be unfairly large. So large that these values will NEVER be practically reached, resulting in very small normalized values almost always.

Is there any practical solution for this problem? Surely this isn't an uncommon problem in optimization. Is there any standard method used to solve this problem?

Any help would be appreciated.

  • $\begingroup$ Why settle for a single solution? Look into multiobjective optimization and Pareto surfaces. $\endgroup$ – LinAlg Jul 3 '18 at 18:59

An alternate thought (that got used to some effect in a design long ago) - optimize utility per unit cost, or equivalently, cost per unit utility.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.