https://github.com/grindelfp/notebookstask
One of the programming tasks on Decision Theory Uni course
https://github.com/grindelfp/notebookstask
Last synced: 12 months ago
JSON representation
One of the programming tasks on Decision Theory Uni course
- Host: GitHub
- URL: https://github.com/grindelfp/notebookstask
- Owner: GrindelfP
- Created: 2023-03-28T20:55:46.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2023-04-12T06:52:59.000Z (about 3 years ago)
- Last Synced: 2025-03-27T06:45:06.832Z (about 1 year ago)
- Language: Kotlin
- Size: 40 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# The Notebooks Task
The third task on Decision Theory Uni course. It is dedicated
to using multiple decision-making methods. The program is given set
of data: 12 alternatives of laptops to buy. The program should make a decision
which laptop to buy based on their criterion as well as the importance of each criteria.
## Methods of decision-making
1. Generating a Pareto's set, which is simply removing the worst alternatives (those which are worse than others by every criterion);
2. Narrowing a Pareto's set (this method cam be applied also to the "raw" set of every alternative) by comparing it to the worst acceptable criterion;
3. Sub-optimisation of the narrowed set: getting the best possible alternative by maximising one chosen criteria;
4. Lexicographical method which sorts criteria by importance and the result is the best alternative by first criteria (if not unique - second criteria etc.);
5. Method of combined criteria: criterion multiplied by certain coefficients are summed and the alternative, which gave best sum is the result.
## Project structure
Project is divided in several parts, which are:
- Data preprocessing: this part interprets data as object DataSet, which contains list of objects of Entry type, which contains information about each alternative;
- Decision-making: this part applies methods stated before to the data, to make a decision about which laptop is the best alternative.
## How to run
- add the absolute path to `dataset/laptop_data.json` file to the respective entry in [configurations.conf](src/main/resources/configurations.conf)
- [run the program](src/main/kotlin/to/deepstorage/notebookstask/RunMe.kt)