Cruise itinerary planning using R, LPSolve

Now that nearly every company collects data about its operations, it’s possible for decisions to be made in a systematic data-informed way, minimizing the use of heuristics. This applies especially to an operations-centric enterprise who’s bottom-line is improved considerably if optimal solutions are found for difficult problems.

Many operations problems can be formulated as a Linear Programming problem, and R has a fantastic package – LPSolve to handle those, even with integer constraints (known as Mixed Integer Linear Programming or MILP). Let me illustrate how LPSolve can solve operations problems with a real example from the Cruise ship business.

How do cruise ship operators decide on the itinerary they should follow? Bahamas alone has about 30 ports. A 3-day cruise has to carefully select from those. What factors would they consider? Here are only a few –

1. Attractiveness of a port to tourists.

2. Profitability for the cruise operator.

3. Number of ports visited.

4.Time required for visiting the attractions in each port.

5. Congestion at the port, how many cruise ships can simultaneously dock?

6. Constraints on Port types (A 7-day cruise must include at least 2, and at most 4 ports with beaches)

Here is how you formulate the problem of maximizing customer satisfaction while maintaining competitive profitability and satisfying all of the other constraints in LPSolve –

https://github.com/pranavmodi/CruiseMILP