Grapheme – Numerical Optimization Capabilities – Part I
Contents
- Introduction
- The Evaluation Panels
- Bohachevsky Function Minimization
- SixHumpCamel Function Minimization
- Rosembrock Function Minimization
- Conclusions
Introduction
As part of our efforts to make Grapheme a compound and effective Data Analysis and Visualization framework, from Grapheme version 2.9 onward we introduced specific Numerical Optimization Capabilities within the Statistical Analysis module.
The Optimization capabilities of Grapheme are organized via specifically designed analysis panels:
- Optimization Search Panels: are designed to allow performing optimization searches moving from previously defined regression analysis panels or response surfaces.
Grapheme Optimization Search analyses allow to search for the mathematical optimum of single-objective constrained optimization problems. Objective function and optional constraints can be defined using pre-existing regressions, data-fitting analysis panels, response surfaces (if any defined within the current project) or Evaluation Panels.
Grapheme implements the following optimization search algorithms:- Optimization (BFGS search): enable optimization searches for single-objective constrained optimization problems using a multi starting-point BFGS gradient based search algorithm.
- Optimization (Conjugate Gradient): enable optimization searches for single-objective constrained optimization problems using a multi starting-point conjugate gradient search algorithm.
- Optimization (Direct Search): enable optimization searches for single-objective constrained optimization problems using a multi starting-point Nelder-Maed simplex algorithm.
- Optimization (S.O.G.A): enable optimization searches for single-objective constrained optimization problems using Single Objective Genetic Algorithm (SOGA).
- Optimization (M.O.G.A): enable optimization searches for multi-objectives constrained optimization problems using a Multi Objective Genetic Algorithm (MOGA) based on a proprietary implementation of NSGA-II;
- Evaluation panels:evaluation panels enable the definition of evaluable functions such as expressions or scripted functions. Once defined, evaluation panels can used to define optimization and constraint functions within optimization searches.
In this post we will see how evaluation panels and optimization searches can be used and combined so solve optimization problems. We will analyze three different well-known optimization benchmark functions (an extended list available here: Literature Survey of Benchmark Functions For Global Optimization Problems):
- Bohachevsky Function Minimization:
- SixHumpCamel Function Minimization
- Rosembrock Function Minimization

Bohachevsky

SixHumpCamel

Rosembrock
>> Back to Top
Bohachevsky Function Minimization
The Bohachevsky function is defined as:
within the domain X=[-15, 10] and Y=[-15, 10].
The Global optimum of the function is: F(X,Y)=0.0 for X=0.0 and Y=0.0.
Optimization setup in Grapheme
To solve the optimization process within Grapheme we need to follow two simple steps:
- 1. define an Expression based evaluation panel;
- 2. define an Optimization search panel.
1. Define the Expression Based Evaluation Panel
When the wizard opens up, select Expression Evaluator and move to the next page.
From there, define the two design variables X and Y and their relevant domain. Then edit end define the Bohachevsky function.

2. Define the Optimization Search Panel
When the wizard opens up, select the Optimization (BFGS Search) and move to the next page.
From there, select the previously defined expression evaluator and press finish to run the optimization.


SixHumpCamel Function Minimization
The SixHumpCamel function is defined as:
within the domain X=[-5, 5] and Y=[-5, 5].
The Global optimum of the function is: F(X,Y)=-1.03163 for X=0.08984 and Y=-0.71265.

Rosembrock Function Minimization
The third application discussed in this post is a modified Rosembrock function, which turns out to be particularly difficult to solve due to a narrow gloabl optimum at X=0.9, Y=0.95 and F(X,Y)=34.37. To setup the optimization search, we follow once again the steps detailed for the Bohachevsky Function minimization.


Conclusions:
This post provides a first overview of the optimization capabilities made available in Grapheme v.2.9.
Grapheme optimization algorithms proved themselves to be reliable and capable to lead the correct identification of the global optimum of complex analytical functions.
Users shall bear in mind that Grapheme optimization algorithms have been designed and implemented to solve analytical problems where both objective function and constraint (if any defined) function evaluations are fast and not computationally expensive. For a more powerful process integration and optimization suite, have a look at Nexus, which has been specifically designed to perform trade-off and optimization studies of complex design process involving computationally intensive analysis tasks.
You can download your free-trial version of Grapheme from our official website Grapheme .