Decomposition in Decision and Objective Space for Multi-Modal Multi-Objective Optimization

Authors: Monalisa Pal and Sanghamitra Bandyopadhyay
Email: monalisap90@gmail.com and sanghami@isical.ac.in
Link to publication: https://arxiv.org/abs/2006.02628

Welcome to this webpage which presents a multi-modal multi-objective optimization approach viz. LORD or graph Laplacian based Optimization using Reference vector assisted Decomposition. Its uses decomposition in both objective (reference vector based subspace creation) and decision (subspace clustering) space to address the many-to-one mappings from decision to objective space. The efficacy of this proposed algorithm has been analyzed on CEC 2019 competition test problems and polygon problems. The proposed work studies the scalability of LORD by varying number of objectives (upto 10), number of decision variables (upto 100) and number of solution subsets (upto 27) which can independently generate the entire Pareto-front. This webpage contains a supplementary material for describing the performance indicators used in the main manuscript, visualizing the estimated solutions, analyzing the diversity attainment behavior and comparing the outcomes with k-means clustering approach (in place of spectral clustering). This webpage also contains the MATLAB code as a downloadable ZIP folder, and the step-wise illustration for the execution of the code.


Supplementary Material

Some additional analysis and description are available for downloading as the supplementary material in the file named "Supplementary.pdf". Specifically, the supplementary material provides the following information:

  1. description of the performance indicators,
  2. visual comparison of the estimated solutions,
  3. analysis of the diversity attainment behavior, and
  4. analysis by replacing spectral clustering with k-means approach.

Click here to download the supplementary material.


Specifications of the code

The code for LORD and LORD-II have been verified to run on MATLAB R2018a and a system having Intel Core i7 processor @ 2.2GHz and 8GB RAM.

The MATLAB codes are available in a compressed folder named "LORD.zip" which is downloadable from the link below. The compressed folder is to be extracted in which there are four folders and "main.m" file. The four folders are as follows:

  1. "Indicator_calculation" - for evaluating the indicator values,
  2. "MM_testfunctions" - for implementing CEC19 test functions and storing the reference data for evaluating performance,
  3. "Supporting_Functions" - having various functions required for execution of LORD, and
  4. "Results" - a blank folder for storing results.

Click here to download the MATLAB codes.

As LORD and LORD-II are decomposition-based approaches, the implementations are available with standard settings of sub-space partitioning. For any arbitrary sub-space partitioning, please visit this page.


Steps to execute the associated program

The code can be executed as listed below. Against each step, a screenshot is provided for reference. The screenshots are taken during execution of the code in Windows 10.

  1. Open MATLAB. (Here, MATLAB R2018a has been used.)
  2. Use the drop-down arrow (highlighted by green box) to browse to the location (highlighted by red box) where the ZIP folder has been extracted. Locate from the "Current Folder" pane the file named "main.m" (highlighted by purple box) which is the file to be executed.
  3. One of the ways to execute the file (main.m) is to open the file in an Editor window (by double-clicking "main.m" under "Current Folder" pane) and use the "Run" button of the Editor window (highlighted by red box). Alternatively, one can type the filename i.e. main in the "Command Window" when the prompt (>>) appears in order to execute the program.
  4. Enter the information asked in the "Command Window" (highlighted by red box). Note that all the previously entered commands can be seen from the "Command History" pane (highlighted by purple box).
  5. After all the user-inputs are provided, LORD algorithm starts to search for the Pareto-optimal set of solutions.
  6. At the end of the program execution, two plots appear in separate windows. "Figure 1" and "Figure 2" show the Pareto-optimal solution Set and Pareto-Front, respectively, as estimated by LORD. Beside the plots, the optimization results (i.e., rPSP, IGX, rHV and IGDF) appear in the "Command Window".
  7. For any problems with more than 2 objectives (e.g., MMF14), the execution automatically asks for the number of objectives as an user input (highlighted in red box). For problems with such higher number of objectives, the execution automatically selects the filtering operation for LORD2 as can be seen from the if-else logic (highlighted in green box) in "selection.m" file.
  8. For each run, 1 .mat file is created in the "Results" folder with the problem's name which saves the struct variable "arch1" with all the characterization of test function and execution. Another file named "Perf_LORD.txt" appears in the "Results" folder which gets updated with the performance values after every run.
1 / 8
Step 1 of 8
2 / 8
Step 2 of 8
3 / 8
Step 3 of 8
4 / 8
Step 4 of 8
5 / 8
Step 5 of 8
6 / 8
Step 6 of 8
7 / 8
Step 7 of 8
8 / 8
Step 8 of 8



Links to Other Projects


free counter

Visitor Counter

                

Author: Monalisa Pal

Email: monalisap90@gmail.com