Grapheme – Numerical Optimization Capabilities (Part I)

Grapheme – Numerical Optimization Capabilities – Part I

Grapheme - Numerical Optimization Capabilities

Contents

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
    Bohachevsky
    SixHumpCamel
    SixHumpCamel
    Rosembrock
    Rosembrock

    >> Back to Top

    Bohachevsky Function Minimization

    The Bohachevsky function is defined as:

    Bohachevsky

    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

    Move into the Statistical Analysis Module perspective of Grapheme. From the Statistical Analysis Tree create a new analysis selecting the Optimization Panel category.
    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.
    Bohachevsky

    2. Define the Optimization Search Panel

    From the Statistical Analysis Tree create a new optimization search panel selecting the Optimization Panel category.
    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.
    Bohachevsky

    Bohachevsky
    The multi-point starting Optimization Search (using the BFGS gradient based method) was capable to correctly identify the global optimum of the Bohachevsky function within the selected domain of interest.

    >> Back to Top

    SixHumpCamel Function Minimization

    The SixHumpCamel function is defined as:

    SixHumpCamel

    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.

    Also this problem can be solved within Grapheme following the steps above leading to the correct identification of the analytical optimum value as shown in the resulting optimization panel on the left.
    Bohachevsky

    >> Back to Top

    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.

    Rosembrock
    However, with the default optimization settings, Grapheme fails to identify the global optimum. We can overcome this convergence issue but increasing the number of multiple starting points from within the main panel configuration settings. In this specific case, we increased the number of attempt to convergence from 30 (the default value) to 100.
    Rosembrock

    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 .

    >> Back to Top