Skip to content

Commit e64af5f

Browse files
committed
Implement feedback
Implement the feedback from openjournals/joss-reviews#9234 (comment)
1 parent 48aa730 commit e64af5f

File tree

2 files changed

+5
-15
lines changed

2 files changed

+5
-15
lines changed

paper/paper.bib

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -100,17 +100,7 @@ @misc{jax
100100
journal = {GitHub repository},
101101
title = {{JAX}: composable transformations of {P}ython+{N}um{P}y programs},
102102
publisher = {GitHub},
103-
url = {http://github.com/jax-ml/jax},
104-
version = {0.3.13},
105-
year = {2018}
106-
}
107-
108-
@misc{jax,
109-
author = {James Bradbury and Roy Frostig and Peter Hawkins and Matthew James Johnson and Chris Leary and Dougal Maclaurin and George Necula and Adam Paszke and Jake Vander{P}las and Skye Wanderman-{M}ilne and Qiao Zhang},
110-
journal = {GitHub repository},
111-
publisher = {GitHub},
112-
title = {{JAX}: composable transformations of {P}ython+{N}um{P}y programs},
113-
url = {http://github.com/jax-ml/jax},
103+
url = {https://github.com/jax-ml/jax},
114104
version = {0.3.13},
115105
year = {2018}
116106
}
@@ -140,7 +130,7 @@ @misc{nlopt
140130
journal = {GitHub repository},
141131
publisher = {GitHub},
142132
title = {The {NLopt} nonlinear-optimization package},
143-
url = {http://github.com/stevengj/nlopt},
133+
url = {https://github.com/stevengj/nlopt},
144134
version = {2.10.0},
145135
year = {2007}
146136
}

paper/paper.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,15 @@ Rust's ownership model and concurrency features enable safe and efficient execut
4949

5050
\autoref{fig:logos} shows the logos of the two packages introduced in this work.
5151

52-
![`GlobalSearch-rs` (right) and `PyGlobalSearch` (left) logos.\label{fig:logos}](./figures/logos.png)
52+
![`GlobalSearch-rs` (left) and `PyGlobalSearch` (right) logos.\label{fig:logos}](./figures/logos.png)
5353

5454
# Library features
5555

56-
`GlobalSearch-rs` implements scatter search metaheuristics, which balances diversification (generation of a collection of diverse trial solutions) and intensification (deeper search around promising areas using) strategies to navigate complex objective landscapes [@Laguna2005]. By leveraging these techniques, the algorithm increases the probability of locating the true global minimum compared to simple local search methods, which can easily become trapped in local optima. However, as with other stochastic global optimization algorithms, `GlobalSearch-rs` cannot guarantee that the best solution found is the true global minimum. Instead, it aims to identify high-quality solutions with high probability. Users can increase confidence by performing multiple independent runs or using different random seeds.
56+
`GlobalSearch-rs` implements scatter search metaheuristics, which balance diversification (generation of a collection of diverse trial solutions) and intensification (deeper search around promising areas) strategies to navigate complex objective landscapes [@Laguna2005]. By leveraging these techniques, the algorithm increases the probability of locating the true global minimum compared to simple local search methods, which can easily become trapped in local optima. However, as with other stochastic global optimization algorithms, `GlobalSearch-rs` cannot guarantee that the best solution found is the true global minimum. Instead, it aims to identify high-quality solutions with high probability. Users can increase confidence by performing multiple independent runs or using different random seeds.
5757

5858
The library integrates with both the `cobyla` [@cobyla] and `argmin` [@argmin] crates. These Rust-based optimization libraries provide a range of local NLP solvers. Supported methods include COBYLA, LBFGS, Nelder-Mead, Steepest Descent, Newton-Conjugate-Gradient and Trust Region solvers, ensuring flexibility in handling different types of objective functions [@drones7080487].
5959

60-
Parallel execution is a core feature of `GlobalSearch-rs`, utilizing the `Rayon` library to distribute computation across multiple threads. This has the potential of significant reductions in elapsed (wall-clock) time by distributing computations across threads, enabling users to tackle large-scale optimization problems with improved completion time compared to single-threaded alternatives. To further support long-running tasks, the library provides checkpointing capabilities, allowing users to save and resume optimization states without restarting from scratch.
60+
Parallel execution is a core feature of `GlobalSearch-rs`, utilizing the `Rayon` library to distribute computation across multiple threads. This has the potential of significant reductions in elapsed (wall-clock) time, enabling users to tackle large-scale optimization problems with improved completion time compared to single-threaded alternatives. To further support long-running tasks, the library provides checkpointing capabilities, allowing users to save and resume optimization states without restarting from scratch.
6161

6262
As an open-source and cross-platform library, `GlobalSearch-rs` is designed to be accessible to researchers and engineers from various fields. The Python bindings, created using `PyO3` and `maturin`, enable users to leverage its capabilities within Python-based numerical and data science environments (e.g., `NumPy` [@numpy], `JAX` [@jax]), making it a practical choice for interdisciplinary research and engineering applications.
6363

0 commit comments

Comments
 (0)