Mampac
New member
- Joined
- Nov 20, 2019
- Messages
- 49
Hi everyone,
For my job, I was asked to solve an issue in an optimization engine that needs to solve an optimization task by minimizing target functions and satisfying constraints.
The constraint I need to implement depends on multiple objects moving in 3D-space, so their planned movement are the variables.
The engine requires any target and constraining functions to be continuous so that it can find positions for the objects to satisfy all constraints, so that's the requirement of the solver.
The constraint I'm writing is supposed to constrain movement of multiple objects and compute their movements which are signed, i.e. can be both negative and positive.
If their movements are represented as [imath]M = \{x_1, x_2, ..., x_n\}[/imath], then I need to see if their minimum and maximum are of different signs, i.e. [math]\max(M) \cdot \min(M) < 0[/math]Just straight up putting this computation into the engine would be bad as most probably the object movement will be too sensitive due to discontinuity.
I have found smooth maximum functions on Wikipedia https://en.wikipedia.org/wiki/Smooth_maximum, but majority of them yield only non-negative values.
So, my questions is does anyone know of any smooth maximum/minimum functions that can output negative values besides non-negative ones, as the sign is very important to me? I would prefer as less parameters as possible (ideally with no parameters at all). Or what else would you recommend to circumvent this issue?
For my job, I was asked to solve an issue in an optimization engine that needs to solve an optimization task by minimizing target functions and satisfying constraints.
The constraint I need to implement depends on multiple objects moving in 3D-space, so their planned movement are the variables.
The engine requires any target and constraining functions to be continuous so that it can find positions for the objects to satisfy all constraints, so that's the requirement of the solver.
The constraint I'm writing is supposed to constrain movement of multiple objects and compute their movements which are signed, i.e. can be both negative and positive.
If their movements are represented as [imath]M = \{x_1, x_2, ..., x_n\}[/imath], then I need to see if their minimum and maximum are of different signs, i.e. [math]\max(M) \cdot \min(M) < 0[/math]Just straight up putting this computation into the engine would be bad as most probably the object movement will be too sensitive due to discontinuity.
I have found smooth maximum functions on Wikipedia https://en.wikipedia.org/wiki/Smooth_maximum, but majority of them yield only non-negative values.
So, my questions is does anyone know of any smooth maximum/minimum functions that can output negative values besides non-negative ones, as the sign is very important to me? I would prefer as less parameters as possible (ideally with no parameters at all). Or what else would you recommend to circumvent this issue?