Skip to content
CAI
Software that uses CAICheck a score

tomitomi3/LibOptimization

48.5

Weak · 28 September 2026

14.7k

lines of production code

VB.NET

primary language

5

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Features

Add C\# sample code for optimization algorithms

Introduced a new C\# sample project (SampleCSharp) that demonstrates how to use the optimization library. The samples show how to implement custom objective functions (such as Rosenbrock and Sphere functions) and configure various optimization algorithms including Nelder-Mead, Differential Evolution (JADE), and Simulated Annealing. The examples cover setting initial positions, defining neighbor functions for Simulated Annealing, using boundary constraints, and handling iteration results.

SampleCSharp · high confidence

Add Xorshift RNG and normal/Cauchy distribution utilities

Introduced a new random number generator implementation based on the Xorshift algorithm, providing a singleton instance for consistent state. Added a utility class offering methods to generate random numbers following a Normal distribution (using the Box-Muller transform) and a Cauchy distribution, allowing users to generate statistically distributed random values directly.

LibOptimization/MathTool/RNG · high confidence

Add clsOptTemplate optimization class

A new optimization template class, clsOptTemplate, has been added to the library. It inherits from absOptimization and implements core optimization logic, including population management, iteration control, and result retrieval. The class is currently marked as not in use and will throw an exception if instantiated, serving as a base for future optimization implementations.

LibOptimization/Optimization/Template · medium confidence

Add error handling and utility classes to the optimization library

The LibOptimization/Util directory now includes new classes for error management and evaluation tracking. The clsError class provides a mechanism to track, store, and retrieve error information (type and message) during optimization processes. Additionally, clsEval is introduced to store and compare evaluation results, and clsUtil provides shared helper methods for generating random permutations, debugging optimization states, and checking convergence criteria.

LibOptimization/Util · high confidence

Add new benchmark functions for optimization testing

The library now includes a wide range of standard benchmark functions for testing optimization algorithms, including Ackley, Booth, De Jong (1-5), Easom, Ellipsoid, Fivewell Potential, Griewank, Powell, Rastrigin, Ridge, Rosenbrock, Schaffer, Schwefel, Shubert, and Sphere functions. These additions provide more diverse test cases for evaluating algorithm performance across different landscapes, including multimodal and high-dimensional problems.

LibOptimization/BenchmarkFunctions · high confidence

Add new optimization algorithms: Firefly, Cuckoo Search, Differential Evolution, JADE, Evolution Strategy, and Particle Swarm support classes

The library introduces several new optimization algorithms and their supporting data transfer objects. Specifically, it adds the Firefly Algorithm (clsOptFA) and its associated clsFireFly DTO, the Cuckoo Search algorithm (clsOptCS), the Differential Evolution algorithm with multiple strategies (clsOptDE), the adaptive JADE variant (clsOptDEJADE), and the (1+1)-Evolution Strategy (clsOptES). These implementations are supported by new DTO classes for managing optimization states: clsPoint, clsParticle, and clsFireFly, which handle evaluation values, velocities, and intensities respectively for the respective algorithms.

LibOptimization/Optimization · high confidence

Add sample code for Least Squares Method and Rosenbrock function

The SampleVB project now includes new example implementations for optimization. A LeastSquaresMethod class is added to demonstrate fitting a 4th-degree polynomial to a set of data points, alongside a RosenBrock benchmark function implementation. The main Module1.vb entry point is updated to showcase usage of the Differential Evolution algorithm with these new objective functions, including examples for setting initial positions, value ranges, boundaries, and multi-threaded optimization.

SampleVB · high confidence

Added .NET 3.0 test library with optimization and matrix unit tests

Added the TestLibOptimizationDotNet3.0 project, including standard Visual Studio My Project metadata files (Application, AssemblyInfo, Resources, Settings) and the main test class. The test class contains unit tests for the optimization library's 2D sphere optimization and matrix multiplication operations (Matrix x Matrix and Matrix x Vector), verifying convergence and correct behavior for .NET 3.0.

TestLibOptimizationDotNet3.0 · high confidence

Added .NET Framework 3.0 and 3.5 project scaffolding

The library now includes dedicated project structures for .NET Framework 3.0 and 3.5. This change adds the necessary configuration files, including application manifests, assembly information, and resource settings, enabling the library to be built and used in applications targeting these specific older .NET versions.

LibOptimizationDotNet3.0, LibOptimizationDotNet3.5 · high confidence

Added My Project folder with default Visual Studio project settings and resources

