English Français

Release notes

This page gathers the main points describing the evolutions for each and every new Uranie releases.
  • Methods development:
    • Add the Sensivitity::TSobolRank class to compute sobol indexes for given data (based Chatterjee method)
    • Add the ants colony optimization method in Vizir (Reoptimizer)
    • Add the CMAES optimization method in Vizir (Reoptimizer)
    • Add drawCopulogram which looks like Pairs plot with rank scatterplot on the upper triangle
  • Correction / modifications
    • Add an agregator to extract value from a TSensitivity object with the method getValue(order, input)
    • Simplify the way to run permutation in HSIC ("nperm=100" option)
    • Python2 is now deprecated (if you still want to use it, please use previous version)
    • Add an agregator to extract the scalar value of a quantile
  • User manual :
    • Update information about the compatibility with python
    • Add a Macro for TSobolRank
    • Minor modification to explain how to use HSIC
    • Add the new way to extract results from sensitivity analysis using getValue
  • Correction / modifications:
    • Add the TComposedDistribution class to compose law from other distributions
    • High speed up the computation of HSIC sensitivity indices
    • Add a quiet mode in the computation of HSIC sensitivity indices and update U-Stat results
    • Replace the dependencies of Portable Coroutine Library for coroutines by Boost.Coroutines
    • Uniformisation of all doxygen files
    • Add exception in TCirce for setSelect
  • User manual:
    • Add the Composing law description
    • Add the description of the THISC class
    • Add use case macro : sensitivityHSICFunctionFlowrate
  • Methodology:
    • Add brief description of the HSIC sensitivity indices
  • Correction / modifications:
    • Beta version to interface FMU file using the Launcher using FMI library (only tested on Linux)
    • Add the possibility to compute Shapley indices (beta version)
    • Add the possibility to produce LHS doe with one or more constraints (TConstrLHS)
    • Add the possibility to run nested MPI in Relauncher (a parallelised code in a parallelised loop)
    • Add two new probability laws: TGeneralizedNormal and TGeneralizedNormalV2 (beta version for the last)
    • Add quiet mode in fileDataRead to prevent any warning and information message (when one knows what these mean)
    • Ensure and correct some sensitivity classes in order not to be computation-order sensitive (when computations are parallelised)
  • User manual :
    • Full split between C++ and python version. All code in the text is now only either in C++ or in python. In both cases, code within is tested.
    • Python macros have been corrected to be PEP8 complient.
    • Add a chapter for the MetaModelOptim chapter: distributed efficient global optimisation (EGO)
    • Rewrite Relauncher to discuss more precisely the distribution process
    • Add the description of the TGeneralizedNormal law
    • Add use case macros: metamodoptEgoHimmel, reoptimizeZoneBiSubMpi, reoptimizeZoneBiFunMpi, samplingConstrLHSLinear, samplingConstrLHSEllipses
  • Methodology:
    • Description of the heuristic for the constrained LHS doe
  • Windows specific:
    • First version tested with Python 3
  • Correction / modifications:
    • Allow to use already done doe to start Sobol analysis (in pick-and-freeze approach)
    • Allow to load all computations from previous Sobol estimation in a new Sobol estimation to increase statistics (in pick-and-freeze approach)
    • Change the way dataserver and tree are stored for thread safety (peculiar conditions)
    • Add a TMpiRun constructor for C++ standlone compilation (to prevent from calling MPI_INIT)
    • Correct strange behaviour in addAttributeUsingData
    • Correct the Kriging export to dump properly the linear trend
    • Correct Code submission procedure in TCodeEval to delete output file from previous estimation (proper failure detection)
    • Correct mistake in relauncher output file detection to handle properly empty vector and code failures.
  • User manual :
    • Rewrite part of the Relauncher discussion for parallelisation (thread and MPI) and failure handling
    • Correct many use case macros to allow compatibility for windows python 2
    • Add use case macros: relauncherCodeFlowrateMPIStandalone, relauncherCJitFunctionThreadTest, relauncherCodeFlowrateSequentialFailure, relauncherCodeMultiTypeKeyEmptyVectors, relauncherCodeMultiTypeKeyEmptyVectorsAsFailure sensitivitySobolRe-estimation, sensitivitySobolWithData, sensitivitySobolLoadFile
  • Methods development:
    • Full reorganisation of the Reoptimizer module: now it allows the use of vectors as internal variable (but still not as objectives)
    • New module named calibration offering different approaches to calibration-linked issues:
      • various minimisation techniques
      • linear analytical bayesian approach
      • first ABC method: the rejection one to get an approximation of a posteriori distributions
      • Markov-chain Metropolis-Hasting method to get a posteriori distributions
    • New module metamodeloptim, made for methods that combine optimisation and surrogate models
    • Different EGO implementations available (Beta version)
  • Corrections / modifications:
    • Add method to set default values also for vectors and strings
    • Integrate EcCluster for remote launcher technique (specific to ECMWF clusters)
    • Add method to create a new attribute from an array of data (addAttributeUsingData)
  • ROOT specific update:
    • This version has been tested against latest ROOT version 6.22.02.
    • It allows python2 and python3 handling at the same time with a single installation (for ROOT and URANIE).
  • User manual :
    • New module calibration fully described along with use-cases
    • New section in introduction called How-to :
      • provides examples and discussions on how to convert specific C++ methods/objects to python and vice-versa.
      • it is meant to grow depending on your specific needs and requests
    • Discuss the correction item introduced above (default for vector, new attribute with data...)
    • Add use case macros: calibrationMinimisationFlowrate1D, calibrationLinBayesFlowrate1D, calibrationRejectionABCFlowrate1D, calibrationMetropHastingFlowrate1D, calibrationMetropHastingLinReg, calibrationMinimisationFlowrate2DVizir, howtoConvertTDataServerArray, howtoConvertTMatrixDArray, howtoLoadFunction, howtoPassReference
  • Methodological manual:
    • New module calibration documented (general introduction and specific method discussion)
    • Discussion on the general matern hyperparameters introduced
    • Add a glossary to help handle specific vocabulary and acronyms.
  • Methods development:
    • First implementation Johnson relative weight method for sensitivity.
    • First implementation of Metropolis Hastings algorithm for calibration. Beta version.
    • First implementation of cluster connection through SSH (to avoid Uranie installation on cluster). Beta version.
    • Allow key input/output files to have blank space in the keys (for launcher).
    • Allow correlation matrix computation for single-out element of vectors.
  • Corrections / modifications:
    • Correct bug in Morris: if used with unbounded laws, the provided physical response was possibly wrong.
    • Improvement in Vizir many criteria algorithm to prevent stillborn and duplicated solutions.
    • Feature in relauncher distribution to avoid stucking ressource while waiting for jobs.
    • Improve detection of python version used within ROOT (to remain compatible with upcoming ROOT versions).
  • Windows specific:
    • So far, Windows specific archive remains pure C++ and will be working with a specific version of Visual.
    • Investigation of a new workaround based on WSL (Windows Subsystem for Linux, see README for further explanations): creation of a dedicated archive
  • User manual:
    • Add description of all aforementioned methods development, but Beta version.
    • Discuss the truncation issues: Morris and Halton problems.
    • Add use case macros: dataserverComputeCorrelationMatrixVector, launchCodeFilesWithBlank, sensitivityJohnsonRWFunctionFlowrate, sensitivityJohnsonRWCorrelatedFunctionFlowrate, sensitivityJohnsonRWJustCorrelationFakeFlowrate
  • Methodological manual:
    • Introduction of sensitivity analysis with correlation.
    • Discussion of the Johnson relative weight method.
  • Methods development:
    • Beta version of DGSM sensitivity measurement.
    • Beta version of Kernel PCA.
    • Allow both TSampling and TBasicSampling to deal with singular correlation matrix.
    • Add Kriging prediction with input covariance estimation (to uncorrolate residuals for instance).
    • Add methods in kriging and relauncher/reoptimizer to improve interface with python.
    • Add possibility to deal with several outputs in THSIC (Beta).
    • Add drawQQPlot in DataServer (with ROOT's mathmore).
    • Add drawPPPlot in DataServer (with ROOT's mathmore).
    • Add Student stochastic law (with ROOT's mathmore).
    • Allow Constant and Temporary variable in Relauncher and Reoptimizer with new architecture.
    • Add Laws in TTester and compute the p-values.
  • Corrections / modifications:
    • Deprecate the halton sequence with unbounded infinite-based laws (will throw an exception from v4.6.0).
    • Correct bug concerning infinite-based laws once truncated.
    • Correct bug concerning size of output name in the sensitivity module.
    • Correct GenPareto distribution (unconstrained so far).
    • Minor correction for white space in the regexp of TKeyScript.
    • Correct a problem in TFlatResults when dealing with bounded vectors.
    • Prevent sensitivity classes to re-run when outputs are available
  • Windows specific:
    • Allow interface with MPICH for Windows version.
    • So far, Windows specific archive remains pure C++ and will be working with a specific version of Visual (to be precised later on).
  • User manual:
    • Add description of all aforementioned methods development, but Beta version.
    • Add use case macros: dataserverComputeQuantileVec, dataserverDrawQQPlot, dataserverDrawPPPlot, dataserverPCAExample, samplerSingularCorrelationCase, modelerbuildSimpleGPEstimWithCov, relauncherCodeFlowrateSequential_ConstantVar, relauncherCodeFlowrateSequential_TemporaryVar, reoptimizeHollowBarCodeGradDeco, reoptimizeHollowBarCodeMultiStart.
  • Methodological manual:
    • New generic introduction for modelling.
    • Discussion on PCA principle.
    • Discussion on correlated DOE generation.
    • Discussion on stochastic law truncation.
    • Discussion on kriging prediction (values and covariances)
  • Add python 3 compatibility (and ROOT python verification).
    • This implies a dedicated ROOT python3 installation.
  • Remove the limitation of 40000 samples in TSampling.
  • Add possibility to keep every folder in relauncher.
  • Add possibility to keep every computation in Reoptimiser.
  • Add possibility to change way entries are written in input files for relauncher.
  • Add possibility to restart genetic algorithm if it has not converged at once (illustration provided in usermanual).
  • First implementation of the HSIC algorithm.
  • First attempt to have a windows-compatible version.
    • Limitation due to ROOT: only available in C++ and on a Windows 10 machine where Visual Studio 2017 (v15.7.6) is installed.
  • Change TSamplerField to be able to create many fields at once.
  • Correct ANN export/import incoherent behaviour when running on GPUs.
  • Correct wrong exit for nlopt max eval reached.
  • Correct plot for Morris Visualisation.
  • Remove hardcoded debug option in sampler / modeler.
  • First implementation of URANIE using ROOT v6.14.00.
  • Add matern1/2 covariance function to produce kriging surrogate model.
  • Add constructor to all sensitivity classes, to be able to use sensitivity with relauncher architecture.
  • Add possibility to export kriging in pmml format.
  • Correct TMaximinLHS to do the simulated annealing only in the probability hyper-volume (not in the physical one).
  • Correct an implementation error that was slowing down TSobol estimation of coefficients.
  • Cleaning and adding more use case macros in dataserver, modeler, sensitivity, and relauncher sections.
  • Implementation of all use-case macros in python :
    • New chapter 13 in userManual.(pdf/html).
    • All macros can be found in ${URANIESYS}/share/uranie/macros/.
  • First implementation of many-criteria algorithms (ibea, moead, knee-point). Beta version.
  • First implementation of multi-layer and multi-output neural networks. Beta version.
  • Allow standalone compilation of macro with MPI (relauncher).
  • Add possibility for code and function to have formulaes to produce new inputs and outputs and optimise on the latter.
  • Correction of bug for launcher with multi input-files.
  • Correction of bug with vectors as input in relauncher.
  • Correction of bug for complicated TAttributeFormula.
  • Update of the documentation.
  • Add new maximin LHS sampling through the use of dedicated TMaxiMinLHS class
  • Add two new probability laws : TGamma and TInvGamma
  • Add second estimation of SRC^2 and SRRC^2 using correlation coefficient definition (to provide illustrative 95% confidence interval)
  • Python is now consider as a default in the installation. to specifically turn it of, use -D--disable-python='ON'
  • Fixing problem with GetV1 method, removing potential issued when dealing with more than one million entries
  • Allows the change of the correlation length boundaries on the kriging
  • Various bug corrections
  • Update of the documentation (providing complete list of references)
  • Newly available building Uranie and its prerequisites in Release mode on Windows
  • Newly available PyUranie on Windows
  • Newly available PGauss library on Windows
  • Newly available types: Uranie can deal with strings and vectors (not yet available for (re-)optimizer and modeler)
  • Reorganisation of the user manual (with more use cases) and new methodological documentation (both html and pdf files)
  • Fix of several bugs
  • Implementation of the k Nearsest Neighbor (kNN) algorithm in the Modeler module
  • Possibility to use GPU to evaluate a Gaussian Process (still in beta)
  • Import/export data from JSON files
  • PMMLlib library available in the ROOT interpreter