Easy Advanced Global Optimization
Developer(s) | University of Connecticut |
---|---|
Written in | Julia |
Engine | |
Type | Mathematical Optimization, Operations Research |
License | Open Source |
Website | github |
Search Easy Advanced Global Optimization on Amazon.
Easy Advanced Global Optimization (EAGO)[1] is a software package used to formulate and solve mathematical optimization problems featuring nonconvex sets or functions, to guaranteed global optimality.
History[edit]
Development of the EAGO.jl package began around January 2017 with the objective of creating an open-source deterministic global optimizer in the Julia programming language that is compatible with custom user-defined functions and subfunctions[2] that are commonly encountered in process systems engineering applications[3]. EAGO.jl was written by Matthew E. Wilhelm as a PhD student at the University of Connecticut under the advisement of Prof. M. D. Stuber.
Features[edit]
At its core, EAGO.jl relies on the branch-and-bound deterministic search algorithm[4]. EAGO has been classified as a factorable programming solver[3], although it is not strictly limited to factorable functions (i.e., functions that can be written as a finite sequence of elementary arithmetic operations, transcendental functions, and compositions thereof). EAGO.jl exploits unique features of the Julia programming language's multiple dispatch paradigm to enable the use of custom user-defined functions as well as easily constructing optimization problems in Julia using the intuitive JuMP[5] algebraic modeling language (AML). Some core features of EAGO include:
- A flexible (customizable) branch-and-bound routine,
- Conventional[6] and differentiable[7][8] McCormick-based relaxation libraries[9] and subgradient calculation,
- Compatibility with an exhaustive library of transcendental functions and activation functions,
- Pre-solving routines including analysis and rearrangement of problem structure through a directed acyclic graph construction,
- Domain reduction routines including optimization-based bounds-tightening, duality-based bounds-tightening, and constraint propagation on the directed acyclic graph,
- Compatibility with user-defined functions and subroutines,
- Compatibility with automatic differentiation libraries.
Interfaces[edit]
EAGO.jl can be used as a stand-alone optimization solver in the Julia language or called through the JuMP AML. It can be accessed and installed through the Julia package manager.[10]
Licensing[edit]
EAGO is licensed under the open-source MIT License.
See also[edit]
References[edit]
- ↑ Wilhelm, M. E.; Stuber, M. D. (2020). "EAGO.jl: Easy advanced global optimization in Julia". Optimization Methods and Software: 1–26. doi:10.1080/10556788.2020.1786566. Unknown parameter
|s2cid=
ignored (help) - ↑ "M. E. Wilhelm & M. D. Stuber (2017) Easy Advanced Global Optimization (EAGO): An open-source platform for robust and global optimization in Julia". In Proceedings of the AIChE 2017 Annual Meeting. Minneapolis, MN. 2017.
- ↑ 3.0 3.1 Pistikopoulos, E N; Barbosa-Povoa, Ana; Lee, Jay H; Misener, Ruth; Mitsos, Alexander; Reklaitis, G V; Venkatasubramanian, V; You, Fengqi; Gani, Rafiqul (April 2021). "Process systems engineering – The generation next?". Computers & Chemical Engineering. 147: 107252. doi:10.1016/j.compchemeng.2021.107252. Unknown parameter
|s2cid=
ignored (help) - ↑ "Y. Song, H. Cao, C. Mehta, K. A. Khan (2021) Bounding convex relaxations of process models from below by tractable black-box sampling". Computers and Chemical Engineering. 153. 2021. doi:10.1016/j.compchemeng.2021.107413.
- ↑ Dunning, Iain; Huchette, Joey; Lubin, Miles (January 2017). "JuMP: A Modeling Language for Mathematical Optimization". SIAM Review. 59 (2): 295–320. arXiv:1508.01982. doi:10.1137/15M1020575. Unknown parameter
|s2cid=
ignored (help) - ↑ McCormick, Garth P. (December 1976). "Computability of global solutions to factorable nonconvex programs: Part I — Convex underestimating problems". Mathematical Programming. 10 (1): 147–175. doi:10.1007/BF01580665. Unknown parameter
|s2cid=
ignored (help) - ↑ Khan, Kamil A.; Watson, Harry A. J.; Barton, Paul I. (April 2017). "Differentiable McCormick relaxations". Journal of Global Optimization. 67 (4): 687–729. doi:10.1007/s10898-016-0440-6. hdl:1721.1/107681. Unknown parameter
|s2cid=
ignored (help) - ↑ Khan, Kamil A.; Wilhelm, Matthew; Stuber, Matthew D.; Cao, Huiyi; Watson, Harry A. J.; Barton, Paul I. (March 2018). "Corrections to: Differentiable McCormick relaxations". Journal of Global Optimization. 70 (3): 705–706. doi:10.1007/s10898-017-0601-2. Unknown parameter
|s2cid=
ignored (help) - ↑ Bynum, Michael; Castillo, Anya; Kneuven, Bernard; Laird, Carl; Siirola, John; Watson, Jean-Paul (February 2021). "Decomposing optimization-based bounds tightening problems via graph partitioning" (PDF). Optimization Online.
- ↑ "EAGO". Julia Observer.
External links[edit]
Added third-party citations/references to/about the software.[edit]
This article "Easy Advanced Global Optimization" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Easy Advanced Global Optimization. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.