An internal combustion engine controller 10 for an internal combustion engine 1 comprising a memory configured to store a plurality of control maps 30, each defining a hypersurface of actuator control setpoints based on a plurality of input variables to the internal combustion engine controller. A processor comprises a map updating module 40, a parameter updating module 50 and an engine setpoint module 20. The map updating module calculates an optimised hypersurface for the control map(s) based on a performance objective function of the internal combustion engine, sensor data, and the input variables, wherein the performance objective function includes parameters. The parameter updating module updates a parameter of the performance objective function upon determining a change in an operating condition of the internal combustion engine. The parameters comprise one or both of: engine parameters associated with an engine model; and cost parameters associated with a cost function. The map updating module updates the hypersurface of the control map based on the optimised hypersurface. The engine setpoint module outputs a control signal to each actuator based on a location on the hypersurface of the respective control map defined by the plurality of input variables. A method of control is also claimed.
展开▼