Skip to content

Gnowee source code, development code, and benchmarking.

Notifications You must be signed in to change notification settings

SlaybaughLab/Gnowee

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gnowee

version 1.0

Gnowee is a general purpose hybrid metaheuristic optimization algorithm designed for rapid convergence to nearly globally optimum solutions for complex, constrained engineering problems with mixed-integer and combinatorial design vectors and high-cost, noisy, discontinuous, black box objective function evaluations. Gnowee's hybrid metaheuristic framework is based on a set of diverse, robust heuristics that appropriately balance diversification and intensification strategies across a wide range of optimization problems. Comparisons between Gnowee and several well-established metaheuristic algorithms are made for a set of eighteen continuous, mixed-integer, and combinatorial benchmarks. A summary of these benchmarks is available. These results demonstrate Gnoweee to have superior flexibility and convergence characteristics over a wide range of design spaces.

A paper, describing the Gnowee framework and benchmarks is available

Running Gnowee

For examples on how to run Gnowee, please refer to the runGnowee notebook included in the src directory. This contains multiple examples of how to modify and run Gnowee.

Building Documentation

To build the documentation, in the docs/src directory run the command:

>> doxygen Doxyfile

This will build the html and latex version of the documentation. The symlink in the docs directory for the html index should automatically update. If not the html index can be found here.

The up-to-date latex documentation is included in pdf form. If an update of the latex documentation is desired, go to the docs/latex directory and run the command:

>> make

This will build the latex documentation. The updated documentation file will be named refman.pdf and be placed in this directory.

Citation Information

To cite Gnowee, use the following:

Contact information

Bugs and suggestions for improvement can be submitted via the GitHub page:
https://github.com/SlaybaughLab/Gnowee

Alternatively, questions or comments on Gnowee can be directed to: <br> James Bevins <br> james.e.bevins@gmail.com <br>

Licensing Information

GNU GPLv3.0+

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Acknowledements

This material is based upon work supported by the National Science Foundation Graduate Research Fellowship under Grant No. NSF 11-582.

This material is based upon work supported by the Department of Energy National Nuclear Security Administration through the Nuclear Science and Security Consortium under Award Numbers DE-NA0000979 and DE-NA0003180.