A Python implementation for minimizing energy consumption in Robotic Mixed-Model Assembly Lines using a Memory-Based Cuckoo Search Algorithm.
-
Create your .xlsx file: Write down all parameters that define your case in Excel. Name your file
DonnéesX.xlsx, whereXis a number (e.g.,Données3.xlsx,Données15.xlsx). You can find ready-to-run setups in the repository.-
Sheet 1: Equipment and Energy Consumption
- Define the equipment.
- Define the energy consumption for each task and the standby energy for each robot.
-
Sheet 2: Task Precedence
- Setup the precedence of your Mixed-Model.
-
Example 1 : the 1 in the cell (column "1", row "3") means that task "3" must wait for task "1" to complete before starting.
-
Example 2 : The task 4 (row 4 in the figure) need tasks 1 and 2 completed to start.
-
-
Execute the Python script: Make sure your .xlsx file and .py file are in the same directory.
After executing the code, a new window will open:
-
Input the hyperparameters of the Memory-Based-Cuckoo-Search-Algorithm: For better results, refer to the article. Defaults are suitable for small problems (e.g., Données1.xlsx to Données4.xlsx).
/!\ The only cell you should pay attention to is "Numero du Probleme". The number must match the
XinDonnéesX.xlsx.Click on "Lancer l'algorithme" to start the script.
-
Results: Access your solutions in the file "Résultat.xlsx".
- Robots: Indicates the robot assigned to each workshop.
- NbTaches: Shows how many tasks are assigned to each workshop.
- Ordonnancement: Task scheduling order.
- Fitness: Energy consumption of your solution.
- CycleTime: Cycle time of your solution.
- Calculation Time: Time taken to compute the solution.
In the figure, you can see 10 different solutions.
- Solution "0": This shows that workshops 1 & 2 should use robot 1, and workshop 3 should use robot 2. Additionally, it indicates that each workshop is assigned 4 tasks to complete.
Check out my detailed college report on this project (french version): MBCSA_Report




