{"id":32154946,"url":"https://github.com/infiniteopt/infiniteopt.jl","last_synced_at":"2026-05-26T01:01:31.106Z","repository":{"id":35171651,"uuid":"202161644","full_name":"infiniteopt/InfiniteOpt.jl","owner":"infiniteopt","description":"An intuitive modeling interface for infinite-dimensional optimization problems.","archived":false,"fork":false,"pushed_at":"2026-05-19T14:25:16.000Z","size":14951,"stargazers_count":318,"open_issues_count":31,"forks_count":24,"subscribers_count":8,"default_branch":"master","last_synced_at":"2026-05-19T15:11:13.143Z","etag":null,"topics":["differential-equations","dynamic-programming","julia","measure-theory","modeling-language","nonlinear-optimization","optimal-control","optimization","pde-constrained-optimization","stochastic-optimization"],"latest_commit_sha":null,"homepage":"https://infiniteopt.github.io/InfiniteOpt.jl/stable","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/infiniteopt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-08-13T14:27:07.000Z","updated_at":"2026-05-19T14:02:36.000Z","dependencies_parsed_at":"2023-10-03T05:46:30.543Z","dependency_job_id":"18edd777-c681-45b7-83e5-f73b4bfb6c9c","html_url":"https://github.com/infiniteopt/InfiniteOpt.jl","commit_stats":null,"previous_names":["pulsipher/infiniteopt.jl"],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/infiniteopt/InfiniteOpt.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infiniteopt%2FInfiniteOpt.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infiniteopt%2FInfiniteOpt.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infiniteopt%2FInfiniteOpt.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infiniteopt%2FInfiniteOpt.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/infiniteopt","download_url":"https://codeload.github.com/infiniteopt/InfiniteOpt.jl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infiniteopt%2FInfiniteOpt.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33499282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-25T14:31:05.219Z","status":"ssl_error","status_checked_at":"2026-05-25T14:31:02.878Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["differential-equations","dynamic-programming","julia","measure-theory","modeling-language","nonlinear-optimization","optimal-control","optimization","pde-constrained-optimization","stochastic-optimization"],"created_at":"2025-10-21T12:01:06.327Z","updated_at":"2026-05-26T01:01:31.089Z","avatar_url":"https://github.com/infiniteopt.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Logo](full_logo.png)\n---\n\nA `JuMP` extension for intuitively modeling general infinite-dimensional optimization\nproblems and efficiently solving them. Such areas include [stochastic programming](https://en.wikipedia.org/wiki/Stochastic_programming),\n[dynamic programming](https://en.wikipedia.org/wiki/Dynamic_programming),\nspace-time optimization, and more. `InfiniteOpt` serves as an **easy-to-use modeling\ninterface** for these advanced problem types that can be used by those with little\nto no background in these areas. It also it contains a wealth of capabilities\nmaking it a powerful and convenient tool for advanced users. Notably, it can \n**significantly reduce solution times** via highly efficient CPU and GPU solution methods \nwith its [InfiniteExaModels](https://github.com/infiniteopt/InfiniteExaModels.jl) backend.\n\n**Current Version:** [![](https://docs.juliahub.com/InfiniteOpt/version.svg)](https://juliahub.com/ui/Packages/InfiniteOpt/p3GvY) [![](https://docs.juliahub.com/InfiniteOpt/pkgeval.svg)](https://juliahub.com/ui/Packages/InfiniteOpt/p3GvY)\n\n| **Documentation**                                                               | **Build Status**                                                                                | **Citation** |\n|:-------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------:|:--------------------------------------:|\n| [![](https://img.shields.io/badge/docs-stable-blue.svg)](https://infiniteopt.github.io/InfiniteOpt.jl/stable) | [![Build Status](https://github.com/infiniteopt/InfiniteOpt.jl/actions/workflows/ci.yml/badge.svg?branch=release-0.6)](https://github.com/infiniteopt/InfiniteOpt.jl/actions/workflows/ci.yml) [![codecov.io](https://codecov.io/github/infiniteopt/InfiniteOpt.jl/coverage.svg?branch=release-0.6)](https://codecov.io/github/infiniteopt/InfiniteOpt.jl?branch=release-0.6) | [![DOI](https://img.shields.io/badge/Elsevier-CompChemEng%3A107567-yellow.svg)](https://doi.org/10.1016/j.compchemeng.2021.107567) |\n| [![](https://img.shields.io/badge/docs-dev-blue.svg)](https://infiniteopt.github.io/InfiniteOpt.jl/dev) | [![Build Status](https://github.com/infiniteopt/InfiniteOpt.jl/actions/workflows/ci.yml/badge.svg)](https://github.com/infiniteopt/InfiniteOpt.jl/actions/workflows/ci.yml) [![codecov.io](https://codecov.io/github/infiniteopt/InfiniteOpt.jl/coverage.svg?branch=master)](https://codecov.io/github/infiniteopt/InfiniteOpt.jl?branch=master) | |\n\nIt builds upon `JuMP` to add support for many complex modeling objects which \ninclude:\n- Infinite parameters (e.g., time, space, uncertainty, etc.)\n- Finite parameters (similar to `ParameterJuMP`)\n- Infinite variables (decision functions) (e.g., `y(t, x)`)\n- Derivatives (e.g., `∂y(t, x)/∂t`)\n- Measures (e.g., `∫y(t,x)dt`, `𝔼[y(ξ)]`)\n\nThe unifying modeling abstraction behind `InfiniteOpt` captures a wide spectrum \nof disciplines which include dynamic, PDE, stochastic, and semi-infinite \noptimization. Moreover, we facilitate transferring techniques between these \nto synthesize new optimization paradigms!\n\n![abstract](abstraction.png)\n\nComments, suggestions and improvements are welcome and appreciated.\n\n## License\n`InfiniteOpt` is licensed under the [MIT \"Expat\" license](./LICENSE).\n\n## Installation\n`InfiniteOpt.jl` is a registered [Julia](https://julialang.org/) package and \ncan be installed by entering the following in the REPL.\n\n```julia\njulia\u003e ]\n\n(v1.12) pkg\u003e add InfiniteOpt\n```\n\n## Documentation\n[![](https://img.shields.io/badge/docs-stable-blue.svg)](https://infiniteopt.github.io/InfiniteOpt.jl/stable)\n\nPlease visit our [documentation pages](https://infiniteopt.github.io/InfiniteOpt.jl/stable) \nto learn more. These pages are quite extensive and feature overviews, guides,\nmanuals, tutorials, examples, and more!\n\n## Questions\nFor additional help please visit and post in our \n[discussion forum](https://github.com/infiniteopt/InfiniteOpt.jl/discussions).\n\n## Citing\n[![DOI](https://img.shields.io/badge/Elsevier-CompChemEng%3A107567-yellow.svg)](https://doi.org/10.1016/j.compchemeng.2021.107567) \n[![DOI](https://img.shields.io/badge/math.OC-arXiv%3A2106.12689-B31B1B.svg)](https://arxiv.org/abs/2106.12689)\n\nIf you use InfiniteOpt.jl in your research, we would greatly appreciate your \nciting it.\n```latex\n@article{pulsipher2022unifying,\n      title = {A unifying modeling abstraction for infinite-dimensional optimization},\n      journal = {Computers \u0026 Chemical Engineering},\n      volume = {156},\n      year = {2022},\n      issn = {0098-1354},\n      doi = {https://doi.org/10.1016/j.compchemeng.2021.107567},\n      url = {https://www.sciencedirect.com/science/article/pii/S0098135421003458},\n      author = {Joshua L. Pulsipher and Weiqi Zhang and Tyler J. Hongisto and Victor M. Zavala},\n}\n```\nA pre-print version is freely available though [arXiv](https://arxiv.org/abs/2106.12689).\n\n## Project Status\nThe package is tested against Julia's LTS release and the latest released version on Linux, Mac, and Windows.\n\n## Contributing\n`InfiniteOpt` is being actively developed and suggestions or other forms of contribution are encouraged.\nThere are many ways to contribute to this package. For more information please\nvisit [CONTRIBUTING](https://github.com/infiniteopt/InfiniteOpt.jl/blob/master/CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfiniteopt%2Finfiniteopt.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finfiniteopt%2Finfiniteopt.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfiniteopt%2Finfiniteopt.jl/lists"}