Nexus (Process integration and optimization)
Nexus is software for process integration. It is designed to solve multi-disciplinary and multi-objective optimization problems via a flowchart representation validated on the fly. Nexus is developed by iChrome Ltd., a British engineering and Software company that specializes mainly in mathematical optimization and finite element structural analysis. Version 1.1.06 of Nexus was released in September 2011 and runs on Windows or Linux. The Latin word "nexus" means "connecting" and refers to the way different evaluation nodes are graphically connected in Nexus to define the design or optimization problem.
Overview
Nexus integrates different engineering and design tools to perform data exploitation (trade-off and design of experiments studies, statistical analyses, response surface and metamodelling) as well as multi-objective optimisation tasks. An abstraction level is provided by the flowchart module, allowing it to exchange and pass data (scalars, matrices, strings, files and other resources) across different evaluation nodes.
Parallel evaluations are performed using a proprietary cross-platform multithreading library that allows the user to start, pause and resume each evalutation thread independently and in real time. The latest release of the software also features direct access to remote hosts via SSH connections handling multiple accounts within the same project via user defined SSH credentials.
Nexus is written in C++ apart from the GUI which is written in Java using the SWT toolkit.
The Graphical User Interface
The Graphical User Interface of Nexus is organised in pluggable modules.
Flowchart
The Flowchart module offers the user a graphical representation of the design process and of the optimization procedures. Different evaluation nodes can be used to link the software with external procedures and executables to define multi-disciplinary procedures.
Response Surfaces
Within this module it is possible to create static and dynamic Design of experiments, i.e. a set of support points for a response surface or surrogate model. The set of points can be imported from external files and databases or generated on the fly with one of the supported allocation algorithms.
Response Surfaces can be created directly in the optimization flowchart or can be built independently using the Metamodel module. In the latter case a new response surface can be built using existing tables as DoE and following a graphical wizard. Surfaces created with this tool can be exported and later imported back in a new flowchart to be used within the flowchart module.
Visualization and post-processing
A visualization and plotting module allows the user to create two or threedimensional plots and charts to monitor the optimization procedure and to display results.
Database explorer
External databases can be used to store performed evaluations and to get already performed results across concurrent or subsequent runs. This module provides a utility to explore external databases currently supported, with the possibility to open, query and explore the databases containing Nexus data.
Core features
The kernel of Nexus is designed to provide a scalable framework, with the possibility to link dynamic modules at runtime. Commonly used modules are packed within standard libraries and provided as part of the Nexus standard release. Additional libraries can be added to extend the software functionalities.
Evaluation nodes
The following evaluation nodes are available to define new objective functions:
- Expressions, Conditional Expressions
- C/C++ external user code
- Java external user code
- Matlab
- Python
- Microsoft Excel
- Fluent, Abaqus, Nastran, CATIA, Radioss etc.
Optimization algorithms
Nexus is released with 3 main optimization libraries: Standard Library, Gradient-based Optimization Library and Genetic Alogrithm Library. They include the following algorithms:
- Simplex (Nelder-Mead)
- Bounded BFGS optimisation
- Levenberg-Marquardt least-square minimization method
- Sequential linear programming
- SQP (nlConst) optimisation
- Generalized Moving Asymptotes method
- Adaptive Simulated Annealing
- Pattern Search Algorithm (Mesh Adaptive Direct Search)
- Multi Criteria Decision Making procedure
- Feasibility Region Search Algorithm
- Single and multiobjective Genetic Algorithms
- Single and multiobjective Particle Swarm Optimization
Design of Experiment (Allocation Algorithms)
The Response Surface Library provides methods to create new design of experiments:
- Random point allocation
- Full factiorial allocation
- Latin and optimal Latin Hypercubes
- Latin square and optimal LatinSquare
- Cubic Face Centred, Box-Behnken and Plackett-Burman designs
- Taguchi orthogonal matrix design
- D-optimal design
Metamodels and Response Surfaces
The following metamodelling techniques are available within the Respose Surface Library:
- KNearest
- Radial Basis Function
- Kriging
- Polynomial regression
- User defined least-square
- Neural Network
- Adaptive Kriging (1)
Database Support
The latest release supports the following databases to save and retrieve evaluation data:
- SQLite
- Firebird
- PostgreSQL
- Microsoft Access
License
Nexus is available with three different licenses:
- Orange: a fully featured license for research and education purposes. The Orange release is avaialable on Windows platforms under machine-locked license agreement and is free for education and research purposes.
- Green: a fully featured license for small and medium business. The Green release is available on Windows and Linux platforms under machine-locked or floating network license
- Blue: a clustered and fully distributed license developed for large scale applications.
- Light: a specific license made available to small consultancy and engineering studios with limited computational resources.
External links
NOTES
(1)Within the optimization module it is also possible to generate adaptive response surfaces for an evaluation node. This adaptive function computes an adaptive surrogate model of the required value. Whenever a value from the self-approximation node is required, this function returns an approximated value coming from the inner surrogate model or - if the accuracy of the approximation is not deemed good enough - a value computed calling the actual evaluation. In this second case the new computed value is added to the inner surrogate model to improve its accuracy.