Preprint
Article

This version is not peer-reviewed.

NRP-Exp: An Integrated Framework for Reproducible Experiment Management in Multi-Objective Release Planning

Submitted:

02 October 2026

Posted:

05 October 2026

You are already at the latest version

Abstract
Multi-objective Next Release Problem experiments require the coordinated management of instance data, requirement interactions, optimisation configurations, solver execution, and result analysis. These activities are often distributed across independent scripts, libraries, and visualisation tools, making it difficult to preserve consistent problem semantics and traceability throughout the experimental workflow. This paper presents NRP-Exp, a modular open Python framework that connects instance provision, evaluator aggregation, interaction-aware preprocessing, multi-objective problem formulation, solver execution, Pareto-front assessment, and post-optimisation analysis through common representations and reusable headless components. Its ordered preprocessing pipeline transforms descriptive NRP instances into traceable optimisation-ready variants by resolving coupling components, remapping implication relationships, processing value-based interactions, and constructing alternative branches for mutual exclusions. The framework integrates six heterogeneous optimisation algorithms through a common solver contract while preserving their applicability conditions. Validation combines an end-to-end reference workflow, six NRP formulation profiles containing between 12 and 100 requirements, and a controlled linear case for solver portability. All formulation cases were loaded and transformed successfully, producing nine optimisation-ready variants; each selected case was executed through a compatible solver, and all six solver implementations returned feasible results for the common controlled formulation through the shared solution and Pareto-front representations. These results support NRP-Exp as an integrated and traceable infrastructure for structurally repeatable and configurable NRP experiments, while highlighting that strict experimental reproducibility with stochastic solvers requires explicit random-seed management.
Keywords: 
;  ;  ;  ;  

1. Introduction

Multi-objective optimisation is used across software engineering and other decision-intensive domains in which several conflicting goals must be considered simultaneously [1]. The Next Release Problem (NRP) is a representative case: a release must be assembled from candidate requirements while balancing development effort, stakeholder satisfaction, risk, and structural requirement interactions [2,3]. Although many optimisation algorithms are available, practical adoption of Search-Based Software Engineering (SBSE) remains constrained by tool maturity, process integration, and usability [4,5].
A broad range of exact, mathematical-programming, constructive, evolutionary, and stochastic approaches has been applied to different NRP formulations [6,7,8,9,10,11]. However, executing an optimisation algorithm constitutes only one stage of an NRP experiment.
Three main challenges arise in experimental and practical workflows.First, instance preparation, preprocessing, optimisation, and decision analysis are frequently performed with separate scripts and tools. Manual transfer between JSON files, solver libraries, notebooks, and spreadsheets makes it difficult to preserve consistent objective directions, constraints, parameters, and transformations. Second, many research prototypes embed domain assumptions directly in their algorithms or interfaces, making reuse in another problem family expensive. Third, generating a Pareto front does not complete the decision process. Decision makers still need to interpret trade-offs, identify structurally different alternatives, articulate preferences, and reduce a potentially large front to a manageable set of candidates [12].
Existing tools usually address only part of this workflow. These activities are frequently distributed among optimisation libraries, scripts, notebooks, spreadsheets, and visualisation or decision-support tools [13,14,15,16].
This fragmentation can hinder the reproduction and interpretation of NRP experiments. Two studies may nominally use the same instance and optimisation algorithm while applying different preprocessing operations, objective directions, constraint interpretations, stopping conditions, or quality-measure configurations. In such cases, observed differences cannot be attributed exclusively to solver behaviour. Reproducible comparison therefore requires traceability between the original instance, the transformations applied to it, the resulting optimisation-ready model, the solver configuration, and the returned solution set.
To address this need, this paper presents NRP-Exp, an integrated open Python framework for reproducible multi-objective experimentation with the Next Release Problem. NRP-Exp coordinates instance provision, domain-specific preprocessing, problem formulation, solver execution, Pareto-front assessment, and result exploration through common model, problem, solution, and result representations and analysis. The framework defines a structured JSON representation for descriptive NRP instances and supports both externally supplied and synthetically generated instances through this common format. Within NRP-Exp, this representation provides an alternative to ad hoc tabular encodings that do not explicitly preserve attribute and interaction semantics. Previously computed Pareto fronts can also be imported for independent assessment and post-optimisation analysis. JSON and synthetic instances follow the same internal workflow, allowing their transformations and optimisation results to be examined through a consistent computational process. Both internally generated and imported Pareto fronts can subsequently be visualised and analysed using the framework’s post-optimisation facilities.
NRP-Exp is designed around a clear separation between domain-specific semantics, experimental orchestration, optimisation methods, and post-optimisation analysis. Common model, problem, solution, and result representations reduce coupling between these areas, allowing domain transformations and solver implementations to evolve independently of the presentation layer. This modular and method-agnostic design supports interactive and programmatic use, facilitates the integration of additional optimisation strategies, and preserves a consistent workflow across the different stages of an NRP experiment.
The objective of this study is to present and validate NRP-Exp as an integrated experimental infrastructure for the Next Release Problem. The evaluation focuses on the architectural and computational properties claimed for the framework rather than on establishing a general performance ranking of optimisation algorithms. Specifically, it examines the ability of NRP-Exp to represent and process different NRP configurations, transform descriptive instances into traceable optimisation-ready model variants, and exchange configured problems and results across heterogeneous solver families subject to their documented applicability conditions.
The principal contributions of this work are:
1.
An integrated and headless experimental workflow that connects NRP instance provision, evaluator-dependent attribute resolution, domain-specific preprocessing, configurable multi-objective problem construction, solver execution, Pareto-front assessment, and post-optimisation analysis. The framework introduces a structured JSON representation for descriptive NRP instances, including attribute definitions, evaluator groups, requirement data, interactions, and provenance metadata. The same computational components can be invoked from the graphical interface, scripts, notebooks, and automated tests.
2.
An explicit transformation model that separates descriptive NRP instances from optimisation-ready variants. The ordered pipeline resolves evaluator aggregation, constructs transitive coupling components, remaps affected relationships, distinguishes statically absorbed from dynamically evaluated value-based interactions, and represents mutual exclusions through traceable, implication-aware branches.
3.
A common solver-integration contract that separates NRP domain semantics from algorithm-specific search mechanisms. Heterogeneous exhaustive, constructive, evolutionary, stochastic, neighbourhood-based, and mathematical-programming implementations exchange common problem, solution, and Pareto-front representations while retaining their individual parameters and documented applicability conditions.
NRP-Exp also incorporates the post-optimisation analysis facilities introduced in our previous work [12]. These facilities complete the implemented workflow by supporting the inspection and reduction of an existing Pareto front, but they are not evaluated as a separate methodological contribution in the present study.
The remainder of this paper is organised as follows. Section 2 introduces the multi-objective NRP formulation considered by NRP-Exp. Section 3 positions the framework with respect to related optimisation, release-planning, and decision-support software. Section 4 presents the architecture, common representations, instance-provision mechanisms, preprocessing pipeline, and solver-integration contracts. Section 5 describes the validation methodology and experimental configurations. Section 6 reports the end-to-end reference workflow, formulation and transformation coverage, and solver-integration results. Section 7 discusses the findings and threats to validity, and Section 8 concludes the paper.

2. The Next Release Problem

Limited development resources require software organisations to select which candidate requirements should be included in a given release. Originally introduced by Bagnall et al. [2], the Next Release Problem (NRP) has since been generalized to flexible multi-objective formulations [3].
Let R = { r 1 , … , r n } denote the set of atomic candidate requirements. A candidate release is represented by a subset U ⊆ R . Each requirement may be described by attributes such as stakeholder satisfaction, development effort, risk, cost, or dissatisfaction. These attributes can be used to define optimisation objectives or operational constraints. In addition to their individual attribute values, requirements may be connected through interactions that affect release feasibility, decision representation, or attribute evaluation.
NRP-Exp considers implication, coupling, exclusion, and value-based interactions between requirements. The first three are structural interactions because they impose structural conditions on the selected requirements, whereas value-based interactions modify attribute values when specific combinations of requirements are selected:
  • I = { ( r i , r j ) ∣ r i implies r j } represents implication interactions. Under this convention, selecting r i requires r j to be selected. This is also called precedence, denoted as r j precedes r i .
  • J = { ( r i , r j ) ∣ r i is coupled with r j } represents coupling relationships. Coupled requirements must be selected together and are treated as a common decision unit during preprocessing.
  • X = { ( r i , r j ) ∣ r i excludes r j } represents mutual exclusions. Requirements connected by an exclusion cannot be selected for the same release.
  • Y a = { ( S , t , q ) ∣ S ⊆ R , t ∈ { delta , multiplier } , q ∈ R } represents the set of value-based interactions affecting an attribute a ∈ A req . Here, S is the activating set, t identifies the transformation strategy, and q specifies the adjustment. The interaction transforms a ( S ) into a ( S ) + q when t = delta , or into q a ( S ) when t = multiplier .
  • V = ⋃ a ∈ A req Y a , represents the complete set of value-based interactions.
