Free optimization solver component for Rhino's Grasshopper

goat is an optimization solver component for Rhino's Grasshopper. Optimization affects shape, weight, cost and is a driving force of a modern design process. goat provides tools to solve design problems as optimization problems. It perfectly complements Grasshopper's default optimization tool galapagos by pursuing a deterministic approach, delivering fast and reproducable results. goat is based on David Rutten's galapagos GUI and interfaces NLopt, a collection of mathematical optimization libraries.


The latest release of goat is version 3.0. It is for Rhino 5 and Rhino 6 and requires an up-to-date Grasshopper. For more information, check out the release notes.

After downloading, we recommend browsing through the installation instructions.


Please enter your email address below to receive a free activation code by email. You will be asked for both your email address and this activation code when you double-click the goat component in Grasshopper for the first time. We store your email address according to our privacy policy and only to be able to recover your activation code if you ask us to do so. We do not give your email address to anybody else.

Tutorial: Geometry and Optimization

These slides gently introduce the basics of optimization in parametric modelling environments. At hand of four comprehensive examples, we set goat into action.



If you have a previous version of goat installed, please see Update. Starting with version 3.0, goat ships in a handy self-installing package. Launch the setup tool to trigger the installation for the current user. You will be asked for an activation code when you are using goat for the first time. You obtain your free activation code here.

A note to experienced users: For system-wide installation, start Rhino, launch Grasshopper and select from the main menu File > Special Folders > Components folder. Copy all files and folders prefixed goat_ to Grasshopper's global components directory.


You may use goat just as galapagos in your Grasshopper project. For best results, you may even use both and run a few iterations with galapagos first and then perform the final optimization: goat was designed as drop-in replacement for galagagos.

goat icon

After installation, you find the goat icon next to Galapagos' icons in the Special group of the Params toolbar. Clicking on the icon adds the goat component to your project.

goat component

Just as galapagos, the goat component has two docks:

goat simple example

This simple example has a single number slider as variable. The variable is multiplied by itself and the result is the objective of the optimization problem. Double-clicking the goat component opens the settings dialog to configure the optimization.

goat default dialog

Let's walk through the options of goat's configuration dialog:

The remaining four options help goat to identify, when an optimum has been found. goat will stop the optimization, if

By finally clicking the OK button, the optimization is started. You will observe how the Number Sliders change their values and finally converge towards an optimum. If you want to learn more about optimization, please check out the tutorial.

goat's setup tool will automatically uninstall any previously installed goat version 3.0+.

If a version of goat prior to 3.0 is installed on your computer, you must manually uninstall the respective files: Start Rhino, launch Grasshopper and select from the main menu File > Special Folders > Components folder and remove all files and folders starting with a goat_ prefix from there.


To uninstall goat, remove the all files and subfolders prefixed goat_ from your Grasshopper's Components directory. See the installation instructions to learn how to identify Grasshopper's Components directory.