- Description
-
ODYSSEE Solver includes:
- ODYSSEE QUASAR: The solver to make predictive models and data mining analysis.
- ODYSSEE NOVA: The optimizer to search for optimal variables to minimize an objective function, by respecting constraints.
With ODYSSEE Solver, you can:
- Make a scientific analyze with the datamining.
- Process matrices, files, and images
- Constitute predictive models.
- Make scripting.
What's New in ODYSSEE Solver 2025.1
ODYSSEE Quasar – Solver
This version includes the following updates:
- FORM (First Order Reliability Method) and SORM (Second Order Reliability Method) are both techniques implemented in Quasar, used in the field of structural reliability analysis to estimate the probability of failure of a system and the reliability index (β) around a targeted point for a Y-constraint value defined as limit of failure.
Matrix ext("operator", "matrix", "reliability", Matrix Xn, Matrix g, String "standardize", String "FORM"or"SORM", "rsm", int flagForInterpolators)
- An optional last argument has been added to the thinObjectDetection function to specify the color pixels array of rectangles [redPx, greenPx, bluePx] that highlight the detected objects. By default, if the color argument is missing, the rectangles are displayed in green instead of blue before.
crackdetection = thinObjectDetection(Image myPicture, int Blur_dim, thresholdPercent, int minArea1, int dilationIterations, int erosionIterations, int minArea2, int maxArea, double circularity Ratio, bool showRectangle, String imageOutputName, int resize, int[] color))
- For DOEs, a reshape function has been implemented. It allows to apply a shape function on Xi such as ln(Xi), exp(Xi), quadratic,.. with i going 1 to N variables.
ext("doe", "reshape", String shape_function, Matrix doe, int column, int standardize, double r1, double r2)
- The association function has been added to find similarities between data beyond linear correlations using the entropy principle. The variables are organized in N windows and entropy is computed in each window. Results going [0 to 1] is returned in a squared matrix: if 2 data have a similarity at 1, they have a strong link.
ext("mining", "association", Matrix X, int window=10, 0,0,1,0,0,1,0,0, String "prefix")
- A clean function, dedicated to the matrix returned by the association external function, allows to reduce the number of columns/parameters based on a defined threshold (e.g. 0.9) It is useful when you have a lot of parameters, and you want to limit your data to the most relevant ones.
ext("operator","matrix","association_clean_column", Matrix associationSquaredMat, Matrix OriginalMat, double threshold)
- Multiple functions have been added in the Useful_Functions library:
- checkDuplicateCases(Matrix X, Matrix Y, String PrefixName)adapted for huge XY-database (with many rows), it returns a matrix in which duplicate rows are removed.
- Hanning filter function Matrix HannWindow(int Nwindow) is a periodic function commonly used to window a signal before performing frequency analysis.
- Matrix indexAndSort(Matrix X, int colPosition, bool sort) adds a first index column to the matrix X and sorts the whole matrix based on the colPosition when sort Boolean argument is true.
- int isInsideMatrix(double a, Matrix b) checks if the element a is in the matrix b. It returns an integer corresponding to the count found.
- String[] keepStringFromList(String[] titleslist, int[] listToKeep) keeps elements from a list of strings following a list of indices to keep.
- int[] listSortedwithoutDuplicates(int[] list) sorts from min to max a list of values and remove the duplicate values.
- File openReadfile(String fileName) opens a file in read mode.
- String[] removeStringFromList(String[] titleslist, int[] listToremove) removes elements from a list of strings following a list of indices to remove.
- Matrix sortRowsMaxtoMinBasedonMean(Matrix X) calculates the average of each row of X and returns a sorted matrix from maximum average to minimum average with the original row indices in the first column.
- int[] thresholdInSquarredMat(Matrix XY, int YsizeATx, double threshold) receives a XY squarred-input matrix and returns a 1D array with a list of columns of X to remove (starting from 0). The selection of indices is based on a threshold to not over in the submatrix XX and on the average computation in the subpart XY.
- Matrix Xreducedfunc_Rows(Matrix X, int[] listToremove)deletes rows in the input matrix X based on a list of indices (starting from 0).
- Matrix Xreducedfunc_Cols(Matrix X, int[] listToremove)deletes columns in the input matrix X based on a list of indices.
- Bugs fixed:
- The distance function did not return the correct distance between points. It is fixed.
- ModifiedUnet function is now working on Linux.
ODYSSEE Nova – Optimizer
- For the Downhill Simplex algorithm (algorithm 6), the optimal point was not displayed in the console at the end of the optimization process. Parameters values and objective function results of the optimal point are now displayed.
- NLPQL algorithm (algorithm 14) has been updated for more stable convergence.
- Genetic algorithm (algorithm 9) has been implemented.
- Bugs fixed:
- Multiple fixes in log files for Multi-objectives (algorithm 16) (e.g. objective function options are correctly interpreted).
- simulated_annealing (algorithm 7) did not correctly converge. It is fixed.