[SCIP] Division by variable which is running to zero
Ambros Gleixner
gleixner at zib.de
Fri Sep 4 08:41:12 CEST 2020
Dear Johannes,
Assuming that y is nonnegative and can be bounded from above, say y in
[0,U], you could replace y by 1/t, t in [1/U, infinity). This should
get rid of the problem that f is not defined for some values in the
domain. You could then also try to multiply f by t and use the
constraint t * f = 0.
Whether it improves things you would need to see. Unbounded variables
are generally not great for dual bounding, but it might help on the
primal side.
Similar transformations are described in
Schichl H., Neumaier A., Markót M.C., Domes F. (2013) On Solving
Mixed-Integer Constraint Satisfaction Problems with Unbounded Variables.
In: Gomes C., Sellmann M. (eds) Integration of AI and OR Techniques in
Constraint Programming for Combinatorial Optimization Problems. CPAIOR
2013. Lecture Notes in Computer Science, vol 7874. Springer, Berlin,
Heidelberg. https://doi.org/10.1007/978-3-642-38171-3_15
in case you are interested to read more about it, although they just use
it with the reverse motivation: to transform variables with unbounded
domains to bounded ones.
Best,
Ambros
Am 03.09.20 um 13:21 schrieb Pelda, Johannes:
> Dear SCIP-Team,
>
> Thank you very much for sharing this amazing solver!
>
> I have the following question:
>
> f(x, y, z) = (x – a) * b * y * (1 – exp(-c / (b * y))) + z
>
> f(x, y, z) = 0
>
> With y running to zero the division is not defined and SCIP does not
> find a solution (infeasible, solution for z is 1e-20).
>
> Adding a tiny number to y makes SKIP finding a solution.
>
> f(x, y, z) = (x – a) * b * y * (1 – exp(-c / (b * (y + 1e-20)))) + z
>
> f(x, y, z) = 0
>
> The question is how to determine the thiny number beforehand. The tiny
> number seems to depend on the size of the problem (for many x, y, z it
> happens that no solution can be found).
>
> However, is there a better technique to solve the undefined problem for
> –c / (b * y) for y == 0, or to even linearize the function?
>
> I am looking forward to your response.
>
> Kind regards,
>
> Johannes Pelda
>
> Johannes Pelda
>
> Nachhaltige Energie- und Umwelttechnik (NEUTec)
>
> HAWK
>
> Hochschule für angewandte Wissenschaft und Kunst
> Hildesheim/Holzminden/Göttingen
>
> Fakultät Ressourcenmanagement | Rudolf-Diesel-Straße 12 | 37075 Göttingen
>
> E-Mail: johannes.pelda at hawk.de <mailto:johannes.pelda at hawk.de> |
> Telefon: +49 551 5032 185
>
> www.hawk.de <http://www.hawk.de/>
>
> Präsident: Dr. Marc Hudy | Hauptberuflicher Vizepräsident: Martin Böhnke
>
> USt.-ID-Nr.: 154 261 014 | Steuernummer: 30/210/09001
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
>
--
Ambros Gleixner, Research Group Mathematical Optimization Methods at
Zuse Institute Berlin, http://www.zib.de/gleixner
More information about the Scip
mailing list