Given the preceding definitions, the multi-objective NRP consists of selecting a candidate release U ⊆ R according to
maximize F 1 ( U ) = f 1 1 ( U ) , f 2 1 ( U ) , … , f z ′ 1 ( U ) , minimize F 2 ( U ) = f 1 2 ( U ) , f 2 2 ( U ) , … , f z ′ ′ 2 ( U ) , subject to U ⊆ R , f i 1 ( U ) ≥ b i 1 , i = 1 , … , z ′ , f j 2 ( U ) ≤ b j 2 , j = 1 , … , z ′ ′ , U satisfies I , J , X , with attribute values adjusted by V .
The functions in F 1 ( U ) represent objectives to be maximised, whereas those in F 2 ( U ) represent objectives to be minimised. These functions may be defined from any requirement attributes elicited for the project. For example, an experiment may maximise stakeholder satisfaction while minimising development effort or risk.
The bounds b i 1 and b j 2 represent project, quality, or resource thresholds associated with the corresponding attribute-derived functions. In NRP-Exp, a threshold constraint may also be defined over an attribute that is not selected as an optimisation objective. For example, effort may be used only as an upper-bound constraint while satisfaction and risk are treated as the optimisation objectives.
A release is feasible when it satisfies the declared threshold constraints and all applicable structural interactions. Value-based interactions do not necessarily determine feasibility, but they can change the objective or constraint values associated with a release. Consequently, the effective optimisation problem depends not only on the selected objective functions and bounds, but also on how the source interactions are transformed or retained before solver execution.

4. NRP-Exp Framework

NRP-Exp is a modular Python framework that coordinates the experimental workflow from NRP instance provision to preprocessing, optimisation, Pareto-front assessment, and post-optimisation analysis. Its architecture follows five design principles: separation of concerns, semantic traceability, extensibility, consistent solver execution, and reproducible experimentation. These principles support the independent evolution of domain plugins, preprocessing operations, solver implementations, and analytical facilities while preserving common model, problem, solution, and result representations throughout the workflow.
Figure 1 presents the principal architectural areas and execution flow. Interactive, programmatic, and automated clients invoke the same headless application operations for instance loading, preprocessing, solver execution, and result construction. The presentation layer therefore remains separate from the domain transformations, optimisation algorithms, and post-optimisation components.
The application layer exposes headless use cases for instance inspection and loading, preprocessing coordination, solver execution, and result construction. Interactive and programmatic executions can therefore use the same computational components, while automated tests can verify either complete workflows or individual steps.
NRP-specific interpretation is encapsulated by the NRP plugin, which provides the attribute schema, JSON extraction, synthetic generation, serialisation, and registered preprocessing operations. Imported and generated instances are represented as OptimizationModel objects. The preprocessing engine then transforms a descriptive model into one or more processed variants, from which an OptimizationProblem is constructed by selecting objectives, optimisation directions, and threshold constraints. This separation makes the transition from source data to solver input explicit and provides the basis for semantic traceability.
The optimisation area separates search strategies from common problem evaluation and plugins. Six algorithms implement the BaseSolver contract and operate on the same OptimizationProblem representation. The common representation standardises solver integration but does not imply that every algorithm is applicable to every problem formulation. In particular, the current MILP implementation requires linear objective and constraint expressions, whereas search-based solvers can evaluate dynamically activated value-based interactions through the common solution evaluator. MILP operates on a linearised subset of the common formulation and therefore preserves equivalence only for the supported formulation elements.
Candidate solutions are interpreted through a common evaluation component responsible for objective calculation, threshold and implication constraints, dynamic value-based interactions, and feasibility assessment. Solver outputs are converted into a common ParetoFront representation containing feasible non-dominated release plans according to OptimizationProblem constraints. Distinct release compositions are preserved even when they share the same objective vector, whereas geometric metrics operate on distinct objective vectors. The assessment and analysis area operates on the resulting Pareto fronts. Front assessment provides cardinality, hypervolume, spacing, and objective-space extent as Pareto front properties.
An AnalysisSession preserves the original Pareto front while supporting enriched, framed, and otherwise derived views. The analytical facilities provide diversity-, efficiency-, preference-, indicator-, and consensus-based analyses, together with manual exploration and the construction of Solutions of Interest for subsequent inspection. This subsystem incorporates and operationalises the post-optimisation decision-space structuring functionality introduced in our previous work [12], connecting it with the preceding instance, preprocessing, problem-formulation, and solver-execution stages. These facilities complete the implemented workflow but are not evaluated as a separate methodological contribution in the present study.
The architecture supports three persistent exchange routes. JSON documents provide descriptive NRP instances, synthetic instances can be generated through the NRP plugin and serialised using the same representation, and CSV files allow previously computed Pareto fronts or selected solution sets to enter the assessment and analysis stages directly. Experimental outputs can include source and processed-model summaries, generated variant identifiers, problem and solver configurations, random seeds, objective directions, metric settings and values, and solver results.
Together, these architectural decisions provide separation of concerns, semantic traceability, extensibility, consistent solver execution, and support for reproducible experimentation. Explicit boundaries separate execution clients, application use cases, domain-specific operations, optimisation methods, and analysis components. Common representations preserve the transition from a descriptive OptimizationModel to processed model variants, configured OptimizationProblem objects, and requirement-level compositions retained in the resulting ParetoFront. Reconstruction and repeatability are supported by retaining the source instance, preprocessing configuration, selected model variant, problem definition, solver parameters, random seed when explicitly supported by the selected implementation, metric configuration, returned results, and software environment.
The current release provides a complete implementation for the NRP domain and integrates six algorithms representing heterogeneous search and mathematical-programming strategies. Solver contracts and registries, registered preprocessing operations, and analytical lenses provide the main extension points of the framework. The domain-plugin contract also allows additional problem domains to reuse the generic orchestration and result-management components. However, such cross-domain reuse is an architectural capability and has not been evaluated in the present study.

4.1. Common Problem and Result Representation

NRP-Exp uses common internal representations to connect descriptive NRP instances, configured optimisation problems, solver outputs, and derived solution sets. A descriptive instance is represented by an OptimizationModel:
M = I , A , E , R , D , G ,
where I is the set of decision items, A contains the attribute definitions, E contains the evaluator groups, R represents the interactions among items, D stores source and descriptive information, and G identifies the active domain plugin.
In the NRP implementation, decision items initially represent candidate requirements. After preprocessing, however, one decision item may represent a group of coupled requirements that must be selected together. Solvers therefore operate on the effective decision units produced by preprocessing without embedding requirement-specific assumptions in their implementations.
Attribute semantics are defined separately from item values through AttributeDefinition objects. Each definition specifies whether an attribute is scalar or evaluator-dependent (i.e. multivalued) and declares the operations used to aggregate evaluator assessments, combine values when coupled requirements are merged, and evaluate the attribute over a candidate release. Evaluator groups represent stakeholders, developers, or other assessment sources, each identified by an identifier and an associated weight. For JSON instances, individual assessments are preserved in the source representation and converted into the scalar values required by preprocessing and optimisation during model loading.
The OptimizationModel describes the available instance and its domain semantics, but it does not prescribe a particular optimisation experiment. A configured experiment is represented by an OptimizationProblem:
P o = M ′ , O , B ,
where M ′ is an optimisation-ready model variant, O defines the selected objectives and their optimisation directions, and B contains the threshold constraints. Several optimisation problems can therefore be formulated from the same processed model by changing the objectives, directions, or operational bounds without modifying the descriptive source instance.
Candidate results are represented by Solution objects. Each solution records an identifier, the selected decision-item identifiers, objective values, feasibility information, and optional auxiliary values. The selected identifiers connect an objective-space point with the corresponding release composition.
A set of feasible non-dominated release compositions is represented by a ParetoFront. Release compositions are considered distinct according to their selected decision-item identifiers, so different compositions may be retained even when they share the same objective vector. The front retains the release composition and objective values required for dominance evaluation, tabular conversion, visualisation, and serialisation. Quality-assessment functions additionally require the objective names and optimisation directions of the originating OptimizationProblem to be supplied explicitly, since a Solution’s objective mapping may contain descriptive attributes beyond the configured objectives.
These representations provide consistency at three levels. First, externally supplied and synthetic NRP instances converge on the same model abstraction. Second, all integrated solvers receive the same optimisation-problem representation and common evaluation semantics. Third, optimisation and post-optimisation components exchange compatible solution, Pareto-front, and solution-set objects. Experimental differences can consequently be analysed in relation to explicit instance characteristics, preprocessing outcomes, problem configurations, and solver behaviour rather than differences in exchange formats.

4.2. Instance and Result Provision

