In an online grocery shopping application, people order their grocery online and pickers go to the grocery shopping center to pick up the requested items and then drive them to the customer’s house. The project was only focused on the operations that occurred inside the shopping center. The main objective was to optimize the routing and picking methods of items in an order inside the shopping center.


To solve the problem, a simulation model was built in AnyLogic using discrete-events as the modeling technique. Real data of past orders and the layout of the shopping store were used to validate the model. The validation of output was done using Python. The next step was to conduct the optimization using the same data to find the best route or order of picking of items that will lead to the least picking time.

The optimization was conducted using the concept of genetic algorithms. You can learn more about this method in this video The following figure shows an example of the routing generated by the algorithm.

In addition to the single order generalized optimization, 2 other optimization concepts were tested:

  • Batching optimization where batches of orders are collected before picking which means that the picker will pick several orders at the same time in one visit to the store
  • Zoning optimization where the store layout was divided into zones and the items in an order picked per zone. The optimization in this case was done on 2 levels, optimizing the order of picking the items in a zone as well as optimizing the order of the zones to pick from

Finally a combination of the 2 optimization concepts was also tested where orders are batched and also picked by zone.

In addition to the simulation model, part of our work was data cleaning and analysis and input calibration since the real data had many problems. Moreover, all analysis for the optimization cases done was conducted using python.


The analysis of the results showed that the method that leads to the minimum mean picking time per item was the mixed method between batching and zoning. Moreover, the model itself can be used by the client as a testing tool to optimize future orders to find the best picking route before picking the orders.

Project Features

  • Industry: Commercial
  • Model: Discrete-Events
  • Duration: 2 Weeks