GithubHelp home page GithubHelp logo

milanedic / moarchiving Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 2.62 MB

This repository contains the description and corresponding files for the "Computing and updating Hypervolume" project

License: MIT License

Makefile 0.79% C 17.41% HTML 70.90% CSS 1.34% JavaScript 0.81% Jupyter Notebook 1.52% Python 6.94% MATLAB 0.28%

moarchiving's Introduction

Incrementally Computing the Hypervolume of a Set of n-D Points for n=3 and 4

This repository contains the description and corresponding files for the " Incrementally computing the hypervolume of a set of n-D points for n=3 and 4" project.

This is a project for the master's subject "Matematika z računalnikom" at University of Ljubljana, Faculty of Mathematics and Physics.

Description

The hypervolume of a set of n-D points is often used in multi-objective optimization and serves as a measure of tracking the progress of optimization algorithms.

The goal of this project is to transfer the most computationally efficient implementation of the incremental hypervolume computation for 3-D and 4-D spaces, which is written in C, into Python.

Repository Structure

The repository is structured as follows:

  • The moarchiving folder consists of my implementation of the hypervolume problem in three and four dimensions in Python.
    • The hv_plus.py contains all the auxiliary funtions as well as the main functions for computing the hypervolume in both three and four dimensions. Example tests for the auxiliary functions are written in the hv_plus_tests.py file, which can be run by simply downloading both files into the same folder and then running the hv_plus_tests.py file.
    • Additional tests for the hyperovlume in four dimensions are available in hv4d_test.py and are executed by running the file. A test of time-efficieny is available in hv4d_test_time.py.
    • An example test for the three dimensional case, which can be found at [https://github.com/apguerreiro/HVC], is implemented in hv3d_test.py. After running this Python file, the computed hypervolume is printed in the terminal (and equals to the original result from C). A visual representation for this example can be found in the visualization folder (one can either run the hv3d_example_original.m script or simply open the MATLAB figure hv3d_example_original.fig).
    • Another three dimensional example is available in hv3d_test_02.py. A visual representation of the problem is available in the visualization folder (by opening either hv3d_example_01.m or hv3d_example_01.fig).
  • The related folder is a copy of the HVC repository, available at [https://github.com/apguerreiro/HVC]. Here, the original implementation is available as well as example cases. The code has been slightly modified for testing purposes and comparing my Python implementation to the original one.
  • The final report for the project can be found in the final_report folder.

moarchiving's People

Contributors

milanedic avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.