Comparative analysis of linear and non-linear programming techniques for the optimization of ship machinery systems