You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It could be nice to have a simple syntax to define a constrained variable. With this, users can be write code without having to worry about which transforms to use (sigmoid is simple but for many constraints, which transform to use is not trivial), for example
For the pattern Variable("x").sigmoid(), we can just substitute an unconstrained value: spn(x=unconstrained_value).
For the pattern Variable("x", constraint=unit_interval), it makes more sense to substitute a constrained value: spn(x=constrained_value). For optimizers, it would be nice to have a "magical" way to substitute an unconstrained value to spn, for example something like spn(x=unit_interval.transform(unconstrained_value)).
It is not clear to me how useful constrained variables will be in other situations, so I would like to consider this FR as low priority. It is a nice topic to discuss though.
The text was updated successfully, but these errors were encountered:
It could be nice to have a simple syntax to define a constrained variable. With this, users can be write code without having to worry about which transforms to use (
sigmoid
is simple but for many constraints, which transform to use is not trivial), for exampleI think we can substitute
x
tospn
as follows:Variable("x").sigmoid()
, we can just substitute an unconstrained value:spn(x=unconstrained_value)
.Variable("x", constraint=unit_interval)
, it makes more sense to substitute a constrained value:spn(x=constrained_value)
. For optimizers, it would be nice to have a "magical" way to substitute an unconstrained value tospn
, for example something likespn(x=unit_interval.transform(unconstrained_value))
.It is not clear to me how useful constrained variables will be in other situations, so I would like to consider this FR as low priority. It is a nice topic to discuss though.
The text was updated successfully, but these errors were encountered: