Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dantesc03/pert-method
Python implementation of the Program Evaluation and Review technique.
https://github.com/dantesc03/pert-method
ghdesktop github github-codespaces github-copilot gitkraken gitlens graphviz learn pert python student-vscode
Last synced: 19 days ago
JSON representation
Python implementation of the Program Evaluation and Review technique.
- Host: GitHub
- URL: https://github.com/dantesc03/pert-method
- Owner: DanteSc03
- License: mit
- Created: 2024-02-21T08:48:41.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-02-29T06:28:46.000Z (11 months ago)
- Last Synced: 2024-11-14T02:36:45.798Z (3 months ago)
- Topics: ghdesktop, github, github-codespaces, github-copilot, gitkraken, gitlens, graphviz, learn, pert, python, student-vscode
- Language: Python
- Homepage:
- Size: 90.8 KB
- Stars: 1
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# 🔧 PERT Analysis Tool 🔧
This repository contains a Python implementation of the Program Evaluation and Review Technique (PERT), a widely used tool in project management for planning and scheduling tasks. We made this work for the subject of optimization for business analytics in order to analyze and understand the method and to be able to calculate an example.
## ➕ Description
The PERT analysis tool calculates several key metrics for project management, including:
- Expected time for task completion.
- Variance of the time estimates.
- Earliest and latest start times for each task.
- Earliest and latest finish times for each task.
- Slack time for each task, indicating the flexibility in scheduling.## How to Use ❓
1. Define your tasks and their optimistic (o), pessimistic (p), and most likely (m) time estimates.
2. Define the dependencies between the tasks.
3. Run the `pert` function to get the analysis results.
4. The `Pert.py` file is intended to be a comprehensive example.
5. Running `pert` in `Pert-Interactive.py` allows you to customize your tasks, the quantity of tasks and the dependencies.## Requirements
Run in the command line
```python
pip install pandas
```
Pandas is necessary to run the files in this respository```python
brew install graphviz
```
graphviz is required to create the graph within this repository## Code Example
#### For Pert-Interactive.py
```python
import math
import pandas as pddef pert(tasks, dependencies):
# ... [Include the entire PERT function code here]# Example usage
tasks = {
# This dictionary is set to blank. When running the program, python will
# ask you to complete this information in the command line
}dependencies = {
# This dictionary is set to blank. When running the program, python will
# ask you to complete this information in the command line
}results = pert(tasks, dependencies)
#Print the results
results_df = pd.DataFrame.from_dict(results, orient='index')
print(results_df)
```#### For Pert.py
```python
import math
import pandas as pddef pert(tasks, dependencies):
# ... [Include the entire PERT function code here]# Example usage
tasks = {
"A": (3, 7, 5),
"B": (2, 6, 4),
# ... [Rest of your tasks]
}dependencies = {
"A": [],
"B": [],
# ... [Rest of your dependencies]
}results = pert(tasks, dependencies)
#Print the results
results_df = pd.DataFrame.from_dict(results, orient='index')
print(results_df)
```## Contributing
Contributions to improve this tool are welcome. Feel free to fork this repository and submit your pull requests.
## License
[MIT License](LICENSE.md)