{ "info": { "author": "Keith Ma", "author_email": "keithfma@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3 :: Only", "Topic :: Scientific/Engineering" ], "description": "Neighborhood Algorithm Optimization and Ensemble Appraisal\n==========================================================\n\nTravis CI: |image0|\n\nPython 3 implementation of \"neighborhood algorithm\" direct-search\noptimization and Bayesian ensemble appraisal. In short, a\nnearest-neighbor interpolant based on Voronoi polygons is used to\ninterpolate the misfit (search) and posterior probability (appraisal) to\nallow efficient sampling and integration for high-dimensional problems.\nDetails on theory and implementation are supplied in the references.\n\n.. figure:: https://raw.githubusercontent.com/keithfma/neighborhood/master/example_rosenbrock_4d.png \n :align: center\n :figclass: align-center\n\n Example search population for 4D Rosenbrock objective function. Image\n include 10,000 samples collected in 1,000 iterations of the neighborhood\n algorithm direct search, with ``num_samp=10`` and ``num_resamp=5``. The\n true minimum is ``0`` at ``(1, 1, 1, 1)``, while the best sample is\n ``0.0113`` at ``((0.976, 0.953, 0.908, 0.824)``. This result continues\n to converge for larger sample size (but the plot is less interesting since\n the density converges to a point!)\n\nTo generate the example figure above, you can run the internal demo,\nlike so:\n\n.. code:: python\n\n import neighborhood as nbr\n\n nbr.demo_search(ndim=4, nsamp=10, nresamp=5, niter=500)\n\nEquivalently, you can do the following:\n\n.. code:: python\n\n import neighborhood as nbr\n\n num_dim = 4\n srch = nbr.Searcher(\n objective=nbr.rosenbrock,\n limits=[(-1.5, 1.5) for _ in range(num_dim)],\n num_samp=10,\n num_resamp=5,\n maximize=False,\n verbose=True\n )\n srch.update(500)\n srch.plot()\n\nStatus\n------\n\nOptimization is implemented, ensemble appraisal is in progress.\n\nTesting\n-------\n\nThis project uses `pytest `__ for\nunit testing. The aim is not to be exhuastive, but to provide reasonable\nassurances that everything works as advertised. To run, simply call\n``pytest --verbose`` from somewhere in this package.\n\nRelease\n-------\n\nRelease versions are tagged in the repository, built as distributions,\nand uploaded to PyPI. The minimal commands to do this are:\n\n.. code:: bash\n\n # update PyPI-readable README\n pandoc --from=markdown --to=rst --output=README.rst README.md\n # build with setuptools\n python3 setup.py sdist bdist_wheel\n # upload to PyPI test server (then check it out)\n twine upload --repository-url https://test.pypi.org/legacy/ dist/*\n # upload to PyPI\n twine upload dist/*\n # tag release in git repo\n git tag -a X.X.X -m \"vX.X.X\"\n git push origin --tags\n\nReferences\n----------\n\n1. Sambridge, M. (1999). Geophysical inversion with a neighbourhood\n algorithm - I. Searching a parameter space. Geophysical Journal\n International, 138(2), 479\u2013494.\n http://doi.org/10.1046/j.1365-246X.1999.00876.x\n\n2. Sambridge, M. (1999). Geophysical inversion with a neighborhood\n algorithm -\n\nII. Appraising the ensemble. Geophys, J. Int., 138, 727\u2013746.\n http://doi.org/10.1046/j.1365-246x.1999.00900.x\n\n.. |image0| image:: https://travis-ci.org/keithfma/neighborhood.svg?branch=master\n :target: https://travis-ci.org/keithfma/neighborhood/branches\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/keithfma/neighborhood", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "neighborhood", "package_url": "https://pypi.org/project/neighborhood/", "platform": "", "project_url": "https://pypi.org/project/neighborhood/", "project_urls": { "Homepage": "https://github.com/keithfma/neighborhood" }, "release_url": "https://pypi.org/project/neighborhood/0.1.1/", "requires_dist": [ "matplotlib", "numpy", "pandas", "pytest", "seaborn" ], "requires_python": "", "summary": "Neighborhood Algorithm Optimization and Ensemble Appraisal", "version": "0.1.1" }, "last_serial": 3759299, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "f3350088fe1fbe742924379685e28817", "sha256": "120209d9f37398a6461876efd9a12f4a291ef9985be6e9453b76c92decbeeda0" }, "downloads": -1, "filename": "neighborhood-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f3350088fe1fbe742924379685e28817", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10694, "upload_time": "2018-04-01T16:23:40", "url": "https://files.pythonhosted.org/packages/57/bf/c5852a771213514a1a5b5d457cb2cf3b20a22e6e6ff6f86ea39dce13df72/neighborhood-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e69e1e54601874cd7d6637e43a04aaf7", "sha256": "70cc037d4a99b3d19e6b5109908982d3308e8febdb683b29a3de06739e10e994" }, "downloads": -1, "filename": "neighborhood-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e69e1e54601874cd7d6637e43a04aaf7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7197, "upload_time": "2018-04-01T16:23:41", "url": "https://files.pythonhosted.org/packages/f6/28/813eee332c012f4169cf15bf790322fe260e3675e897cc2c7a01f05f7737/neighborhood-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7ce6de9ceab1e13e4c4223ac879960fe", "sha256": "eb4fea44253f0521f2953231e3122fb1358141d1064704093df72d52a82b9a35" }, "downloads": -1, "filename": "neighborhood-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7ce6de9ceab1e13e4c4223ac879960fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11121, "upload_time": "2018-04-12T16:53:36", "url": "https://files.pythonhosted.org/packages/87/6a/d6fb49e1da702779d58940df16834c54bdae1b4f62f0f0b7410d0c54033f/neighborhood-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0fbe4faf20ace6fbd076f5d8457c2c2", "sha256": "0355ec5e0fe292814caeee3fbdff51bbe18d34f79ae490cd0574bff290b871d3" }, "downloads": -1, "filename": "neighborhood-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e0fbe4faf20ace6fbd076f5d8457c2c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8054, "upload_time": "2018-04-12T16:53:37", "url": "https://files.pythonhosted.org/packages/7f/5f/a211bd7d7801e3fbe7576b79baa80afa3806cdf49dbf4735a41396913f91/neighborhood-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7ce6de9ceab1e13e4c4223ac879960fe", "sha256": "eb4fea44253f0521f2953231e3122fb1358141d1064704093df72d52a82b9a35" }, "downloads": -1, "filename": "neighborhood-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7ce6de9ceab1e13e4c4223ac879960fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11121, "upload_time": "2018-04-12T16:53:36", "url": "https://files.pythonhosted.org/packages/87/6a/d6fb49e1da702779d58940df16834c54bdae1b4f62f0f0b7410d0c54033f/neighborhood-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0fbe4faf20ace6fbd076f5d8457c2c2", "sha256": "0355ec5e0fe292814caeee3fbdff51bbe18d34f79ae490cd0574bff290b871d3" }, "downloads": -1, "filename": "neighborhood-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e0fbe4faf20ace6fbd076f5d8457c2c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8054, "upload_time": "2018-04-12T16:53:37", "url": "https://files.pythonhosted.org/packages/7f/5f/a211bd7d7801e3fbe7576b79baa80afa3806cdf49dbf4735a41396913f91/neighborhood-0.1.1.tar.gz" } ] }