2. Introduction

pSeven Core major features are implemented in the main set of Python modules, the Generic Tools. The pSeven Core toolkit also includes additional components for other tasks and a few more other notable features.

2.1. Generic Tools

The Generic Tools are major pSeven Core components, implemented as Python modules.

  • GTOpt (Generic Tool for Optimization) — optimization problem solver. Supports single- and multi-objective nonlinear optimization, stochastic optimization, mixed-integer problems, surrogate based optimization and other.

    Quick StartExamplesUser’s Guideda.p7core.gtoptOptions

  • GTApprox (Generic Tool for Approximation) — the tool to train and evaluate approximation models. Provides a wide range of approximation methods for various training sample sizes and dimensions, supports model smoothing, model export and other advanced features.

    Quick StartExamplesUser’s Guideda.p7core.gtapproxOptions

2.2. Extras

Extras are additional pSeven Core tools and components that are not Python modules. They are included in the package and require pSeven Core installed.

2.3. Features

pSeven Core offers a number of features that enhance its core functionality, adding new capabilities, advanced methods, or improving usability of the package.

  • General:
    • NumPy integration: pSeven Core is tightly integrated with NumPy, a widely used Python package for scientific computing.
    • pandas compatibility: pSeven Core supports pandas data structures as input data for its modeling and data analysis methods.
    • Statistical utilities: pSeven Core includes an additional module for calculating elementary statistics, outlier detection and distribution tests.
  • Generic Tool for Optimization (GTOpt):
    • Evaluation history: GTOpt can save a history of evaluations (variables and calculated values of objectives and constraints), which can then be used for problem analysis, GTApprox model training, and other methods.
    • Stochastic problems: GTOpt supports problems with randomized variables.
    • Surrogate based optimization: when configuring an optimization problem, you can specify that some of the objective or constraint functions are computationally expensive; when solving, GTOpt will automatically replace such functions with fast GTApprox models in order to reduce the number of real evaluations.
  • Generic Tool for Approximation (GTApprox):
    • Model export: GTApprox supports model export to various formats, including export to C, both as a shared library and a complete standalone C program.
    • Smart technique selection: GTApprox includes many approximation techniques that can be selected manually or automatically; automatic selection is based on training sample properties and carefully selected presets.
    • Model smoothing: GTApprox provides several model smoothing methods, including advanced componentwise smoothing for multi-dimensional functions.
    • Accuracy evaluation: GTApprox models can include a special function that calculates an estimate of the model’s accuracy at any given point.
  • Generic Tool for Data Fusion (GTDF):
    • Variable fidelity training data: GTDF includes a basic data fusion method that uses two training samples (fine and coarse), and an advanced method that allows an unlimited number of samples of different fidelity.
  • Generic Tool for Design of Experiments (GTDoE):
    • Adaptive DoE: in addition to common space-filling DoE generation methods, GTDoE supports adaptive generation that accounts for model properties and allows to train a more accurate GTApprox model with a limited number of real evaluations.

2.4. Non-Regression Tests

pSeven Core is routinely tested for stability and performance. The test suite includes non-regression tests for GTOpt and GTApprox.

Detailed description is found in section Non-Regression Tests. This section also includes test results comparing a few latest versions of pSeven Core.

2.5. Documentation

pSeven Core documentation contains: