Table of contents

  1. Data
  2. Loading a Multi-Objective Optimization Problem (MOOP) Dataset
  3. Visualization of MOOP Dataset
  4. Preference Elicitation
  5. Interactive Knowledge Discovery
  6. Interactive Knowledge Visualization
  7. Knowledge Validation

How To Use - Advanced features

The following tutorial shows some more advanced features of Mimer, such as the remote control API accessible via python.

Data

This tutorial uses the following dataset:
tdata1
Which contains the non-dominated solutions from one run of the RE3-5-4 problem from the RE problem suite[1]. RE3-5-4 is a three objective problem (min_f0, min_f1, min_f2) with five decision variables (x0 - x4).
The dataset contains 1894 solutions, and the structure of the objective space show three clear clusters.

Connect with Remote Control API

Mimer has an API to allow users to control the Mimer through scripting. Mimer listens for a local WebSocket connection on the port :5124 to connect to a remote control when Mimer loads.

Save the following code as remotecontrol.py to connect to Mimer:

Remote control code

Save the following code as example.py in the same folder as remotecontrol.py

Simple remote control example

Mimer can only connect to an existing remote control already running when Mimer is loaded, so it is important to always run the remote control script first.

Run example.py and refresh Mimer.

You should now see Hello Mimer! printed to the python command output window.

Plotting example with Remote Control API

This tutorial uses the tdata1 dataset. Make sure this file is in the same folder as remotecontrol.py and example.py.

Modify example.py to contain the following code:

Remote control Plotting

This code loads the .csv file as text and sends it to Mimer to be added as a dataset. This dataset is then renamed to dataset. Two PCP plots are the opened for the dataset (dataset index 0). The first one (plot index 0) is modified to only show the variables, and the second one (plot index 1) is changed to only show the objectives. A 3D scatter plot is also opened for the dataset. Finally, python code is to normalize the objective space between 0–1.

The function UpdatePlots() makes sure that the opened plots are reloaded, so that we can see the changes in the dataset.

FPM example with Remote Control API

This tutorial uses the tdata1 dataset. Make sure this file is in the same folder as remotecontrol.py and example.py.

Modify example.py to contain the following code:

Remote control FPM

This code loads the dataset and sends it to Mimer. It then opens a 3D scatter plot and normalizes the objective space between 0–1.

Then, one cluster of solutions is highlighted in green. FPM is then run with these solutions as the selected set, and the remaining solutions as the unselected set.

This FPM ruleset (index 0) is then opened, and this plot is modified (plot index 1). Finally, the currently visible rules and rule-interactions are the returned from Mimer and printed out.

Additional Remote Control Examples

This section shows some further examples of using the remote control API. These are intended as reference examples, and not necessarily useful.

Open all plots

Change settings

Run InfS and NDS

Resize plots
Mimer: A Web-Based Tool for Knowledge Discovery in Multi-Criteria Decision Support
Copyright (C) Henrik Smedberg 2023 (henrik.smedberg@his.se) | Terms of use | Tutorials | References