# How to normalize the objective functions of multi-objective optimization for a MPC?

I have a MPC with two objective functions, one that minimises fuel consumption and one that minimises the travel time of a vessel. I want to combine these two objectives into one weighted objective, for which the functions should be normalised.

I understand that this requires a scaling/normalisation factor, which can then be combined with the weights. However, I do not understand how exactly I arrive at this scaling factor?

(The model is implemented in Matlab with yalmip)

• What does MPC mean? Commented Jan 30, 2022 at 11:59
• @Laurens Pierik, would it be MCP instead of MPC? Commented Jan 30, 2022 at 14:32
• @fontanf Model Predictive Control en.wikipedia.org/wiki/Model_predictive_control P.S. A.Omidi I would have @ you too, but the narcs only allow one @ per comment. Commented Jan 30, 2022 at 20:12

The reason for minimizing fuel consumption is presumably to minimize fuel cost. If you can come up with a cost rate for travel time, then you can combine the two objectives into an overall cost function and minimize that. No normalization is required.

More generally, if you cannot put the criteria in common units (such as dollars of cost), then one option is to ask the decision maker something along the lines of "how many additional gallons of fuel would you be willing to expend to cut travel time by one day?" and use that to generate weights. Again, no normalization is required; if fuel consumption is in gallons, travel time is in days and the decision maker equates one day of travel with 100 gallons of fuel, just multiply fuel consumption by 1 and travel time by 100 (putting the combined function in terms of gallons of fuel).

Where I have seen normalization used, the units of the various criteria are not directly commensurable and decision makers can only give vague guidance like "saving fuel is twice as important as saving travel time". You can guesstimate the range of values for each criterion function, subtract the min and divide by the range to put the criterion on a [0, 1] scale, and then apply weights. Whether this produces meaningful results is in my opinion a tad dubious.

If you are interested in the tradeoff between speed and fuel consumption for an ocean going vessel, see

Gerald G. Brown, Jeffrey E. Kline, Richard E. Rosenthal, Alan R. Washburn, (2007)

"Steaming on Convex Hulls." INFORMS Journal on Applied Analytics 37(4):342-352.

It points out that, given the features of actual marine propulsion systems, the optimum tradeoff between fuel consumption and travel time may be to travel part of trip at high speed and the remainder of the trip at slow speed, rather than travel at one constant speed throughout the entire trip.