Krishna Kumar S commited on
Commit
bf52011
Β·
1 Parent(s): 9de3105

md changes

Browse files
Files changed (3) hide show
  1. Intelligent_Sourcing.xlsx +0 -0
  2. README.md +11 -11
  3. app_doc.md +3 -3
Intelligent_Sourcing.xlsx CHANGED
Binary files a/Intelligent_Sourcing.xlsx and b/Intelligent_Sourcing.xlsx differ
 
README.md CHANGED
@@ -14,7 +14,7 @@ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-
14
  # πŸ“Œ Intelligent Sourcing App
15
 
16
  Welcome to the **Intelligent Sourcing App**! πŸš€
17
- This application optimizes sourcing decisions by analyzing warehouse stock, order priorities, costs, and distances. It uses **Linear Optimization** to efficiently allocate stock while minimizing cost and maximizing efficiency.
18
 
19
  [![GitHub Repo](https://img.shields.io/badge/GitHub-Intelligent_Sourcing-blue?logo=github)](https://github.com/kk20krishna/Intelligent-Sourcing)
20
  [![HF Space](https://img.shields.io/badge/HuggingFace-Intelligent_Sourcing_App-orange?logo=huggingface)](https://huggingface.co/spaces/kk20krishna/Intelligent-Sourcing)
@@ -27,12 +27,12 @@ This application optimizes sourcing decisions by analyzing warehouse stock, orde
27
  | **App Design, Development, and Implementation** | Krishna Kumar.S |
28
  ---
29
  ## πŸš€ Problem Statement
30
- Efficient sourcing is critical for businesses with multiple warehouses. This app addresses the challenge of **allocating stock optimally** while considering:
31
- - **Warehouse stock levels**
32
- - **Warehouse priorities**
33
  - **Order Quantity**
34
  - **Costs associated with sourcing**
35
- - **Distance between warehouses and delivery points**
36
  - **Expected delivery in days**
37
 
38
  By balancing these factors, the app provides an optimal fulfillment solution.
@@ -43,9 +43,9 @@ The application uses **Linear Optimization** (via **PuLP**) to maximize the sour
43
 
44
  ### πŸ› οΈ Summary of Linear Optimization Model
45
  - **Objective Function**: Maximize the weighted sum of **priority fulfillment while minimizing cost, distance, and delivery time**.
46
- - **Decision Variables**: Determines the amount of stock to be allocated from each warehouse to fulfill each order.
47
  - **Constraints**:
48
- - Warehouse stock limits.
49
  - Fulfillment of order quantities.
50
  - Trade-offs between cost, distance, priority, and delivery time.
51
  ---
@@ -60,11 +60,11 @@ $$
60
  where:
61
  - **Priority Weightage**: Ensuring high-priority orders are fulfilled first.
62
  - **Cost Weightage**: Reducing overall procurement and transportation costs.
63
- - **Distance Weightage**: Minimizing the distance between warehouses and order locations to optimize logistics.
64
  - **Days Weightage**: Reducing delivery time while balancing cost efficiency.
65
 
66
  ### **Constraints**
67
- 1. **Stock Limitation**: Each warehouse cannot supply more than its available stock.
68
  2. **Order Fulfillment**: Each order must be completely fulfilled without partial deliveries.
69
  3. **Trade-offs**: Adjusting weightages impacts sourcing decisions (e.g., prioritizing lower costs vs. faster delivery).
70
  4. **Non-Negativity Constraint**: The allocated supply quantity must always be non-negative.
@@ -82,7 +82,7 @@ Users can tweak these values through an **interactive UI** and observe changes i
82
  ---
83
  ## πŸ“Š Code Structure & Control Flow
84
  This app consists of multiple Python modules, each handling a specific function:
85
- - **generate_data.py**: Generates synthetic warehouse, order, and cost data.
86
  - **read_data.py**: Loads Excel data into Pandas DataFrames for processing.
87
  - **create_optimization_problem.py**: Constructs the **Linear Programming** model using PuLP.
88
  - **solve_optimization_problem.py**: Solves the LP problem and generates fulfillment solutions.
@@ -91,7 +91,7 @@ This app consists of multiple Python modules, each handling a specific function:
91
 
92
  ### **Optimization Control Flow**
93
  ```markdown
94
- Start β†’ Load Data (`read_data.py`) β†’ Adjust Weightages (User Input) β†’ Create Optimization Model (`create_optimization_problem.py`) β†’ Solve Optimization (`solve_optimization_problem.py`) β†’ Generate Results (Warehouse Fulfillment, Costs, Delivery Time) β†’ Visualize Results (`network_diagram.py`) β†’ UI Interaction (`app.py`) β†’ End
95
  ```
96
  1. **Data Loading**: Reads Excel input files using read_data.py.
97
  2. **Weightage Adjustment**: Users modify cost, priority, distance, and time weightages.
 
14
  # πŸ“Œ Intelligent Sourcing App
15
 
16
  Welcome to the **Intelligent Sourcing App**! πŸš€
17
+ This application optimizes sourcing decisions by analyzing fulfilment location stock, order priorities, costs, and distances. It uses **Linear Optimization** to efficiently allocate stock while minimizing cost and maximizing efficiency.
18
 
19
  [![GitHub Repo](https://img.shields.io/badge/GitHub-Intelligent_Sourcing-blue?logo=github)](https://github.com/kk20krishna/Intelligent-Sourcing)
20
  [![HF Space](https://img.shields.io/badge/HuggingFace-Intelligent_Sourcing_App-orange?logo=huggingface)](https://huggingface.co/spaces/kk20krishna/Intelligent-Sourcing)
 
27
  | **App Design, Development, and Implementation** | Krishna Kumar.S |
28
  ---
29
  ## πŸš€ Problem Statement
30
+ Efficient sourcing is critical for businesses with multiple fulfilment locations. This app addresses the challenge of identifying **optimal fulfilment locations** while considering parameters like:
31
+ - **fulfilment location stock levels**
32
+ - **fulfilment location priorities**
33
  - **Order Quantity**
34
  - **Costs associated with sourcing**
35
+ - **Distance between fulfilment locations and delivery points**
36
  - **Expected delivery in days**
37
 
38
  By balancing these factors, the app provides an optimal fulfillment solution.
 
43
 
44
  ### πŸ› οΈ Summary of Linear Optimization Model
45
  - **Objective Function**: Maximize the weighted sum of **priority fulfillment while minimizing cost, distance, and delivery time**.
46
+ - **Decision Variables**: Determines the amount of stock to be allocated from each fulfilment location to fulfill each order.
47
  - **Constraints**:
48
+ - fulfilment location stock limits.
49
  - Fulfillment of order quantities.
50
  - Trade-offs between cost, distance, priority, and delivery time.
51
  ---
 
60
  where:
61
  - **Priority Weightage**: Ensuring high-priority orders are fulfilled first.
62
  - **Cost Weightage**: Reducing overall procurement and transportation costs.
63
+ - **Distance Weightage**: Minimizing the distance between fulfilment locations and order locations to optimize logistics.
64
  - **Days Weightage**: Reducing delivery time while balancing cost efficiency.
65
 
66
  ### **Constraints**
67
+ 1. **Stock Limitation**: Each fulfilment location cannot supply more than its available stock.
68
  2. **Order Fulfillment**: Each order must be completely fulfilled without partial deliveries.
69
  3. **Trade-offs**: Adjusting weightages impacts sourcing decisions (e.g., prioritizing lower costs vs. faster delivery).
70
  4. **Non-Negativity Constraint**: The allocated supply quantity must always be non-negative.
 
82
  ---
83
  ## πŸ“Š Code Structure & Control Flow
84
  This app consists of multiple Python modules, each handling a specific function:
85
+ - **generate_data.py**: Generates synthetic fulfilment location, order, and cost data.
86
  - **read_data.py**: Loads Excel data into Pandas DataFrames for processing.
87
  - **create_optimization_problem.py**: Constructs the **Linear Programming** model using PuLP.
88
  - **solve_optimization_problem.py**: Solves the LP problem and generates fulfillment solutions.
 
91
 
92
  ### **Optimization Control Flow**
93
  ```markdown
94
+ Start β†’ Load Data (`read_data.py`) β†’ Adjust Weightages (User Input) β†’ Create Optimization Model (`create_optimization_problem.py`) β†’ Solve Optimization (`solve_optimization_problem.py`) β†’ Generate Results (fulfilment location Fulfillment, Costs, Delivery Time) β†’ Visualize Results (`network_diagram.py`) β†’ UI Interaction (`app.py`) β†’ End
95
  ```
96
  1. **Data Loading**: Reads Excel input files using read_data.py.
97
  2. **Weightage Adjustment**: Users modify cost, priority, distance, and time weightages.
app_doc.md CHANGED
@@ -1,7 +1,7 @@
1
  # 🏠 App Overview
2
  The Intelligent Sourcing App consists of multiple tabs, each with a specific function:
3
 
4
- 1. **Run Optimization** πŸ” - Adjust weightage values and run the optimization process. The app helps solve large and complex sourcing problems by optimizing stock allocation across multiple warehouses, reducing costs, and improving delivery efficiency.
5
  2. **View/Edit Data** πŸ“‘ - View and modify data sheets to fine-tune sourcing parameters.
6
  3. **Generate Data** 🎲 - Create a new dataset with custom parameters. This option generates artificial data for beta testing and evaluating the app's functionality before using real-world data.
7
  4. **Upload/Download Data** ⬆️⬇️ - Upload new files to update the dataset and download processed results after optimization.
@@ -14,7 +14,7 @@ The Intelligent Sourcing App consists of multiple tabs, each with a specific fun
14
  - Adjust the weightage sliders for **Cost, Priority, Distance, and Days**.
15
  - Click **Save Weightage** to store your preferences.
16
  - Click **Run Optimization** to generate sourcing recommendations.
17
- - View results in the **Fulfillment Solution**, **Warehouse Stock Status** and **Plots** tabs.
18
  - The optimization results are automatically updated in the Excel file and can be downloaded using the **Upload/Download Data** tab.
19
 
20
  ## 2️⃣ View/Edit Data πŸ“
@@ -23,7 +23,7 @@ The Intelligent Sourcing App consists of multiple tabs, each with a specific fun
23
  - Click **Save Changes** to update the Excel file.
24
 
25
  ## 3️⃣ Generate Data πŸ—οΈ
26
- - Enter the number of warehouses, products, and orders.
27
  - Adjust the weightage values and specify ranges for cost, distance, priority, etc.
28
  - Click **Generate Data** to create a new intelligent sourcing dataset.
29
  - This feature is primarily used for testing and validating the app before applying it to actual sourcing data.
 
1
  # 🏠 App Overview
2
  The Intelligent Sourcing App consists of multiple tabs, each with a specific function:
3
 
4
+ 1. **Run Optimization** πŸ” - Adjust weightage values and run the optimization process. The app helps solve large and complex sourcing problems by optimizing stock allocation across multiple fulfilment locations, reducing costs, and improving delivery efficiency.
5
  2. **View/Edit Data** πŸ“‘ - View and modify data sheets to fine-tune sourcing parameters.
6
  3. **Generate Data** 🎲 - Create a new dataset with custom parameters. This option generates artificial data for beta testing and evaluating the app's functionality before using real-world data.
7
  4. **Upload/Download Data** ⬆️⬇️ - Upload new files to update the dataset and download processed results after optimization.
 
14
  - Adjust the weightage sliders for **Cost, Priority, Distance, and Days**.
15
  - Click **Save Weightage** to store your preferences.
16
  - Click **Run Optimization** to generate sourcing recommendations.
17
+ - View results in the **Fulfillment Solution**, **fulfilment location Stock Status** and **Plots** tabs.
18
  - The optimization results are automatically updated in the Excel file and can be downloaded using the **Upload/Download Data** tab.
19
 
20
  ## 2️⃣ View/Edit Data πŸ“
 
23
  - Click **Save Changes** to update the Excel file.
24
 
25
  ## 3️⃣ Generate Data πŸ—οΈ
26
+ - Enter the number of fulfilment locations, products, and orders.
27
  - Adjust the weightage values and specify ranges for cost, distance, priority, etc.
28
  - Click **Generate Data** to create a new intelligent sourcing dataset.
29
  - This feature is primarily used for testing and validating the app before applying it to actual sourcing data.