NRP-Exp supports three entry routes serving different purposes: externally supplied NRP instances represented using the JSON structure defined by the framework, synthetically generated NRP instances, and previously computed solution sets or reported Pareto fronts imported from CSV files. The first two routes provide descriptive problem instances that can be preprocessed, formulated, and solved within NRP-Exp. The third route provides an existing result set and enters directly into the assessment and post-optimisation workflow.
As part of NRP-Exp, we define a JSON representation for the persistent exchange of descriptive NRP instances. The representation provides a common structure for model metadata, attribute definitions, evaluator groups, candidate requirements, requirement-level attribute values, and interactions among requirements. It is not intended as a general interchange standard for the NRP, but as an explicit and extensible input format for preserving the information required by the framework’s loading, preprocessing, formulation, and traceability mechanisms.
JSON extraction is delegated to the active domain plugin. The generic loader reads the document and requests the NRP plugin to construct the corresponding attribute definitions, evaluator groups, decision items, and interactions. This separation keeps the loading infrastructure independent of NRP terminology, while the plugin interprets the fields defined by the NRP JSON representation.
Externally supplied instances are not required to contain a fixed set of attributes. An instance may use the classical satisfaction and effort attributes or include additional dimensions such as cost, dissatisfaction, risk, prevalence, time sensitivity, or instability. Objectives and threshold constraints are selected later from the attributes available in the loaded model. A single descriptive instance can therefore support several optimisation configurations.
The validation cases described in Section 5 use this representation to encode different combinations of evaluator- dependent and scalar attributes, objectives, bounds, and requirement interactions
NRP-Exp also includes a synthetic generator for constructing configurable NRP instances. A generation configuration specifies the number of requirements and the mechanisms used to generate their attributes. Each requirement receives a unique identifier and an attribute mapping compatible with the selected attribute definitions. Numerical values can be sampled from configurable distributions without changing the subsequent preprocessing or optimisation components.
The generator supports manual specification of value-based interactions and the generation of implication interactions with a declared density. Generated implications are validated to preserve a directed acyclic graph. Consequently, the realised number of implications may differ slightly from the requested density when adding an interaction would introduce a cycle. Synthetic generation supports controlled experimentation rather than attempting to reproduce the full organisational and semantic complexity of an industrial release-planning project.
The third entry route imports a previously computed solution set or reported Pareto front from a CSV file. This route does not construct an OptimizationModel and therefore does not support NRP preprocessing or integrated solver execution. Instead, it allows the assessment and post-optimisation components to operate on results produced by an external optimisation system.
An imported CSV solution set contains a solution identifier, objective or descriptive columns, and optional binary columns representing solution composition. Decision columns use the req_ prefix to identify the requirements selected by each solution. When these columns are available, NRP-Exp can relate objective-space observations to requirement-level composition. Without decision columns, objective-space assessment remains possible, but requirement-composition and stakeholder-coverage analyses are limited. Comparisons between imported fronts additionally require compatible objectives, directions, scaling conventions, and quality-measure configurations. Imported results use the same ParetoFront and tabular representations as internally generated fronts, although their preprocessing and execution provenance is limited to the information supplied with the external artefact.

4.3. Ordered Preprocessing Pipeline

The need to transform requirement interactions before or during optimisation has been addressed in previous NRP research. Earlier work described how coupling relationships can be resolved by constructing common decision units and how exclusions can give rise to alternative requirement-selection problems [18]. These contributions established relevant transformation mechanisms, but they did not define or implement a complete, solver-independent preprocessing pipeline integrating evaluator aggregation, transitive coupling resolution, relationship remapping, value-based interaction processing, exclusion branching, and provenance of the resulting model variants.
NRP-Exp operationalises and extends these earlier mechanisms as an explicit ordered pipeline over a common model representation. The contribution of the pipeline is therefore not a new taxonomy of requirement interactions, but their coordinated implementation as configurable transformations that can be executed independently of the selected solver and whose intermediate and final models remain inspectable.
Let M ( 0 ) denote the descriptive model before its evaluator-dependent attributes and relationships have been resolved. The ordered transformation sequence is:
M ( 0 ) → T agg M ( 1 ) → T coup M ( 2 ) → T val M ( 3 ) → T excl M 1 ( 4 ) , … , M q ( 4 ) .
Here, T agg denotes evaluator-dependent attribute resolution, T coup transitive coupling resolution and relationship remapping, T val value-based interaction processing, and T excl implication-aware exclusion branching. The first three stages produce a single transformed model, whereas exclusion processing may produce several model variants. Each transformation consumes the output of the preceding stage, and the pipeline records the mappings and branch information required to relate the resulting decision items to the descriptive source instance.
Evaluator-dependent attribute resolution is the first conceptual transformation in this sequence. In the current implementation, it is performed by the NRP plugin during model loading, before the remaining preprocessing operations are invoked. It is included in Equation (4) because its output provides the scalar attribute values consumed by coupling resolution and the subsequent transformations.
The transformation order is fixed because the operations are not generally commutative. Evaluator-dependent attributes must be converted into scalar values before coupled items can be aggregated. Coupling must be resolved before value-based interactions and exclusions are processed because item fusion changes the identifiers referenced by those interactions. Value-based interactions must then be remapped or absorbed before exclusion branching removes items and constructs alternative subproblems. Exclusion branching is therefore applied only after the preceding transformations have produced a consistent model. This explicit ordering is part of the NRP-Exp pipeline and was not formalised as a complete executable sequence in the preceding solver-specific treatments.
Some attributes are assessed by several evaluators rather than supplied as a single scalar value [3]. Let E g = { e 1 , … , e m } be an evaluator group, w k the weight of evaluator e k , and v i k the value assigned by that evaluator to requirement r i . For an attribute configured with weighted-mean aggregation, the resolved value is:
a i = ∑ k = 1 m w k v i k ∑ k = 1 m w k .
The framework also supports the arithmetic mean, sum, minimum, and maximum. The operation is specified by the corresponding attribute definition and may be overridden through the loading configuration. As noted above, the current implementation performs this transformation during model loading while preserving its position as the first conceptual step of the ordered workflow.
Coupling relationships identify requirements that must be selected together. The replacement of coupled requirements by common decision units follows the transformation considered in earlier NRP work [18], while NRP-Exp generalises its implementation to transitive coupling components and attribute-specific combination rules. Because coupling is transitive, pairwise relationships are converted into equivalence classes using a Disjoint-Set Union structure.
Let G = { r i 1 , … , r i p } be a coupling class and let a ( r ) denote the scalar value of attribute a for requirement r. The value assigned to the unified item is:
a ( G ) = combine a a ( r i 1 ) , … , a ( r i p ) ,
where combine a is the coupling rule declared for the attribute. Supported rules include sum, mean, minimum, and maximum, depending on the semantics of each attribute. After fusion, references in implication, exclusion, and value-based interactions are remapped to the identifiers of the unified items.
Value-based interactions represent non-additive effects activated when a specified group of requirements is selected. An interaction is represented as:
d = a d , R d , t d , ϕ d ,
where a d is the affected attribute, R d is the activating set of requirements, t d identifies the transformation strategy, and ϕ d is its factor. Let μ ( r ) denote the mapping from an original requirement to its processed decision item. The remapped activating set is:
R d ′ = μ ( r ) ∣ r ∈ R d .
If | R d ′ | = 1 , all participants have been merged into the same decision item. The interaction is then absorbed statically into that item’s affected attribute. Otherwise, the remapped interaction is retained and applied dynamically by the common solution evaluator when all participating items are selected. This distinction prevents a statically absorbed value-based interaction from being applied again during solver execution.
A mutual exclusion prevents two incompatible decision items from appearing in the same release. The interpretation of an exclusion as alternative requirement-selection problems follows the preprocessing strategy introduced in earlier NRP work [18]. NRP-Exp incorporates this strategy into the common pipeline and implements recursive, implication-aware branching, relationship updating, early pruning of already satisfied exclusions, and variant provenance. Rather than requiring each solver to implement exclusion handling independently, the pipeline constructs alternative model variants before optimisation.
Let Dep ( i ) denote the set containing item i and every remaining item whose implication condition requires i, directly or transitively. For an unresolved exclusion between items i and j, the two branches are constructed as
M − i = M ∖ Dep ( i ) , M − j = M ∖ Dep ( j ) .
Removing an item also requires the removal of every dependent item whose implication condition can no longer be satisfied. Items required by the removed item are not eliminated solely for that reason, since they may still be selected independently or be required by other retained items. Because each mutual exclusion splits the feasible decision space, the number of generated variants q grows exponentially in the worst case. Specifically, the number of alternative subproblems is bounded by O ( 2 k ) , where k is the number of mutually exclusive requirement pairs.
The operation is applied recursively until no unresolved exclusions remain, producing T excl ( M ) = { M 1 , … , M q } . Relationships involving removed items are updated or discarded, and equivalent branches are identified from their remaining decision-item sets. Each retained variant receives a branch identifier that relates subsequent optimisation results to the exclusion decision that produced the variant.
This strategy makes exclusion semantics independent of the selected solver. However, the number of variants may increase rapidly with the number and structure of exclusions. The number and size of the resulting variants are therefore recorded as part of the framework evaluation.
The pipeline returns a non-empty collection of optimisation-ready models,
Π ( M ( 0 ) ) = { M 1 * , … , M q * } .
If no exclusion requires branching, then q = 1 ; otherwise, each model represents an alternative subproblem.
In contrast with the earlier use of individual interaction transformations within particular NRP solution methods, NRP-Exp exposes the complete sequence as a reusable application-level operation. The same processed variants can therefore be inspected, serialised, compared, and supplied to any compatible solver without reimplementing their interaction semantics inside each algorithm.

