multi-objective optimization

540 Views Asked by At

I am currently encounterring a optimization problem. The goal is optimize an objective function A and B at the same time. But the problem is that optmizing A will almost always tradoff with B, such that maximize A will somewhat minimize B and wise-versa. So that both A and B can't be optimize both at the same time.

I have browsed around the web, one good solution to my current situation is to do "weighted optmization", such that introudcing an additional parameter $w$.

The optimization problem now becomes weighted importance of the two. So now, the new objective function is :

$w*A+(1-w)*B$

With this, the goal now is the maximize above.

But I found the above equation is extremely difficult to solve.(Running CAD tool for several hours and it can't give anything, and I try other method , and still nothing works). I am wondering if there is better "weighted optimization" format (for example, above is the sum of the two), so that I can try and see if I can get something?


Update: sorry, I know this is a very general problem. But I am new to this area. If you guys can just give me a keyword to google, or point me to the right direction, that is good enough.


Update:

Below is the image of the problem: as you can see A is parabolic, B is like a staight line. I am plotting the case when the weighting factor $w=0.7$ enter image description here

2

There are 2 best solutions below

1
On BEST ANSWER

Both your objective functions seem convex in the decision variable. So most problems that arise from multiobjective paradigms should be convex quadratic optimization problem, for which efficient solvers exist. If your problem is in 1 dimension with explicit bounds, you can use simple iterations such as gradient descent or Newton's like littleO mentioned.

I think the issue is going to be finding the right way to scalarize your multiobjective problem into a single objective one. You'll have to decide if you want to evaluate the entire Pareto optimal set, or decide on a set of weights and optimize the weighted objective function, or perhaps impose a constraint on one objective function while optimizing the other. This is usually highly context dependent.

Hope that helps.

0
On

Do A and B have the same unit, like monetary unit, manpower or volume ? If it is like this, then you can just optimize $f(\vec x)=A(\vec x)+B( \vec x)$.