-
Notifications
You must be signed in to change notification settings - Fork 0
/
HOWTO.Rmd
76 lines (43 loc) · 3.96 KB
/
HOWTO.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
---
output:
md_document:
variant: markdown_github
---
<!-- HOWTO.md is generated from HOWTO.Rmd. Please edit that file -->
```{r, echo = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "HOWTO-"
)
```
# OWL - Optimal Warehouse Locator
OWL (Optimal Warehouse Locator) is a shiny application based on R package [skm](https://github.com/gyang274/skm).
Welcome to view [OWL on shinyapp.io](https://gyang.shinyapps.io/skm_owl/).
## OWL Shiny Page:
### Analytic View:
+ The page is initialized with a U.S. map and a control panel at right hand side:
![OWL Page - Initialization](fig/owl_init.png){#owl_init .class width=640px height=407px}.
+ The page is supported by [U.S. zip 2012 data](http://federalgovernmentzipcodes.us/), with a full coverage of all 5 digits zip codes with their population and total incomes estimated from tax file. The analysis assumes user want to build warehouses from the 51 locations one in each states and ship the product to all states. These 51 locations are the 5 digits zip code in the center of 3 digits zip code that has highest population in each state, and are markered as green circle on the map. User can click on the green circle, information will be popup and suggestions will be shown in the message box on the bottom.
![OWL Page - Initialzation - Click](fig/owl_init_click.png){#owl_init_click .class width=640px height=407px}.
+ On the control panel, __Optimization Objective__, give options on:
- Choose the objective: minimize distance, zone - [Fedex Rates on Zone](http://www.thesnowtrade.org/images/support/FedEx%20Zones.pdf), or estimated time in transit.
- Choose the weighing strategy: weighted each zip area by population or total income?
- Choose the location where a warehouse is already built, e.g., prefixed on, so that the solution will be as on top of these warehouses built.
- Choose the number of warehouse want to build. The analysis can be view as: finding \<number\> warehouse location with respect to minize \<weighting\> weighted average \<objective\>, assume \<pre-built\>.
![OWL Page - Option](fig/owl_option.png){#owl_option .class width=640px height=407px}.
- Click __Find Warehouse Locations__ to run analysis and update the map, control panel and page.
![OWL Page - Find](fig/owl_find.png){#owl_find .class width=640px height=407px}.
+ After click __Find Warehouse Locations__, control panel will be updated with a new section __Optimal Warehouse Locations__, which give options on:
- Choose to view results with optimality rank 1, 2, ..., up to the number of random start. This enable the user to view not only the best solution, but also the 2nd best solution, 3rd best solution, and so on. Because, in practial, we often make decsion not only based on mathematical optimality but also other factors.
- Choose to color the map with repsect to a measure like distance, zone, estimated time in transit, default is the same as the objective, but can be different.
+ After click __Find Warehouse Locations__, map will be updated with markers on selected locations in solution, and color each 5 digits zip codes with respect to the measure selected in __Optimal Warehouse Locations__ panel. The map would color a sample of all 5 digits zip codes, basically, 10 of 5 digits zip codes are random selected from each 3 digits zip codes level and shown on map.
+ After click __Find Warehouse Locations__, page will be updated with a new panel on left bottom corner shown the color schema, and a new panel on right bottom corner shown the solution in table.
![OWL Page - View](fig/owl_view.png){#owl_view .class width=640px height=407px}.
+ Analysis is running in real-time, often takes 8-10 seconds for 100 random starts.
### Data Explorer
+ View zip2012 data in table.
## TODO:
+ Add customerized icons on map-view based on prefixed or not, see icons being commented out.
## NOTE:
+ Please contact [the author](mailto:gyang274@gmail.com) for any question on this App.