{"id":22022913,"url":"https://github.com/ahmadyan/duplex","last_synced_at":"2025-05-07T07:23:50.320Z","repository":{"id":30922345,"uuid":"34480268","full_name":"ahmadyan/Duplex","owner":"ahmadyan","description":"High performance optimization algorithm for nonconvex systems based on random tree search","archived":false,"fork":false,"pushed_at":"2017-05-20T23:11:47.000Z","size":25649,"stargazers_count":6,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-01-30T00:55:16.211Z","etag":null,"topics":["c-plus-plus","machine-learning","numerical-optimization","optimization"],"latest_commit_sha":null,"homepage":"http://www.adel.ac","language":"C++","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/ahmadyan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-23T20:38:29.000Z","updated_at":"2021-08-26T20:46:26.000Z","dependencies_parsed_at":"2022-09-15T15:21:56.065Z","dependency_job_id":null,"html_url":"https://github.com/ahmadyan/Duplex","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmadyan%2FDuplex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmadyan%2FDuplex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmadyan%2FDuplex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ahmadyan%2FDuplex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ahmadyan","download_url":"https://codeload.github.com/ahmadyan/Duplex/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227285642,"owners_count":17758630,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["c-plus-plus","machine-learning","numerical-optimization","optimization"],"created_at":"2024-11-30T06:25:40.534Z","updated_at":"2024-11-30T06:25:40.996Z","avatar_url":"https://github.com/ahmadyan.png","language":"C++","readme":"# Duplex Optimization\n\n[![CircleCI](https://circleci.com/gh/ahmadyan/Duplex.svg?style=svg)](https://circleci.com/gh/ahmadyan/Duplex)\n\n[Duplex's website](http://adel.ac/duplex)\n\nDuplex is a high-performance global optimization algorithm for nonconvex, nonlinear, and functional optimization problems. The following core capabilities are included:\n\n* Duplex can find global optimum of nonlinear non-convex functions.\n* Duplex implements variety of gradient-descent based optimizations internally, such as Momentum, AdaDelta, Adamax. Duplex can also optimize when the gradient information are not available.\n* Duplex supports unsupervised learning algoriths for clustering. \n* If the gradient information are not available (for circuit optimization), duplex uses reinforcement learning to predict the landscape of energy function.\n* Duplex supports Synopsys HSPICE for solving nonlinear systems.\n\nThe latest release and a complete manual may be found at the Duplex home page: http://adel.ac/duplex\n\n## Dependencies\n\nDuplex requires the following dependencies to be installed:\n\n* [Eigen 3.3.0](http://eigen.tuxfamily.org) linear algebra library. Install eigen using \n\t\t\u003ccode\u003ebrew install eigen\u003c/code\u003e\n* [Boost 1.51](http://www.boost.org) Duplex requires both headers and compiled binaries. Install using \u003ccode\u003ebrew install boost\u003c/code\u003e\n* [Config4cpp](http://www.config4star.org/) configuration library. The binaries for the config4cpp for macOS are already shipped with Duplex (\u003ccode\u003e/submodules/config4cpp/lib\u003c/code\u003e).\n* [Pangolin](https://github.com/stevenlovegrove/Pangolin) for plotting and managing display. The Pangolin will replace the gnuPlot. Duplex will install Pangolin as a submodule in \u003ccode\u003e/submodules/Pangolin\u003c/code\u003e.\n* GnuPlot for drawing plots *(Optional)*. Install gnuplot using\n\t\u003ccode\u003ebrew install gnuplot\u003c/code\u003e\n\n## Build\nDuplex uses [CMake](www.cmake.org) as a build system.\n\n\tgit clone git://github.com/ahmadyan/Duplex\n\tcd Duplex\n\tmkdir build\t\n\tcd build\n\tcmake ..\n\tmake\n\nUse \u003ccode\u003ecmake .. -GXcode\u003c/code\u003e to generate the xcode project file (or other generators).\nFew examples are provided in \u003ccode\u003e/bin\u003c/code\u003e directory. Few MATLAB tests are available in the \u003ccode\u003e/test\u003c/code\u003e directory.\n\n## Usage\n* ./duplex --config example.cfg\n* Currently the duplex binaries and the configurations has to be in the same directory, so please output the binary in the bin folder.\n* Example configuration files are available in the /bin directory\n* If using hspice as a numerical simulator, User should set an environment variable DUPLEX_SIM_ID to an integer value. If you don't want to set the environment variable, run Duplex from the python wrapper (test/duplex.py) in test directory. Python wrapper requires Python 3+.\n\n## Misc\nDuplex uses llvm coding style. Any PR will be formatted using clang-format.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmadyan%2Fduplex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmadyan%2Fduplex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmadyan%2Fduplex/lists"}