Research Interests

  • Systems Engineering and Architecture
  • Space Systems
  • Earth Observing Systems
  • Design automation
  • Global multi-objective combinatorial optimization
  • Knowledge-based systems
  • Surrogate models
  • Human-computer interaction
  • Advanced visual analytics

Research Projects

Incorporating domain knowledge into optimization with hyperheuristic evolutionary algorithms (Hitomi)

Evolutionary algorithms such as NSGA-II, ϵ-MOEA and others are very popular in design. They evolve a population of solutions (designs) by iteratively applying a set of operators such as different types of crossover and mutation. These operators are purely domain-independent, i.e., they do not use any domain knowledge. However, expert designers have a lot of knowledge about how to design good systems; why not use it?

The problem is harder than it sounds, because just using domain-specific operators often results in premature convergence to local optima and reduced diversity in the population.


We are developing new optimization algorithms that use a pool of domain-independent and domain-specific operators. An adaptive operator selection strategy keeps track of the performance of each operator and assigns solutions to each operator proportionally to its performance. This way, we can exploit good expert knowledge to accelerate convergence towards good designs while avoiding “bad” expert knowledge and maintaining good explorative capabilities. Preliminary results (below) demonstrate the usefulness of this approach. Our algorithm (HH-AP) overperforms a state-of-the-art evolutionary algorithm (epsilon-MOEA) as it finds many designs with higher benefit score for the same costs (blue circles lie to the right of the red circles).

Visual and data analytics for knowledge discovery in design: finding the driving features (Knerr, Bang)

gnc tradespace

When designing complex systems, understanding the relationship between design decisions and design criteria is very important. For example, this scatter plot shows thousands of different architectures of a Guidance, Navigation and Control system in a space of mass (proxy for cost) and reliability. We color-coded architectures according to the minimum between their number of sensors (NS) and computers (NC).

Clearly, this feature min(NS, NC) is driving the trade-off, and separating the space in three relatively clean clusters. This is useful and important information. How do we automate this process for other problems? We are developing tools and methods to help solve this problem.

Cityplot is one such tool. The idea behind Cityplot is to try to visualize the shape of the design landscape as a surface in 3 dimensions, in which the XY plane condenses the information about the design decisions and the Z axis condenses the information about the design objectives. This requires using dimensionality reduction techniques to reduce a high-dimensional design space containing both discrete and continuous variables into a 2D plane while distorting pairwise distances between designs as little as possible (on average). An example of a Cityplot is shown below.


iFEED is an interactive methodology that uses visual analytics and machine learning techniques (association rule mining and classification rules) to guide the designer through the process of finding the driving features. First, the user selects a region of interest.


Then, the machine learning layer mines a set of predetermined design features and finds the ones that more clearly separate good designs from bad designs as determined by three metrics called support, confidence and lift. The bar plots below show the top design features sorted by importance (lift).

driving features

The tool also provides a more structured explanation of the driving features using classification trees.

class tree

Now the user can add some higher-level features of interest to the set that are likely to combine multiple current driving features to gain in predictive power and compactness. The user can check these new features with simple filters on the scatter plots, and rerun the machine learning layer. The process continues iteratively until we are satisfied with the results.

new features