Originally posted by: SystemAdmin
[achterberg said:]
If I understand you correctly, your objective function is piecewise linear but still continuous (i.e., without any break points where the value jumps). I further assume that the objective function is convex (in the minimization case). What you are doing is essentially to use something like this:
min c1*x1 + c2*x2 + ... + cn*xn
s.t.
x = x1 + x2 + ... + xn
... other constraints that involve x ...
bounds
0 <= x1 <= p1<br /> 0 <= x2 <= p2-p1<br /> 0 <= x3 <= p3-p2<br /> ...
0 <= xn <= pn-p(n-1)<br />
with c1 < c2 < ... < cn and p1 < p2 < ... < pn. Is this correct?<br />
So, what you are saying is that in the pricing procedure one just needs to check reduced costs for xi in increasing order of i. If xk has non-negative reduced costs, one does not need to look at xj, j > k, because these have larger reduced costs, namely rj = rk + cj - ck.
This is an interesting observation, and it should be possible to exploit this structure automatically. Certainly, we can identify the parellel column vectors. Could you please send us some version of your model (if possible, in different sizes) such that we can try to implement and test this idea?
Thanks,
Tobias
#CPLEXOptimizers#DecisionOptimization