A Framework for Optimization of Algorithms
OPAL is a Python modeling language for algorithmic optimization. Most algorithms depend on parameters. Although changing the values of those parameters doesn't affect the correctness of the algorithm, it typically affects its performance, where performance is understood broadly. How can we best choose those parameter values so as to maximize a certain measure of performance?
OPAL is a framework that allows to easily declare algorithms and the parameters on which they depend along with representative test cases. It provides a convenient syntax to formulate the optimization problem to be solved. A black-box optimization solver takes care of the rest.
python setup.py install
To run the following test, Numpy is required. Install
it with pip install numpy
.
Assuming your PYTHONPATH
is set correctly, you should be able to do:
cd examples/fd
python fd_optimize.py