4.4. Problem Formulation and Solver Integration

After preprocessing, each model variant can be used to formulate one or more multi-objective optimisation problems. Problem formulation is independent of the selected solver so that alternative algorithms operate on the same decision items, objective definitions, threshold constraints, interaction semantics, and feasibility rules.
Let M * be a processed model variant with decision-item set I * = { i 1 , … , i n } . Each processed decision item is associated with a binary variable:
x j = 1 , if item i j is selected , 0 , otherwise .
A candidate release is represented by the vector x = ( x 1 , … , x n ) . The objective configuration is defined as:
O = ( a 1 , d 1 ) , … , ( a m , d m ) , d k ∈ { max , min } ,
where each pair associates an available attribute with its optimisation direction. For an attribute evaluated additively, its release-level value is:
f k ( x ) = ∑ j = 1 n a k j x j + Δ k ( x ) ,
where a k j is the scalar value of attribute a k for item i j , and Δ k ( x ) represents the effects of dynamically retained value-based interactions. Value-based interactions absorbed during preprocessing are already reflected in the item attributes and are not applied again. For attributes configured with non-additive evaluation rules, such as the maximum or mean, the common evaluator applies the corresponding rule instead of the summation in Equation (12).
Threshold constraints define admissible bounds over attribute-derived functions. For example, a maximum-effort constraint is expressed as:
f effort ( x ) ≤ B effort .
A constrained attribute need not also be an optimisation objective. An experiment may, for example, maximise satisfaction and minimise risk while using effort only as an upper-bound constraint.
Structural feasibility is evaluated separately from objective quality. A candidate release is feasible when it satisfies all threshold constraints and remaining implication interactions. If item i j requires item i k , selecting i j is feasible only when i k is also selected. Coupling and exclusion interactions require no solver-specific treatment at this point because they have already been resolved through item fusion and model branching, respectively.
A common SolutionEvaluator reconstructs the selected decision-item identifiers, checks threshold constraints, applies dynamically retained value-based interactions, and calculates the configured objective values. Implication feasibility is enforced by the corresponding solver implementation through the common precedence semantics. Search-based solvers use this component directly, whereas solver-specific mathematical formulations encode their supported objective and constraint expressions internally. This separation allows new solvers to reuse the common problem, evaluation, solution, and result representations according to their formulation requirements.
This separation provides the principal extension boundary for optimisation methods. A new search-based solver can reuse the common candidate representation and evaluation component, whereas a solver requiring a specialised mathematical formulation can translate the supported elements of the same OptimizationProblem into its internal representation. In both cases, the implementation declares its parameters and and returns its results through the common solution and Pareto-front abstractions, .
Every optimisation algorithm implements the BaseSolver contract. A configured solver receives an OptimizationProblem and returns a ParetoFront:
solve ( P o , θ ) ⟶ F ,
where θ contains the solver-specific parameters and F is the returned Pareto front. Solver-specific parameters may include a random seed when the corresponding implementation explicitly supports one. Parameters are declared through ParameterSpec objects containing their names, types, admissible ranges, and default values. The Streamlit interface uses these declarations to construct solver controls, while scripts and notebooks can provide the same configurations programmatically.
Solver discovery is managed through a registry. Consequently, incorporating an additional solver requires the implementation of the common contract, the declaration of its parameters and formulation requirements, and its registration with the framework. It does not require algorithm-specific execution or configuration logic to be added to the presentation layer. The solver remains responsible for determining whether the supplied problem falls within its declared scope and for translating the supported problem elements into any internal representation required by its search or mathematical-programming strategy.
The current NRP-Exp release integrates six optimisation algorithms through the common solver contract. These implementations cover exhaustive, constructive, mathematical-programming, evolutionary, random-sampling, and neighbourhood-based search strategies. They exchange the same problem and result representations, while retaining their individual search mechanisms, configuration parameters, stopping conditions, applicability requirements, and optimality guarantees. Their integration illustrates that the extension mechanism is not restricted to a single algorithm family. Table 2 summarises their roles, limitations, and representative parameters.
All returned candidates are converted into the common Solution representation, and feasible non-dominated solutions are retained in a ParetoFront. The front preserves the selected decision-item identifiers and objective values required to connect objective-space observations with release composition. Distinct release compositions are retained even when they share the same objective vector, whereas geometric quality measures operate on distinct objective vectors.
Solver results are comparable only when they originate from semantically equivalent experimental configurations. This equivalence includes the processed model variant, objective definitions and directions, threshold constraints, interaction semantics, and relevant solver budgets. Differences between fronts cannot be attributed solely to algorithm behaviour when any of these elements differ.
The framework computes front cardinality, hypervolume, spacing, and objective-space extent. Objective names and optimisation directions are obtained from the originating OptimizationProblem and supplied explicitly to the assessment functions. Hypervolume comparison additionally requires a common objective transformation and reference point; if normalisation is applied, the same bounds must be used for every compared front. The measures are interpreted jointly because they describe complementary properties of the size, coverage, extent, and distribution of the returned alternatives. Execution time is also recorded, but is treated as environment dependent and is not considered a reproducibility invariant.
The production of a ParetoFront does not terminate the implemented workflow. Internally generated fronts can be transferred directly to an AnalysisSession, while externally computed fronts can enter the same assessment and analysis stages through CSV import. The session preserves the original front and supports enrichment, contextual framing, analytical lenses, the construction and combination of Solutions of Interest, and the selection of Candidate Solution Sets for detailed comparison.
This post-optimisation subsystem operationalises the visual decision-space structuring functionality introduced in our previous work [12]. In NRP-Exp, that functionality is incorporated as a continuation of the instance-provision, preprocessing, problem-formulation, and solver-execution workflow. The analytical methodology itself is not re-evaluated or claimed as a new contribution in the present study. Its inclusion demonstrates that the common solution and Pareto-front representations can connect optimisation results with subsequent decision-support activities without discarding their objective values, requirement-level compositions, or available experimental provenance.

5. Validation Methodology

The validation examines whether NRP-Exp provides an integrated and traceable infrastructure for constructing, transforming, executing, and inspecting multi-objective NRP experiments. Its purpose is to assess the functional scope of the implemented framework rather than to compare optimisation algorithms or establish general scalability bounds.
Three complementary validation stages are considered. First, the Concise_Case_11 workflow demonstrates the complete transition from JSON ingestion to post-optimisation inspection. Second, a collection of NRP cases examines whether the common representations and preprocessing operations can accommodate different numbers of requirements, objective dimensionalities, resource bounds, and interaction structures. Third, selected formulations are supplied to compatible solver families to assess problem acceptance, feasibility, result construction, and formulation-specific applicability restrictions.
Table 3 summarises the formulation profiles included in the validation. Requirement counts refer to the granularity supplied to NRP-Exp before preprocessing. The selected cases cover scalar and evaluator-dependent attributes, two- and three-objective formulations, resource bounds, and different combinations of implications, coupling, exclusion, and value-based interactions. The controlled cases complement the externally established instances previously used [3]. Concise_Case_11 and Long_Case_30 exercise exclusion branching and value-based interaction processing, while Controlled_Linear_6 provides an additive formulation compatible with all six integrated solver implementations.
Table 4. Configurations used for the selected solver executions.
Table 4. Configurations used for the selected solver executions.
Case Objectives Bound Solver Parameters
Motorola Sat. (max), effort (min) Eff. ≤ 1415 NSGA-II N = 80 , G = 150
Classic Sat. (max), effort (min) Eff. ≤ 43 Pruned Brute Force E max = 10 6
Classic-100 Sat. (max), effort (min) Eff. ≤ 519 NSGA-II N = 100 , G = 150
WordProc-50 Value (max), urgency (max), effort (min) Eff. ≤ 725 NSGA-II N = 80 , G = 150
Concise_Case_11 Sat. (max), effort (min) Eff. ≤ 35 Pruned Brute Force E max = 30000
Long_Case_30 Sat. (max), effort (min) Eff. ≤ 85 NSGA-II N = 80 , G = 150
For Concise_Case_11, the selected execution uses the Excl(r7) variant. For Long_Case_30, the selected execution uses variant 0, corresponding to Excl(r9) → Excl(r17). Parameters not shown in the table retain their solver defaults.
The cases were selected to exercise complementary framework capabilities and do not constitute a statistically representative NRP benchmark. Each case is subjected to the operations required by its validation role rather than being executed with every available solver. A formulation is considered operationally supported when NRP-Exp constructs its descriptive model, applies the required preprocessing operations, formulates an OptimizationProblem, executes at least one compatible solver, and preserves the decision-item composition in the returned results.
The assessment records original and processed decision-item counts, generated model variants, remaining interactions, absorbed and dynamically retained value-based interactions, nominal binary-space sizes, and result feasibility. Solver integration is assessed through registry discovery, parameter-schema exposure, problem acceptance, successful termination, preservation of decision-item composition, and conversion to the common ParetoFront representation.
Preprocessing and execution times, raw outputs, distinct release compositions, and distinct objective vectors are reported as descriptive observations rather than as comparative performance measures. Each execution retains its source instance, preprocessing configuration, selected variant, objectives and directions, threshold constraints, solver-specific parameters, any random seed explicitly supported by the selected implementation, software environment, and generated results.
The Controlled_Linear_6 case reproduces the six-item formulation used by the solver-integration script. It maximises value, minimises cost, and limits total cost to 24. The objectives and constraint are additive, and the case contains no dynamic value-based interactions, making it compatible with all six integrated solvers, including the current MILP implementation. Its complete space of 2 6 = 64 selections is enumerated to obtain an exact reference front for checking the common problem and result contracts.
The stochastic implementations were executed once using the retained solver-specific configurations. The current validation does not control or repeat the stochastic executions across random seeds and therefore does not assess stochastic stability. Their returned fronts are treated only as functional outputs of the corresponding integration checks.