The TestLibOptimizationDotNet3.5 project now includes the standard Visual Studio 'My Project' folder, containing the application manifest (Application.myapp), assembly information (AssemblyInfo.vb), resource management (Resources.resx and Resources.Designer.vb), and application settings (Settings.settings and Settings.Designer.vb). These files establish the default configuration for the library, including enabling visual styles, configuring shutdown behavior, and setting up the strongly-typed settings class for the application.

TestLibOptimizationDotNet3.5 · high confidence

Added My Project metadata and resource files

The TestCode project now includes the standard My Project metadata files, including AssemblyInfo for assembly attributes, Resources for localized string and resource management, and Settings for application configuration. These files provide the foundation for assembly identification, resource localization, and persistent user settings within the application.

TestCode/My Project · high confidence

Added My Project template files for the TestLibOptimization library

The project now includes the standard My Project template files (Application, Resources, Settings, and AssemblyInfo), which provide default application settings, resource management, and assembly metadata for the TestLibOptimization library.

TestLibOptimization/My Project · high confidence

Added new linear algebra and optimization math tools

Introduced a new \MathTool\ library containing core linear algebra and optimization utilities. This includes \DenseMatrix\ and \DenseVector\ classes for handling multi-dimensional data, along with specialized decomposition classes for Eigenvalue analysis (\Eigen\), LU decomposition (\LU\), and Singular Value Decomposition (\SVD\). The update also adds statistical utility functions (variance, covariance, standard deviation, correlation) in \MathUtil\ and a dedicated exception class (\MathException\) for error handling.

LibOptimization/MathTool · high confidence

Added project configuration and documentation files

The repository now includes an .editorconfig file to enforce C\# code formatting and style rules (such as indentation, brace placement, and using directives), a .gitignore file for Visual Studio and .NET build artifacts, a LICENSE file (MIT), a ReleaseNote.md template, and a comprehensive HowToUse.md tutorial explaining how to implement objective functions and run optimization algorithms. Additionally, the solution file (OptimizeFunction.sln) and various text-based documentation files (git and nuget memory notes) have been added to support development and usage.

(repo-wide) · high confidence

New abstract base classes for optimization and objective functions

Added new abstract base classes absObjectiveFunction and absOptimization to the LibOptimization library. absObjectiveFunction defines the interface for objective functions, including methods for evaluating the function, calculating the gradient vector, and computing the Hessian matrix (with a default numerical step of 1e-6). absOptimization provides the core structure for optimization algorithms, managing iteration counts, random number generation, and initial parameter ranges. These classes establish the foundational architecture for implementing specific optimization algorithms.

LibOptimization/abstract · high confidence

Behavioural changes

Added .NET Framework 4.6 project metadata and resource files

The LibOptimizationDotNet4.6 project now includes the standard Visual Studio My Project metadata files (Application, AssemblyInfo, Resources, and Settings). This adds the necessary configuration for assembly versioning (1.12.5.0), resource management, and application settings persistence for the .NET Framework 4.6 target.

LibOptimizationDotNet4.6 · high confidence

Test coverage

Added benchmarking tools for eigenvalue algorithms and optimization routines; Added unit tests for optimization, linear algebra, and math utilities.

Dependencies

LibOptimization 1.14.0: Multi-targeting and .NET 8 support

The LibOptimization library has been updated to version 1.14.0, adding support for .NET 8 alongside existing frameworks including .NET 3.0, 3.5, 4.6, and .NET Core 2.1, 3.0, 3.1, and 5.0. This update also includes a namespace and class name refactoring for the math library, and the removal of BinaryFormatter-based serialization/deserialization.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 46 → 48 (+2.8)
  • Rubric changed (rubric-2026.08.15 → rubric-2026.09.16) — scores are not directly comparable.

Lenses

  • Code Health 64 → 84 (+20.2)
  • Architecture 92 → 99 (+6.6)
  • Maturity 39 → 42 (+2.6)
  • Readiness 33 → 33 (-0.0)
  • Security 89 → 91 (+1.6)
  • Performance 70 → 70 (+0.0)

