You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+43-9
Original file line number
Diff line number
Diff line change
@@ -1,16 +1,29 @@
1
1
# DynamicPlacementGenerator
2
2
3
-
## Installations
3
+
The DynamicPlacementGenerator is a Python program used to generate the best spare engine placement for a specific aircraft fleet.
4
4
5
-
Install `python3`. Check the version and you should see the same as the output below or a more recent version.
5
+
## Background
6
+
7
+
Delta Air Lines is an industry-leading, globally operating United States airline servicing over 300 destinations with a fleet of approximately 900 aircraft. Delta’s Engine Demand Planning team (EDP), which falls under Delta TechOps, is responsible for planning engine removals, assigning spare engines to seven designated hubs, and setting up the logistics of the removals and repairs of these engines.
8
+
9
+
The objective of this project is to assist Delta’s EDP team with improving the allocation of spare engines across the contiguous United States. To assist Delta in decreasing both transportation and AOS costs incurred throughout the year, the solution determines the optimal configuration of all spare engines on a monthly basis through a Markov Decision Process. The solution outputs a configuration recommendation for the upcoming month associated with the minimal cost of all possible options. Delta’s EDP team can use the model to make data-informed, cost-driven decisions with the added benefit of reducing required labor hours.
10
+
11
+
## Installations and Setup
12
+
13
+
Instructions to install the required installations are outlined below with provided terminal commands.
14
+
15
+
### Before Cloning this Repository
16
+
17
+
Install `python3`. Check that your version matches the one below or is more recent.
6
18
```
7
19
python3 --version
8
20
Python 3.7.6
9
21
```
10
22
11
-
Install `pip3`. Check that you have it by running the command below to check the version.
23
+
Install `pip3`. Check that you have it by running the command below to check the version. You should see a response similar to the one below.
12
24
```
13
25
pip3 -V
26
+
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
14
27
```
15
28
16
29
Install `numpy` using `pip3`.
@@ -28,27 +41,35 @@ Install `scipy` using `pip3`.
28
41
pip3 install scipy
29
42
```
30
43
31
-
Clone this repository.
44
+
### After Cloning this Repository
32
45
33
-
After doing that, navigate to the `DynamicPlacementGenerator` directory (wherever you cloned it on your machine) and clone the Git repository for `pymdptoolbox` with the following terminal command:
46
+
Navigate to the `DynamicPlacementGenerator` directory (wherever you cloned it on your machine).
47
+
48
+
This application uses the [`pymdptoolbox` module](https://github.com/sawcordwell/pymdptoolbox"Markov Decision Process (MDP) Toolbox for Python"). Clone the repository for it with the following command. **Make sure you are cloning the repository while in the `DynamicPlacementGenerator` directory.**
Navigate to the `pymdptoolbox` folder, which now resides in the `DynamicPlacementGenerator` directory.
39
54
```
40
55
cd pymdptoolbox
41
56
```
42
57
43
-
Install`pymdptoolbox` using the following terminal command (while in the `pymdptoolbox` directory):
58
+
Setup and install`pymdptoolbox` using the following terminal command (while in the `pymdptoolbox` directory):
44
59
```
45
60
python3 setup.py install
46
61
```
47
62
48
-
## To run locally
63
+
## Usage
64
+
65
+
### First Run
66
+
67
+
Some files will need to be created to use for all subsequent runs. Most of these tasks will only need to be completed once.
68
+
69
+
### Subsequent Runs
49
70
50
-
Clone this repository onto your local machine.
51
71
Navigate to the `DynamicPlacementGenerator` directory.
72
+
52
73
In your terminal, run the following command:
53
74
```
54
75
python3 app.py
@@ -65,3 +86,16 @@ max removals total that can occur = 10
65
86
max total working engines = 5
66
87
67
88
changing all inputs and re-running all possible removal situations adds time to the run time. It took me about 1 hour and 30 minutes to generate all possible removal situations for all fleets.# DynamicPlacementGenerator
89
+
90
+
## Authors
91
+
92
+
**Industrial and Systems Engineering, Georgia Institute of Technology**, Spring 2020
0 commit comments