6. Results

The results follow the three complementary aspects of the validation. First, the illustrative case demonstrates the complete end-to-end workflow. Second, the selected NRP cases examine formulation and transformation coverage. Third, solver integration is assessed by executing each NRP formulation with a compatible solver and by exchanging a common controlled formulation among all six integrated implementations.

6.1. Illustrative End-to-End Example

The example uses the Concise_Case_11 JSON instance distributed with NRP-Exp. It contains 12 candidate requirements assessed by two stakeholders and two developers, together with 11 implication relationships, one coupling, one mutual exclusion, and three value-based interactions. The available attributes are satisfaction, dissatisfaction, risk, and effort. Satisfaction and dissatisfaction are assessed by stakeholders, risk is assessed by developers, and effort is represented as a scalar requirement attribute. Figure 2 shows the principal interface views involved in the workflow.
The JSON instance was loaded through the NRP plugin, which resolved its evaluator-dependent attributes and constructed the descriptive OptimizationModel. The resulting model was then processed through the registered NRP pipeline.
Preprocessing merged the coupled requirements r 4 and r 5 into the decision item r4_r5. Processing the mutual exclusion between r 7 and r 9 then produced two alternative model variants. The Excl(r7) variant retained six decision items and two implication relationships, whereas the Excl(r9) variant retained nine decision items and five implication relationships. Neither variant contained unresolved coupling or exclusion relationships. The former retained two value-based interactions for dynamic evaluation, while the latter retained three. These structural outcomes can be inspected in Figure 2(a).
For the reference execution, the Excl(r7) variant was selected. Stakeholder satisfaction was maximised, development effort was minimised, and total effort was constrained to 28. The processed problem contained six binary decision items and therefore had a nominal space of 2 6 = 64 selections. This complete space was explored within the configured limit of 30,000 evaluations, so the returned front is exact for the selected variant and problem configuration.
Table 5. Configuration and outputs of the illustrative example.
Table 5. Configuration and outputs of the illustrative example.
Property Value
Software version v1.0.0
Instance Concise_Case_11
Selected model variant Excl(r7)
Active decision items 6
Nominal binary search space 2 6 = 64
Remaining implication relationships 2
Dynamic value-based interactions 2
Objectives Satisfaction (max), effort (min)
Constraint Effort ≤ 28
Solver Pruned Brute Force
Solver parameters max_evaluations = 30000
Feasible non-dominated release plans 25
Distinct objective vectors 18
Hypervolume reference point ( 1.04 , 30.80 ) in transformed minimisation space
Hypervolume 214.46
Spacing 0.47
Objective-space extent 29.88
Preprocessing time < 0.01 s
Solver execution time < 0.01 s
Lens Diversity K-medioids
Attributes productivity, squandering, dirtiness, annoyance, risk
Num. Cluster 4 (Silhouette: 0.496)
The execution returned 25 distinct feasible non-dominated release compositions corresponding to 18 distinct objective vectors. Different release compositions can therefore share the same satisfaction and effort values. NRP-Exp retains these decision-space alternatives for requirement-level inspection, while geometric measures operate on distinct objective vectors. Figure 2(b) shows the configured problem, solver, and returned front in tabular form; the same front can also be inspected as a decision map. The assessment operations were applied to the 18 distinct objective vectors. Satisfaction was transformed to minimisation by changing its sign, while effort retained its original minimisation direction. Let the transformed nadir point be z nadir and the observed objective range be R. The reference point z ref is calculated as z ref = z nadir + 0.10 R . For this execution, the transformed nadir was ( 0.94 , 28.00 ) and the range vector was ( 1.0 , 28.0 ) , yielding the explicit reference point ( 1.04 , 30.80 ) . Using this reference point, the front produced a hypervolume of 214.46, a spacing value of 0.47, and an objective-space extent of 29.88.
These values characterise the illustrative front and are not used for comparison with other algorithms or configurations. These measures are reported only to illustrate the assessment facilities integrated into the framework.
The front can subsequently be transferred to an AnalysisSession, which preserves the original result while allowing derived views to be enriched, framed, and processed through analytical lenses. In this example, the available attributes support indicators such as scope, productivity, squandering, dirtiness, and annoyance. Diversity and preference analyses can then produce complementary Solutions of Interest for requirement-level examination, as illustrated in Figure 2(c).
Figure 2(d) shows the application of an analytical lens to a decision map. The accompanying violin plots and box plots support inspection of the distributions, ranges, central tendencies, and variability of the attribute values associated with the analysed solutions.
As an integrity check, the reference workflow was executed three times using the same retained instance, configuration, and software environment. Every execution generated the same two processed variants, selected the Excl(r7) branch, and returned the same 25 release compositions and 18 objective vectors. The canonical representations of the loaded model, processed variants, selected branch, problem configuration, and Pareto-front contents were identical across executions. Preprocessing and solver times were below 0.01 s in every run and were excluded from the equality criterion. This check evaluates workflow reconstruction under the same software environment rather than cross-platform or stochastic reproducibility.
The instance, configuration, processed variants, results, and executable notebook required to reproduce the example are available in the NRP-Exp repository at https://github.com/imaguila/NRPExperimentFramework. An interactive deployment of the interface used to produce Figure 2 is available at https://nrpexperimentframework-nuwdjbrgrcwq3qzhbg2a6d.streamlit.app/. The notebook invokes the same headless loading, preprocessing, formulation, solver, and analysis components used by the application.

6.2. Formulation and Transformation Coverage

The second validation stage examines whether the same model, preprocessing, and problem-construction components can accommodate the selected NRP profiles. All six descriptive instances were loaded and processed successfully. Using the retained objective-and-bound configuration for each source case, an OptimizationProblem was constructed for every resulting model variant. The six instances produced nine configured optimisation problems in total: one each for Motorola, Classic, Classic-100, and WordProc-50, two for Concise_Case_11, and three for Long_Case_30.
Table 6 summarises the structural effects of preprocessing. Motorola required evaluator aggregation but no structural transformation, so its 35 candidate requirements remained independent decision items. Coupling resolution reduced Classic from 20 requirements to 18 decision items, Classic-100 from 100 to 96, and WordProc-50 from 50 to 42. For these instances, the coupling components induced by the source relationships reduced the effective decision spaces by two, four, and eight items, respectively. These reductions result from the connected components formed by the coupling relationships and should not be interpreted as a general one-to-one correspondence between relationship counts and removed decision items.
The affected implication relationships were remapped, leaving seven relationships in Classic, 37 in Classic-100, and 63 in WordProc-50. No processed model retained unresolved coupling or exclusion interactions.
Among the externally established cases, WordProc-50 contains the largest combination of implication, coupling, and value-based interactions. Its processed model retained seven value-based interactions for dynamic evaluation. The corresponding problem maximises value and urgency, minimises effort, and applies the configured effort constraint.
Exclusion processing generated two variants for Concise_Case_11 and three variants for Long_Case_30. The long-case variants contained between 20 and 22 active decision items, representing reductions between 26.67% and 33.33%. Two value-based interactions remained available for dynamic evaluation in the variants associated with the Excl(r9) branches, while three remained in the Excl(r10) variant.
The nominal binary spaces ranged from 2 6 for the smallest Concise_Case_11 variant to 2 96 for Classic-100. These values describe the binary representations of the processed problems, not their numbers of feasible releases. Implication relationships and threshold constraints further restrict the feasible spaces. Preprocessing completed for all cases. The largest observed preprocessing time remained below 0.01 s and corresponded to the three variants of Long_Case_30. This timing describes only the evaluated execution and does not support a general claim about preprocessing efficiency or scalability.

6.3. Solver Integration and Portability

