Skip to content

Commit cad6aac

Browse files
Merge pull request #154 from SciML/python_opt
Add Python Optimization wrapper package small grant projects
2 parents 3d6f234 + c5a66fd commit cad6aac

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

small_grants.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,54 @@ https://github.com/JuliaSymbolics/Symbolics.jl/blob/master/ext/SymbolicsSymPyExt
196196

197197
**Reviewers**: Chris Rackauckas
198198

199+
## Wrap `scipy.optimize` into the Optimization.jl Interface (\$300)
200+
201+
`scipy.optimize` is a standard in Python with lots of different methods, both local
202+
and global optimizers, that are well-tested and robust. Thus in order to improve
203+
the benchmarking and development of native Julia solvers, it would be helpful to
204+
have these algorithms more easily accessible on the standard optimization interface.
205+
Additionally, it can help users who are transitioning projects to and from Julia
206+
to have a direct way to call the previous code in order to double check the translation.
207+
The goal of this project is to use PythonCall.jl to setup the wrapper subpackage
208+
OptimizationSciPy.jl with the bells and whistles to make such benchmarking and usage
209+
straightforward and simple.
210+
211+
**Information to Get Started**: See the issue https://github.com/SciML/Optimization.jl/issues/917
212+
which has links to starter code. PythonCall.jl is a well-documented library for calling Python
213+
code from Julia and thus its documentation is a good starting point as well.
214+
215+
**Related Issues**: https://github.com/SciML/Optimization.jl/issues/917
216+
217+
**Success Criteria**: Merged pull request which adds a new OptimizationSciPy.jl to
218+
the Optimization.jl repository.
219+
220+
**Recommended Skills**: Basic (undergrad-level) knowledge of calculus and Python
221+
222+
**Reviewers**: Chris Rackauckas
223+
224+
## Wrap PyCMA into the Optimization.jl Interface (\$100)
225+
226+
PyCMA is a very good global optimizer written in Python. It did very well in
227+
early editions of the BlackboxOptimizationBenchmarking.jl tests (see for example
228+
https://github.com/jonathanBieler/BlackBoxOptimizationBenchmarking.jl/tree/v0.1.0)
229+
and thus it would be good to have available for users to call and for benchmarking new
230+
global optimization algorithms against. The goal of this project is to use PythonCall.jl
231+
to setup the wrapper subpackage OptimizationPyCMA.jl with the bells and whistles to make
232+
such benchmarking and usage straightforward and simple.
233+
234+
**Information to Get Started**: See the issue https://github.com/SciML/Optimization.jl/issues/918
235+
which has links to starter code. PythonCall.jl is a well-documented library for calling Python
236+
code from Julia and thus its documentation is a good starting point as well.
237+
238+
**Related Issues**: https://github.com/SciML/Optimization.jl/issues/918
239+
240+
**Success Criteria**: Merged pull request which adds a new OptimizationPyCMA.jl to
241+
the Optimization.jl repository.
242+
243+
**Recommended Skills**: Basic (undergrad-level) knowledge of calculus and Python
244+
245+
**Reviewers**: Chris Rackauckas
246+
199247
## Fix and Update the "Simple Handwritten PDEs as ODEs" Benchmark Set (\$200)
200248

201249
The "Simple Handwritten PDEs as ODEs" benchmarks have been failing for awhile.

0 commit comments

Comments
 (0)