{ "info": { "author": "Nelson Uhan", "author_email": "nelson@uhan.me", "bugtrack_url": null, "classifiers": [], "description": "stochasticdp\n============\n\nA simple implementation of backwards induction for solving\nfinite-horizon, finite-space stochastic dynamic programs.\n\nInstallation\n------------\n\n``stochasticdp`` is available on PyPI:\n\n.. code:: bash\n\n pip install stochasticdp\n\nUsage\n-----\n\nTo initialize a stochastic dynamic program:\n\n.. code:: python\n\n dp = StochasticDP(number_of_stages, states, decisions, minimize)\n\nwhere\n\n- ``number_of_stages`` is an integer\n- ``states`` is a list\n- ``decisions`` is a list\n- ``minimize`` is a boolean\n\nThis results in a stochastic dynamic program with stages numbered\n``0, ..., number_of_stages - 1``, and initializes the following\ndictionaries:\n\n- ``dp.probability``, where ``dp.probability[m, n, t, x]`` is the\n probability of moving from state ``n`` to state ``m`` in stage ``t``\n under decision ``x``\n- ``dp.contribution``, where ``dp.contribution[m, n, t, x]`` is the\n immediate contribution of resulting from moving from state ``n`` to\n state ``m`` in stage ``t`` under decision ``x``\n- ``dp.boundary``, where ``dp.boundary[n]`` is the boundary condition\n for the value-to-go function at state ``n``\n\nYou only need to define probabilities and contributions for transitions\nthat occur with positive probability.\n\nYou can use the following helper functions to populate these\ndictionaries:\n\n.. code:: python\n\n # This sets dp.probability[m, n, t, x] = p and dp.contribution[m, n, t, x] = c\n dp.add_transition(stage=t, from_state=n, decision=x, to_state=m, probability=p, contribution=c)\n\n # This sets dp.boundary[n] = v\n dp.boundary(state=n, value=v)\n\nTo solve the stochastic dynamic program:\n\n.. code:: python\n\n value, policy = dp.solve()\n\nwhere\n\n- ``value`` is a dictionary: ``value[t, n]`` is the value-to-go\n function at stage ``t`` and state ``n``\n- ``policy`` is a dictionary: ``policy[t, n]`` is the set of optimizers\n of ``value[t, n]``", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nelsonuhan/stochasticdp", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "stochasticdp", "package_url": "https://pypi.org/project/stochasticdp/", "platform": "", "project_url": "https://pypi.org/project/stochasticdp/", "project_urls": { "Homepage": "https://github.com/nelsonuhan/stochasticdp" }, "release_url": "https://pypi.org/project/stochasticdp/0.4/", "requires_dist": null, "requires_python": "", "summary": " A simple implementation of backwards induction for solving finite-horizon, finite-state stochastic dynamic programs. ", "version": "0.4" }, "last_serial": 3753463, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "f7bd86ed2874cfefa8f8b7862dfe54dd", "sha256": "950f0dcd4d2949318b537f3f7e434ffd2ceacfc723c30629702f94fe7c5fa7e8" }, "downloads": -1, "filename": "stochasticdp-0.1.tar.gz", "has_sig": false, "md5_digest": "f7bd86ed2874cfefa8f8b7862dfe54dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3236, "upload_time": "2017-04-04T19:43:29", "url": "https://files.pythonhosted.org/packages/64/5a/0b92e22befac67978f87bd24636ebbc6d09439389b029c115df47aef9d14/stochasticdp-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9178a286752cd98c420e6cddbbf4ce4e", "sha256": "2eaa1d683bfe2c3c43941ae5e3e0e8cd20ee981aad0cd136ac7264f2aee207c6" }, "downloads": -1, "filename": "stochasticdp-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9178a286752cd98c420e6cddbbf4ce4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3218, "upload_time": "2017-04-04T19:51:07", "url": "https://files.pythonhosted.org/packages/51/ff/289e1f5ddddcaf2f6a31a5c7937ed4ee7b60607bd2d8cbacf21db1fc0dec/stochasticdp-0.1.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "bcdd046e9f4bf9ad0360012395457759", "sha256": "ba82c6be5a79f586ae40c60534cda2d788f4efb9a272845830271cd8212f43a4" }, "downloads": -1, "filename": "stochasticdp-0.2.tar.gz", "has_sig": false, "md5_digest": "bcdd046e9f4bf9ad0360012395457759", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3448, "upload_time": "2017-04-12T20:05:46", "url": "https://files.pythonhosted.org/packages/c5/89/cbb82600717211f22837dacae56663360a073aa221d2c8afa585f9ae9022/stochasticdp-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "83b78ca5405b9d820b1555e25f09a384", "sha256": "df99ad19d5e73af425b78cf017307cc72009339903bda074f2dcf15f50b46eb6" }, "downloads": -1, "filename": "stochasticdp-0.2.1.tar.gz", "has_sig": false, "md5_digest": "83b78ca5405b9d820b1555e25f09a384", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3461, "upload_time": "2017-08-03T20:10:29", "url": "https://files.pythonhosted.org/packages/d5/f2/1eea3c2da5a1f6befb689725754f2d5474861fd9433620dc06ebfc976d55/stochasticdp-0.2.1.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "a4b7fff0d5375ef2b48fc0ceacf3ffa1", "sha256": "6a0535b69cb2fe33eeef4d86c939c3f9ee30ad5eec4e15851618691bb2edbf84" }, "downloads": -1, "filename": "stochasticdp-0.3.tar.gz", "has_sig": false, "md5_digest": "a4b7fff0d5375ef2b48fc0ceacf3ffa1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3545, "upload_time": "2018-04-05T17:18:56", "url": "https://files.pythonhosted.org/packages/a5/82/a8fb36e9a4a9aa5f5ca4b45ad69f27d2a6eb27995c3b0eb6a6668f374381/stochasticdp-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "2c529146745bf055665aa937bc8f84a8", "sha256": "a96be64ebe0464750635ae2206c5a7d9b2d7cc6154f5a422b068865ac4b91e66" }, "downloads": -1, "filename": "stochasticdp-0.3.1.tar.gz", "has_sig": false, "md5_digest": "2c529146745bf055665aa937bc8f84a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3856, "upload_time": "2018-04-05T17:22:50", "url": "https://files.pythonhosted.org/packages/ee/db/4a0cf228394899cfa6d8eccea7fc5769b5091489ef4aae150e5d6f55b5ad/stochasticdp-0.3.1.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "ee3cd5570890773d62a971745fb76f5c", "sha256": "355d8925f3cc2d477685d38b99bf162716fd0e053713f8634a376ce39ab21cde" }, "downloads": -1, "filename": "stochasticdp-0.4.tar.gz", "has_sig": false, "md5_digest": "ee3cd5570890773d62a971745fb76f5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4139, "upload_time": "2018-04-10T19:51:49", "url": "https://files.pythonhosted.org/packages/c5/68/5486738b05b0952855e1d347647e5cc6c10ad5be819157cb8ddfe869e990/stochasticdp-0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ee3cd5570890773d62a971745fb76f5c", "sha256": "355d8925f3cc2d477685d38b99bf162716fd0e053713f8634a376ce39ab21cde" }, "downloads": -1, "filename": "stochasticdp-0.4.tar.gz", "has_sig": false, "md5_digest": "ee3cd5570890773d62a971745fb76f5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4139, "upload_time": "2018-04-10T19:51:49", "url": "https://files.pythonhosted.org/packages/c5/68/5486738b05b0952855e1d347647e5cc6c10ad5be819157cb8ddfe869e990/stochasticdp-0.4.tar.gz" } ] }