Git Product home page Git Product logo

pareto-local-search's Introduction

Pareto local search

Introduction

Given a set of objects with different weights, we seek the best way to fill our backpack. However, the given objects hold multi-dimensional score values, hence some solutions are not mutually dominated.

Therefore, given a user (a decision maker), we aim to propose him with the best solution according to his own preferences and score aggregator (unknown to us). In other words, we search for the optimal solution of a given user.

In this project, we implement two main methods :

  • A two step resolution process: finding an approximation of the set of non dominated solutions; querying the user to get an idea of his preferences
  • A one step resolution process: mixing incremental elicitation and the resolution process

Files

Each file contains a main bloc which presents a usage example of the defined class.

Folders

The Data folder holds a set of problems, all of which are defined in a .dat file containing the weights and values of the objects. It is also possible to provide a .eff file which contains the problem's true set of non dominated solutions.

The Results folder holds our experimental results. Images contains saves of obtained graphs, Pareto holds saved sets of non dominated solutions.

The Utils folder contains utilitarian functions used throughout the project.

Elicitation and Decision maker

The elicitor.py file holds the definition of a decision maker and of the elicititation process. Useable agregation functions are defined in agregation_functions.py.

Pareto-local-search

Files with the pls prefix hold various degrees of sophistication for our solving methods. The class hierarchy is the following:

├── pls1
│   ├── pls2
│   ├── pls3
│   │   ├── pls_quadtree
│   │   ├── pls_ndtree
│   │   ├── pls_elicitation
│   │   └── pls_elicitation_quadtree
└── └── pls4 (not working)

Files with the struct prefix contain data structures for Quad Trees and NDTrees.

Main files

The main prefixed files allow you to reproduce our results, editable parameters are defined at the beginning of each file.

pareto-local-search's People

Contributors

pqs27 avatar yannisef avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

pqs27 axelfoltyn

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.