Objective function
The objective function is any expression, so it can be constructed as for constraints. The method problem.setObjective can be used to set (or replace if one has been specified before) the objective function of a problem. The definition of setObjective is as follows:
setObjective(objective, sense=xpress.minimize)
where objective is the expression defining the new objective and sense is either xpress.minimize or xpress.maximize. Examples follow; in the first, the objective function is to be minimized as per default, while the second example specifies the optimization sense as maximization.
m.setObjective(xp.Sum ([y[i]**2 for i in range (10)])) m.setObjective (v1 + 3 * v2, sense=xp.maximize)
Finally, a note on efficiency. For creating a large number of variables, one can obtain a Numpy multiarray of any dimension by just specifying numbers as the index arguments, as in the following example where a 4x7x5 multiarray of variables is created:
x = xp.vars(4,7,5)
For added efficiency, one can drop variable naming if standard names (such as "C1", "C2", "C3") are acceptable. This is done by specifying the argument name="" as in the example below.
x = xp.vars(4,7,5, name="")