Spaces:
Sleeping
Sleeping
Krishna Kumar S
commited on
Commit
Β·
bf52011
1
Parent(s):
9de3105
md changes
Browse files- Intelligent_Sourcing.xlsx +0 -0
- README.md +11 -11
- 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
|
| 18 |
|
| 19 |
[](https://github.com/kk20krishna/Intelligent-Sourcing)
|
| 20 |
[](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
|
| 31 |
-
- **
|
| 32 |
-
- **
|
| 33 |
- **Order Quantity**
|
| 34 |
- **Costs associated with sourcing**
|
| 35 |
-
- **Distance between
|
| 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
|
| 47 |
- **Constraints**:
|
| 48 |
-
-
|
| 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
|
| 64 |
- **Days Weightage**: Reducing delivery time while balancing cost efficiency.
|
| 65 |
|
| 66 |
### **Constraints**
|
| 67 |
-
1. **Stock Limitation**: Each
|
| 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
|
| 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 (
|
| 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 |
[](https://github.com/kk20krishna/Intelligent-Sourcing)
|
| 20 |
[](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
|
| 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**, **
|
| 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
|
| 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.
|