The third validation stage examines solver integration at two complementary levels. The first check determines whether each selected NRP formulation can be executed by at least one solver whose declared scope is compatible with its processed structure. The second check supplies the same controlled formulation to all six implementations to isolate common problem and result exchange from formulation-specific applicability restrictions.
Table 7 reports the first check. Solver selection differs across cases because the processed formulations have different effective search-space sizes and interaction semantics. Consequently, the reported times and returned-set cardinalities are not comparable measures of algorithm performance. Controlled_Linear_6 was intentionally designed as a minimal formulation exercising the common contracts under conditions supported by all integrated solvers. It should therefore be interpreted as an integration benchmark rather than as a representative NRP instance.
All six executions accepted the configured problem, terminated normally, and returned a non-empty ParetoFront. Every retained solution was marked as feasible by the common evaluation process, and its selected decision-item identifiers were preserved in the result representation. These executions therefore establish operational applicability for the evaluated case-solver pairs, not compatibility between every formulation and every solver.
Motorola returned 35 distinct release compositions corresponding to 33 objective vectors, while Concise_Case_11 returned 25 compositions corresponding to 18 vectors. These results provide two examples in which different releases share the same objective-space position and confirm that the result representation does not remove compositionally distinct alternatives solely because their objective values coincide.
The portability check uses Controlled_Linear_6, a six-item additive formulation that maximises value, minimises cost, and constrains total cost to 24. Its complete space of 2 6 = 64 selections can be enumerated, and its linear formulation lies within the declared scope of all six integrated implementations, including MILP. The case therefore provides a common problem for examining registry discovery, parameter exposure, execution, feasibility, composition preservation, and result construction.
For this controlled check, integration is considered successful when a solver is discovered through the registry, exposes its parameter schema, accepts the configured problem, terminates normally, returns a non-empty set of feasible solutions, preserves decision-item composition, and exposes its results through the common ParetoFront representation. The number of exact reference vectors recovered is reported as an additional observation and is not part of the integration criterion.
Complete enumeration produced 18 distinct release compositions corresponding to 17 objective vectors. Table 8 reports the results obtained when the same controlled formulation was supplied to the six integrated solvers.
All six implementations passed the defined integration checks. Each solver was discovered through the registry, exposed its declarative parameter schema, accepted the same configured OptimizationProblem, terminated normally, returned at least one feasible solution, preserved decision-item composition, and exposed its results through the common ParetoFront representation.
Complete enumeration identified 18 distinct release compositions and 17 objective vectors. Reference-vector recovery varied under the retained solver-specific configurations, from one vector for the Greedy and Simulated Annealing executions to 16 vectors for NSGA-II and 17 for complete enumeration. These cardinalities characterise only the reported configurations. The stochastic implementations were not repeated under controlled seeds, and the methods used different search mechanisms, parameters, and effective budgets. The observed recovery values therefore provide no basis for a general comparison of solver quality or stability.
Across the three stages, the reference workflow was reconstructed without variation, the six NRP source cases produced nine optimisation-ready model variants and corresponding problem configurations, every selected NRP case was executed with a compatible solver, and all six integrated solver implementations passed the controlled portability check.

7. Discussion

The validation supports the central integration claim of NRP-Exp at three levels. The end-to-end execution shows that the descriptive instance, processed variants, configured problem, solver output, and post-optimisation views can be connected without introducing a separate exchange representation between stages. This connection is particularly relevant when different release compositions share an objective vector. By preserving the selected decision-item identifiers, NRP-Exp retains decision-space alternatives that would be lost through objective-space deduplication alone.
The case-based transformation results indicate that the common model and preprocessing pipeline are not specific to the illustrative instance. The six evaluated cases exercise evaluator-dependent and scalar attributes, two- and three-objective configurations, implication and coupling relationships, mutual exclusions, and value-based interactions. The resulting nine variants show that the same transformation sequence can produce either a single optimisation-ready model or several traceable subproblems. This provides functional coverage for the selected profiles, but does not establish completeness with respect to all possible NRP formulations.
The observed reductions also clarify the role of preprocessing. Coupling resolution changes the effective decision units rather than merely adding feasibility checks to the original binary variables. Exclusion processing changes the number of optimisation problems by constructing alternative variants. In the evaluated cases, the single exclusion in Concise_Case_11 produced two variants, while the three source exclusions in Long_Case_30 produced three distinct variants after implication-aware removal and recursive exclusion processing. Dynamically retained value-based interactions, in contrast, remain part of solution-time evaluation.
The solver results distinguish operational applicability from portability. Execution of each NRP case with one compatible solver shows that the processed formulations can be consumed through the common problem and result representations. It does not show that every solver supports every formulation. The controlled linear case isolates the narrower portability claim: when a formulation lies within the declared scope of all six implementations, each solver can be discovered, configured, executed, and inspected through the same contracts. Reference-vector recovery is separate from this integration criterion and depends on the algorithm, parameters, and computational budget.
The validation also exposes boundaries in the current implementation. The MILP solver supports the encoded linear formulation but does not evaluate dynamically activated value-based interactions. Exclusion processing can increase the number of variants rapidly, and the present cases do not characterise that growth systematically. In addition, the current threshold representation is scalar.

7.1. Threats to Validity

7.1.1. Construct and Internal Validity

Workflow integrity was assessed by comparing canonical representations of the descriptive model, processed variants, problem configuration, and Pareto-front contents across three executions. Equality of these artefacts demonstrates deterministic reconstruction within the evaluated environment, but does not by itself establish that the encoded instance or transformation semantics are correct. Semantically equivalent artefacts could also receive different hashes if their canonicalisation retained non-substantive differences.
The validation instances were reconstructed from JSON files, tabular data, spreadsheets, and previously published cases. Errors in attribute transcription, evaluator weighting, interaction direction, or resource-bound adaptation could affect the resulting formulations. To mitigate this risk, source counts and preprocessing outcomes were checked against the retained case descriptions and intermediate artefacts. Nevertheless, the validation does not constitute an independent revalidation of the original datasets.
Solver integration was assessed through registry discovery, parameter exposure, problem acceptance, normal termination, output feasibility, decision-composition preservation, and common result construction. These criteria assess software integration rather than optimisation quality. Likewise, equality with the enumerated reference front is informative only for the two small configurations whose complete spaces were explored.
The stochastic implementations were executed once with the retained solver-specific parameters. The current implementations do not expose a uniform random-seed mechanism across NSGA-II, Random Search, and Simulated Annealing. Their returned fronts may therefore change between executions, as well as under different parameter values or stopping conditions. Since the study was designed to assess framework integration rather than algorithm performance, no statistical comparison, stability assessment, or general performance conclusion is drawn.

7.1.2. External and Reproducibility Validity

The case portfolio contains six NRP profiles with between 12 and 100 source requirements, two or three objectives, and different combinations of evaluator-dependent attributes, implication and coupling relationships, mutual exclusions, and value-based interactions. This diversity provides case-based evidence that the common representations and preprocessing operations apply beyond the illustrative instance. The cases are deliberately selected, however, and do not constitute a statistically representative sample of NRP formulations.
Only one objective-and-bound configuration was retained for each source case, and the study does not vary instance size, interaction density, exclusion structure, evaluator distribution, or resource tightness systematically. Consequently, the returned-set cardinalities are descriptive results for the retained configurations and are not comparable measures of algorithm performance.
A compatible solver was executed for every selected NRP case, while Controlled_Linear_6 was used to examine all six implementations under a common supported formulation. The stochastic executions used one retained parameter configuration and algorithm-specific budgets, but were not repeated under controlled random seeds. Their times, returned-set cardinalities, and reference-vector recovery therefore describe only the reported executions.
The retained source instances, problem and solver configurations, intermediate artefacts, canonical hashes, and results support independent repetition, but equivalent behaviour across operating systems, Python versions, dependency versions, or hardware platforms was not tested. The evidence therefore establishes same-environment repeatability rather than cross-platform reproducibility.

8. Conclusions

This paper presented NRP-Exp, an integrated Python framework for traceable multi-objective experimentation with the Next Release Problem. The framework connects instance provision, evaluator aggregation, interaction-aware preprocessing, problem formulation, solver execution, Pareto-front assessment, and post-optimisation analysis through common representations and reusable headless components.
The objective of the validation is not to demonstrate optimisation improvements over existing frameworks, but to evaluate whether NRP-Exp preserves traceability across instance transformation, problem formulation, solver execution and result analysis. Consequently, the reported evidence should be interpreted as a framework-validation study rather than as an algorithm-comparison experiment.
The validation provided evidence for the evaluated configurations at three levels. The Concise_Case_11 workflow connected the complete experimental sequence and was reconstructed three times without variation in its descriptive model, processed variants, configured problem, or exact Pareto front for the selected variant. Six NRP profiles containing between 12 and 100 source requirements were loaded and transformed into nine traceable model variants, each of which supported construction of the retained problem configuration. Each selected NRP case was also executed with a compatible solver. Finally, all six integrated implementations accepted and returned results for the same controlled linear formulation through the common problem, solution, and Pareto-front contracts.
These findings support NRP-Exp as an integrated and traceable infrastructure for constructing, transforming, executing, and inspecting configured NRP experiments. The results demonstrate functional coverage of the selected formulation profiles and common solver exchange under compatible conditions. They do not establish exhaustive formulation coverage, general scalability, cross-platform reproducibility, stochastic stability, or a performance ranking of the integrated algorithms.
Future work will examine systematic instance families and interaction densities, comparable solver budgets, uniform random-seed support, and repeated stochastic executions, multidimensional resource constraints, cross-platform reconstruction, and the practical use of the integrated post-optimisation facilities.

