Skip to content

[codex] Add evolutionary heuristic solvers and fix CI build#9

Open
japarejo wants to merge 2 commits into
developfrom
evolutionary-heuristic-solvers
Open

[codex] Add evolutionary heuristic solvers and fix CI build#9
japarejo wants to merge 2 commits into
developfrom
evolutionary-heuristic-solvers

Conversation

@japarejo

Copy link
Copy Markdown
Collaborator

What changed

  • Added a Java 21 evolutionary-heuristics engine based on jMetal, with NSGA-II and NSGA-III support.
  • Added request evaluation, solver configuration, HTTP endpoints, health checks, tests, documentation, and the specialization schema.
  • Integrated the engine into Docker Compose and the OpenBinding gateway registry and validation plugin system.
  • Pinned MiniZinc's package manager to pnpm@10.12.4.

Why

This adds evolutionary multi-objective and many-objective binding solvers to OpenBinding and exposes them through the existing gateway architecture.

The pnpm pin fixes the CI failure observed while building engine-minizinc. Corepack had started selecting pnpm 11.9.0, which requires Node.js 22.13 or newer and imports node:sqlite, while the engine image intentionally uses Node.js 20. Fixing pnpm at 10.12.4 restores a reproducible, Node 20-compatible build.

Impact

Users can select the new evolutionary-heuristics engine and configure NSGA-II/NSGA-III options through the gateway. Existing MiniZinc builds no longer depend on Corepack's moving default pnpm version.

Validation

  • Built engine-evolutionary-heuristics successfully.
  • Built engine-minizinc successfully with Node.js 20 and pnpm 10.12.4.
  • Started the complete development service set and confirmed every health check passed.
  • Ran the gateway test suite: 97 passed, 9 skipped.
  • Verified the Compose configuration and Git diff checks.

@japarejo japarejo marked this pull request as ready for review June 25, 2026 18:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant