Coder Social home page Coder Social logo

nikosbeskos / electre-1-3-python-app Goto Github PK

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

This is the Python application that I created doing my thesis studying Industrial Engineering and Management in Democritus University of Thrace. It contains all the files as long as a link to the standalone executable.

License: Other

Python 28.26% QML 71.74%
electre electre-i electre-iii excel gui-application javascript mcda monte-carlo-simulation python qml

electre-1-3-python-app's Introduction

electre-1-3-python-app

This is the Python application that I created doing my thesis studying Industrial Engineering and Management in Democritus University of Thrace. It contains all the files as long as a download link to the standalone executable.

Table of Contents

Installation

This application is for windows only.

Easy method

If you have a bit of space in your local pc, the easiest way is to download the executable (.exe) from here.

There are 2 alternatives, one is windowed mode, OptimizeIt.exe, - no console at all - and the second is a consoled version, OptimizeIt_db.exe, - there is still the window and the console additionally - for bebugging reasons.

Then, jsut download the folder "content" and place it in the same folder as the executable.

That's it! Now you can run it normally, by double clicking the executable.

Second method

This method is done by cloning the repo in your local machine.

Requres a Python installation to your pc, preferably Python v3.10.10 which was the version that this application was developed at. It is also required to have Git installed.

First, open the terminal and navigate to the folder you want to install the application.

Then, clone the repo, runing:

git clone https://github.com/nikosbeskos/electre-1-3-python-app

When the download is complete, it is recomended to create a Python virtual environment so that there is a clean Python installation for the application:

python -m venv <your-venv-name>

Then you can activate the venv using:

<your-venv-name>\Scripts\Activate.ps1

and deactivate it using:

deactivate

For running the app, it is recomended to be in an active Python venv. Then, it is needed to install the requred Python libraries, so run:

pip install -r requirements.txt

That's it! now you can run the application. To run it, use an IDE or a debuger to run the main.py or run in the terminal:

python main.py

Usage

Since it has a GUI developed, usege is easy and self explanatory.

If you have selected to install it via the first method, just double click the executable and you re on.

If you selected to install it via the second method, you can use an IDE of your choice to navigate to the installation folder and run main.py . Another way to run it, is through the terminal. navigate to the installation folder, and run:

python main.py

The way it works, is by using an excel spreadsheet that has a particular form, like this:

excel table format demo

Important

The requirements of the excel spreadsheet are:

  • It has to be of the filetype "<filename>.xlsx" .
  • The application will only read from the first sheet of the file, if it has multiple sheets.
  • The sheet must be empty, and only contain the data of the MCDA decision problem's Decision Matrix, i.e. names of the criteria, names of the alternatives and their values for each criterion.
  • Data must be in a matrix where the fisrt column is the column of the alternatives's names, and the first row is the row of the criteria names, just like it is shown in the green and blue marked area in the image above. The rest of the cells are filled with the values of the decision problem.
  • First cell of the matrix CANNOT be empty. it doesnt matter what value it has.
  • Two samples of how should the excel file be are here for ELECTRE I, and here for ELECTRE III.

Contributing

This code was developed for my Diploma thesis of my master's degree in Industrial Engineering and Management of the Engineering Department of Democritus University of Thrace, located in Xanthi, Greece. Any furhter commenting or help regarding the application and its evolution would be much appreciated and considered positively.

License

This project is licensed under the BSD 3-Clause License. License can be found here.

Contact

Contact:

Acknowledgments

We would like to express our gratitude to the following individuals, projects, and organizations for their contributions, support, and inspiration:

  • Athanasios P. Vavatsikos

    • I would like to express my gratitude to Professor Athanasios P. Vavatsikos for his guidance and support throughout the entire process of my thesis and this project which is part of it. Their expertise, patience, and commitment to academic excellence have been instrumental in the successful completion of this work.
  • Anastasia Saridou

    • Special thanks to Anastasia Saridou for her expertise and help through this project's code development
  • Open Source Libraries and Frameworks used in this project

    • I am sincerely thankful for the generous contributions, and I acknowledge the collective effort of the open-source community.
  • Friends who helped with their "eye" for nice-looking visuals and colors in this project's GUI development.

I thank each of these contributors, whether through code, ideas, or other forms of support, for their invaluable contributions to the project.

Dependencies

electre-1-3-python-app's People

Contributors

nikosbeskos 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.