Author Contributions

Conceptualization, I.M.d.A. and J.d.S.; methodology, I.M.d.A., J.d.S. and A.B. ; investigation, I.M.d.A., J.d.S. and A.B.; software, I.M.d.A.; writing—original draft preparation, I.M.d.A. and J.d.S.; writing—review and editing, I.M.d.A and A.B. All authors have read and agreed to the published version of the manuscript

Funding

This research received no external funding.

Data Availability Statement

All data and software release are available in the NRP-Exp repository at https://github.com/imaguila/NRPExperimentFramework. An interactive deployment of the NRP-Exp Streamlit application is available at https://nrpexperimentframework-nuwdjbrgrcwq3qzhbg2a6d.streamlit.app/.

Acknowledgments

This research has been supported by the Information Systems (TIC-194) and the Data Analysis (FQM-244) research groups of the University of Almería.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
NRP Next Release Problem
SBSE Search-Based Software Engineering
MILP Mixed-Integer Linear Programming
SOI Solution of Interest
CSS Candidate Solution Set
VBI Value-Based Interaction

References

  1. Yuste, J.; Pardo, E.G.; Chicano, F. Search-Based Software Engineering Problems. In Handbook of Heuristics; Springer, 2025; pp. 1621–1649. [Google Scholar] [CrossRef]
  2. Bagnall, A.J.; Rayward-Smith, V.J.; Whittley, I.M. The Next Release Problem. Inf. Softw. Technol. 2001, 43, 883–890. [Google Scholar] [CrossRef]
  3. del Águila, I.M.; del Sagrado, J.; Bosch, A. Generic Formulation of the Requirements Selection Problem. Proc. 10th Int. Conf. Optim. Appl. (ICOA), 2024; pp. 1–6. [Google Scholar] [CrossRef]
  4. Mezhuyev, V.; Al-Emran, M.; Ismail, M.A.; Benedicenti, L.; Chandran, D.A. The acceptance of search-based software engineering techniques: An empirical evaluation using the technology acceptance model. IEEE Access 2019, 7, 101073–101085. [Google Scholar] [CrossRef]
  5. Golmohammadi, A.; Zhang, M.; Arcuri, A. Tools and benchmarks evolve: what is their impact on parameter tuning in SBSE experiments? Empir. Softw. Eng. 2025, 31, 8. [Google Scholar] [CrossRef] [PubMed]
  6. Achimugu, P.; Selamat, A.; Ibrahim, R.; Mahrin, M.N. A systematic literature review of software requirements prioritization research. Inf. Softw. Technol. 2014, 56, 568–585. [Google Scholar] [CrossRef]
  7. Dong, S.; Xue, Y.; Brinkkemper, S.; Li, Y.F. Multi-objective integer programming approaches to Next Release Problem — Enhancing exact methods for finding whole pareto front. Inf. Softw. Technol. 2022, 147, 106825. [Google Scholar] [CrossRef]
  8. Ahmad, A.; Amjad, A.; Muqeet, A. Multi-objective release planning in agile software development: A systematic literature review. J. Syst. Softw. 2023, 198, 111600. [Google Scholar] [CrossRef]
  9. Ospina, M.; Berenguer, J.; Ruiz, C. Machine learning-assisted multi-objective optimization for the Next Release Problem. Inf. Softw. Technol. 2024, 167, 107380. [Google Scholar] [CrossRef]
  10. Tasneem, N.; Zulzalil, H.B.; Hassan, S. Enhancing Agile Software Development: A Systematic Literature Review of Requirement Prioritization and Reprioritization Techniques. IEEE Access 2025, 13, 32993–33034. [Google Scholar] [CrossRef]
  11. Zhang, Y.; Wang, S.; Yang, W. A quantum annealing approach for solving optimal feature selection and next release problems. Entropy 2026, 28, 886. [Google Scholar] [CrossRef] [PubMed]
  12. del Águila, I.M.; del Sagrado, J. From Pareto Fronts to Decision Spaces: A Method-Agnostic Workflow for Post-Optimization Decision Support in the Next Release Problem. IEEE Access;EarlyAccess 2026. [Google Scholar] [CrossRef]
  13. Parejo, J.A. MOSES: A metaheuristic optimization software ecosystem. AI Commun. 2014, 29, 223–225. [Google Scholar] [CrossRef]
  14. Fortin, F.A.; Rainville, F.M.D.; Gardner, M.A.; Parizeau, M.; Gagné, C. DEAP: Evolutionary Algorithms Made Easy. J. Mach. Learn. Res. 2012, 13, 2171–2175. [Google Scholar]
  15. Benítez-Hidalgo, A.; Nebro, A.J.; García-Nieto, J.; Oregi, I.; Del Ser, J. jMetalPy: A Python framework for multi-objective optimization with metaheuristics. Swarm Evol. Comput. 2019, 51, 100598. [Google Scholar] [CrossRef]
  16. Blank, J.; Deb, K. pymoo: Multi-Objective Optimization in Python. IEEE Access 2020, 8, 89497–89509. [Google Scholar] [CrossRef]
  17. Durillo, J.J.; Zhang, Y.; Alba, E.; Harman, M.; Nebro, A.J. A Study of the Bi-Objective Next Release Problem. Empir. Softw. Eng. 2011, 16, 29–60. [Google Scholar] [CrossRef]
  18. del Sagrado, J.; del Águila, I.M.; Orellana, F. Multi-Objective Ant Colony Optimization for Requirements Selection. Empir. Softw. Eng. 2015, 20, 577–610. [Google Scholar] [CrossRef]
  19. Rahimi, I.; Gandomi, A.H.; Nikoo, M.R.; Chen, F. A comparative study on evolutionary multi-objective algorithms for next release problem. Appl. Soft Comput. 2023, 144, 110472. [Google Scholar] [CrossRef]
  20. Nebro, A.J.; Durillo, J.J.; Vergne, M. Redesigning the jMetal Multi-Objective Optimization Framework. In Proceedings of the Companion Publication of the 2015 Annual Conference on Genetic and Evolutionary Computation, New York, NY, USA, 2015; pp. 1093–1100. [Google Scholar] [CrossRef]
  21. Hadka, D. MOEA Framework: A Free and Open Source Java Framework for Multiobjective Optimization. https://moeaframework.org/, 2025. Version 5.1, computer software. 2025.
  22. Tian, Y.; Cheng, R.; Zhang, X.; Jin, Y. PlatEMO: A MATLAB Platform for Evolutionary Multi-Objective Optimization. IEEE Comput. Intell. Mag. 2017, 12, 73–87. [Google Scholar] [CrossRef]
  23. Biscani, F.; Izzo, D. A Parallel Global Multiobjective Framework for Optimization: pagmo. J. Open Source Softw. 2020, 5, 2338. [Google Scholar] [CrossRef]
  24. Ruhe, G. Product release planning: methods, tools and applications; CRC Press: Boca Raton, FL, 2010. [Google Scholar]
  25. Ruhe, G. Data-Driven Software Release Planning: Progress and Open Challenges. IEEE Softw. 2023, 40, 45–52. [Google Scholar]
  26. del Sagrado, J.; del Águila, I.M.; Orellana, F.J. Metaheuristic Aided Software Features Assembly. Frontiers in Artificial Intelligence and Applications 2012, Vol. 242, 1009–1016. [Google Scholar] [CrossRef]
  27. Du, G.; Ruhe, G. Two Machine-Learning Techniques for Mining Solutions of the ReleasePlanner Decision Support System. Inf. Sci. 2014, 259, 474–489. [Google Scholar] [CrossRef]
  28. Misitano, G.; Saini, B.S.; Afsar, B.; Shavazipour, B.; Miettinen, K. DESDEO: The modular and open source framework for interactive multiobjective optimization. IEEE Access 2021, 9, 148277–148295. [Google Scholar] [CrossRef]
  29. Kizielewicz, B.; Shekhovtsov, A.; Sałabun, W. pymcdm—The universal library for solving multi-criteria decision-making problems. SoftwareX 2023, 22, 101368. [Google Scholar] [CrossRef]
  30. Gratzl, S.; Lex, A.; Gehlenborg, N.; Pfister, H.; Streit, M. LineUp: Visual analysis of multi-attribute rankings. IEEE Trans. Vis. Comput. Graph. 2013, 19, 2277–2286. [Google Scholar] [CrossRef] [PubMed]
  31. Zhao, X.; Wu, Y.; Cui, W.; Du, X.; Chen, Y.; Wang, Y.; Lee, D.L.; Qu, H. SkyLens: Visual analysis of skyline on multi-dimensional data. IEEE Trans. Vis. Comput. Graph. 2018, 24, 246–255. [Google Scholar] [CrossRef] [PubMed]
  32. Ma, Y.; Zhang, Z.; Cheng, R.; Jin, Y.; Tan, K.C. ParetoLens: A Visual Analytics Framework for Exploring Solution Sets of Multi-Objective Evolutionary Algorithms. IEEE Comput. Intell. Mag. 2025, 20, 78–94. [Google Scholar] [CrossRef]
  33. Baker, P.; Harman, M.; Steinhofel, K.; Skaliotis, A. Search based approaches to component selection and prioritization for the next release problem. In Proc. 22nd IEEE International Conference on Software Maintenance (ICSM); IEEE, 2006; pp. 176–185. [Google Scholar] [CrossRef]
  34. Greer, D.; Ruhe, G. Software release planning: An evolutionary and iterative approach. Inf. Softw. Technol. 2004, 46, 243–253. [Google Scholar] [CrossRef]
  35. Agarwal, N.; Karimpour, R.; Ruhe, G. Theme-Based Product Release Planning: An Analytical Approach. In Proc. 47th Hawaii International Conference on System Sciences; IEEE, 2014; pp. 4739–4748. [Google Scholar] [CrossRef]
