A control device for internal combustion engine, the control device being configured to:
- determine:
- a target value of a control amount of a first object to be controlled in the internal combustion engine as a first initial-target-value;
- and a target value of a control amount of a second object to be controlled in the internal combustion engine as a second initial-target-value;
- determine:
- an operation amount to be input to the first object as a first operation amount depending on a first control-target-value, the first control-target-value being a target value for controlling the control amount of the first object;
- and an operation amount to be input to the second object as a second operation amount depending on a second control-target-value, the second control-target-value being a target value for controlling the control amount of the second object;
- control an operation of the first object according to the first operation amount;
- and
- control an operation of the second object according to the second operation amount,
- the control amounts of the respective objects being controlled due to the control device controlling the operations of the respective corresponding objects,
- the control device being further configured to:
- correct the first initial-target-value and the second initial-target-value according to a predetermined rule and output the corrected initial-target-values respectively as first corrected-target-value and second corrected-target-value;
- perform prediction calculation to predict future states of the first object and the second object as future controlled-object-states through calculation upon the control amount of the first object and the control amount of the second object being controlled according to the first operation amount and the second operation amounts determined by employing the first initial-target-value and the second initial-target-value respectively as the first control-target-value and the second control-target-value;
- and
- determine whether or not the future controlled-object-states satisfying a constraint condition for the internal combustion engine,
- in the case of determining as the future controlled-object-states satisfying the constraint condition, then the first initial-target-value and second initial-target-value being employed as the first control-target-value and second control-target-value,
- in the case of determining as the future controlled-object-states not satisfying the constraint conditions, then the first initial-target-value and second initial-target-value being corrected according to the predetermined rule;
- the corrected initial-target-values being output respectively as the first corrected-target-value and the second corrected-target-value;
- the future states of the first object and the second object being predicted again as future controlled-object-states upon the control amount of the first object and the control amount of the second object being controlled according to the first operation amount and the second operation amount determined by employing the first initial-target-value and the second initial-target-value respectively as the first control-target-value and the second control-target-value;
- the determination of whether or not the future controlled-object-states satisfying the constraint condition being carried out again;
- and then the first corrected-target-value and second corrected-target-value being employed as the first control-target-value and second control-target-value upon determining as the future controlled-object-states predicted again satisfying the constraint condition,
- in the case of determining as the future controlled-object-states predicted again not satisfying the constraint condition, then the corrections of the first corrected-target-value and the second corrected-target-value, the prediction calculation based on the first corrected-target-value and the second corrected-target-value corrected by the correction, and the determination based on the future controlled-object-states predicted by the prediction calculation being repeated until determined as the future controlled-object-states satisfying the constraint condition,
- the control device being further configured to predict states of the objects in the future after a limited predetermined period through calculation,
- the prediction calculation being continued after the limited predetermined period being shortened upon a calculation load of the control device being larger than an allowable load value in view of calculation capacity of the control device.