In EvoX'sopen decoupled foundation, a complete evolutionary workflow is split into two replaceable "building blocks":the algorithm moduleanswers "how to search," andthe problem moduleanswers "what to evaluate and how the environment responds." The two connect through a clear set of interface contracts, composing an evolutionary workflow that is reusable, replaceable, and transferable.
Algorithm Module: Encapsulating "How to Search"
- Candidate solution generation and population update: Evolutionary logic such as initialization, mutation, crossover, selection, and elitism is implemented uniformly by the algorithm module.
- Search control: Iteration count, population size, restart and convergence criteria, and operator parameter scheduling are all decisions on the algorithm side.
- The algorithm module relies only on the abstract premise that "candidate solutions will be evaluated" and does not concern itself with the physical meaning or specific form of the objective function.
Problem Module: Defining "What to Evaluate and How the Environment Responds"
- Turn candidate solutions into comparable feedback: Objective values, fitness, constraint violation, or the result of an environment interaction.
- Declare problem boundaries and constraints: Variable dimensions, value ranges, and feasible-region rules, so the algorithm knows where it can generate candidate solutions.
- Provide consistent evaluation for the same batch of candidate solutions, so that different individuals, generations, and algorithms can be compared on equal footing.
Interface Contract: Candidate Solution Batch ⇄ Evaluation Results
The algorithm module submits to the problem modulea batch of candidate solutions; the problem module returnsstructured evaluation results(objective vectors, constraint violation, and optional additional diagnostic information); the algorithm module then updates the population and advances to the next generation. This one "submit–return" round trip constitutes one generation of evolution.
Benefits of Decoupling
- Independent extension: Adding or replacing algorithms does not affect the problem definition; modifying or adding problems does not require rewriting the algorithm module.
- Composability: The same problem module can connect to different evolutionary algorithms, and the same algorithm module can switch to different problem modules.
- Transferability: As long as the interface contract remains stable, algorithms and problems can be reused, replaced, and transferred across tasks.
Why This Matters Especially in This Lesson's Context: Multi-Objective Trade-offs and Expensive Feedback
This lesson focuses on engineering problems in the real physical world—for example, COMAC'ssupercritical airfoil design. Such problems typically have three characteristics at once: multiple conflicting objectives (e.g., increasing lift often brings higher drag and reduced stability), mutually nested constraints (e.g., critical buffet lift coefficient, maximum stress must not exceed the material's allowable value), andexpensive and sparse feedback(a single high-fidelity simulation evaluation is very costly). Module separation was designed precisely to address these three points.
On the problem module side, multiple objectives and constraints are uniformly converted into comparable evaluation results: objective vectors characterize each metric, constraint violation quantifies the degree of violation, and when necessary,surrogate modelsare used to provide approximate evaluations at lower cost, alleviating the feedback bottleneck caused by high-fidelity simulation. On the algorithm module side, the search no longer aims for premature convergence to a single "optimal answer," but instead maintainsa diverse set of candidate solutions, allowing experts to perform preference optimization and trade-offs among lift, drag, and safety margins.
Therefore, the "candidate solution batch ⇄ evaluation results" contract must carry not only a single scalar fitness but also objective vectors and constraint violation: multi-objective trade-offs require the algorithm to perform non-dominated comparisons, and constraint handling requires the algorithm to distinguish feasible from infeasible. Once the contract is incomplete, multi-objective and constraint information is permanently lost at the interface, and the reuse and transferability that decoupling brings are likewise lost.
