# Blended Objectives/Linear Combination

I am writing a optimization problem where I have a Utilitarian objective and MaxMin Objective. I want to have a third objective that is a linear combination of the two aka a blended objective. I am using Gurobi. My model is defined as follows

`model = Model(Gurobi.Optimizer)`

I see that Gurobi supports blended objectives, but does julia?

If it does, how would I go about implementing this? For example here are my Utilitarian and MaxMin objectives where `u[r]` is a decision variable and the rest are static variables

`@objective(model, Max, sum(b_dict[r] * (p_dict[r] * u[r]) for r in od))`

``````for r in od
@constraint(model, t <=  p_dict[r] * u[r])
end
@objective(model,Max, t)``````

JuMP does not support multi-objective problems.

When you write

``````@objective(model, Max, x)
@objective(model, Max, y)
``````

we are replacing the single objective, not adding a new one.

For your â€śblendedâ€ť objective, I assume you mean something like a weighted-sum approach? I would do something like this:

``````@variable(model, obj[1:2])
@constraint(model, obj[1] <= sum(b_dict[r] * (p_dict[r] * u[r]) for r in od))
for r in od
@constraint(model, obj[2] <=  p_dict[r] * u[r])
end
l = 0.5
@objective(model, Max, l * obj[1] + (1 - l) * obj[2])
``````

By varying `l` between `0.0` and `1.0`, you can recover the support non-dominated points of the Pareto frontier (if the problem is a linear program. If MIP, things are more difficult).

For other approaches:

1 Like

This is exactly what I meant. Thank you!

1 Like