We (at OmniOpti) are experts in optimization of logistics. One of our mottos is: More mobility, less traffic. We wanted to put our experiences to good use. Our initial idea was to provide the backend for the on-demand public tranzit system, but in these Covid times it can also be used for home delivery operations and similar.

What it does

Many transport orders are generated, simulating operations in a call center or an app. We generate efficient routes for the transport, based on real-time traffic info. The routes can be modified in real-time.

Here we are presenting a demo version of the tool, where we create orders randomly and constantly. We create a set of orders for the first step of the optimization, then we add orders according to the parameters. You can set how many orders are added for each time step (for example, we add 5 orders every 2 minutes)

To run the demo, download the zip file and unzip it to a new folder. Run incrementalOptimization.bat by double-clicking the file. Then set the parameters:

  • username: can be whatever you want
  • vehicle: should be either car or truck
  • nr of vehicles used: set this to a positive integer. OptiTrans will use at most this many vehicles.
  • nr of orders to begin with: in the first step, we will generate a set of orders with this magnitude and we will run the first step of optimization on this set.
  • time step (in minutes): set the time step for adding orders
  • nr of orders added in each time step: this many orders will be created in each time step
  • start time in minutes
  • end time in minutes After you set the parameters, the demo will start running. First, the original set of orders is created. Then the time and distance matrix is obtained from the HERE API. Then the optimization starts running. Whenever a new order is created, optimization stops and starts again with the previous solution taken into account. If some orders are already on vehicles, they are fixed, otherwise optimization can still move them to other vehicles. Every 10 minutes, the matrix is re-calculated so that the traffic is always taken into consideration.

The results are held in RouteDetails_username.csv and RouteDetails_username_json.txt files.

How we built it

We have used our existing tools for optimization (based on open-source code). We have used HERE matrix API to get real-time travel times (calculated according to specified frequency) between the existing locations. Our optimization tools took it into account.

Challenges we ran into

Regarding HERE we had some issues getting the matrix, both regarding the number of and distance between locations. We understand bigger matrices can be obtained if paid for.

Accomplishments that we're proud of

We believe that this demo is a solid backend framework for providing a public tranzit, home delivery and similar operations.

What we learned

Devil lies in the details.

What's next for OptiTrans

We offer optimization solution for logistics companies, now we want to upgrade it with real-time data from HERE.

Built With

Share this project: