The goal is to maximize the objective function, where the decision variable is the vector x = [x,y,z]. It is a binary integer problem (i.e: x,y,z can only take values of 0 or 1). See image for full details:
It seems to be almost solvable with LP because the first part of my objective function is linear (x dot Q*R) (please correct me if I'm wrong in assuming so), but the second part is harder. I have read some stuff online on linearizing an objective function with a min sign: Linearizing min function Problem
Although this is not directly applicable as it is only the first element of the second part of the objective function (denoted as "Decision Vector" (with quotes) in the image) that contains the min operator. The second element of the vector is just z.
Concretely, my main question: is it possible to solve the following integer programming problem, by somehow rewriting the second part using an auxiliary variable to get rid of the "min" operator and make the objective function linear? Also, in the end I want to do this in Python. If there are any implementation tips it would also be greatly appreciated.
Thanks!
