CPLEX novice here. Sorry!
I am running CPLEX, through the python API and I want to set the objective function that contains a quadratic term and a linear term ,and minimise.
Example below:
obj = aQ+bV
where a & b are scalar constants, Q is the quadratic term V is a vector.
Below is a specific example using dummy data. I want to find x1,x2,x3 that minimises the following equation:
Quadratic Part Linear Part
So far I can solve the quadratic part by explicitly writing out the quadratic matrix and running
p.objective.set_quadratic(Q)
How would I add the second linear term to this objective function?
Thanks,
Daniel
For those interested:
The solution was really straight forward.
p.objective.set_quadratic(q) - this function sets the quadratic part of the objective, but it is not exsaustive, meaning you can add a linear term to the objective by simply including the line 2.
p.objective.set_linear() or as in my case adding the linear term in the variables section:
p.variables.add(obj= my_linear_objective, ub=upper_bounds, lb=lower_bounds, names=my_names)
Essentially here what youre doing is creating an objective that is a combination of your quadratic part set in line #1 + your linear part set in line 2 or 3.