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
Copy file name to clipboardExpand all lines: README.md
+12-5Lines changed: 12 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -265,11 +265,17 @@ large constraint violation even though the starting point is feasible.
265
265
266
266
### Improvements
267
267
268
-
Thanks to the improvements introduced into the new implementation, PRIMA outperforms Powell's
269
-
original code in terms of the **number of function evaluations**, which is the standard performance
270
-
indicator in derivative-free optimization.
268
+
Thanks to the improvements introduced into the new implementation, PRIMA
269
+
generally produces better solutions with less function evaluations compared with Powell's Fortran 77 implementation. This makes PRIMA preferable for if function evaluations are expensive,
270
+
which is typically the case for [derivative-free optimization problems](https://github.com/orgs/libprima/discussions/145).
271
+
However, if function evaluations are not the dominant cost in your application,
272
+
The Fortran 77
273
+
solvers are likely to be faster, as it is more efficient in terms of memory usage and flops
274
+
thanks to the careful and unique (but unmaintained) implementation by Powell.
275
+
271
276
Below are the [performance profiles](https://arxiv.org/pdf/cs/0102001.pdf)
272
-
of the PRIMA solvers compared with Powell's implementation, the convergence tolerance being $\tau = 10^{-6}$.
277
+
of the PRIMA solvers compared with Powell's implementation in terms of the **number of function evaluations**,
278
+
the convergence tolerance being $\tau = 10^{-6}$.
273
279
Roughly speaking, performance profiles plot the percentage of test problems solved against the budget,
274
280
which is measured relative to the cost of the most efficient solver in the comparison.
275
281
A **higher** curve indicates a **better** solver.
@@ -358,7 +364,8 @@ PRIMA has taken me significant energy and time. I will be delighted if it is use
358
364
[its importance](https://xkcd.com/2347/) and the significant efforts it requires**.
359
365
360
366
Note that PRIMA contains [bug fixes](#bug-fixes) and [improvements](#improvements) that do not exist in Powell's Fortran 77
361
-
implementation of the solvers. Results produced by PRIMA are surely different from Powell's original solvers. Therefore,
367
+
implementation of the solvers. Results produced by PRIMA are surely different from Powell's original solvers,
368
+
even though the algorithms are essentially the same. Therefore,
362
369
**it is important to point out that you are using PRIMA rather than the original solvers if you want your results to be reproducible**.
363
370
It is wrong to pretend that PRIMA is just Powell's original solvers.
0 commit comments