I have a convex optimization problem:

Maximize    obj1
Minimize    obj2
Some constraint

Now to solve this problem, I used lambda to make it one problem:

Maximize    lambda * obj1 - (1-lambda) * obj2 

For my problem, I considered lambda to be 0.8, which is an excellent answer when I simulate my problem using the "cvxpy" in python. However, if I submit a paper including this problem, I will be questioned about the reason for setting the lambda as 0.8. I know that "It just worked" is not a good answer, and I want a scientific approach to finding the optimal value for lambda. The first idea that came to my mind was making lambda an optimization variable. But, very soon, I realized that by taking lambda as a variable, the problem would no longer count as a linear programming problem. So, I wonder if there is a good way to find lambda in a convex optimization problem that can be justified in a scientific paper.


3 Answers 3


There is no mathematical way to derive (or justify) a value for $\lambda$. The justification has to be made in the context of a specific problem and a specific (reasonably credible) decision maker. Basically, the choice of $\lambda$ says that the decision maker would be indifferent between an increase (decrease) of one unit of obj1 and an increase (decrease) of $\frac{\lambda}{1-\lambda}$ units of obj2. So, for example, if obj1 measures number of traffic accidents avoided and obj2 is thousands of dollars spent on safety measures, choosing $\lambda=0.6$ says that the decision maker would be indifferent (neither particularly in favor nor particularly against) spending 1,500 per accident avoided.


Another approach could be generating the Pareto Frontier, solving the problem several times for different values of lambda, using a Weighted sum algorithm (see this or this).


In addition to the above answers, there's good deal of discussion here. One of the experts logically breaks down some key questions like avoiding dominating solution by sticking to single combination of weights. Rather you should experiment with different combinations to ensure you get Pareto optimal candidate set.
In addition I'd say you can also try with a common method like defining a variable $z \le$ obj2. Then maximize obj1 + $z$. Or you can try with priority based optimization and goal programming.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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