Authors: Saheed Busari, Emmanuel Letier, Earl Barr
Software Systems Engineering Group
University College London
Table of Contents |
Abstract
Many requirement decision problems can be viewed as multi-objective optimisation problems. While exact algorithms to
solve such problems can be slow and have limited scalability, evolutionary algorithms that are faster and have better
scalability, only produce approximate solutions. Surprisingly, exact and evolutionary algorithms are rarely compared
to one another. This paper presents a preview of ongoing experiments to understand the scalability of exact algorithms
and to compare exact and evolutionary algorithms in the context of requirement decision problems. Our initial findings
suggest that a simple exhaustive search can solve real requirements decision problems that have been previously solved
only through evolutionary algorithms and that for different requirement problems, large variations can be seen in the
quality of the solutions found by evolutionary algorithms. These findings could provide the basis for new optimisation
algorithms tailored to the specificity of requirement decision problems.
|
Subject Models
Next Release ProblemThe NRP model involves selecting a subset of requirements that maximise the total value and minimise the total costs of the selected requirements. Given that an existing software system is to be evolved and a set of customers, C = {c1, c2,..,cm}, have different concerns the existing system is to address. These customers have different degrees of importance to the company denoted using a Weight, W = {w1,w2,...,wm}, where wi ∈ [0,1] and Summi=1wi = 1. Typically, each customer,ci(1 ≤ i ≤ m ), desire a set of requirements Ri ∈ R, where R = {r1, r2,...,rn} represents all possible requirements to select from. Therefore, a customer ci ∈ C assigns a value denoted by value(rj, ci) to a requirement rj(1 ≤ j ≤ n ), where value(rj, ci) > 0 if customer i desires an implementation for the requirement j and 0 otherwise. The overall value derived by a customer for a given requirement rj(1 ≤ j ≤ n ) is regarded as the Score which is measured as the weighted sum of importance for all customers. This forms one of the objectives to be optimised :
Scorej = Summi=1 wi. value(rj, ci)
Implementing the set of requested requirements requires expending certain amount of resources (e.g cost, infrastructure,
man-power etc.) which are always limited. In the NRP model, we use cost as a surrogate for such limited resources needed to
fulfil the requirements to be implemented. Thus, the cost vector for the set of requirements rj(1 ≤ j ≤ n ) is:
Cost = { cost1, cost2,..., costn}
where cost1, cost2,..., costn are the cost for r1, r2,...,rn respectively.
The formulated NRP model ensures that the most important requirements are released quickly, while at the same time attaining the the maximum
benefit from the proposed system faster. Thus, the fitness (objective) functions used in the NRP subject model are
:
Maximise Sumnj=1 scorej. xj
Minimise Sumnj=1 costj. xj
Interestingly, real world systems usually have technical or functional constraints on requirements that need to be satisfied independently
or simultaneously, or a requirement may need to be implemented before another requirement. Thus, for NRP model, we considered three
dependency relations amongst requirements such as And, Or and Precedence relations. The three requirement dependency
relations defined by Zhang et al. are summarised below:
|
Emergency Response Architecture Model (ERAM)The ERAM decision model involves selecting an architectural design for a system that coordinates emergency response team with the aim to maximise the system efficiency, minimise its cost, and minimise project's cost. The system under study is called the Situational Awareness System (SAS) which is a mobile software application, developed by a team of academics in conjunction with a government agency, that deploy individuals in situation of emergencies and allows deployed individuals to send and receive information about the status of an emergency situations in real time. The design decisions, alternatives (options) and optimisation goals identified by the SAS project team is presented below:
|
London Ambulance Service Goal Model (LASGM)The LASGM involves selecting among alternative responsibility assignments in a goal model for an automated ambulance dispatching system. As a case study, we use the London Ambulance Service (LASGM) system which dispatches ambulances to incidents when emergency calls are received from the public, and also provide pre-arranged services such as transporting and finding hospital beds for patients. In 1992, the UK Government imposed performance standards (ORCON) for accident and emergency calls, which states that "an ambulance must arrive at the scene within 14 minutes for 95% of the calls". However, meeting this standard was difficult; thus, the first automated version of the LASGM system was introduced.
|
Exact Optimisation: Incremental Exhaustive Search (IES)The simplest approach to find exact solutions to a multi-objective optimisation problem is to scan the search space exhaustively. For many decision problems in RE and AD, exhaustive search may not be feasible due to the exponential growth in the search space as the problem size increases. Thus, enormous computational resources (e.g memory) are needed for computing and storing the large matrix of decision vectors and fitness values obtained during the optimisation. To mitigate this problem, we leverage on the advancement in technology with respect to multi-core processors and high performance computing platforms to speed the search for optimal solutions using a greedy strategy with guaranteed global optima through the application of exhaustive search. We call this approach Incremental Exhaustive search (IES). IES divides the search space into n-partitions and parallelise each partition to obtain exact local solutions. Because solutions that are locally optimal may not be globally optimal in the search space, we combine all the locally optimal solutions to obtain global optimal solutions. The pseudo code in Algorithm 1 explains IES; the first step is to divide the solution space into different partitions (with each partitions having distinct solution members) using a specified number of partitions n. Next, for each partition, using appropriate solution encoding (depending on the problem nature), we generate feasible solution set (decision vectors) and compute their fitness values from the decision objectives. Next, we apply exhaustive search to obtain the Local Exact Solutions (LES) using the concept of Pareto dominance. Once all LES have been obtained, we incrementally compute the Global Exact Solutions (GES) over all LESi (1 \le i \le n).
|
Approximate Optimisation: Non Dominated Sorted Genetic Algorithm (NSGAII)According to Deb et al., in each iteration, individuals in a population are assign two values. First, a rank that represents the quality of solutions in terms of convergence. Second, crowding distance which is an estimate of the density of solutions surrounding a particular point in the objective space, and represents the quality of the solution in terms of diversity. Based on the ranking, candidate solutions are sorted into different fronts (solutions in front 1 have the highest priority, followed by solutions in front 2 and so on) using the non-domination sorting; a solution is non-dominated with respect to another if it has a higher rank value and when two solutions have equal rank, the solution that has a higher crowding distance is preferred. For the selection strategy, NSGAII uses tournament selection where two solutions within a population compete and the one with the highest fitness survive to the next generation. The repair-based NSGAII follows the framework for constrained optimisation proposed by Venkatraman. First, we check at each generation whether generated solutions satisfy the constraints and then replace invalid solutions with repaired solutions within a population. Second, the evolutionary optimisation process is carried out using fitness values to direct the search towards optimality. |
ExperimentDataSetsFor NRP, we synthesised a small scale data sets as described by Zhang et al.. Cost and values were generated randomly; cost range from 1 to 500 inclusive and values are assigned numbers from 0 to 5 inclusive, with 0 meaning a requirement offers no value to the stakeholder and 5 meaning the requirement is of utmost importance. For constraints among requirements, we randomly added three 2-dimensional dependency arrays namely And, Or and Precedence dependency relations. Each dependency array is a bit vector storing boolean values to indicate the relationship between requirements with 1 representing a relationship between requirements and 0 otherwise. For LASGM model, we adopted the same data sets used by the authors for the partial goal model (in Figure 2) of the London Ambulance Service (LASGM) described by Heaven et al. . This model has a total of 5 decision points resulting a total of 4 ∗ 3 ∗ 3 ∗ 3 ∗ 6 alternative system designs. For ERAM, we used the same data sets generated for the Situational Awareness Systems by Letier et al.. The authors computed are 175 model parameters (25 alternative ∗ 7 goals) and ran 104 Monte Carlo simulations on all 6912 possible architectural candidates (26 ∗ 33 ∗ 4). |
Implementation
The implementation of IES and NSGAII was done with jMetal. For the CVNRP model,
the subset of requirements to be selected is encoded with binary string representation {r1, r2,...,rk},
where ri(1 ≤ i ≤ k) ∈ [0,1]. When ri=1, it means that ri is selected and 0 otherwise. For IES,
given a set of requirements R with |R|=k, we partition all possible subset of 2k from 0 to 2k-1 represented
in binary form. We handle the three dependency relations And, Or and Precedence using the repair-based
NSGAII. |
ResultsWe present the experimental results obtained from running NSGAII and Incremental Exhaustive Search on the NRP, ERAM and LASGM subject models. We answer the research questions proposed earlier by reporting the run time and the average measure of the quality metrics such as hyper-volume, generational distance, precision and recall. In addition, we present the Pareto front in the objective space for each model when the search effort for IES and NSGAII are approximately the same. This helps the readers to understand our results. NRP35 Results
ERAM Results
LASGM Results
|