Standard Approach for Reference Vector Generation

Welcome to this webpage which assists in reference vector generation with standard settings. Most of the decomposition based evolutionary algorithms (e.g., NAEMO, ESOEA) for Multi-Objective Problems (MOPs) start with a pre-defined set of reference points uniformly scattered on a unit simplex. These reference vectors (origin to reference points) partitions the objective space into multiple sub-spaces. The standard approach of defining such reference vectors is by using Das and Dennis's approach.

[Das and Dennis's approach] Das, I., and Dennis, J. E. (1998). Normal-boundary intersection: A new method for generating the Pareto surface in nonlinear multicriteria optimization problems. SIAM journal on optimization, 8(3), 631-657.

This webpage contains the sets of reference points for standard settings, and its Python 3.4 implementation (as a downloadable ZIP folder) to generate the set of reference points for any arbitrary setting.


Standard data for reference vector generation

The sets of reference points using the standard settings of reference vector generation are as follows:

No. of objectives Standard MOPs Multi-Modal MOPs
Divisions of boundary layer Divisions of inside layer Points (Click to download) Divisions of boundary layer Divisions of inside layer Points (Click to download)
3 12 -- 23 --
5 6 -- 8 --
8 3 2 5 2
10 3 2 4 3
15 2 1 -- -- --

Specifications of the code

The implementation was done on a system having Intel Core i7 processor @ 2.5GHz with 8GB RAM and using Python 3.4.

The Python 3.4 codes are available in a compressed folder named "RefVecGen_Python.zip" which is downloadable from the link below. The compressed folder is to be extracted in which there is one .py file. This file named "refvecgen.py" is to be executed. This program can be used for practical applications requiring other settings.

Click here to download the Python 3.4 implementation.

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 PyCharm. (Here, JetBrains PyCharm Community Edition 2016.3.1 has been used.) Click on "Open" (highlighted in green box) and browse to the location where the ZIP folder has been extracted in order to open project.
  2. The location appears at the title bar (highlighted by red box). Ensure there is one python file in that location from the "Project" pane. This file is called "refvecgen.py" (highlighted by purple box) which is the file to be executed for reference vector generation.
  3. One of the ways to execute the file is by typing "python refvecgen.py" in the Terminal window when the prompt (Location>) appears as highlighted by orange box.
  4. The standard settings for a 3-objective case are fed as input into the first example run (highlighted by blue box).
  5. At the end of the first example run (for 3 objectives), the reference points gets written into a file (highlighted by green box). This file is created in the same folder from where the code is executed.
  6. Another example run (for 10 objectives) with non-standard settings is executed (highlighted by orange box). The file created after execution is also shown. At the end of each run, the prompt (Location>) returns.
1 / 6
Step 1 of 6
2 / 6
Step 2 of 6
3 / 6
Step 3 of 6
4 / 6
Step 4 of 6
5 / 6
Step 5 of 6
6 / 6
Step 6 of 6



Links to Other Projects


free counter

Visitor Counter

                

Author: Monalisa Pal

Email: monalisap90@gmail.com