A controller having an auto-tuning function, comprising: a manipulated value determination unit adapted to selectively determine, in accordance with a PID cooling parameter, a first manipulated value for causing a cooling in a controlled temperature value of a controlled object, the first manipulated value and the controlled temperature value having a nonlinear relation, and, in accordance with a PID heating parameter, a second manipulated value for causing a heating in the controlled temperature value so that a fed-back process temperature value obtained from the controlled object follows a target value; and a tuning unit adapted to alternately output the first manipulated value and the second manipulated value in accordance with the process temperature value to produce a limit cycle, to determine the PID parameters, and to selectively output the selectively determined first manipulated value and the second manipulated value; wherein the tuning unit is adapted to successively change a magnitude of the first manipulated value each time output is switched during the alternate output of the first manipulated value and the second manipulated value, and to determine the PID cooling parameter from a response characteristic of the produced limit cycle when it is determined that the first manipulated value is in a region of the nonlinear relation, in which region the cooling in the controlled temperature value with respect to the first manipulated value has linearity, wherein the tuning unit is adapted to determine whether the cooling in the controlled temperature value with respect to the first manipulated value has linearity by evaluating a relation of a change rate of the controlled temperature value corresponding to the first manipulated value, for each magnitude of the first manipulated value successively changed. a manipulated value determination unit adapted to selectively determine, in accordance with a PID cooling parameter, a first manipulated value for causing a cooling in a controlled temperature value of a controlled object, the first manipulated value and the controlled temperature value having a nonlinear relation, and, in accordance with a PID heating parameter, a second manipulated value for causing a heating in the controlled temperature value so that a fed-back process temperature value obtained from the controlled object follows a target value; and a tuning unit adapted to alternately output the first manipulated value and the second manipulated value in accordance with the process temperature value to produce a limit cycle, to determine the PID parameters, and to selectively output the selectively determined first manipulated value and the second manipulated value; wherein the tuning unit is adapted to successively change a magnitude of the first manipulated value each time output is switched during the alternate output of the first manipulated value and the second manipulated value, and to determine the PID cooling parameter from a response characteristic of the produced limit cycle when it is determined that the first manipulated value is in a region of the nonlinear relation, in which region the cooling in the controlled temperature value with respect to the first manipulated value has linearity, wherein the tuning unit is adapted to determine whether the cooling in the controlled temperature value with respect to the first manipulated value has linearity by evaluating a relation of a change rate of the controlled temperature value corresponding to the first manipulated value, for each magnitude of the first manipulated value successively changed.