Figure 1. NRP-Exp architecture and principal execution flow. Interactive and programmatic clients invoke application-level operations that coordinate NRP representation, preprocessing, solver execution, result construction, and analysis. Solid arrows represent computational flow, whereas dashed arrows represent persistent input and output routes.
Figure 1. NRP-Exp architecture and principal execution flow. Interactive and programmatic clients invoke application-level operations that coordinate NRP representation, preprocessing, solver execution, result construction, and analysis. Solid arrows represent computational flow, whereas dashed arrows represent persistent input and output routes.
Preprints 236272 g001
Figure 2. Representative NRP-Exp interface views illustrating the transition from processed-instance inspection and solver execution to post-optimisation analysis.
Figure 2. Representative NRP-Exp interface views illustrating the transition from processed-instance inspection and solver execution to post-optimisation analysis.
Preprints 236272 g002
Table 1. Positioning of NRP-Exp relative to representative optimisation, decision-support, and release-planning software.
Table 1. Positioning of NRP-Exp relative to representative optimisation, decision-support, and release-planning software.
Category and examples Primary purpose Relationship with NRP-Exp
General-purpose optimisation libraries (pymoo, DEAP, jMetalPy) Implementation and execution of optimisation algorithms Provide reusable algorithmic infrastructure, while NRP-specific instance interpretation, interaction preprocessing, feasibility evaluation, and requirement reconstruction must be implemented by the researcher.
Interactive optimisation and MCDM (DESDEO, pymcdm) Preference-guided optimisation or ranking of existing alternatives Provide complementary optimisation and decision-support methods, whereas NRP-Exp also coordinates NRP instance provision, domain transformation, and solver execution.
Visual analytics (LineUp, SkyLens) Interactive exploration and ranking of multidimensional alternatives Provide general-purpose visual analysis, whereas NRP-Exp retains the connection between objective-space observations, experimental provenance, and requirement-level release composition.
Release-planning environments (Release Planner, MASA) Requirements prioritisation and optimisation-assisted release construction Focus on supporting release-planning decisions, whereas NRP-Exp focuses on configurable and traceable experimentation across problem instances, transformations, and optimisation methods.
NRP-Exp Reproducible multi-objective NRP experimentation Connects instance provision, evaluator aggregation, interaction preprocessing, problem formulation, multi-solver execution, Pareto-front assessment, and subsequent result analysis through common representations.
Table 2. Optimisation algorithms integrated into NRP-Exp.
Table 2. Optimisation algorithms integrated into NRP-Exp.
Algorithm Search strategy Scope and limitations Representative parameters
Pruned Brute Force Enumerates binary selections, rejects infeasible candidates, and maintains the non-dominated set incrementally. Returns the exact Pareto front only when the complete effective search space is explored before reaching the evaluation limit. max_evaluations
Greedy Multi-Weight Sweep Constructs release plans under different objective-weight combinations and combines the resulting non-dominated solutions. Provides a low-cost constructive baseline, but does not guarantee recovery of the complete Pareto front. weight_samples
NSGA-II Uses a binary representation, non-dominated sorting, variation operators, and crowding-based survival. Produces an approximate front whose quality and stability depend on the population, evolutionary budget, configuration, and random seed. pop_size, generations
MILP Multi-Weight Sweep Solves a collection of weighted linear scalarisations using scipy.optimize.milp. Each scalarisation is solved exactly for the encoded linear formulation. The sweep may omit non-supported Pareto-optimal solutions. Dynamically evaluated non-linear value-based interactions are outside the scope of the current MILP formulation. weight_samples, time_limit_per_sweep
Random Search Samples binary selections, repairs implication interactions when required, evaluates feasible candidates, and retains non-dominated solutions. Provides an unguided stochastic baseline rather than an optimality or competitive-performance guarantee. num_samples
Simulated Annealing Performs scalarised neighbourhood searches for several objective-weight configurations and combines the resulting non-dominated solutions. Produces an approximate front whose results depend on the search budget, temperature schedule, weight configurations, and random seed. iterations, initial_temp, cooling_rate, weight_samples
Note: Due to the exponential growth of the search space, the Pruned Brute Force implementation supports only formulations with at most 22 active decision items. Problems exceeding this limit fall outside its applicability scope and are therefore rejected.
Table 3. NRP formulation profiles considered in the validation. Requirement counts refer to the granularity supplied to NRP-Exp before preprocessing. Interaction columns report source-interaction counts; a zero indicates that the corresponding interaction is absent.
Table 3. NRP formulation profiles considered in the validation. Requirement counts refer to the granularity supplied to NRP-Exp before preprocessing. Interaction columns report source-interaction counts; a zero indicates that the corresponding interaction is absent.
Case Stakeh. Req. Obj. Bounds Impl. Coupl. Excl. Val-Based Int.
Motorola [33] 4 35 2 1 0 0 0 0
Classic [34] 5 20 2 1 8 2 0 0
Classic-100 [18] 5 100 2 1 38 4 0 0
WordProc-50 [35] 4 50 3 1 66 8 0 7
Concise_Case_11 2 12 2 1 11 1 1 3
Long_Case_30 4 30 2 1 26 5 3 6
Controlled_Linear_6 0 6 2 1 0 0 0 0
Table 6. Structural effects of preprocessing across the validation cases. Ranges summarise the variants generated by exclusion branching.
Table 6. Structural effects of preprocessing across the validation cases. Ranges summarise the variants generated by exclusion branching.
Case Source Variants Active Reduction Impl. Coupl. Excl. Dynamic VBI
Motorola 35 1 35 0.00% 0 0 0 0
Classic 20 1 18 10.00% 7 0 0 0
Classic-100 100 1 96 4.00% 37 0 0 0
WordProc-50 50 1 42 16.00% 63 0 0 7
Concise_Case_11 12 2 5–9 25.00–50.00% 2–5 0 0 2–3
Long_Case_30 30 3 20–22 26.67–33.33% 20–22 0 0 2–3
Table 7. Operational execution of each NRP formulation with a compatible solver. Returned cardinalities describe the retained configurations and are not intended for cross-case or cross-algorithm comparison.
Table 7. Operational execution of each NRP formulation with a compatible solver. Returned cardinalities describe the retained configurations and are not intended for cross-case or cross-algorithm comparison.
Case Solver Plans Vectors Feasible Composition preserved
Motorola NSGA-II 35 33 Yes Yes
Classic Pruned Brute Force 27 27 Yes Yes
Classic-100 NSGA-II 39 39 Yes Yes
WordProc-50 NSGA-II 73 73 Yes Yes
Concise_Case_11 Pruned Brute Force 25 18 Yes Yes
Long_Case_30 NSGA-II 60 60 Yes Yes
Table 8. Solver-portability results for Controlled_Linear_6. Reference-vector recovery characterises the single reported execution of each implementation and is not an integration criterion or a measure of stochastic stability.
Table 8. Solver-portability results for Controlled_Linear_6. Reference-vector recovery characterises the single reported execution of each implementation and is not an integration criterion or a measure of stochastic stability.
Algorithm Raw outputs Plans Vectors Reference vectors Integration
Pruned Brute Force 18 18 17 17/17 Passed
Greedy Multi-Weight Sweep 5 1 1 1/17 Passed
NSGA-II 16 16 16 16/17 Passed
MILP Multi-Weight Sweep 4 2 2 2/17 Passed
Random Search 13 13 13 10/17 Passed
Simulated Annealing 2 1 1 1/17 Passed
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.