IntervalConstraintProgramming.jl icon indicating copy to clipboard operation
IntervalConstraintProgramming.jl copied to clipboard

Re-implement contractors and separators with parameters

Open dpsanders opened this issue 1 year ago • 4 comments

The mechanism is available in ReversePropagation.jl, e.g. example here:

julia> ex = x^2 + a * y^2
x^2 + a*(y^2)

julia> C = forward_backward_contractor(ex, vars, [a])
#96 (generic function with 1 method)

julia> C(IntervalBox(-10..10, -10..10), 0..1, 17)
(([-1, 1], [-0.242536, 0.242536]), [0, 1800])

The third argument is the value of the parameter.

dpsanders avatar Apr 03 '24 00:04 dpsanders

I am not very familiar with the package family, but instead of reimplementing contractors here, would it not be better to do that in IntervalContractors.jl?

schillic avatar Apr 03 '24 05:04 schillic

Old branch parameters

dpsanders avatar Apr 06 '24 19:04 dpsanders

@schillic: The IntervalContractors.jl package is for individual contractors, such as the sin_rev reverse function. This package integrates those into contractors for arbitrary formulas.

We might indeed want to think about renaming the IntervalContractors.jl package, since I agree that this is a bit confusing.

dpsanders avatar Apr 06 '24 19:04 dpsanders

(It's also possible that the functions from IntervalContractors.jl will be added back to the IntervalArithmetic.jl package.)

dpsanders avatar Apr 06 '24 19:04 dpsanders