# product of variables in objective function

Hi there,

I'm looking for a solver that allows me to solve an optimization problem of the form min x1*x2*x3,...,xn subject to some linear constraints. I've used gurobi before, however I couldn't find the way to include products in the objective function as well as in constraints.

Cheers

Guillermo

-

This is a hard problem (maximizing the product is a bit better one, as sometimes one can take $\log$ of the objective function, and it becomes concave...). Your best shot might be to use the sum of squares approach for polynomial optimization, as implemented e.g. in YALMIP.

-
Does YALMIP support multiobjective optimization (possibly only linear)? –  joro Sep 17 '12 at 6:25
not that I know for sure, but I doubt this. Multiobjective optimization is very hard, in general, as you'd be computing a multidimensional object. –  Dima Pasechnik Sep 17 '12 at 10:02

Recently discovered minizinc

MiniZinc is a medium-level constraint modelling language. It is high-level enough to express most constraint problems easily, but low-level enough that it can be mapped onto existing solvers easily and consistently. It is a subset of the higher-level language Zinc. We hope it will be adopted as a standard by the Constraint Programming community. FlatZinc is a low-level solver input language that is the target language for MiniZinc. It is designed to be easy to translate into the form required by a solver.

There are several backends for the translated problem (MIP, SAT, etc).

Here is how something similar to your question will look like in minizinc:

var int: a;
var int: b;
constraint a + b <= 10;
constraint a>0;
constraint b>0;
solve maximize a*b;
output [ show([a,b]) ];
=======
[5, 5]

-
Hm, in your case you need "solve minimize ....;" –  joro Sep 17 '12 at 6:26