Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/odiroot/pyho
Hybrid Optimizer in Python (Github mirror)
https://github.com/odiroot/pyho
Last synced: 23 days ago
JSON representation
Hybrid Optimizer in Python (Github mirror)
- Host: GitHub
- URL: https://github.com/odiroot/pyho
- Owner: odiroot
- Created: 2012-06-03T12:26:03.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2012-06-05T21:07:33.000Z (over 12 years ago)
- Last Synced: 2024-04-14T19:33:03.353Z (7 months ago)
- Language: C
- Homepage: https://bitbucket.org/odiroot/pyho/
- Size: 5.05 MB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.txt
Awesome Lists containing this project
README
=================================
PyHO - Hybrid optimizer in Python
=================================PyHO is a prototype of an universal two-stage optimizer written in Python.
This project is based on the original C++ optimizer module from `FMDT`
(Flow Meter Design Tool) project.Current status
--------------
- Objective function optimization with a genetic algorithm engine
- Support for customized genetic operators
- Support for `PyEvolve` specific `allele` operators
- Second stage optimization with Levenberg-Marquardt algorithm
- Optimization speedup using memoization
- Parallel processing using network or local worker processes
- `Local mode` with automatic worker management
- `Network mode` with arbitrary number of worker nodes
- Currently optimizer and worker processes need access to the same file system
(passing files through the network channel is not implemented nor designed)
- Reading original FMDT input file formats (coil and grid definitions)
- Optimizer can be successfully launched by the `FMDT` GUI.Dependencies
------------**PyHO has some hard dependencies**:
* ``zmq`` Python package (called ``python-zmq`` in Debian based systems) -
version 2.1.9 or newer is highly recommended
* The `ZeroMQ` library (or ``libzmq1``) with sources (``libzmq-dev``) - again
the 2.1.9+ version is preferred.If you want to use hybrid optimization mode make sure you also have:
* Source distribution of BLAS (``libblas-dev``) and LAPACK (``liblapack-dev``) libraries
* The `NumPy` Python library (try ``python-numpy``)PyHO also uses following Python packages:
* ``Cython`` (version at least 0.16)
* ``pyximport``
* ``PyEvolve``
* ``levmar`` (modified version supporting user initiated breaks)All these libraries are included in the ``libs`` directory for convenience.
When present in the standard Python path, system installed versions take
precedence.**A note of warning**: This project uses custom ``levmar`` package, officially
available version cannot be used, as it will break during hybrid optimization.Quick start
-----------You can start the optimizer directly by launching ``run_optimizer`` Python
script from the root project directory. Running it with ``--help`` option
will show all available options.You can use example evaluator based on FMDT project by using ``run_bc_evaluator``
shell script. There are example coil/grid definition files located in ``assets``
directory under ``examples/fmdt/`` path.There are 32-bit Linux and 64-bit Linux precompiled binaries of `FMDT` GUI
application packaged in a ``GUI`` directory. Run it by calling ``Kanal_v1``
shell script.