Is your feature request related to a problem? Please describe.
Some auxiliary variables are introduced when building arithmetic and relational expressions.
This are very useful allowing to easily define complex expressions.
However, they are defined when not required.
Model m = new Model();
IntVar[] x = m.intVarArray("x", 3, 0, 1000);
model.times(x[0], x[1], x[2]).post();
x[1].mul(x[1]).eq(x[2]).post(); // Introduce an unnecessary auxiliary variable.
System.out.println(m);
Describe the solution you'd like
Not creating the auxiliary variable mul_exp_1.
Describe alternatives you've considered
The user can post a times constraint instead of defining an expression.
Is your feature request related to a problem? Please describe. Some auxiliary variables are introduced when building arithmetic and relational expressions. This are very useful allowing to easily define complex expressions. However, they are defined when not required.
Describe the solution you'd like Not creating the auxiliary variable
mul_exp_1
.Describe alternatives you've considered The user can post a
times
constraint instead of defining an expression.