Final Report
Basic Info
Name: Eeshan Gupta (eeshan9815)
Proposal: Guaranteed Root Finding and Global Optimization with Intervals (link)
Mentor: David Sanders (dpsanders)
Organization: NumFOCUS (Julia)
Category: Package
Major repositories for the work: IntervalConstraintProgramming.jl, IntervalRootFinding.jl, IntervalOptimisation.jl, IntervalArithmetic.jl
Pull Requests
Tasks | Related PRs | Status |
---|---|---|
Interval Constraint Propagation using a Tape | IntervalConstraintProgramming.jl#97 | Open |
Recording getindex to make gradients work |
IntervalConstraintProgramming.jl#100 | Open |
Fix deprecations for Julia 0.7 | IntervalConstraintProgramming.jl#101 | Open |
Global Optimisation | IntervalOptimisation.jl#9 | Open |
Interval Newton Method for one dimension | IntervalRootFinding.jl#39 | Merged |
Robustness and efficiency for newton1d |
IntervalRootFinding.jl#50 | Merged |
System of Linear Equations | IntervalRootFinding.jl#67 | Merged |
Solvers for Quadratic Interval Equations | IntervalRootFinding.jl#68 | Merged |
Automatic evaluation of slope expansions | IntervalRootFinding.jl#69 | Merged |
Slope Interval Newton method | IntervalRootFinding.jl#73 | Open |
Automatic evaluation of multidimensional slope | IntervalRootFinding.jl#76 | Open |
Linear Hull | IntervalRootFinding.jl#79 | Open |
Multidimensional Interval Newton Method | IntervalRootFinding.jl#81 | Open |
Fix deprecations and upgrade to 0.7 | IntervalRootFinding.jl#89 | Open |
extended_div |
IntervalArithmetic.jl#111 | Merged |
abs2 |
IntervalArithmetic.jl#101 | Merged |
Bug in extended_div |
IntervalArithmetic.jl#146 | Merged |
Set Operations | IntervalArithmetic.jl#154 | Merged |
Hashing for Intervals | IntervalArithmetic.jl#161 | Merged |
Interoperability between IntervalBox and SVector | IntervalArithmetic.jl#166 | Merged |
Blog Posts
Blog posts summarizing the work done during the entire period.
Future Work
- Integrate the global optimisation into JuMP since it’s the standard for Mathematical Optimisation in Julia
- Improve constrained optimisation using John Conditions
- Rewrite IntervalConstraintProgramming using Cassette and follow the development cycle of Capstan
- Keep maintaining everything implemented until now, and finding new algorithms to improve the performance and robustness
- Integrate ICP into IntervalRootFinding and make root finding more efficient
Acknowledgements
I would like to thank Dr. David P. Sanders for mentoring me throughout the project, and for his incredible patience and support.
My code builds upon
- julia
- IntervalArithmetic.jl, authored by Dr. David P. Sanders and Dr. Luis Benet
- IntervalContractors.jl, authored by Dr. David P. Sanders
- IntervalConstraintProgramming.jl, authored by Dr. David P. Sanders
- IntervalRootFinding.jl, authored by Dr. David P. Sanders and Dr. Luis Benet
- IntervalOptimisation.jl, authored by Dr. David P. Sanders
Shoutout to the entire Julia community for being awesome and amazingly helpful!
Written on August 13, 2018