Metadata-Version: 2.0
Name: POAP
Version: 0.1.5
Summary: Python Optimization Asynchronous Plumbing.
Home-page: http://pypi.python.org/pypi/POAP/
Author: David Bindel
Author-email: bindel@cornell.edu
License: LICENSE.txt
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4

=============================================================
POAP: Plumbing for Optimization with Asynchronous Parallelism
=============================================================

POAP provides an event-driven framework for building and
combining asynchronous optimization strategies.  A typical
optimization code written with POAP might look like:

.. code-block:: python

    from poap.strategy import FixedSampleStrategy
    from poap.strategy import CheckWorkStrategy
    from poap.controller import ThreadController
    from poap.controller import BasicWorkerThread

    # samples = list of sample points ...

    controller = ThreadController()
    sampler = FixedSampleStrategy(samples)
    controller.strategy = CheckWorkerStrategy(controller, sampler)

    for i in range(NUM_WORKERS):
        t = BasicWorkerThread(controller, objective)
        controller.launch_worker(t)

    result = controller.run()
    print 'Best result: {0} at {1}'.format(result.value, result.params)

The basic ingredients are a controller capable of asking workers to
run function evaluations and a strategy for choosing where to sample.
The strategies send the controller proposed actions, which the
controller then accepts or rejects; the controller, in turn, informs
the strategies of relevant events through callback functions.

Most users will probably want to provide their own strategies,
controllers, or both.


