Warehouse Optimizer is a web-based tool designed to streamline warehouse operations by optimizing product placements based on customer orders. It enables warehouse managers to upload warehouse maps, manage product storage, and analyze order data to enhance efficiency.
- Upload warehouse maps (PDF/JPG) and define scales.
- Generate and upload warehouse layout templates in Excel.
- Upload customer order files and optimize storage layouts.
- Analyze order trends and recommend optimized product placements.
- Visualize annotated warehouse maps with product placements.
- XAMPP or any local server supporting PHP and MySQL.
- Python 3.x with required libraries:
pip install pandas numpy networkx xlsxwriter opencv-python flask scipy openpyxl
- Clone the repository:
git clone https://github.com/sirmirzaei/Warehouse_Optimizer.git cd Warehouse_Optimizer
- Move the project files to the
htdocs
directory if using XAMPP. - Start Apache and MySQL from XAMPP.
- Ensure Python scripts are executable.
- Open
index.html
in a browser.
- Open the application in your browser.
- Click on Step 1: Upload Warehouse Map.
- Choose a warehouse map file (PNG, JPG, PDF).
- Enter the scale (e.g.,
1mm = 1 meter
). - Click Submit to generate a grid layout.
- Download the annotated warehouse layout if needed.
- Download the warehouse template from the application.
- Fill in the product names, grid locations, and quantities.
- Upload the completed Excel file.
- The system processes the file and updates the warehouse layout.
- Download the customer order template.
- Fill in the required fields: product name, customer name, order quantity, and date.
- Upload the completed customer order file.
- The system analyzes orders and generates an optimized warehouse layout.
- Once analysis is complete, view the recommended product placements.
- Download the updated warehouse layout in Excel format.
- The application also provides an annotated image of the optimized layout.
warehouse-optimizer/
├── backend/
│ ├── upload.php (Handles file uploads)
│ ├── process_excel.php (Processes Excel files)
│ ├── analyze_orders.php (Analyzes customer orders)
│ ├── generate_excel_template.py (Generates warehouse templates)
│ ├── generate_customer_template.py (Generates customer order templates)
│ ├── grid_generator.py (Generates warehouse grid layout)
├── styles.css (UI styles)
├── script.js (Handles frontend interactivity)
├── index.html (Main UI page)
└── README.md (Project documentation)
- Ensure uploaded files match the expected format.
- If an error occurs, check the console log for details.
- Ensure Python scripts have the necessary permissions to execute.
This project is licensed under the MIT License - see the LICENSE file for details.
We welcome contributions! To contribute:
- Fork the repository.
- Create a new branch (
feature-name
). - Commit changes and push to the branch.
- Create a pull request.
For questions, open an issue on the GitHub repository or contact me via LinkedIn.