0

We are a group of French students that work on OptaPlanner to optimize stretcher-bearers rounds for hospital utilization.

But OptaPlanner code seems to not be optimized for our problem, let's suppose the class vehicle corresponds to stretcher-bearers and customer to patients :

  • Some missions needs 2 vehicles, OptaPlanner does not offer this possibility
  • We have no coordinates for our missions (from CPLEX), only arrival and departure times, while optaplanner simulations require coordinates, and there's no function for converting time into distance or coordinates

Is there a way to adapt our problem to OptaPlanner conditions ? Our goal is to have a json file or a .vrptw file including our data and run it on OptaPlanner to simulate stretcher-bearers rounds.

Thanks !

Lukáš Petrovický
  • 3,945
  • 1
  • 11
  • 20
  • 2
    You can pretend that one vehicle is two vehicles. You can convert time into distance by assuming an average speed for your rounds. – Gilbert Le Blanc Jun 12 '23 at 12:53
  • This might be closer to OptaPlanner/Timefold's [order-picking quickstart](https://github.com/TimefoldAI/timefold-quickstarts/tree/stable/use-cases/order-picking) than the vehicle routing example. – Geoffrey De Smet Jun 12 '23 at 13:44

1 Answers1

1

There is a misconception here. OptaPlanner doesn't require any particular format. (Neither does Timefold, for that matter.) What you are probably describing is the VRP example, which has indeed been designed as you say. That doesn't mean, however, that the tool does not support anything else.

If a "mission" requires 2 vehicles, that can easily be handled using a constraint. If one vehicle is missing on the mission, penalize it. If both are missing, penalize it even more.

On the question of coordinates, I am confused. How can you have a vehicle routing problem, and not know where your stops are in relation to one another? Maybe this is not a VRP model after all, but rather task assigning / job shop scheduling? I can not answer that question without understanding your domain.

Lukáš Petrovický
  • 3,945
  • 1
  • 11
  • 20