Resolved (94)

  • Bounded contexts not declared
  • Build did not complete in the analyzer
  • Change coupling: clsBenchDeJongFunction1.vb ↔ clsBenchDeJongFunction2.vb (LibOptimization/BenchmarkFunctions/clsBenchDeJongFunction1.vb)
  • Change coupling: clsOptPSO.vb ↔ clsOptPSOAIW.vb (LibOptimization/Optimization/clsOptPSO.vb)
  • Change coupling: clsOptPSO.vb ↔ clsOptPSOChaoticIW.vb (LibOptimization/Optimization/clsOptPSO.vb)
  • Change coupling: clsOptPSO.vb ↔ clsOptPSOLDIW.vb (LibOptimization/Optimization/clsOptPSO.vb)
  • Change coupling: clsOptPSOAIW.vb ↔ clsOptPSOChaoticIW.vb (LibOptimization/Optimization/clsOptPSOAIW.vb)
  • Change coupling: clsOptPSOAIW.vb ↔ clsOptPSOLDIW.vb (LibOptimization/Optimization/clsOptPSOAIW.vb)
  • Change coupling: clsOptPSOChaoticIW.vb ↔ clsOptPSOLDIW.vb (LibOptimization/Optimization/clsOptPSOChaoticIW.vb)
  • Change coupling: clsOptRealGABLX.vb ↔ clsOptRealGAREX.vb (LibOptimization/Optimization/clsOptRealGABLX.vb)
  • Change coupling: clsOptRealGABLX.vb ↔ clsOptRealGASPX.vb (LibOptimization/Optimization/clsOptRealGABLX.vb)
  • Change coupling: clsOptRealGAREX.vb ↔ clsOptRealGASPX.vb (LibOptimization/Optimization/clsOptRealGAREX.vb)
  • Duplicated block (10 lines × 2) (LibOptimization/MathTool/MathUtil.vb)
  • Duplicated block (10 lines × 2) (LibOptimization/Optimization/clsOptNelderMead.vb)
  • Duplicated block (10 lines × 2) (LibOptimization/Optimization/clsOptRealGAREX.vb)
  • Duplicated block (11 lines × 2) (LibOptimization/Optimization/clsOptNelderMead.vb)
  • Duplicated block (11 lines × 2) (LibOptimization/Optimization/clsOptNewtonMethod.vb)
  • Duplicated block (11 lines × 2) (LibOptimization/Optimization/clsOptRealGAREX.vb)
  • Duplicated block (12 lines × 2) (LibOptimization/Optimization/clsOptNewtonMethod.vb)
  • Duplicated block (12 lines × 2) (TestLibOptimization/UnitTestLinearAlgebra.vb)
  • …and 74 more

New (66)

  • Build failed
  • Dormant codebase
  • Duplicated block (10 lines × 2) (LibOptimization/MathTool/MathUtil.vb)
  • Duplicated block (10 lines × 2) (LibOptimization/Optimization/clsOptNelderMead.vb)
  • Duplicated block (10–12 lines × 2) (LibOptimization/Optimization/clsOptNewtonMethod.vb)
  • Duplicated block (10–17 lines × 3) (TestLibOptimization/UnitTestLinearAlgebra.vb)
  • Duplicated block (11 lines × 2) (LibOptimization/Optimization/clsOptRealGAREX.vb)
  • Duplicated block (12 lines × 2) (LibOptimization/Optimization/clsOptNewtonMethod.vb)
  • Duplicated block (13 lines × 16) (LibOptimization/Optimization/Template/clsOptTemplate.vb)
  • Duplicated block (13 lines × 2) (LibOptimization/Optimization/clsOptNelderMead.vb)
  • Duplicated block (13 lines × 2) (TestLibOptimization/UnitTestLinearAlgebra.vb)
  • Duplicated block (14 lines × 2) (TestLibOptimization/UnitTestLinearAlgebra.vb)
  • Duplicated block (14 lines × 3) (LibOptimization/Optimization/clsOptNelderMead.vb)
  • Duplicated block (14–15 lines × 2) (TestLibOptimization/UnitTestLinearAlgebra.vb)
  • Duplicated block (14–15 lines × 3) (LibOptimization/Optimization/clsOptPSOAIW.vb)
  • Duplicated block (15–17 lines × 2) (TestLibOptimization/UnitTestLinearAlgebra.vb)
  • Duplicated block (15–21 lines × 2) (TestLibOptimization/UnitTestLibOptimization.vb)
  • Duplicated block (16 lines × 4) (LibOptimization/Optimization/clsOptDEJADE.vb)
  • Duplicated block (16 lines × 8) (LibOptimization/Optimization/Template/clsOptTemplate.vb)
  • Duplicated block (17 lines × 2) (TestLibOptimization/UnitTestLinearAlgebra.vb)
  • …and 46 more

Architecture

  • Unchanged — 3 containers · 0 contexts · 0 edges

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

tomitomi3/LibOptimization was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 28 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 323fb6144be973ddd9e1ec494113f49d035c6711 — the exact code this score is about.
  • Scored under rubric-2026.09.16 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-2d9048c36d26.