Problem with implementing the objective function with minimum and maximum functions simultaneously!

To model min { max_{t in T} f(t)}, you can use the trick

T = 3
model = Model()
@variable(model, f_t[1:T])
@variable(model, f_t_max)
# Assume f_t[t] is defined by other constraints
@constraint(model, [t=1:T], f_t_max >= f_t[t])
@objective(model, Min, f_t_max)

you can use that for your two max terms. Then the -min f(x) term can be converted into max -f(x).

If you get stuck, read Please read: make it easier to help you and then provide an example of the JuMP code you are working on.

2 Likes