| 63 | | 1. Improve constrained NLP solver and/or add one more. Add 2nd derivatives where possible. |
| 64 | | 1. Add constraints to nonsmooth ralg solver (c<0, h=0, lb, ub, A, Aeq), as well as their derivatives |
| 65 | | 1. Add nonSmoothSolve - fsolve equivalent for non-smooth & noisy functions |
| 66 | | 1. Add GNLP (global NLP) class with solver(s) # I intend to add GRASP-based solver |
| 67 | | 1. Add (numerically) parallel gradient/subgradient obtaining |
| | 63 | Milestone 2 is broken into four parts: |
| 69 | | After reaching the first milestone you will have familiarized yourself with !SciPy and should be able to see how to integrate your more innovative work |
| 70 | | into the !SciPy project. You propose an environment that direction more. From your proposal: "will provide scaling, unified convinient text & graphics output, checking user-supplied analitical derivatives, parallel calculations (for example for numerical gradient/subgradient obtaining), easy comparison & unified for all solvers.)" |
| | 65 | 1. Work on the following tickets to closure, with priority given to 296. |
| | 66 | (Note that work on 296 has already started and since you are familiar |
| | 67 | with tnc this should be pretty easy for you to complete.) |
| 72 | | {{{ |
| 73 | | We need you as soon as possible to be much more specific about this. Please suggest some concrete deliverables, which we can use to affirm that you have met this milestone. |
| 74 | | }}} |
| | 69 | http://projects.scipy.org/scipy/scipy/ticket/234 |
| | 70 | http://projects.scipy.org/scipy/scipy/ticket/285 |
| | 71 | http://projects.scipy.org/scipy/scipy/ticket/296 |
| | 72 | http://projects.scipy.org/scipy/scipy/ticket/377 |
| | 73 | http://projects.scipy.org/scipy/scipy/ticket/390 |
| | 74 | http://projects.scipy.org/scipy/scipy/ticket/399 |
| | 75 | http://projects.scipy.org/scipy/scipy/ticket/416 |
| | 76 | http://projects.scipy.org/scipy/scipy/ticket/344 |
| | 77 | http://projects.scipy.org/scipy/scipy/ticket/384 |
| | 78 | http://projects.scipy.org/scipy/scipy/ticket/389 |
| | 79 | http://projects.scipy.org/scipy/scipy/ticket/388 |
| | 80 | Note that you are expected to bring questions and difficulties |
| | 81 | concerning these tickets to the developers list asap! Not |
| | 82 | all questions are answered the first time: rephrase and try |
| | 83 | again! If you think a ticket should be closed as "won't fix", |
| | 84 | bring it before the developer community with your reasoning. |
| 76 | | For this project summer project, your should focus your environment development on the use of Scipy solvers (including the new solvers that you contribute). |
| | 86 | 2. Make existing openopt code usable by adding docstrings, unit tests, and documented sample scripts. |
| | 87 | Docstrings must conform to the standard. |
| | 88 | http://projects.scipy.org/scipy/numpy/wiki/CodingStyleGuidelines |
| | 89 | Tests must conform to the TestingGuidelines |
| | 90 | http://projects.scipy.org/scipy/scipy/wiki/TestingGuidelines |
| | 91 | Make sure ralg and lincher are fully functional, tested, and documented, |
| | 92 | completing as much as possible of your projected work on ralg |
| | 93 | (i.e., constraints to nonsmooth ralg solver (c<0, h=0, lb, ub, A, Aeq), |
| | 94 | as well as their derivatives). |
| | 95 | |
| | 96 | 3. Improve test coverage and docstrings of existing scipy.optimize libraries. |
| | 97 | Change docstrings to conform to the standard. |
| | 98 | http://projects.scipy.org/scipy/numpy/wiki/CodingStyleGuidelines |
| | 99 | Tests must conform to the TestingGuidelines |
| | 100 | http://projects.scipy.org/scipy/scipy/wiki/TestingGuidelines |
| | 101 | Again, bring questions to the developers list in a timely fashion. |
| | 102 | |
| | 103 | 4. Write some step and line search objects for the generic optimizer code. |
| | 104 | (Matthieu has checked the current code base into openopt/solvers.) |
| | 105 | Specifics on task will follow next week. This will add |
| | 106 | functionality to both openopt and to the optimizer as a standalone. |
| | 107 | Include appropriate docstrings and unit tests. |
| | 110 | |
| | 111 | For reasons discussed elsewhere, these milestone markers replace the previous |
| | 112 | markers for milestone 2. Advance on those markers is of course welcome, |
| | 113 | but progress will be judged by the milestones above. |
| | 114 | |
| | 115 | Since you have passed the first milestone, |
| | 116 | you should be familiar enough with !SciPy and that you can see how to integrate your more work |
| | 117 | into the !SciPy project. |
| | 118 | |
| | 119 | |
| | 120 | From your proposal: "will provide scaling, unified convinient text & graphics output, checking user-supplied analitical derivatives, parallel calculations (for example for numerical gradient/subgradient obtaining), easy comparison & unified for all solvers.)" |
| | 121 | As stated from the beginning, |
| | 122 | for this summer project, |
| | 123 | your should focus your development on the use of Scipy solvers (including the new solvers that you contribute). |
| | 124 | This now includes the generalized optimization framework contributed by Matthieu Brucher. |
| | 125 | |