Skip to content

Latest commit

 

History

History
61 lines (35 loc) · 3.14 KB

File metadata and controls

61 lines (35 loc) · 3.14 KB

Memory-Based-Cuckoo-Search-Algorithm

A Python implementation for minimizing energy consumption in Robotic Mixed-Model Assembly Lines using a Memory-Based Cuckoo Search Algorithm.

Based on the article:

Solving the energy-efficient Robotic Mixed-Model Assembly Line balancing problem using a Memory-Based Cuckoo Search Algorithm

How to define the parameters of your "Robotic Mixed-Model Assembly Line":

  1. Create your .xlsx file: Write down all parameters that define your case in Excel. Name your file DonnéesX.xlsx, where X is 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.

      image

      • Define the energy consumption for each task and the standby energy for each robot.

      image

    • Sheet 2: Task Precedence

      • Setup the precedence of your Mixed-Model.

    image

    • 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.

How to solve your problem:

  1. 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:

    image

  2. 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 X in DonnéesX.xlsx.

    Click on "Lancer l'algorithme" to start the script.

  3. Results: Access your solutions in the file "Résultat.xlsx".

    image

    • 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.

Want to know more about this work ?

Check out my detailed college report on this project (french version): MBCSA_Report