在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:lanl-ansi/Alpine.jl开源软件地址:https://github.com/lanl-ansi/Alpine.jl开源编程语言:Julia 100.0%开源软件介绍:Alpine, A global solver for non-convex MINLPs"ALPINE: glob(AL) o(P)timization for mixed-(I)nteger programs with (N)onlinear (E)quations", is a novel global optimization solver that uses an adaptive, piecewise convexification scheme and constraint programming methods to solve non-convex Mixed-Integer Non-Linear Programs (MINLPs) efficiently. MINLPs are typically "hard" optimization problems which appear in numerous applications (see MINLPLib.jl). Alpine is entirely built upon JuMP and MathOptInterface in Julia, which provides incredible flexibility for usage and further development. Alpine globally solves a given MINLP by:
Allowable nonlinearities: Alpine can currently handle MINLPs with polynomials in constraints and/or in the objective. Currently, there is no support for exponential cones and Positive Semi-Definite (PSD) cones in MINLPs. Alpine is also a good fit for subsets of the MINLP family, e.g., Mixed-Integer Quadratically Constrainted Quadradic Programs (MIQCQPs), Non-Linear Programs (NLPs), etc. For more details, check out this video on Alpine.jl at the 2nd Annual JuMP-dev Workshop, held at the Institut de Mathématiques de Bordeaux, June 2018. Installation and UsageAlpine can be installed through the Julia package manager:
Developers: Any further development of Alpine can be conducted on a new branch or a forked repo. Check the "test/examples" folder on how to use this package. Underlying solversThough the MIP-based bounding algorithm implemented in Alpine is quite involved, most of the computational bottleneck arises in the underlying MIP solvers. Since every iteration of Alpine solves an MIP sub-problem, which is typically a convex MILP/MIQCQP, Alpine's run time heavily depends on the run-time of these solvers. For the best performance of Alpine, we recommend using the commercial solver Gurobi, which is avaible free for academic purposes. However, due to the flexibility offered by JuMP, the following MIP and NLP solvers are supported in Alpine:
Bug reports and supportPlease report any issues via the Github issue tracker. All types of issues are welcome and encouraged; this includes bug reports, documentation typos, feature requests, etc. Challenging ProblemsWe are seeking out hard benchmark instances for MINLPs. Please get in touch either by opening an issue or privately if you would like to share any hard instances. Citing AlpineIf you find Alpine useful in your work, we kindly request that you cite the following papers (pdf, pdf) @article{alpine_JOGO2019,
author = {Nagarajan, Harsha and Lu, Mowen and Wang, Site and Bent, Russell and Sundar, Kaarthik},
title = {An adaptive, multivariate partitioning algorithm for global optimization of nonconvex programs},
journal = {Journal of Global Optimization},
year = {2019},
issn = {1573-2916},
doi = {10.1007/s10898-018-00734-1},
}
@inproceedings{alpine_CP2016,
title = {Tightening {McCormick} relaxations for nonlinear programs via dynamic multivariate partitioning},
author = {Nagarajan, Harsha and Lu, Mowen and Yamangil, Emre and Bent, Russell},
booktitle = {International Conference on Principles and Practice of Constraint Programming},
pages = {369--387},
year = {2016},
organization = {Springer},
doi = {10.1007/978-3-319-44953-1_24},
} |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论