Saturday, May 31, 2025

Mathematical optimization for cargo ships

Each optimization downside has three elements: variables (e.g., ships and ports), constraints on these variables (e.g., a ship can match solely so many containers onboard), and an goal operate to be minimized or maximized (e.g., maximize the variety of containers shipped). The variables and constraints are sometimes represented as a matrix by which the columns are the variables and the rows are the constraints.

A typical approach to decompose such massive issues is column era, by which solely a subset of the variables are thought-about at first, after which new variables — that’s, new columns — are generated to extra carefully approximate the unique downside. To assist handle this, we developed a software program library that analyzes the issue and predicts which columns are greatest to generate. This library might be open sourced by way of MathOpt, our mathematical programming framework.

With this in hand, we outlined two fundamental approaches to unravel the issue:

  1. Double Column Technology
    We thought-about community design and container routing as two coupled issues, every consisting of a main choice downside (select the best choice) and a subsidiary era downside (determine cheap choices). We utilized a shortest-path algorithm to every pair of issues to generate cheap choices, adopted by a linear program (utilizing our linear programming solver, Glop) to decide on one of the best choices for every. We utilized the column era approach to each on the identical time, utilizing intermediate outcomes on every downside to affect progress on the opposite. This double column era method enabled us to seek out provably optimum options, however it solely scaled properly to average sized issues.
  2. CP-SAT
    We then tried an implementation primarily based on constraint programming, utilizing our CP-SAT constraint programming solver. This additionally labored properly as much as mid-sized networks, however didn’t scale to the worldwide transport downside.

These two approaches enabled us to seek out provably optimum options, however they solely scaled properly to small and medium sized issues. To enhance their scalability, we utilized a heuristic technique utilizing two variants of native search by which we study neighborhoods round current options to seek out alternatives for enhancements.

  1. Massive neighborhood search
    We fastened elements of the answer (e.g., “this vessel will go to Los Angeles on alternate Tuesdays”) earlier than making use of both of the strategies described above. This improves scalability by lowering the search house.
  2. Variable neighborhood search
    We explored neighborhoods over each the community and the schedule. We parallelize the exploration and distribute it over a number of machines to judge many neighborhoods concurrently. This additionally improves scalability by limiting the search house, whereas additionally permitting us to include data from Operations Analysis and the transport business.

With each of those approaches, we made use of incrementalism: locking down promising parts of an answer in order that we may begin from a identified good answer to make it higher.

Lastly, we additionally took into consideration transit occasions. Earlier makes an attempt to unravel this downside did not take transit occasions into consideration, since they make the issue rather more tough to unravel. We discovered that inclusion of transit occasions considerably improved the answer high quality.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles