Decision modeling refers to the use of mathematical or scientific methods to determine an allocation of scarce resources which improves or optimizes the performance of a system.
A decision model provides a way to visualize the sequences of events that can occur following alternative decisions (or actions) in a logical framework.
There are two types of decision models in the literature:
- Deterministic models
- Probabilistic models
The purpose of this course is to study different ways to model a deterministic decision model.
- Introduction to Decision Modeling
- Preferences as binary relations
- Voting rules as Group Decision Making Models
The main aim of this repository is to keep track of the work we have done in Decision Modelling (DeM) labs.
In this lab, we focused on testing binary relations (given a matrix/graph to extract binary relations). You could use NetworkX to generate a graph/matrix to test different the binary relations.
Please checkout lab's details here
This lab focuses on implementing a decision model for some given constraints via linear programming. You could use the following python packages to solve linear programs:
For more details: checkout this detailed guidline
Please checkout lab's details here
If you want to follow along with the lab exercises, make sure to clone and cd
to the relevant lab's directory:
git clone https://github.com/mohammadzainabbas/DeM-Lab.git
cd DeM-Lab/src/<lab-of-your-choice>
For e.g: if you want to practice lab # 1, then you should do
cd DeM-Lab/src/lab1
.
Before starting, you may have to create new enviornment for the lab. Kindly, checkout the documentation for creating an new environment.
Once, you have activated your new enviornment, we may have to install all the dependencies for a given lab (kindly check if requirements.txt
file exists for a given lab before running the below command):
pip install -r requirements.txt
In order to setup pre-commit
hooks, please refer to the documentation.