Unsga3 is an independent C# implementation of U-NSGA-III (Seada & Deb).
Copyright © 2026 Jason Bennitt / AppSprout. Licensed under the MIT License.
It is not affiliated with, endorsed by, or derived from the source code of pymoo, PlatEMO, jMetal, or the Kanpur Genetic Algorithms Laboratory. Algorithms and test problems follow published papers and public mathematical definitions.
| Work | Role in Unsga3 |
|---|---|
| Seada, H. & Deb, K. (2016). A Unified Evolutionary Optimization Procedure for Single, Multiple, and Many Objectives. IEEE TEVC. | U-NSGA-III algorithm |
| Deb, K. & Jain, H. (2014). An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point-Based Nondominated Sorting Approach, Part I: Solving Problems With Box Constraints. IEEE TEVC. | Reference directions (including the inside layer), hyperplane normalization, niching |
| Jain, H. & Deb, K. (2014). An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point-Based Nondominated Sorting Approach, Part II: Handling Constraints and Extending to an Adaptive Approach. IEEE TEVC. | Feasible-only niching and constraint-violation fill |
| Das, I. & Dennis, J. E. (1998). Normal-Boundary Intersection. SIAM J. Optim. | Das–Dennis reference directions |
| Deb, K. et al. ZDT / DTLZ suites | Standard test problems |
| Deb & Agrawal — SBX; Deb et al. — polynomial mutation | Variation operators |
See also CITATION.cff for citing this software.
| Project | License (approx.) | How we use it |
|---|---|---|
| pymoo | Apache-2.0 | Oracle only — external Python scripts under tools/oracle/ compare IGD and fronts. Not linked into the NuGet package. |
| NumPy / SciPy (via pymoo env) | BSD | Optional stats / oracle scripts |
| TypeSafe / Jev | hosted API | Optional tools/typesafe-pareto System One Score/Choice pass. Not linked into the NuGet package; live calls need a local TYPESAFE_API_KEY. |
No pymoo or SciPy code is vendored in src/.
The Unsga3 library package is pure managed C# with no third-party NuGet dependencies at runtime (framework reference only). Test projects use xUnit.
Product names (pymoo, .NET, NuGet, etc.) are property of their respective owners and are used only for identification.